/* =========================================================================
   Clínica Dra. Paula Andrade — sistema de design autoral
   Serif: Fraunces (editorial, óptica variável) · Sans: Inter (minimal)
   ========================================================================= */

:root{
  /* cor — luxo silencioso */
  --white:        #ffffff;
  --paper:        #faf6f0;   /* off-white base, nunca branco puro */
  --paper-deep:   #f3ecdf;   /* champagne claro */
  --champagne:    #e9dcc4;
  --rose:         #f1e2da;   /* rosé extremamente suave */
  --rose-deep:    #e3c9bd;
  --ink:          #2a2420;   /* quase-preto quente, nunca #000 */
  --ink-soft:     #55493f;
  --warm-gray:    #948a80;
  --hair:         rgba(42,36,32,.14);
  --hair-light:   rgba(255,255,255,.16);
  --espresso:     #211b17;   /* fundo dos capítulos escuros */
  --espresso-2:   #2b231d;
  --gold:         #a9835a;   /* dourado acetinado, nunca brilhante */
  --gold-soft:    rgba(169,131,90,.35);
  --gold-ghost:   rgba(169,131,90,.14);

  /* tipografia */
  --serif: "Fraunces", "Iowan Old Style", serif;
  --sans:  "Inter", -apple-system, "Segoe UI", sans-serif;

  --fs-display: clamp(2.6rem, 8vw, 8rem);
  --fs-h2:      clamp(2.1rem, 5vw, 4.4rem);
  --fs-h3:      clamp(1.4rem, 2.6vw, 2.1rem);
  --fs-lede:    clamp(1.05rem, 1.7vw, 1.4rem);
  --fs-body:    1rem;
  --fs-label:   .72rem;

  /* ritmo / espaço negativo */
  --space-xs: clamp(.6rem, 1vw, 1rem);
  --space-s:  clamp(1.2rem, 2.4vw, 2rem);
  --space-m:  clamp(2.4rem, 5vw, 4.4rem);
  --space-l:  clamp(4rem, 8vw, 7rem);
  --space-xl: clamp(6rem, 13vw, 11rem);
  --gutter:   clamp(1.4rem, 6vw, 6.4rem);

  --ease-silk: cubic-bezier(.16,.84,.28,1);
  --ease-soft: cubic-bezier(.22,.61,.36,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:auto; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:var(--fs-body);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,p,figure{ margin:0; }
ul{ margin:0; padding:0; list-style:none; }
button{ font:inherit; color:inherit; background:none; border:0; cursor:pointer; }
::selection{ background:var(--ink); color:var(--paper); }

/* film-grain sutil — nunca branco totalmente liso */
body::before{
  content:"";
  position:fixed; inset:0;
  z-index:2;
  pointer-events:none;
  opacity:.035;
  mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.reveal-lock{ visibility:hidden; }

/* ---------- cursor autoral ---------- */
.cursor{
  position:fixed; top:0; left:0;
  width:9px; height:9px;
  border-radius:50%;
  background:var(--ink);
  pointer-events:none;
  z-index:999;
  mix-blend-mode:difference;
  transform:translate3d(-50%,-50%,0);
  will-change:transform;
}
.cursor-ring{
  position:fixed; top:0; left:0;
  width:38px; height:38px;
  border-radius:50%;
  border:1px solid var(--ink);
  pointer-events:none;
  z-index:998;
  mix-blend-mode:difference;
  transform:translate3d(-50%,-50%,0) scale(1);
  transition:width .4s var(--ease-soft), height .4s var(--ease-soft), opacity .4s var(--ease-soft);
  opacity:.55;
  will-change:transform,width,height;
}
.cursor-ring.is-media{ width:88px; height:88px; opacity:.9; }
.cursor-ring.is-media::after{
  content:attr(data-label);
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--sans); font-size:.62rem; letter-spacing:.16em; text-transform:uppercase;
  color:var(--paper); mix-blend-mode:normal;
}
.cursor-ring.is-link{ width:54px; height:54px; opacity:.7; }
@media (hover:none), (pointer:coarse){
  .cursor,.cursor-ring{ display:none; }
}

/* ---------- nav ---------- */
.nav{
  position:fixed; top:0; left:0; right:0;
  z-index:60;
  display:flex; align-items:center; justify-content:space-between;
  padding:1.9rem var(--gutter);
  color:var(--paper);
  transition:padding .6s var(--ease-silk), background-color .6s var(--ease-silk), color .6s var(--ease-silk), border-color .6s var(--ease-silk);
  border-bottom:1px solid transparent;
}
.nav.is-condensed{
  padding:1rem var(--gutter);
  background:rgba(250,246,240,.86);
  color:var(--ink);
  border-bottom-color:var(--hair);
  backdrop-filter:none;
}
.nav__mark{ display:flex; align-items:center; }
.nav__mark img{
  height:82px; width:auto;
  transition:height .6s var(--ease-silk);
}
.nav.is-condensed .nav__mark img{ height:58px; }
.nav__list{
  display:flex; gap:clamp(1rem,2vw,2.1rem);
  font-size:.72rem; letter-spacing:.11em; text-transform:uppercase;
}
.nav__list a{ position:relative; padding-bottom:2px; }
.nav__list a::after{
  content:""; position:absolute; left:0; bottom:-2px; height:1px; width:0;
  background:currentColor; transition:width .45s var(--ease-silk);
}
.nav__list a:hover::after{ width:100%; }
.nav__cta{
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  border:1px solid currentColor; border-radius:999px;
  padding:.62rem 1.3rem;
  position:relative; overflow:hidden;
}
.nav__cta span{ position:relative; z-index:1; }
.nav__toggle{ display:none; }
.nav__mobile{
  position:fixed; inset:0; z-index:59;
  background:var(--paper); color:var(--ink);
  display:flex; flex-direction:column; justify-content:center; gap:1.4rem;
  padding:var(--gutter);
  transform:translateY(-100%);
  transition:transform .6s var(--ease-silk);
}
.nav__mobile.is-open{ transform:translateY(0); }
.nav__mobile a{ font-family:var(--serif); font-size:2.1rem; }
@media (max-width: 860px){
  .nav__list{ display:none; }
  .nav__cta{ display:none; }
  .nav__toggle{ display:block; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; z-index:61; position:relative; }
  .nav__mark img{ height:42px; }
  .nav.is-condensed .nav__mark img{ height:32px; }
}
@media (min-width: 861px){ .nav__mobile{ display:none; } }

/* ---------- ctas autorais ---------- */
.cta-line{
  display:inline-flex; align-items:center; gap:.55rem;
  font-size:.82rem; letter-spacing:.09em; text-transform:uppercase;
  padding-bottom:.35rem;
  border-bottom:1px solid var(--hair);
  position:relative;
}
.cta-line::before{
  content:""; position:absolute; left:0; bottom:-1px; height:1px; width:0;
  background:var(--ink); transition:width .5s var(--ease-silk);
}
.cta-line:hover::before{ width:100%; }
.cta-line svg{ width:13px; height:9px; transition:transform .4s var(--ease-silk); }
.cta-line:hover svg{ transform:translateX(5px); }
.cta-line--light{ color:var(--paper); border-color:var(--hair-light); }
.cta-line--light::before{ background:var(--paper); }

.cta-pill{
  --mx:50%; --my:50%;
  position:relative; overflow:hidden;
  display:inline-block;
  padding:1.05rem 2.3rem;
  border-radius:999px;
  border:1px solid var(--gold-soft);
  font-size:.74rem; letter-spacing:.15em; text-transform:uppercase;
  color:var(--ink);
}
.cta-pill span{ position:relative; z-index:1; transition:color .5s var(--ease-silk); }
.cta-pill::after{
  content:""; position:absolute; z-index:0;
  left:var(--mx); top:var(--my);
  width:14px; height:14px; margin:-7px;
  border-radius:50%; background:var(--ink);
  transform:scale(0); transition:transform .65s var(--ease-silk);
}
.cta-pill:hover::after{ transform:scale(22); }
.cta-pill:hover span{ color:var(--paper); }
.cta-pill--dark{ border-color:rgba(250,246,240,.28); color:var(--paper); }
.cta-pill--dark::after{ background:var(--paper); }
.cta-pill--dark:hover span{ color:var(--ink); }

/* ---------- utilidades editoriais ---------- */
.section{ position:relative; padding:var(--space-xl) var(--gutter); }
.section--dark{ background:var(--espresso); color:var(--paper); }
.eyebrow{
  display:inline-flex; align-items:center;
  font-size:var(--fs-label); letter-spacing:.24em; text-transform:uppercase;
  color:var(--gold);
}
.display{ font-family:var(--serif); font-weight:340; line-height:.98; letter-spacing:-.01em; overflow-wrap:break-word; }
.display em{ font-style:italic; font-weight:400; }
h2.display{ font-size:var(--fs-h2); }
h3.display{ font-size:var(--fs-h3); font-weight:400; }
.lede{ font-size:var(--fs-lede); color:var(--ink-soft); font-weight:400; max-width:38ch; margin-top:var(--space-s); }
.section--dark .lede{ color:rgba(250,246,240,.72); }
.hairline{ height:1px; background:var(--hair); border:0; margin:0; }
.section--dark .hairline{ background:var(--hair-light); }

.mask{ overflow:hidden; display:block; }
.split-line{ display:block; }

.lazy-img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.08); opacity:0;
  transition:transform 1.6s var(--ease-silk), opacity 1.1s var(--ease-soft), filter 1.3s var(--ease-soft);
  filter:blur(14px) saturate(.9);
}
.lazy-img.is-visible{ transform:scale(1); opacity:1; filter:blur(0) saturate(1); }
.frame{ position:relative; overflow:hidden; background:var(--champagne); }
.frame::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(42,36,32,0) 60%, rgba(42,36,32,.14) 100%);
  pointer-events:none;
}

/* =========================================================================
   HERO
   ========================================================================= */
.hero{
  position:relative;
  min-height:100svh;
  display:grid;
  padding:0;
  background:var(--ink);
  overflow:hidden;
}
.hero__media{ position:absolute; inset:0; }
.hero__media img{
  width:100%; height:100%; object-fit:cover; object-position:62% 42%;
  transform:scale(1.12);
}
.hero__scrim{
  position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(33,27,23,.86) 8%, rgba(33,27,23,.42) 46%, rgba(33,27,23,.08) 72%),
             linear-gradient(0deg, rgba(33,27,23,.5), rgba(33,27,23,0) 34%);
}
.hero__content{
  position:relative; z-index:2;
  display:flex; flex-direction:column; justify-content:flex-end;
  min-height:100svh;
  padding:8.5rem var(--gutter) var(--space-l);
  color:var(--paper);
  max-width:52rem;
}
.hero__eyebrow{
  font-size:var(--fs-label); letter-spacing:.28em; text-transform:uppercase;
  color:var(--champagne); margin-bottom:var(--space-s);
  opacity:.9;
}
.hero__title{
  font-family:var(--serif); font-weight:340; line-height:.98; letter-spacing:-.01em;
  font-size:var(--fs-display);
  margin-bottom:var(--space-m);
}
.hero__title em{ font-style:italic; font-weight:400; }
.hero__lede{
  font-size:var(--fs-lede); color:rgba(250,246,240,.82); max-width:36ch;
  margin-bottom:var(--space-m);
  font-weight:300;
}
.hero__actions{ display:flex; align-items:center; gap:var(--space-m); flex-wrap:wrap; }
.hero__meta{
  font-size:.74rem; letter-spacing:.08em; color:rgba(250,246,240,.6);
}
.hero__scrollcue{
  position:absolute; right:var(--gutter); bottom:var(--space-s);
  z-index:2; color:var(--paper);
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  font-size:.64rem; letter-spacing:.2em; text-transform:uppercase; opacity:.75;
}
.hero__scrollcue .line{ width:1px; height:46px; background:rgba(250,246,240,.5); position:relative; overflow:hidden; }
.hero__scrollcue .line::after{
  content:""; position:absolute; top:-100%; left:0; width:100%; height:100%;
  background:var(--paper);
  animation:scrollcue 2.6s var(--ease-soft) infinite;
}
@keyframes scrollcue{ to{ top:100%; } }
@media (max-width: 860px){
  .hero__scrollcue{ right:auto; left:50%; transform:translateX(-50%); }
}

/* =========================================================================
   MANIFESTO
   ========================================================================= */
.manifesto{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:var(--space-l);
  align-items:center;
}
.manifesto__text{ max-width:34rem; }
.manifesto__text p{ font-size:var(--fs-lede); color:var(--ink-soft); margin:.4rem 0; font-weight:300; }
.manifesto__text .display{ font-size:var(--fs-h2); margin:var(--space-s) 0 var(--space-m); }
.manifesto__bold{ font-family:var(--serif); font-style:italic; font-size:1.3em; color:var(--ink); }
.manifesto__media{
  aspect-ratio:4/5; border-radius:2px;
  transform:translateY(3rem);
}
.manifesto__media img{ object-position:50% 18%; }

/* =========================================================================
   AUTORIDADE
   ========================================================================= */
.authority{ text-align:center; }
.authority__inner{ max-width:42rem; margin:0 auto; }
.authority__inner .display{ margin:var(--space-s) auto var(--space-m); font-size:var(--fs-h2); }
.authority__inner p{ font-size:var(--fs-lede); color:var(--ink-soft); font-weight:300; margin:0 auto var(--space-s); }
.authority__quote{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(1.4rem,2.6vw,2rem); line-height:1.35;
  color:var(--ink); margin:var(--space-m) auto;
}
.authority__projects{ display:flex; justify-content:center; gap:var(--space-m); flex-wrap:wrap; margin-top:var(--space-m); }
.authority__projects span{ font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); }

/* =========================================================================
   TRATAMENTOS
   ========================================================================= */
.treatments__head .lede{ max-width:44ch; }
.treatment{
  display:grid;
  grid-template-columns:.5fr 3fr 1.4fr 11rem;
  align-items:center;
  gap:var(--space-m);
  padding:var(--space-m) 0;
  border-top:1px solid var(--hair);
  cursor:pointer;
  position:relative;
}
.treatment:last-child{ border-bottom:1px solid var(--hair); }
.treatment__index{ font-family:var(--serif); font-size:1.1rem; color:var(--gold); font-style:italic; }
.treatment__name{ font-family:var(--serif); font-weight:400; font-size:clamp(1.5rem,3.4vw,2.6rem); transition:transform .6s var(--ease-silk); }
.treatment__desc{ font-size:.94rem; color:var(--ink-soft); max-width:34ch; font-weight:400; }
.treatment__cta{ justify-self:end; font-size:.68rem; letter-spacing:.13em; text-transform:uppercase; white-space:nowrap; }
.treatment__thumb{
  position:fixed; top:0; left:0; width:220px; height:280px;
  overflow:hidden; pointer-events:none; z-index:40;
  opacity:0; transform:translate(-50%,-50%) scale(.9);
  transition:opacity .35s var(--ease-soft), transform .5s var(--ease-soft);
}
.treatment__thumb img{ width:100%; height:100%; object-fit:cover; }
.treatment.is-hover .treatment__name{ transform:translateX(14px); }
.treatment.is-hover .treatment__thumb{ opacity:1; transform:translate(-50%,-50%) scale(1); }
@media (hover:none), (pointer:coarse){ .treatment__thumb{ display:none; } }

/* =========================================================================
   INTERLÚDIO — Protocolos Personalizados
   ========================================================================= */
.interlude{ background:var(--champagne); text-align:center; }
.interlude__stack{ max-width:52rem; margin:0 auto; }
.interlude__q{
  font-family:var(--serif); font-style:italic; font-weight:400;
  font-size:clamp(1.1rem,2vw,1.5rem); color:var(--ink-soft);
  opacity:.55; margin:.5rem 0;
}
.interlude__main{
  font-size:var(--fs-h2); margin:var(--space-m) 0;
}
.interlude__foot{ font-size:.98rem; color:var(--ink-soft); max-width:46ch; margin:var(--space-m) auto 0; }

/* =========================================================================
   PROTOCOLO PR — capítulo especial
   ========================================================================= */
.pr-chapter{
  background:var(--espresso); color:var(--paper);
  padding:var(--space-xl) var(--gutter);
  position:relative; overflow:hidden;
}
.pr-chapter__bg{ position:absolute; inset:0; opacity:.34; }
.pr-chapter__bg img{ object-position:38% 30%; }
.pr-chapter__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(33,27,23,.55), rgba(33,27,23,.94) 78%); }
.pr-chapter__inner{ position:relative; z-index:1; max-width:44rem; }
.pr-chapter__label{ font-size:var(--fs-label); letter-spacing:.3em; text-transform:uppercase; color:var(--gold); }
.pr-chapter__title{ font-family:var(--serif); font-weight:340; line-height:.98; letter-spacing:-.01em; font-size:clamp(3.2rem,10vw,9rem); margin:var(--space-s) 0 var(--space-m); }
.pr-chapter__teaser{ font-size:var(--fs-lede); color:rgba(250,246,240,.78); font-weight:300; max-width:36ch; }
.pr-open{
  margin-top:var(--space-m); display:inline-flex; align-items:center; gap:.8rem;
  font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--paper);
}
.pr-open__ring{
  width:52px; height:52px; border-radius:50%; border:1px solid var(--gold-soft);
  display:flex; align-items:center; justify-content:center; position:relative;
  transition:transform .5s var(--ease-silk);
}
.pr-open__ring::before,.pr-open__ring::after{
  content:""; position:absolute; background:var(--paper);
}
.pr-open__ring::before{ width:14px; height:1px; }
.pr-open__ring::after{ width:1px; height:14px; transition:transform .45s var(--ease-silk); }
.pr-chapter.is-open .pr-open__ring::after{ transform:scaleY(0); }
.pr-chapter.is-open .pr-open__ring{ transform:rotate(90deg); }
.pr-chapter__body{
  display:grid; grid-template-rows:0fr; transition:grid-template-rows .8s var(--ease-silk);
  margin-top:0;
}
.pr-chapter__body-inner{ overflow:hidden; }
.pr-chapter.is-open .pr-chapter__body{ grid-template-rows:1fr; margin-top:var(--space-m); }
.pr-chapter__body p{ font-size:var(--fs-lede); font-weight:300; color:rgba(250,246,240,.85); max-width:38ch; margin-bottom:var(--space-s); }
.pr-chapter__note{
  border-left:1px solid var(--gold-soft); padding-left:var(--space-s);
  font-family:var(--serif); font-style:italic; color:var(--champagne);
  margin:var(--space-s) 0 var(--space-m);
}

/* =========================================================================
   CLUBE DO BOTOX
   ========================================================================= */
.club{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--space-l);
  align-items:center;
  background:var(--rose);
}
.club__media{ aspect-ratio:4/5; }
.club__media img{ object-position:50% 22%; }
.club__body p{ font-size:var(--fs-lede); color:var(--ink-soft); font-weight:300; margin:0 0 var(--space-s); max-width:36ch; }
.club__tag{ font-family:var(--serif); font-style:italic; font-size:clamp(1.5rem,2.6vw,2.1rem); color:var(--ink); margin:var(--space-s) 0 var(--space-m); }
.club__list{ display:flex; flex-direction:column; gap:.9rem; margin:var(--space-m) 0; }
.club__list li{ display:flex; gap:.9rem; align-items:baseline; font-size:.92rem; color:var(--ink-soft); }
.club__list li::before{ content:""; width:5px; height:5px; border-radius:50%; background:var(--gold); flex:none; transform:translateY(-2px); }

/* =========================================================================
   PAULA ANDRADE BEAUTY
   ========================================================================= */
.beauty{ background:var(--paper); }
.beauty__head{ display:flex; justify-content:space-between; align-items:flex-end; gap:var(--space-m); flex-wrap:wrap; margin-bottom:var(--space-l); }
.beauty__head .display{ max-width:22ch; }
.beauty__stage{
  display:grid; grid-template-columns:1.15fr .85fr; gap:var(--space-l);
  align-items:start;
  margin-bottom:var(--space-l);
}
.beauty__hero-frame{ aspect-ratio:4/5; }
.beauty__hero-frame img{ object-position:50% 22%; }
.beauty__products{ padding-top:var(--space-s); }
.beauty__index{ display:flex; flex-direction:column; border-top:1px solid var(--hair); margin-top:var(--space-m); }
.beauty__index li{ display:flex; align-items:baseline; gap:var(--space-m); padding:var(--space-s) 0; border-bottom:1px solid var(--hair); }
.beauty__index .n{ font-family:var(--serif); font-style:italic; color:var(--gold); font-size:.95rem; flex:none; }
.beauty__index .name{ font-family:var(--serif); font-size:1.15rem; line-height:1.3; }
.beauty__foot{ display:flex; justify-content:space-between; align-items:center; margin-top:var(--space-m); flex-wrap:wrap; gap:var(--space-s); }

/* =========================================================================
   ECOSSISTEMA
   ========================================================================= */
.head-split{
  display:flex; flex-wrap:wrap; justify-content:flex-start;
  align-items:flex-end; gap:var(--space-l);
  margin-bottom:var(--space-l);
}
.head-split > div:first-child{ flex:1 1 28rem; max-width:32rem; }
.head-split .lede{ flex:1 1 22rem; max-width:40ch; }
.head-center{ text-align:center; max-width:32rem; margin:0 auto var(--space-l); }
.head-center--wide{ max-width:66rem; }
.head-center--wide .display{ font-size:clamp(1.9rem, 4.1vw, 3.6rem); }
.pillar{
  display:grid; grid-template-columns:.4fr 1fr 2fr; gap:var(--space-m);
  align-items:baseline; padding:var(--space-m) 0; border-top:1px solid var(--hair);
}
.pillar:last-child{ border-bottom:1px solid var(--hair); }
.pillar__n{ font-family:var(--serif); font-style:italic; font-size:1.1rem; color:var(--gold); }
.pillar__title{ font-family:var(--serif); font-size:clamp(1.6rem,3vw,2.4rem); }
.pillar__desc{ font-size:.96rem; color:var(--ink-soft); max-width:40ch; }
.ecosystem__close{ margin-top:var(--space-l); text-align:center; }
.ecosystem__close .display{ font-size:var(--fs-h3); max-width:30ch; margin:0 auto; }

/* =========================================================================
   RESULTADOS
   ========================================================================= */
.results__caption{
  margin-top:var(--space-s);
  display:flex; justify-content:space-between; gap:var(--space-m); flex-wrap:wrap;
}
.results__disclaimer{ font-size:.82rem; color:var(--warm-gray); max-width:52ch; }

/* =========================================================================
   EXPERIÊNCIA
   ========================================================================= */
.experience{ position:relative; background:var(--ink); color:var(--paper); overflow:hidden; }
.experience__inner{ position:relative; z-index:1; }
.experience__head .lede{ color:rgba(250,246,240,.7); }
.step{
  display:grid; grid-template-columns:.5fr 1fr 2.3fr; gap:var(--space-m);
  align-items:baseline; padding:var(--space-s) 0; border-top:1px solid var(--hair-light);
}
.step:last-child{ border-bottom:1px solid var(--hair-light); }
.step__n{ font-family:var(--serif); font-style:italic; color:var(--gold); }
.step__title{ font-family:var(--serif); font-size:clamp(1.3rem,2.2vw,1.7rem); }
.step__desc{ font-size:.94rem; color:rgba(250,246,240,.68); max-width:42ch; }
.experience__close{ text-align:center; margin-top:var(--space-l); }
.experience__close .display{ font-size:var(--fs-h3); max-width:30ch; margin:0 auto var(--space-m); }

/* =========================================================================
   SOBRE A CLÍNICA
   ========================================================================= */
.about{ display:grid; grid-template-columns:1fr; gap:var(--space-l); }
.about__head{ max-width:58rem; margin-bottom:var(--space-m); }
.about__body{ display:grid; grid-template-columns:1fr 1fr; gap:var(--space-l); }
.about__body p{ font-size:var(--fs-lede); color:var(--ink-soft); font-weight:300; max-width:36ch; }
.about__addr{ font-size:.95rem; color:var(--ink-soft); }
.about__addr strong{ display:block; font-family:var(--serif); font-size:1.2rem; color:var(--ink); font-weight:400; margin-bottom:.4rem; }
.about__actions{ display:flex; gap:var(--space-m); margin-top:var(--space-m); flex-wrap:wrap; }

/* =========================================================================
   CTA FINAL
   ========================================================================= */
.final{
  position:relative; overflow:hidden;
  background:var(--espresso); color:var(--paper); text-align:center;
}
.final__bg{ position:absolute; inset:0; opacity:.46; }
.final__bg img{ object-position:50% 22%; }
.final__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(33,27,23,.7), rgba(33,27,23,.9)); }
.final__inner{ position:relative; z-index:1; max-width:44rem; margin:0 auto; }
.final__title{ font-family:var(--serif); font-weight:340; line-height:1.08; letter-spacing:-.01em; font-size:clamp(2rem,5vw,3.4rem); margin:var(--space-m) 0; }
.final__lede{ font-size:var(--fs-lede); color:rgba(250,246,240,.72); font-weight:300; max-width:40ch; margin:0 auto var(--space-m); }
.final__sign{ font-family:var(--serif); font-style:italic; font-size:clamp(1.3rem,2.4vw,1.9rem); color:var(--champagne); margin:var(--space-m) 0; }
.final__note{ margin-top:var(--space-m); font-size:.82rem; color:rgba(250,246,240,.55); }

/* ---------- footer ---------- */
.footer{ background:var(--paper); padding:var(--space-l) var(--gutter) var(--space-m); }
.footer__grid{
  display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:var(--space-l);
  padding-bottom:var(--space-l);
}
.footer__mark{ height:112px; width:auto; margin-bottom:var(--space-s); }
.footer__desc{ font-size:.92rem; color:var(--ink-soft); max-width:30ch; }
.footer__label{ font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; color:#8a6b49; margin-bottom:var(--space-s); display:block; }
.footer__list{ display:flex; flex-direction:column; gap:.55rem; font-size:.92rem; color:var(--ink-soft); }
.footer__list a:hover{ color:var(--ink); }
.footer__bottom{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:.6rem; font-size:.74rem; color:#776f67; padding-top:var(--space-s); }

/* =========================================================================
   RESPONSIVO — recomposto para mobile, não apenas espremido
   ========================================================================= */
@media (max-width: 980px){
  .section{ padding:var(--space-l) var(--gutter); }

  .head-split{ gap:var(--space-s); }
  .head-split > div:first-child{ max-width:none; flex-basis:100%; }
  .head-split .lede{ max-width:none; flex-basis:100%; }

  .manifesto{ grid-template-columns:1fr; gap:var(--space-m); }
  .manifesto__media{ order:-1; transform:none; aspect-ratio:5/4; }

  .treatment{ grid-template-columns:.3fr 1fr; row-gap:.6rem; }
  .treatment__desc{ grid-column:2; }
  .treatment__cta{ grid-column:2; justify-self:start; margin-top:.4rem; }
  .treatment__thumb{ display:none; }

  .pr-chapter__title{ font-size:clamp(2.6rem,14vw,4.5rem); }

  .club{ grid-template-columns:1fr; }
  .club__media{ aspect-ratio:5/4; }
  .club .cta-pill{ display:block; width:max-content; margin:0 auto; }

  .beauty__stage{ grid-template-columns:1fr; }
  .beauty__hero-frame{ aspect-ratio:4/5; }
  .beauty__hero-frame img{ object-position:50% 32%; }

  .footer__mark{ height:64px; }

  .pillar,.step{ grid-template-columns:.4fr 1fr; row-gap:.4rem; }
  .pillar__desc,.step__desc{ grid-column:2; }

  .about__body{ grid-template-columns:1fr; }

  .footer__grid{ grid-template-columns:1fr 1fr; gap:var(--space-m); }
  .footer__grid > :first-child{ grid-column:1/-1; margin-bottom:var(--space-s); }
}

@media (max-width: 560px){
  .hero__content{ padding-top:7rem; }
  .hero__actions{ flex-direction:column; align-items:flex-start; gap:var(--space-s); }
  .hero__media img{ opacity:.25; }
  .footer__grid{ grid-template-columns:1fr; }

  .manifesto__media{ display:none; }
  .manifesto{ padding-top:var(--space-s); }
}

@media (prefers-reduced-motion: reduce){
  .lazy-img{ transition:opacity .3s ease; transform:none !important; filter:none !important; }
  .cursor,.cursor-ring{ display:none; }
  *{ animation-duration:.001ms !important; }
}

/* =========================================================================
   WHATSAPP FLUTUANTE
   ========================================================================= */
.wa-float{ position:fixed; right:26px; bottom:26px; z-index:900; display:flex; align-items:flex-end; gap:.9rem; }
.wa-float__btn{
  position:relative; flex:none;
  width:60px; height:60px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 24px rgba(37,211,102,.4);
  transition:transform .25s var(--ease-soft);
}
.wa-float__btn:hover{ transform:scale(1.07); }
.wa-float__btn svg{ width:29px; height:29px; color:#fff; }
.wa-float__btn::before{
  content:''; position:absolute; inset:0; border-radius:50%; border:2px solid #25D366;
  animation:wa-pulse-ring 2.2s cubic-bezier(.4,0,.6,1) infinite;
}
@keyframes wa-pulse-ring{ 0%{ transform:scale(1); opacity:.65; } 100%{ transform:scale(1.7); opacity:0; } }

.wa-float__popup{
  width:min(280px, 62vw); background:var(--espresso); color:var(--paper);
  border-radius:14px; padding:1.3rem 1.2rem 1.1rem; box-shadow:0 20px 44px rgba(33,27,23,.35);
  position:relative;
  opacity:0; transform:translateY(10px) scale(.97); pointer-events:none;
  transition:opacity .4s var(--ease-soft), transform .4s var(--ease-soft);
}
.wa-float__popup.is-visible{ opacity:1; transform:translateY(0) scale(1); pointer-events:auto; }
.wa-float__close{
  position:absolute; top:8px; right:10px; background:none; border:0; color:rgba(250,246,240,.55);
  font-size:1.2rem; line-height:1; cursor:pointer; padding:.2rem;
}
.wa-float__close:hover{ color:var(--paper); }
.wa-float__avatar{ height:26px; width:auto; margin-bottom:.7rem; }
.wa-float__text{ font-size:.86rem; line-height:1.45; color:rgba(250,246,240,.88); margin:0 0 .9rem; }
.wa-float__cta{
  display:inline-flex; align-items:center; justify-content:center;
  width:100%; padding:.65rem 1rem; border-radius:8px;
  background:#0E7A6D; color:#fff; font-size:.82rem; font-weight:600;
  letter-spacing:.01em; transition:filter .25s;
}
.wa-float__cta:hover{ filter:brightness(1.08); }

@media (max-width:560px){
  .wa-float{ right:16px; bottom:16px; }
  .wa-float__btn{ width:52px; height:52px; }
  .wa-float__btn svg{ width:25px; height:25px; }
  .wa-float__popup{ width:min(240px, 68vw); }
}
