/* =====================================================================
   MÉTODO VCM · Viviane Fraga
   Design system — preto profundo + ouro + vinho
   Fraunces (display) · Hanken Grotesk (texto)
   ===================================================================== */

:root{
  /* palette */
  --void:#0b0806;        /* rich warm near-black */
  --ink:#070504;
  --char:#14100b;        /* elevated surface */
  --char-2:#1c1610;
  --gold:#d8b25e;
  --gold-lite:#f0d79c;
  --gold-deep:#9a7430;
  --wine:#6d1f30;
  --wine-lite:#9a3049;
  --rose:#d99aa6;          /* soft dusty rose */
  --rose-lite:#eabec6;     /* light petal rose */
  --rose-deep:#b25e6e;     /* mauve rose */
  --cream:#f4ece0;
  --muted:rgba(244,236,224,.56);
  --faint:rgba(244,236,224,.30);
  --line:rgba(216,178,94,.16);
  --line-rose:rgba(217,154,166,.20);
  --line-soft:rgba(244,236,224,.09);
  --gold-grad:linear-gradient(115deg,#f6e6b6 0%,#d8b25e 42%,#a67c34 72%,#e8cf94 100%);
  --rose-grad:linear-gradient(120deg,#eabec6 0%,#d99aa6 45%,#b25e6e 100%);
  --rosegold-grad:linear-gradient(120deg,#f0d79c 0%,#e6b6ac 40%,#d99aa6 70%,#caa25e 100%);

  --fx:"Fraunces",Georgia,serif;
  --fs:"Hanken Grotesk",system-ui,sans-serif;

  --pad:clamp(1.25rem,5vw,6rem);
  --maxw:1320px;
  --ease:cubic-bezier(.19,1,.22,1);
}

/* ---------- reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--void);
  color:var(--cream);
  font-family:var(--fs);
  font-weight:400;
  line-height:1.55;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
}
/* fixed atmospheric mesh — nothing is ever flat black */
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(80% 50% at 78% 4%, rgba(217,154,166,.10), transparent 60%),
    radial-gradient(70% 45% at 12% 30%, rgba(216,178,94,.07), transparent 60%),
    radial-gradient(90% 60% at 88% 62%, rgba(178,94,110,.09), transparent 60%),
    radial-gradient(70% 50% at 8% 88%, rgba(109,31,48,.16), transparent 60%),
    linear-gradient(180deg,#0c0806,#0a0705 40%,#0b0806);
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}
ul{list-style:none}
::selection{background:var(--gold);color:var(--ink)}

/* smooth scroll driver (Lenis) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}

/* ---------- reusable ---------- */
.grad{
  background:var(--gold-grad);
  background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:sheen 7s linear infinite;
}
@keyframes sheen{to{background-position:200% center}}

.eyebrow{
  display:flex;align-items:center;gap:.85em;
  font-family:var(--fs);
  font-size:.72rem;font-weight:600;letter-spacing:.32em;text-transform:uppercase;
  color:var(--gold);
}
.eyebrow em{font-style:normal;color:var(--gold-lite)}
.eyebrow__line{display:inline-block;width:clamp(28px,5vw,64px);height:1px;background:linear-gradient(90deg,var(--gold),transparent)}
.eyebrow--center{justify-content:center}
.eyebrow--center .eyebrow__line:last-child{background:linear-gradient(90deg,transparent,var(--gold))}

.section-title{
  font-family:var(--fx);
  font-weight:340;
  font-size:clamp(2.1rem,6vw,4.6rem);
  line-height:1.02;
  letter-spacing:-.015em;
}
.section-title em{font-style:italic}

/* ---------- buttons ---------- */
.btn{
  --bg:transparent;
  display:inline-flex;align-items:center;gap:.7em;
  font-family:var(--fs);font-size:.82rem;font-weight:600;letter-spacing:.04em;
  padding:1.05em 1.7em;border-radius:100px;
  position:relative;transition:transform .5s var(--ease),color .4s,background .4s;
  will-change:transform;
}
.btn__arrow{transition:transform .5s var(--ease)}
.btn:hover .btn__arrow{transform:translateX(5px)}
.btn--gold{
  background:var(--gold-grad);background-size:180% auto;color:#241705;
  box-shadow:0 10px 40px -12px rgba(216,178,94,.55);
}
.btn--gold:hover{background-position:100% center;transform:translateY(-2px)}
.btn--ghost{border:1px solid var(--line);color:var(--cream)}
.btn--ghost:hover{border-color:var(--gold);color:var(--gold-lite)}
.btn--nav{
  padding:.7em 1.15em;font-size:.74rem;border:1px solid var(--line);
}
.btn--nav .btn__dot{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 10px var(--gold);animation:pulse 2.4s infinite}
.btn--nav:hover{border-color:var(--gold);background:rgba(216,178,94,.06)}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* =====================================================================
   OVERLAYS · grain · cursor · preloader
   ===================================================================== */
.grain{
  position:fixed;inset:-50%;z-index:9990;pointer-events:none;opacity:.05;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  animation:grain 6s steps(6) infinite;
}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-4%,3%)}40%{transform:translate(3%,-4%)}60%{transform:translate(-2%,2%)}80%{transform:translate(4%,-2%)}100%{transform:translate(0,0)}}

.cursor{
  position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
  mix-blend-mode:difference;transform:translate(-50%,-50%);
  transition:opacity .3s;opacity:0;
}
.cursor span{
  display:grid;place-items:center;width:12px;height:12px;border-radius:50%;
  background:#fff;transition:width .4s var(--ease),height .4s var(--ease),background .3s;
  font-size:.6rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:transparent;
}
.cursor.is-hover span{width:74px;height:74px;background:var(--gold);color:#000;mix-blend-mode:normal}
.cursor.is-hover.type-scroll span::after{content:"role"}
.cursor.is-hover.type-join span::after{content:"vem"}
.cursor.is-hover.type-reveal span::after{content:"toque"}
@media (hover:none){.cursor{display:none}}

.preloader{
  position:fixed;inset:0;z-index:9995;background:var(--ink);
  display:grid;place-items:center;transition:opacity .8s,visibility .8s;
}
.preloader.done{opacity:0;visibility:hidden}
.preloader__inner{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.preloader__mark{font-family:var(--fx);font-weight:300;font-size:clamp(3rem,12vw,6rem);letter-spacing:.1em;color:var(--gold-lite)}
.preloader__bar{display:block;width:min(38vw,220px);height:1px;background:var(--line-soft);overflow:hidden}
.preloader__bar i{display:block;height:100%;width:0;background:var(--gold-grad);animation:load 1.6s var(--ease) forwards}
@keyframes load{to{width:100%}}
.preloader__word{font-size:.68rem;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}

/* =====================================================================
   NAV
   ===================================================================== */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:1.15rem var(--pad);
  transition:padding .5s var(--ease),background .5s,backdrop-filter .5s,border-color .5s;
  border-bottom:1px solid transparent;
}
.nav.scrolled{
  padding:.7rem var(--pad);background:rgba(11,8,6,.72);
  backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-soft);
}
.nav__brand{display:flex;flex-direction:column;line-height:1}
.nav__brand-mark{font-family:var(--fx);font-weight:400;font-size:1.35rem;letter-spacing:.14em;color:var(--gold-lite)}
.nav__brand-sub{font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);margin-top:.3em}
.nav__links{display:flex;gap:2rem}
.nav__links a{font-size:.8rem;color:var(--muted);letter-spacing:.02em;position:relative;padding:.2em 0;transition:color .3s}
.nav__links a::after{content:"";position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--gold);transition:width .4s var(--ease)}
.nav__links a:hover{color:var(--cream)}
.nav__links a:hover::after{width:100%}
@media (max-width:900px){.nav__links{display:none}}
@media (max-width:520px){
  .nav{padding-left:1.05rem;padding-right:1.05rem}
  .nav__brand-mark{font-size:1.15rem}
  .nav__brand-sub{font-size:.55rem;letter-spacing:.28em}
  .btn--nav{padding:.6em .85em;font-size:.66rem;gap:.5em}
}

/* =====================================================================
   HERO
   ===================================================================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding:clamp(6rem,12vh,9rem) var(--pad) clamp(3rem,7vh,5rem);overflow:hidden}

/* atmosphere — floating colour orbs + ghost type */
.hero__atmos{position:absolute;inset:0;z-index:0;pointer-events:none}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.5;will-change:transform}
.orb--rose{width:48vw;height:48vw;left:34%;top:20%;background:radial-gradient(circle,rgba(217,154,166,.52),transparent 66%);animation:float1 18s var(--ease) infinite}
.orb--gold{width:40vw;height:40vw;right:6%;top:2%;background:radial-gradient(circle,rgba(216,178,94,.30),transparent 64%);animation:float2 22s var(--ease) infinite}
.orb--wine{width:38vw;height:38vw;left:-8%;bottom:-12%;background:radial-gradient(circle,rgba(109,31,48,.5),transparent 64%);animation:float1 26s var(--ease) infinite reverse}
@keyframes float1{0%,100%{transform:translate(0,0)}50%{transform:translate(4%,-5%)}}
@keyframes float2{0%,100%{transform:translate(0,0)}50%{transform:translate(-5%,4%)}}
.hero__ghost{
  position:absolute;right:-2%;bottom:-14%;font-family:var(--fx);font-weight:300;font-style:italic;
  font-size:34vw;line-height:.8;color:transparent;-webkit-text-stroke:1px rgba(217,154,166,.06);
  pointer-events:none;user-select:none;
}

.hero__inner{
  position:relative;z-index:2;width:100%;max-width:var(--maxw);margin-inline:auto;
  display:flex;align-items:center;
}
.hero__content{max-width:min(100%,42rem)}
.eyebrow--hero{margin-bottom:1.7rem;white-space:nowrap;font-size:.68rem;letter-spacing:.26em}
.hero__title{
  font-family:var(--fx);font-weight:330;
  font-size:clamp(2.7rem,5vw,4.8rem);line-height:.98;letter-spacing:-.02em;
  margin-bottom:1.8rem;
}
.hero__title .line{display:block;overflow:hidden;padding-bottom:.06em}
.hero__title .line [data-line]{display:block}
.hero__title em{font-style:italic}
.hero__lede{max-width:40ch;color:var(--muted);font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.6;margin-bottom:1.2rem}
.hero__note{max-width:42ch;color:var(--cream);font-size:clamp(.92rem,1.15vw,1.02rem);line-height:1.55;margin-bottom:2.2rem;padding-left:1rem;border-left:2px solid var(--line-rose)}
.hero__lede em{color:var(--rose-lite);font-style:italic}
.hero__cta{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.6rem}
.hero__meta{display:flex;gap:2.5rem;flex-wrap:wrap;padding-top:1.6rem;border-top:1px solid var(--line-soft);max-width:52ch}
.hero__meta-item{display:flex;flex-direction:column;gap:.2em}
.hero__meta-item strong{font-family:var(--fx);font-weight:400;font-size:1.5rem;color:var(--gold-lite)}
.hero__meta-item span{font-size:.76rem;color:var(--muted);letter-spacing:.02em}

/* FULL-BLEED portrait (edge to edge) that dissolves into the page — no seam */
.hero__figure{position:absolute;inset:0;z-index:1;pointer-events:none}
.hero__figure img{width:100%;height:100%;object-fit:cover;object-position:72% 30%}
.hero__figure-grade{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, var(--void) 26%, rgba(11,8,6,.9) 42%, rgba(11,8,6,.45) 58%, rgba(11,8,6,.1) 74%, transparent 88%),
    linear-gradient(0deg, var(--void) 1%, rgba(11,8,6,.55) 11%, transparent 32%),
    linear-gradient(180deg, var(--void) 0%, rgba(11,8,6,.5) 9%, transparent 28%),
    radial-gradient(70% 60% at 82% 44%, rgba(217,154,166,.15), transparent 60%),
    radial-gradient(60% 55% at 92% 80%, rgba(216,178,94,.13), transparent 60%);
}
.hero__figure-cap{
  position:absolute;right:clamp(1.5rem,3vw,3rem);bottom:clamp(1.6rem,4vh,3rem);z-index:2;
  display:flex;flex-direction:column;align-items:flex-end;gap:.15em;text-align:right;
}
.hero__figure-name{font-family:var(--fx);font-style:italic;font-weight:300;font-size:1.5rem;color:var(--cream);text-shadow:0 2px 18px rgba(0,0,0,.7)}
.hero__figure-role{font-size:.62rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rose-lite)}
.hero__figure-rail{
  position:absolute;right:1.3rem;top:50%;z-index:2;
  writing-mode:vertical-rl;transform:translateY(-50%);
  display:flex;align-items:center;gap:.8em;
  font-size:.58rem;letter-spacing:.34em;text-transform:uppercase;color:var(--rose);
}
.hero__figure-rail i{display:block;width:1px;height:26px;background:linear-gradient(180deg,transparent,var(--rose))}
.hero__figure-rail i:last-child{background:linear-gradient(180deg,var(--rose),transparent)}
.spark{position:absolute;z-index:2;color:var(--gold);font-size:1.1rem;animation:twinkle 3.4s ease-in-out infinite}
.spark--1{top:16%;left:6%;color:var(--rose-lite)}
.spark--2{bottom:20%;right:8%;animation-delay:1.2s}
@keyframes twinkle{0%,100%{opacity:.25;transform:scale(.8) rotate(0)}50%{opacity:.9;transform:scale(1.15) rotate(45deg)}}

.hero__scroll{
  position:absolute;left:var(--pad);bottom:clamp(1.6rem,4vh,3rem);z-index:3;
  display:flex;flex-direction:column;align-items:center;gap:.7em;
  font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted);
}
.hero__scroll i{display:block;width:1px;height:46px;background:linear-gradient(var(--gold),transparent);position:relative;overflow:hidden}
.hero__scroll i::after{content:"";position:absolute;top:-50%;left:0;width:100%;height:50%;background:var(--gold-lite);animation:drop 2s var(--ease) infinite}
@keyframes drop{0%{top:-50%}60%,100%{top:100%}}
/* hide scroll hint on short viewports where it meets the stats row */
@media (max-height:960px){ .hero__scroll{display:none} }

@media (max-width:940px){
  .hero{align-items:flex-end;padding-bottom:clamp(2.5rem,7vh,5rem)}
  .hero__content{max-width:100%;position:relative;z-index:2}
  .hero__figure{inset:0;width:100%}
  .hero__figure img{object-position:62% 26%}
  .hero__figure-grade{background:linear-gradient(0deg,var(--void) 12%,rgba(11,8,6,.82) 40%,rgba(11,8,6,.55) 68%,rgba(11,8,6,.4) 100%),radial-gradient(120% 55% at 70% 16%,rgba(217,154,166,.28),transparent 58%),radial-gradient(120% 70% at 30% 62%,rgba(216,178,94,.12),transparent 60%)}
  .hero__figure-cap,.hero__figure-rail,.spark{display:none}
  .hero__scroll{display:none}
  .hero__ghost{font-size:52vw;bottom:auto;top:-6%;opacity:.7}
}

/* =====================================================================
   MARQUEE
   ===================================================================== */
.marquee{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);overflow:hidden;padding:1.4rem 0;background:linear-gradient(var(--ink),var(--void))}
.marquee__track{display:flex;gap:2.4rem;white-space:nowrap;width:max-content;animation:scroll-x 34s linear infinite}
.marquee__track span{font-family:var(--fx);font-style:italic;font-weight:300;font-size:clamp(1.4rem,3.4vw,2.6rem);color:var(--cream);opacity:.82}
.marquee__star{color:var(--gold);font-style:normal!important;opacity:1!important}
@keyframes scroll-x{to{transform:translateX(-50%)}}

/* =====================================================================
   MANIFESTO
   ===================================================================== */
.manifesto{padding:clamp(6rem,15vh,12rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.manifesto .eyebrow{margin-bottom:2.4rem}
.manifesto__text{
  font-family:var(--fx);font-weight:340;
  font-size:clamp(1.9rem,5.2vw,4.4rem);line-height:1.12;letter-spacing:-.015em;
  max-width:20ch;
}
.manifesto__text span{display:inline-block}
.manifesto__text .dim{color:var(--faint)}
.manifesto__body{margin-top:2.8rem;max-width:58ch;display:flex;flex-direction:column;gap:1.3rem}
.manifesto__body p{color:var(--muted);font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65}
.manifesto__body p:last-child{color:var(--cream)}

/* =====================================================================
   RECONHECE / PONTO A
   ===================================================================== */
.recon{padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.recon__head{margin-bottom:3.5rem}
.recon__head .eyebrow{margin-bottom:1.4rem}
.recon__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.recon__list li{background:var(--void);padding:2rem 1.9rem;display:flex;gap:1.2rem;align-items:flex-start;transition:background .5s}
.recon__list li:hover{background:var(--char)}
.recon__num{font-family:var(--fx);font-style:italic;font-size:1.1rem;color:var(--gold);flex-shrink:0;padding-top:.1em}
.recon__list p{font-size:1.08rem;line-height:1.4}
.recon__list em{font-style:italic;color:var(--rose)}
.recon__quote{
  margin-top:3.2rem;font-family:var(--fx);font-weight:300;
  font-size:clamp(1.5rem,3.6vw,2.7rem);line-height:1.2;letter-spacing:-.01em;text-align:center;
}
.recon__quote span{display:inline}
.recon__punch{margin:2rem auto 0;max-width:60ch;text-align:center;font-family:var(--fx);font-weight:300;font-size:clamp(1.15rem,2vw,1.6rem);line-height:1.35;color:var(--muted);padding-top:2rem;border-top:1px solid var(--line-soft)}
.recon__punch em{font-style:italic}

/* =====================================================================
   7 TRAVAS — ORBITAL
   ===================================================================== */
.travas{padding:clamp(5rem,12vh,8rem) var(--pad) 0;position:relative}
.travas__stage{backface-visibility:hidden}
.travas::before{content:"";position:absolute;top:30%;left:50%;transform:translateX(-50%);width:80vw;height:80vw;max-width:900px;max-height:900px;background:radial-gradient(circle,rgba(178,94,110,.2),transparent 60%);pointer-events:none;z-index:-1}
.travas__head{text-align:center;max-width:60ch;margin:0 auto clamp(1rem,3vh,2rem)}
.travas__head .eyebrow{justify-content:center;margin-bottom:1.3rem}
.travas__head .section-title{font-size:clamp(2rem,5vw,3.8rem)}
.travas__intro{margin:1.6rem auto 0;max-width:64ch;display:flex;flex-direction:column;gap:1rem}
.travas__intro p{color:var(--muted);font-size:clamp(.98rem,1.3vw,1.08rem);line-height:1.6}
.travas__intro p:last-child{color:var(--rose-lite);font-family:var(--fx);font-style:italic;font-size:clamp(1.05rem,1.5vw,1.25rem)}

/* pinned stage */
.travas__stage{position:relative;min-height:100vh;display:grid;place-items:center;padding:3rem 0}
.orbit__count{
  position:absolute;top:clamp(.5rem,5vh,3.5rem);left:50%;transform:translateX(-50%);z-index:6;
  font-family:var(--fx);display:flex;align-items:baseline;gap:.4em;
}
.orbit__count b{font-weight:300;font-style:italic;font-size:clamp(2.4rem,5vw,3.6rem);color:var(--rose-lite);line-height:1;min-width:1.2ch;text-align:center}
.orbit__count i{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--faint);font-style:normal}
.travas__hint{
  position:absolute;bottom:clamp(1rem,4vh,3rem);left:50%;transform:translateX(-50%);z-index:6;
  font-size:.6rem;letter-spacing:.34em;text-transform:uppercase;color:var(--faint);
  transition:opacity .4s;
}
.orbit.done ~ .travas__hint,.travas__stage.done .travas__hint{opacity:0}

.orbit{
  --orbit-r:calc(min(74vw,548px) / 2);
  position:relative;width:min(74vw,548px);aspect-ratio:1;margin:clamp(2rem,6vh,4rem) auto 0;
  display:grid;place-items:center;
}
.orbit__aura{
  position:absolute;width:58%;aspect-ratio:1;border-radius:50%;z-index:0;pointer-events:none;
  background:radial-gradient(circle,rgba(234,190,198,.5),rgba(216,178,94,.16) 42%,transparent 70%);
  filter:blur(38px);
  opacity:calc(.12 + var(--progress,0) * .55);
  transform:scale(calc(.7 + var(--progress,0) * .55));
  transition:opacity .3s linear,transform .3s linear;
}
.orbit__ring{position:absolute;border-radius:50%;border:1px solid var(--line-soft);opacity:calc(.25 + var(--progress,0)*.75);transition:opacity .3s}
.orbit__ring--1{inset:6%;border-color:var(--line-rose);animation:spin 60s linear infinite}
.orbit__ring--2{inset:23%;border-color:var(--line);border-style:dashed;animation:spin 44s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}

/* spokes (built by JS) */
.orbit__spokes{position:absolute;inset:0;z-index:1;pointer-events:none}
.spoke{
  position:absolute;left:50%;top:50%;height:1.5px;width:var(--orbit-r);border-radius:2px;
  transform-origin:0 50%;
  transform:rotate(calc(var(--i) * 51.43deg)) scaleX(var(--appear,0));
  background:linear-gradient(90deg,rgba(234,190,198,.5),rgba(216,178,94,.12) 72%,transparent);
  opacity:calc(.2 + var(--appear,0)*.8);
}
.spoke.active{background:linear-gradient(90deg,rgba(234,190,198,.95),rgba(216,178,94,.32) 70%,transparent);box-shadow:0 0 10px rgba(234,190,198,.5)}

.orbit__core{
  position:relative;z-index:5;width:44%;aspect-ratio:1;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.5rem;
  padding:1.5rem;
  background:radial-gradient(circle at 50% 30%,var(--char-2),var(--ink));
  border:1px solid var(--line);
  box-shadow:0 0 0 1px rgba(0,0,0,.4) inset,0 30px 90px -30px rgba(234,190,198,calc(.2 + var(--progress,0)*.5));
  transition:box-shadow .3s;
}
.orbit__core-tag{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:#241705;background:var(--gold-grad);padding:.4em .9em;border-radius:100px;font-weight:700}
.orbit__core-title{font-family:var(--fx);font-weight:340;font-size:clamp(1.6rem,4.5vw,2.6rem);color:var(--gold-lite);line-height:1}
.orbit__core-quote{font-family:var(--fx);font-style:italic;font-size:.8rem;color:var(--muted);max-width:22ch}

.node{
  position:absolute;top:50%;left:50%;z-index:4;
  --r:var(--orbit-r);
  transform:
    rotate(calc(var(--i) * 51.43deg))
    translate(var(--r))
    rotate(calc(var(--i) * -51.43deg))
    translate(-50%,-50%);
  transform-origin:0 0;
  width:clamp(120px,20vw,160px);
}
.orbit.seq .node{opacity:var(--appear,0)}
/* light burst behind the active node */
.node::after{
  content:"";position:absolute;left:50%;top:-14px;z-index:-1;
  width:150px;height:150px;border-radius:50%;
  transform:translate(-50%,-50%) scale(.2);
  background:radial-gradient(circle,rgba(234,190,198,.6),rgba(216,178,94,.22) 36%,transparent 68%);
  opacity:0;transition:opacity .5s var(--ease),transform .6s var(--ease);pointer-events:none;
}
.node__dot{
  position:absolute;left:50%;top:-14px;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;background:rgba(217,154,166,.55);
  box-shadow:0 0 0 3px rgba(217,154,166,.08),0 0 8px rgba(217,154,166,.35);
  transition:transform .5s var(--ease),box-shadow .5s,background .5s;
}
.node__label{
  display:block;font-family:var(--fx);font-weight:400;font-size:.98rem;line-height:1.15;color:var(--faint);
  text-align:center;transition:color .4s,transform .5s var(--ease);
}
.node__label b{color:var(--rose);font-style:italic;font-weight:400}
.node__desc{
  display:block;margin-top:.5em;font-size:.78rem;line-height:1.45;color:var(--muted);text-align:center;
  max-height:0;opacity:0;overflow:hidden;transition:max-height .55s var(--ease),opacity .45s,margin .45s;
}
/* lit (already revealed) */
.node.lit .node__label{color:var(--cream)}
.node.lit .node__dot{background:var(--rose);box-shadow:0 0 0 4px rgba(217,154,166,.14),0 0 14px var(--rose)}
/* active (current spotlight) — very illuminated */
.node.active{z-index:9}
.node.active .node__label{color:var(--rose-lite);transform:scale(1.06)}
.node.active .node__dot{transform:translateX(-50%) scale(1.7);background:#fdeef1;box-shadow:0 0 0 7px rgba(234,190,198,.22),0 0 34px 5px rgba(234,190,198,.75)}
.node.lit .node__desc,.node.active .node__desc{max-height:150px;opacity:1;margin-top:.6em}
.node.active::after{opacity:1;transform:translate(-50%,-50%) scale(1)}
/* hover after the sequence completes */
.orbit.done .node:hover{z-index:10}
.orbit.done .node:hover .node__label{color:var(--rose-lite);transform:scale(1.06)}
.orbit.done .node:hover .node__dot{transform:translateX(-50%) scale(1.7);background:#fdeef1;box-shadow:0 0 0 7px rgba(234,190,198,.22),0 0 34px 5px rgba(234,190,198,.75)}
.orbit.done .node:hover .node__desc{max-height:130px;opacity:1;margin-top:.7em}
.orbit.done .node:hover::after{opacity:1;transform:translate(-50%,-50%) scale(1)}

@media (max-width:640px){
  .orbit{width:92vw;--orbit-r:calc(45vw - 46px)}
  .orbit__ring--1,.orbit__ring--2{display:none}
  .orbit__core{width:42%}
  .node{width:100px}
  .node__label{font-size:.74rem}
  .node__desc{font-size:.68rem}
  .node__label b{display:block}
  .node::after{width:110px;height:110px}
}

/* =====================================================================
   VIRADA / CORAGEM OPERACIONAL
   ===================================================================== */
.virada{padding:clamp(6rem,15vh,12rem) var(--pad);text-align:center;background:linear-gradient(var(--void),var(--ink),var(--void))}
.virada .eyebrow{margin-bottom:2rem}
.virada__title{font-family:var(--fx);font-weight:330;font-size:clamp(2rem,5.5vw,4rem);line-height:1.05;letter-spacing:-.01em}
.strike{position:relative;color:var(--faint);font-size:.72em;font-style:italic}
.strike::after{display:none}
.virada__big{font-family:var(--fx);font-style:italic;font-weight:300;font-size:clamp(2.4rem,7vw,5.5rem);margin:.4rem 0 3.5rem}
.cycle{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2.4vw,1.9rem);max-width:1000px;margin:0 auto 3.4rem;padding-top:2.6rem}
/* luminous beam connecting the three stations */
.cycle__beam{position:absolute;top:2.6rem;left:9%;right:9%;height:2px;background:var(--line-soft);border-radius:2px;z-index:0}
.cycle__beam i{position:absolute;inset:0;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:2px;box-shadow:0 0 12px rgba(234,190,198,.5);transition:transform 1.6s var(--ease) .2s}
.cycle.in .cycle__beam i{transform:scaleX(1)}
.cycle__pulse{position:absolute;top:50%;left:0;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 14px 3px rgba(234,190,198,.9);transform:translate(-50%,-50%);opacity:0}
.cycle.in .cycle__pulse{animation:beamflow 2.6s var(--ease) .3s}
@keyframes beamflow{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}

.cycle__step{position:relative;z-index:1;border:1px solid var(--line-soft);border-radius:18px;padding:2.4rem 1.7rem 2.1rem;text-align:left;overflow:hidden;transition:transform .5s var(--ease),border-color .5s,box-shadow .5s}
.cycle__step::after{content:"";position:absolute;left:0;top:0;right:0;height:2px;background:linear-gradient(90deg,var(--rose),var(--gold));transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease);transition-delay:calc(.3s + var(--n)*.18s)}
.cycle.in .cycle__step::after{transform:scaleX(1)}
.cycle__ghost{position:absolute;right:.5rem;bottom:-1.5rem;font-family:var(--fx);font-style:italic;font-weight:300;font-size:7rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(217,154,166,.13);pointer-events:none;z-index:0}
.cycle__node{position:absolute;top:-2.6rem;left:50%;width:14px;height:14px;border-radius:50%;background:var(--rose-lite);box-shadow:0 0 0 5px rgba(234,190,198,.12),0 0 16px 3px rgba(234,190,198,.7);z-index:3;transform:translate(-50%,-50%) scale(0);transition:transform .55s var(--ease);transition-delay:calc(.5s + var(--n)*.24s)}
.cycle.in .cycle__node{transform:translate(-50%,-50%) scale(1)}
.cycle__idx{position:relative;z-index:1;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--rose)}
.cycle__step strong{position:relative;z-index:1;display:block;font-family:var(--fx);font-weight:400;font-size:1.8rem;margin:.5em 0 .4em;color:var(--gold-lite)}
.cycle__step p{position:relative;z-index:1;font-size:.95rem;color:var(--muted)}
.cycle__step:hover{border-color:var(--line-rose);box-shadow:0 30px 70px -40px rgba(234,190,198,.45)}
.virada__name{max-width:54ch;margin:0 auto;font-size:clamp(1.05rem,1.6vw,1.3rem);color:var(--muted);line-height:1.6}
.virada__name strong{color:var(--gold-lite);font-weight:600}
@media (max-width:720px){
  .cycle{grid-template-columns:1fr;gap:1rem;padding-top:0}
  .cycle__beam,.cycle__node{display:none}
  .cycle__ghost{font-size:5rem}
}

/* =====================================================================
   PONTO A -> B
   ===================================================================== */
.ab{padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.ab__head{margin-bottom:3.5rem;max-width:none}
.ab__head .eyebrow{margin-bottom:1.3rem}
.ab__head .section-title{font-size:clamp(2.4rem,6vw,5rem);line-height:1}
.ab__grid{display:grid;grid-template-columns:1fr auto 1fr;gap:1.2rem;align-items:stretch}
.ab__col{position:relative;border:1px solid var(--line-soft);border-radius:22px;padding:2.6rem 2.2rem;overflow:hidden;transition:transform .6s var(--ease),box-shadow .6s,border-color .6s}
.ab__col--a{background:linear-gradient(180deg,rgba(70,26,36,.28),rgba(12,9,7,.5))}
.ab__col--b{background:linear-gradient(180deg,rgba(216,178,94,.05),rgba(12,9,7,.5));border-color:var(--line)}
/* ghost letters */
.ab__ghost{position:absolute;top:-3rem;right:-1rem;font-family:var(--fx);font-style:italic;font-weight:300;font-size:16rem;line-height:1;pointer-events:none;z-index:0;color:transparent}
.ab__col--a .ab__ghost{-webkit-text-stroke:1px rgba(178,94,110,.14)}
.ab__col--b .ab__ghost{-webkit-text-stroke:1px rgba(216,178,94,.16)}
/* B illumination bloom (intensifies on reveal) */
.ab__bloom{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.4;transition:opacity 1.2s var(--ease) .3s;
  background:radial-gradient(90% 70% at 60% 0%,rgba(216,178,94,.18),transparent 60%),radial-gradient(80% 60% at 80% 100%,rgba(234,190,198,.12),transparent 60%)}
.ab__col--b.in .ab__bloom{opacity:1}
.ab__col--b.in{box-shadow:0 40px 100px -50px rgba(216,178,94,.5)}
/* A desaturated / muted feel */
.ab__col--a{filter:saturate(.85)}

.ab__tag{position:relative;z-index:1;display:inline-block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rose);margin-bottom:1.8rem;padding:.45em .9em;border:1px solid var(--line-rose);border-radius:100px}
.ab__tag--gold{color:var(--gold);border-color:var(--line)}
.ab__col ul{position:relative;z-index:1;display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}
.ab__col li{position:relative;padding-left:1.7rem;font-size:1.02rem;line-height:1.4;opacity:0;transform:translateY(10px);transition:opacity .55s var(--ease),transform .55s var(--ease)}
.ab__col.in li{opacity:1;transform:none}
.ab__col li:nth-child(1){transition-delay:.12s}
.ab__col li:nth-child(2){transition-delay:.22s}
.ab__col li:nth-child(3){transition-delay:.32s}
.ab__col li:nth-child(4){transition-delay:.42s}
.ab__col li:nth-child(5){transition-delay:.52s}
.ab__col--a li::before{content:"—";position:absolute;left:0;color:var(--rose-deep)}
.ab__col--b li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:.8em;top:.2em}
.ab__col--a li{color:var(--muted)}
.ab__col--b li{color:var(--cream)}
.ab__phrase{position:relative;z-index:1;font-family:var(--fx);font-style:italic;font-size:1.15rem;line-height:1.4;padding-top:1.6rem;border-top:1px solid var(--line-soft);color:var(--muted)}
.ab__phrase--gold{color:var(--gold-lite)}

/* animated conduit A -> B */
.ab__arrow{position:relative;display:grid;place-items:center;min-width:70px}
.ab__conduit{position:absolute;top:50%;left:10%;right:10%;height:2px;transform:translateY(-50%);
  background:linear-gradient(90deg,rgba(178,94,110,.35),rgba(216,178,94,.5));border-radius:2px;overflow:visible}
.ab__conduit i{position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:var(--gold-lite);
  box-shadow:0 0 10px 2px rgba(240,215,156,.8);transform:translate(-50%,-50%);opacity:0;
  animation:flow 2.6s linear infinite}
.ab__conduit i:nth-child(1){animation-delay:0s}
.ab__conduit i:nth-child(2){animation-delay:.85s}
.ab__conduit i:nth-child(3){animation-delay:1.7s}
@keyframes flow{0%{left:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{left:100%;opacity:0}}
.ab__arrowhead{position:relative;z-index:1;font-size:1.6rem;color:var(--gold);background:var(--void);padding:.3em;border-radius:50%}

@media (max-width:860px){
  .ab__grid{grid-template-columns:1fr}
  .ab__arrow{min-height:64px;padding:.3rem 0}
  .ab__conduit{top:10%;bottom:10%;left:50%;right:auto;width:2px;height:auto;transform:translateX(-50%);background:linear-gradient(180deg,rgba(178,94,110,.35),rgba(216,178,94,.5))}
  .ab__conduit i{left:50%!important;top:0;animation:flowv 2.6s linear infinite}
  .ab__arrowhead{transform:rotate(90deg)}
  .ab__ghost{font-size:11rem}
}
@keyframes flowv{0%{top:0;opacity:0}15%{opacity:1}85%{opacity:1}100%{top:100%;opacity:0}}

/* =====================================================================
   PILARES
   ===================================================================== */
.pilares{padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.pilares__head{margin-bottom:3.5rem;max-width:42ch}
.pilares__head .eyebrow{margin-bottom:1.3rem}
.pilares__sub{margin-top:1.4rem;color:var(--muted);font-size:1.05rem;max-width:52ch}
.pilares__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);border-radius:20px;overflow:hidden}
.pilar{background:var(--void);padding:2.6rem 2rem 3rem;position:relative;transition:background .6s var(--ease);overflow:hidden}
.pilar::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background:var(--gold-grad);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.pilar:hover{background:var(--char)}
.pilar:hover::after{transform:scaleX(1)}
.pilar__num{font-family:var(--fx);font-style:italic;font-size:.95rem;color:var(--gold)}
.pilar h3{font-family:var(--fx);font-weight:400;font-size:1.7rem;margin:.8rem 0 .3rem;line-height:1.05}
.pilar__lead{color:var(--gold-lite);font-size:.95rem;margin-bottom:1rem;font-weight:500}
.pilar p:last-child{color:var(--muted);font-size:.95rem;line-height:1.55}

/* =====================================================================
   JORNADA
   ===================================================================== */
.jornada{padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.jornada__head{margin-bottom:3.5rem;max-width:44ch}
.jornada__head .eyebrow{margin-bottom:1.3rem}
.jornada__track{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.bloco{border:1px solid var(--line-soft);border-radius:18px;padding:2rem 1.7rem;background:var(--void);display:flex;flex-direction:column;transition:transform .5s var(--ease),border-color .5s,background .5s}
.bloco:hover{transform:translateY(-8px);border-color:var(--line);background:var(--char)}
.bloco header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.4rem}
.bloco__weeks{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.bloco__pill{font-family:var(--fx);font-style:italic;font-size:.8rem;color:var(--gold)}
.bloco h3{font-family:var(--fx);font-weight:400;font-size:1.45rem;line-height:1.05;margin-bottom:.7rem}
.bloco__quote{font-family:var(--fx);font-style:italic;font-size:.92rem;color:var(--gold-lite);margin-bottom:1.4rem;padding-bottom:1.4rem;border-bottom:1px solid var(--line-soft)}
.bloco ul{display:flex;flex-direction:column;gap:.8rem}
.bloco li{position:relative;padding-left:1.2rem;font-size:.86rem;line-height:1.4;color:var(--muted)}
.bloco li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
.jornada__format{display:flex;gap:1.2rem;flex-wrap:wrap;margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--line-soft)}
.fmt{flex:1;min-width:220px;display:flex;flex-direction:column;gap:.35em}
.fmt strong{font-family:var(--fx);font-weight:400;font-size:1.7rem;color:var(--gold-lite)}
.fmt span{font-size:.86rem;color:var(--muted)}
@media (max-width:900px){.jornada__track{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.jornada__track{grid-template-columns:1fr}}

/* =====================================================================
   VIVIANE
   ===================================================================== */
.viviane{display:grid;grid-template-columns:.85fr 1fr;gap:clamp(2rem,5vw,5rem);align-items:center;padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.viviane__media{position:relative}
.viviane__frame{position:relative;border-radius:22px;overflow:hidden;border:1px solid var(--line)}
.viviane__frame img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:60% 20%}
.viviane__frame-tint{position:absolute;inset:0;background:linear-gradient(0deg,var(--void),transparent 40%),radial-gradient(120% 80% at 60% 10%,rgba(216,178,94,.14),transparent 55%)}
.viviane__sign{position:absolute;bottom:1.4rem;left:1.6rem;font-family:var(--fx);font-style:italic;font-weight:300;font-size:1.7rem;color:var(--gold-lite);text-shadow:0 2px 20px rgba(0,0,0,.6)}
.viviane__text .eyebrow{margin-bottom:1.3rem}
.viviane__text .section-title{margin-bottom:1.8rem}
.viviane__text p{color:var(--muted);font-size:1.05rem;line-height:1.65;margin-bottom:1.3rem;max-width:52ch}
.viviane__text strong{color:var(--cream);font-weight:600}
.viviane__text em{color:var(--rose);font-style:italic}
.viviane__quote{font-family:var(--fx);font-style:italic;font-weight:300;font-size:clamp(1.3rem,2.4vw,1.8rem);line-height:1.3;color:var(--cream);border-left:2px solid var(--gold);padding-left:1.4rem;margin:2rem 0}
.viviane__stats{display:flex;gap:2rem;flex-wrap:wrap;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--line-soft)}
.viviane__stats div{display:flex;flex-direction:column;gap:.2em}
.viviane__stats dt{font-family:var(--fx);font-weight:400;font-size:1.6rem;color:var(--gold-lite)}
.viviane__stats dd{font-size:.78rem;color:var(--muted)}
@media (max-width:860px){.viviane{grid-template-columns:1fr}.viviane__media{max-width:440px}}

/* =====================================================================
   CONQUISTAS
   ===================================================================== */
.conquistas{padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.conquistas__head{margin-bottom:3.5rem;max-width:36ch}
.conquistas__head .eyebrow{margin-bottom:1.3rem}
.conquistas__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.conquistas article{border:1px solid var(--line-soft);border-radius:18px;padding:2.2rem 1.9rem;background:var(--void);transition:transform .5s var(--ease),border-color .5s,background .5s}
.conquistas article:hover{transform:translateY(-6px);border-color:var(--line);background:var(--char)}
.conquistas article span{font-family:var(--fx);font-style:italic;color:var(--gold);font-size:1rem}
.conquistas article h3{font-family:var(--fx);font-weight:400;font-size:1.35rem;line-height:1.1;margin:.7rem 0 .8rem}
.conquistas article p{color:var(--muted);font-size:.95rem;line-height:1.55}

/* =====================================================================
   PROVA SOCIAL
   ===================================================================== */
.prova{padding:clamp(5rem,10vh,8rem) var(--pad);max-width:var(--maxw);margin-inline:auto}
.prova .eyebrow{margin-bottom:3rem}
.prova__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.2rem}
.prova__card{background:var(--char);border:1px solid var(--line-soft);border-radius:18px;padding:2.4rem 2rem;position:relative}
.prova__card::before{content:"“";position:absolute;top:.2rem;left:1.4rem;font-family:var(--fx);font-size:4rem;color:var(--gold);opacity:.28;line-height:1}
.prova__card--wide{grid-column:span 1}
.prova__card p{font-family:var(--fx);font-weight:300;font-size:1.15rem;line-height:1.45;margin-bottom:1.6rem;position:relative;z-index:1}
.prova__card em{font-style:italic;color:var(--gold-lite)}
.prova__card footer{font-size:.74rem;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.prova__card footer span{color:var(--gold)}
.prova__note{text-align:center;margin-top:2.4rem;color:var(--faint);font-size:.86rem;font-style:italic;font-family:var(--fx)}

/* =====================================================================
   LISTA / FORM
   ===================================================================== */
.lista{padding:clamp(5rem,12vh,9rem) var(--pad);max-width:var(--maxw);margin-inline:auto;display:grid;place-items:center}
.lista__card{position:relative;text-align:center;max-width:640px;padding:clamp(2.4rem,5vw,4rem) clamp(1.6rem,4vw,3.5rem);border:1px solid var(--line);border-radius:28px;background:linear-gradient(180deg,rgba(30,23,17,.5),rgba(12,9,7,.4));box-shadow:0 40px 120px -50px rgba(216,178,94,.3);overflow:hidden}
.lista__card::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(80% 60% at 50% 0,rgba(216,178,94,.1),transparent 60%),radial-gradient(70% 60% at 50% 100%,rgba(217,154,166,.1),transparent 60%);pointer-events:none}
.lista__card .eyebrow{margin-bottom:1.4rem}
.lista__card .section-title{margin-bottom:1.4rem;font-size:clamp(2rem,5vw,3.4rem)}
.lista__lead{color:var(--muted);font-size:1.05rem;line-height:1.6;margin:0 auto 2rem;max-width:42ch}
.lista__marks{display:inline-flex;flex-direction:column;gap:.8rem;margin-bottom:2.4rem;text-align:left}
.lista__marks li{position:relative;padding-left:1.7rem;font-size:.92rem;color:var(--cream)}
.lista__marks li::before{content:"✦";position:absolute;left:0;color:var(--rose);font-size:.85em;top:.15em}
.btn--lg{font-size:.92rem;padding:1.15em 2.3em}

.form{display:flex;flex-direction:column;gap:1.5rem}
.form__row--2{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
@media (max-width:520px){.form__row--2{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.6rem;border:none}
.field__label{font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600}
.field__label i{font-style:normal;color:var(--gold);opacity:.7;letter-spacing:0;text-transform:none}
.field input[type=text],.field input[type=tel],.field input[type=email],.select select{
  width:100%;background:rgba(0,0,0,.3);border:1px solid var(--line-soft);border-radius:12px;
  padding:.95em 1.05em;color:var(--cream);font-family:var(--fs);font-size:.98rem;
  transition:border-color .3s,background .3s,box-shadow .3s;
}
.field input::placeholder{color:var(--faint)}
.field input:focus,.select select:focus{outline:none;border-color:var(--gold);background:rgba(0,0,0,.5);box-shadow:0 0 0 3px rgba(216,178,94,.12)}
.field input.invalid,.select.invalid select{border-color:var(--wine-lite);box-shadow:0 0 0 3px rgba(154,48,73,.15)}
.select{position:relative;display:block}
.select::after{content:"▾";position:absolute;right:1.1em;top:50%;transform:translateY(-50%);color:var(--gold);pointer-events:none;font-size:.8rem}
.select select{appearance:none;-webkit-appearance:none;cursor:pointer}
.select select option{background:var(--char);color:var(--cream)}

.field--group{gap:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.7rem}
.chip{position:relative;cursor:pointer}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip span{display:inline-block;padding:.7em 1.1em;border:1px solid var(--line-soft);border-radius:100px;font-size:.85rem;color:var(--muted);transition:all .3s var(--ease)}
.chip:hover span{border-color:var(--line);color:var(--cream)}
.chip input:checked+span{background:var(--gold-grad);color:#241705;border-color:transparent;font-weight:600}
.chip input:focus-visible+span{box-shadow:0 0 0 3px rgba(216,178,94,.3)}

.range{display:flex;align-items:center;gap:1.2rem}
.range input[type=range]{flex:1;-webkit-appearance:none;appearance:none;height:3px;border-radius:3px;background:linear-gradient(90deg,var(--gold) var(--p,66%),var(--line-soft) var(--p,66%))}
.range input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold-grad);cursor:pointer;box-shadow:0 4px 14px -2px rgba(216,178,94,.6);border:2px solid var(--ink)}
.range input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--gold);cursor:pointer;border:2px solid var(--ink)}
.range output{font-family:var(--fx);font-size:1.8rem;color:var(--gold-lite);min-width:1.6em;text-align:center}
.range__scale{display:flex;justify-content:space-between;font-size:.72rem;color:var(--faint);margin-top:.4rem}

.btn--submit{justify-content:center;width:100%;padding:1.2em;margin-top:.6rem}
.form.shake{animation:shake .45s var(--ease)}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(7px)}60%{transform:translateX(-5px)}80%{transform:translateX(3px)}}
.form__legal{font-size:.74rem;color:var(--faint);line-height:1.5;text-align:center}

.success{
  grid-column:1/-1;text-align:center;max-width:56ch;margin:2rem auto 0;
  border:1px solid var(--line);border-radius:24px;padding:clamp(2.5rem,6vw,4rem);
  background:radial-gradient(120% 100% at 50% 0,rgba(216,178,94,.1),var(--char));
  animation:rise .8s var(--ease) both;
}
@keyframes rise{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.success__mark{font-size:2.4rem;color:var(--gold);display:block;margin-bottom:1rem}
.success h3{font-family:var(--fx);font-weight:400;font-size:clamp(1.8rem,4vw,2.8rem);margin-bottom:1.2rem;color:var(--gold-lite)}
.success p{color:var(--muted);line-height:1.65;margin-bottom:2rem}

/* =====================================================================
   FOOTER
   ===================================================================== */
.footer{border-top:1px solid var(--line-soft);background:var(--ink)}
.footer__cta{text-align:center;padding:clamp(5rem,12vh,9rem) var(--pad) clamp(4rem,8vh,6rem);display:flex;flex-direction:column;align-items:center;gap:2.5rem}
.footer__big{font-family:var(--fx);font-weight:330;font-size:clamp(3rem,12vw,8rem);line-height:.95;letter-spacing:-.02em}
.footer__big em{font-style:italic}
.footer__base{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding:2rem var(--pad);border-top:1px solid var(--line-soft);max-width:var(--maxw);margin-inline:auto;width:100%}
.footer__brand{font-family:var(--fx);font-size:1rem;letter-spacing:.05em;color:var(--muted)}
.footer__brand em{color:var(--gold-lite);font-style:italic}
.footer__base a{font-size:.86rem;color:var(--gold);letter-spacing:.05em;transition:color .3s}
.footer__base a:hover{color:var(--gold-lite)}
.footer__cr{font-size:.72rem;color:var(--faint)}

/* =====================================================================
   REVEAL ANIMATIONS (JS toggles .in)
   ===================================================================== */
[data-reveal],[data-reveal-item]{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1s var(--ease)}
[data-reveal].in,[data-reveal-item].in{opacity:1;transform:none}
[data-reveal-item]{transition-delay:var(--d,0s)}
[data-reveal-stagger]{opacity:0;transform:translateY(105%);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
[data-reveal-stagger].in{opacity:1;transform:none}
[data-reveal-word]{opacity:.12;transition:opacity .6s var(--ease),color .6s}
[data-reveal-word].lit{opacity:1}

/* No-JS fallback: never leave content hidden if scripts don't run */
.no-js [data-reveal],
.no-js [data-reveal-item],
.no-js [data-reveal-stagger]{opacity:1;transform:none}
.no-js [data-reveal-word]{opacity:1}

/* =====================================================================
   ART DIRECTION LAYER · atmosfera, rosé, detalhe por seção, micro-UI
   ===================================================================== */

/* rosé gradient text utility */
.grad-rose{
  background:var(--rosegold-grad);background-size:200% auto;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
  animation:sheen 8s linear infinite;
}

/* eyebrow tick becomes rosé→gold */
.eyebrow__line{background:linear-gradient(90deg,var(--rose),var(--gold))}
.eyebrow--center .eyebrow__line:last-child{background:linear-gradient(90deg,var(--gold),var(--rose))}
.eyebrow em{color:var(--rose-lite)}

/* marquee: alternate rose sparks */
.marquee{background:linear-gradient(var(--ink),transparent);position:relative}
.marquee__star:nth-child(4n){color:var(--rose)}
.marquee__track span:hover{color:var(--rose-lite)}

/* translucent, layered card surfaces so the mesh glows through */
.recon__list li,.pilar,.bloco,.conquistas article,.cycle__step,.prova__card{
  background:linear-gradient(180deg,rgba(30,23,17,.6),rgba(12,9,7,.45));
  position:relative;
}
.recon__list li,.pilar{backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}

/* rosé corner accent that draws on hover */
.pilar,.bloco,.conquistas article,.cycle__step{overflow:hidden}
.conquistas article::before,.cycle__step::before,.bloco::before{
  content:"";position:absolute;top:0;left:0;width:34px;height:34px;pointer-events:none;
  border-top:1px solid var(--line-rose);border-left:1px solid var(--line-rose);
  border-top-left-radius:inherit;opacity:0;transform:translate(6px,6px);
  transition:opacity .5s var(--ease),transform .5s var(--ease);
}
.conquistas article:hover::before,.cycle__step:hover::before,.bloco:hover::before{opacity:1;transform:none}
.conquistas article:hover,.bloco:hover{box-shadow:0 30px 70px -40px rgba(217,154,166,.4)}

/* ---- section ghost watermarks ---- */
.manifesto,.recon,.virada,.ab,.pilares,.jornada,.conquistas,.prova{position:relative;isolation:isolate}
.manifesto::after,.recon::after,.ab::after,.pilares::after,.jornada::after,.conquistas::after{
  position:absolute;font-family:var(--fx);font-style:italic;font-weight:300;
  font-size:clamp(7rem,20vw,20rem);line-height:.7;color:transparent;
  -webkit-text-stroke:1px rgba(217,154,166,.05);z-index:-1;pointer-events:none;user-select:none;
}
.recon::after{content:"medo";right:2%;bottom:-2%;-webkit-text-stroke-color:rgba(217,154,166,.07)}
.ab::after{content:"A/B";left:50%;top:38%;transform:translateX(-50%);-webkit-text-stroke-color:rgba(216,178,94,.045)}
.pilares::after{content:"metodo";left:-1%;bottom:0;-webkit-text-stroke-color:rgba(216,178,94,.05)}
.jornada::after{content:"12";right:3%;top:8%;font-style:normal;-webkit-text-stroke-color:rgba(217,154,166,.07)}
.conquistas::after{content:"voz";right:4%;top:2%;-webkit-text-stroke-color:rgba(217,154,166,.07)}
.manifesto::after{content:"*";right:6%;top:12%;font-size:clamp(4rem,10vw,9rem);-webkit-text-stroke-color:rgba(216,178,94,.08)}

/* ---- local section glows ---- */
.recon::before,.pilares::before,.ab::before,.conquistas::before,.jornada::before,.viviane::before,.prova::before,.lista::before{
  content:"";position:absolute;pointer-events:none;z-index:-1;border-radius:50%;filter:blur(90px);
}
.recon::before{width:40vw;height:40vw;left:-10%;top:10%;background:radial-gradient(circle,rgba(217,154,166,.12),transparent 65%)}
.pilares::before{width:44vw;height:44vw;right:-12%;top:20%;background:radial-gradient(circle,rgba(216,178,94,.1),transparent 65%)}
.ab::before{width:36vw;height:36vw;left:-8%;bottom:0;background:radial-gradient(circle,rgba(109,31,48,.28),transparent 62%)}
.conquistas::before{width:42vw;height:42vw;left:-12%;bottom:-6%;background:radial-gradient(circle,rgba(217,154,166,.12),transparent 64%)}
.jornada::before{width:40vw;height:40vw;left:-14%;top:0;background:radial-gradient(circle,rgba(178,94,110,.12),transparent 64%)}
.viviane::before{width:46vw;height:46vw;right:-16%;top:6%;background:radial-gradient(circle,rgba(217,154,166,.14),transparent 64%);z-index:-1;position:absolute}
.prova::before{width:50vw;height:40vw;left:50%;top:20%;transform:translateX(-50%);background:radial-gradient(circle,rgba(178,94,110,.12),transparent 62%)}
.lista::before{width:44vw;height:44vw;right:-14%;top:10%;background:radial-gradient(circle,rgba(217,154,166,.13),transparent 64%);z-index:-1;position:absolute}
.viviane,.lista{position:relative}

/* ---- recon list: rosé numerals + hover rail ---- */
.recon__num{color:var(--rose)}
.recon__list li{overflow:hidden}
.recon__list li::after{content:"";position:absolute;left:0;top:0;width:2px;height:100%;background:var(--rose-grad);transform:scaleY(0);transform-origin:top;transition:transform .5s var(--ease)}
.recon__list li:hover::after{transform:scaleY(1)}
.recon__list em{color:var(--rose-lite)}

/* ---- travas orbital: rosé life ---- */
.travas::before{background:radial-gradient(circle,rgba(178,94,110,.24),rgba(216,178,94,.06) 40%,transparent 62%)}
.orbit__ring--1{border-color:var(--line-rose)}
.node__dot{background:var(--rose);box-shadow:0 0 0 4px rgba(217,154,166,.14),0 0 14px var(--rose)}
.node:hover .node__dot,.node.open .node__dot{box-shadow:0 0 0 6px rgba(217,154,166,.22),0 0 22px var(--rose)}
.node__label b{color:var(--rose)}
.node:hover .node__label,.node.open .node__label{color:var(--rose-lite)}
.orbit__core{box-shadow:0 0 0 1px rgba(0,0,0,.4) inset,0 30px 90px -30px rgba(217,154,166,.4)}

/* ---- virada cycle ---- */
.virada{background:radial-gradient(80% 60% at 50% 40%,rgba(109,31,48,.16),transparent 60%),linear-gradient(var(--void),var(--ink),var(--void))}
.cycle__idx{color:var(--rose)}
.cycle__step strong{background:var(--rosegold-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.cycle__arrow{color:var(--rose)}
.strike::after{background:var(--rose-deep)}
.virada__name strong{color:var(--rose-lite)}

/* ---- ab columns ---- */
.ab__tag{color:var(--rose);border-color:var(--line-rose)}
.ab__col--a li::before{color:var(--rose-deep)}
.ab__arrow{color:var(--rose)}

/* ---- pilares ---- */
.pilar:nth-child(even) .pilar__num{color:var(--rose)}
.pilar:nth-child(even)::after{background:var(--rose-grad)}
.pilar:nth-child(even) .pilar__lead{color:var(--rose-lite)}
.pilar:hover{box-shadow:0 30px 70px -44px rgba(217,154,166,.45)}

/* ---- jornada ---- */
.bloco:nth-child(even) .bloco__pill{color:var(--rose)}
.bloco:nth-child(even) li::before{background:var(--rose)}
.bloco:nth-child(even) .bloco__quote{color:var(--rose-lite)}

/* ---- viviane ---- */
.viviane__frame{border-color:var(--line-rose)}
.viviane__quote{border-left-color:var(--rose)}
.viviane__sign{color:var(--rose-lite)}
.viviane__text em{color:var(--rose-lite)}

/* ---- conquistas ---- */
.conquistas article:nth-child(odd) span{color:var(--rose)}

/* ---- prova ---- */
.prova__card::before{color:var(--rose);opacity:.3}
.prova__card:nth-child(2)::before{color:var(--gold)}
.prova__card footer span{color:var(--rose-lite)}
.prova__card{transition:transform .5s var(--ease),border-color .5s,box-shadow .5s}
.prova__card:hover{transform:translateY(-6px);border-color:var(--line-rose);box-shadow:0 30px 70px -44px rgba(217,154,166,.4)}

/* ---- form rosé ---- */
.chip input:checked+span{background:var(--rosegold-grad)}
.field input:focus,.select select:focus{border-color:var(--rose);box-shadow:0 0 0 3px rgba(217,154,166,.14)}
.range input[type=range]{background:linear-gradient(90deg,var(--rose) var(--p,66%),var(--line-soft) var(--p,66%))}
.range input[type=range]::-webkit-slider-thumb{background:var(--rosegold-grad)}
.range output{color:var(--rose-lite)}
.lista__marks li::before{color:var(--rose)}
.success__mark{color:var(--rose)}
.success h3{color:var(--rose-lite)}

/* ---- footer ghost ---- */
.footer{position:relative;overflow:hidden}
.footer__cta{position:relative;z-index:1}
.footer::before{content:"VCM";position:absolute;left:50%;bottom:-8%;transform:translateX(-50%);font-family:var(--fx);font-style:italic;font-weight:300;font-size:38vw;line-height:.7;color:transparent;-webkit-text-stroke:1px rgba(217,154,166,.05);pointer-events:none;z-index:0}

/* =====================================================================
   MICRO-INTERACTIONS
   ===================================================================== */
[data-magnetic]{will-change:transform}
[data-mi]{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:var(--d,0s)}
[data-mi].mi-in{opacity:1;transform:none}
.footer__base a{position:relative}
.footer__base a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:1px;background:var(--rose);transition:width .4s var(--ease)}
.footer__base a:hover::after{width:100%}
.pilar,.bloco,.conquistas article,.cycle__step,.prova__card,.recon__list li{transition:transform .5s var(--ease),background .5s,border-color .5s,box-shadow .5s}

@media (max-width:760px){
  .manifesto::after,.recon::after,.ab::after,.pilares::after,.jornada::after,.conquistas::after{font-size:26vw;opacity:.7}
}

/* hero title line reveal (JS toggles .in) */
.hero__title [data-line]{transform:translateY(115%);opacity:.4;transition:transform 1.1s var(--ease),opacity 1.1s var(--ease);transition-delay:var(--d,0s)}
.hero__title.in [data-line]{transform:none;opacity:1}

/* 7 travas — tap-open state (após a sequência, no toque) */
.node.open{z-index:9}
.node.open .node__label{color:var(--rose-lite);transform:scale(1.06)}
.node.open .node__dot{transform:translateX(-50%) scale(1.7);background:#fdeef1;box-shadow:0 0 0 7px rgba(234,190,198,.22),0 0 34px 5px rgba(234,190,198,.75)}
.node.open .node__desc{max-height:130px;opacity:1;margin-top:.7em}
.node.open::after{opacity:1;transform:translate(-50%,-50%) scale(1)}

/* =====================================================================
   MODAL · lista de espera
   ===================================================================== */
.modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(.8rem,4vw,2rem);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s}
.modal.open{opacity:1;visibility:visible}
.modal__backdrop{position:absolute;inset:0;background:rgba(6,4,3,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.modal__panel{
  position:relative;z-index:1;width:min(720px,100%);max-height:92vh;overflow-y:auto;
  background:linear-gradient(180deg,var(--char),var(--void));border:1px solid var(--line);border-radius:24px;
  padding:clamp(1.6rem,3.5vw,2.8rem);box-shadow:0 50px 140px -30px rgba(0,0,0,.85);
  transform:translateY(26px) scale(.98);transition:transform .5s var(--ease);
  scrollbar-width:thin;scrollbar-color:var(--line) transparent;
}
.modal.open .modal__panel{transform:none}
.modal__panel::-webkit-scrollbar{width:8px}
.modal__panel::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.modal__close{
  position:absolute;top:1rem;right:1rem;z-index:3;width:40px;height:40px;border-radius:50%;
  border:1px solid var(--line-soft);display:grid;place-items:center;color:var(--muted);font-size:.9rem;
  transition:transform .4s var(--ease),border-color .3s,color .3s;
}
.modal__close:hover{border-color:var(--rose);color:var(--rose-lite);transform:rotate(90deg)}
.modal__head{margin-bottom:1.8rem;padding-right:2.5rem}
.modal__head .eyebrow{margin-bottom:1rem}
.modal__title{font-family:var(--fx);font-weight:400;font-size:clamp(1.6rem,3.6vw,2.4rem);color:var(--gold-lite);line-height:1.05;margin-bottom:.7rem}
.modal__sub{color:var(--muted);font-size:.95rem;line-height:1.5}
.modal .success{margin:0;border:none;padding:.5rem 0;background:none;box-shadow:none}
body.modal-open{overflow:hidden}

/* =====================================================================
   ITERAÇÃO 3 — Jornada timeline · Form wizard · CTA bands · espaçamento
   ===================================================================== */

/* ---------- JORNADA como timeline vertical (distinta do Método) ---------- */
.timeline{position:relative;list-style:none;max-width:860px;margin:clamp(3rem,7vh,5rem) auto 0;display:flex;flex-direction:column;gap:clamp(2.4rem,5vh,4.2rem)}
.timeline__spine{position:absolute;left:calc(clamp(56px,6vw,76px) / 2);top:1.6rem;bottom:1.6rem;width:2px;background:var(--line-soft);border-radius:2px;overflow:hidden;z-index:0}
.timeline__spine i{position:absolute;inset:0;transform-origin:top;transform:scaleY(var(--fill,1));background:linear-gradient(180deg,var(--rose),var(--gold));box-shadow:0 0 14px rgba(234,190,198,.45)}
.tl{position:relative;display:grid;grid-template-columns:clamp(56px,6vw,76px) 1fr;gap:clamp(1.2rem,3vw,2.4rem);align-items:start}
.tl__num{
  position:relative;z-index:2;display:grid;place-items:center;
  width:clamp(56px,6vw,76px);height:clamp(56px,6vw,76px);border-radius:50%;
  background:radial-gradient(circle at 50% 30%,var(--char-2),var(--ink));border:1px solid var(--line-rose);
  font-family:var(--fx);font-style:italic;font-weight:300;font-size:clamp(1.3rem,2.4vw,1.9rem);color:var(--gold-lite);
  box-shadow:0 0 0 7px var(--void),0 12px 34px -12px rgba(234,190,198,.5);
}
.tl__body{padding-top:.35rem}
.tl__meta{font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--rose)}
.tl__title{font-family:var(--fx);font-weight:400;font-size:clamp(1.5rem,3vw,2.3rem);color:var(--cream);margin:.45rem 0 1.1rem;line-height:1.03}
.tl__body ul{display:flex;flex-direction:column;gap:.7rem}
.tl__body li{position:relative;padding-left:1.3rem;font-size:1rem;color:var(--muted);line-height:1.45}
.tl__body li::before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background:var(--gold)}
@media (max-width:560px){
  .tl{grid-template-columns:48px 1fr;gap:1rem}
  .tl__num{width:48px;height:48px;font-size:1.1rem;box-shadow:0 0 0 6px var(--void),0 10px 24px -10px rgba(234,190,198,.5)}
  .timeline__spine{left:24px}
}

/* ---------- FORM wizard ---------- */
.form--wizard{gap:1.7rem}
.wz__progress{display:flex;align-items:center;gap:1rem}
.wz__track{flex:1;height:3px;background:var(--line-soft);border-radius:3px;overflow:hidden}
.wz__track i{display:block;height:100%;width:33.33%;background:linear-gradient(90deg,var(--rose),var(--gold));border-radius:3px;box-shadow:0 0 10px rgba(234,190,198,.5);transition:width .55s var(--ease)}
.wz__count{font-family:var(--fx);color:var(--muted);white-space:nowrap;display:flex;align-items:baseline;gap:.35em}
.wz__count b{font-style:italic;font-size:1.5rem;color:var(--gold-lite);line-height:1}
.wz__count em{font-style:normal;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--faint)}
.wz__step{border:0;padding:0;margin:0;min-inline-size:0;display:none;flex-direction:column;gap:1.35rem}
.wz__step.is-active{display:flex;animation:wzIn .5s var(--ease)}
@keyframes wzIn{from{opacity:0;transform:translateX(16px)}to{opacity:1;transform:none}}
.wz__legend{font-family:var(--fx);font-weight:400;font-size:1.2rem;color:var(--cream);display:flex;align-items:center;gap:.7em;padding-bottom:.6rem;border-bottom:1px solid var(--line-soft)}
.wz__legend-i{font-style:italic;color:var(--gold);font-size:.82rem;border:1px solid var(--line);border-radius:100px;padding:.25em .8em}
.wz__nav{display:flex;gap:.9rem;align-items:center;margin-top:.5rem;flex-wrap:wrap}
.wz__next,.wz__submit{margin-left:auto}
.wz__next,.wz__submit,.wz__back{justify-content:center}
@media (max-width:520px){
  .wz__nav{flex-direction:column-reverse;align-items:stretch}
  .wz__next,.wz__submit,.wz__back{margin-left:0;width:100%}
}

/* ---------- CTA bands (mais botões pela página) ---------- */
.cta-band{
  max-width:var(--maxw);margin:clamp(3.5rem,8vh,6rem) auto 0;
  padding:clamp(2rem,4vw,3rem) clamp(1.6rem,4vw,3.4rem);border:1px solid var(--line);border-radius:26px;
  background:radial-gradient(120% 130% at 50% 0,rgba(216,178,94,.09),transparent 55%),linear-gradient(180deg,rgba(30,23,17,.5),rgba(12,9,7,.42));
  display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap;position:relative;overflow:hidden;
}
.cta-band::before{content:"✦";position:absolute;top:-1.2rem;right:1.5rem;font-size:6rem;color:var(--rose);opacity:.06;pointer-events:none}
.cta-band--center{flex-direction:column;justify-content:center;text-align:center}
.cta-band__line{font-family:var(--fx);font-weight:300;font-size:clamp(1.35rem,2.8vw,2.1rem);line-height:1.18;max-width:24ch}
.cta-band em{font-style:italic}
@media (max-width:640px){.cta-band{flex-direction:column;text-align:center}.cta-band__line{max-width:100%}}

/* ---------- espaçamento desktop mais generoso ---------- */
@media (min-width:900px){
  .manifesto,.recon,.virada,.ab,.pilares,.jornada,.viviane,.conquistas,.prova,.lista{
    padding-top:clamp(7rem,14vh,11rem);padding-bottom:clamp(7rem,14vh,11rem);
  }
  .conquistas__grid{gap:1.7rem}
  .conquistas__head,.pilares__head,.jornada__head,.ab__head{margin-bottom:clamp(3.5rem,6vh,5rem)}
  .conquistas article,.pilar{padding:2.8rem 2.2rem 3rem}
}

/* garante que o atributo hidden vença o display dos .btn (wizard) */
[hidden]{display:none!important}

/* =====================================================================
   FORM v2 — tela de sucesso redesenhada + modal compacto no mobile
   ===================================================================== */
.modal .success{margin:0;border:none;box-shadow:none;background:none;padding:clamp(1rem,4vw,2rem) 0 .5rem}
.success{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.05rem;max-width:46ch;margin-inline:auto;animation:rise .7s var(--ease) both}
.success .modal__close{position:absolute;top:-.4rem;right:0}
.success__badge{position:relative;display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:radial-gradient(circle at 50% 30%,rgba(234,190,198,.26),rgba(216,178,94,.1));border:1px solid var(--line-rose);box-shadow:0 0 0 8px rgba(234,190,198,.04),0 16px 46px -14px rgba(234,190,198,.55);margin-bottom:.2rem}
.success__badge span{font-size:1.9rem;color:var(--rose-lite);line-height:1}
.success__badge i{position:absolute;inset:-9px;border-radius:50%;border:1px solid var(--line-rose);opacity:.5;animation:pulseRing 2.6s var(--ease) infinite}
@keyframes pulseRing{0%{transform:scale(.92);opacity:.6}70%{transform:scale(1.28);opacity:0}100%{opacity:0}}
.success__eyebrow{font-size:.66rem;letter-spacing:.28em;text-transform:uppercase;color:var(--rose)}
.success__title{font-family:var(--fx);font-weight:400;font-size:clamp(1.9rem,5vw,2.7rem);color:var(--gold-lite);line-height:1.02}
.success__msg{color:var(--muted);font-size:1rem;line-height:1.6}
.success__cta{display:flex;gap:.8rem;flex-wrap:wrap;justify-content:center;margin-top:.7rem;width:100%}
@media (max-width:520px){
  .success__cta{flex-direction:column;align-items:stretch}
  .success__cta .btn{justify-content:center;width:100%}
  /* modal compacto no mobile */
  .modal__panel{padding:1.5rem 1.2rem 1.7rem}
  .modal__head{margin-bottom:1.4rem;padding-right:2.6rem}
  .modal__title{font-size:1.5rem;line-height:1.1}
  .modal__sub{font-size:.86rem;line-height:1.45}
  .modal__close{width:38px;height:38px}
  .wz__legend{font-size:1.05rem}
}

/* =====================================================================
   FORM v3 — nav como rodapé fixo (100% funcional mobile) + tema preto
   ===================================================================== */
.modal__panel{
  display:flex;flex-direction:column;overflow:hidden;
  background:linear-gradient(180deg,#0b0908,#040302);
  border-color:rgba(216,178,94,.16);
}
.modal__head{flex-shrink:0}
.form--wizard{flex:1;min-height:0;display:flex;flex-direction:column;gap:0}
.wz__scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1.4rem;padding:.2rem .4rem .4rem 0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.wz__scroll::-webkit-scrollbar{width:7px}
.wz__scroll::-webkit-scrollbar-thumb{background:var(--line);border-radius:8px}
.wz__nav{flex-shrink:0;margin-top:0;padding-top:1rem;border-top:1px solid var(--line-soft)}
.form__legal{flex-shrink:0;margin-top:.7rem}
/* tela de sucesso ocupa e centraliza no painel */
.modal .success{flex:1;justify-content:center;max-height:100%;overflow-y:auto}
/* campos pretos */
.field input[type=text],.field input[type=tel],.field input[type=email],.select select{background:#000;border-color:rgba(255,255,255,.09)}
.field input:focus,.select select:focus{background:#000;border-color:var(--gold);box-shadow:0 0 0 3px rgba(216,178,94,.14)}
.chip span{background:rgba(0,0,0,.5)}

/* =====================================================================
   PÁGINA /inscricao — formulário em tela cheia (sem modal)
   ===================================================================== */
.page-form{min-height:100vh}
.fnav{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem var(--pad);background:rgba(8,6,5,.72);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft)}
.fnav__back{font-size:.82rem;color:var(--muted);letter-spacing:.02em;transition:color .3s;display:inline-flex;align-items:center;gap:.5em}
.fnav__back span{color:var(--gold)}
.fnav__back:hover{color:var(--cream)}
.fpage{max-width:680px;margin:0 auto;padding:clamp(2.5rem,7vh,5rem) var(--pad) clamp(4rem,10vh,7rem)}
.fpage__intro{text-align:center;margin-bottom:clamp(2.4rem,5vh,3.4rem)}
.fpage__intro .eyebrow{margin-bottom:1.2rem}
.fpage__intro h1{font-family:var(--fx);font-weight:400;font-size:clamp(2.2rem,6vw,3.6rem);color:var(--gold-lite);line-height:1.03;margin-bottom:1rem;letter-spacing:-.01em}
.fpage__intro p{color:var(--muted);font-size:1.02rem;line-height:1.6;max-width:48ch;margin:0 auto}
.fform{display:flex;flex-direction:column;gap:clamp(2rem,4vw,2.6rem);background:linear-gradient(180deg,#0b0908,#040302);border:1px solid var(--line);border-radius:24px;padding:clamp(1.6rem,4vw,2.8rem);box-shadow:0 40px 120px -50px rgba(0,0,0,.8)}
.fgroup{display:flex;flex-direction:column;gap:1.3rem}
.fgroup__legend{font-family:var(--fx);font-weight:400;font-size:1.2rem;color:var(--cream);display:flex;align-items:center;gap:.7em;padding-bottom:.7rem;border-bottom:1px solid var(--line-soft)}
.fgroup__legend span{font-style:italic;color:var(--gold);font-size:.82rem;border:1px solid var(--line);border-radius:100px;padding:.25em .8em}
.fform .btn--submit{width:100%;justify-content:center;margin-top:.4rem}
.page-form .success{margin:2.5rem auto 0}
@media (max-width:520px){ .fform{padding:1.4rem 1.1rem} }
