@charset "UTF-8";
/* ============================================================
   GVB CLÍNICA — Landing Page
   Identidade: preto profundo + ouro (extraída do selo GVB)
   Tipografia: Marcellus (serifa romana, igual ao "CLÍNICA" do logo)
               Jost (geométrica, igual à tarja do logo)
               Cormorant Garamond (itálicos e valores)
   ============================================================ */

/* ---------- 1. TOKENS ---------- */
:root{
  /* Pretos quentes — amostrados do fundo do selo */
  --ink-900:#070706;
  --ink-850:#0B0A09;
  --ink-800:#0F0E0B;
  --ink-750:#14120E;
  --ink-700:#1A1712;
  --ink-600:#241F17;
  --ink-500:#332B1F;

  /* Ouro — amostrado do monograma */
  --gold:#D6A828;
  --gold-lt:#F0D07A;
  --gold-xlt:#F8EBC4;
  --gold-dp:#9A7415;
  --gold-dpr:#6B4F0C;

  /* Neutros claros — travertino/mármore da clínica */
  --bone:#F4F0E6;
  --bone-2:#E7E1D2;
  --bone-3:#D3CBB8;
  --mute:#A29A8B;        /* 7,1:1 sobre o preto — AAA */
  --mute-2:#8B8375;      /* 5,3:1 sobre o preto — AA (era #77705F, 4,0:1) */

  /* Semânticos */
  --bg:var(--ink-850);
  --fg:#EDE8DC;
  --fg-dim:#ADA595;

  /* Tipografia */
  --f-disp:"Marcellus",'Times New Roman',serif;
  --f-sans:"Jost",-apple-system,"Segoe UI",sans-serif;
  --f-acc:"Cormorant Garamond",Georgia,serif;

  /* Ritmo */
  --pad:clamp(1.25rem,5vw,2.5rem);
  --max:1240px;
  --sec-y:clamp(4.5rem,10vw,9rem);

  --ease:cubic-bezier(.16,1,.3,1);
  --rule:linear-gradient(90deg,transparent,var(--gold-dp) 18%,var(--gold) 50%,var(--gold-dp) 82%,transparent);
}

/* ---------- 2. RESET ---------- */
*,*::before,*::after{box-sizing:border-box}
*{margin:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  background:var(--bg);
  color:var(--fg);
  font-family:var(--f-sans);
  font-weight:300;
  font-size:clamp(1.125rem,1.085rem + .22vw,1.215rem);
  line-height:1.75;
  letter-spacing:.004em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,picture,svg{display:block;max-width:100%}
img{height:auto}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;padding:0}
::selection{background:var(--gold);color:var(--ink-900)}

:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:3px;
  border-radius:2px;
}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  padding:.9rem 1.4rem;background:var(--gold);color:var(--ink-900);
  font-family:var(--f-sans);font-weight:500;font-size:.85rem;
  text-transform:uppercase;letter-spacing:.12em;
}
.skip-link:focus{left:.75rem;top:.75rem}

/* ---------- 3. TEXTURA GLOBAL (grão) ---------- */
.grain{
  position:fixed;inset:-50%;z-index:100;pointer-events:none;
  opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grainShift 8s steps(6) infinite;
}
@keyframes grainShift{
  0%,100%{transform:translate(0,0)}
  20%{transform:translate(-3%,2%)}
  40%{transform:translate(2%,-3%)}
  60%{transform:translate(-2%,-2%)}
  80%{transform:translate(3%,1%)}
}
@media (prefers-reduced-motion:reduce){.grain{animation:none}}

/* ---------- 4. LAYOUT ---------- */
.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad)}
.sec{position:relative;padding-block:var(--sec-y);scroll-margin-top:5rem}

/* ---------- 5. TIPOGRAFIA UTILITÁRIA ---------- */
.eyebrow{
  display:flex;align-items:center;gap:.85rem;
  font-family:var(--f-sans);font-weight:400;
  font-size:clamp(.66rem,.62rem + .16vw,.78rem);
  text-transform:uppercase;letter-spacing:.3em;
  color:var(--gold);
  margin-bottom:1.5rem;
}
.eyebrow__rule{flex:0 0 clamp(28px,5vw,54px);height:1px;background:linear-gradient(90deg,transparent,var(--gold))}
.eyebrow--c{justify-content:center;text-align:center}
.eyebrow--c .eyebrow__rule:last-child{background:linear-gradient(90deg,var(--gold),transparent)}
.eyebrow--dark{color:var(--gold-dpr)}
.eyebrow--dark .eyebrow__rule{background:linear-gradient(90deg,transparent,var(--gold-dpr))}
.eyebrow--dark.eyebrow--c .eyebrow__rule:last-child{background:linear-gradient(90deg,var(--gold-dpr),transparent)}

.sec__hd{max-width:44ch;margin-bottom:clamp(2.5rem,5vw,4rem)}
.sec__hd--c{max-width:64ch;margin-inline:auto;text-align:center}
.sec__h2{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.85rem,1.15rem + 2.6vw,3.05rem);
  line-height:1.1;letter-spacing:-.005em;
  color:var(--bone);
  text-wrap:balance;
}
.sec__h2 em{font-family:var(--f-acc);font-style:italic;font-weight:500;color:var(--gold-lt)}
.sec__h2--dark{color:var(--ink-800)}
.sec__h2--dark em{color:var(--gold-dp)}
.sec__h2-sub{
  font-family:var(--f-sans);font-weight:300;
  font-size:clamp(.8rem,.75rem + .3vw,.95rem);
  text-transform:uppercase;letter-spacing:.26em;
  color:var(--gold);margin-top:1rem;
}
.sec__lede{margin-top:1.5rem;color:var(--fg-dim);text-wrap:pretty}

.lede{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.2rem,.98rem + .95vw,1.72rem);
  line-height:1.5;color:var(--bone);text-wrap:pretty;
}
.lede strong{color:var(--gold-lt);font-weight:400}
/* Mesma fonte do parágrafo (Marcellus), mantendo só a cor dourada. */
.lede em{font-family:inherit;font-style:normal;font-weight:inherit;color:var(--gold)}

/* ---------- 6. BOTÕES ---------- */
.btn{
  position:relative;isolation:isolate;overflow:hidden;
  display:inline-flex;align-items:center;justify-content:center;gap:.7rem;
  padding:1.1rem 2.2rem;
  font-family:var(--f-sans);font-weight:500;
  font-size:clamp(.78rem,.74rem + .16vw,.88rem);
  text-transform:uppercase;letter-spacing:.19em;
  border-radius:2px;cursor:pointer;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .35s,color .35s,border-color .35s;
}
.btn--lg{padding:1.28rem 2.9rem;letter-spacing:.21em}
.btn--sm{padding:.72rem 1.25rem;letter-spacing:.14em;font-size:.72rem}

/* Proporção do ícone Font Awesome: 448/512 = .875 */
.btn .ico-wa{width:1.006em;height:1.15em;flex:none;fill:currentColor}
.btn--lg .ico-wa{width:1.138em;height:1.3em}

/* Sheen */
.btn::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.42) 48%,transparent 66%);
  transform:translateX(-130%);
}
.btn:hover::after{transform:translateX(130%);transition:transform .85s var(--ease)}

.btn--gold{
  background:linear-gradient(158deg,var(--gold-xlt) 0%,var(--gold) 34%,var(--gold-dp) 100%);
  color:var(--ink-900);
  box-shadow:0 1px 0 rgba(255,255,255,.4) inset,0 10px 30px -12px rgba(214,168,40,.6);
}
.btn--gold:hover{transform:translateY(-2px);box-shadow:0 1px 0 rgba(255,255,255,.5) inset,0 18px 40px -14px rgba(214,168,40,.78)}

.btn--ghost{
  border:1px solid rgba(214,168,40,.42);
  color:var(--gold-lt);
  background:rgba(214,168,40,.05);
}
.btn--ghost:hover{background:rgba(214,168,40,.13);border-color:var(--gold);color:var(--gold-xlt);transform:translateY(-2px)}
.btn--ghost::after{background:linear-gradient(105deg,transparent 30%,rgba(240,208,122,.18) 48%,transparent 66%)}

.btn--ink{
  background:var(--ink-850);color:var(--gold-lt);
  border:1px solid rgba(255,255,255,.1);
  box-shadow:0 14px 40px -14px rgba(0,0,0,.7);
}
.btn--ink:hover{transform:translateY(-2px);background:var(--ink-900);color:var(--gold-xlt);box-shadow:0 22px 50px -16px rgba(0,0,0,.8)}
.btn--ink::after{background:linear-gradient(105deg,transparent 30%,rgba(240,208,122,.16) 48%,transparent 66%)}

@media (prefers-reduced-motion:reduce){
  .btn,.btn::after{transition:none!important}
  .btn:hover{transform:none}
}

/* ---------- 7. HEADER ---------- */
.hdr{
  position:fixed;top:0;left:0;right:0;z-index:90;
  transition:background .4s,backdrop-filter .4s,padding .4s;
  padding-block:.75rem;
}
.hdr.is-stuck{
  background:rgba(9,8,7,.86);
  backdrop-filter:blur(16px) saturate(1.2);
  -webkit-backdrop-filter:blur(16px) saturate(1.2);
}
.hdr__in{
  width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--pad);
  display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);
}
.hdr__rule{height:1px;background:var(--rule);opacity:0;transition:opacity .4s;margin-top:.75rem}
.hdr.is-stuck .hdr__rule{opacity:.4}

.hdr__brand{display:flex;align-items:center;gap:.7rem;flex:none}
.hdr__brand img{width:44px;height:44px;border-radius:50%;border:1px solid rgba(214,168,40,.35)}
.hdr__brand-txt{display:flex;flex-direction:column;line-height:1}
.hdr__brand-txt b{
  font-family:var(--f-disp);font-weight:400;font-size:1.05rem;
  letter-spacing:.16em;color:var(--gold);
}
.hdr__brand-txt i{
  font-family:var(--f-sans);font-style:normal;font-weight:300;
  font-size:.58rem;text-transform:uppercase;letter-spacing:.34em;
  color:var(--mute);margin-top:.28rem;
}

.hdr__nav{display:flex;gap:clamp(.9rem,2vw,1.9rem);margin-inline:auto}
.hdr__nav a{
  position:relative;
  font-size:.76rem;font-weight:400;text-transform:uppercase;letter-spacing:.15em;
  color:var(--fg-dim);padding-block:.4rem;transition:color .3s;
}
.hdr__nav a::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:left;
  transition:transform .45s var(--ease);
}
.hdr__nav a:hover{color:var(--gold-lt)}
.hdr__nav a:hover::after{transform:scaleX(1)}

.hdr__cta{flex:none}

@media (max-width:1080px){.hdr__nav{display:none}.hdr__cta{margin-left:auto}}
@media (max-width:560px){
  .hdr__brand-txt{display:none}
  .hdr__cta span{display:none}
  .hdr__cta{padding:.72rem .95rem}
  .hdr__cta .ico-wa{width:1.138em;height:1.3em}
}

/* ---------- 8. HERO ---------- */
.hero{
  position:relative;overflow:hidden;
  padding-top:clamp(7.5rem,14vw,11rem);
  padding-bottom:0;
  background:
    radial-gradient(115% 78% at 82% 8%,rgba(214,168,40,.12),transparent 58%),
    radial-gradient(90% 60% at 8% 92%,rgba(154,116,21,.09),transparent 60%),
    linear-gradient(180deg,var(--ink-900),var(--ink-850) 55%,var(--ink-800));
}
.hero__glow{
  position:absolute;top:-18%;right:-8%;width:min(760px,72vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(214,168,40,.2),transparent 62%);
  filter:blur(40px);pointer-events:none;
  animation:breathe 11s ease-in-out infinite;
}
@keyframes breathe{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.hero__glow{animation:none}}

.hero__mono{
  position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  font-family:var(--f-disp);font-size:min(42vw,40rem);line-height:1;
  letter-spacing:.02em;pointer-events:none;user-select:none;
  background:linear-gradient(180deg,rgba(214,168,40,.13),rgba(214,168,40,0) 78%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.hero__grid{
  position:relative;
  display:grid;grid-template-columns:1.05fr .82fr;
  gap:clamp(2rem,5vw,4.5rem);align-items:end;
  padding-bottom:clamp(3rem,6vw,5rem);
}
.hero__copy{padding-bottom:clamp(1rem,4vw,3.5rem)}

.hero__h1{
  font-family:var(--f-disp);font-weight:400;
  /* Máximo em 4rem: em Marcellus, "Medicina de precisão" cabe numa linha e o
     H1 fecha em 4 linhas, mantendo o CTA acima da dobra em telas de 768px. */
  font-size:clamp(2.3rem,1.25rem + 3.9vw,4rem);
  line-height:1.045;letter-spacing:-.014em;
  color:var(--bone);text-wrap:balance;
  margin-bottom:1.7rem;
}
/* Mesma fonte do H1 (Marcellus), mantendo só a cor dourada. */
.hero__h1 em{
  font-family:inherit;font-style:normal;font-weight:inherit;
  background:linear-gradient(100deg,var(--gold-xlt),var(--gold) 55%,var(--gold-dp));
  -webkit-background-clip:text;background-clip:text;color:transparent;
  padding-right:.06em;
}
.hero__h2{
  max-width:56ch;color:var(--fg-dim);text-wrap:pretty;
  font-size:clamp(1.125rem,1.075rem + .3vw,1.255rem);
  padding-left:clamp(.95rem,1.6vw,1.35rem);
  border-left:1px solid rgba(214,168,40,.26);
}
.hero__h2 strong{color:var(--bone);font-weight:400}

.hero__act{margin-top:2.4rem;display:flex;flex-direction:column;align-items:flex-start;gap:1.05rem}
.hero__act-note{
  font-size:.74rem;text-transform:uppercase;letter-spacing:.17em;
  color:var(--mute-2);
}

/* Figura do hero */
.hero__fig{position:relative;margin:0}
.hero__fig-frame{
  position:absolute;inset:auto auto -14px -14px;width:56%;height:62%;
  border-left:1px solid rgba(214,168,40,.5);
  border-bottom:1px solid rgba(214,168,40,.5);
  pointer-events:none;
}
.hero__fig picture{
  display:block;position:relative;
  -webkit-mask-image:linear-gradient(180deg,#000 62%,rgba(0,0,0,.35) 88%,transparent);
  mask-image:linear-gradient(180deg,#000 62%,rgba(0,0,0,.35) 88%,transparent);
}
.hero__fig img{
  width:100%;
  filter:grayscale(.32) contrast(1.06) brightness(.94);
  transition:filter .9s var(--ease);
}
.hero__fig:hover img{filter:grayscale(0) contrast(1.03) brightness(1)}
.hero__fig figcaption{
  position:absolute;left:0;bottom:clamp(1rem,4vw,2.6rem);
  display:flex;flex-direction:column;gap:.3rem;
  padding:.7rem 1.1rem;
  background:rgba(7,7,6,.72);backdrop-filter:blur(8px);
  border-left:2px solid var(--gold);
}
.hero__fig-name{font-family:var(--f-disp);font-size:.98rem;letter-spacing:.05em;color:var(--bone)}
.hero__fig-crm{font-size:.66rem;text-transform:uppercase;letter-spacing:.22em;color:var(--gold)}

@media (max-width:860px){
  .hero__grid{grid-template-columns:1fr;gap:2.5rem;align-items:start}
  .hero__fig{max-width:420px;margin-inline:auto;width:100%}
  .hero__mono{top:30%;font-size:min(64vw,26rem)}
}

/* Notebooks baixos (1366×768 e afins): comprime o respiro vertical do hero
   para o botão não cair abaixo da dobra. Só no layout de 2 colunas — no
   mobile empilhado a rolagem já é esperada. */
@media (min-width:861px) and (max-height:820px){
  .hero{padding-top:clamp(5.5rem,10vh,8rem)}
  .hero__h1{margin-bottom:1.2rem}
  .hero__act{margin-top:1.6rem}
  .hero__grid{padding-bottom:2rem}
}

/* Ticker institucional */
.ticker{
  position:relative;overflow:hidden;
  border-top:1px solid rgba(214,168,40,.16);
  border-bottom:1px solid rgba(214,168,40,.16);
  background:rgba(214,168,40,.032);
  padding-block:.95rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);
}
.ticker__row{
  display:flex;align-items:center;gap:1.6rem;width:max-content;
  animation:slide 42s linear infinite;
}
.ticker__row span{
  font-size:.72rem;font-weight:400;text-transform:uppercase;letter-spacing:.32em;
  color:var(--mute);white-space:nowrap;
}
.ticker__row i{font-size:.42rem;color:var(--gold);font-style:normal}
@keyframes slide{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker__row{animation:none}}

/* ---------- 9. SEÇÃO 2 — MÉTODO ---------- */
.sec--metodo{background:linear-gradient(180deg,var(--ink-800),var(--ink-850))}
.metodo__grid{display:grid;gap:clamp(2rem,4.5vw,3.6rem)}
.metodo__lede{max-width:36ch}

.metodo__card{
  position:relative;
  max-width:62ch;margin-left:auto;
  padding:clamp(1.7rem,3.5vw,2.9rem);
  background:linear-gradient(150deg,rgba(214,168,40,.055),rgba(255,255,255,.012));
  border:1px solid rgba(214,168,40,.16);
  border-radius:3px;
  color:var(--fg-dim);
}
.metodo__card::before{
  content:"";position:absolute;top:0;left:0;width:44px;height:1px;
  background:var(--gold);
}
.metodo__card::after{
  content:"";position:absolute;top:0;left:0;width:1px;height:44px;
  background:var(--gold);
}
.metodo__tag{
  font-family:var(--f-sans);font-weight:400;
  font-size:.7rem;text-transform:uppercase;letter-spacing:.28em;
  color:var(--gold);margin-bottom:1.15rem;
}
.metodo__card strong{color:var(--gold-lt);font-weight:400}

.metodo__bridge{
  position:relative;
  max-width:34ch;
  font-family:var(--f-disp);
  font-size:clamp(1.05rem,.95rem + .5vw,1.32rem);
  line-height:1.5;color:var(--bone);
  padding-bottom:3.5rem;
}
.arrow-dn{
  position:absolute;left:2px;bottom:0;width:20px;height:34px;
  fill:none;stroke:var(--gold);stroke-width:1.2;
  animation:nudge 2.4s ease-in-out infinite;
}
@keyframes nudge{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(7px);opacity:1}}
@media (prefers-reduced-motion:reduce){.arrow-dn{animation:none}}

@media (min-width:900px){
  .metodo__grid{grid-template-columns:1fr 1fr;align-items:start}
  .metodo__lede{grid-column:1;padding-top:.5rem}
  .metodo__card{grid-column:2;grid-row:1 / span 2}
  .metodo__bridge{grid-column:1}
}

/* ---------- 10. SEÇÃO 3 — PLANOS ---------- */
.sec--planos{background:var(--ink-850)}
.sec--planos::before{
  content:"";position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:min(100%,var(--max));height:1px;background:var(--rule);opacity:.35;
}
/* align-items fica no stretch padrão: as colunas 1 e 3 esticam até a altura
   da coluna central, e o margin-top:auto do botão alinha os três rodapés. */
.planos{
  display:grid;grid-template-columns:1fr;
  gap:clamp(1.5rem,2.5vw,1.9rem);
}
@media (max-width:999px){
  .planos>.plano:nth-child(1){order:2}
  .planos>.plano:nth-child(2){order:1}
  .planos>.plano:nth-child(3){order:3}
}
@media (min-width:1000px){
  .planos{grid-template-columns:1fr 1.13fr 1fr;gap:0}
}

.plano{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(1.6rem,2.8vw,2.3rem);
  background:linear-gradient(178deg,rgba(255,255,255,.026),rgba(255,255,255,.008));
  border:1px solid rgba(255,255,255,.075);
  border-radius:3px;
  transition:border-color .5s,background .5s,transform .5s var(--ease);
}
.plano:hover{border-color:rgba(214,168,40,.3);background:linear-gradient(178deg,rgba(214,168,40,.045),rgba(255,255,255,.01))}
@media (min-width:1000px){
  .plano:not(.plano--hero){margin-block:clamp(1.2rem,2.6vw,2.4rem)}
  .planos>.plano:first-child{border-right-color:transparent;border-radius:3px 0 0 3px}
  .planos>.plano:last-child{border-left-color:transparent;border-radius:0 3px 3px 0}
}

/* Card central em destaque */
.plano--hero{
  background:
    linear-gradient(170deg,rgba(214,168,40,.13),rgba(214,168,40,.03) 45%,rgba(255,255,255,.014)),
    var(--ink-750);
  border:1px solid rgba(214,168,40,.4);
  box-shadow:0 30px 70px -30px rgba(0,0,0,.85),0 0 0 1px rgba(214,168,40,.07);
  z-index:2;
}
.plano--hero:hover{border-color:rgba(214,168,40,.6);transform:translateY(-3px)}
@media (min-width:1000px){.plano--hero{border-radius:3px}}

.plano__flag{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  margin:calc(-1 * clamp(1.6rem,2.8vw,2.3rem)) calc(-1 * clamp(1.6rem,2.8vw,2.3rem)) clamp(1.5rem,2.6vw,2rem);
  padding:.72rem 1rem;
  background:linear-gradient(100deg,var(--gold-dp),var(--gold) 48%,var(--gold-dp));
  color:var(--ink-900);
  font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.24em;
  border-radius:2px 2px 0 0;
}
.plano__flag span{font-size:.78rem;letter-spacing:0}

.plano__hd{margin-bottom:1.4rem}
.plano__nome{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.18rem,1.05rem + .5vw,1.48rem);
  line-height:1.25;color:var(--bone);letter-spacing:-.002em;
}
.plano__nome span{display:block;font-size:.72em;color:var(--gold);margin-top:.3rem;letter-spacing:.03em}
.plano__sub{
  margin-top:.85rem;font-size:1.045rem;line-height:1.62;color:var(--fg-dim);
}

/* Preço */
.plano__preco{
  padding-block:1.15rem;margin-bottom:1.4rem;
  border-top:1px solid rgba(214,168,40,.18);
  border-bottom:1px solid rgba(214,168,40,.18);
  display:flex;flex-direction:column;gap:.3rem;
}
.plano__preco-lbl{
  font-size:.66rem;text-transform:uppercase;letter-spacing:.26em;color:var(--gold);
}
.plano__preco-val{
  font-family:var(--f-sans);font-weight:600;
  font-size:clamp(1.5rem,1.25rem + .95vw,2.05rem);
  line-height:1.15;color:var(--bone);letter-spacing:.002em;
}
.plano__preco-val small{
  font-family:var(--f-sans);font-weight:300;font-size:.42em;
  text-transform:uppercase;letter-spacing:.15em;color:var(--mute);
  margin-left:.2em;white-space:nowrap;
}
.plano__preco-parc{
  font-family:var(--f-sans);font-weight:300;
  font-size:.74rem;text-transform:uppercase;letter-spacing:.2em;color:var(--mute);
}
.plano__preco-alt{
  font-family:var(--f-sans);font-weight:500;font-size:1.15rem;color:var(--fg-dim);
}
.plano__preco-alt small{
  font-family:var(--f-sans);font-weight:300;font-size:.56em;
  text-transform:uppercase;letter-spacing:.14em;color:var(--mute-2);margin-left:.2em;
}
.plano__preco--big .plano__preco-val{
  font-size:clamp(1.7rem,1.3rem + 1.5vw,2.45rem);
  background:linear-gradient(115deg,var(--gold-xlt),var(--gold) 52%,var(--gold-dp));
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

/* Toggle segmentado */
.seg{
  position:relative;display:grid;grid-template-columns:1fr 1fr;
  padding:4px;margin-bottom:1.5rem;
  background:rgba(0,0,0,.42);
  border:1px solid rgba(214,168,40,.22);
  border-radius:2px;
}
.seg__pill{
  position:absolute;top:4px;left:4px;
  width:calc(50% - 4px);height:calc(100% - 8px);
  background:linear-gradient(150deg,var(--gold-lt),var(--gold) 50%,var(--gold-dp));
  border-radius:1px;
  transition:transform .48s var(--ease);
}
.seg.is-2 .seg__pill{transform:translateX(100%)}
.seg__btn{
  position:relative;z-index:1;padding:.68rem .4rem;
  font-family:var(--f-sans);font-weight:500;font-size:.72rem;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--fg-dim);transition:color .35s;
}
.seg__btn.is-on{color:var(--ink-900)}
.seg__btn:not(.is-on):hover{color:var(--gold-lt)}
@media (prefers-reduced-motion:reduce){.seg__pill{transition:none}}

.pnl{display:flex;flex-direction:column;flex:1;animation:pnlIn .5s var(--ease) both}
/* Obrigatório: a regra do autor vence a do navegador para [hidden], então sem
   isto o display:flex acima deixaria os dois painéis visíveis ao mesmo tempo. */
.pnl[hidden]{display:none}
@keyframes pnlIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.pnl{animation:none}}

/* Lista de itens */
.feats{display:flex;flex-direction:column;gap:.78rem;margin-bottom:1.8rem}
.feats li{
  position:relative;padding-left:1.9rem;
  font-size:1.02rem;line-height:1.6;
}
.feats li::before{
  position:absolute;left:0;top:.12em;
  width:1.2rem;height:1.2rem;
  display:grid;place-items:center;
  border-radius:50%;font-size:.62rem;font-weight:600;
}
.feats .ok{color:var(--fg)}
.feats .ok::before{
  content:"✓";
  background:rgba(214,168,40,.14);
  border:1px solid rgba(214,168,40,.42);
  color:var(--gold-lt);
}
.feats .no{color:var(--mute-2)}
.feats .no::before{
  content:"✕";
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.11);
  color:var(--mute-2);
  font-size:.55rem;
}
.plano--hero .feats .ok::before{background:rgba(214,168,40,.2);border-color:rgba(214,168,40,.6)}

.plano__nota{
  padding:.95rem 1.1rem;margin-bottom:1.6rem;
  background:rgba(255,255,255,.028);
  border-left:2px solid rgba(214,168,40,.45);
  font-family:var(--f-sans);font-style:italic;font-weight:300;
  font-size:1.125rem;line-height:1.55;color:var(--fg-dim);
}
.plano__nota strong{font-style:normal;font-family:var(--f-sans);font-weight:500;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--gold)}

.plano__cta{margin-top:auto;width:100%}

/* ---------- 11. SEÇÃO 4 — 360° ---------- */
.sec--360{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--ink-850),var(--ink-900) 50%,var(--ink-850));
}
.sec--360__glow{
  position:absolute;left:50%;top:-20%;transform:translateX(-50%);
  width:min(1000px,110vw);aspect-ratio:2/1;
  background:radial-gradient(ellipse,rgba(214,168,40,.14),transparent 65%);
  filter:blur(30px);pointer-events:none;
}
.c360__bridge{
  max-width:70ch;margin:0 auto clamp(2.5rem,5vw,3.8rem);
  text-align:center;color:var(--fg-dim);text-wrap:pretty;
}
.c360__grid{display:grid;gap:clamp(1.4rem,2.5vw,2rem);grid-template-columns:1fr}
@media (min-width:820px){.c360__grid{grid-template-columns:1fr 1fr}}

.c360{
  position:relative;display:flex;flex-direction:column;
  padding:clamp(1.7rem,3vw,2.6rem);
  background:linear-gradient(165deg,rgba(214,168,40,.075),rgba(255,255,255,.012));
  border:1px solid rgba(214,168,40,.24);
  border-radius:3px;
  transition:border-color .5s,transform .5s var(--ease),box-shadow .5s;
}
.c360:hover{border-color:rgba(214,168,40,.5);transform:translateY(-4px);box-shadow:0 30px 60px -28px rgba(0,0,0,.8)}
.c360__nome{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.3rem,1.1rem + .7vw,1.7rem);
  color:var(--gold-lt);margin-bottom:1.5rem;letter-spacing:-.003em;
}
.c360__list{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.8rem}
/* Exatamente 2 itens de grid por li: o <b> e o <span> que envolve o texto.
   Sem o <span>, o <i> quebraria a sequência de texto e viraria um 3º item. */
.c360__list li{
  display:grid;grid-template-columns:2.4rem 1fr;gap:.5rem;align-items:baseline;
  padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.06);
  font-size:1.02rem;line-height:1.6;color:var(--fg);
}
.c360__list li:last-child{border-bottom:0;padding-bottom:0}
.c360__list b{
  font-family:var(--f-sans);font-weight:500;font-size:1.6rem;line-height:1.1;
  text-align:left;color:var(--gold);
}
.c360__list i{
  display:block;font-family:var(--f-sans);font-weight:300;font-style:italic;
  font-size:.95rem;color:var(--mute);margin-top:.25rem;
}
.c360__fine{
  max-width:64ch;margin:clamp(2rem,4vw,3rem) auto 0;text-align:center;
  font-family:var(--f-sans);font-style:italic;font-weight:300;
  font-size:1.045rem;color:var(--mute);
}

/* ---------- 12. SEÇÃO 5 — EVOLUÇÃO GUIADA (claro) ---------- */
.sec--evo{
  background:
    radial-gradient(80% 60% at 100% 0%,rgba(214,168,40,.12),transparent 60%),
    linear-gradient(170deg,var(--bone),var(--bone-2));
  color:var(--ink-750);
}
.sec--evo::before,.sec--evo::after{
  content:"";position:absolute;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
}
.sec--evo::before{top:0}
.sec--evo::after{bottom:0}

.evo__grid{display:grid;gap:clamp(2.2rem,4.5vw,4rem);align-items:start}
@media (min-width:900px){.evo__grid{grid-template-columns:1fr .92fr}}

.evo__lede{margin-top:1.5rem;color:#413A2C;text-wrap:pretty}
.evo__out{
  margin-top:2rem;padding-left:1.35rem;
  border-left:2px solid var(--gold);
  font-family:var(--f-sans);font-weight:300;
  font-size:clamp(1.175rem,1.105rem + .35vw,1.365rem);
  font-style:italic;line-height:1.6;color:var(--ink-700);
}

/* "Ficha clínica" */
.evo__sheet{
  position:relative;
  padding:clamp(1.5rem,3vw,2.4rem);
  background:#FBF9F3;
  border:1px solid rgba(107,79,12,.2);
  border-radius:3px;
  box-shadow:0 26px 55px -30px rgba(45,33,10,.45);
}
/* Sem pauta de fundo e sem linha no cabeçalho: a única divisória visível
   é a que separa os itens da lista (.evo__list li+li). */
.evo__sheet-hd{
  position:relative;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  padding-bottom:.4rem;margin-bottom:1.1rem;
}
.evo__sheet-tag{
  font-size:.68rem;font-weight:500;text-transform:uppercase;letter-spacing:.26em;
  color:var(--gold-dpr);
}
.evo__sheet-mono{
  font-family:var(--f-disp);font-size:1.05rem;letter-spacing:.2em;color:var(--gold-dpr);
}
.evo__list{position:relative;counter-reset:evo;display:flex;flex-direction:column}
.evo__list li{
  counter-increment:evo;
  display:grid;grid-template-columns:1.55rem 1fr;gap:.9rem;align-items:start;
  padding-block:.72rem;
  font-size:1.055rem;line-height:1.55;color:#3B3427;
}
.evo__list li+li{border-top:1px solid rgba(107,79,12,.16)}
.evo__list li::before{
  content:counter(evo,decimal-leading-zero);
  font-family:var(--f-sans);font-weight:400;font-size:.68rem;letter-spacing:.1em;
  color:var(--gold-dpr);   /* 7,3:1 sobre a ficha creme — texto pequeno precisa disso */
  padding-top:.28em;
}

/* ---------- 13. SEÇÃO 6 — INFORMAÇÕES ---------- */
.sec--info{background:linear-gradient(180deg,var(--ink-800),var(--ink-850))}
.info__grid{display:grid;gap:clamp(1.5rem,3vw,2.4rem);grid-template-columns:1fr}
@media (min-width:820px){.info__grid{grid-template-columns:1fr 1fr}}

.info{
  position:relative;
  padding:clamp(1.6rem,3vw,2.4rem);
  padding-top:clamp(2.4rem,4vw,3.2rem);
  background:linear-gradient(160deg,rgba(255,255,255,.028),rgba(255,255,255,.006));
  border:1px solid rgba(255,255,255,.08);
  border-top:1px solid rgba(214,168,40,.42);
  border-radius:3px;
  color:var(--fg-dim);
  transition:border-color .5s,background .5s;
}
.info:hover{border-color:rgba(214,168,40,.32);border-top-color:var(--gold);background:linear-gradient(160deg,rgba(214,168,40,.05),rgba(255,255,255,.008))}
.info__num{
  position:absolute;top:1.1rem;right:1.4rem;
  font-family:var(--f-acc);font-weight:600;font-size:2.6rem;line-height:1;
  color:rgba(214,168,40,.16);
}
.info__h3{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.18rem,1.05rem + .5vw,1.45rem);
  color:var(--gold-lt);margin-bottom:1rem;
}
.info__fine{
  margin-top:1rem;font-family:var(--f-acc);font-style:italic;
  font-size:.98rem;color:var(--mute-2);
}
.info__act{display:flex;justify-content:center;margin-top:clamp(2.5rem,5vw,4rem)}

/* ---------- 14. SEÇÃO 7 — ÁREAS + MOSAICO ---------- */
.sec--areas{background:var(--ink-850)}
.mosaic{
  display:grid;gap:clamp(.5rem,1vw,.85rem);
  grid-template-columns:repeat(2,1fr);
  grid-auto-rows:clamp(140px,26vw,220px);
  margin-top:clamp(3rem,6vw,5rem);
}
.mosaic__i{position:relative;margin:0;overflow:hidden;border-radius:2px;background:var(--ink-700)}
/* picture é inline por padrão — sem isto o height:100% da img não tem referência */
.mosaic__i picture{display:block;width:100%;height:100%}
.mosaic__i img{
  width:100%;height:100%;object-fit:cover;
  /* fotos de retrato entram em células largas — priorizar o topo evita
     cortar rostos pela boca quando o recorte centralizado cairia no peito */
  object-position:center 12%;
  filter:grayscale(.45) contrast(1.05) brightness(.9);
  transition:filter .8s var(--ease),transform 1.1s var(--ease);
}
.mosaic__i--a img,.mosaic__i--c img{object-position:center 22%}
.mosaic__i::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(7,7,6,.05),rgba(7,7,6,.5));
  transition:opacity .7s;
}
.mosaic__i:hover img{filter:grayscale(0) contrast(1.02) brightness(1);transform:scale(1.045)}
.mosaic__i:hover::after{opacity:.35}
.mosaic__i--a{grid-column:1 / span 2;grid-row:1 / span 2}

@media (min-width:760px){
  .mosaic{
    grid-template-columns:1.22fr 1fr 1fr 1.22fr;
    grid-template-rows:repeat(2,clamp(160px,20vw,270px));
    grid-auto-rows:auto;
  }
  .mosaic__i--a{grid-column:1;grid-row:1 / span 2}
  .mosaic__i--b{grid-column:2 / span 2;grid-row:1}
  .mosaic__i--c{grid-column:4;grid-row:1 / span 2}
  .mosaic__i--d{grid-column:2;grid-row:2}
  .mosaic__i--e{grid-column:3;grid-row:2}
}

.clinica-endereco{
  display:flex;align-items:flex-start;gap:.65rem;
  margin-top:clamp(1.6rem,3vw,2.2rem);
  padding-top:clamp(1.2rem,2.5vw,1.6rem);
  border-top:1px solid rgba(214,168,40,.28);
  color:var(--gold-lt);
  font-size:clamp(1.05rem,1.2vw,1.15rem);
  font-style:normal;
  line-height:1.55;
}
.clinica-endereco__icon{flex:0 0 auto;margin-top:.15rem;color:var(--gold)}
.clinica-endereco p{margin:0}
.clinica-endereco strong{color:var(--gold-xlt);font-weight:600}

.areas__grid{display:grid;gap:clamp(1.6rem,3.5vw,3rem);grid-template-columns:1fr}
@media (min-width:820px){.areas__grid{grid-template-columns:1.1fr 1fr}}

.areas{padding-top:1.6rem;border-top:1px solid rgba(214,168,40,.28)}
.areas__h3{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.32rem,1.15rem + .65vw,1.75rem);
  color:var(--bone);margin-bottom:1.5rem;
}
.areas__h3 em{font-family:var(--f-acc);font-style:italic;font-weight:600;color:var(--gold)}
.areas__list{display:flex;flex-wrap:wrap;gap:.55rem}
.areas__list li{
  padding:.5rem 1rem;
  background:rgba(214,168,40,.055);
  border:1px solid rgba(214,168,40,.2);
  border-radius:2px;
  font-size:.975rem;letter-spacing:.02em;color:var(--fg);
  transition:background .4s,border-color .4s,color .4s;
}
.areas__list li:hover{background:rgba(214,168,40,.14);border-color:rgba(214,168,40,.48);color:var(--gold-xlt)}

/* ---------- 15. SEÇÃO 8 — BIO ---------- */
.sec--bio{
  background:
    radial-gradient(70% 55% at 0% 30%,rgba(214,168,40,.085),transparent 60%),
    linear-gradient(180deg,var(--ink-850),var(--ink-900));
}
.bio__grid{display:grid;gap:clamp(2.2rem,5vw,4.5rem);align-items:center}
@media (min-width:900px){.bio__grid{grid-template-columns:.86fr 1fr}}

.bio__fig{position:relative;margin:0}
.bio__fig picture{display:block;overflow:hidden;border-radius:3px}
.bio__fig img{
  width:100%;
  filter:grayscale(.3) contrast(1.07) brightness(.93);
  transition:filter .9s var(--ease),transform 1.2s var(--ease);
}
.bio__fig:hover img{filter:grayscale(0) contrast(1.02) brightness(1);transform:scale(1.02)}
.bio__fig-rule{
  position:absolute;inset:auto -16px -16px auto;width:52%;height:48%;
  border-right:1px solid rgba(214,168,40,.5);
  border-bottom:1px solid rgba(214,168,40,.5);
  pointer-events:none;
}

.bio__copy{display:flex;flex-direction:column;gap:1.25rem;color:var(--fg-dim)}
.bio__copy .sec__h2{margin-bottom:0}
.bio__copy strong{color:var(--bone);font-weight:400}
.bio__crm{
  font-family:var(--f-sans);font-weight:400;
  font-size:.72rem;text-transform:uppercase;letter-spacing:.26em;
  color:var(--gold);margin-top:-.35rem;
}
.bio__pull{
  margin-top:.5rem;padding-left:1.4rem;
  border-left:1px solid rgba(214,168,40,.45);
  font-family:var(--f-acc);font-style:italic;font-weight:400;
  font-size:clamp(1.08rem,1rem + .42vw,1.3rem);
  line-height:1.55;color:var(--bone);
}

/* ---------- 16. CTA FINAL ---------- */
.cta{
  position:relative;overflow:hidden;
  padding-block:clamp(4.5rem,10vw,8rem);
  background:
    radial-gradient(120% 90% at 50% 0%,var(--gold-xlt),transparent 55%),
    linear-gradient(160deg,var(--gold-lt) 0%,var(--gold) 42%,var(--gold-dp) 100%);
  text-align:center;
}
.cta::before,.cta::after{
  content:"";position:absolute;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,rgba(7,7,6,.4),transparent);
}
.cta::before{top:0}
.cta::after{bottom:0}
.cta__glow{
  position:absolute;left:50%;bottom:-40%;transform:translateX(-50%);
  width:min(900px,105vw);aspect-ratio:1;
  background:radial-gradient(circle,rgba(255,255,255,.3),transparent 60%);
  pointer-events:none;
}
.cta__in{position:relative;max-width:62rem;display:flex;flex-direction:column;align-items:center}
.cta__h2{
  font-family:var(--f-disp);font-weight:400;
  font-size:clamp(1.95rem,1.2rem + 3.1vw,3.5rem);
  line-height:1.12;letter-spacing:-.012em;
  color:var(--ink-900);text-wrap:balance;
  margin-bottom:1.6rem;
}
/* O gradiente do bloco chega a --gold-dp no canto inferior, onde até o preto
   puro rende só 4,9:1 — por isso os textos aqui são quase pretos. */
.cta__h2 em{
  font-family:var(--f-acc);font-style:italic;font-weight:600;
  color:#3A2A05;         /* 3,2:1 no pior ponto — AA para texto grande */
}
.cta__sub{
  max-width:60ch;margin-bottom:2.6rem;
  color:#0F0B02;         /* 4,6:1 no pior ponto — AA para texto normal */
  text-wrap:pretty;
  font-size:clamp(1.125rem,1.085rem + .24vw,1.225rem);
}

/* ---------- 17. FOOTER ---------- */
.ft{
  padding-block:clamp(2.6rem,5vw,4rem);
  background:var(--ink-900);
  border-top:1px solid rgba(214,168,40,.14);
}
.ft__in{
  display:flex;flex-direction:row;align-items:center;
  justify-content:space-between;gap:2rem;flex-wrap:wrap;
}
.ft__logo{width:clamp(180px,26vw,250px);height:auto;opacity:.9}
.ft__txt{display:flex;flex-direction:column;gap:.45rem;text-align:right}
.ft__crm{font-size:.72rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold)}
.ft__copy{font-size:.8rem;color:var(--mute-2);letter-spacing:.03em}

@media (max-width:640px){
  .ft__in{flex-direction:column;justify-content:center;text-align:center;gap:1.4rem}
  .ft__txt{text-align:center}
}

/* ---------- 18. WHATSAPP FLUTUANTE ---------- */
.wa-float{
  position:fixed;right:clamp(1rem,2.5vw,1.9rem);bottom:clamp(1rem,2.5vw,1.9rem);
  z-index:95;
  display:flex;align-items:center;gap:0;
  height:60px;width:60px;padding:0;
  border-radius:999px;
  background:linear-gradient(150deg,var(--gold-lt),var(--gold) 46%,var(--gold-dp));
  color:var(--ink-900);
  box-shadow:0 12px 32px -8px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.18) inset;
  overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(16px) scale(.85);
  transition:opacity .5s var(--ease),transform .5s var(--ease),width .5s var(--ease),visibility .5s;
}
.wa-float.is-on{opacity:1;visibility:visible;transform:none}
.wa-float svg{width:28px;height:32px;fill:currentColor;flex:none;margin-inline:16px}
.wa-float__lbl{
  white-space:nowrap;opacity:0;
  font-family:var(--f-sans);font-weight:500;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.13em;
  padding-right:1.4rem;
  transition:opacity .35s;
}
.wa-float__ring{
  position:absolute;inset:0;border-radius:999px;
  border:2px solid var(--gold);
  animation:pulse 2.8s ease-out infinite;
}
@keyframes pulse{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(1.45);opacity:0}
  100%{transform:scale(1.45);opacity:0}
}
@media (hover:hover){
  .wa-float:hover{width:255px;box-shadow:0 16px 40px -8px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.26) inset}
  .wa-float:hover .wa-float__lbl{opacity:1;transition-delay:.1s}
  .wa-float:hover .wa-float__ring{animation-play-state:paused;opacity:0}
}
.wa-float:focus-visible{width:255px}
.wa-float:focus-visible .wa-float__lbl{opacity:1}
@media (prefers-reduced-motion:reduce){.wa-float__ring{animation:none;opacity:0}}

/* ---------- 19. BARRA MOBILE ---------- */
.mbar{
  position:fixed;left:0;right:0;bottom:0;z-index:96;
  display:none;
  padding:.7rem clamp(.75rem,3vw,1.1rem) calc(.7rem + env(safe-area-inset-bottom));
  background:rgba(9,8,7,.94);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-top:1px solid rgba(214,168,40,.28);
  transform:translateY(110%);
  transition:transform .5s var(--ease);
}
.mbar.is-on{transform:none}
.mbar__btn{width:100%;padding-block:1.02rem}

@media (max-width:720px){
  .mbar{display:block}
  .wa-float{display:none}
  .cta{padding-bottom:clamp(6rem,14vw,8rem)}
}

/* ---------- 20. REVEAL ---------- */
/* Só esconde se o JS estiver ativo (a classe .js vem de um script
   inline no <head>). Sem JS, todo o conteúdo permanece visível. */
.js .reveal{opacity:0;transform:translateY(26px);will-change:opacity,transform}
.js .reveal.is-in{
  opacity:1;transform:none;
  transition:opacity .95s var(--ease),transform .95s var(--ease);
}
.js .reveal[data-d="1"].is-in{transition-delay:.11s}
.js .reveal[data-d="2"].is-in{transition-delay:.22s}
.js .reveal[data-d="3"].is-in{transition-delay:.33s}

@media (prefers-reduced-motion:reduce){
  .js .reveal{opacity:1!important;transform:none!important;transition:none!important}
}

/* ---------- 21. PRINT ---------- */
@media print{
  .hdr,.wa-float,.mbar,.grain,.ticker,.hero__glow,.hero__mono{display:none!important}
  body{background:#fff;color:#000}
  .reveal{opacity:1;transform:none}
  .pnl[hidden]{display:flex!important}
}
