/* ============ PÁGINAS DE SERVIÇO ============
   Botas de compressão, ondas de choque, acupuntura,
   RPG, treino funcional e a clínica.
   Cada página tem seu próprio hero; os demais blocos
   (números, passos, perfis, alerta, FAQ, agendar,
   onde estamos e CTA) são compartilhados por todas.
   ============================================== */

/* ---------- comum ---------- */
.sh{margin-bottom:clamp(26px,3.4vw,46px);max-width:780px}
.sh.mid{margin-left:auto;margin-right:auto;text-align:center}
.sh.mid .eyebrow{justify-content:center}
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin-bottom:13px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor;border-radius:2px}
.sh h2{font-size:clamp(38px,5.2vw,70px);line-height:.92}
.sh p{font-size:clamp(15px,1.7vw,18px);line-height:1.6;color:var(--muted);margin-top:16px}
.crumb{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--on-dark-2)}
.crumb a:hover{color:#fff}
.sec-rel{position:relative;overflow:hidden}

/* ---------- HERO A: botas — texto centralizado + faixa de foto ---------- */
.hb{position:relative;background:var(--navy);color:#fff;overflow:hidden;
  padding-top:clamp(112px,13vw,168px);padding-bottom:0}
.hb::before{content:"";position:absolute;right:-14%;top:-24%;width:60%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),.28),transparent 66%);pointer-events:none}
.hb-in{position:relative;z-index:2;max-width:920px;margin:0 auto;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:clamp(15px,1.9vw,23px)}
.hb h1{font-size:clamp(44px,6.6vw,90px);line-height:.9}
.hb h1 em{font-style:normal;color:var(--accent-soft)}
.hb-sub{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--on-dark);max-width:640px}
.hb-acts{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:3px}
.hb-mini{display:flex;flex-wrap:wrap;gap:10px 26px;justify-content:center;font-size:14px;color:var(--on-dark-2)}
.hb-mini span{display:flex;align-items:center;gap:7px}
.hb-mini i{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}
.hb-foto{position:relative;z-index:2;margin:clamp(34px,4.4vw,62px) calc(var(--pad) * -1) 0;
  border-radius:clamp(26px,3vw,40px) clamp(26px,3vw,40px) 0 0;overflow:hidden}
.hb-foto img{width:100%;aspect-ratio:21/9;height:auto;object-fit:cover;display:block}

/* ---------- HERO B: ondas — fundo claro, foto em bloco à direita ---------- */
.ho{position:relative;background:var(--bg-alt);color:var(--ink);overflow:hidden;
  padding-top:clamp(114px,13vw,172px);padding-bottom:clamp(50px,6vw,90px)}
.ho .crumb{color:var(--muted-2)}
.ho .crumb a:hover{color:var(--accent)}
.ho-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,40%);
  gap:clamp(30px,4vw,70px);align-items:center}
.ho-in{display:flex;flex-direction:column;gap:clamp(15px,1.9vw,23px)}
.ho h1{font-size:clamp(44px,6.4vw,88px);line-height:.9;color:var(--navy)}
.ho h1 em{font-style:normal;color:var(--accent)}
.ho-sub{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--muted);max-width:540px}
.ho-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:3px}
.ho-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ho-tags b{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted-2);margin-right:4px}
.ho-tags span{padding:8px 15px;border-radius:999px;background:#fff;border:1px solid var(--line-2);
  font-size:14px;font-weight:600;color:var(--navy)}
.ho-media{position:relative}
.ho-media img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover;display:block;
  border-radius:22px 22px 22px clamp(80px,12vw,160px)}
.ho-selo{position:absolute;right:clamp(-26px,-1.8vw,-12px);top:clamp(22px,3vw,40px);
  background:var(--accent);color:#fff;border-radius:18px;padding:15px 20px;max-width:190px;
  box-shadow:0 20px 44px rgba(var(--accent-rgb),.34)}
.ho-selo b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(28px,3vw,36px);line-height:1}
.ho-selo span{display:block;font-size:12.5px;line-height:1.35;color:var(--accent-soft);margin-top:3px}

/* ---------- números em destaque ---------- */
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:2px clamp(20px,3vw,48px);
  padding-top:30px;padding-bottom:30px;background:var(--bg-alt);position:relative;z-index:2}
.nums div{display:flex;align-items:center;gap:13px;padding:8px 0}
.nums b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(32px,3.4vw,42px);
  line-height:1;color:var(--accent);flex:none}
.nums span{font-size:14px;line-height:1.35;color:var(--muted)}
.nums.on-dark{background:var(--navy)}
.nums.on-dark b{color:var(--accent-soft)}
.nums.on-dark span{color:var(--on-dark)}

/* ---------- como funciona: trilho vertical ---------- */
.passos{position:relative;max-width:900px;padding-left:clamp(48px,5vw,74px)}
.passos::before{content:"";position:absolute;left:clamp(17px,1.8vw,27px);top:14px;bottom:14px;width:2px;
  background:linear-gradient(to bottom,var(--accent),var(--line-2))}
.passo{position:relative;padding-bottom:clamp(26px,3vw,40px)}
.passo:last-child{padding-bottom:0}
.passo::before{content:"";position:absolute;left:calc(clamp(48px,5vw,74px) * -1 + clamp(11px,1.2vw,21px));
  top:7px;width:14px;height:14px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px var(--bg)}
.passo b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:clamp(23px,2.5vw,30px);line-height:1.05;text-transform:uppercase;color:var(--navy);margin-bottom:8px}
.passo p{font-size:16px;line-height:1.6;color:var(--muted)}
.passo small{display:block;font-size:13px;font-weight:700;color:var(--accent);margin-top:7px;
  letter-spacing:.03em;text-transform:uppercase}

/* ---------- para quem: cartões com foto opcional ---------- */
.perfis{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(16px,2vw,24px)}
.perfil{padding:clamp(24px,2.6vw,32px);border-radius:24px;background:#fff;border:1.5px solid var(--line);
  display:flex;flex-direction:column;gap:11px;transition:.22s}
.perfil:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 18px 40px rgba(var(--shadow-rgb),.1)}
.perfil i{width:44px;height:44px;border-radius:14px;background:var(--accent-soft);color:var(--accent);
  display:flex;align-items:center;justify-content:center;transform:rotate(-6deg)}
.perfil b{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(21px,2.2vw,26px);
  line-height:1.05;text-transform:uppercase;color:var(--navy)}
.perfil p{font-size:15px;line-height:1.55;color:var(--muted)}

/* ---------- bloco com foto lateral ---------- */
.dup{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,42%);gap:clamp(28px,4vw,66px);align-items:center}
.dup.inv{grid-template-columns:minmax(0,42%) minmax(0,1fr)}
.dup.inv .dup-media{order:-1}
.dup-media img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block;border-radius:26px}
.dup-lista{display:flex;flex-direction:column;gap:14px;margin-top:22px}
.dup-lista div{display:flex;gap:13px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--ink)}
.dup-lista i{width:25px;height:25px;flex:none;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}

/* ---------- alerta / contraindicações ---------- */
.alerta{border-radius:24px;border:1.5px solid var(--line);border-left:5px solid var(--accent);
  background:#fff;padding:clamp(24px,2.8vw,36px);max-width:900px}
.alerta b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:clamp(22px,2.3vw,28px);text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.alerta p{font-size:16px;line-height:1.6;color:var(--muted)}
.alerta ul{margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:9px 22px}
.alerta li{list-style:none;display:flex;gap:9px;font-size:15px;line-height:1.45;color:var(--ink)}
.alerta li::before{content:"–";color:var(--accent);font-weight:800;flex:none}

/* ---------- faq ---------- */
.faq{max-width:880px;margin:0 auto;border-top:1.5px solid var(--line)}
.faq details{border-bottom:1.5px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:20px;padding:23px 4px;font-size:clamp(17px,1.9vw,20px);font-weight:700;color:var(--navy)}
.faq summary::-webkit-details-marker{display:none}
.faq summary i{width:31px;height:31px;flex:none;border-radius:50%;border:1.5px solid var(--line-2);
  color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:400;transition:.2s}
.faq details[open] summary{color:var(--accent)}
.faq details[open] summary i{background:var(--accent);border-color:var(--accent);color:#fff;transform:rotate(45deg)}
.faq .ans{padding:0 4px 25px;font-size:16px;line-height:1.7;color:var(--muted);max-width:740px}
.faq .ans p+p{margin-top:12px}

/* ---------- agendar ---------- */
.agsec{background:var(--bg-alt)}
.ag-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px);gap:clamp(28px,4vw,64px);align-items:center}
.ag-why h2{font-size:clamp(34px,4.6vw,62px);margin-bottom:18px}
.ag-why>p{font-size:clamp(15px,1.7vw,18px);line-height:1.6;color:var(--muted);margin-bottom:22px}
.ag-why ul{margin:0;padding:0;display:flex;flex-direction:column;gap:13px}
.ag-why li{list-style:none;display:flex;gap:12px;align-items:flex-start;font-size:16px;line-height:1.5;color:var(--ink)}
.ag-why li i{width:25px;height:25px;flex:none;border-radius:50%;background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.ag-card{background:#fff;border-radius:26px;padding:clamp(26px,3vw,38px);position:relative;overflow:hidden;
  border:1px solid var(--line);box-shadow:0 26px 60px rgba(var(--shadow-rgb),.14)}
.ag-card::before{content:"";position:absolute;left:0;right:0;top:0;height:5px;background:var(--accent)}
.ag-card h3{font-size:clamp(26px,2.8vw,34px);color:var(--navy);margin-bottom:6px}
.ag-card>p{font-size:15px;line-height:1.5;color:var(--muted-2);margin-bottom:22px}
.ag-acts{display:flex;flex-direction:column;gap:10px}
.ag-acts .btn{width:100%}
.ag-card .privacy{font-size:13px;line-height:1.5;color:var(--muted-2);text-align:center;margin-top:15px}

/* ---------- onde estamos ---------- */
.geo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,430px);gap:clamp(28px,4vw,64px);align-items:center}
.bairros{display:flex;flex-wrap:wrap;gap:9px;margin-top:20px}
.bairros span{padding:10px 16px;border-radius:999px;background:var(--bg-alt);border:1px solid var(--line);
  font-size:14px;font-weight:500;color:var(--navy)}
.geo-card{background:var(--navy);color:#fff;border-radius:26px;overflow:hidden}
.geo-card img{width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;display:block}
.geo-card .in{padding:clamp(22px,2.6vw,32px);display:flex;flex-direction:column;gap:15px}
.geo-card h3{font-size:clamp(25px,2.8vw,34px)}
.geo-card .li{display:flex;gap:12px;font-size:15px;line-height:1.5;color:var(--on-dark)}
.geo-card .li b{color:#fff;display:block}
.geo-card i{color:var(--accent);flex:none}

/* ---------- cta final ---------- */
.cta-fim{position:relative;overflow:hidden;background:var(--accent);color:#fff;text-align:center}
.cta-fim h2{font-size:clamp(38px,6vw,86px);line-height:.92;max-width:900px;margin:0 auto}
.cta-fim p{font-size:clamp(16px,1.8vw,19px);line-height:1.55;color:var(--accent-soft);max-width:580px;margin:22px auto 28px}
.cta-fim .acts{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}

@media (max-width:1180px){
  .ho-grid,.dup,.dup.inv,.ag-grid,.geo{grid-template-columns:minmax(0,1fr)}
  .ho{padding-top:clamp(94px,18vw,134px)}
  .hb{padding-top:clamp(94px,18vw,134px)}
  .dup.inv .dup-media{order:0}
  .ho-media img{aspect-ratio:16/10;border-radius:22px 22px 22px 80px}
  .ho-selo{right:14px;top:auto;bottom:-16px}
  .hb-foto img{aspect-ratio:16/9}
}
@media (max-width:620px){
  .hb-foto img{aspect-ratio:4/3}
  .passos{padding-left:44px}
}

/* ---------- HERO C: acupuntura — foto sangrando à esquerda ---------- */
.ha{position:relative;background:var(--navy);color:#fff;overflow:hidden;
  padding-top:clamp(108px,12vw,156px);padding-bottom:clamp(44px,5vw,72px)}
.ha::before{content:"";position:absolute;right:-12%;bottom:-34%;width:58%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),.28),transparent 66%);pointer-events:none}
.ha-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,42%) minmax(0,1fr);
  gap:clamp(30px,4vw,72px);align-items:stretch}
.ha-media{position:relative;margin-left:calc(var(--pad) * -1);display:flex;min-height:clamp(420px,44vw,600px)}
.ha-media img{width:100%;height:100%;object-fit:cover;object-position:56% 48%;display:block;
  border-radius:0 clamp(90px,14vw,190px) 22px 0}
.ha-in{display:flex;flex-direction:column;justify-content:center;gap:clamp(15px,1.9vw,23px)}
.ha h1{font-size:clamp(44px,6.4vw,88px);line-height:.9}
.ha h1 em{font-style:normal;color:var(--accent-soft)}
.ha-sub{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--on-dark);max-width:520px}
.ha-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:2px}
.ha-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:2px}
.ha-tags b{font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--on-dark-2);margin-right:4px}
.ha-tags span{padding:8px 15px;border-radius:999px;background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.17);font-size:14px;font-weight:600}

/* ---------- HERO D: RPG — eixo vertical + foto estreita ---------- */
.hr{position:relative;background:var(--bg-alt);overflow:hidden;
  padding-top:clamp(112px,13vw,166px);padding-bottom:clamp(50px,6vw,88px)}
.hr .crumb{color:var(--muted-2)}
.hr .crumb a:hover{color:var(--accent)}
.hr-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,34%);
  gap:clamp(30px,4vw,74px);align-items:center}
.hr-in{display:flex;flex-direction:column;gap:clamp(15px,1.9vw,23px)}
.hr h1{font-size:clamp(44px,6.4vw,88px);line-height:.9;color:var(--navy)}
.hr h1 em{font-style:normal;color:var(--accent)}
.hr-sub{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--muted);max-width:540px}
.hr-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:2px}
.hr-eixo{display:flex;flex-direction:column;gap:11px;margin-top:6px;padding-left:20px;
  border-left:2.5px solid var(--accent)}
.hr-eixo div{display:flex;align-items:baseline;gap:11px;font-size:15px;line-height:1.45;color:var(--ink)}
.hr-eixo b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:19px;color:var(--accent);flex:none;min-width:22px}
.hr-media{position:relative}
.hr-media img{width:100%;aspect-ratio:3/4.4;height:auto;object-fit:cover;object-position:52% 40%;display:block;
  border-radius:999px 999px 26px 26px}
.hr-media::after{content:"";position:absolute;left:50%;top:-14px;bottom:-14px;width:1.5px;
  background:repeating-linear-gradient(to bottom,var(--accent) 0 8px,transparent 8px 16px);opacity:.5;pointer-events:none}

/* ---------- HERO E: treino funcional — foto de fundo ---------- */
.hf{position:relative;overflow:hidden;background:var(--navy);color:#fff;
  padding-top:clamp(130px,16vw,210px);padding-bottom:clamp(60px,8vw,120px)}
.hf-bg{position:absolute;inset:0;z-index:0}
.hf-bg img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block}
.hf-bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(37,43,50,.95) 0%,rgba(37,43,50,.88) 42%,rgba(37,43,50,.5) 100%)}
.hf-in{position:relative;z-index:2;max-width:min(680px,60vw);display:flex;flex-direction:column;gap:clamp(15px,1.9vw,23px)}
.hf h1{font-size:clamp(44px,6.6vw,92px);line-height:.9}
.hf h1 em{font-style:normal;color:var(--accent-soft)}
.hf-sub{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--on-dark);max-width:540px}
.hf-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:2px}
.hf-mini{display:flex;flex-wrap:wrap;gap:10px 24px;font-size:14px;color:var(--on-dark-2);margin-top:2px}
.hf-mini span{display:flex;align-items:center;gap:7px}
.hf-mini i{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:none}

/* ---------- HERO F: a clínica — tira de três fotos ---------- */
.hc{position:relative;background:var(--navy);color:#fff;overflow:hidden;
  padding-top:clamp(108px,12vw,156px);padding-bottom:0}
.hc::before{content:"";position:absolute;left:-12%;top:-20%;width:56%;aspect-ratio:1;border-radius:50%;
  background:radial-gradient(circle,rgba(var(--accent-rgb),.26),transparent 66%);pointer-events:none}
.hc-in{position:relative;z-index:2;max-width:900px;display:flex;flex-direction:column;gap:clamp(15px,1.9vw,23px)}
.hc h1{font-size:clamp(44px,6.6vw,90px);line-height:.9}
.hc h1 em{font-style:normal;color:var(--accent-soft)}
.hc-sub{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--on-dark);max-width:620px}
.hc-acts{display:flex;flex-wrap:wrap;gap:13px;margin-top:2px}
.hc-tira{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(10px,1.2vw,16px);margin:clamp(32px,4vw,58px) calc(var(--pad) * -1) 0;
  padding:0 clamp(10px,1.2vw,16px)}
.hc-tira figure{margin:0;overflow:hidden;border-radius:20px 20px 0 0;position:relative}
.hc-tira img{width:100%;aspect-ratio:4/3;height:auto;object-fit:cover;display:block}
.hc-tira figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 16px 14px;
  background:linear-gradient(to top,rgba(0,0,0,.76),transparent);font-size:13px;font-weight:600;color:#fff}

@media (max-width:1180px){
  .ha-grid,.hr-grid{grid-template-columns:minmax(0,1fr)}
  .ha{padding-top:clamp(92px,18vw,130px)}
  .hr{padding-top:clamp(92px,18vw,130px)}
  .hc{padding-top:clamp(92px,18vw,130px)}
  .hf{padding-top:clamp(110px,22vw,160px)}
  .ha-media{margin-left:calc(var(--pad) * -1);margin-right:calc(var(--pad) * -1);min-height:0;order:-1}
  .ha-media img{aspect-ratio:16/10;height:auto;border-radius:0 0 26px 26px}
  .hr-media{max-width:360px;margin:0 auto}
  .hf-in{max-width:100%}
  .hc-tira{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .hc-tira figcaption{font-size:11px;padding:24px 10px 10px}
}
@media (max-width:620px){
  .hc-tira{grid-template-columns:minmax(0,1fr)}
  .hc-tira figure:nth-child(n+3){display:none}
  .hc-tira figure{border-radius:20px}
}
