/* OdontoMaster, site demo (Pixel Lever, 31/10/2026). Metodo site-premium, fases 6 a 12.
   Identidade: logo vetorizado do post de 30/12/2025; azul e vermelho da marca medidos no logo.
   Publico 45+: corpo a partir de 18 px, alvos de 48 px, contraste alto. Vermelho so no CTA e em filetes. */

:root{
  --fundo:#F3EFE9;          /* cinza-quente claro (referencia Aventura) */
  --fundo-2:#EAE4DB;
  --papel:#FFFDFA;
  --tinta:#1D2433;          /* corpo */
  --tinta-2:#4A5163;        /* apoio (contraste 7:1 no fundo) */
  --marinho:#0E1C46;        /* titulos e o "por dentro" do tratamento */
  --marinho-2:#16275C;
  --azul:#2128D8;           /* azul do logo */
  --vermelho:#C8141E;       /* CTA (branco por cima = 5,9:1) */
  --vermelho-h:#A90F18;
  --marfim:#F2E4CC;         /* destaque sobre o marinho */
  --linha:rgba(14,28,70,.16);
  --serif:"Fraunces",Georgia,"Times New Roman",serif; /* 31/10 (Tony): trocada a Instrument Serif (estreita e fina) pela Fraunces, mais larga e macia */
  --sans:"Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --raio:22px;
  --gut:clamp(20px,5vw,72px);
  --nav-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:auto;scrollbar-width:none}
html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}
body{margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--sans);font-size:clamp(18px,.95rem + .25vw,20px);line-height:1.6;scrollbar-width:none;overflow-x:clip}
img,svg,video{display:block;max-width:100%}
img{height:auto}
a{color:inherit}
h1,h2,h3{font-family:var(--serif);font-weight:440;font-variation-settings:"SOFT" 60,"opsz" 96;color:var(--marinho);line-height:1.08;letter-spacing:-.02em;margin:0;text-wrap:balance}
p{margin:0}
:focus:not(:focus-visible){outline:none}
:focus-visible{outline:3px solid var(--azul);outline-offset:3px;border-radius:6px}
a,button,summary{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:16px;top:-80px;z-index:100;background:var(--marinho);color:#fff;padding:12px 18px;border-radius:12px;text-decoration:none}
.pular:focus{top:16px}

/* barra de progresso no lugar da barra nativa (regra da casa) */
#scrollprog{position:fixed;top:0;left:0;height:3px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:80;background:linear-gradient(90deg,var(--vermelho),#E8202A);pointer-events:none}

/* "a confirmar": dado que a clinica ainda precisa confirmar (demo) */
.confirmar{display:inline-block;font-family:var(--sans);font-size:.72em;font-weight:700;letter-spacing:.02em;line-height:1.3;color:#7A5A12;background:#FBEFC9;border:1px dashed #C9A13B;border-radius:999px;padding:.1em .7em;vertical-align:.12em;white-space:nowrap}

/* ---------- botoes ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;border-radius:999px;font-weight:700;font-size:1.02rem;line-height:1.2;text-decoration:none;transition:background-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease);user-select:none}
.btn svg{width:24px;height:24px;flex:none}
.btn-cta{background:var(--vermelho);color:#fff;box-shadow:0 14px 30px -16px rgba(200,20,30,.7)}
@media (hover:hover){.btn-cta:hover{background:var(--vermelho-h);transform:translateY(-2px)}}
.btn-linha{border:1.5px solid var(--linha);color:var(--marinho);background:transparent}
@media (hover:hover){.btn-linha:hover{border-color:var(--marinho)}}
.btn-cta:focus-visible{outline-color:var(--marinho)}

/* ---------- navbar (liquid glass, some ao descer e volta ao subir) ---------- */
.nav{position:fixed;left:0;right:0;top:0;z-index:60;padding:calc(10px + env(safe-area-inset-top,0px)) var(--gut) 10px;pointer-events:none}
.nav-in{pointer-events:auto;display:flex;align-items:center;gap:24px;height:var(--nav-h);padding:0 14px 0 22px;border-radius:999px;background:rgba(255,253,250,.72);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(255,255,255,.7);box-shadow:0 10px 30px -18px rgba(14,28,70,.35);max-width:1320px;margin-inline:auto}
.nav-logo{display:flex;align-items:center;min-height:48px}
.nav-logo img{width:clamp(150px,14vw,200px);height:auto}
.nav-links{display:flex;gap:6px;margin-left:auto;list-style:none;padding:0;margin-block:0}
.nav-links a{display:inline-flex;align-items:center;min-height:48px;padding:0 14px;border-radius:999px;text-decoration:none;font-weight:700;font-size:.95rem;color:var(--marinho);user-select:none}
@media (hover:hover){.nav-links a:hover{background:rgba(14,28,70,.07)}}
.nav .btn{min-height:52px;padding:0 22px;font-size:.95rem}
.nav .btn svg{width:22px;height:22px}
@media (max-width:980px){.nav-links{display:none}.nav .btn{margin-left:auto}}
@media (max-width:520px){
  :root{--nav-h:64px}
  .nav{padding-inline:12px}
  .nav-in{padding:0 8px 0 14px;gap:10px}
  .nav-logo img{width:150px}
  .nav .btn{min-height:48px;padding:0 16px;font-size:.92rem}
  .nav .btn .so-desk{display:none}
}

/* ---------- 1. Chegada ---------- */
.hero{position:relative;display:grid;grid-template-columns:1fr 1fr;min-height:100svh;background:var(--fundo)}
.hero-texto{display:flex;flex-direction:column;justify-content:center;padding:calc(var(--nav-h) + 56px) clamp(24px,4vw,64px) 64px var(--gut);max-width:780px;justify-self:end;width:100%}
.olho{display:block;font-weight:700;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vermelho)}
.hero h1{font-size:clamp(3rem,1.6rem + 4.6vw,6.4rem);margin-top:22px}
.hero h1 em{font-style:italic;color:var(--azul)}
.hero .sub{margin-top:26px;font-size:clamp(1.12rem,1rem + .4vw,1.35rem);color:var(--tinta-2);max-width:34em}
.hero .acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:36px}
.hero .ou{color:var(--tinta-2);font-size:.98rem}
.hero .ou a{font-weight:700;color:var(--marinho);text-underline-offset:4px;white-space:nowrap}
.hero-foto{position:relative;overflow:hidden;background:#cfc8bd}
.hero-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:52% 60%;transform-origin:50% 60%}
.hero-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,28,70,.14),transparent 30%)}
.selo{position:absolute;z-index:3;left:50%;bottom:clamp(28px,8vh,88px);transform:translateX(-50%);display:flex;align-items:center;gap:16px;padding:16px 22px 16px 18px;border-radius:20px;background:rgba(255,253,250,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.8);box-shadow:0 20px 44px -22px rgba(14,28,70,.5);text-decoration:none;color:var(--marinho);transition:transform .3s var(--ease)}
@media (hover:hover){.selo:hover{transform:translateX(-50%) translateY(-3px)}}
.selo-nota{font-family:var(--serif);font-size:2.6rem;line-height:1}
.selo-txt{display:flex;flex-direction:column;line-height:1.25;font-size:.95rem}
.selo-txt strong{font-size:1rem}
.estrelas{display:flex;gap:2px;color:#E8A317}
.estrelas svg{width:16px;height:16px}
.role{position:absolute;left:var(--gut);bottom:24px;display:flex;align-items:center;gap:10px;color:var(--tinta-2);font-size:.92rem}
.role i{display:block;width:1px;height:34px;background:linear-gradient(var(--tinta-2),transparent);animation:pisca 2.4s ease-in-out infinite}
@keyframes pisca{0%,100%{opacity:.25}50%{opacity:1}}
/* entrada na ordem da hierarquia: titulo, subtitulo, CTA */
.js .hero .ent{opacity:0;transform:translateY(18px);filter:blur(8px);animation:entra 1.1s var(--ease) forwards}
.js .hero .ent:nth-child(2){animation-delay:.15s}.js .hero .ent:nth-child(3){animation-delay:.35s}.js .hero .ent:nth-child(4){animation-delay:.55s}
@keyframes entra{to{opacity:1;transform:none;filter:none}}
@media (max-width:900px){
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-foto{order:-1;height:min(56svh,520px)}
  .hero-texto{padding:44px var(--gut) 56px;justify-self:stretch;max-width:none}
  .selo{bottom:-34px;left:var(--gut);transform:none;padding:12px 18px 12px 14px}
  @media (hover:hover){.selo:hover{transform:translateY(-3px)}}
  .selo-nota{font-size:2.1rem}
  .hero-texto{padding-top:64px}
  .role{display:none}
}

/* secoes que sobem sobre a anterior: cantos superiores arredondados + sombra */
.sobe{position:relative;z-index:2;border-radius:var(--raio) var(--raio) 0 0;margin-top:calc(var(--raio) * -1);box-shadow:0 -24px 48px -30px rgba(14,28,70,.4)}

/* ---------- 2. O incomodo ---------- */
.incomodo{position:relative;background:var(--papel)}
.incomodo-palco{min-height:100svh;display:grid;place-items:center;padding:96px var(--gut)}
.frases{position:relative;display:grid;width:100%;max-width:1100px;text-align:center}
.frase{grid-area:1/1;font-family:var(--serif);font-size:clamp(2.5rem,1.2rem + 5vw,6rem);line-height:1.05;color:var(--marinho);text-wrap:balance}
.frase.fecho{color:var(--vermelho);font-style:italic}
/* sem JS ou com menos movimento: as frases em pilha */
html:not(.anima) .frases{gap:28px}
html:not(.anima) .frase{grid-area:auto}
.anima .frase{opacity:0;will-change:transform,opacity,filter}
.incomodo .rotulo{position:absolute;left:var(--gut);top:clamp(72px,12vh,120px);font-weight:700;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-2)}

/* ---------- 3. Do primeiro dia ao dente fixo (o coracao) ---------- */
.caminho{background:var(--marinho);color:#fff;overflow:hidden}
.caminho-palco{position:relative;min-height:100svh;padding:calc(var(--nav-h) + 40px) var(--gut) 48px}
.caminho h2{color:#fff;font-size:clamp(2.4rem,1.2rem + 3.4vw,4.6rem);max-width:13.5em}
.caminho h2 em{color:var(--marfim)}
.caminho .apoio{margin-top:16px;max-width:36em;color:rgba(255,255,255,.82);font-size:1.05rem}
.arco{position:absolute;left:50%;top:var(--arco-top,44vh);width:min(80vw,150vh);aspect-ratio:1;transform:translateX(-50%);pointer-events:none}
.arco svg.circ{width:100%;height:100%;overflow:visible}
.arco circle{fill:none;stroke:rgba(242,228,204,.32);stroke-width:1.2;vector-effect:non-scaling-stroke}
.estacao{position:absolute;left:0;top:0;pointer-events:auto;transform:translate(-50%,-50%);will-change:transform}
.estacao .ponto{position:absolute;left:50%;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:var(--marinho);border:2px solid var(--marfim);transition:background-color .4s,transform .4s var(--ease)}
.estacao button{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-86px 0 0 -28px;border-radius:50%;border:1.5px solid rgba(242,228,204,.5);color:var(--marfim);font-family:var(--serif);font-size:1.6rem;display:grid;place-items:center;transition:background-color .4s,color .4s,border-color .4s,transform .4s var(--ease);user-select:none}
.estacao.feita .ponto{background:var(--marfim)}
.estacao.ativa .ponto{background:var(--vermelho);border-color:var(--vermelho);transform:scale(1.35)}
.estacao.ativa button{background:var(--marfim);color:var(--marinho);border-color:var(--marfim);transform:scale(1.08)}
@media (hover:hover){.estacao button:hover{border-color:var(--marfim)}}
.estacao .nome{position:absolute;left:50%;top:50%;margin-top:22px;transform:translateX(-50%);white-space:nowrap;font-size:.92rem;font-weight:700;color:rgba(242,228,204,.75);letter-spacing:.02em}
.estacao.ativa .nome{opacity:0}
.centro{position:absolute;left:50%;top:calc(var(--arco-top,44vh) + 56px);bottom:24px;width:min(640px,86vw);transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;text-align:center}
.dente{flex:1 1 auto;width:100%;height:auto;min-height:84px;max-height:min(250px,24vh);overflow:visible}
.dente .tr{fill:none;stroke:var(--marfim);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.dente .fraco{stroke:rgba(242,228,204,.45)}
.dente .tracejado{stroke-dasharray:6 7}
.dente .cheio{fill:rgba(242,228,204,.92);stroke:var(--marfim)}
.dente .metal{fill:rgba(190,200,220,.35);stroke:#C9D2E6}
.textos{position:relative;display:grid;width:100%;margin-top:clamp(10px,2vh,22px)}
.etapa{grid-area:1/1}
.etapa h3{font-family:var(--serif);color:var(--marfim);font-size:clamp(2rem,1.2rem + 2vw,3.2rem)}
.etapa h3 small{display:block;font-family:var(--sans);font-size:.9rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(242,228,204,.7);margin-bottom:8px}
.etapa p{margin-top:12px;color:rgba(255,255,255,.88);font-size:clamp(1.05rem,.98rem + .25vw,1.2rem)}
.dica{position:absolute;right:var(--gut);top:calc(var(--nav-h) + 52px);display:flex;align-items:center;gap:12px;color:rgba(242,228,204,.85);font-size:.95rem;transition:opacity .5s}
.dica i{width:22px;height:34px;border:1.5px solid currentColor;border-radius:12px;position:relative}
.dica i::after{content:"";position:absolute;left:50%;top:7px;width:3px;height:7px;margin-left:-1.5px;border-radius:2px;background:currentColor;animation:rolinho 1.8s ease-in-out infinite}
@keyframes rolinho{0%{transform:translateY(0);opacity:1}70%{transform:translateY(10px);opacity:0}100%{opacity:0}}
.trilho{display:none}
/* sem animacao: as 5 etapas em lista */
html:not(.anima) .arco,html:not(.anima) .dica,html:not(.anima) .dente{display:none}
html:not(.anima) .centro{position:static;transform:none;width:auto;max-width:760px;margin:48px auto 0;bottom:auto}
html:not(.anima) .textos{gap:36px;text-align:left}
html:not(.anima) .etapa{grid-area:auto}
.anima .etapa{opacity:0;visibility:hidden;transform:translateY(14px);filter:blur(6px);transition:opacity .4s var(--ease),transform .4s var(--ease),filter .4s var(--ease),visibility 0s .4s}
.anima .etapa.on{opacity:1;visibility:visible;transform:none;filter:none;transition:opacity .55s var(--ease) .12s,transform .55s var(--ease) .12s,filter .55s var(--ease) .12s,visibility 0s}
.dente .cam{transition:none}
.anima .dente .cam{opacity:0}
@media (max-width:760px){
  .caminho-palco{padding-top:calc(var(--nav-h) + 28px)}
  .caminho h2{font-size:clamp(2.1rem,1.4rem + 3.4vw,2.8rem)}
  .caminho .apoio{font-size:1rem}
  .anima .arco,.anima .dica{display:none}
  .anima .trilho{display:flex;flex-direction:column;justify-content:space-between;position:absolute;left:var(--gut);top:var(--topo-cel,calc(var(--nav-h) + 250px));height:min(280px,calc(100svh - var(--topo-cel,330px) - 28px));width:48px}
  .trilho::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;width:1.5px;background:rgba(242,228,204,.3)}
  .trilho button{position:relative;width:48px;height:48px;border-radius:50%;border:1.5px solid rgba(242,228,204,.5);background:var(--marinho);color:var(--marfim);font-family:var(--serif);font-size:1.4rem;display:grid;place-items:center;transition:background-color .4s,color .4s;user-select:none}
  .trilho button.ativa{background:var(--marfim);color:var(--marinho)}
  .trilho button.feita{border-color:var(--marfim)}
  .anima .centro{left:calc(var(--gut) + 68px);right:var(--gut);width:auto;transform:none;top:var(--topo-cel,calc(var(--nav-h) + 250px));bottom:40px;align-items:flex-start;text-align:left}
  .anima .dente{display:block;flex:none;width:auto;height:clamp(96px,17vh,150px);max-height:none}
  .etapa h3{font-size:clamp(1.8rem,1.4rem + 2vw,2.3rem)}
  .etapa p{font-size:1.02rem}
}

/* ---------- 4. Tratamentos ---------- */
.tratamentos{background:var(--fundo)}
.trat-palco{position:relative;min-height:100svh;display:grid;grid-template-columns:minmax(120px,.7fr) minmax(280px,1.15fr) minmax(360px,1.5fr);align-items:center;gap:clamp(24px,4vw,72px);padding:calc(var(--nav-h) + 48px) var(--gut) 64px;max-width:1440px;margin-inline:auto}
.trat-cab{position:absolute;left:var(--gut);top:calc(var(--nav-h) + 36px)}
.trat-cab h2{font-size:clamp(2.2rem,1.4rem + 2.2vw,3.6rem)}
.contador{font-family:var(--serif);color:var(--marinho);display:flex;align-items:baseline;gap:10px}
.contador b{font-weight:400;font-size:clamp(4rem,2rem + 5vw,7rem);line-height:1;font-variant-numeric:tabular-nums}
.contador span{font-family:var(--sans);font-size:1rem;color:var(--tinta-2)}
.trat-fotos{position:relative;aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:var(--fundo-2);box-shadow:0 30px 60px -36px rgba(14,28,70,.45)}
.trat-fotos img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
@media (hover:hover){.trat-fotos:hover img{transform:scale(1.12)}}
.trat-lista{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.trat-lista li{border-bottom:1px solid var(--linha)}
.trat-lista button{display:flex;align-items:baseline;gap:16px;width:100%;min-height:72px;padding:14px 0;text-align:left;font-family:var(--serif);font-size:clamp(2rem,1.2rem + 2vw,3.3rem);line-height:1.05;color:rgba(14,28,70,.28);transition:color .5s var(--ease);user-select:none}
.trat-lista button small{font-family:var(--sans);font-size:.9rem;font-weight:700;color:inherit;min-width:2.2em}
.trat-lista li.ativo button{color:var(--marinho)}
.trat-lista li.ativo button small{color:var(--vermelho)}
@media (hover:hover){.trat-lista button:hover{color:rgba(14,28,70,.6)}}
.trat-detalhes{position:relative;display:grid;margin-top:24px}
.trat-det{grid-area:1/1}
.trat-det p{color:var(--tinta-2);font-size:clamp(1.05rem,1rem + .2vw,1.18rem);max-width:30em}
.trat-det .btn{margin-top:22px}
.js .trat-palco .trat-det{opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .5s var(--ease),transform .5s var(--ease),visibility 0s .5s}
.js .trat-palco .trat-det.on{opacity:1;visibility:visible;transform:none;transition:opacity .6s var(--ease) .1s,transform .6s var(--ease) .1s,visibility 0s}
.trat-fotos img{opacity:0;transition:opacity .7s var(--ease),transform .8s var(--ease)}
.trat-fotos img.on{opacity:1}
.trat-cel{display:none}
@media (max-width:900px){
  .trat-palco{display:none}
  .trat-cel{display:block;padding:72px var(--gut) 88px}
  .trat-cel h2{font-size:clamp(2.2rem,1.6rem + 3vw,3rem)}
  .trat-item{padding-top:44px}
  .trat-item+.trat-item{margin-top:28px;border-top:1px solid var(--linha)}
  .trat-item figure{margin:0;aspect-ratio:4/5;max-height:62svh;border-radius:18px;overflow:hidden;background:var(--fundo-2)}
  .trat-item figure img{width:100%;height:100%;object-fit:cover}
  .trat-item .n{display:block;margin-top:22px;font-weight:700;color:var(--vermelho);font-size:.95rem}
  .trat-item h3{font-size:clamp(2.1rem,1.6rem + 2.6vw,2.8rem);margin-top:6px}
  .trat-item p{margin-top:12px;color:var(--tinta-2)}
  .trat-item .btn{margin-top:20px;width:100%}
}

/* ---------- 5. Quem cuida de voce ---------- */
.equipe{background:var(--papel);padding:clamp(88px,12vw,150px) var(--gut)}
.equipe-cab{max-width:1240px;margin:0 auto clamp(40px,6vw,72px)}
.equipe-cab h2{font-size:clamp(2.4rem,1.4rem + 3vw,4.4rem)}
.split{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,88px);align-items:center;max-width:1240px;margin-inline:auto}
.split+.split{margin-top:clamp(64px,9vw,120px)}
.split.inverte .split-midia{order:2}
.split-midia{position:relative;width:100%;max-width:500px;justify-self:center}
.split-midia .principal{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 20%;border-radius:20px;background:var(--fundo-2)}
.split-midia .inset{position:absolute;right:-6%;bottom:-8%;width:42%;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:6px solid var(--papel);box-shadow:0 20px 40px -24px rgba(14,28,70,.5)}
.split-midia .recepcao{width:min(100%,400px);aspect-ratio:8/9;object-fit:cover;border-radius:20px;margin-left:auto}
.split-txt .papel{font-weight:700;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;color:var(--vermelho)}
.split-txt h3{font-size:clamp(2.4rem,1.6rem + 2.4vw,3.8rem);margin-top:10px}
.split-txt .reg{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;color:var(--tinta-2);font-size:1rem}
.split-txt p.desc{margin-top:20px;max-width:32em}
.js .equipe .seq{opacity:0;transform:translateY(22px);transition:opacity 1.5s var(--ease),transform 1.5s var(--ease);transition-delay:calc(var(--i,0) * 220ms)}
.js .equipe .seq.in{opacity:1;transform:none}
@media (max-width:820px){
  .split{grid-template-columns:1fr}
  .split.inverte .split-midia{order:0}
  .split-midia .inset{right:-2%;width:40%}
  .split-midia .recepcao{margin-left:0;width:78%}
}

/* ---------- 6. Numeros da casa ---------- */
.numeros{background:var(--marinho);color:#fff;padding:clamp(80px,10vw,128px) var(--gut)}
.numeros ul{list-style:none;margin:0 auto;padding:0;max-width:1240px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.numeros li{border-top:1px solid rgba(242,228,204,.3);padding-top:24px}
.numeros b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(3.4rem,2rem + 4.4vw,6.6rem);line-height:1;color:var(--marfim);white-space:nowrap;font-variant-numeric:tabular-nums}
.numeros span{display:block;margin-top:14px;color:rgba(255,255,255,.86);font-size:1.05rem}
.numeros .confirmar{display:inline-block;margin-top:12px;color:#7A5A12}
.js .numeros li{opacity:0;transition:opacity 1.6s var(--ease)}
.js .numeros.in li{opacity:1}
@media (max-width:760px){.numeros ul{grid-template-columns:1fr;gap:28px}}

/* ---------- 7. Quem ja fez ---------- */
.depo{background:var(--fundo);padding:clamp(88px,11vw,140px) var(--gut);overflow:hidden}
.depo-grade{display:grid;grid-template-columns:minmax(260px,.8fr) 1.4fr;gap:clamp(32px,6vw,96px);max-width:1240px;margin-inline:auto;align-items:center}
.depo-cab h2{font-size:clamp(2.4rem,1.4rem + 3vw,4.4rem)}
.depo-cab p{margin-top:18px;color:var(--tinta-2);max-width:26em}
.depo-cab .btn{margin-top:28px}
.colunas{display:grid;grid-template-columns:1fr 1fr;gap:18px;height:min(640px,78svh);-webkit-mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(transparent,#000 12%,#000 88%,transparent)}
.coluna{overflow:hidden}
.trilha{display:flex;flex-direction:column;gap:18px}
.card-depo{margin:0;background:var(--papel);border:1px solid var(--linha);border-radius:18px;padding:24px 24px 22px}
.card-depo blockquote{margin:0;font-size:1.08rem;line-height:1.55;color:var(--tinta)}
.card-depo figcaption{margin-top:14px;display:flex;align-items:center;gap:10px;font-weight:700;color:var(--marinho);font-size:.98rem}
.card-depo figcaption span{font-weight:400;color:var(--tinta-2)}
.card-nota{background:var(--marinho);color:#fff;border-color:transparent}
.card-nota b{display:block;font-family:var(--serif);font-weight:400;font-size:4rem;line-height:1;color:var(--marfim)}
.card-nota p{margin-top:8px;color:rgba(255,255,255,.88)}
.anima .trilha{animation:sobe-col 46s linear infinite}
.anima .coluna.desce .trilha{animation-name:desce-col;animation-duration:40s}
@keyframes sobe-col{from{transform:translateY(0)}to{transform:translateY(calc(-50% - 9px))}}
@keyframes desce-col{from{transform:translateY(calc(-50% - 9px))}to{transform:translateY(0)}}
html:not(.anima) .trilha .dup{display:none}
html:not(.anima) .colunas{height:auto;-webkit-mask-image:none;mask-image:none}
@media (max-width:900px){
  .depo-grade{grid-template-columns:1fr}
  .colunas{grid-template-columns:1fr;height:min(560px,70svh)}
  .coluna.desce{display:none}
  .coluna .so-cel{display:block}
}
.coluna .so-cel{display:none}

/* ---------- 8. Duvidas (FAQ) ---------- */
.duvidas{background:var(--papel);padding:clamp(88px,11vw,140px) var(--gut) clamp(72px,8vw,110px)}
.duvidas-in{max-width:960px;margin-inline:auto}
.duvidas h2{font-size:clamp(2.4rem,1.4rem + 3vw,4.4rem)}
.duvidas .nota-faq{margin-top:16px;color:var(--tinta-2)}
.faq{margin-top:40px;border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:76px;padding:16px 0;cursor:pointer;font-weight:700;font-size:clamp(1.1rem,1rem + .35vw,1.3rem);color:var(--marinho);user-select:none}
.faq summary::-webkit-details-marker{display:none}
/* "+" e "x" desenhados em CSS, no centro exato da bolinha (regra da casa): 40 px, barras 16x2 */
.faq summary::after{content:"";flex:none;width:40px;height:40px;border-radius:50%;color:var(--marinho);
  background:linear-gradient(currentColor,currentColor) 50% 50%/16px 2px no-repeat,
             linear-gradient(currentColor,currentColor) 50% 50%/2px 16px no-repeat,var(--fundo-2);
  transition:transform .35s var(--ease),background-color .35s,color .35s}
.faq details[open] summary::after{transform:rotate(45deg);background-color:var(--vermelho);color:#fff}
.faq .resp{padding:0 56px 24px 0;color:var(--tinta-2)}
.faq .resp p+p{margin-top:10px}
.duvidas .fim{margin-top:40px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.duvidas .fim p{font-family:var(--serif);font-size:clamp(1.6rem,1.2rem + 1.2vw,2.2rem);color:var(--marinho)}
@media (max-width:600px){.faq .resp{padding-right:0}}

/* ---------- 9. Como chegar e marcar ---------- */
.chegar{background:var(--fundo);padding:clamp(72px,8vw,110px) var(--gut) clamp(88px,11vw,140px)}
.chegar-grade{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,5vw,80px);max-width:1240px;margin-inline:auto;align-items:center}
.chegar-foto{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:5/4;background:var(--fundo-2)}
.chegar-foto img{width:100%;height:100%;object-fit:cover;object-position:28% 80%}
.chegar-foto figcaption{position:absolute;left:16px;bottom:16px;padding:8px 14px;border-radius:999px;background:rgba(255,253,250,.88);font-size:.92rem;font-weight:700;color:var(--marinho)}
.chegar h2{font-size:clamp(2.3rem,1.4rem + 2.6vw,4rem)}
.dados{list-style:none;margin:28px 0 0;padding:0;display:grid;gap:18px}
.dados li{display:grid;grid-template-columns:28px 1fr;gap:14px;align-items:start}
.dados svg{width:26px;height:26px;color:var(--vermelho);margin-top:2px}
.dados strong{display:block;color:var(--marinho)}
.rotas{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.rotas .btn{min-height:56px}
.rotas .btn-linha svg{width:26px;height:26px}
@media (max-width:860px){.chegar-grade{grid-template-columns:1fr}.chegar-foto{order:-1}.rotas .btn{flex:1 1 100%}}

/* ---------- Rodape ---------- */
.rodape{background:var(--marinho);color:#DCE3F2;padding:72px var(--gut) 28px;font-size:1rem}
.rod-grade{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px;max-width:1240px;margin-inline:auto}
.rodape img.logo-rod{width:220px;height:auto}
.rodape h3{font-family:var(--sans);font-weight:700;font-size:1rem;color:#fff;margin-bottom:12px}
.rodape p{line-height:1.6}
.rodape ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.rodape a{display:inline-flex;align-items:center;gap:10px;min-height:44px;text-decoration:none;color:#DCE3F2}
@media (hover:hover){.rodape a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}}
.rodape a svg{width:22px;height:22px;flex:none}
.rodape .confirmar{font-size:.78em}
.legal{margin-top:16px;color:#B8C3DA;font-size:.95rem}
.rod-base{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px;max-width:1240px;margin:44px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);color:#AEB9D2;font-size:.92rem}
@media (max-width:860px){.rod-grade{grid-template-columns:1fr}}

/* Credito "Feito pela Pixel Lever" (regra da casa; padrao copiado da Lavaqui, 30/10/2026) */
.pl-credito{display:inline-block;line-height:44px;min-height:44px;padding:0 .25em;color:inherit;text-decoration:none;font-size:max(14px,.875rem);white-space:nowrap;-webkit-tap-highlight-color:transparent;transition:opacity .25s}
.pl-credito:hover{opacity:.78}
.pl-credito:focus:not(:focus-visible){outline:none}
.pl-credito:focus-visible{outline:2px solid currentColor;outline-offset:3px;border-radius:4px}
.pl-credito-nome{font-size:0}
.rodape .pl-credito .pl-credito-marca{display:inline-block;height:.82em;width:6.56em;max-width:none;margin-left:.42em;vertical-align:baseline;overflow:visible}

/* ---------- barra fixa do celular ---------- */
.barra-cel{display:none}
@media (max-width:760px){
  .barra-cel{position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:55;display:grid;grid-template-columns:1fr;transform:translateY(170%);transition:transform .5s var(--ease)}
  .barra-cel.on{transform:none}
  .barra-cel .btn{min-height:58px;box-shadow:0 16px 34px -14px rgba(14,28,70,.6)}
  .rodape{padding-bottom:calc(110px + env(safe-area-inset-bottom,0px))}
}

@media (pointer:coarse){.btn,.nav-links a{min-height:48px}}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .js .hero .ent,.js .equipe .seq,.js .numeros li{opacity:1;transform:none;filter:none}
}

/* secao que vem depois de uma secao presa (pin) nao invade a de cima: sem margem negativa,
   senao a borda dela aparece embaixo da tela enquanto a anterior esta presa */
.caminho.sobe,.tratamentos.sobe{margin-top:0}
