/* ============ PALETA DO SITE ============
   Grafite + bordo. A paleta anterior (azul + magenta) esta
   documentada logo abaixo do :root, para reverter se preciso.
   ======================================== */
:root{
  --navy:#343B44; --navy-deep:#252B32; --accent:#8E3350; --accent-soft:#EFE0E5;
  --shadow-rgb:37,43,50; --accent-rgb:142,51,80;
  --bg:#ffffff; --bg-alt:#F4F4F3; --ink:#23282F; --muted:#575F69; --muted-2:#767E88;
  --line:#E6E5E2; --line-2:#D6D5D1; --on-dark:#CBCEd3; --on-dark-2:#A3A9B1;
  --pad:clamp(20px,5vw,120px);
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px); padding-bottom:env(safe-area-inset-bottom,0px);
}
/* ---------------------------------------------------------------
   PALETA ANTERIOR (azul + magenta) - guardada para eventual retorno.
   Para voltar atras, basta trocar os valores do :root acima por estes:

:root{
  --navy:#0E3350; --navy-deep:#0A2740; --accent:#C2185B; --accent-soft:#FBE3EC;
  --shadow-rgb:10,39,64; --accent-rgb:194,24,91;
  --bg:#ffffff; --bg-alt:#F4F6F9; --ink:#13263A; --muted:#4A5B6C; --muted-2:#6B7C8C;
  --line:#E4EAF1; --line-2:#D5DEE8; --on-dark:#C9D6E3; --on-dark-2:#A9BCCE;
}
   --------------------------------------------------------------- */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 90px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Figtree','Segoe UI',system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
h1,h2,h3{font-family:'Barlow Condensed','Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;margin:0;line-height:.88;letter-spacing:-.3px}
p{margin:0}
.wrap{padding-left:var(--pad);padding-right:var(--pad)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:700;font-size:clamp(15px,1.6vw,17px);padding:0 clamp(20px,2.4vw,30px);height:clamp(54px,5.4vw,64px);transition:transform .15s ease,box-shadow .15s ease}
.btn:hover{transform:translateY(-2px)}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 14px 34px rgba(var(--accent-rgb),.35)}
.btn-white{background:#fff;color:var(--navy)}
.btn-navy{background:var(--navy);color:#fff}
.btn-ghost{border:1.5px solid var(--navy);color:var(--navy)}
.sec{padding-top:clamp(56px,8vw,120px);padding-bottom:clamp(56px,8vw,130px)}

/* header */
/* ===================== MENU =====================
   Os href="#..." apontam para as seções da home.
   Quando as páginas internas existirem, troque por
   /fisioterapia/, /pilates/, /joelho/ e assim por diante.
   ================================================= */
.hdr{position:fixed;inset:0 0 auto;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:clamp(10px,1.4vw,18px);padding-bottom:clamp(10px,1.4vw,18px);transition:background .25s ease,box-shadow .25s ease,padding .25s ease}
.hdr.stuck{background:var(--navy);box-shadow:0 8px 28px rgba(var(--shadow-rgb),.28);padding-top:10px;padding-bottom:10px}
.brand{background:#fff;border-radius:999px;padding:clamp(8px,.9vw,14px) clamp(16px,2vw,30px);flex:none;transition:padding .25s ease}
.brand img{height:clamp(34px,4.4vw,64px);width:auto;transition:height .25s ease}
.hdr.stuck .brand{padding:8px 18px}
.hdr.stuck .brand img{height:clamp(32px,3.2vw,44px)}

.nav{display:flex;align-items:center;gap:2px;padding:6px;border-radius:999px;background:rgba(var(--shadow-rgb),.82);backdrop-filter:blur(8px);font-size:15px;font-weight:500;color:#fff}
.hdr.stuck .nav{background:transparent;backdrop-filter:none}
.nav>li{list-style:none;position:relative}
.nav>li>a,.nav>li>button{display:flex;align-items:center;gap:7px;padding:12px 16px;border-radius:999px;color:#fff;font-size:15px;font-weight:500;white-space:nowrap}
.nav>li>a:hover,.nav>li>button:hover,.nav>li:focus-within>button,.nav>li.open>button{background:rgba(255,255,255,.12)}
.nav .caret{width:9px;height:9px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);transition:transform .2s ease;opacity:.75}
.nav>li.open .caret{transform:rotate(-135deg) translate(-2px,-2px)}
.nav .cta{background:var(--accent);font-weight:700;padding:12px 22px}
.nav .cta:hover{background:var(--accent);filter:brightness(1.08)}

/* submenu */
.sub{position:absolute;top:calc(100% + 10px);left:0;min-width:270px;background:#fff;color:var(--ink);border-radius:20px;padding:10px;box-shadow:0 24px 50px rgba(var(--shadow-rgb),.3);opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s;list-style:none;margin:0}
.nav>li:hover>.sub,.nav>li:focus-within>.sub,.nav>li.open>.sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li{list-style:none}
.sub a{display:flex;flex-direction:column;gap:2px;padding:11px 14px;border-radius:14px;font-size:15px;font-weight:600;color:var(--ink)}
.sub a small{font-size:13px;font-weight:400;color:var(--muted-2);line-height:1.35}
.sub a:hover{background:var(--bg-alt);color:var(--accent)}
.sub a:hover small{color:var(--muted)}
.sub .divider{height:1px;background:var(--line);margin:8px 12px}

/* botao do menu no celular */
.burger{width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;display:none;align-items:center;justify-content:center;flex:none}
.burger span{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:background .2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:2px;transition:transform .25s ease}
.burger span::before{top:-6px}
.burger span::after{top:6px}
.burger[aria-expanded=true] span{background:transparent}
.burger[aria-expanded=true] span::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded=true] span::after{transform:translateY(-6px) rotate(-45deg)}

/* gaveta do celular */
.drawer{position:fixed;inset:0;z-index:70;background:var(--navy);color:#fff;display:flex;flex-direction:column;padding:0 var(--pad) 24px;padding-top:calc(env(safe-area-inset-top,0px) + 16px);overflow-y:auto;transform:translateX(100%);transition:transform .3s ease;visibility:hidden}
.drawer.open{transform:translateX(0);visibility:visible}
.drawer-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px}
.drawer-top .brand{padding:8px 16px}
.drawer-top .brand img{height:32px}
.drawer nav{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.14)}
.drawer .item{border-bottom:1px solid rgba(255,255,255,.14)}
.drawer .item>a,.drawer .item>button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 2px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:30px;text-transform:uppercase;color:#fff;text-align:left;letter-spacing:.2px}
.drawer .item .caret{width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform .2s ease;opacity:.7;flex:none}
.drawer .item.open .caret{transform:rotate(-135deg)}
.drawer .sub-m{display:none;flex-direction:column;gap:2px;padding:0 0 16px}
.drawer .item.open .sub-m{display:flex}
.drawer .sub-m a{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.07);font-size:16px;font-weight:600;color:#fff}
.drawer .sub-m a small{display:block;font-size:13px;font-weight:400;color:var(--on-dark-2);margin-top:2px}
.drawer-foot{margin-top:26px;display:flex;flex-direction:column;gap:12px}
.drawer-foot .btn{width:100%}
.drawer-foot p{font-size:14px;color:var(--on-dark-2);line-height:1.5;text-align:center}
body.locked{overflow:hidden}

/* hero */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate;min-height:min(760px,92vh)}
.hero-photo{position:absolute;right:0;top:0;width:40%;height:100%;object-fit:cover;object-position:center 45%;z-index:-2}
.hero-shape{position:absolute;inset:0;width:100%;height:100%;z-index:-1}
.hero-in{padding-top:clamp(150px,16vw,240px);padding-bottom:clamp(56px,7vw,120px);max-width:min(660px,54vw);display:flex;flex-direction:column;gap:clamp(18px,2.2vw,28px)}
.pill{align-self:flex-start;display:inline-flex;align-items:center;gap:10px;padding:9px 16px 9px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);font-size:clamp(12px,1.4vw,14px);font-weight:600}
.dot{width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.3)}
.hero h1{font-size:clamp(52px,8.4vw,118px)}
.hero-sub{font-size:clamp(16px,1.9vw,19px);line-height:1.55;color:var(--on-dark);max-width:100%}
.hero-actions{display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.hero-meta{display:flex;flex-wrap:wrap;gap:12px 28px;font-size:14px;color:var(--on-dark-2)}
.rating{position:absolute;right:clamp(16px,3vw,48px);bottom:clamp(16px,3vw,48px);width:min(278px,34%);background:#fff;color:var(--ink);border-radius:22px;padding:18px 20px;box-shadow:0 24px 50px rgba(var(--shadow-rgb),.35)}
.rating-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.rating-num{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:44px;line-height:1;color:var(--navy)}
.stars{display:flex;gap:2px;color:var(--accent)}
.rating p{font-size:13px;line-height:1.4;color:var(--muted);margin-top:6px}

/* faixa */
.strip{background:var(--accent);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;padding-top:18px;padding-bottom:18px;font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(17px,2vw,24px);text-transform:uppercase}
.strip i{width:8px;height:8px;border-radius:50%;background:#fff;opacity:.6}

/* onde dói */
.pain{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:clamp(28px,5vw,80px);align-items:start}
.pain h2{font-size:clamp(48px,9vw,118px)}
.pain-lead{font-size:clamp(15px,1.8vw,18px);line-height:1.6;color:var(--muted);margin-top:22px}
.pain-list{margin-top:26px;border-top:1.5px solid var(--line)}
.pain-list button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;height:clamp(62px,6vw,76px);border-bottom:1.5px solid var(--line);font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(30px,3.4vw,44px);text-transform:uppercase;color:var(--navy);text-align:left}
.pain-list button[aria-pressed=true]{color:var(--accent)}
.pain-list .lbl{flex:1;min-width:0}
.pain-list .go{width:44px;height:44px;flex:none;border-radius:50%;background:var(--line-2);color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s}
.pain-list button[aria-pressed=true] .go{background:var(--accent)}
.panel{position:relative;overflow:hidden;border-radius:32px;background:var(--navy);color:#fff;padding:clamp(28px,3.6vw,56px)}
.panel-ring{position:absolute;right:-180px;top:-200px;opacity:.9;pointer-events:none;z-index:0}
.panel>*:not(.panel-ring){position:relative;z-index:1}
.panel h3{font-size:clamp(46px,6vw,96px);margin:18px 0}
.tag{display:inline-flex;gap:5px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.1);font-size:14px;font-weight:600;color:var(--on-dark)}
.panel p{font-size:clamp(16px,1.9vw,20px);line-height:1.55;color:var(--on-dark);max-width:520px}
.checks{display:flex;flex-direction:column;gap:14px;margin:28px 0}
.check{display:flex;align-items:center;gap:14px;font-size:clamp(15px,1.7vw,17px)}
.check i{width:26px;height:26px;flex:none;border-radius:50%;border:1.5px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center}

/* tratamentos */
.treat-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(28px,4vw,56px)}
.treat-head h2{font-size:clamp(46px,7vw,96px)}
.treat-head p{font-size:clamp(15px,1.8vw,18px);line-height:1.6;color:var(--muted);max-width:440px}
.row{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr) auto;gap:clamp(12px,3vw,40px);align-items:center;padding:clamp(20px,2.4vw,30px) 0;border-top:1.5px solid var(--line-2)}
.row:last-child{border-bottom:1.5px solid var(--line-2)}
.row b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(38px,5.4vw,76px);line-height:.9;text-transform:uppercase;color:var(--navy)}
.row p{font-size:clamp(15px,1.7vw,17px);line-height:1.55;color:var(--muted)}
.row em{display:flex;align-items:center;gap:10px;font-style:normal;font-weight:700;font-size:15px;color:var(--accent);white-space:nowrap}
.row em i{width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}
.row:hover b{color:var(--accent)}

/* tecnologia */
.tech{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:28px}
.card{position:relative;overflow:hidden;border-radius:32px;display:flex;flex-direction:column}
.card.dark{background:var(--navy);color:#fff}
.card.light{background:var(--bg-alt);border:1.5px solid var(--line)}
.card-img{position:relative;height:clamp(220px,26vw,320px);flex:none}
.card-img img{width:100%;height:100%;object-fit:cover}
#imgBotas{object-position:78% 22%}
#imgOndas{object-position:44% 14%}
.card.dark .card-img::after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(to bottom,rgba(var(--shadow-rgb),0),var(--navy))}
.card-body{padding:clamp(24px,2.8vw,44px);padding-top:clamp(22px,2.4vw,36px);display:flex;flex-direction:column;gap:clamp(18px,2vw,26px)}
.card h3{font-size:clamp(40px,5vw,72px)}
.card.light h3{color:var(--navy)}
.card-body>p{font-size:clamp(15px,1.8vw,18px);line-height:1.6;max-width:470px}
.card.dark .card-body>p{color:var(--on-dark)}
.card.light .card-body>p{color:var(--muted)}
.badge{align-self:flex-start;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700}
.badge.a{background:var(--accent);color:#fff}
.badge.n{background:var(--navy);color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{padding:11px 18px;border-radius:999px;background:#fff;border:1px solid var(--line-2);font-size:15px;color:var(--navy)}
.specs{display:flex;flex-wrap:wrap;gap:24px 40px;padding:22px 0;border-top:1px solid;border-bottom:1px solid}
.card.dark .specs{border-color:rgba(255,255,255,.18)}
.card.light .specs{border-color:var(--line-2)}
.specs b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(32px,3.4vw,44px);line-height:1}
.card.light .specs b{color:var(--navy)}
.specs small{font-size:14px}
.card.dark .specs small{color:var(--on-dark-2)}
.card.light .specs small{color:var(--muted-2)}
.note{font-size:15px;line-height:1.55;color:var(--muted-2);max-width:480px}

/* passo a passo */
.steps-sec{background:var(--navy);color:#fff}
.steps-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:clamp(32px,4.5vw,64px)}
.steps-head h2{font-size:clamp(46px,7vw,96px);max-width:760px}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:24px}
.step{padding:clamp(24px,2.4vw,32px) clamp(22px,2.2vw,28px);border-radius:28px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);display:flex;flex-direction:column;gap:16px}
.step.hi{background:var(--accent);border-color:transparent}
.step u{text-decoration:none;font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:56px;line-height:1;color:rgba(255,255,255,.28)}
.step.hi u{color:rgba(255,255,255,.5)}
.step b{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(24px,2.2vw,30px);line-height:1;text-transform:uppercase}
.step p{font-size:15px;line-height:1.55;color:var(--on-dark)}
.step.hi p{color:var(--accent-soft)}

/* equipe */
.team-sec{background:var(--bg-alt);display:grid;grid-template-columns:minmax(0,380px) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.team-sec h2{font-size:clamp(38px,4.6vw,64px);margin:20px 0 18px}
.team-sec .lead{font-size:clamp(15px,1.8vw,18px);line-height:1.6;color:var(--muted);margin-bottom:24px}
.bar{width:64px;height:4px;background:var(--accent);border-radius:2px}
.team-ctrl{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.arrow{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none}
.arrow.o{border:1.5px solid var(--navy);color:var(--navy)}
.arrow.f{background:var(--navy);color:#fff}
.team-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:4px}
.team-track::-webkit-scrollbar{display:none}
.pro{flex:0 0 clamp(210px,28%,272px);scroll-snap-align:start;background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 40px rgba(var(--shadow-rgb),.1);display:flex;flex-direction:column}
.pro img{width:100%;aspect-ratio:3/4;height:auto;object-fit:cover;object-position:center top}
.pro div{padding:18px 20px 22px;display:flex;flex-direction:column;gap:4px}
.pro b{display:block;font-size:16px;line-height:1.25;color:var(--navy)}
.pro small{font-size:14px;color:var(--muted-2)}

/* prova social */
.proof{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:clamp(32px,5vw,80px);align-items:center}
.score{display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}
.score b{font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:clamp(110px,16vw,200px);line-height:.8;color:var(--navy)}
.score span{font-size:clamp(15px,1.8vw,18px);line-height:1.5;color:var(--muted);padding-bottom:10px}
.quotes{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin-top:32px}
.quote{padding:26px;border-radius:24px;background:var(--bg-alt)}
.quote p{font-size:16px;line-height:1.6}
.quote small{display:block;margin-top:14px;font-weight:600;color:var(--navy)}
.ig{position:relative}
.ig img{width:100%;height:auto;border-radius:32px;box-shadow:0 30px 60px rgba(var(--shadow-rgb),.18)}
.ig a{position:absolute;left:0;bottom:24px;transform:translateX(-14px);display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;background:var(--navy);color:#fff;font-weight:600;font-size:15px}

/* cta */
.cta{position:relative;overflow:hidden;background:var(--accent);color:#fff}
.cta-grid{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(32px,5vw,80px);align-items:center}
.cta h2{font-size:clamp(52px,8vw,120px)}
.cta p{font-size:clamp(16px,1.9vw,19px);line-height:1.55;color:var(--accent-soft);max-width:520px;margin:24px 0 28px}
.info{background:#fff;color:var(--ink);border-radius:32px;overflow:hidden;box-shadow:0 30px 60px rgba(var(--shadow-rgb),.25)}
.map{display:block;height:clamp(200px,22vw,250px);padding:0;background:var(--bg-alt);overflow:hidden}
.map iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.92)}
.info-body{padding:26px 28px;display:flex;flex-direction:column;gap:16px}
.info-body b{color:var(--navy)}
.info-body p{font-size:15px;line-height:1.5;color:var(--muted)}
.info-row{display:flex;justify-content:space-between;gap:16px;font-size:15px;color:var(--muted);border-top:1px solid var(--line);padding-top:16px;flex-wrap:wrap}
.info .btn{height:50px;font-size:15px}

/* footer */
footer{background:var(--navy-deep);color:var(--on-dark-2);padding-top:56px;padding-bottom:calc(56px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;gap:36px;font-size:14px}
footer .brand{display:inline-block;margin-bottom:18px}
footer .brand img{height:clamp(40px,4.4vw,64px)}
.fcols{display:flex;flex-wrap:wrap;gap:40px 64px}
.fcol{display:flex;flex-direction:column;gap:10px}
.fcol b{color:#fff}
.fcol a:hover{color:#fff}

/* barra mobile */
.mobile-bar{display:none;position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:20;gap:8px;background:#fff;border-radius:999px;padding:6px;box-shadow:0 10px 30px rgba(var(--shadow-rgb),.3)}
.mobile-bar a{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;height:48px;border-radius:999px;font-weight:700;font-size:15px}

@media (max-width:1180px){
  .nav{display:none}
  .burger{display:flex}
  .hdr{background:var(--navy)}
  .hero-in{padding-top:clamp(110px,22vw,150px)}
  .pain,.proof,.cta-grid,.team-sec{grid-template-columns:minmax(0,1fr)}
  .hero-photo{width:100%;opacity:.16}
  .hero-in{max-width:100%}
  .hero-shape{display:none}
  .rating{position:static;margin-top:28px;width:100%;max-width:280px}
  .row{grid-template-columns:minmax(0,1fr);gap:10px}
  .row em{justify-content:flex-start}
  .ig a{position:static;transform:none;margin-top:16px}
  body{padding-bottom:84px}
  .mobile-bar{display:flex}
  .pro{flex:0 0 min(74%,300px)}
  .team-track{margin-left:calc(var(--pad)*-1);margin-right:calc(var(--pad)*-1);padding-left:var(--pad);padding-right:var(--pad)}
}

@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ---------- equipe: retratos circulares em fileira ---------- */
/* 7 profissionais: flex centralizado, para a linha incompleta não ficar órfã à esquerda */
.eqp{--eqp-gap:clamp(14px,1.8vw,26px);display:flex;flex-wrap:wrap;justify-content:center;gap:var(--eqp-gap)}
.eqp article{flex:0 1 calc((100% - 6*var(--eqp-gap))/7);min-width:124px}
.eqp article{display:flex;flex-direction:column;align-items:center;text-align:center}
.eqp figure{margin:0 0 15px;width:100%;max-width:150px;aspect-ratio:1;border-radius:50%;overflow:hidden;
  background:var(--bg-alt);box-shadow:0 0 0 1.5px var(--line), 0 0 0 7px #fff, 0 0 0 8.5px var(--line)}
.eqp img{width:100%;height:100%;object-fit:cover;object-position:center 18%;display:block;transition:transform .4s ease}
.eqp article:hover img{transform:scale(1.06)}
.eqp b{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:clamp(16px,1.5vw,19px);
  line-height:1.1;text-transform:uppercase;color:var(--navy)}
.eqp .crefito{display:block;font-size:12.5px;font-weight:600;color:var(--accent);margin-top:4px}
.eqp .espec{display:block;font-size:13px;line-height:1.45;color:var(--muted);margin-top:7px}
.eqp-nota{margin-top:clamp(28px,3.2vw,44px);text-align:center;font-size:14px;line-height:1.6;color:var(--muted-2);
  max-width:720px;margin-left:auto;margin-right:auto}
@media (max-width:1180px){.eqp article{flex-basis:calc((100% - 3*var(--eqp-gap))/4)}}
@media (max-width:820px){.eqp article{flex-basis:calc((100% - 2*var(--eqp-gap))/3)}}
@media (max-width:560px){.eqp article{flex-basis:calc((100% - var(--eqp-gap))/2)}}

/* ---------- prova social: faixa escura, sem cartões ---------- */
.provap{background:var(--navy);color:#fff}
.provap-grid{display:grid;grid-template-columns:minmax(0,250px) minmax(0,1fr);gap:clamp(28px,4vw,66px);align-items:center}
.provap-nota{text-align:center}
.provap-nota b{display:block;font-family:'Barlow Condensed',sans-serif;font-weight:800;
  font-size:clamp(76px,9vw,118px);line-height:.82;color:var(--accent-soft)}
.provap-nota .estrelas{display:flex;justify-content:center;gap:5px;margin:13px 0 11px;color:var(--accent-soft)}
.provap-nota span{display:block;font-size:14px;line-height:1.5;color:var(--on-dark)}
.provap-deps{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:clamp(22px,3vw,44px)}
.provap-deps div{padding-left:20px;border-left:2.5px solid var(--accent)}
.provap-deps p{font-size:clamp(16px,1.8vw,18px);line-height:1.6;color:#fff}
.provap-deps small{display:block;font-size:13px;font-weight:700;color:var(--on-dark-2);margin-top:14px}
@media (max-width:860px){.provap-grid{grid-template-columns:minmax(0,1fr)}}

/* ============ NOTA EM ESTRELAS ============
   Componente único do hero, da prova social, da LP e do bloco de números.
   O recorte é exato: --n estrelas inteiras mais a fração --f da seguinte.
   Para 4,95 → --n:4 e --f:.95. Se a nota mudar, basta trocar esses dois
   valores (e o número escrito) — o desenho se ajusta sozinho.
   Em fundo escuro, acrescente a classe .n5-escuro no bloco que envolve.
   ========================================== */
.nota5{--n5-t:18px;--n5-g:4px;--n:4;--f:.95;
  position:relative;display:inline-block;line-height:0;vertical-align:middle}
.nota5 .n5-tr,.nota5 .n5-ch>i{display:flex;gap:var(--n5-g);width:max-content}
.nota5 .n5-ch{position:absolute;left:0;top:0;overflow:hidden;
  width:calc(var(--n)*(var(--n5-t) + var(--n5-g)) + var(--f)*var(--n5-t))}
.nota5 svg{width:var(--n5-t);height:var(--n5-t);flex:none;display:block}
.nota5 .n5-tr{color:var(--n5-trilho,rgba(var(--accent-rgb),.22))}
.nota5 .n5-ch{color:var(--n5-cheio,var(--accent))}

.n5-medidor{--n:4;--f:.95;height:6px;border-radius:999px;overflow:hidden;
  background:var(--n5-trilho,rgba(var(--accent-rgb),.18))}
.n5-medidor i{display:block;height:100%;border-radius:999px;
  background:var(--n5-cheio,var(--accent));width:calc((var(--n) + var(--f))/5*100%)}

.n5-escuro{--n5-trilho:rgba(255,255,255,.22);--n5-cheio:var(--accent-soft)}

/* encaixes */
.rating .n5-medidor{margin:13px 0 9px}
.rating p{margin-top:0}
.score{align-items:center}
.score .score-lado{padding-bottom:0;display:flex;flex-direction:column;gap:11px;align-items:flex-start}
.score .score-lado .n5-medidor{width:min(240px,100%)}
.score .score-lado em{font-style:normal;font-size:clamp(15px,1.8vw,18px);line-height:1.5;color:var(--muted)}
.provap-nota .nota5{margin:14px 0 12px}
.provap-nota .n5-medidor{max-width:220px;margin:0 auto 13px}
.n5-num .nota5{--n5-trilho:rgba(var(--accent-rgb),.26)}
.n5-num .n5-de{color:var(--accent);font-weight:700}
/* o "de 5,0" das legendas não pode herdar o corpo do número gigante */
.provap-nota span b,.rating p b,.nums .n5-de,.score-lado em b{
  font-family:'Figtree',sans-serif;font-weight:700;font-size:inherit;
  line-height:inherit;display:inline}
.provap-nota span b{color:var(--accent-soft)}
.nums .n5-de{color:var(--accent)}
.rating p b{color:var(--navy)}
/* proporção na prova social clara */
.score .score-lado{gap:13px}
.score .score-lado .n5-medidor{width:min(268px,100%);height:7px}
.provap-nota .n5-medidor{max-width:238px;margin:0 auto 14px;height:7px}
.score .score-lado .n5-medidor{width:min(330px,100%);height:8px}
.provap-nota .n5-medidor{max-width:258px}
@media (max-width:620px){
  .score .score-lado .nota5{--n5-t:32px;--n5-g:5px}
  .provap-nota .nota5{--n5-t:25px;--n5-g:5px}
}

@media (max-width:1180px){.rating .nota5{--n5-t:16px;--n5-g:2px}.rating-num{font-size:38px}}
@media (max-width:1080px){.rating .nota5{--n5-t:19px;--n5-g:3px}.rating-num{font-size:44px}}

/* a largura do medidor acompanha exatamente a fileira de estrelas */
.score .score-lado{--n5-t:42px;--n5-g:7px}
.score .score-lado .n5-medidor{width:calc(5*var(--n5-t) + 4*var(--n5-g));height:8px}
.provap-nota{--n5-t:29px;--n5-g:6px}
.provap-nota .n5-medidor{width:calc(5*var(--n5-t) + 4*var(--n5-g));max-width:100%;
  margin:0 auto 14px;height:7px}
@media (max-width:620px){
  .score .score-lado{--n5-t:32px;--n5-g:5px}
  .provap-nota{--n5-t:25px;--n5-g:5px}
}


/* ---------- rodapé ---------- */
.ftopo{flex:1 0 100%;display:flex;flex-wrap:wrap;justify-content:space-between;gap:38px 56px}
.fmarca{flex:0 1 310px;display:flex;flex-direction:column;align-items:flex-start;gap:15px}
.fmarca p{font-size:14px;line-height:1.6;color:var(--on-dark-2);margin:0;max-width:300px}
.fig{display:inline-flex;align-items:center;gap:9px;padding:9px 15px;border-radius:999px;
  background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);
  font-size:13.5px;font-weight:600;color:var(--on-dark);transition:.18s}
.fig svg{width:17px;height:17px;flex:none}
.fig:hover{background:rgba(255,255,255,.13);border-color:rgba(255,255,255,.3);color:#fff}
.fcontato a,.fcontato span{line-height:1.55}
.fcontato span{color:var(--on-dark-2)}

/* linha final: identificação e crédito */
.fbase{flex:1 0 100%;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;
  gap:12px 28px;margin-top:10px;padding-top:24px;border-top:1px solid rgba(255,255,255,.13);
  font-size:13px;line-height:1.5;color:var(--on-dark-2)}
.ffroggi{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:999px;
  border:1px solid rgba(255,255,255,.16);color:var(--on-dark-2);transition:.18s}
.ffroggi .sapo{width:21px;height:21px;flex:none;color:var(--accent-soft);transition:transform .25s ease}
.ffroggi b{color:var(--on-dark);font-weight:700}
.ffroggi:hover{border-color:var(--accent-soft);color:#fff}
.ffroggi:hover b{color:#fff}
.ffroggi:hover .sapo{transform:translateY(-2px) rotate(-6deg)}
@media (max-width:860px){
  .ftopo{gap:30px}
  .fmarca{flex:1 0 100%}
}
@media (max-width:620px){
  .fbase{padding-top:20px;font-size:12.5px}
}

/* ============ MAPA DA LOCALIZAÇÃO ============
   Vale para a seção .geo das páginas internas, para .lp-geo da landing
   e para o cartão de contato da home. Fica no CSS compartilhado porque
   cada página carrega um arquivo de apoio diferente.
   ============================================= */
.mapa,.lp-mapa{grid-column:1 / -1;position:relative;margin-top:clamp(24px,3.2vw,42px);
  border-radius:26px;overflow:hidden;border:1.5px solid var(--line);background:var(--bg-alt)}
.mapa iframe,.lp-mapa iframe{display:block;width:100%;height:clamp(280px,32vw,400px);
  border:0;filter:saturate(.92)}
.mapa-ir{position:absolute;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;
  padding:11px 18px;border-radius:999px;background:var(--navy);color:#fff;font-size:14px;font-weight:600;
  box-shadow:0 10px 26px rgba(var(--shadow-rgb),.28);transition:.18s}
.mapa-ir:hover{background:var(--accent);color:#fff}
@media (max-width:620px){
  .mapa-ir{right:12px;bottom:12px;padding:10px 15px;font-size:13px}
  .mapa iframe,.lp-mapa iframe{height:clamp(240px,52vw,320px)}
}
