/* =========================================================================
   Reset Intestinal — Karina Al Assal
   Design system "Ametista Clínico" (variação nova da Karina)
   Fontes: Bodoni Moda (display, luxo editorial) + Hanken Grotesk (corpo/UI)
   Origem: variação criativa. Mantém o fio roxo/lilás + creme da marca,
   fundo ametista mais claro que o near-black das outras LPs. Acento jade novo.
   ========================================================================= */

:root{
  /* Fundo ametista (roxo real, mais claro que o #08060d das outras LPs) */
  --plum-950:#160c28;
  --plum-900:#1e1136;
  --plum-850:#251742;
  --plum-800:#2c1a4e;   /* base do fundo (baixo) */
  --plum-700:#372060;   /* base do fundo (alto) */
  --plum-600:#452a75;

  --amethyst:#7c5cc4;
  --amethyst-soft:rgba(124,92,196,.22);

  /* Fio da marca: lilás + creme */
  --lilac-1:#c9b4e8;
  --lilac-2:#b8a4d8;
  --lilac-3:#9d86c1;
  --lilac-soft:rgba(201,180,232,.12);
  --lilac-line:rgba(201,180,232,.20);

  --cream-0:#f7f2ea;
  --cream-1:#efe7dc;
  --cream-2:#d9cfe4;   /* texto suave levemente lilás */
  --cream-3:#a99cc0;   /* muted */

  /* Acento novo: jade (vitalidade / interação) */
  --jade:#68e6b4;
  --jade-deep:#28b88a;
  --jade-soft:rgba(104,230,180,.14);
  --jade-glow:rgba(104,230,180,.40);

  /* Detalhe de luxo: champagne (fios finos, preço) */
  --champagne:#e9ce9a;
  --champagne-soft:rgba(233,206,154,.24);

  --font-display:"Bodoni Moda","Times New Roman",Georgia,serif;
  --font-body:"Hanken Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif;

  --container:1280px;
  --gutter:clamp(20px,4vw,64px);

  --s-1:4px; --s-2:8px; --s-3:12px; --s-4:16px; --s-5:24px;
  --s-6:32px; --s-7:48px; --s-8:64px; --s-9:96px; --s-10:128px;

  --r-sm:8px; --r-md:14px; --r-lg:22px; --r-pill:999px;

  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-spring:cubic-bezier(.34,1.56,.64,1);
  --ease-smooth:cubic-bezier(.65,0,.35,1);

  --px:0; --py:0; /* parallax do cursor, setado via JS */
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-rendering:optimizeLegibility}
body{
  background:var(--plum-800);
  color:var(--cream-1);
  font-family:var(--font-body);
  font-size:16px;font-weight:400;line-height:1.6;
  letter-spacing:-.005em;
  min-height:100vh;overflow-x:hidden;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  font-feature-settings:"kern" 1,"liga" 1;
}
img,svg{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
/* Blindagem contra bleed horizontal de glows/pseudo-elementos decorativos.
   `clip` (não `hidden`) não cria scroll container, então NÃO quebra o sticky do método. */
main{overflow-x:clip}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--jade-soft);color:var(--cream-0)}

/* ---------- Camadas de atmosfera ---------- */
.aurora{
  position:fixed;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(46% 40% at 82% 12%, rgba(124,92,196,.55), transparent 62%),
    radial-gradient(40% 38% at 12% 20%, rgba(201,180,232,.22), transparent 60%),
    radial-gradient(50% 45% at 78% 82%, rgba(104,230,180,.14), transparent 64%),
    radial-gradient(60% 55% at 20% 95%, rgba(69,42,117,.55), transparent 60%),
    linear-gradient(158deg,var(--plum-700) 0%,var(--plum-800) 42%,var(--plum-900) 100%);
  animation:aurora-drift 24s var(--ease-smooth) infinite alternate;
}
@keyframes aurora-drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  100%{transform:translate3d(-1.5%,1%,0) scale(1.06)}
}
.grain{
  position:fixed;inset:0;z-index:1;pointer-events:none;
  opacity:.05;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}

/* ---------- Topbar ---------- */
.topbar{
  position:relative;z-index:5;
  max-width:var(--container);margin:0 auto;
  padding:clamp(16px,2.4vw,26px) var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);
}
.brand{display:flex;flex-direction:column;gap:2px;line-height:1}
.brand__mark{
  font-family:var(--font-display);font-weight:500;font-size:clamp(17px,1.5vw,20px);
  color:var(--cream-0);letter-spacing:.005em;
}
.brand__sub{
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--lilac-2);font-weight:600;
}
/* Logo de produto (marca Reset Intestinal — nova identidade) */
.brand__logo{height:clamp(30px,4.6vw,38px);width:auto;display:block}
.footer__logo{height:clamp(40px,6vw,50px);width:auto;display:block}
.footer__by{
  margin-top:9px;display:block;font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--lilac-2);font-weight:600;
}
.topbar__cta{
  display:inline-flex;align-items:center;gap:var(--s-3);
  padding:9px 16px;border:1px solid var(--lilac-line);border-radius:var(--r-pill);
  background:rgba(255,255,255,.03);backdrop-filter:blur(8px);
  transition:border-color .35s var(--ease-out),background .35s var(--ease-out),transform .35s var(--ease-out);
}
.topbar__cta>span:first-child{
  font-family:var(--font-display);font-weight:600;color:var(--champagne);font-size:15px;
}
.topbar__cta-label{font-size:12px;letter-spacing:.02em;color:var(--cream-2)}
.topbar__cta:hover{border-color:var(--jade);background:var(--jade-soft);transform:translateY(-1px)}
@media (max-width:600px){.topbar__cta-label{display:none}}

/* ---------- Tipografia utilitária ---------- */
.eyebrow{
  display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--s-2) var(--s-3);max-width:100%;
  font-size:11px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--lilac-1);
}
.eyebrow--ink{color:var(--lilac-3)}
.eyebrow__dot{
  width:7px;height:7px;border-radius:50%;background:var(--jade);
  box-shadow:0 0 12px var(--jade-glow);
  animation:pulse-dot 2.2s var(--ease-smooth) infinite;
}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.8)}}
.eyebrow__rule{width:34px;height:1px;background:linear-gradient(90deg,var(--lilac-line),transparent)}

.display{
  font-family:var(--font-display);
  font-optical-sizing:auto;
  font-weight:500;
  font-size:clamp(38px,5.15vw,74px);
  line-height:.96;letter-spacing:-.02em;
  color:var(--cream-0);
}
.display__line{display:block}
.display__line--accent{
  font-style:italic;font-weight:600;color:var(--lilac-1);
  padding-left:.06em;
}
.display em{
  font-style:italic;font-weight:600;
  color:var(--lilac-1);
}

.h2{
  font-family:var(--font-display);font-optical-sizing:auto;font-weight:500;
  font-size:clamp(30px,4.2vw,58px);line-height:1.04;letter-spacing:-.02em;
  color:var(--cream-0);
}
.h2 em{font-style:italic;font-weight:600;color:var(--lilac-1)}

/* =====================================================================
   HERO
   Arquétipo: Split Assimétrico + Layered/Glassmorphism
   Constraints: Gradiente Mesh (cor) · Mouse Parallax (interação) ·
   Breathe/Float loop (movimento) · Grain + Glow (efeitos)
   ===================================================================== */
.hero{position:relative;z-index:3;padding:clamp(8px,2vw,32px) var(--gutter) clamp(56px,7vw,104px)}
.hero__inner{
  max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);
  align-items:center;gap:clamp(24px,4vw,72px);
  min-height:min(70vh,624px);
}
.hero__content{display:flex;flex-direction:column;gap:clamp(15px,1.7vw,22px);min-width:0}

.hero__lede{
  max-width:36ch;font-size:clamp(15px,1.15vw,18px);line-height:1.62;
  color:var(--cream-2);font-weight:350;
}
.hero__cta-wrap{display:flex;flex-direction:column;gap:var(--s-3);max-width:460px}

/* CTA principal */
.cta{
  position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:var(--s-4);
  padding:19px 22px 19px 26px;
  background:var(--cream-0);color:var(--plum-900);
  font-weight:600;font-size:clamp(15px,1.1vw,16.5px);letter-spacing:-.01em;
  border-radius:var(--r-md);
  box-shadow:0 10px 30px rgba(22,12,40,.45),0 0 0 1px rgba(247,242,234,.06),inset 0 0 0 0 var(--jade);
  transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out),background .3s var(--ease-out);
  will-change:transform;
}
.cta__label{flex:1;text-align:left}
.cta__arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:var(--plum-800);color:var(--jade);flex-shrink:0;
  transition:transform .45s var(--ease-spring),background .3s var(--ease-out);
}
.cta:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 44px rgba(40,184,138,.28),0 0 0 1px var(--jade-glow),0 0 60px rgba(104,230,180,.22);
}
.cta:hover .cta__arrow{transform:translateX(4px) rotate(-6deg);background:var(--jade);color:var(--plum-900)}
.cta:active{transform:translateY(0)}

.hero__micro{
  font-size:12px;letter-spacing:.02em;color:var(--cream-3);padding-left:2px;
}
.hero__micro span{color:var(--lilac-3);margin:0 4px}

.hero__trust{
  display:flex;align-items:center;gap:clamp(16px,2vw,28px);flex-wrap:wrap;
  padding-top:var(--s-2);
}
.trust__price{display:flex;align-items:baseline;gap:var(--s-2)}
.trust__from{
  font-size:14px;color:var(--cream-3);text-decoration:line-through;
  text-decoration-color:var(--champagne);text-decoration-thickness:1.5px;
}
.trust__now{font-family:var(--font-display);font-weight:600;font-size:20px;color:var(--champagne)}
.trust__by{
  display:flex;flex-direction:column;gap:1px;
  padding-left:clamp(16px,2vw,28px);border-left:1px solid var(--lilac-line);
}
.trust__by-name{font-size:13px;font-weight:600;color:var(--cream-1)}
.trust__by-role{font-size:11px;color:var(--cream-3);letter-spacing:.01em}

/* ---------- Visual: orbe interativo ---------- */
.hero__visual{
  position:relative;align-self:center;
  display:flex;flex-direction:column;align-items:center;gap:var(--s-5);
  min-width:0;
}
.orb-scene{
  position:relative;
  width:100%;max-width:480px;aspect-ratio:1/1;
  display:grid;place-items:center;
  transform:translate3d(calc(var(--px)*-14px),calc(var(--py)*-14px),0);
  transition:transform .5s var(--ease-out);
}
.orb-halo{
  position:absolute;inset:-8%;border-radius:50%;
  background:radial-gradient(circle at 42% 34%,rgba(124,92,196,.55),transparent 62%);
  filter:blur(46px);
  animation:breathe 7s var(--ease-smooth) infinite;
}
.orb{
  position:relative;width:66%;aspect-ratio:1/1;border-radius:50%;
  background:
    radial-gradient(circle at 34% 28%, rgba(201,180,232,.55), transparent 42%),
    radial-gradient(circle at 62% 70%, rgba(104,230,180,.30), transparent 48%),
    radial-gradient(circle at 50% 50%, var(--plum-600), var(--plum-900) 88%);
  box-shadow:
    inset 0 2px 30px rgba(247,242,234,.18),
    inset 0 -20px 60px rgba(22,12,40,.7),
    0 30px 80px rgba(22,12,40,.55),
    0 0 90px var(--amethyst-soft);
  border:1px solid rgba(201,180,232,.22);
  animation:breathe 7s var(--ease-smooth) infinite;
  transform:translate3d(calc(var(--px)*10px),calc(var(--py)*10px),0);
  transition:transform .6s var(--ease-out);
}
.orb__core{
  position:absolute;inset:24%;border-radius:50%;
  background:radial-gradient(circle at 40% 36%,var(--jade),var(--jade-deep) 45%,transparent 72%);
  filter:blur(8px);opacity:.7;
  animation:pulse-core 5s var(--ease-smooth) infinite;
}
.orb__sheen{
  position:absolute;inset:-2%;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(247,242,234,.16) 40deg,transparent 120deg,rgba(104,230,180,.14) 220deg,transparent 300deg);
  mix-blend-mode:screen;opacity:.7;
  animation:spin 18s linear infinite;
}
.orb__glow{
  position:absolute;top:16%;left:22%;width:26%;height:20%;border-radius:50%;
  background:radial-gradient(circle,rgba(247,242,234,.6),transparent 70%);
  filter:blur(6px);
}
.orb-ring{
  position:absolute;border-radius:50%;border:1px solid var(--lilac-line);
}
.orb-ring--1{width:82%;aspect-ratio:1/1;border-color:rgba(201,180,232,.22);animation:spin 30s linear infinite}
.orb-ring--2{
  width:96%;aspect-ratio:1/1;border:1px dashed var(--champagne-soft);
  animation:spin 46s linear infinite reverse;
}

@keyframes breathe{0%,100%{transform:scale(1) translate3d(calc(var(--px)*10px),calc(var(--py)*10px),0)}50%{transform:scale(1.035) translate3d(calc(var(--px)*10px),calc(var(--py)*10px),0)}}
@keyframes pulse-core{0%,100%{opacity:.62;transform:scale(1)}50%{opacity:.9;transform:scale(1.08)}}
@keyframes spin{to{transform:rotate(360deg)}}

/* Tokens flutuantes de sintoma */
.token{
  position:absolute;
  font-size:clamp(11px,1vw,13px);font-weight:500;letter-spacing:.01em;
  color:var(--cream-1);
  padding:8px 14px;border-radius:var(--r-pill);
  background:rgba(255,255,255,.05);
  border:1px solid var(--lilac-line);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  box-shadow:0 8px 24px rgba(22,12,40,.4);
  white-space:nowrap;
  animation:float-tok 9s var(--ease-smooth) infinite;
}
.token--a{top:8%;left:2%;animation-delay:-.5s}
.token--b{top:24%;right:-2%;animation-delay:-2.4s}
.token--c{bottom:20%;left:-6%;animation-delay:-4.1s}
.token--d{bottom:6%;right:6%;animation-delay:-6s}
.token--relief{
  top:52%;left:50%;transform:translate(-50%,-50%);
  color:var(--plum-900);font-weight:700;
  background:var(--jade);
  border-color:transparent;
  box-shadow:0 10px 30px var(--jade-glow);
  animation:float-relief 8s var(--ease-smooth) infinite;
}
@keyframes float-tok{
  0%,100%{transform:translate3d(calc(var(--px)*22px),calc(var(--py)*22px),0) translateY(0)}
  50%{transform:translate3d(calc(var(--px)*22px),calc(var(--py)*22px),0) translateY(-12px)}
}
@keyframes float-relief{
  0%,100%{transform:translate(-50%,-50%) translateY(0) scale(1)}
  50%{transform:translate(-50%,-50%) translateY(-8px) scale(1.04)}
}
.orb-caption{
  max-width:34ch;text-align:center;
  font-family:var(--font-display);font-style:italic;font-weight:400;
  font-size:14px;color:var(--lilac-2);line-height:1.5;
}

/* =====================================================================
   SEÇÃO 1 — PROBLEMA
   Arquétipo: Editorial / Split Assimétrico + Reveal on Demand (chips)
   Constraints: Hover Reveal (interação) · Stagger scroll (movimento) ·
   Duocromático cream+jade (cor)
   ===================================================================== */
.problema{position:relative;z-index:3;padding:clamp(64px,10vw,150px) var(--gutter)}
.problema__inner{
  max-width:var(--container);margin:0 auto;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(40px,6vw,110px);align-items:start;
}
.problema__lead{display:flex;flex-direction:column;gap:var(--s-5);max-width:34rem}
.problema__lead .h2{margin-top:var(--s-2)}
.problema__body{display:flex;flex-direction:column;gap:var(--s-5);margin-top:var(--s-2)}
.problema__body p{font-size:clamp(15px,1.15vw,17.5px);line-height:1.72;color:var(--cream-2);font-weight:350}
.problema__reframe{
  font-size:clamp(16px,1.3vw,19px)!important;color:var(--cream-1)!important;font-weight:400!important;
}
.problema__reframe{
  position:relative;padding-left:var(--s-5);
}
.problema__reframe::before{
  content:"";position:absolute;left:0;top:.2em;bottom:.2em;width:2px;border-radius:2px;
  background:linear-gradient(var(--jade),var(--lilac-1));
}
.problema__note{
  display:flex;gap:var(--s-4);align-items:flex-start;
  padding:var(--s-5);border-radius:var(--r-md);
  background:rgba(255,255,255,.03);border:1px solid var(--lilac-soft);
}
.problema__note-line{
  flex-shrink:0;width:26px;height:26px;border-radius:8px;margin-top:2px;
  background:var(--jade-soft);border:1px solid var(--jade);
  position:relative;
}
.problema__note-line::after{
  content:"";position:absolute;inset:0;margin:auto;width:9px;height:9px;border-radius:50%;
  background:var(--jade);box-shadow:0 0 10px var(--jade-glow);
}
.problema__note p{font-size:14.5px;line-height:1.6;color:var(--cream-2)}

/* Chips de sintoma */
.problema__symptoms{position:relative;padding-top:var(--s-6)}
.symptoms__hint{
  font-size:12px;letter-spacing:.02em;color:var(--cream-3);margin-bottom:var(--s-4);
  font-style:italic;font-family:var(--font-display);
}
.symptoms__grid{
  display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);
}
.chip{
  position:relative;overflow:hidden;text-align:left;
  padding:18px 18px;border-radius:var(--r-md);
  background:rgba(255,255,255,.04);
  border:1px solid var(--lilac-line);
  min-height:96px;display:flex;align-items:flex-start;
  transition:transform .4s var(--ease-out),border-color .4s var(--ease-out),background .4s var(--ease-out),box-shadow .4s var(--ease-out);
}
.chip--wide{grid-column:1/-1}
.chip__title{
  font-size:15px;font-weight:600;color:var(--cream-0);line-height:1.3;letter-spacing:-.01em;
  transition:transform .4s var(--ease-out);
}
.chip__reveal{
  position:absolute;left:18px;right:18px;bottom:16px;
  font-size:12.5px;line-height:1.45;color:var(--jade);font-weight:500;
  opacity:0;transform:translateY(8px);
  transition:opacity .4s var(--ease-out),transform .4s var(--ease-out);
}
.chip::after{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 120%,var(--jade-soft),transparent 70%);
  opacity:0;transition:opacity .4s var(--ease-out);
}
.chip:hover,.chip:focus-visible,.chip.is-active{
  transform:translateY(-3px);border-color:var(--jade);
  background:rgba(104,230,180,.06);
  box-shadow:0 14px 34px rgba(22,12,40,.4),0 0 0 1px var(--jade-glow);
  outline:none;
}
.chip:hover .chip__title,.chip:focus-visible .chip__title,.chip.is-active .chip__title{transform:translateY(-14px)}
.chip:hover .chip__reveal,.chip:focus-visible .chip__reveal,.chip.is-active .chip__reveal{opacity:1;transform:translateY(0)}
.chip:hover::after,.chip:focus-visible::after,.chip.is-active::after{opacity:1}

/* ---------- Floating CTA (sempre centralizado) ---------- */
.floating-cta{
  position:fixed;left:0;right:0;bottom:clamp(16px,3vw,28px);
  width:fit-content;margin-inline:auto;z-index:40;
  display:inline-flex;align-items:center;gap:var(--s-3);
  padding:14px 18px;border-radius:var(--r-pill);
  background:var(--cream-0);color:var(--plum-900);
  font-weight:600;font-size:14.5px;letter-spacing:-.01em;
  box-shadow:0 14px 40px rgba(22,12,40,.5),0 0 0 1px var(--jade-glow);
  opacity:0;transform:translateY(24px) scale(.96);pointer-events:none;
  transition:opacity .5s var(--ease-out),transform .5s var(--ease-spring);
}
.floating-cta .cta__arrow{width:28px;height:28px;background:var(--plum-800);color:var(--jade)}
.floating-cta.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.floating-cta:hover{box-shadow:0 18px 50px rgba(40,184,138,.35),0 0 0 1px var(--jade)}
.floating-cta:hover .cta__arrow{transform:translateX(3px)}

/* ---------- Scroll reveal (usa a propriedade `translate`, independente de `transform`,
   pra não anular os lifts de hover dos cards/chips/steps) ---------- */
.js [data-reveal]{opacity:0;translate:0 22px;transition:opacity .8s var(--ease-out),translate .8s var(--ease-out)}
.js [data-reveal].is-in{opacity:1;translate:0 0}
/* Foco visível (acessibilidade) */
:focus-visible{outline:2px solid var(--jade);outline-offset:3px;border-radius:2px}
:focus:not(:focus-visible){outline:none}
.js [data-reveal]:nth-child(2){transition-delay:.06s}
.js [data-reveal]:nth-child(3){transition-delay:.12s}
.js [data-reveal]:nth-child(4){transition-delay:.18s}
.symptoms__grid [data-reveal]{transition-delay:calc(var(--i,0)*70ms)}

/* =====================================================================
   RESPONSIVO
   ===================================================================== */
@media (max-width:1024px){
  .hero__inner{grid-template-columns:1fr;gap:clamp(28px,5vw,48px);min-height:0}
  .hero__visual{order:2;max-width:420px;margin:0 auto}
  .hero__content{order:1}
  .problema__inner{grid-template-columns:1fr;gap:clamp(36px,7vw,56px)}
  .problema__lead{max-width:none}
}

@media (max-width:560px){
  .hero{padding:2px 20px 48px}
  .hero__content{gap:13px}
  .display{font-size:clamp(36px,11vw,52px)}
  .hero__lede{font-size:15px;max-width:none}
  .cta{width:100%;padding:17px 18px 17px 22px}
  .hero__cta-wrap{max-width:none}
  .hero__trust{gap:16px}
  .trust__by{padding-left:16px}
  .orb-scene{max-width:300px}
  .token{font-size:11px;padding:6px 11px}
  .token--c{left:-2%}
  .symptoms__grid{grid-template-columns:1fr}
  .chip{min-height:auto;flex-direction:column}
  /* No mobile os chips já mostram o reveal (sem hover) */
  .chip__title{transform:none!important}
  .chip__reveal{position:static;opacity:1;transform:none;margin-top:8px}
  .floating-cta{width:calc(100% - 32px);justify-content:space-between}
}

/* =====================================================================
   UTILITÁRIOS COMPARTILHADOS (seções 3-9)
   ===================================================================== */
.h2--center{text-align:center;margin-inline:auto;max-width:16ch}
.h2--center.h2{max-width:20ch}
.eyebrow--center{justify-content:center}
.cta--mega{width:100%;padding:22px 26px;font-size:clamp(15px,1.2vw,17px)}
.cta--mega .cta__arrow{width:38px;height:38px}
.cta--loud{box-shadow:0 12px 40px rgba(22,12,40,.5),0 0 0 1px var(--jade-glow),0 0 60px rgba(104,230,180,.18)}
.cta--loud:hover{box-shadow:0 18px 60px rgba(40,184,138,.4),0 0 0 1px var(--jade),0 0 90px rgba(104,230,180,.3)}
@keyframes spot{0%,100%{opacity:.72}50%{opacity:1}}

/* =====================================================================
   SEÇÃO 3 — MÉTODO (Scroll Storytelling / Sticky Split)
   ===================================================================== */
.metodo{position:relative;z-index:3;padding:clamp(72px,10vw,150px) var(--gutter)}
.metodo__inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:.42fr .58fr;gap:clamp(40px,6vw,96px);align-items:start}
.metodo__aside{position:sticky;top:clamp(80px,12vh,140px);display:flex;flex-direction:column;gap:var(--s-5)}
.metodo__intro{font-size:clamp(15px,1.15vw,17px);line-height:1.7;color:var(--cream-2);font-weight:350}
.metodo__goal{font-family:var(--font-display);font-style:italic;font-weight:500;font-size:clamp(18px,1.8vw,24px);line-height:1.35;color:var(--lilac-1)}
.metodo__echo{width:120px;height:120px;border-radius:50%;margin-top:var(--s-3);
  background:radial-gradient(circle at 36% 30%,rgba(201,180,232,.5),transparent 45%),radial-gradient(circle at 60% 68%,rgba(104,230,180,.3),transparent 50%),radial-gradient(circle,var(--plum-600),var(--plum-900) 88%);
  box-shadow:inset 0 2px 20px rgba(247,242,234,.15),0 20px 50px rgba(22,12,40,.5),0 0 60px var(--amethyst-soft);
  border:1px solid rgba(201,180,232,.2);animation:breathe 7s var(--ease-smooth) infinite}
.steps{position:relative;padding-left:clamp(22px,3vw,46px)}
.steps__track{position:absolute;left:clamp(6px,1vw,16px);top:10px;bottom:10px;width:2px;background:var(--lilac-line);border-radius:2px;overflow:hidden}
.steps__fill{position:absolute;left:0;top:0;width:100%;height:0;background:linear-gradient(var(--jade),var(--jade-deep));border-radius:2px;transition:height .25s linear}
.steps__list{list-style:none;display:flex;flex-direction:column;gap:clamp(16px,2.4vw,28px)}
.step{display:grid;grid-template-columns:auto 1fr;gap:clamp(16px,2vw,24px);align-items:start;padding:clamp(18px,2.2vw,26px);border-radius:var(--r-md);background:rgba(255,255,255,.03);border:1px solid var(--lilac-soft);transition:border-color .4s var(--ease-out),transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}
.step__num{font-family:var(--font-display);font-weight:600;font-size:clamp(40px,4vw,64px);line-height:.9;color:transparent;-webkit-text-stroke:1px var(--lilac-line);transition:color .4s var(--ease-out),-webkit-text-stroke-color .4s var(--ease-out)}
.step__title{font-size:clamp(18px,1.6vw,22px);font-weight:600;color:var(--cream-0);margin-bottom:6px;letter-spacing:-.01em}
.step__desc{font-size:clamp(14.5px,1.1vw,16.5px);line-height:1.65;color:var(--cream-2);font-weight:350}
.step.is-active,.step:hover{border-color:var(--jade);transform:translateY(-2px);box-shadow:0 14px 34px rgba(22,12,40,.4),0 0 0 1px var(--jade-glow)}
.step.is-active .step__num,.step:hover .step__num{color:var(--jade);-webkit-text-stroke-color:transparent}

/* =====================================================================
   SEÇÃO 4 — AS 5 ETAPAS (Bento/Modular)
   ===================================================================== */
.etapas{position:relative;z-index:3;padding:clamp(72px,10vw,150px) var(--gutter)}
.etapas__inner{max-width:var(--container);margin:0 auto}
.etapas__head{text-align:center;max-width:820px;margin:0 auto clamp(40px,6vw,72px);display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}
.etapas__sub{font-size:clamp(15px,1.15vw,17px);color:var(--cream-2);font-weight:350;max-width:60ch}
.etapas__badge{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px solid var(--champagne-soft);border-radius:var(--r-pill);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--champagne)}
.etapas__badge span{color:var(--lilac-3)}
.etapas__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(14px,1.6vw,20px)}
.etapa{position:relative;overflow:hidden;padding:clamp(24px,2.6vw,36px);border-radius:var(--r-lg);background:rgba(255,255,255,.035);border:1px solid var(--lilac-line);transition:border-color .4s var(--ease-out),transform .4s var(--ease-out),box-shadow .4s var(--ease-out),background .4s var(--ease-out)}
.e-wide{grid-column:span 7}
.e-narrow{grid-column:span 5}
.e-full{grid-column:span 12;background:rgba(37,23,66,.55);display:grid;grid-template-columns:auto 1fr;gap:clamp(24px,4vw,64px);align-items:center}
.etapa__num{display:block;font-family:var(--font-display);font-weight:600;font-size:clamp(56px,7vw,120px);line-height:.85;color:transparent;-webkit-text-stroke:1.5px var(--lilac-line);margin-bottom:var(--s-3);transition:-webkit-text-stroke-color .4s var(--ease-out),color .4s var(--ease-out)}
.e-full .etapa__num{margin-bottom:0}
.etapa__title{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2vw,30px);color:var(--cream-0);margin-bottom:var(--s-4);letter-spacing:-.01em}
.etapa__fullbody{display:flex;flex-direction:column;gap:var(--s-4)}
.e-full .etapa__title{margin-bottom:0}
.etapa__list{list-style:none;display:flex;flex-direction:column;gap:var(--s-3)}
.etapa__list li{position:relative;padding-left:20px;font-size:clamp(14px,1vw,15.5px);line-height:1.5;color:var(--cream-2)}
.etapa__list li::before{content:"";position:absolute;left:0;top:.55em;width:8px;height:2px;border-radius:2px;background:var(--jade)}
.etapa__list--row{flex-direction:row;flex-wrap:wrap;gap:var(--s-3) clamp(24px,4vw,48px)}
.etapa:hover{border-color:var(--jade);transform:translateY(-4px);background:rgba(104,230,180,.05);box-shadow:0 18px 40px rgba(22,12,40,.42),0 0 0 1px var(--jade-glow)}
.etapa:hover .etapa__num{-webkit-text-stroke-color:transparent;color:var(--champagne-soft)}
.etapas__cta{max-width:460px;margin:clamp(40px,5vw,64px) auto 0}

/* =====================================================================
   SEÇÃO 5 — KARINA (Split Vertical + foto)
   ===================================================================== */
.karina{position:relative;z-index:3;padding:clamp(72px,10vw,150px) var(--gutter)}
.karina__inner{max-width:var(--container);margin:0 auto;display:grid;grid-template-columns:.46fr .54fr;gap:clamp(32px,5vw,80px);align-items:center}
.karina__photo{position:relative;border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--champagne-soft);aspect-ratio:4/5;min-height:420px;box-shadow:0 30px 70px rgba(22,12,40,.5);
  background:radial-gradient(circle at 40% 30%,rgba(124,92,196,.4),transparent 55%),linear-gradient(160deg,var(--plum-700),var(--plum-900))}
.karina__photo img{width:100%;height:100%;object-fit:cover;object-position:top center;filter:saturate(1.02)}
.karina__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(22,12,40,.7));pointer-events:none}
.karina__photo.no-img::before{content:"KA";position:absolute;inset:0;display:grid;place-items:center;font-family:var(--font-display);font-weight:500;font-size:clamp(80px,12vw,160px);color:rgba(201,180,232,.22)}
.karina__badge{position:absolute;left:16px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:2px;padding:12px 16px;background:rgba(22,12,40,.62);backdrop-filter:blur(10px);border-left:2px solid var(--champagne);border-radius:0 var(--r-sm) var(--r-sm) 0}
.karina__badge-name{font-family:var(--font-display);font-weight:500;font-size:16px;color:var(--cream-0)}
.karina__badge-role{font-size:11px;letter-spacing:.06em;color:var(--cream-2)}
.karina__text{display:flex;flex-direction:column;gap:var(--s-4)}
.karina__sub{font-family:var(--font-display);font-style:italic;font-size:clamp(16px,1.4vw,20px);color:var(--lilac-1)}
.karina__body{display:flex;flex-direction:column;gap:var(--s-4);margin-top:var(--s-2)}
.karina__body p{font-size:clamp(15px,1.15vw,17px);line-height:1.72;color:var(--cream-2);font-weight:350}
.karina__honest{color:var(--cream-1);font-weight:400}
.karina__seals{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:var(--s-3);margin-top:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--champagne-soft)}
.karina__seals li{position:relative;padding-left:20px;font-size:13px;font-weight:600;color:var(--cream-1)}
.karina__seals li::before{content:"";position:absolute;left:0;top:.4em;width:8px;height:8px;border-radius:50%;background:var(--jade);box-shadow:0 0 8px var(--jade-glow)}

/* =====================================================================
   SEÇÃO 6 — OFERTA (Spotlight / Contained Center)
   ===================================================================== */
.oferta{position:relative;z-index:3;padding:clamp(80px,12vw,180px) var(--gutter);isolation:isolate}
.oferta__inner{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}
.oferta__inner .h2 em{font-style:normal;color:var(--champagne)}
.oferta__sub{font-size:clamp(15px,1.2vw,18px);color:var(--cream-2);font-weight:350;max-width:52ch}
.oferta__lead{font-size:clamp(15px,1.1vw,16.5px);line-height:1.7;color:var(--cream-2);font-weight:350;max-width:56ch}
.oferta__card{position:relative;width:100%;max-width:560px;margin-top:var(--s-5);padding:clamp(28px,4vw,44px);border-radius:var(--r-lg);background:rgba(255,255,255,.04);border:1px solid var(--lilac-line);backdrop-filter:blur(14px);text-align:left;box-shadow:0 30px 80px rgba(22,12,40,.5)}
.oferta__card::before{content:"";position:absolute;inset:-40% -20%;z-index:-1;filter:blur(30px);animation:spot 6s var(--ease-smooth) infinite;
  background:radial-gradient(circle at 50% 40%,var(--jade-soft),transparent 60%),radial-gradient(circle at 50% 82%,var(--amethyst-soft),transparent 65%)}
.oferta__list{list-style:none;display:flex;flex-direction:column;gap:var(--s-3);margin-bottom:var(--s-5)}
.oferta__list li{position:relative;padding-left:30px;font-size:clamp(14.5px,1.1vw,16px);color:var(--cream-1);line-height:1.5}
.oferta__list li::before{content:"";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--jade-soft);border:1px solid var(--jade)}
.oferta__list li::after{content:"";position:absolute;left:6px;top:5px;width:7px;height:4px;border-left:2px solid var(--jade);border-bottom:2px solid var(--jade);transform:rotate(-45deg)}
.oferta__price{display:flex;align-items:baseline;gap:var(--s-4);justify-content:center;margin-bottom:var(--s-5);padding:var(--s-4) 0;border-top:1px solid var(--lilac-soft);border-bottom:1px solid var(--lilac-soft)}
.oferta__from{font-size:18px;color:var(--cream-3);text-decoration:line-through;text-decoration-color:var(--champagne);text-decoration-thickness:2px}
.oferta__now{font-family:var(--font-display);font-weight:600;font-size:clamp(56px,8vw,96px);line-height:.9;color:var(--cream-0);text-shadow:0 0 40px rgba(233,206,154,.25)}
.oferta__micro{text-align:center;font-size:12px;color:var(--cream-3);margin-top:var(--s-4)}

/* =====================================================================
   SEÇÃO 7 — GARANTIA (Framed / Isolated)
   ===================================================================== */
.garantia{position:relative;z-index:3;padding:clamp(48px,7vw,96px) var(--gutter)}
.garantia__inner{max-width:820px;margin:0 auto;display:flex;align-items:center;gap:clamp(24px,4vw,48px);padding:clamp(28px,4vw,44px);border-radius:var(--r-lg);background:rgba(255,255,255,.02);border:1px solid var(--champagne-soft)}
.garantia__seal{position:relative;flex-shrink:0;width:100px;height:100px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--jade-soft);background:var(--jade-soft);color:var(--jade);animation:breathe 6s var(--ease-smooth) infinite}
.garantia__seal svg{position:absolute;opacity:.35;width:56px;height:56px}
.garantia__seal-num{position:relative;font-family:var(--font-display);font-weight:600;font-size:30px;color:var(--cream-0);display:flex;flex-direction:column;align-items:center;line-height:.8}
.garantia__seal-num small{font-family:var(--font-body);font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--jade);margin-top:4px}
.garantia__tag{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne);margin-bottom:var(--s-3)}
.garantia__h3{font-family:var(--font-display);font-weight:500;font-size:clamp(22px,2.4vw,32px);color:var(--cream-0);line-height:1.15;margin-bottom:var(--s-3);letter-spacing:-.01em}
.garantia__text p{font-size:clamp(14.5px,1.1vw,16px);line-height:1.65;color:var(--cream-2);font-weight:350;margin-bottom:var(--s-2)}
.garantia__strong{color:var(--cream-1)!important;font-weight:400}

/* =====================================================================
   SEÇÃO 8 — FAQ (Accordion)
   ===================================================================== */
.faq{position:relative;z-index:3;padding:clamp(64px,9vw,130px) var(--gutter)}
.faq__inner{max-width:780px;margin:0 auto}
.faq__inner .eyebrow{margin-bottom:clamp(24px,3vw,40px)}
.faq__list{border-top:1px solid var(--lilac-line)}
.faq__item{border-bottom:1px solid var(--lilac-line)}
.faq__q{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);width:100%;text-align:left;padding:clamp(18px,2.2vw,24px) 0;min-height:44px;font-family:var(--font-body);font-weight:600;font-size:clamp(16px,1.3vw,19px);color:var(--cream-1);transition:color .3s var(--ease-out)}
.faq__q:hover,.faq__item.is-open .faq__q{color:var(--cream-0)}
.faq__icon{position:relative;flex-shrink:0;width:20px;height:20px}
.faq__icon::before,.faq__icon::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;border-radius:2px;background:var(--jade);transform:translate(-50%,-50%);transition:transform .35s var(--ease-out)}
.faq__icon::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq__item.is-open .faq__icon::after{transform:translate(-50%,-50%) rotate(0)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s var(--ease-out)}
.faq__item.is-open .faq__a{grid-template-rows:1fr}
.faq__a-inner{overflow:hidden;min-height:0}
.faq__a-inner p{padding-bottom:clamp(18px,2.2vw,24px);font-size:clamp(14.5px,1.1vw,16px);line-height:1.7;color:var(--cream-2);font-weight:350;max-width:64ch}

/* =====================================================================
   SEÇÃO 9 — CTA FINAL (Type Hero / Poster)
   ===================================================================== */
.final{position:relative;z-index:3;padding:clamp(96px,14vw,200px) var(--gutter);min-height:80vh;display:grid;place-items:center;isolation:isolate;overflow:hidden}
.final__echo{position:absolute;z-index:-1;top:50%;left:50%;width:min(560px,90vw);aspect-ratio:1/1;
  margin-left:calc(min(560px,90vw) / -2);margin-top:calc(min(560px,90vw) / -2);
  border-radius:50%;filter:blur(60px);opacity:.5;animation:breathe 8s var(--ease-smooth) infinite;
  background:radial-gradient(circle at 40% 34%,rgba(201,180,232,.4),transparent 45%),radial-gradient(circle at 60% 66%,rgba(104,230,180,.28),transparent 50%),radial-gradient(circle,var(--plum-600),transparent 70%)}
.final__inner{max-width:760px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--s-4)}
.final__h2{font-family:var(--font-display);font-weight:500;font-size:clamp(38px,6vw,88px);line-height:1;letter-spacing:-.02em;color:var(--cream-0);margin:var(--s-2) 0}
.final__h2 em{font-style:italic;color:var(--lilac-1)}
.final__sub{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:clamp(17px,1.6vw,22px);color:var(--lilac-1);max-width:44ch}
.final__p{font-size:clamp(15px,1.15vw,17px);line-height:1.7;color:var(--cream-2);font-weight:350;max-width:52ch}
.final__close{color:var(--cream-0);font-weight:400}
.final__cta{width:100%;max-width:460px;margin-top:var(--s-5);display:flex;flex-direction:column;gap:var(--s-3)}
.final__micro{font-size:12px;color:var(--cream-3)}

/* =====================================================================
   FOOTER
   ===================================================================== */
.site-footer{position:relative;z-index:3;background:var(--plum-950);border-top:1px solid var(--lilac-line);padding:clamp(40px,6vw,72px) var(--gutter) clamp(24px,3vw,36px)}
.site-footer__inner{max-width:var(--container);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:var(--s-6);flex-wrap:wrap}
.site-footer__brand{display:flex;flex-direction:column;gap:2px}
.site-footer__links{display:flex;gap:clamp(16px,2vw,28px);flex-wrap:wrap}
.site-footer__links a{font-size:13px;color:var(--cream-3);transition:color .3s var(--ease-out);padding:4px 0}
.site-footer__links a:hover{color:var(--jade)}
.site-footer__base{max-width:var(--container);margin:clamp(24px,3vw,36px) auto 0;padding-top:var(--s-5);border-top:1px solid var(--lilac-soft);display:flex;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;font-size:12px;color:var(--cream-3)}
.site-footer__disc{color:var(--lilac-3);max-width:52ch}

/* =====================================================================
   RESPONSIVO (seções 3-9)
   ===================================================================== */
@media (max-width:1024px){
  .metodo__inner{grid-template-columns:1fr;gap:clamp(28px,5vw,44px)}
  .metodo__aside{position:static;top:auto}
  .karina__inner{grid-template-columns:1fr;gap:clamp(28px,5vw,40px)}
  .karina__photo{max-width:440px;width:100%;margin:0 auto}
  .etapas__grid{grid-template-columns:repeat(2,1fr)}
  .e-wide,.e-narrow{grid-column:span 1}
  .e-full{grid-column:1/-1}
}
@media (max-width:640px){
  .etapas__grid{grid-template-columns:1fr}
  .e-full{display:block}
  .e-full .etapa__num{margin-bottom:var(--s-3)}
  .e-full .etapa__title{margin-bottom:var(--s-4)}
  .etapa__list--row{flex-direction:column}
  .karina__seals{grid-template-columns:1fr}
  .garantia__inner{flex-direction:column;text-align:center;align-items:center}
  .metodo__echo{width:90px;height:90px}
  .site-footer__inner,.site-footer__base{flex-direction:column;align-items:flex-start;gap:var(--s-4)}
}
@media (max-width:560px){
  .oferta__now{font-size:clamp(48px,16vw,72px)}
  .oferta__card{padding:24px 20px}
  .step__num{font-size:clamp(32px,10vw,44px)}
  .etapa__num{font-size:clamp(48px,16vw,72px)}
  .final__cta{max-width:100%}
}

/* ---------- Acessibilidade / movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .aurora{animation:none}
  .js [data-reveal]{opacity:1;translate:none;transform:none}
}
