/* CLÍNICA POP (Forquilhinha, SC) · estrutura do modelo de clínica (Gabriella), identidade da Clínica POP.
   Paleta do logo do Instagram (Rebite, propostas/clinica-pop/PALETA.md): fundo #FBF1EC, rosa #F3DFD6, rosé-dourado #98605A,
   rosé escuro #6E4440, dourado #C3A07F, texto #3D2A28. Cormorant Garamond (títulos) + Montserrat (texto) + Allura (assinatura). */

@font-face{font-family:"Cormorant";src:url(assets/fontes/cormorant-garamond.woff2) format("woff2");font-weight:500 700;font-style:normal;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fontes/cormorant-garamond-italic.woff2) format("woff2");font-weight:500;font-style:italic;font-display:swap}
@font-face{font-family:"Montserrat";src:url(assets/fontes/montserrat.woff2) format("woff2");font-weight:400 600;font-style:normal;font-display:swap}
@font-face{font-family:"Allura";src:url(assets/fontes/allura.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --porcelana:#FBF1EC;
  --marfim:#FFFAF7;
  --areia:#F3DFD6;
  --espresso:#5A3733;
  --cafe:#3D2A28;
  --taupe:#75544F;
  --cobre:#98605A;
  --cobre-escuro:#7E4A45;
  --cobre-claro:#C3A07F;
  --musgo:#6E4440;
  --linha:rgba(110,68,64,.18);
  --linha-clara:rgba(251,241,236,.2);

  --serif:"Cormorant", "Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --script:"Allura", cursive;

  --gutter:clamp(16px, 4.4vw, 64px);
  --max:1360px;
  --sec:clamp(88px, 12vw, 176px);
  --ease:cubic-bezier(.2,.7,.1,1);

  /* cantos (identidade): arco = topo redondo das fotos de destaque */
  --raio-g:28px;
  --raio-m:20px;
  --raio-p:14px;
  --raio-botao:999px;
  --arco:999px 999px var(--raio-g) var(--raio-g);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip;scroll-padding-top:84px}
@media (prefers-reduced-motion:no-preference){html:not(.lenis){scroll-behavior:smooth}}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{
  margin:0;background:var(--porcelana);color:var(--cafe);
  font-family:var(--sans);font-size:16px;line-height:1.7;font-weight:400;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip; /* clip, não hidden: hidden vira contêiner de rolagem e quebra o sticky do "Como funciona" */
}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
figure{margin:0}
h1,h2,h3{font-family:var(--serif);font-weight:600;margin:0;color:var(--espresso);line-height:1.1}
p{margin:0 0 1em}
.ic{width:20px;height:20px;fill:currentColor;flex:none}
:focus-visible{outline:2px solid var(--cobre);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-9999px;top:8px;background:var(--espresso);color:var(--marfim);padding:10px 16px;z-index:100;border-radius:8px}
.skip:focus{left:8px}


/* ---------- tipografia base ---------- */
.titulo{
  font-size:clamp(2.7rem, 8vw, 5.8rem);line-height:1;letter-spacing:-.012em;
  max-width:14ch;
}
.titulo--claro{color:var(--marfim)}
.rotulo{
  font-size:.74rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--cobre-escuro);margin:0 0 18px;
  display:flex;align-items:center;gap:12px;
}
.rotulo::before{content:"";width:28px;height:1px;background:var(--cobre-claro)}
.rotulo--claro{color:var(--cobre-claro)}
.aviso{font-size:.84rem;line-height:1.5;color:var(--taupe);max-width:62ch}
.aviso--claro{color:rgba(248,244,239,.62);margin-left:auto;margin-right:auto}

/* split de texto */
[data-split] .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}
[data-split] .w > span{display:inline-block;will-change:transform}

/* ---------- botões ---------- */
.btn{
  --bg:var(--espresso);--fg:var(--marfim);
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:56px;padding:0 28px;border-radius:var(--raio-botao);
  background:var(--bg);color:var(--fg);text-decoration:none;
  font:500 .95rem/1.1 var(--sans);letter-spacing:.02em;
  transition:background-color .25s ease, color .25s ease, box-shadow .25s ease, transform .25s ease;
  border:1px solid transparent;cursor:pointer;
}
.btn:hover{transform:translateY(-1px);box-shadow:0 12px 24px -12px rgba(110,68,64,.55)}
.btn:active{transform:translateY(0);box-shadow:0 4px 10px -8px rgba(34,24,18,.5);transition-duration:.1s}
.btn:focus-visible{outline:2px solid var(--cobre);outline-offset:3px}
/* brilho prateado: um reflexo atravessa o botão principal a cada ~6s (só transform/opacity; reduced-motion desliga) */
.btn--brilho{position:relative;overflow:hidden;isolation:isolate}
.btn--brilho::after{
  content:"";position:absolute;top:-30%;bottom:-30%;left:0;width:34%;pointer-events:none;
  background:linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(232,236,242,.12) 30%, rgba(246,248,252,.58) 50%, rgba(232,236,242,.12) 70%, rgba(255,255,255,0) 100%);
  transform:translateX(-180%) skewX(-20deg);opacity:0;
  animation:brilho 6s cubic-bezier(.45,0,.2,1) var(--brilho-atraso, 2.4s) infinite;
}
@keyframes brilho{
  0%{transform:translateX(-180%) skewX(-20deg);opacity:0}
  3%{opacity:1}
  20%{transform:translateX(360%) skewX(-20deg);opacity:1}
  23%,100%{transform:translateX(360%) skewX(-20deg);opacity:0}
}
.btn--cobre{--bg:var(--cobre);--fg:#fff}
.btn--cobre:hover{--bg:var(--cobre-escuro)}
.btn--escuro{--bg:var(--musgo)}
.btn--escuro:hover{--bg:var(--cobre)}
.btn--claro{--bg:var(--porcelana);--fg:var(--musgo)}
.btn--claro:hover{--bg:#fff}
.btn--linha{--bg:transparent;--fg:var(--espresso);border-color:var(--espresso)}
.btn--linha:hover{--bg:var(--espresso);--fg:var(--marfim)}
.btn--pequeno{min-height:46px;padding:0 20px;font-size:.92rem}
.btn--grande{min-height:64px;padding:0 34px;font-size:1.08rem}
.link-seta{
  display:inline-flex;align-items:center;gap:8px;min-height:48px;
  font-weight:500;text-decoration:none;color:var(--espresso);
  border-bottom:1px solid var(--linha);
}
.link-seta{transition:border-color .25s ease}
.link-seta:hover{border-color:var(--cobre)}
.link-seta .ic{transition:transform .25s ease}
.link-seta:hover .ic{transform:translateX(3px)}

/* ---------- topo ---------- */
.topo{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:16px var(--gutter);
  transition:background .4s var(--ease), box-shadow .4s var(--ease), transform .5s var(--ease);
}
.topo.solido{background:rgba(251,241,236,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--linha)}
.topo.escondido{transform:translateY(-110%)}
.topo__marca{display:block;line-height:0}
.topo__marca img{width:min(250px, calc(100vw - 2*var(--gutter) - 8px));height:auto}
.topo__nav{display:none}
.topo__cta{display:none}

/* ---------- hero ---------- */
.hero{
  position:relative;
  padding:92px var(--gutter) 56px;
  display:grid;gap:30px;max-width:var(--max);margin:0 auto;
}
.hero__texto{text-align:center}
.hero__local{font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--cobre-escuro);margin-bottom:18px;display:flex;align-items:center;justify-content:center;gap:10px}
.hero__local::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--cobre-claro)}
.hero__titulo{
  font-size:clamp(2.3rem, 11vw, 2.85rem);line-height:1;letter-spacing:-.01em;font-weight:600;color:var(--musgo);
}
.hero__titulo .l{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.1em}
.hero__titulo .l > span{display:block;animation:sobe .9s var(--ease) both;animation-delay:calc(.08s + var(--i) * .08s)}
@keyframes sobe{from{transform:translateY(105%)}}
@keyframes aparece{from{opacity:0;translate:0 24px}}
@keyframes assenta{from{scale:1.08}}
.hero__colagem{order:-1}
.so-pc{display:none}
.hero__titulo em{font-style:italic;font-weight:500;color:var(--cobre)}
.hero__lead{font-size:1.06rem;line-height:1.55;max-width:34ch;margin:20px auto 26px;color:var(--cafe)}
.hero__acoes{display:flex;flex-direction:column;align-items:center;gap:8px}
.hero__acoes .btn{width:100%;max-width:360px}
.prova{
  display:inline-flex;align-items:center;gap:16px;margin-top:26px;text-decoration:none;text-align:left;
  padding:14px 22px 14px 18px;border-radius:var(--raio-m);background:var(--marfim);
  box-shadow:0 1px 0 var(--linha);
}
.prova__nota{font-family:var(--serif);font-weight:600;font-size:3.2rem;line-height:.9;color:var(--cobre)}
.prova__info{display:flex;flex-direction:column;gap:2px;font-size:.84rem;line-height:1.4;color:var(--taupe)}
.prova__info strong{color:var(--cafe);font-weight:600}
.estrelas{display:flex;gap:2px}
.estrelas svg{width:15px;height:15px;fill:var(--cobre)}

.hero__colagem{position:relative;aspect-ratio:4/4.1;perspective:1200px;max-width:560px;width:100%;justify-self:center}
.cl{position:absolute;overflow:hidden;background:var(--areia);will-change:transform}
.cl img{width:100%;height:100%;object-fit:cover}
.cl--principal{inset:0 0 6% 14%;border-radius:var(--arco)}
.cl--principal img{object-position:50% 20%;animation:assenta 1.4s var(--ease) both}
.cl--retrato{width:40%;aspect-ratio:3/4;left:0;bottom:0;border-radius:var(--raio-m);transform:rotate(-5deg);box-shadow:0 30px 60px -30px rgba(34,24,18,.55);border:6px solid var(--marfim)}
.cl--retrato img{object-position:50% 22%}
.cl--retrato,.cl--caso{animation:aparece 1s var(--ease) .35s both}
.cl--caso{animation-delay:.45s}
.cl--caso{width:30%;right:-2%;bottom:0;border-radius:var(--raio-p);border:6px solid var(--marfim);box-shadow:0 30px 60px -30px rgba(110,68,64,.55);overflow:visible;background:var(--marfim)}
.cl--caso img{border-radius:10px;aspect-ratio:4/5;object-position:50% 30%}
.cl--caso figcaption{font-size:.68rem;font-weight:600;letter-spacing:.06em;color:var(--taupe);padding:7px 2px 1px;text-align:center;line-height:1.25}
.selo{position:absolute;width:24%;left:0;top:4%;filter:drop-shadow(0 18px 30px rgba(110,68,64,.22));animation:gira 28s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}

/* ---------- faixa ---------- */
.faixa{background:var(--areia);color:var(--musgo);padding:38px 0 30px;overflow:hidden;overflow-x:clip;max-width:100vw}
.faixa__trilho{display:flex;width:max-content;will-change:transform}
.faixa__grupo{display:flex;align-items:center;gap:clamp(22px,3vw,48px);padding-right:clamp(22px,3vw,48px);flex:none}
.faixa__grupo span{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2.6rem, 8vw, 6.4rem);line-height:1.1;white-space:nowrap}
.faixa__grupo span:nth-of-type(even){color:var(--cobre)}
.faixa__brilho{width:clamp(22px,3vw,40px);height:clamp(22px,3vw,40px);fill:var(--cobre-claro);flex:none}
.faixa__legenda{margin:24px var(--gutter) 0;font-size:.84rem;color:var(--taupe)}

/* ---------- sobre ---------- */
.sobre{
  max-width:var(--max);margin:0 auto;padding:var(--sec) var(--gutter);
  display:grid;gap:56px;
}
.sobre__fotos{position:relative;padding-right:22%}
.sobre__foto-grande{border-radius:var(--raio-g);overflow:hidden;aspect-ratio:4/5}
.sobre__foto-grande img{width:100%;height:100%;object-fit:cover;object-position:50% 0%}
.sobre__foto-pequena{position:absolute;right:0;bottom:-8%;width:38%;aspect-ratio:3/4.4;border-radius:var(--arco);overflow:hidden;border:6px solid var(--porcelana)}
.sobre__foto-pequena{background:#F6E6DF}
.sobre__foto-pequena img{width:100%;height:100%;object-fit:contain;padding:22% 6% 6%}
.sobre__texto{max-width:620px}
.sobre__frase{font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(1.7rem, 3.6vw, 2.6rem);line-height:1.15;color:var(--cobre);margin:30px 0 26px;max-width:20ch}
.sobre__texto > p:not(.sobre__frase):not(.rotulo){color:var(--cafe);max-width:56ch}
.fatos{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:34px 0 28px;border-top:1px solid var(--linha)}
.fatos div{padding:16px 12px 16px 0;border-bottom:1px solid var(--linha)}
.fatos dt{font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--taupe)}
.fatos dd{margin:2px 0 0;font-weight:500;color:var(--espresso);line-height:1.35}
.sobre__assinatura{width:min(300px,80%);opacity:.95}

/* ---------- tratamentos ---------- */
.trat{background:var(--marfim);padding:var(--sec) var(--gutter);position:relative}
.trat__cabeca,.sv,.trat__rodape{max-width:var(--max);margin-left:auto;margin-right:auto}
.trat__cabeca{display:grid;gap:18px;margin-bottom:40px;text-align:center;justify-items:center}
.trat__sub{max-width:44ch;color:var(--taupe);font-size:1.05rem}
.trat__rodape{margin-top:36px;text-align:center}
.trat__tambem{color:var(--taupe);font-size:.95rem;margin-bottom:18px}
.trat__tambem strong{color:var(--cafe);font-weight:600}

/* serviços: carrossel de cards no celular, lista + palco no computador */
.sv{position:relative}
.sv__lista{
  list-style:none;margin:0 calc(-1 * var(--gutter));padding:6px var(--gutter) 10px;
  display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);
  scrollbar-width:none;overscroll-behavior-x:contain;
}
.sv__lista::-webkit-scrollbar{display:none}
.sv__item{
  flex:0 0 84%;scroll-snap-align:center;text-align:center;
  background:var(--porcelana);border-radius:var(--raio-m);padding:10px 10px 24px;
  transition:opacity .7s cubic-bezier(.22,.61,.36,1), transform .9s cubic-bezier(.22,.61,.36,1);
}
.sv.vivo .sv__item:not(.ativo){opacity:.55;transform:scale(.95)}
.sv__foto{aspect-ratio:5/4;border-radius:var(--raio-p);overflow:hidden;background:var(--areia);margin-bottom:20px}
.sv__foto img{width:100%;height:100%;object-fit:cover;transform:scale(1.04);transform-origin:var(--kb-o, 50% 50%)}
/* Ken Burns: zoom bem lento com leve pan; cada foto puxa para um lado */
@keyframes kb{from{transform:scale(1.04) translate3d(0,0,0)}to{transform:scale(1.09) translate3d(var(--kb-x,-1%),var(--kb-y,-.6%),0)}}
.sv__item:nth-child(3n+2),.sv__quadro:nth-child(3n+2){--kb-x:1%;--kb-y:-.5%;--kb-o:40% 45%}
.sv__item:nth-child(3n+3),.sv__quadro:nth-child(3n+3){--kb-x:-.7%;--kb-y:.8%;--kb-o:60% 40%}
.sv.vivo .sv__item.ativo .sv__foto img{animation:kb 11s cubic-bezier(.45,.05,.55,.95) both}
.sv__nome{margin:0 0 8px;font-size:clamp(1.9rem, 7.4vw, 2.2rem);line-height:1.05;letter-spacing:-.02em}
.sv__nome button{all:unset;display:inline-flex;align-items:center;gap:12px;cursor:default}
.sv__nome .ic{display:none}
.sv__nome button:focus-visible{outline:2px solid var(--cobre);outline-offset:4px;border-radius:6px}
.sv__item p{margin:0 auto;max-width:30ch;color:var(--taupe);font-size:.98rem;line-height:1.5}
.sv__palco{display:none}
.sv__ctrl{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:22px}
.sv__btn{width:50px;height:50px;border-radius:50%;border:1px solid var(--linha);background:var(--porcelana);color:var(--espresso);display:grid;place-items:center;cursor:pointer;transition:background-color .25s ease, color .25s ease, transform .15s ease}
.sv__btn:hover{background:var(--espresso);color:var(--marfim)}
.sv__btn:active{transform:scale(.96)}
.sv__cont{font-size:.92rem;color:var(--taupe);min-width:4.5em;text-align:center}
/* progresso do autoplay */
.sv__prog{position:relative;width:56px;height:3px;border-radius:3px;background:var(--linha);overflow:hidden}
.sv__prog span{position:absolute;inset:0;background:var(--cobre);transform:scaleX(0);transform-origin:left center}
.sv__prog.rodando span{animation:sv-prog 4.5s linear forwards}
@keyframes sv-prog{to{transform:scaleX(1)}}

/* ---------- casos ---------- */
.casos{background:var(--areia);color:var(--cafe);padding:var(--sec) 0;overflow:hidden}
.casos__cabeca{max-width:var(--max);margin:0 auto 48px;padding:0 var(--gutter);display:grid;gap:22px}
.casos__sub{color:var(--taupe);max-width:44ch}
.casos__trilho{display:flex;gap:28px;padding:0 var(--gutter);scroll-padding-left:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.casos__trilho::-webkit-scrollbar{display:none}
.caso{flex:0 0 82%;scroll-snap-align:start}
.caso h3{color:var(--musgo);font-size:1.6rem;line-height:1.1;margin:18px 0 6px;letter-spacing:-.02em}
.caso p{color:var(--taupe);font-size:.92rem;margin:0;max-width:46ch}
.par{display:grid;grid-template-columns:1fr 1fr;gap:8px;background:var(--marfim);padding:8px;border-radius:var(--raio-m);box-shadow:0 24px 48px -32px rgba(110,68,64,.5)}
.par figure{position:relative;border-radius:12px;overflow:hidden;aspect-ratio:4/5;background:var(--areia)}
.caso--largo .par figure{aspect-ratio:610/357}
.par img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.caso--largo .par img{object-position:50% 100%}
.par figcaption{position:absolute;left:8px;bottom:8px;font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:5px 10px;border-radius:999px;background:rgba(251,241,236,.92);color:var(--musgo)}
.comp{position:relative;border-radius:var(--raio-m);overflow:hidden;aspect-ratio:2.15/1;background:#000;user-select:none;touch-action:pan-y}
.comp img{width:100%;height:100%;object-fit:cover;pointer-events:none}
.comp__depois{position:absolute;inset:0;clip-path:inset(0 0 0 var(--pos))}
.comp__depois img{position:absolute;inset:0}
.comp__linha{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--marfim);pointer-events:none}
.comp__linha span{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;background:var(--marfim);box-shadow:0 8px 24px rgba(0,0,0,.35)}
.comp__linha span::before,.comp__linha span::after{content:"";position:absolute;top:50%;width:0;height:0;border:6px solid transparent;margin-top:-6px}
.comp__linha span::before{left:9px;border-right-color:var(--cobre)}
.comp__linha span::after{right:9px;border-left-color:var(--cobre)}
.comp__tag{position:absolute;top:12px;font-size:.78rem;font-weight:500;padding:4px 10px;border-radius:999px;background:rgba(34,24,18,.62);color:var(--marfim);backdrop-filter:blur(6px)}
.comp__tag--a{left:12px}.comp__tag--d{right:12px}
.comp__range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y}
.casos .aviso{color:var(--taupe)}
.casos__pe{max-width:var(--max);margin:48px auto 0;padding:0 var(--gutter);display:grid;gap:26px;justify-items:start}

/* ---------- primeira consulta ---------- */
.consulta{max-width:var(--max);margin:0 auto;padding:var(--sec) var(--gutter)}
.consulta__cabeca{margin-bottom:56px}
.consulta__visual{display:none}
.passos{list-style:none;padding:0;margin:0;display:grid;gap:56px}
.passo{position:relative}
.passo__foto{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--raio-m);margin-bottom:22px}
.passo__n{font-family:var(--serif);font-weight:500;font-size:4.4rem;line-height:.8;color:var(--cobre-claro);display:block;margin-bottom:10px;letter-spacing:-.04em}
.passo h3{font-size:clamp(1.8rem, 4vw, 2.8rem);line-height:1.04;letter-spacing:-.025em;margin-bottom:12px}
.passo p{color:var(--taupe);max-width:42ch}
.passo .btn{margin-top:14px}
.passo:nth-child(1) .passo__foto{object-position:50% 24%}
.passo__foto--retrato{aspect-ratio:4/4.6;object-position:50% 40%}

/* ---------- manifesto (no lugar dos depoimentos: clínica nova, sem avaliações no Google ainda) ---------- */
.manifesto{background:var(--marfim);padding:var(--sec) var(--gutter);position:relative;overflow:hidden}
.manifesto__corpo{max-width:980px;margin:0 auto 64px;text-align:center;position:relative}
.manifesto__brilho{width:34px;height:34px;fill:var(--cobre-claro);margin:0 auto 26px;display:block}
.manifesto__frase{margin:0;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(2rem, 5.2vw, 4rem);line-height:1.12;color:var(--musgo)}
.manifesto__autor{margin:26px 0 0;font-size:.72rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--taupe)}
.principios{list-style:none;margin:0 auto;padding:0;max-width:var(--max);display:grid;gap:14px}
.principios li{background:var(--porcelana);border:1px solid var(--linha);border-radius:var(--raio-m);padding:26px 24px 24px}
.principios__n{font-family:var(--serif);font-size:1.1rem;color:var(--cobre-claro);letter-spacing:.1em}
.principios h3{font-size:1.9rem;margin:6px 0 10px;color:var(--musgo)}
.principios p{margin:0;color:var(--taupe);font-size:.95rem}

/* ---------- consultório ---------- */
.espaco{max-width:var(--max);margin:0 auto;padding:var(--sec) var(--gutter)}
.espaco__cabeca{display:grid;gap:18px;margin-bottom:52px}
.espaco__cabeca > p:last-child{max-width:52ch;color:var(--taupe)}
.espaco__grade{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.espaco__grade{grid-template-columns:3fr 2fr}
.eg--a,.eg--b{aspect-ratio:auto;height:min(118vw,520px)}
.eg--a img{object-position:50% 55%}
.eg{position:relative;overflow:hidden;border-radius:var(--raio-p);transform-style:preserve-3d}
.eg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.eg--sala img{object-position:30% 50%}
.eg figcaption{position:absolute;left:12px;bottom:12px;font-size:.74rem;font-weight:500;color:var(--marfim);background:rgba(110,68,64,.72);padding:5px 11px;border-radius:999px;backdrop-filter:blur(6px)}
.eg--fachada{grid-column:1/-1;aspect-ratio:1400/801}
.eg--recepcao{aspect-ratio:3/4.4}
.eg--sala{aspect-ratio:3/4.4}

/* ---------- faq ---------- */
.faq{max-width:var(--max);margin:0 auto;padding:0 var(--gutter) var(--sec);display:grid;gap:40px}
.faq__cabeca{display:grid;gap:18px;align-content:start}
.faq__lista{border-top:1px solid var(--linha)}
.faq .titulo{font-size:clamp(2.3rem, 4.4vw, 3.8rem);max-width:12ch}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:24px 0;min-height:48px;font-family:var(--serif);font-size:clamp(1.3rem, 2.6vw, 1.75rem);line-height:1.2;color:var(--espresso);letter-spacing:-.01em;
}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:14px;height:14px;border-right:1.6px solid var(--cobre);border-bottom:1.6px solid var(--cobre);transform:rotate(45deg) translate(-3px,-3px);transition:transform .4s var(--ease)}
.faq details[open] summary::after{transform:rotate(225deg) translate(-3px,-3px)}
.faq details p{color:var(--taupe);max-width:60ch;padding-bottom:24px;margin:0}

/* ---------- local ---------- */
.local{background:var(--marfim);padding:var(--sec) var(--gutter);display:grid;gap:44px}
.local__info{max-width:620px}
.local__dados{margin:36px 0;border-top:1px solid var(--linha)}
.local__dados div{display:grid;grid-template-columns:110px 1fr;gap:12px;padding:16px 0;border-bottom:1px solid var(--linha)}
.local__dados dt{color:var(--taupe);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding-top:4px}
.local__nota{font-weight:400;font-size:.88rem;color:var(--taupe)}
.local__dados dd{margin:0;color:var(--espresso);font-weight:500;line-height:1.5}
.local__dados a{text-decoration:none;border-bottom:1px solid var(--linha)}
.local__acoes{display:flex;flex-wrap:wrap;gap:12px}
.local__mapa{border-radius:var(--raio-m);overflow:hidden;min-height:340px;background:var(--areia)}
.local__mapa iframe{width:100%;height:100%;min-height:340px;border:0;filter:grayscale(.3) sepia(.22) hue-rotate(-12deg)}

/* ---------- cta final ---------- */
.final{position:relative;background:var(--musgo);color:var(--marfim);padding:clamp(110px,16vw,220px) var(--gutter);overflow:hidden;isolation:isolate}
.final__luz{position:absolute;width:70vmax;height:70vmax;left:var(--mx,50%);top:var(--my,40%);transform:translate(-50%,-50%);background:radial-gradient(closest-side, rgba(243,223,214,.22), rgba(195,160,127,.08) 55%, transparent 72%);pointer-events:none;z-index:-1;transition:left .9s var(--ease), top .9s var(--ease)}
.final__marca{position:absolute;right:-8%;bottom:-18%;width:min(70vw,560px);height:auto;fill:none;stroke:var(--cobre-claro);stroke-width:.6;stroke-dasharray:420;opacity:.7;z-index:-1}
.final__ass{font-family:var(--script);font-size:clamp(2.2rem,5vw,3.2rem);line-height:1;color:var(--cobre-claro);margin-bottom:10px}
.final__conteudo{max-width:var(--max);margin:0 auto}
.final__titulo{color:var(--marfim);font-size:clamp(3rem, 10vw, 8.4rem);line-height:.95;letter-spacing:-.015em;max-width:12ch;margin-bottom:30px}
.final__conteudo > p{max-width:44ch;color:rgba(248,244,239,.78);font-size:1.08rem;margin-bottom:34px}
.final__micro{font-size:.88rem!important;margin-top:16px!important;color:rgba(251,241,236,.76)!important}

/* ---------- rodapé ---------- */
.rodape{background:var(--musgo);color:rgba(251,241,236,.86);padding:56px var(--gutter) 120px;border-top:1px solid var(--linha-clara);display:grid;gap:28px;font-size:.92rem}
.rodape__marca{display:flex;align-items:center;gap:18px}
.rodape__marca img{width:80px}
.rodape__marca strong{display:block;color:var(--marfim);font-family:var(--serif);font-weight:600;font-size:1.6rem;letter-spacing:.06em}
.rodape__col{display:grid;gap:6px}
.rodape a{text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.rodape a:hover{color:var(--cobre-claro)}
.rodape__legal,.rodape__previa{font-size:.8rem;color:rgba(251,241,236,.74);margin:0;max-width:80ch}

/* ---------- flutuantes ---------- */
.flutua{display:none}
.barra{
  position:fixed;left:0;right:0;bottom:0;z-index:60;display:grid;grid-template-columns:auto 1fr;gap:10px;
  padding:10px 12px calc(10px + env(safe-area-inset-bottom));
  background:rgba(251,241,236,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  box-shadow:0 -1px 0 var(--linha);transform:translateY(110%);transition:transform .5s var(--ease);
}
.barra.visivel{transform:none}
.barra a{min-height:52px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-weight:500;transition:background-color .2s ease, transform .15s ease}
.barra a:active{transform:scale(.98)}
.barra__wa{padding:0 18px;background:var(--marfim);color:var(--espresso);border:1px solid var(--linha)}
.barra__wa svg{width:22px;height:22px;fill:#1FA855}
.barra__agendar{background:var(--cobre);color:#fff}

/* =================== tablet+ =================== */
@media (min-width:720px){
  .caso{flex-basis:62%}
  .espaco__grade{grid-template-columns:3fr 2fr;gap:16px}
  .eg--a,.eg--b{height:520px}
  .fatos{grid-template-columns:repeat(4,1fr)}
  .sobre .fatos{grid-template-columns:repeat(2,1fr)}
}

/* =================== computador =================== */
@media (min-width:1024px){
  body{font-size:18px}
  .topo{padding:18px var(--gutter)}
  .topo__marca img{width:clamp(290px, 22vw, 330px)}
  .so-pc{display:inline}
  .topo__nav{display:flex;gap:30px;font-size:.95rem;font-weight:500}
  .topo__nav a{text-decoration:none;color:var(--cafe);position:relative;padding:10px 0}
  .topo__nav a::after{content:"";position:absolute;left:0;right:100%;bottom:4px;height:1px;background:var(--cobre);transition:right .45s var(--ease)}
  .topo__nav a:hover::after{right:0}
  .topo__cta{display:inline-flex}

  .hero{grid-template-columns:repeat(12,1fr);align-items:center;min-height:100vh;min-height:100svh;padding-top:130px;padding-bottom:80px;gap:0 24px}
  .hero__texto{grid-column:1/7;grid-row:1;position:relative;z-index:2;text-align:left}
  .hero__local{justify-content:flex-start}
  .hero__lead{margin:28px 0 30px}
  .hero__acoes{flex-direction:row;flex-wrap:wrap;gap:14px 26px}
  .hero__acoes .btn{width:auto}
  .hero__colagem{grid-column:7/13;grid-row:1;max-width:none;aspect-ratio:4/4.7}
  .hero__colagem{order:0}
  .hero__titulo{font-size:clamp(3.6rem, 5.4vw, 6.6rem);line-height:.94;letter-spacing:-.04em}
  .hero__titulo .l{white-space:nowrap}
  .selo{width:26%;left:4%;top:4%}
  .hero__lead{font-size:1.2rem}

  .sobre{grid-template-columns:repeat(12,1fr);gap:0 24px;align-items:center}
  .sobre__fotos{grid-column:1/7;padding-right:16%}
  .sobre__texto{grid-column:7/13}

  .trat{padding-left:var(--gutter);padding-right:var(--gutter)}
  .trat__cabeca{grid-template-columns:repeat(12,1fr);align-items:end;margin-bottom:72px;text-align:left;justify-items:stretch}
  .trat__cabeca .titulo{grid-column:1/8}
  .trat__sub{grid-column:9/13;margin:0}
  .trat__rodape{text-align:left;margin-top:44px}
  .sv{display:grid;grid-template-columns:repeat(12,1fr);gap:0 24px;align-items:start}
  .sv__lista{grid-column:1/7;display:block;margin:0;padding:0;overflow:visible;border-top:1px solid var(--linha)}
  .sv__item{background:none;border-radius:0;padding:22px 0 24px;text-align:left;border-bottom:1px solid var(--linha);opacity:1!important;transform:none!important}
  .sv__item .sv__nome button{color:#9A7F79}
  .sv__item:hover .sv__nome button{color:var(--espresso)}
  .sv__foto{display:none}
  .sv__nome{font-size:clamp(2rem, 3.1vw, 3.1rem);margin-bottom:8px}
  .sv__nome button{cursor:pointer;display:flex;width:100%;justify-content:space-between;transition:color .3s ease}
  .sv__nome .ic{display:block;width:30px;height:30px;color:var(--cobre);opacity:0;transform:translateX(-10px);transition:opacity .3s ease, transform .35s var(--ease)}
  .sv__item.ativo .sv__nome button{color:var(--cobre-escuro)}
  .sv__item.ativo .sv__nome .ic{opacity:1;transform:none}
  .sv__item p{margin:0;max-width:44ch}
  .sv__palco{
    display:block;grid-column:7/13;position:sticky;top:max(96px, calc(50vh - 260px));aspect-ratio:5/4;
    border-radius:var(--raio-g);overflow:hidden;background:var(--areia);
    box-shadow:0 40px 80px -40px rgba(34,24,18,.45);
  }
  .sv__quadro{position:absolute;inset:0;margin:0;overflow:hidden;clip-path:inset(100% 0 0 0);transition:clip-path 1.25s cubic-bezier(.65,.05,.25,1);z-index:1}
  .sv__quadro.ativo{clip-path:inset(0 0 0 0);z-index:3}
  .sv__quadro.saindo{clip-path:inset(0 0 0 0);z-index:2}
  .sv__quadro img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transform-origin:var(--kb-o, 50% 50%)}
  .sv.vivo .sv__quadro.ativo img,.sv.vivo .sv__quadro.saindo img{animation:kb 11s cubic-bezier(.45,.05,.55,.95) both}


  .sv__quadro figcaption{position:absolute;left:18px;bottom:18px;font-size:.88rem;font-weight:500;color:var(--marfim);background:rgba(34,24,18,.55);padding:7px 14px;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
  .sv__quadro--painel figcaption{display:none}
  .sv__ctrl{display:none}

  .casos__cabeca{grid-template-columns:repeat(12,1fr);align-items:end;gap:24px}
  .casos__cabeca > div{grid-column:1/8}
  .casos__sub{grid-column:9/13;margin:0}
  .casos__trilho{overflow:visible;scroll-snap-type:none}
  .caso{flex:0 0 44vw}
  .casos__pe{grid-template-columns:auto 1fr;align-items:center;gap:40px;margin-top:36px}
  .casos__pe .btn{order:-1}
  .casos{padding-top:120px;padding-bottom:90px}

  .consulta__corpo{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}
  .consulta__visual{display:block;grid-column:1/6;position:sticky;top:12vh;height:76vh;border-radius:var(--arco);overflow:hidden;background:var(--areia)}
  .cv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:inset(100% 0 0 0);transition:clip-path 1.1s var(--ease)}
  .cv.ativo{clip-path:inset(0 0 0 0)}
  .cv:nth-child(1){object-position:50% 40%}
  .cv:nth-child(2),.cv:nth-child(4){object-position:50% 40%}
  .consulta__num{position:absolute;right:22px;bottom:20px;z-index:2;font-family:var(--serif);color:var(--marfim);font-size:1.3rem;background:rgba(110,68,64,.6);padding:6px 16px;border-radius:999px;backdrop-filter:blur(6px)}
  .passos{grid-column:7/13;gap:0}
  .passo{min-height:58vh;display:flex;flex-direction:column;justify-content:center;padding:6vh 0}
  .passo h3,.passo__n{transition:color .6s var(--ease)}
  .passo:not(.ativo) h3{color:#A88E88}
  .passo:not(.ativo) .passo__n{color:var(--areia)}

  .passo__foto{display:none}
  .passo__n{font-size:7rem}

  .principios{grid-template-columns:repeat(3,1fr);gap:20px}
  .principios li{padding:34px 32px 32px}

  .espaco__cabeca{grid-template-columns:repeat(12,1fr);align-items:end}
  .espaco__cabeca .rotulo{grid-column:1/-1}
  .espaco__cabeca .titulo{grid-column:1/8;max-width:16ch}
  .espaco__cabeca > p:last-child{grid-column:9/13;margin:0}
  .eg--a,.eg--b{height:620px}
  .eg:hover img{transform:scale(1.03)}

  .faq{grid-template-columns:repeat(12,1fr);gap:24px}
  .faq__cabeca{grid-column:1/5;position:sticky;top:120px}
  .faq__lista{grid-column:6/13}

  .local{grid-template-columns:repeat(12,1fr);gap:24px;align-items:stretch}
  .local__info{grid-column:1/6}
  .local__mapa{grid-column:7/13}

  .rodape{grid-template-columns:1.4fr 1fr 1fr;padding-bottom:56px;align-items:start}
  .rodape__legal,.rodape__previa{grid-column:1/-1}

  .barra{display:none}
  .flutua{
    position:fixed;right:24px;bottom:24px;z-index:60;display:flex;align-items:center;gap:10px;
    transform:translateY(180%);opacity:0;transition:transform .6s var(--ease), opacity .4s;
  }
  .flutua.visivel{transform:none;opacity:1}
  .flutua__agendar{min-height:56px;padding:0 26px;border-radius:999px;background:var(--cobre);color:#fff;text-decoration:none;font-weight:500;display:flex;align-items:center;box-shadow:0 18px 40px -16px rgba(34,24,18,.6);transition:background-color .25s ease, transform .25s ease}
  .flutua__agendar:hover{background:var(--cobre-escuro);transform:translateY(-1px)}
  .flutua__wa{width:56px;height:56px;border-radius:50%;background:var(--musgo);display:grid;place-items:center;box-shadow:0 18px 40px -16px rgba(34,24,18,.6);transition:transform .25s ease, background-color .25s ease}
  .flutua__wa:hover{transform:translateY(-1px);background:var(--cafe)}
  .flutua__wa svg{width:26px;height:26px;fill:#25D366}
}

@media (min-width:1440px){
  .caso{flex-basis:40vw}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
  .cv{clip-path:none}
}
/* sem animação, os casos não ficam fixos: o trilho rola para o lado */
@media (prefers-reduced-motion:reduce) and (min-width:1024px){
  .casos__trilho{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;padding-bottom:12px}
}
