@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-500-normal.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant Garamond";src:url("fonts/cormorant-garamond-latin-500-italic.woff2") format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Figtree";src:url("fonts/figtree-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Figtree";src:url("fonts/figtree-latin-600-normal.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}

:root{
  --salvia:#B4BEA6;
  --salvia-clara:#D5DBCB;
  --mata:#232D1E;
  --mata-suave:#3D4936;
  --marfim:#F6F2E7;
  --teto:#FBF8F0;
  --ouro:#8C6A1F;
  --ouro-claro:#D9B866;
  --cadeira:#2C3857;
  --titulo:"Cormorant Garamond",Georgia,"Times New Roman",serif;
  --texto:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --largura:72rem;
  --borda:1px solid rgba(35,45,30,.22);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;font-family:var(--texto);font-size:1.0625rem;line-height:1.6;color:var(--mata);background:var(--marfim);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,ul,ol,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:inherit}
img,svg{display:block}
:focus-visible{outline:3px solid var(--cadeira);outline-offset:3px;border-radius:4px}

.pular{position:absolute;left:1rem;top:-4rem;z-index:50;background:var(--mata);color:var(--marfim);padding:.75rem 1rem;border-radius:6px}
.pular:focus{top:1rem}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.aviso-demo{background:var(--mata);color:var(--marfim);font-size:.8125rem;text-align:center;padding:.5rem 1rem}

/* Topo */
.topo{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1.5rem;padding:.625rem clamp(1rem,4vw,2.5rem);background:var(--teto);border-bottom:var(--borda)}
.marca{display:flex;align-items:center;gap:.625rem;text-decoration:none;margin-right:auto}
.monograma{width:2rem;height:2.375rem;color:var(--ouro)}
.marca-texto{display:flex;flex-direction:column;line-height:1.05}
.marca-nome{font-family:var(--titulo);font-weight:600;font-size:1.375rem}
.marca-sub{font-size:.75rem;letter-spacing:.14em;color:var(--mata-suave)}
.navegacao{display:none;gap:1.75rem;font-size:.9375rem}
.navegacao a{text-decoration:none;padding:.5rem 0;border-bottom:2px solid transparent}
.navegacao a:hover{border-bottom-color:var(--ouro)}

.botao{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;min-height:3.25rem;padding:.75rem 1.5rem;background:var(--mata);color:var(--marfim);font-weight:600;font-size:1rem;text-decoration:none;border-radius:999px;border:2px solid var(--mata);transition:background-color .15s,color .15s}
.botao:hover{background:var(--cadeira);border-color:var(--cadeira)}
.botao svg{width:1.375rem;height:1.375rem;flex:none}
.botao-pequeno{min-height:2.75rem;padding:.5rem 1.125rem;font-size:.9375rem}
.botao-claro{background:transparent;color:var(--mata)}
.botao-claro:hover{background:var(--mata);border-color:var(--mata);color:var(--marfim)}
.link-apoio{font-weight:600;text-underline-offset:.25em;text-decoration-thickness:1.5px;text-decoration-color:var(--ouro)}
.link-apoio:hover{text-decoration-thickness:3px}

/* Parede: primeira tela */
.parede{position:relative;background:var(--salvia);overflow:hidden}
.sanca{position:absolute;inset:0 0 auto 0;width:100%;height:clamp(6.5rem,14vw,11.5rem)}
.sanca-teto{fill:var(--teto)}
.sanca-luz{opacity:.95;animation:acender 1.4s ease-out both}
@keyframes acender{from{opacity:0}to{opacity:.95}}
.parede-conteudo{position:relative;max-width:var(--largura);margin:0 auto;padding:clamp(8rem,16vw,13rem) clamp(1.25rem,4vw,2.5rem) clamp(3rem,6vw,4.5rem);display:grid;gap:2.5rem}
h1{font-family:var(--titulo);font-weight:500;font-size:clamp(2.375rem,5.6vw,4.25rem);line-height:1.03;letter-spacing:-.012em;max-width:19ch;text-wrap:balance}
.parede-apoio{margin-top:1.5rem;max-width:34rem;font-size:1.125rem}
.parede-acoes{margin-top:2rem;display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem 1.75rem}
.plaqueta{align-self:end;padding:1.25rem 1.5rem;border-left:3px solid var(--ouro);background:rgba(251,248,240,.5);display:grid;gap:.625rem;max-width:22rem}
.plaqueta-status{font-variant-numeric:lining-nums;font-family:var(--titulo);font-weight:600;font-size:1.5rem;line-height:1.15}
.plaqueta-fino{font-size:.9375rem;color:var(--mata-suave)}

/* Vitrine: tratamentos */
.vitrine{max-width:var(--largura);margin:0 auto;padding:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,4vw,2.5rem)}
.vitrine-cabeca{max-width:38rem;margin-bottom:2.5rem}
h2{font-family:var(--titulo);font-weight:500;font-size:clamp(2rem,4.4vw,3.25rem);line-height:1.08;letter-spacing:-.008em}
.vitrine-cabeca p,.consultorio-cabeca p{margin-top:.875rem}
.vidro{border-top:var(--borda)}
.vidro li{border-bottom:var(--borda)}
.vidro a{display:grid;gap:.375rem;padding:1.5rem 0;text-decoration:none;position:relative}
.vidro h3{font-family:var(--titulo);font-weight:500;font-size:clamp(1.625rem,3.2vw,2.25rem);line-height:1.12}
.vidro p{max-width:36rem;color:var(--mata-suave)}
.vidro-acao{margin-top:.25rem;font-weight:600;font-size:.9375rem;text-decoration:underline;text-decoration-color:var(--ouro);text-underline-offset:.25em;text-decoration-thickness:1.5px}
.vidro a:hover .vidro-acao{text-decoration-thickness:3px}
.vidro a:hover h3{color:var(--cadeira)}
.vidro-destaque h3{font-size:clamp(2.125rem,5vw,3.5rem)}
.vidro-destaque h3::after{content:" ✦";color:var(--ouro);font-size:.5em;vertical-align:.5em}

/* Avaliação */
.avaliacao{background:var(--mata);color:var(--marfim)}
.avaliacao{padding:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,4vw,2.5rem)}
.avaliacao-texto,.relatos{max-width:calc(var(--largura) - 5rem);margin-inline:auto}
.passos{margin-top:2.25rem;display:grid;gap:1.75rem;counter-reset:passo}
.passos li{counter-increment:passo;display:grid;grid-template-columns:3rem 1fr;column-gap:1rem;align-content:start}
.passos li::before{content:counter(passo);grid-row:span 2;font-family:var(--titulo);font-size:3rem;line-height:.9;color:var(--ouro-claro);font-variant-numeric:lining-nums}
.passos h3{font-family:var(--titulo);font-weight:500;font-size:1.625rem;line-height:1.15}
.passos p{color:#DCE1D3;max-width:30rem;margin-top:.375rem}
.relatos{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(246,242,231,.28)}
.relatos h3{font-weight:600;font-size:1rem}
.relatos ul{margin-top:1rem;display:grid;gap:.5rem}
.relatos li{font-family:var(--titulo);font-size:1.5rem;line-height:1.2;padding-left:1.5rem;position:relative}
.relatos li::before{content:"✦";position:absolute;left:0;top:.35em;font-size:.6em;color:var(--ouro-claro)}
.relatos-fonte{margin:1.25rem 0 1rem;font-size:.875rem;color:#C5CDB9;max-width:32rem}
.relatos .link-apoio{text-decoration-color:var(--ouro-claro)}
.avaliacao :focus-visible{outline-color:var(--ouro-claro)}

/* Consultório */
.consultorio{max-width:var(--largura);margin:0 auto;padding:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,4vw,2.5rem)}
.consultorio-cabeca{max-width:38rem;margin-bottom:2rem}
.fotos{display:grid;gap:1rem}
.foto-vaga{aspect-ratio:4/3;display:grid;place-items:center;background:var(--salvia-clara);border:1.5px dashed rgba(35,45,30,.45);border-radius:2px;color:var(--mata-suave);font-size:.9375rem;text-align:center;padding:1rem}
.foto figcaption{margin-top:.5rem;font-size:.9375rem}
.fotos-nota{margin-top:1.25rem;font-size:.875rem;color:var(--mata-suave);max-width:38rem}

/* Visita */
.visita{background:var(--salvia);padding:clamp(3.5rem,8vw,6.5rem) clamp(1.25rem,4vw,2.5rem) clamp(6.5rem,10vw,6.5rem)}
.visita>h2,.visita-grade{max-width:calc(var(--largura) - 5rem);margin-inline:auto}
.visita-grade{margin-top:2.25rem;display:grid;gap:2.5rem}
.visita-bloco h3{font-weight:600;font-size:1rem;margin-bottom:.875rem}
address{font-variant-numeric:lining-nums;font-style:normal;font-family:var(--titulo);font-size:1.5rem;line-height:1.25;margin-bottom:1.25rem}
.facilidades{margin-top:1.5rem;display:grid;gap:.375rem;font-size:.9375rem}
.horarios{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.horarios th,.horarios td{padding:.5rem 0;border-bottom:var(--borda);text-align:left;font-weight:400}
.horarios td{text-align:right}
.horarios tr.hoje th,.horarios tr.hoje td{font-weight:600}
.horarios tr.hoje th::after{content:" (hoje)";font-weight:400}
.visita-fino{margin-top:.875rem;font-size:.875rem}
.contatos{display:grid;gap:.25rem}
.contatos a{display:inline-block;padding:.5rem 0;font-weight:600;text-decoration:underline;text-decoration-color:var(--ouro);text-underline-offset:.25em;text-decoration-thickness:1.5px}
.contatos a:hover{text-decoration-thickness:3px}

/* Rodapé */
.rodape{background:var(--teto);padding:2.5rem clamp(1.25rem,4vw,2.5rem) 6.5rem;text-align:center;display:grid;gap:.75rem;justify-items:center;border-top:var(--borda)}
.rodape-frase{font-family:var(--titulo);font-style:italic;font-size:1.625rem;color:var(--ouro)}
.rodape-fino{font-size:.8125rem;color:var(--mata-suave);max-width:38rem}

/* Barra fixa no celular */
.barra-fixa{position:fixed;inset:auto 0 0 0;z-index:30;padding:.625rem 1rem calc(.625rem + env(safe-area-inset-bottom));background:var(--teto);border-top:var(--borda);transform:translateY(110%);transition:transform .25s ease}
.barra-fixa.visivel{transform:none}
.barra-fixa .botao{width:100%}

@media (min-width:44rem){
  .fotos{grid-template-columns:1.25fr 1fr;grid-template-rows:auto auto}
  .foto-alta{grid-row:span 2;display:flex;flex-direction:column}
  .foto-alta .foto-vaga{aspect-ratio:auto;flex:1;min-height:16rem}
  .foto:not(.foto-alta) .foto-vaga{aspect-ratio:16/9}
  .visita-grade{grid-template-columns:1fr 1fr}
  .passos{grid-template-columns:repeat(3,1fr);gap:2.5rem}
  .passos li{grid-template-columns:1fr}
  .passos li::before{grid-row:auto;margin-bottom:.75rem}
  .vidro a{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) auto;align-items:baseline;column-gap:2.5rem}
  .vidro-acao{margin-top:0;white-space:nowrap}
  .vidro-destaque a{grid-template-columns:1fr auto;padding:2rem 0}
  .vidro-destaque h3{grid-column:1/-1}
  .relatos ul{grid-template-columns:repeat(3,1fr);gap:2rem}
}
@media (min-width:62rem){
  .navegacao{display:flex}
  .parede-conteudo{grid-template-columns:minmax(0,1fr) 20rem;align-items:end;column-gap:4rem}
  .visita-grade{grid-template-columns:1.1fr 1fr .9fr;gap:4rem}
  .barra-fixa{display:none}
  .rodape{padding-bottom:2.5rem}
  .visita{padding-bottom:clamp(3.5rem,8vw,6.5rem)}
}
@media (max-width:26rem){
  .topo .botao-pequeno{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sanca-luz{animation:none}
  .barra-fixa,.botao{transition:none}
}
