:root{
  --midnight-1:#0B1733;
  --midnight-2:#142A4C;
  --midnight-0:#060D1F;
  --ember:#E8A23D;
  --ember-2:#F2B65A;
  --ocre:#B5762A;
  --offwhite:#F4ECD8;
  --gold:#F5D98B;

  --cream:#F4ECD8;
  --cream-2:#EFE2C4;
  --cream-deep:#E9D8B4;
  --ink:#2A1E0E;
  --ink-soft:#6B5638;
  --ink-line:rgba(42,30,14,.16);

  --serif:"Cormorant Garamond",Georgia,serif;
  --sans:"Source Sans 3",system-ui,-apple-system,sans-serif;

  --maxw:1080px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--sans);
  font-weight:400;
  color:var(--offwhite);
  background:var(--midnight-0);
  line-height:1.72;
  font-size:18px;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
@media (max-width:640px){ body{font-size:17px;} }

img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}

/* ---------- atmosphere ---------- */
#dust{
  position:fixed;
  inset:0;
  width:100%;
  height:100%;
  z-index:0;
  pointer-events:none;
}
.page{ position:relative; z-index:1; }

/* deep base behind dark acts */
body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:0;
  background:
    radial-gradient(120% 80% at 50% -10%, #11223f 0%, var(--midnight-1) 36%, var(--midnight-0) 78%);
}

section{ position:relative; }

.wrap{
  max-width:var(--maxw);
  margin:0 auto;
  padding:0 24px;
}
.narrow{ max-width:720px; }
.mid{ max-width:880px; }

/* ---------- type ---------- */
.eyebrow{
  font-family:var(--sans);
  font-weight:600;
  font-size:.74rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--ember-2);
  display:inline-flex;
  align-items:center;
  gap:.7em;
}
.eyebrow.on-light{ color:var(--ocre); }

h1,h2,h3{ font-family:var(--serif); font-weight:600; line-height:1.06; margin:0; }
.display{
  font-size:clamp(2.35rem,6.4vw,4.7rem);
  font-weight:500;
  letter-spacing:-.01em;
}
.h-sec{
  font-size:clamp(2rem,5.2vw,3.2rem);
  font-weight:500;
  line-height:1.1;
  letter-spacing:-.005em;
}
em,.it{ font-style:italic; }
.amber{ color:var(--ember-2); }
.goldt{ color:var(--gold); }

.lede{ font-size:1.12rem; color:rgba(244,236,216,.84); }
.muted-d{ color:rgba(244,236,216,.62); }

/* ornament / pausa */
.breath{ display:flex; align-items:center; justify-content:center; gap:18px; margin:38px 0; }
.breath .ln{ height:1px; width:64px; background:linear-gradient(90deg,transparent,var(--ocre)); }
.breath .ln.r{ background:linear-gradient(90deg,var(--ocre),transparent); }
.breath .dot{ width:7px; height:7px; transform:rotate(45deg); background:var(--ember); box-shadow:0 0 14px var(--ember); }
.breath.light .ln{ background:linear-gradient(90deg,transparent,var(--ocre)); }
.breath.light .ln.r{ background:linear-gradient(90deg,var(--ocre),transparent); }

/* ---------- buttons ---------- */
.cta{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.6em;
  font-family:var(--sans);
  font-weight:700;
  font-size:1.02rem;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#2a1606;
  padding:20px 40px;
  border-radius:4px;
  background:linear-gradient(180deg,var(--ember-2),var(--ember) 55%,var(--ocre));
  box-shadow:0 8px 30px rgba(232,162,61,.34), inset 0 1px 0 rgba(255,255,255,.45);
  cursor:pointer;
  border:none;
  transition:transform .25s ease, box-shadow .25s ease;
  isolation:isolate;
}
.cta:hover{ transform:translateY(-2px); box-shadow:0 12px 40px rgba(232,162,61,.5), inset 0 1px 0 rgba(255,255,255,.5); }
.cta:active{ transform:translateY(0); }
.cta .arr{ font-size:1.1em; }

/* pulsing glow behind hero/final cta */
.cta-wrap{ position:relative; display:inline-block; }
.cta-wrap::before{
  content:"";
  position:absolute;
  inset:-40px -30px;
  z-index:-1;
  background:radial-gradient(closest-side, rgba(232,162,61,.55), rgba(232,162,61,0) 72%);
  filter:blur(8px);
  animation:pulse 3.8s ease-in-out infinite;
}
@keyframes pulse{ 0%,100%{ opacity:.45; transform:scale(.94);} 50%{ opacity:.9; transform:scale(1.06);} }

/* ---------- reveal ---------- */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
.reveal.in{ opacity:1; transform:none; }
.reveal.d1{ transition-delay:.12s; }
.reveal.d2{ transition-delay:.24s; }
.reveal.d3{ transition-delay:.36s; }

/* image placeholder marker */
.img-note{
  position:absolute;
  right:14px; bottom:12px;
  font-family:ui-monospace,Menlo,Consolas,monospace;
  font-size:10px;
  letter-spacing:.06em;
  color:rgba(244,236,216,.5);
  background:rgba(6,13,31,.5);
  border:1px solid rgba(244,236,216,.14);
  padding:4px 8px;
  border-radius:3px;
  z-index:4;
  pointer-events:none;
}

/* ============ HERO ============ */
.hero{
  min-height:100svh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:120px 24px 90px;
  overflow:hidden;
}
.hero .hero-bg{
  position:absolute; inset:0; z-index:0;
  background:
    linear-gradient(180deg, rgba(6,13,31,.74) 0%, rgba(6,13,31,.34) 30%, rgba(6,13,31,.5) 64%, rgba(6,13,31,.9) 100%),
    url('assets/hero-bg.jpeg') center 42%/cover no-repeat;
}
.hero .ember{
  position:absolute;
  left:50%; top:48%;
  width:min(1100px,150vw);
  height:min(1100px,150vw);
  transform:translate(-50%,-50%);
  background:
    radial-gradient(closest-side, rgba(242,182,90,.22), rgba(232,162,61,.10) 38%, rgba(11,23,51,0) 70%);
  z-index:0;
  pointer-events:none;
}
.hero .vign{
  position:absolute; inset:0; z-index:0; pointer-events:none;
  background:radial-gradient(120% 90% at 50% 60%, transparent 40%, rgba(6,13,31,.7) 100%);
}
.hero .hero-dust{ position:absolute; inset:0; z-index:1; pointer-events:none; }
.hero-inner{ position:relative; z-index:2; max-width:820px; }
.hero .display, .hero .sub, .hero .trap{ text-shadow:0 2px 26px rgba(6,13,31,.7), 0 1px 4px rgba(6,13,31,.5); }
.hero .sigil-row{ margin-bottom:30px; }
.hero .display{ margin-top:18px; }
.hero .sub{ margin:34px auto 0; max-width:560px; font-size:1.14rem; color:rgba(244,236,216,.82); }
.hero .sub p{ margin:.55em 0; }
.hero .trap{
  font-family:var(--serif);
  font-style:italic;
  font-size:1.5rem;
  color:var(--gold);
  margin:26px auto 0;
  max-width:560px;
}
.hero .cta-block{ margin-top:46px; }
.hero .micro{ margin-top:20px; font-size:.86rem; letter-spacing:.02em; color:rgba(244,236,216,.6); }
.scrollcue{
  position:absolute; left:50%; bottom:26px; transform:translateX(-50%);
  z-index:2; color:rgba(244,236,216,.5);
  animation:bob 2.6s ease-in-out infinite;
}
@keyframes bob{ 0%,100%{ transform:translate(-50%,0);} 50%{ transform:translate(-50%,9px);} }

/* ============ dark text sections ============ */
.dk{ padding:104px 0; }
.dk .h-sec{ color:var(--offwhite); }
.intimate p{ font-size:1.2rem; margin:1.05em 0; color:rgba(244,236,216,.86); }
.intimate .strong-line{
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:1.7rem; line-height:1.25; color:var(--gold); margin:.7em 0;
}
.intimate .ember-line{ color:var(--ember-2); font-weight:600; }

/* mechanism */
.mech-key{
  font-family:var(--serif);
  font-size:clamp(2rem,5vw,3rem);
  line-height:1.16;
  color:var(--offwhite);
  margin:0 0 8px;
}
.mech-key .amber{ font-style:italic; }
.triplist{ list-style:none; margin:34px 0 0; padding:0; display:grid; gap:2px; }
.triplist li{
  padding:18px 20px;
  border-left:2px solid var(--ocre);
  background:linear-gradient(90deg, rgba(181,118,42,.10), rgba(181,118,42,0));
  font-size:1.08rem;
  color:rgba(244,236,216,.9);
}
.triplist li b{ color:var(--gold); font-weight:600; }
.pullquote{
  margin:46px 0 0;
  border:1px solid rgba(245,217,139,.3);
  border-radius:6px;
  padding:34px 38px;
  background:linear-gradient(180deg, rgba(20,42,76,.5), rgba(11,23,51,.2));
  position:relative;
}
.pullquote p{
  font-family:var(--serif); font-style:italic; font-weight:600;
  font-size:clamp(1.5rem,3.4vw,2.1rem); line-height:1.3; color:var(--gold); margin:0; text-align:center;
}

/* sabotadores */
.sab-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:50px; }
@media (max-width:820px){ .sab-grid{ grid-template-columns:1fr; max-width:460px; margin-left:auto; margin-right:auto; } }
.sab{
  border:1px solid rgba(181,118,42,.34);
  border-radius:8px;
  padding:34px 28px;
  background:linear-gradient(180deg, rgba(20,42,76,.42), rgba(6,13,31,.35));
  transition:border-color .4s ease, transform .4s ease;
}
.sab:hover{ border-color:rgba(245,217,139,.6); transform:translateY(-4px); }
.sab .ic{ width:46px; height:46px; color:var(--ember-2); margin-bottom:20px; }
.sab h3{ font-size:1.7rem; color:var(--offwhite); }
.sab .q{ font-family:var(--serif); font-style:italic; font-size:1.18rem; color:var(--gold); margin:.3em 0 .9em; }
.sab p{ font-size:1rem; color:rgba(244,236,216,.74); margin:0; }

/* origin story */
.origin{
  padding:130px 0;
  overflow:hidden;
}
.origin .bg{
  position:absolute; inset:0; z-index:0;
  background:
    radial-gradient(80% 60% at 70% 18%, rgba(242,182,90,.20), transparent 60%),
    linear-gradient(180deg, rgba(6,13,31,.4) 0%, rgba(20,42,76,.5) 45%, var(--midnight-1) 100%),
    repeating-linear-gradient(115deg, rgba(244,236,216,.018) 0 2px, transparent 2px 11px);
}
.origin .glowsun{
  position:absolute; right:-6%; top:6%; width:min(560px,70vw); height:min(560px,70vw);
  background:radial-gradient(closest-side, rgba(245,217,139,.4), rgba(232,162,61,.14) 40%, transparent 70%);
  z-index:0; filter:blur(4px);
}
.origin .wrap{ position:relative; z-index:2; }
.origin .narr p{ font-size:1.18rem; margin:1.05em 0; color:rgba(244,236,216,.88); }
.origin .narr .lead-line{
  font-family:var(--serif); font-style:italic; font-size:1.5rem; color:var(--gold);
}
.origin .closer{
  font-family:var(--serif); font-size:clamp(2.2rem,6vw,3.4rem); color:var(--ember-2); margin-top:8px;
}
.origin .closer .you{ display:block; font-style:italic; color:var(--gold); }

/* ============ THE TURN ============ */
.turn{
  position:relative;
  height:230px;
  background:linear-gradient(180deg, var(--midnight-1) 0%, #3a4458 38%, #b08a52 72%, var(--cream) 100%);
  display:flex; align-items:center; justify-content:center;
  z-index:1;
}
.turn .mark{ position:relative; z-index:2; text-align:center; }
.turn .seal{ width:54px; height:54px; margin:0 auto 12px; color:#5b3d12; }
.turn .lbl{
  font-family:var(--sans); font-weight:600; font-size:.72rem; letter-spacing:.34em;
  text-transform:uppercase; color:#5b3d12;
}
.turn .glow-line{
  position:absolute; left:0; right:0; top:50%; height:1px; z-index:1;
  background:linear-gradient(90deg, transparent, rgba(245,217,139,.8) 50%, transparent);
}

/* ============ ACT III light ============ */
.lt{
  background:var(--cream);
  color:var(--ink);
  padding:108px 0;
  position:relative;
  z-index:1;
}
.lt.alt{ background:var(--cream-2); }
.lt .eyebrow{ color:var(--ocre); }
.lt .h-sec{ color:var(--ink); }
.lt .lede{ color:var(--ink-soft); }
.lt p{ color:#4a3a22; }

/* what is the book */
.book-layout{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center; margin-top:14px; }
@media (max-width:880px){ .book-layout{ grid-template-columns:1fr; gap:44px; } }
.parts{ display:grid; gap:26px; }
.part{ border-top:1px solid var(--ink-line); padding-top:22px; }
.part .pnum{ font-family:var(--sans); font-weight:700; font-size:.72rem; letter-spacing:.24em; text-transform:uppercase; color:var(--ocre); }
.part h3{ font-size:1.7rem; margin:6px 0 8px; color:var(--ink); }
.part p{ font-size:1.04rem; margin:0; }
.part ul{ margin:10px 0 0; padding:0; list-style:none; display:grid; gap:9px; }
.part ul li{ position:relative; padding-left:22px; font-size:1.02rem; color:#4a3a22; }
.part ul li::before{ content:""; position:absolute; left:0; top:.62em; width:7px; height:7px; transform:rotate(45deg); background:var(--ocre); }

/* tablet mockup */
.device-stage{ display:flex; justify-content:center; }
.tablet{
  position:relative;
  width:min(330px,78vw);
  aspect-ratio:1800/2560;
  border-radius:26px;
  padding:13px;
  background:linear-gradient(155deg,#20242c,#0c0e13 60%,#181b21);
  box-shadow:
    0 2px 0 rgba(255,255,255,.06) inset,
    0 40px 80px -28px rgba(11,23,51,.6),
    0 16px 40px -20px rgba(42,30,14,.5);
}
.tablet::after{
  content:""; position:absolute; inset:13px; border-radius:15px;
  background:linear-gradient(125deg, rgba(255,255,255,.16), transparent 38%);
  pointer-events:none; mix-blend-mode:screen;
}
.tablet .screen{
  width:100%; height:100%; border-radius:15px; overflow:hidden;
  background:#05070d; box-shadow:0 0 0 1px rgba(0,0,0,.5) inset;
}
.tablet .screen img{ width:100%; height:100%; object-fit:cover; }
.tablet .cam{ position:absolute; top:7px; left:50%; transform:translateX(-50%); width:5px; height:5px; border-radius:50%; background:#2a2e36; z-index:3; }
.device-cap{ text-align:center; margin-top:18px; font-size:.82rem; color:var(--ink-soft); letter-spacing:.02em; }
.device-cap b{ color:var(--ink); font-weight:600; }

/* benefits */
.benef{ list-style:none; margin:36px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:18px 40px; }
@media (max-width:720px){ .benef{ grid-template-columns:1fr; } }
.benef li{ position:relative; padding-left:42px; font-size:1.1rem; color:#3c2f1b; min-height:30px; display:flex; align-items:center; }
.benef li .ck{ position:absolute; left:0; top:2px; width:26px; height:26px; color:var(--ocre); }

/* bonus */
.bonus-panel{
  background:linear-gradient(165deg,#1a2c4a,#0d1a33 70%);
  border-radius:18px;
  padding:64px 0;
  color:var(--offwhite);
  position:relative;
  overflow:hidden;
}
.bonus-panel::before{
  content:""; position:absolute; right:-10%; top:-30%; width:60%; height:120%;
  background:radial-gradient(closest-side, rgba(232,162,61,.16), transparent 70%);
}
.bonus-panel .wrap{ position:relative; z-index:2; }
.bonus-panel .h-sec{ color:var(--offwhite); }
.bonus-panel .lede{ color:rgba(244,236,216,.8); }
.bonus-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:42px; }
@media (max-width:900px){ .bonus-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .bonus-grid{ grid-template-columns:1fr; } }
.bcard{
  border:1px solid rgba(245,217,139,.22);
  border-radius:10px;
  padding:22px 20px;
  background:rgba(11,23,51,.45);
  transition:border-color .35s ease, transform .35s ease;
}
.bcard:hover{ border-color:rgba(245,217,139,.55); transform:translateY(-3px); }
.bcard .top{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.bcard .play{ width:34px; height:34px; flex:none; color:var(--ember-2); }
.bcard .n{ font-family:var(--serif); font-size:1.5rem; color:rgba(245,217,139,.6); line-height:1; }
.bcard h4{ margin:0; font-family:var(--serif); font-weight:600; font-size:1.22rem; color:var(--offwhite); line-height:1.12; }
.bcard p{ margin:6px 0 0; font-size:.92rem; color:rgba(244,236,216,.66); }
.bcard.video{ border-color:rgba(232,162,61,.6); background:rgba(232,162,61,.08); }
.bcard.video .tag{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:.62rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ember-2); margin-bottom:6px; }
.bcard.video .top{ grid-column:span 1; }
.bonus-foot{ margin-top:30px; text-align:center; font-size:.95rem; color:rgba(244,236,216,.72); }

/* testimonials */
.tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:14px; }
@media (max-width:880px){ .tst-grid{ grid-template-columns:1fr; max-width:520px; margin-left:auto; margin-right:auto; } }
.tst{
  background:#fff;
  border:1px solid var(--ink-line);
  border-radius:10px;
  padding:28px 26px;
  box-shadow:0 18px 40px -28px rgba(42,30,14,.4);
}
.stars{ display:flex; gap:3px; margin-bottom:14px; color:var(--ember); }
.stars svg{ width:18px; height:18px; }
.tst p{ font-family:var(--serif); font-style:italic; font-size:1.18rem; line-height:1.4; color:#3c2f1b; margin:0 0 16px; }
.tst .who{ font-weight:600; font-size:.92rem; color:var(--ink-soft); }
.ph-note{ text-align:center; margin-top:26px; font-family:ui-monospace,Menlo,Consolas,monospace; font-size:11px; letter-spacing:.04em; color:var(--ink-soft); opacity:.8; }

/* for whom */
.whom{ display:grid; grid-template-columns:1fr 1fr; gap:26px; margin-top:14px; }
@media (max-width:780px){ .whom{ grid-template-columns:1fr; } }
.wcol{ border-radius:12px; padding:38px 34px; }
.wcol.no{ background:#ece1c8; border:1px solid var(--ink-line); }
.wcol.yes{ background:linear-gradient(165deg,#1a2c4a,#0d1a33); color:var(--offwhite); box-shadow:0 26px 60px -34px rgba(11,23,51,.7); }
.wcol h3{ font-size:1.7rem; margin:0 0 22px; }
.wcol.no h3{ color:#6b5638; }
.wcol.yes h3{ color:var(--gold); }
.wlist{ list-style:none; margin:0; padding:0; display:grid; gap:16px; }
.wlist li{ position:relative; padding-left:38px; font-size:1.06rem; line-height:1.45; }
.wcol.no .wlist li{ color:#5c4a30; }
.wcol.yes .wlist li{ color:rgba(244,236,216,.9); }
.wlist li .m{ position:absolute; left:0; top:1px; width:24px; height:24px; }
.wcol.no .m{ color:#b09060; }
.wcol.yes .m{ color:var(--ember-2); }

/* offer */
.offer-sec{ background:var(--cream-2); padding:96px 0; position:relative; z-index:1; }
.offer-card{
  max-width:640px; margin:0 auto;
  background:linear-gradient(168deg,#15294a,#0a162f 72%);
  border:1px solid rgba(245,217,139,.3);
  border-radius:18px;
  padding:56px 44px;
  text-align:center;
  color:var(--offwhite);
  position:relative;
  overflow:hidden;
  box-shadow:0 50px 100px -40px rgba(11,23,51,.6);
}
.offer-card::before{
  content:""; position:absolute; left:50%; top:-20%; transform:translateX(-50%);
  width:120%; height:80%;
  background:radial-gradient(closest-side, rgba(232,162,61,.22), transparent 70%);
  z-index:0;
}
.offer-card > *{ position:relative; z-index:2; }
.offer-card .pre{ font-family:var(--serif); font-style:italic; font-size:1.5rem; color:var(--gold); line-height:1.3; }
.offer-card .incl{ margin:18px auto 30px; font-size:1.04rem; color:rgba(244,236,216,.82); max-width:440px; }
.offer-card .incl b{ color:var(--ember-2); font-weight:600; }
.price-row{ display:flex; flex-direction:column; align-items:center; gap:2px; margin-bottom:28px; }
.price-old{ font-size:1.1rem; color:rgba(244,236,216,.55); text-decoration:line-through; text-decoration-color:var(--ember); }
.price-by{ font-size:.85rem; letter-spacing:.22em; text-transform:uppercase; color:rgba(244,236,216,.6); }
.price-big{ font-family:var(--serif); font-weight:600; font-size:clamp(3.6rem,12vw,5.2rem); line-height:.98; color:var(--gold); letter-spacing:-.01em; }
.price-inst{ font-size:1.06rem; color:var(--offwhite); font-weight:600; margin-top:4px; }
.offer-card .secure{ margin-top:20px; font-size:.84rem; color:rgba(244,236,216,.6); display:inline-flex; align-items:center; gap:8px; justify-content:center; }
.offer-card .secure svg{ width:15px; height:15px; color:var(--ember-2); }

/* guarantee */
.guar{ display:grid; grid-template-columns:auto 1fr; gap:44px; align-items:center; max-width:820px; margin:0 auto; }
@media (max-width:680px){ .guar{ grid-template-columns:1fr; text-align:center; justify-items:center; gap:26px; } }
.seal-badge{ width:150px; height:150px; flex:none; }
.guar h2{ color:var(--ink); }
.guar p{ margin:.7em 0 0; font-size:1.08rem; }

/* faq */
.faq{ max-width:760px; margin:34px auto 0; }
.faq-item{ border-bottom:1px solid var(--ink-line); }
.faq-q{
  width:100%; text-align:left; background:none; border:none; cursor:pointer;
  font-family:var(--serif); font-weight:600; font-size:1.4rem; color:var(--ink);
  padding:24px 44px 24px 0; position:relative; line-height:1.25;
}
.faq-q .pm{ position:absolute; right:4px; top:50%; transform:translateY(-50%); width:22px; height:22px; color:var(--ocre); transition:transform .35s ease; }
.faq-item.open .faq-q .pm{ transform:translateY(-50%) rotate(45deg); }
.faq-a{ overflow:hidden; max-height:0; transition:max-height .45s ease; }
.faq-a p{ margin:0 0 24px; font-size:1.06rem; color:#4a3a22; }

/* final cta */
.final{
  padding:130px 24px;
  text-align:center;
  background:linear-gradient(180deg, var(--cream-2) 0%, #8a6f44 14%, var(--midnight-1) 42%, var(--midnight-0) 100%);
  position:relative; z-index:1; overflow:hidden;
}
.final .ember{
  position:absolute; left:50%; top:62%; transform:translate(-50%,-50%);
  width:min(900px,130vw); height:min(900px,130vw);
  background:radial-gradient(closest-side, rgba(242,182,90,.2), transparent 66%);
  z-index:0; pointer-events:none;
}
.final-inner{ position:relative; z-index:2; max-width:680px; margin:0 auto; }
.final .guard{ font-family:var(--serif); font-style:italic; font-size:clamp(1.9rem,5vw,2.9rem); line-height:1.25; color:var(--gold); }
.final .lines{ margin:30px auto 0; max-width:480px; color:rgba(244,236,216,.82); font-size:1.14rem; }
.final .lines p{ margin:.5em 0; }
.final .cta-block{ margin-top:44px; }
.footer{ position:relative; z-index:2; text-align:center; padding:50px 24px 60px; background:var(--midnight-0); }
.footer .sig{ font-family:var(--serif); font-size:1.2rem; color:var(--offwhite); letter-spacing:.02em; }
.footer .cop{ margin-top:8px; font-size:.8rem; color:rgba(244,236,216,.42); letter-spacing:.04em; }

/* sticky mobile cta */
.sticky{
  position:fixed; left:0; right:0; bottom:0; z-index:50;
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg, rgba(6,13,31,.6), rgba(6,13,31,.96));
  backdrop-filter:blur(10px);
  border-top:1px solid rgba(245,217,139,.22);
  transform:translateY(120%);
  transition:transform .4s cubic-bezier(.2,.7,.2,1);
}
.sticky.show{ transform:none; }
.sticky .pr{ line-height:1.05; }
.sticky .pr .b{ font-family:var(--serif); font-weight:600; font-size:1.5rem; color:var(--gold); }
.sticky .pr .s{ font-size:.72rem; color:rgba(244,236,216,.6); text-decoration:line-through; }
.sticky .cta{ padding:14px 22px; font-size:.86rem; flex:none; }
@media (min-width:861px){ .sticky{ display:none; } }

/* sigil */
.sigil{ width:30px; height:30px; color:var(--ember-2); }

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
}

/* heading hyphenation guard for big words */
.display, .h-sec, .mech-key, .origin .closer{ text-wrap:balance; }
p{ text-wrap:pretty; }
