/* ===================== CRO + GAME LAYER (loads after site.css) ===================== */
@property --ang { syntax:"<angle>"; inherits:false; initial-value:0deg; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.js .rv { opacity:0; transform:translateY(26px); transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1); }
.js .rv.in { opacity:1; transform:none; }
.progress { position:fixed; z-index:20; top:0; left:0; right:0; height:3px; pointer-events:none; }
.progress span { display:block; height:100%; width:100%; background:var(--lime); transform-origin:0 50%; transform:scaleX(var(--p,0)); box-shadow:0 0 12px #dcff00aa; }
.bio-page { position:relative; }
.bio-page::after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.07; mix-blend-mode:overlay; background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>"); }

/* hero */
.hero { min-height:700px; padding-bottom:30px; }
.hero-photo { transform:translate3d(0,calc(var(--sy,0) * .12px),0) scale(1.06); will-change:transform; }
.aurora { position:absolute; inset:0; z-index:-1; overflow:hidden; pointer-events:none; mix-blend-mode:screen; }
.aurora i { position:absolute; width:340px; height:340px; border-radius:50%; background:radial-gradient(circle,#dcff0055,#dcff0000 68%); filter:blur(24px); animation:drift 14s ease-in-out infinite alternate; }
.aurora i:nth-child(1) { top:60px; left:-90px; }
.aurora i:nth-child(2) { top:180px; right:-120px; animation-delay:-6s; background:radial-gradient(circle,#ffffff33,#ffffff00 68%); }
@keyframes drift { to { transform:translate(60px,50px) scale(1.2); } }
.hero-copy { padding-top:130px; }
.badge { display:inline-flex; align-items:center; gap:9px; padding:7px 14px; border:1px solid #dcff0066; border-radius:999px; background:#11111199; backdrop-filter:blur(8px); font-size:12px; font-weight:600; color:var(--lime); }
.badge i { width:8px; height:8px; border-radius:50%; background:var(--lime); animation:pulse 1.8s infinite; }
@keyframes pulse { 0% { box-shadow:0 0 0 0 #dcff00aa; } 70%,100% { box-shadow:0 0 0 9px #dcff0000; } }
.hero-copy h1 { margin-top:18px; font-size:56px; }
.line { display:block; overflow:hidden; padding-bottom:.08em; }
.line>span { display:block; }
.js .line>span { transform:translateY(105%); animation:rise .9s cubic-bezier(.16,1,.3,1) forwards; }
.js .line:nth-child(2)>span { animation-delay:.12s; }
@keyframes rise { to { transform:none; } }
.hero-copy h1 em { color:var(--lime); }
.hero-copy>p { max-width:34ch; font-size:15px; }
.hero-copy>p strong { color:#fff; font-weight:600; }
.hero-form { grid-template-columns:1fr; max-width:420px; margin:24px auto 0; gap:10px; }
.hero-form input { height:54px; border-radius:999px; padding:0 22px; background:#0b0b0bcc; backdrop-filter:blur(10px); border-color:#ffffff40; text-align:center; }
.hero-form input:focus { border-color:var(--lime); }
.hero-form .hero-cta { margin:0; width:100%; box-shadow:0 8px 30px #dcff0044; }
.button { position:relative; overflow:hidden; }
.hero-cta::after, .button.wide::after, .sticky-cta .button::after { content:""; position:absolute; top:0; bottom:0; width:60px; left:-80px; transform:skewX(-20deg); background:linear-gradient(90deg,#fff0,#ffffff88,#fff0); animation:shine 3.6s ease-in-out infinite; pointer-events:none; }
@keyframes shine { 0%,55% { left:-80px; } 100% { left:120%; } }
.trust-row { list-style:none; display:flex; justify-content:center; flex-wrap:wrap; gap:6px 16px; margin:16px 0 0; padding:0; font-size:12px; color:#d6d6cf; }
.trust-row li { display:flex; align-items:center; gap:5px; }
.trust-row .icon { width:14px; height:14px; color:var(--lime); }
.chip { position:absolute; z-index:1; display:inline-flex; align-items:center; gap:6px; padding:8px 13px; border:1px solid #ffffff40; border-radius:999px; background:#11111166; backdrop-filter:blur(10px); font-size:12px; font-weight:600; animation:float 5s ease-in-out infinite alternate; }
.chip .icon { width:14px; height:14px; color:var(--lime); }
.chip b { color:var(--lime); font-weight:600; }
.chip-a { top:128px; left:22px; --r:-6deg; transform:rotate(var(--r)); }
.chip-b { top:206px; right:22px; --r:5deg; animation-delay:-2.4s; transform:rotate(var(--r)); }
@keyframes float { from { transform:translateY(0) rotate(var(--r)); } to { transform:translateY(-10px) rotate(var(--r)); } }

/* shared section bits */
section.proof, section.game, section.how, section.inside, section.about, section.faq, section.final, section.quotes { padding:44px 28px 0; }
.eyebrow { font-size:11px; font-weight:600; letter-spacing:.18em; text-transform:uppercase; color:var(--lime); margin-bottom:12px; }
section h2 { font-size:42px; }
section h2 em, .grid-title em { color:var(--lime); }
.lead { color:#c7c7bf; font-size:14px; line-height:1.7; margin-top:14px; max-width:46ch; }
.button.wide { width:100%; margin-top:26px; }

/* proof */
section.proof { padding-top:30px; text-align:center; }
.marquee { overflow:hidden; mask-image:linear-gradient(90deg,#0000,#000 14%,#000 86%,#0000); -webkit-mask-image:linear-gradient(90deg,#0000,#000 14%,#000 86%,#0000); }
.marquee-track { display:flex; width:max-content; gap:34px; animation:scroll 26s linear infinite; font:400 26px/1 var(--display); color:#d9d9d2; padding:4px 0; }
.marquee-track span { white-space:nowrap; }
.marquee-track span::after { content:"✦"; margin-left:34px; color:var(--lime); font-size:14px; vertical-align:middle; }
@keyframes scroll { to { transform:translateX(-50%); } }
.stats { list-style:none; display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:26px 0 0; padding:0; }
.stats li { border:1px solid var(--line); border-radius:12px; background:#161616; padding:16px 6px; }
.stats strong { display:block; font:400 36px/1 var(--display); color:var(--lime); }
.stats small { display:block; font-size:11px; color:#bfbfb7; margin-top:6px; }

/* game */
.path { list-style:none; display:grid; grid-template-columns:repeat(4,1fr); margin:24px 0 0; padding:0; position:relative; }
.path::before { content:""; position:absolute; top:17px; left:12.5%; right:12.5%; height:2px; background:#ffffff22; }
.path::after { content:""; position:absolute; top:17px; left:12.5%; height:2px; width:calc(75% * var(--lv,0)); background:var(--lime); transition:width .8s cubic-bezier(.16,1,.3,1); box-shadow:0 0 10px #dcff00aa; }
.path li { position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:7px; font-size:11px; color:#aaa9a3; }
.path b { width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#191919; border:1px solid #ffffff33; font:600 13px var(--body); transition:.4s; }
.path li.done b { background:var(--lime); color:#111; border-color:var(--lime); transform:scale(1.08); box-shadow:0 0 18px #dcff0088; }
.path li.done { color:var(--text); }
.quiz { margin-top:22px; border-radius:16px; background:linear-gradient(160deg,#1c2012,#141414 60%); padding:22px 20px; position:relative; overflow:hidden; }
.quiz::before { content:""; position:absolute; inset:0; border-radius:16px; padding:1.5px; background:conic-gradient(from var(--ang),#dcff00,#dcff0000 25%,#dcff0000 75%,#dcff00); -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask-composite:exclude; animation:spin 6s linear infinite; pointer-events:none; }
@keyframes spin { to { --ang:360deg; } }
.quiz-hint { color:#c7c7bf; font-size:14px; line-height:1.7; margin-bottom:18px; }
.quiz-stage { animation:stage .45s cubic-bezier(.16,1,.3,1); }
@keyframes stage { from { opacity:0; transform:translateY(14px); } }
.q-top { display:flex; align-items:center; gap:12px; font-size:12px; font-weight:600; color:var(--lime); margin-bottom:16px; }
.q-bar { flex:1; height:6px; border-radius:6px; background:#ffffff1c; overflow:hidden; }
.q-bar i { display:block; height:100%; width:0; background:var(--lime); border-radius:6px; transition:width .5s cubic-bezier(.16,1,.3,1); }
#q-title { font-size:30px; margin-bottom:18px; }
.q-options { display:grid; gap:10px; }
.q-opt { text-align:left; min-height:54px; padding:14px 16px; border:1px solid #ffffff33; border-radius:12px; background:#ffffff0a; font-size:15px; font-weight:500; display:flex; align-items:center; justify-content:space-between; gap:10px; transition:.2s; }
.q-opt:hover, .q-opt:focus-visible { border-color:var(--lime); background:#dcff0012; transform:translateX(4px); }
.q-opt.picked { background:var(--lime); color:#111; border-color:var(--lime); }
.calc { display:grid; place-items:center; gap:16px; padding:34px 0; text-align:center; color:#c7c7bf; font-size:14px; }
.calc i { width:54px; height:54px; border-radius:50%; border:3px solid #ffffff22; border-top-color:var(--lime); animation:rot .8s linear infinite; }
@keyframes rot { to { transform:rotate(360deg); } }
.gauge-wrap { display:flex; align-items:center; gap:20px; }
.gauge { flex:none; width:128px; height:128px; border-radius:50%; display:grid; place-content:center; text-align:center; background:radial-gradient(closest-side,#141414 78%,#0000 80%),conic-gradient(var(--lime) calc(var(--p) * 1%),#ffffff1c 0); box-shadow:0 0 40px #dcff0022; }
.gauge strong { font:400 48px/1 var(--display); }
.gauge small { font-size:11px; color:#aaa9a3; }
.tier { display:inline-block; padding:4px 12px; border-radius:999px; background:var(--lime); color:#111; font-size:12px; font-weight:600; }
#tier-text { font-size:14px; color:#d6d6cf; margin-top:10px; line-height:1.6; }
.tip { margin-top:20px; padding:14px 16px; border-left:3px solid var(--lime); background:#ffffff0a; border-radius:0 10px 10px 0; }
.tip b { font-size:12px; color:var(--lime); }
.tip p { font-size:14px; color:#e2e2dc; margin-top:4px; line-height:1.6; }
.breakdown { margin-top:20px; display:grid; gap:12px; transition:filter .6s, opacity .6s; }
.breakdown.locked { filter:blur(6px); opacity:.55; pointer-events:none; user-select:none; }
.bd-row { display:grid; gap:6px; font-size:13px; }
.bd-row div { display:flex; justify-content:space-between; gap:12px; }
.bd-row span { height:7px; border-radius:7px; background:#ffffff1c; overflow:hidden; }
.bd-row i { display:block; height:100%; background:var(--lime); border-radius:7px; width:var(--w); }
.bd-row small { color:#bfbfb7; font-size:12px; }
.gate { margin-top:-6px; padding:22px 18px; border:1px solid #dcff0066; border-radius:14px; background:#0e0e0ef2; position:relative; box-shadow:0 -20px 40px #0e0e0e; }
.gate h3 { font-size:28px; }
.gate>p { color:#c7c7bf; font-size:13px; margin:8px 0 14px; }
.unlocks { display:grid; gap:10px; margin-top:20px; }
.unlock { display:flex; align-items:center; gap:14px; width:100%; text-align:left; padding:14px 16px; border:1px solid #ffffff2e; border-radius:12px; background:#ffffff0a; text-decoration:none; transition:.2s; animation:stage .6s cubic-bezier(.16,1,.3,1) backwards; }
.unlock:nth-child(2) { animation-delay:.12s; }
.unlock:nth-child(3) { animation-delay:.24s; }
.unlock .icon { width:22px; height:22px; color:var(--lime); }
.unlock b { display:block; font-size:14px; font-weight:600; }
.unlock small { display:block; font-size:12px; color:#bfbfb7; margin-top:2px; }
.unlock:hover { border-color:var(--lime); background:#dcff0012; }
.unlock.hot { border-color:var(--lime); background:#dcff0018; }
.unlock.done { opacity:.7; border-style:dashed; }
.again { display:block; margin:18px auto 0; background:none; border:0; color:#aaa9a3; font-size:12px; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
.confetti { position:fixed; inset:0; width:100%; height:100%; pointer-events:none; z-index:30; }

/* how */
.steps { list-style:none; margin:24px 0 0; padding:0; display:grid; gap:12px; }
.steps li { display:flex; gap:18px; align-items:flex-start; padding:18px; border:1px solid var(--line); border-radius:14px; background:#171717; }
.steps li b { font:italic 400 44px/1 var(--display); color:transparent; -webkit-text-stroke:1px var(--lime); flex:none; min-width:58px; }
.steps h3 { font-size:26px; }
.steps p { color:#c7c7bf; font-size:14px; margin-top:6px; }

/* inside */
.checks { list-style:none; margin:22px 0 0; padding:0; display:grid; gap:12px; }
.checks li { display:flex; gap:14px; align-items:flex-start; font-size:16px; line-height:1.5; padding:16px; background:#1a1d13; border:1px solid #dcff0030; border-radius:12px; }
.checks .icon { color:var(--lime); width:24px; height:24px; margin-top:1px; }

/* about */
.about { display:grid; grid-template-columns:140px 1fr; gap:20px; align-items:center; }
.about img { border-radius:14px; aspect-ratio:4/5; object-fit:cover; object-position:50% 20%; border:1px solid #dcff0040; }
.about h2 { font-size:38px; }
.about p:not(.eyebrow) { color:#c7c7bf; font-size:14px; line-height:1.7; margin-top:10px; }

/* quotes */
.quotes blockquote { margin:12px 0 0; padding:20px; border:1px solid var(--line); border-radius:14px; background:#171717; font:400 24px/1.25 var(--display); }
.quotes cite { display:block; margin-top:10px; font:400 12px var(--body); color:var(--lime); font-style:normal; }

/* resources */
.resource-grid { padding-top:44px; }
.grid-title { grid-column:1/-1; font-size:40px; }
.resource { position:relative; transition:background .2s,border-color .2s,transform .25s; }
.resource::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .3s; background:radial-gradient(240px circle at var(--mx,50%) var(--my,50%),#dcff0022,#0000 70%); }
.resource:hover::before { opacity:1; }
.resource:hover { transform:translateY(-3px); }

/* faq */
.faq details { border-bottom:1px solid var(--line); }
.faq details:first-of-type { margin-top:20px; border-top:1px solid var(--line); }
.faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:14px; min-height:60px; padding:12px 0; font-size:16px; font-weight:500; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary .icon { color:var(--lime); transition:transform .3s; }
.faq details[open] summary .icon { transform:rotate(135deg); }
.faq details p { color:#c7c7bf; font-size:14px; line-height:1.7; padding:0 0 18px; }

/* final */
.glow-card { text-align:center; padding:38px 22px; border-radius:20px; background:radial-gradient(120% 90% at 50% 0%,#dcff0030,#141414 62%); border:1px solid #dcff0055; overflow:hidden; }
.glow-card h2 { font-size:40px; }
.glow-card p { color:#d6d6cf; font-size:14px; margin:12px 0 22px; }
.glow-card .button { padding-inline:30px; }

/* sticky CTA (phones) */
.sticky-cta { position:fixed; z-index:15; left:0; right:0; bottom:0; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); display:flex; justify-content:center; background:linear-gradient(180deg,#0000,#050505 40%); transform:translateY(120%); transition:transform .4s cubic-bezier(.16,1,.3,1); pointer-events:none; }
.sticky-cta.show { transform:none; }
.sticky-cta .button { width:100%; max-width:560px; min-height:54px; border-radius:999px; box-shadow:0 10px 36px #dcff0055; }
.sticky-cta.show .button { pointer-events:auto; }
body.panel-open .sticky-cta { transform:translateY(120%); }
footer { padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
.step-tag { display:inline-block; font-size:11px; font-weight:600; color:var(--lime); letter-spacing:.14em; text-transform:uppercase; margin-bottom:10px; }

@media(max-width:680px) {
 .hero { min-height:max(660px,100svh); padding-inline:20px; }
 .hero-copy { padding-top:150px; }
 .hero-copy h1 { font-size:46px; }
 .hero-copy>p { font-size:14px; }
 .chip-a { top:104px; left:16px; }
 .chip-b { top:170px; right:16px; }
 section.proof, section.game, section.how, section.inside, section.about, section.faq, section.final, section.quotes { padding:38px 18px 0; }
 section.proof { padding-top:26px; }
 section h2 { font-size:38px; }
 .resource-grid { padding-top:38px; }
 .grid-title { font-size:36px; }
 .gauge { width:108px; height:108px; }
 .gauge strong { font-size:40px; }
 #q-title { font-size:27px; }
 .about { grid-template-columns:104px 1fr; gap:16px; }
 .about h2 { font-size:32px; }
 .marquee-track { font-size:23px; }
}
@media(min-width:681px) { .sticky-cta { display:none; } }
@media(max-width:370px) {
 .hero-copy h1 { font-size:40px; }
 .gauge-wrap { flex-direction:column; text-align:center; }
 .stats strong { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) {
 .js .rv { opacity:1; transform:none; }
 .js .line>span { transform:none; }
 .marquee-track { animation:none; }
 .hero-photo { transform:none; }
}

/* ===== plainer pass: remove decorative effects ===== */
.chip,.aurora,.badge,.bio-page::after,.quiz::before { display:none !important; }
.hero-cta::after,.button.wide::after,.sticky-cta .button::after { display:none; }
.hero-form .hero-cta,.sticky-cta .button { box-shadow:none; }
.hero-copy { padding-top:170px; }
.hero-copy h1 { margin-top:0; }
.hero-copy h1 em,section h2 em,.grid-title em { color:var(--lime); }
.marquee-track span::after { content:"/"; font-size:22px; color:#777; margin-left:34px; }
.quiz { background:#1a1d13; border:1px solid #dcff0040; }
.glow-card { background:#1a1d13; border-color:#dcff0040; }
.gauge { box-shadow:none; }
.path::after { box-shadow:none; }
.path li.done b { box-shadow:none; transform:none; }
.steps li b { -webkit-text-stroke:0; color:var(--lime); font-style:italic; font-size:40px; }
.stats strong { color:var(--lime); }
.proof { padding-top:26px; }
.marquee { margin-top:0; }
.progress span { box-shadow:none; }
