/* ===== Tokens ===== */
:root{
  --porcelana:#FCFBF8;
  --nevoa:#F3F0EA;
  --madeira:#4B3424;
  --madeira-escura:#2A1D14;
  --dourado:#A8864F;
  --dourado-texto:#86683A;
  --ouro-claro:#D8BF8E;
  --tinta:#2E241C;
  --tinta-suave:#6A5D52;
  --linha:rgba(75,52,36,.18);

  --f-display:"Gilda Display",Georgia,serif;
  --f-corpo:"Hanken Grotesk",system-ui,sans-serif;

  --gutter:clamp(20px,5vw,72px);
  --maxw:1200px;

  /* textura de veio vertical, usada nas áreas de madeira */
  --veio:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9 0.025' numOctaves='3' seed='4'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='300' height='300' filter='url(%23n)'/></svg>");
  --ruido:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' seed='9'/><feColorMatrix values='0 0 0 0 0.35  0 0 0 0 0.2  0 0 0 0 0.15  0 0 0 .5 0'/></filter><rect width='200' height='200' filter='url(%23n)'/></svg>");
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:80px}
body{margin:0;background:var(--porcelana);color:var(--tinta);font-family:var(--f-corpo);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,blockquote,figure,dl,dd{margin:0}
a{color:inherit}
:focus-visible{outline:2px solid var(--dourado);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.wrap{width:100%;max-width:calc(var(--maxw) + var(--gutter)*2);margin-inline:auto;padding-inline:var(--gutter)}
.secao{padding-block:clamp(44px,5.5vw,76px)}
.titulo{font-family:var(--f-display);font-weight:400;font-size:clamp(2rem,4.2vw,3.4rem);line-height:1.12;letter-spacing:-.005em;color:var(--madeira);text-wrap:balance}
.lead{max-width:56ch;color:var(--tinta-suave)}
p,blockquote,dd,.detalhe{text-wrap:pretty}
h1,h3,legend{text-wrap:balance}

/* ===== Botões ===== */
.btn{display:inline-flex;align-items:center;gap:.6em;padding:.95em 1.6em;font:500 1rem/1 var(--f-corpo);text-decoration:none;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .15s}
.btn svg{width:1.15em;height:1.15em;fill:currentColor}
.btn-madeira{background:var(--madeira);color:var(--porcelana)}
.btn-madeira:hover{background:var(--madeira-escura)}
.btn-ouro{background:var(--ouro-claro);color:var(--madeira-escura)}
.btn-ouro:hover{background:#e6d2a8}
.btn-linha{border-color:var(--linha);color:var(--madeira)}
.btn-linha:hover{border-color:var(--dourado)}
.link-ouro{color:var(--dourado-texto);text-underline-offset:4px;text-decoration-thickness:1px}

/* ===== Cabeçalho ===== */
.topo{position:sticky;top:14px;z-index:20;margin-top:14px;padding-inline:var(--gutter);pointer-events:none}
.topo .wrap{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;max-width:1080px;height:64px;padding:0 9px 0 30px;border-radius:999px;background:rgba(252,251,248,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(168,134,79,.45);box-shadow:0 16px 32px -20px rgba(42,29,20,.45)}
.marca{font-family:var(--f-display);font-size:1.4rem;color:var(--madeira);text-decoration:none;letter-spacing:.01em;white-space:nowrap}
.marca small{display:block;font:500 .7rem/1 var(--f-corpo);letter-spacing:.02em;color:var(--dourado-texto);margin-top:2px}
.nav{display:flex;gap:2px}
.nav a{text-decoration:none;font-size:.93rem;color:var(--tinta-suave);padding:.5em .85em;border-radius:999px;transition:background .2s,color .2s;white-space:nowrap}
.nav a:hover{color:var(--madeira);background:var(--nevoa)}
.topo .btn{padding:.8em 1.3em;font-size:.92rem;white-space:nowrap}
@media(max-width:1060px){.nav a{padding:.5em .6em;font-size:.88rem}}

/* Menu redondo do celular */
.menu-btn,.menu-tela{display:none}
@media(max-width:900px){
  .topo{position:relative;margin-top:0;padding-inline:0;pointer-events:auto}
  .topo .wrap{max-width:none;height:76px;padding:0 var(--gutter);border-radius:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border:0;box-shadow:none}
  .nav,.topo .btn{display:none}
  html{scroll-padding-top:16px}
  .menu-btn{display:grid;place-content:center;gap:6px;width:48px;height:48px;padding:0;border-radius:50%;background:var(--madeira);border:1px solid var(--ouro-claro);cursor:pointer}
  .menu-btn i{display:block;width:20px;height:1.5px;background:var(--ouro-claro);transition:transform .3s}
  .menu-fechar{position:absolute;top:28px;right:var(--gutter)}
  .menu-fechar i:first-child{transform:translateY(3.75px) rotate(45deg)}
  .menu-fechar i:last-child{transform:translateY(-3.75px) rotate(-45deg)}
  .menu-tela{display:flex;flex-direction:column;justify-content:center;gap:clamp(24px,5vh,44px);position:fixed;inset:0;z-index:60;padding:90px var(--gutter) 36px;overflow-y:auto;background:var(--madeira-escura);color:var(--porcelana);visibility:hidden;clip-path:circle(0 at calc(100% - var(--gutter) - 24px) 52px);transition:clip-path .7s cubic-bezier(.7,0,.2,1),visibility 0s .7s}
  .menu-tela::before{content:"";position:absolute;inset:0;background:var(--veio);opacity:.16;mix-blend-mode:screen;pointer-events:none}
  .menu-tela>*{position:relative}
  .menu-tela>.menu-fechar{position:absolute;top:28px;right:var(--gutter)}
  .menu-tela.aberto{visibility:visible;clip-path:circle(150% at calc(100% - var(--gutter) - 24px) 52px);transition:clip-path .8s cubic-bezier(.7,0,.2,1),visibility 0s}
  .menu-tela nav{display:grid}
  .menu-tela nav a{font:400 clamp(1.7rem,7.5vw,2.3rem)/1.2 var(--f-display);color:var(--porcelana);text-decoration:none;padding:.32em 0;border-bottom:1px solid rgba(216,191,142,.22);opacity:0;transform:translateY(14px);transition:opacity .5s,transform .5s,color .2s}
  .menu-tela nav a:hover{color:var(--ouro-claro)}
  .menu-tela.aberto nav a{opacity:1;transform:none;transition-delay:calc(.28s + var(--n)*60ms),calc(.28s + var(--n)*60ms),0s}
  .menu-base{display:flex;align-items:center;gap:12px}
  .menu-zap{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:1px solid var(--ouro-claro);color:var(--ouro-claro)}
  .menu-zap svg{width:26px;height:26px;fill:currentColor}
  .menu-end{font-size:.9rem;color:rgba(252,251,248,.66)}
}
@media(max-width:900px) and (prefers-reduced-motion:reduce){.menu-tela,.menu-tela.aberto{transition:none}.menu-tela nav a{opacity:1;transform:none;transition:none}}

/* ===== Hero ===== */
.hero{padding-block:clamp(28px,4vw,56px) clamp(44px,6vw,80px);text-align:center}
.hero .wrap{display:grid;grid-template-columns:1fr;justify-items:center;gap:clamp(32px,6vw,96px);align-items:center}
.hero h1{font-family:var(--f-display);font-weight:400;font-size:clamp(2.4rem,5.2vw,4.3rem);line-height:1.04;letter-spacing:-.01em;color:var(--madeira);max-width:16ch;margin-inline:auto}
.hero .lead{margin-top:20px;font-size:1.15rem;max-width:56ch;margin-inline:auto}
.hero .acoes{margin-top:28px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center}
.hero .assinatura{margin-top:32px;padding-top:16px;border-top:1px solid var(--linha);max-width:44ch;font-size:.95rem;color:var(--tinta-suave)}

.painel{position:relative;justify-self:end;width:min(100%,380px);aspect-ratio:3/3.9}
.painel::before{content:"";position:absolute;inset:-14px -14px 14px 14px;border:1px solid var(--dourado);border-radius:999px 999px 0 0;translate:calc(var(--mx,0)*-8px) calc(var(--my,0)*-6px);transition:translate .5s ease-out}
.anel{position:absolute;border:1px solid var(--dourado);border-bottom:0;border-radius:999px 999px 0 0;pointer-events:none;transform-origin:50% 100%;opacity:0;animation:anel 1.8s cubic-bezier(.2,.8,.2,1) both;translate:calc(var(--mx,0)*6px) calc(var(--my,0)*4px);transition:translate .6s ease-out}
.anel.a{inset:-38px -38px 0;--o:.45;animation-delay:1.1s}
.anel.b{inset:-76px -76px 0;--o:.22;animation-delay:1.35s}
@keyframes anel{from{opacity:0;transform:scale(.86)}to{opacity:var(--o);transform:none}}
/* Ripas com frestas: a luz da alvorada passa por elas. O estado final é o padrão, então sem animação a luz já aparece. */
.ripado{position:absolute;inset:0;display:flex;gap:clamp(3px,.5vw,6px);overflow:hidden;border-radius:999px 999px 0 0;background:linear-gradient(#f6e8c4 0%,#e2b66d 42%,#b4743a 72%,#3a2718 100%) 0 0/100% 165%;box-shadow:0 30px 60px -30px rgba(42,29,20,.55);animation:alvorecer 2.6s cubic-bezier(.3,.6,.2,1) .7s both;translate:calc(var(--mx,0)*10px) calc(var(--my,0)*8px);transition:translate .5s ease-out}
.ripado i{flex:1;transform-origin:bottom;background:linear-gradient(90deg,#3a2718 0%,#7a5538 28%,#8a6342 48%,#6a4a31 78%,#2d1e13 100%);animation:erguer 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*55ms + 150ms)}
.ripado::after{content:"";position:absolute;inset:0;background:var(--veio);mix-blend-mode:multiply;opacity:.55;pointer-events:none}
.ripado::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(120% 70% at 50% 0%,rgba(216,191,142,.45),transparent 60%)}
.brilho{position:absolute;inset:0;z-index:2;border-radius:999px 999px 0 0;overflow:hidden;pointer-events:none;translate:calc(var(--mx,0)*10px) calc(var(--my,0)*8px);transition:translate .5s ease-out}
.brilho::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,240,205,.38),transparent);animation:varre 9s ease-in-out 3.6s infinite}
@keyframes varre{0%{left:-60%}22%,100%{left:130%}}
.selo{position:absolute;z-index:3;left:-56px;bottom:9%;width:112px;height:112px;filter:drop-shadow(0 12px 18px rgba(42,29,20,.25));opacity:0;animation:selo 1s cubic-bezier(.2,.8,.2,1) 1.9s both;translate:calc(var(--mx,0)*-12px) calc(var(--my,0)*-8px);transition:translate .5s ease-out}
.selo-giro{transform-box:fill-box;transform-origin:center;animation:gira 40s linear infinite}
@keyframes selo{from{opacity:0;transform:scale(.7) rotate(-20deg)}to{opacity:1;transform:none}}
@keyframes gira{to{transform:rotate(360deg)}}
@keyframes erguer{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes alvorecer{from{background-position:0 100%}to{background-position:0 0}}
/* Entrada do hero: o título sobe palavra por palavra, o resto vem depois */
.hero{position:relative;isolation:isolate;overflow-x:clip}
.hero::before{content:"";position:absolute;z-index:-1;pointer-events:none;top:-15%;right:-12%;width:75%;height:130%;background:radial-gradient(closest-side,rgba(226,182,109,.34),rgba(226,182,109,.1) 58%,transparent);animation:brilha 3.4s ease-out .5s both}
@keyframes brilha{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.pal{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.pal>span{display:inline-block;transform:translateY(112%);animation:sobe 1s cubic-bezier(.2,.8,.2,1) forwards;animation-delay:calc(.3s + var(--w)*90ms)}
@keyframes sobe{to{transform:none}}
@keyframes so-fade{from{opacity:0}to{opacity:var(--o,1)}}
.ent{animation:ent 1s cubic-bezier(.2,.8,.2,1) both;animation-delay:var(--d,0s)}
@keyframes ent{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media(max-width:860px){
  .hero .wrap{grid-template-columns:1fr}
  .painel{justify-self:start;width:min(80%,320px);margin:36px 0 0 36px}
  .selo{left:auto;right:-30px;width:92px;height:92px}
  .anel.b{display:none}
}

/* ===== Serviços ===== */
.servicos .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px)}
.servicos .cab{position:sticky;top:110px;align-self:start}
.servicos .cab .lead{margin-top:20px}
.lista{border-top:1px solid var(--linha)}
.lista details{border-bottom:1px solid var(--linha)}
.lista summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:18px 0}
.lista summary::-webkit-details-marker{display:none}
.lista summary span:first-child{font-family:var(--f-display);font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--madeira);transition:color .2s}
.lista summary:hover span:first-child{color:var(--dourado-texto)}
.lista summary .para{font-size:.9rem;color:var(--tinta-suave);text-align:right}
.lista summary::after{content:"+";font:300 1.8rem/1 var(--f-corpo);color:var(--dourado);transition:transform .25s;flex:none}
.lista details[open] summary::after{transform:rotate(45deg)}
.lista .detalhe{padding:0 0 20px;max-width:54ch;color:var(--tinta-suave)}
.lista .detalhe p+p{margin-top:12px}
.lista .detalhe a{display:inline-block;margin-top:18px}
@media(max-width:860px){
  .servicos .wrap{grid-template-columns:1fr}
  .servicos .cab{position:static}
  .lista summary{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:center}
  .lista summary .para{grid-column:1;grid-row:2;text-align:left}
  .lista summary::after{grid-column:2;grid-row:1 / span 2}
}

/* ===== História ===== */
.historia{background:var(--nevoa)}
.historia .wrap{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start}
.historia .texto{margin-top:20px;display:grid;gap:14px;max-width:58ch;color:var(--tinta-suave)}
.tempo{margin:0;padding:0;list-style:none;border-left:1px solid var(--dourado)}
.tempo li{position:relative;padding:0 0 20px 28px}
.tempo li:last-child{padding-bottom:0}
.tempo li::before{content:"";position:absolute;left:-5px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--porcelana);border:1px solid var(--dourado)}
.tempo b{display:block;font:400 1.6rem/1.2 var(--f-display);color:var(--madeira)}
.tempo span{font-size:.97rem;color:var(--tinta-suave)}
@media(max-width:860px){.historia .wrap{grid-template-columns:1fr}}

/* ===== Doutoras ===== */
.dras .cab{max-width:60ch}
.dras .lista-dras{margin-top:clamp(28px,4vw,44px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(32px,6vw,96px)}
.dra{display:grid;grid-template-columns:minmax(0,140px) 1fr;gap:22px;align-items:end}
.retrato{position:relative;aspect-ratio:3/4;border-radius:999px 999px 0 0;overflow:hidden;background:linear-gradient(170deg,#e9dfd0,#cdb995)}
.retrato::after{content:"Foto da doutora";position:absolute;left:0;right:0;bottom:14px;text-align:center;font-size:.8rem;color:var(--madeira);opacity:.7}
.retrato.com-foto::after{content:none}
.retrato img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 25%}
.retrato svg{position:absolute;inset:18% 0 0;margin:auto;width:70%;fill:rgba(75,52,36,.22)}
.dra h3{font:400 1.6rem/1.2 var(--f-display);color:var(--madeira)}
.dra .esp{margin-top:6px;color:var(--dourado-texto);font-weight:500;font-size:.95rem}
.dra p{margin-top:14px;color:var(--tinta-suave);font-size:.98rem}
.dra .reg{margin-top:14px;font-size:.85rem;color:var(--tinta-suave)}
@media(max-width:900px){.dras .lista-dras{grid-template-columns:1fr}}
@media(max-width:480px){.dra{grid-template-columns:1fr}.retrato{max-width:200px}}

/* ===== Especialista em remoção (Marcella) ===== */
.especialista-remocao{background:var(--creme-esc,#f3ead9)}
.card-remocao{display:flex;align-items:center;gap:clamp(24px,4vw,40px);max-width:620px;margin:clamp(28px,4vw,44px) auto 0;padding:clamp(22px,3vw,32px);background:#fff;border-radius:18px;box-shadow:0 20px 44px -28px rgba(75,52,36,.45)}
.card-remocao .retrato{flex:0 0 160px;width:160px;max-width:160px;margin:0;border-radius:999px}
.card-remocao .retrato::after{content:none}
.card-remocao-texto h3{font:400 1.6rem/1.2 var(--f-display);color:var(--madeira)}
.card-remocao-texto .esp{margin-top:6px;color:var(--dourado-texto);font-weight:500;font-size:.95rem}
.card-remocao-texto p{margin-top:14px;color:var(--tinta-suave);font-size:.98rem}
.remocao-servico{max-width:62ch;margin:clamp(32px,5vw,48px) auto 0;text-align:center;padding-top:clamp(28px,4vw,40px);border-top:1px solid rgba(75,52,36,.15)}
.remocao-servico h3{font:400 1.3rem/1.2 var(--f-display);color:var(--madeira)}
.remocao-servico p{margin-top:12px;color:var(--tinta-suave);font-size:.98rem}
.remocao-servico .btn{margin-top:20px;display:inline-block}
@media(max-width:560px){.card-remocao{flex-direction:column;text-align:center;gap:18px}.card-remocao .retrato{margin-inline:auto}}

/* ===== Resultados ===== */
.resultados{background:var(--madeira-escura);color:var(--porcelana);position:relative;overflow:hidden}
.resultados::before{content:"";position:absolute;inset:0;background:var(--veio);opacity:.18;mix-blend-mode:screen;pointer-events:none}
.resultados .wrap{position:relative}
.resultados .titulo{color:var(--porcelana)}
.resultados .lead{color:rgba(252,251,248,.72);margin-top:20px}
.res-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:clamp(32px,7vw,104px);align-items:center}
.res-caso{margin-top:clamp(28px,4vw,48px);padding-top:20px;border-top:1px solid rgba(216,191,142,.3);font-size:.95rem;color:rgba(252,251,248,.7)}
.res-caso strong{display:block;font:400 1.5rem/1.2 var(--f-display);color:var(--ouro-claro);margin-bottom:2px}
.res-nota{margin-top:20px;font-size:.85rem;color:rgba(252,251,248,.62);max-width:52ch}
/* A foto traz antes e depois na mesma imagem; as variáveis recortam cada metade. */
.comparador{--pos:50%;position:relative;width:100%;aspect-ratio:404/600;border-radius:6px;overflow:hidden;background:#000;touch-action:pan-y;user-select:none}
.comparador[data-caso="laser"]{--img:url("../img/resultado-laser.webp");--tam:205% auto;--ap:0 0;--dp:100% 0}
.camada{position:absolute;inset:0}
.camada.antes{background:var(--img) var(--ap)/var(--tam) no-repeat #000}
.camada.depois{clip-path:inset(0 0 0 var(--pos));background:var(--img) var(--dp)/var(--tam) no-repeat #000}
.camada .rotulo{position:absolute;top:16px;padding:.3em .8em;border-radius:999px;font-size:.82rem;font-weight:500;background:rgba(42,29,20,.7);color:var(--porcelana)}
.camada.antes .rotulo{left:16px}
.camada.depois .rotulo{right:16px;background:var(--ouro-claro);color:var(--madeira-escura)}
.alca{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;background:var(--ouro-claro);transform:translateX(-1px);pointer-events:none}
.alca::after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:50%;transform:translate(-50%,-50%);background:var(--madeira-escura) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D8BF8E' stroke-width='1.6'><path d='M9 7l-5 5 5 5M15 7l5 5-5 5'/></svg>") center/24px no-repeat;border:1px solid var(--ouro-claro)}
.comparador input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.comparador:has(input:focus-visible){outline:2px solid var(--ouro-claro);outline-offset:3px}

/* ===== Avaliações ===== */
.avals .titulo{max-width:20ch}
.avals .grade{margin-top:clamp(28px,4vw,44px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.aval{padding:4px clamp(20px,3vw,40px);border-left:1px solid var(--linha)}
.aval:first-child{padding-left:0;border-left:0}
.aval:last-child{padding-right:0}
.aval blockquote{font-family:var(--f-display);font-size:clamp(1.2rem,1.7vw,1.45rem);line-height:1.4;color:var(--madeira)}
.aval:nth-child(2){margin-top:0}
.aval footer{margin-top:20px;font-size:.92rem;color:var(--tinta-suave)}
.aval footer b{display:block;color:var(--tinta);font-weight:500}
.avals .rodape{margin-top:28px;font-size:.92rem;color:var(--tinta-suave)}
@media(max-width:860px){
  .avals .grade{grid-template-columns:1fr;gap:36px}
  .aval,.aval:first-child,.aval:last-child{padding:0 0 0 20px;border-left:1px solid var(--dourado)}
  .aval:nth-child(2){margin-top:0}
}

/* ===== Localização ===== */
.local{background:var(--nevoa)}
.local .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:stretch}
.local dl{margin-top:22px;display:grid;gap:14px}
.local dt{font-weight:600;color:var(--madeira);font-size:.95rem}
.local dd{color:var(--tinta-suave)}
.local .btn{margin-top:24px}
.mapa{min-height:340px;border-radius:999px 999px 0 0;overflow:hidden;border:1px solid var(--dourado);padding:8px}
.mapa iframe{width:100%;height:100%;min-height:320px;border:0;border-radius:999px 999px 0 0;filter:saturate(.7) sepia(.15)}
@media(max-width:860px){.local .wrap{grid-template-columns:1fr}.mapa{border-radius:24px}.mapa iframe{border-radius:18px}}

/* ===== Formulário / contato ===== */
.contato{background:var(--madeira-escura);color:var(--porcelana);position:relative;overflow:hidden}
.contato::before{content:"";position:absolute;inset:0;background:var(--veio);opacity:.16;mix-blend-mode:screen;pointer-events:none}
.contato .wrap{position:relative;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px,6vw,96px);align-items:start}
.contato .titulo{color:var(--porcelana)}
.contato .lead{margin-top:20px;color:rgba(252,251,248,.75)}
.contato .direto{margin-top:22px;font-size:.95rem;color:rgba(252,251,248,.7)}
.contato .direto a{color:var(--ouro-claro)}

.assistente{background:var(--porcelana);color:var(--tinta);border-radius:6px;padding:clamp(24px,4vw,44px);min-height:360px;display:flex;flex-direction:column}
.progresso{display:flex;gap:6px;margin-bottom:20px}
.progresso span{flex:1;height:3px;border-radius:2px;background:var(--linha);transition:background .3s}
.progresso span.on{background:var(--dourado)}
.etapa{display:none;flex:1;flex-direction:column;border:0;padding:0;margin:0;min-width:0}
.etapa.ativa{display:flex;animation:entra .35s ease both}
@keyframes entra{from{opacity:0;transform:translateX(14px)}to{opacity:1;transform:none}}
.etapa legend{font:400 clamp(1.4rem,2.4vw,1.8rem)/1.25 var(--f-display);color:var(--madeira);padding:0;margin-bottom:6px}
.etapa .dica{font-size:.92rem;color:var(--tinta-suave);margin-bottom:22px}
.opcoes{display:flex;flex-wrap:wrap;gap:10px}
.opcoes label{position:relative}
.opcoes input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opcoes span{display:inline-block;padding:.7em 1.2em;border:1px solid var(--linha);border-radius:999px;font-size:.98rem;color:var(--madeira);transition:all .18s}
.opcoes label:hover span{border-color:var(--dourado)}
.opcoes input:checked+span{background:var(--madeira);border-color:var(--madeira);color:var(--porcelana)}
.opcoes input:focus-visible+span{outline:2px solid var(--dourado);outline-offset:3px}
.campo{display:grid;gap:6px;margin-bottom:20px}
.campo label{font-size:.9rem;font-weight:500;color:var(--madeira)}
.campo input[type=text]{font:inherit;padding:.8em 0;border:0;border-bottom:1px solid var(--tinta-suave);background:transparent;border-radius:0;color:var(--tinta)}
.campo input[type=text]:focus{outline:0;border-bottom-color:var(--dourado);box-shadow:0 1px 0 var(--dourado)}
.erro{min-height:1.4em;margin-top:8px;font-size:.9rem;color:#9a3a2a}
.resumo{padding:18px 20px;background:var(--nevoa);border-left:2px solid var(--dourado);font-size:.98rem;color:var(--tinta-suave)}
.resumo b{color:var(--madeira);font-weight:600}
.nav-form{margin-top:auto;padding-top:18px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.voltar{background:none;border:0;font:inherit;font-size:.95rem;color:var(--tinta-suave);cursor:pointer;padding:.5em 0;text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.voltar[hidden]{display:block;visibility:hidden}
.nav-form .btn{margin-left:auto}
@media(max-width:860px){.contato .wrap{grid-template-columns:1fr}}

/* ===== Rodapé e WhatsApp flutuante ===== */
.rodape-site{padding-block:28px;border-top:1px solid var(--linha);font-size:.9rem;color:var(--tinta-suave)}
.rodape-site .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 32px}
.flutuante{position:fixed;right:20px;bottom:20px;z-index:30;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--madeira);color:var(--ouro-claro);border:1px solid var(--ouro-claro);box-shadow:0 10px 24px -8px rgba(42,29,20,.6);transition:transform .2s}
.flutuante:hover{transform:scale(1.06)}
.flutuante svg{width:28px;height:28px;fill:currentColor}

@media(prefers-reduced-motion:reduce){
  /* Sem deslocar, girar ou escalar nada, mas a entrada do hero continua como um fade suave */
  .ripado i,.etapa.ativa,.selo-giro,.brilho::after{animation:none}
  .ent,.pal>span,.selo,.anel,.hero::before{animation-name:so-fade}
  .pal>span{transform:none}
  .ent,.pal>span,.selo,.anel,.hero::before{animation-duration:1.2s}
  .hero .painel *,.painel,.ripado{translate:none!important}
  .menu-tela nav a{transition-duration:.01s}
  .btn,.nav a,.lista summary span,.opcoes span,.progresso span{transition:none}
}

@media(max-width:860px){.res-grade{grid-template-columns:1fr}.comparador{max-width:400px}}

/* ===== Dúvidas ===== */
.faq{border-top:1px solid var(--linha)}


/* ===== Tratamentos: lista de nomes + painel que troca ===== */
.trat .wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"cab lista" "palco lista";column-gap:clamp(32px,6vw,96px);row-gap:clamp(24px,3vw,36px);align-items:start}
.trat .cab{grid-area:cab}
.trat .cab .lead{margin-top:16px}
.trat-lista{grid-area:lista;position:relative;display:grid;border-top:1px solid var(--linha)}
.trat-lista button{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;padding:20px 0;border-bottom:1px solid var(--linha);font:400 clamp(1.4rem,2.3vw,1.95rem)/1.2 var(--f-display);color:rgba(46,36,28,.4);transition:color .3s}
.trat-lista button::before{content:"";flex:none;width:0;height:1px;margin-right:0;background:var(--dourado);transition:width .45s cubic-bezier(.2,.8,.2,1),margin .45s cubic-bezier(.2,.8,.2,1)}
.trat-lista button:hover{color:var(--madeira)}
.trat-lista button[aria-selected="true"]{color:var(--madeira)}
.trat-lista button[aria-selected="true"]::before{width:44px;margin-right:18px}
.trat-lista button:focus-visible{outline:2px solid var(--dourado);outline-offset:3px;border-radius:2px}
.trat-palco{grid-area:palco;display:grid;padding-top:22px;border-top:1px solid var(--dourado);max-width:44ch}
.painel-t{grid-area:1/1;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .4s,transform .4s,visibility 0s .4s}
.painel-t.on{opacity:1;visibility:visible;transform:none;transition-delay:.12s,.12s,0s}
.painel-t .tag{color:var(--dourado-texto);font-weight:500;font-size:.95rem}
.painel-t p+p{margin-top:10px;color:var(--tinta-suave)}
.painel-t a{display:inline-block;margin-top:16px}
@media(max-width:860px){
  .trat .wrap{grid-template-columns:1fr;grid-template-areas:"cab" "lista" "palco";row-gap:20px}
  .trat-lista{display:grid;grid-template-columns:1fr 1fr;gap:8px;border-top:0}
  .trat-lista button{justify-content:center;text-align:center;padding:.85em .8em;border:1px solid var(--linha);border-radius:16px;font:500 .93rem/1.25 var(--f-corpo);color:var(--madeira);transition:background .25s,color .25s,border-color .25s,transform .15s}
  .trat-lista button::before{display:none}
  .trat-lista button[aria-selected="true"]{background:var(--madeira);border-color:var(--madeira);color:var(--porcelana)}
  .trat-palco{padding-top:18px}
  .painel-t .mais{display:none}
}
@media(prefers-reduced-motion:reduce){.painel-t{transform:none}}

/* ===== Animações de rolagem e toque ===== */
.rev{opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:var(--d,0s)}
.rev.vi{opacity:1;transform:none}
.btn:active,.trat-lista button:active,.opcoes label:active span{transform:scale(.96)}
.opcoes span{transition:all .18s,transform .15s}
@keyframes destaque{0%{box-shadow:0 0 0 0 rgba(216,191,142,0)}30%{box-shadow:0 0 0 7px rgba(216,191,142,.6)}100%{box-shadow:0 0 0 0 rgba(216,191,142,0)}}
@keyframes pop{40%{transform:scale(1.1)}}
.assistente.destaque{animation:destaque 1.5s ease-out}
.assistente.destaque .opcoes input:checked+span{animation:pop .6s .25s}
@media(prefers-reduced-motion:reduce){
  .rev{transform:none;transition-duration:.6s}
  .btn:active,.trat-lista button:active,.opcoes label:active span{transform:none}
  .assistente.destaque .opcoes input:checked+span{animation:none}
}

/* ===== Confirmação do formulário ===== */
.enviado{display:grid;justify-items:start;gap:12px;align-content:center;flex:1;animation:entra .5s ease both}
.enviado[hidden]{display:none}
.ok-selo{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--madeira);color:var(--ouro-claro)}
.ok-selo svg{width:28px;height:28px}
.enviado h3{font:400 clamp(1.5rem,2.6vw,1.9rem)/1.2 var(--f-display);color:var(--madeira);margin:0}
.enviado h3:focus{outline:0}
.enviado p{color:var(--tinta-suave)}
.enviado-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;margin-top:8px}
.assistente.fim .etapa,.assistente.fim .etapa.ativa,.assistente.fim .progresso,.assistente.fim .nav-form{display:none}
.nav-form .voltar+.voltar{margin-left:18px}

/* ===== Hero no celular: mais curto ===== */
@media(max-width:860px){
  .hero{padding-block:22px 44px}
  .hero h1{font-size:clamp(2.2rem,10.5vw,3rem)}
  .hero .lead{margin-top:14px;font-size:1.02rem}
  .hero .acoes{margin-top:22px;flex-wrap:nowrap;gap:10px}
  .hero .acoes .btn{flex:1 1 0;justify-content:center;padding:.95em .6em;font-size:.95rem;white-space:nowrap}
  .hero .assinatura{display:none}
  .painel{margin-top:44px}
}

/* ===== Menu do celular: traço dourado em cada link ===== */
@media(max-width:900px){
  .menu-tela nav a{position:relative;display:flex;align-items:center;border-bottom:0}
  .menu-tela nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(216,191,142,.22);transform-origin:left;transform:scaleX(0);transition:transform .7s cubic-bezier(.2,.8,.2,1)}
  .menu-tela.aberto nav a::after{transform:none;transition-delay:calc(.3s + var(--n)*60ms)}
  .menu-tela nav a::before{content:"";flex:none;width:0;height:1px;margin-right:0;background:var(--ouro-claro);transition:width .35s cubic-bezier(.2,.8,.2,1),margin .35s cubic-bezier(.2,.8,.2,1)}
  .menu-tela nav a:hover::before,.menu-tela nav a:active::before,.menu-tela nav a:focus-visible::before{width:30px;margin-right:14px}
  .menu-tela nav a:hover,.menu-tela nav a:active{color:var(--ouro-claro)}
}

@media(min-width:561px) and (max-width:860px){
  .painel{justify-self:center;margin:44px 0 0;width:min(70%,360px)}
  .hero .lead{max-width:46ch}
}

/* ===== Dúvidas: versão compacta ===== */
.secao.faq{padding-block:clamp(36px,4.5vw,56px)}
.faq .titulo{font-size:clamp(1.7rem,3vw,2.3rem)}
.faq .cab .lead{margin-top:10px;font-size:.95rem}
.faq .lista summary{padding:14px 0}
.faq .lista summary span:first-child{font-size:1.12rem}
.faq .lista summary::after{font-size:1.5rem}
.faq .lista .detalhe{padding-bottom:14px;font-size:.95rem;max-width:48ch}

/* ===== Depoimentos e história: versão enxuta ===== */
.ler-mais,.aval-pontos{display:none}
@media(max-width:860px){
  .historia .titulo,.avals .titulo{font-size:clamp(1.7rem,7vw,2.1rem)}
  .historia .wrap{gap:26px}
  .historia .texto{margin-top:14px;font-size:1rem}
  .historia .resto{display:none}
  .historia .resto.aberto{display:grid;gap:14px;animation:entra .4s ease both}
  .ler-mais{display:inline-block;margin-top:10px;padding:0;background:none;border:0;font:inherit;font-weight:500;color:var(--dourado-texto);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;cursor:pointer}
  .historia .tempo{border-left:0;display:grid;grid-template-columns:1fr 1fr;gap:20px 18px}
  .tempo li,.tempo li:last-child{padding:14px 0 0;border-top:1px solid var(--dourado)}
  .tempo li::before{left:0;top:-5px}
  .tempo b{font-size:1.35rem}
  .tempo span{display:block;margin-top:2px;font-size:.88rem;line-height:1.45}

  .avals .grade{display:grid;gap:0;margin-top:18px}
  .avals .grade .aval{grid-area:1/1;margin:0;padding:0;border:0;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s,transform .45s,visibility 0s .45s}
  .avals .grade .aval.on{opacity:1;visibility:visible;transform:none;transition-delay:.12s,.12s,0s}
  .aval blockquote{font-size:1.22rem;line-height:1.4}
  .aval footer{margin-top:14px}
  .aval-pontos{display:flex;gap:8px;margin-top:18px}
  .aval-pontos button{all:unset;box-sizing:border-box;position:relative;flex:1;height:24px;cursor:pointer}
  .aval-pontos button::before,.aval-pontos button::after{content:"";position:absolute;left:0;top:50%;height:2px;margin-top:-1px}
  .aval-pontos button::before{width:100%;background:var(--linha)}
  .aval-pontos button::after{width:0;background:var(--dourado)}
  .aval-pontos button.on::after{width:100%;transition:width 7s linear}
  .aval-pontos button:focus-visible{outline:2px solid var(--dourado);outline-offset:2px}
  .avals .rodape{margin-top:14px;font-size:.8rem}
}
@media(max-width:860px) and (prefers-reduced-motion:reduce){.aval-pontos button.on::after{transition:none}.avals .grade .aval{transform:none}}

/* Assinaturas dos depoimentos alinhadas na base */
.aval{display:flex;flex-direction:column}
.aval footer{margin-top:auto;padding-top:20px}

/* ===== Nideck: diferenciais do hero, CTA de resultados, fechamento claro ===== */
.hero h1{max-width:16ch}
.difs{list-style:none;margin:32px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 0;max-width:52ch}
.difs li{padding:2px 20px;border-left:1px solid var(--dourado);font-size:.95rem;font-weight:500;color:var(--madeira);line-height:1.35}
.difs li:first-child{padding-left:0;border-left:0}
@media(max-width:860px){.difs{margin-top:24px}.difs li{padding:2px 14px;font-size:.88rem}}
.dras .cab .lead{margin-top:16px}
.res-cta{margin-top:24px}
.rodape-site a{color:var(--madeira)}
.local dd a{color:var(--madeira)}
/* Fechamento em bege claro: o bloco escuro fica só nos resultados */
.contato{background:#EBE1D1;color:var(--tinta)}
.contato::before{display:none}
.contato .titulo{color:var(--madeira)}
.contato .lead{color:var(--tinta-suave)}
.contato .direto{color:var(--tinta-suave)}
.contato .direto a{color:var(--dourado-texto)}
