/* Shared styles for the free-training funnel pages. Tokens match the homepage. */
:root{
  --void:#0A0A0C; --panel:#131316; --panel-2:#1A1A1F; --panel-3:#212128;
  --line:#2A2A2E; --line-soft:#1C1C21;
  --gold:#E8C766; --gold-deep:#D4AF37; --gold-lite:#F3E7BE;
  --ink:#F4F2EC; --muted:#8E8E97; --muted-2:#5B5B63;
  --pos:#7EE29A; --live:#FF5D5D;
  --foil:linear-gradient(135deg,#B8860B 0%,#E8C766 22%,#F7ECC7 48%,#D4AF37 74%,#B8860B 100%);
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{background:var(--void);color:var(--ink);font-family:'Space Grotesk',system-ui,sans-serif;
  line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
.foil{background:var(--foil);-webkit-background-clip:text;background-clip:text;color:transparent}
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(16px,4vw,40px)}
.narrow{max-width:760px}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.26em;
  text-transform:uppercase;color:var(--gold-deep);display:inline-flex;align-items:center;gap:11px;margin-bottom:18px}
.eyebrow::before{content:"";width:24px;height:1px;background:var(--gold-deep);opacity:.7}
h1,h2.title{font-family:'Playfair Display',serif;font-weight:700;letter-spacing:-.015em}
h1{font-size:clamp(34px,6.4vw,62px);line-height:1.02}
h1 em,h2 em{font-style:italic}
h2.title{font-size:clamp(28px,4.6vw,44px);line-height:1.06}
.lead{color:var(--muted);font-size:clamp(15px,1.7vw,18px);max-width:58ch;margin-top:16px}
.center{text-align:center}
.center .lead,.center .eyebrow{margin-inline:auto}

.btn{font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;border:none;cursor:pointer;
  padding:15px 26px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  transition:transform .15s ease,box-shadow .2s ease,border-color .2s ease,opacity .2s}
.btn-gold{background:var(--foil);color:#0A0A0C;box-shadow:0 10px 34px -12px rgba(232,199,102,.6)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(232,199,102,.7)}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.btn-ghost:hover{border-color:var(--gold-deep);background:var(--panel)}
.btn-block{width:100%}
.btn[disabled]{opacity:.6;cursor:wait;transform:none}

header{position:sticky;top:0;z-index:60;background:rgba(10,10,12,.72);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.mm-logo{display:block;width:150px;height:46px;flex:none;background:url('/assets/logo.png') left center/contain no-repeat}
@media(max-width:480px){.mm-logo{width:124px;height:40px}.nav .btn{padding:10px 14px;font-size:13px}}

section{padding:clamp(56px,8vw,96px) 0}
.hero{padding-top:clamp(40px,7vw,80px);
  background:radial-gradient(ellipse 70% 55% at 80% -10%, rgba(232,199,102,.13), transparent 60%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,56px);align-items:center}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr}}
.badge{display:inline-flex;align-items:center;gap:8px;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gold-lite);border:1px solid rgba(232,199,102,.3);background:rgba(232,199,102,.06);
  padding:7px 14px;border-radius:30px;margin-bottom:22px}
.badge.live{color:var(--live);border-color:rgba(255,93,93,.35);background:rgba(255,93,93,.06)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}

.checks{list-style:none;margin-top:24px;display:grid;gap:12px}
.checks li{display:flex;gap:12px;align-items:flex-start;color:#d8d5cd;font-size:15.5px}
.checks li::before{content:"\2713";color:var(--gold);flex:none;font-weight:700}

.card{position:relative;overflow:hidden;background:linear-gradient(160deg,var(--panel-2),var(--panel));
  border:1px solid var(--line);border-radius:20px;padding:clamp(22px,3.5vw,32px);box-shadow:0 40px 90px -40px rgba(0,0,0,.9)}
.card.glow::before{content:"";position:absolute;top:-45%;right:-30%;width:75%;height:80%;
  background:radial-gradient(circle,rgba(232,199,102,.16),transparent 70%);pointer-events:none}
.card > *{position:relative}

/* Opt-in form */
.form h3{font-family:'Playfair Display',serif;font-size:24px;line-height:1.15}
.form p.sub{color:var(--muted);font-size:14px;margin:8px 0 20px}
.field{display:block;margin-bottom:14px}
.field span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:6px;font-family:'IBM Plex Mono',monospace}
.field input{width:100%;font:inherit;font-size:16px;color:var(--ink);background:var(--void);border:1px solid var(--line);
  border-radius:10px;padding:13px 14px;transition:border-color .2s}
.field input:focus{outline:none;border-color:var(--gold-deep)}
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.form-error{color:var(--live);font-size:14px;margin-top:10px;min-height:1.2em}
.fine{color:var(--muted-2);font-size:12px;margin-top:12px;text-align:center}

/* Modules */
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
@media(max-width:900px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.grid3{grid-template-columns:1fr}}
.mod{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px}
.mod .n{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.mod h4{font-size:17px;margin:8px 0 6px}
.mod p{color:var(--muted);font-size:14px}

/* Video */
.vsl{position:relative;width:100%;aspect-ratio:16/9;margin:28px 0 8px;border-radius:16px;overflow:hidden;background:#000;
  border:1px solid rgba(232,199,102,.28);box-shadow:0 30px 80px -30px rgba(0,0,0,.9),0 24px 70px -34px rgba(232,199,102,.35)}
.vsl iframe{position:absolute;inset:0;width:100%;height:100%;border:0}

/* Steps on the watch page */
.steps{display:grid;gap:14px;margin-top:28px}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px}
.step .num{flex:none;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#0A0A0C;background:var(--foil)}
.step h4{font-size:17px}
.step p{color:var(--muted);font-size:14.5px;margin:4px 0 12px}
.step.done .num{background:var(--pos)}

/* Offer */
.offer{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,4vw,48px);align-items:center}
@media(max-width:900px){.offer{grid-template-columns:1fr}}
.price{font-family:'Playfair Display',serif;font-weight:700;font-size:56px;line-height:1;margin:16px 0 4px}
.price span{font-family:'Space Grotesk',sans-serif;font-size:16px;font-weight:400;color:var(--muted)}
.price-note{color:var(--muted);font-size:14px}
.stack{list-style:none;margin:20px 0 24px}
.stack li{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-top:1px solid var(--line-soft);font-size:14.5px;color:#d8d5cd}
.stack li:first-child{border-top:none}
.stack li b{font-weight:600;color:var(--ink)}
.stack li em{font-style:normal;color:var(--gold);font-family:'IBM Plex Mono',monospace;font-size:12px;white-space:nowrap}

/* Alert mock */
.alert{background:var(--void);border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-family:'IBM Plex Mono',monospace;font-size:13px}
.alert + .alert{margin-top:12px}
.alert .top{display:flex;justify-content:space-between;color:var(--muted);font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px}
.alert .who{color:var(--gold)}
.alert .line{color:var(--ink);line-height:1.7}
.alert .buy{color:var(--pos)}
.alert .sell{color:var(--live)}
.alert .why{color:var(--muted);font-family:'Space Grotesk',sans-serif;font-size:13px;margin-top:6px}

/* FAQ */
.faq{margin-top:32px;display:grid;gap:10px}
.faq details{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px 20px}
.faq summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--gold);font-size:20px;line-height:1;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{color:var(--muted);margin-top:10px;font-size:15px}

.proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;color:var(--muted);font-size:13.5px}
.proof b{color:var(--ink)}
.quote{margin-top:36px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.quote{grid-template-columns:1fr}}
.quote figure{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:22px}
.quote .stars{color:var(--gold);letter-spacing:2px;font-size:13px}
.quote blockquote{margin:10px 0 14px;font-size:15px;color:#d8d5cd}
.quote figcaption{font-size:13px;color:var(--muted)}

footer{border-top:1px solid var(--line-soft);padding:28px 0 40px;color:var(--muted-2);font-size:12px}
footer .row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer .risk{margin-top:14px;line-height:1.6}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}

/* ---------- Opt-in page v2 ---------- */
.hero2{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:900px){.hero2{grid-template-columns:1fr}}
.hero2 h1{font-size:clamp(34px,5.6vw,58px)}
.hero2 .kicker{font-family:'IBM Plex Mono',monospace;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;margin-top:28px}
.cta-row .btn{font-size:16px;padding:17px 28px}
.cta-note{color:var(--muted);font-size:13px}
.hero-photo{position:relative}
.hero-photo .frame{border-radius:22px;overflow:hidden;border:1px solid rgba(232,199,102,.28);aspect-ratio:8/9;
  box-shadow:0 40px 90px -40px rgba(0,0,0,.95),0 24px 70px -34px rgba(232,199,102,.35)}
.hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-photo .frame::after{content:"";position:absolute;inset:0;border-radius:22px;
  background:linear-gradient(180deg,transparent 55%,rgba(10,10,12,.85));pointer-events:none}
.hero-photo .cap{position:absolute;left:18px;bottom:16px;right:18px;z-index:2}
.hero-photo .cap b{display:block;font-size:17px}
.hero-photo .cap span{color:var(--gold-lite);font-size:13px}
/* the stacked "PDF" peeking out of the photo */
.pdf-stack{position:absolute;z-index:3;right:-14px;top:22px;width:clamp(120px,28%,168px)}
@media(max-width:900px){.pdf-stack{right:10px;top:12px}}
.pdf-stack .sheet{position:absolute;inset:0 auto auto 0;width:100%;aspect-ratio:8.5/11;border-radius:8px}
.pdf-stack .sheet:nth-child(1){transform:rotate(9deg) translate(10px,6px);background:#2a2a30}
.pdf-stack .sheet:nth-child(2){transform:rotate(4deg) translate(5px,3px);background:#34343b}
.pdf-stack .cover{position:relative;width:100%;aspect-ratio:8.5/11;border-radius:8px;background:linear-gradient(170deg,#18181c,#0d0d10);
  border:1px solid rgba(232,199,102,.45);box-shadow:0 18px 40px -10px rgba(0,0,0,.9);padding:12px 11px;display:flex;flex-direction:column}
.pdf-stack .cover .bar{height:3px;border-radius:2px;background:var(--foil);margin-bottom:10px}
.pdf-stack .cover small{font-family:'IBM Plex Mono',monospace;font-size:7.5px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.pdf-stack .cover strong{font-family:'Playfair Display',serif;font-size:clamp(13px,1.6vw,17px);line-height:1.08;margin-top:6px}
.pdf-stack .cover .lines{margin-top:auto;display:grid;gap:5px}
.pdf-stack .cover .lines i{display:block;height:3px;border-radius:2px;background:#2c2c33}
.pdf-stack .cover .lines i:nth-child(2){width:80%}.pdf-stack .cover .lines i:nth-child(3){width:60%}
.pdf-stack .tag{position:absolute;left:-10px;bottom:-12px;background:var(--foil);color:#0A0A0C;font-weight:700;font-size:11px;
  padding:5px 10px;border-radius:20px;box-shadow:0 8px 20px -6px rgba(0,0,0,.8)}

/* What you get */
.bundle{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:40px}
@media(max-width:800px){.bundle{grid-template-columns:1fr}}
.bundle .item{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,28px)}
.bundle .item .n{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.bundle .item h3{font-family:'Playfair Display',serif;font-size:clamp(22px,2.6vw,28px);line-height:1.1;margin:8px 0 10px}
.bundle .item p{color:var(--muted);font-size:15px}
.bundle .item ol{margin:14px 0 0 0;padding:0;list-style:none;counter-reset:m;display:grid;gap:8px}
.bundle .item ol li{counter-increment:m;display:flex;gap:10px;font-size:14.5px;color:#d8d5cd}
.bundle .item ol li::before{content:counter(m,decimal-leading-zero);font-family:'IBM Plex Mono',monospace;font-size:12px;color:var(--gold);padding-top:2px}

/* Cheat sheet covers */
.sheets{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px}
@media(max-width:900px){.sheets{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.sheets{gap:12px}}
.sheetcard{background:linear-gradient(170deg,#18181c,#0f0f12);border:1px solid var(--line);border-radius:14px;padding:18px 16px 16px;
  display:flex;flex-direction:column;min-height:210px;transition:border-color .2s,transform .2s}
.sheetcard:hover{border-color:rgba(232,199,102,.45);transform:translateY(-3px)}
.sheetcard .bar{height:3px;width:44px;border-radius:2px;background:var(--foil);margin-bottom:14px}
.sheetcard small{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.16em;color:var(--gold-deep);text-transform:uppercase}
.sheetcard h4{font-family:'Playfair Display',serif;font-size:clamp(17px,2vw,21px);line-height:1.12;margin:6px 0 8px}
.sheetcard p{color:var(--muted);font-size:13.5px}
.sheetcard .pdf{margin-top:auto;padding-top:12px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;color:var(--muted-2);text-transform:uppercase}

/* About Ricky */
.about{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(28px,5vw,56px);align-items:center}
@media(max-width:900px){.about{grid-template-columns:1fr}}
.about .photo{border-radius:20px;overflow:hidden;border:1px solid var(--line)}
.about .photo img{display:block;width:100%;height:auto}
.about p{color:#d8d5cd;font-size:16px;margin-top:14px}
.about p.muted{color:var(--muted)}
.sig{font-family:'Playfair Display',serif;font-style:italic;font-size:22px;margin-top:18px;color:var(--gold-lite)}

/* Final CTA band */
.band{text-align:center;background:linear-gradient(160deg,var(--panel-2),var(--panel));border:1px solid rgba(232,199,102,.25);
  border-radius:24px;padding:clamp(32px,6vw,60px) clamp(20px,4vw,48px)}

/* Two-step opt-in modal */
.modal{position:fixed;inset:0;z-index:100;display:none;align-items:center;justify-content:center;padding:16px;
  background:rgba(5,5,7,.78);backdrop-filter:blur(6px)}
.modal.open{display:flex}
.modal .card{width:100%;max-width:440px;animation:pop .22s ease}
@keyframes pop{from{transform:translateY(12px);opacity:0}}
.modal .x{position:absolute;top:12px;right:14px;background:none;border:none;color:var(--muted);font-size:26px;cursor:pointer;line-height:1;z-index:2}
.progress{height:6px;border-radius:6px;background:var(--panel-3);overflow:hidden;margin:4px 0 16px}
.progress i{display:block;height:100%;width:50%;background:var(--foil)}
.progress-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}

/* Sticky mobile CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:10px 16px calc(10px + env(safe-area-inset-bottom));
  background:rgba(10,10,12,.92);backdrop-filter:blur(12px);border-top:1px solid var(--line-soft);display:none;
  transform:translateY(100%);transition:transform .25s ease}
.sticky-cta.show{transform:none}
@media(max-width:760px){.sticky-cta{display:block}body.has-sticky{padding-bottom:80px}}

/* Download list on the watch page */
.dl{display:grid;gap:8px}
.dl a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;
  background:var(--void);border:1px solid var(--line);font-size:14.5px;transition:border-color .2s}
.dl a:hover{border-color:var(--gold-deep)}
.dl a em{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;color:var(--gold);white-space:nowrap}
.dl a.soon{opacity:.55;cursor:default}
.dl a.soon em{color:var(--muted)}
.step > div{min-width:0;flex:1}

/* Real cheat sheet cover */
.pdf-stack{width:clamp(130px,32%,190px)}
.pdf-stack .cover-img{position:relative;display:block;width:100%;height:auto;border-radius:6px;
  box-shadow:0 22px 44px -12px rgba(0,0,0,.95),0 0 0 1px rgba(232,199,102,.35)}
.dl-cover{float:right;width:88px;height:auto;margin:0 0 10px 14px;border-radius:5px;box-shadow:0 12px 28px -10px rgba(0,0,0,.9)}
@media(max-width:480px){.dl-cover{width:70px}}
.dl{clear:both}

/* Whop checkout embed inside the popup */
.modal .card{max-height:calc(100dvh - 32px);overflow-y:auto}
.modal.wide .card{max-width:520px}
.whop-embed{min-height:320px;border-radius:12px;overflow:hidden}
.whop-embed iframe{width:100%!important;border:0}
.bridge{margin-top:22px;padding:22px 24px;border-radius:16px;border:1px dashed rgba(232,199,102,.4);background:rgba(232,199,102,.04);
  display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.bridge p{flex:1 1 320px;color:#d8d5cd;font-size:15.5px}
.bridge b{color:var(--gold-lite)}
.deal{display:inline-block;margin-top:14px;background:var(--live);color:#fff;font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;padding:5px 10px;border-radius:6px}
.deal + .price{margin-top:8px}

/* Legal pages */
.legal h1{font-size:clamp(32px,5vw,48px)}
.legal .updated{color:var(--muted);font-size:13px;margin:10px 0 26px;font-family:'IBM Plex Mono',monospace}
.legal h2{font-family:'Playfair Display',serif;font-size:22px;margin:30px 0 10px}
.legal p,.legal li{color:#d8d5cd;font-size:15.5px;line-height:1.7}
.legal p + p{margin-top:12px}
.legal ul{padding-left:20px;display:grid;gap:8px}
.legal a{color:var(--gold);text-decoration:underline}
.legal .warnbox{background:rgba(255,93,93,.08);border:1px solid rgba(255,93,93,.35);border-radius:12px;padding:16px 18px;color:#f1d4d4;font-size:15.5px}
.legal .cftc{font-size:12.5px;letter-spacing:.02em;color:var(--muted);border-left:3px solid var(--gold-deep);padding-left:14px;margin-top:14px}
footer a:hover{color:var(--gold)}

/* After-signup checklist */
.confetti{font-size:54px;line-height:1;margin-bottom:10px}
.progressbar{max-width:360px;height:8px;border-radius:8px;background:var(--panel-3);margin:22px auto 6px;overflow:hidden}
.progressbar i{display:block;height:100%;width:0;background:var(--foil);transition:width .4s ease}
.progress-text{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep)}
.next-steps .step{border-width:1.5px;transition:border-color .3s,background .3s}
.next-steps .step h4{font-size:19px}
.next-steps .step.done{border-color:rgba(126,226,154,.45);background:linear-gradient(160deg,rgba(126,226,154,.07),var(--panel))}
.next-steps .step.done .num{background:var(--pos);font-size:0}
.next-steps .step.done .num::after{content:"✓";font-size:16px}
.one-by-one{margin-top:14px}
.one-by-one summary{cursor:pointer;color:var(--muted);font-size:13.5px;text-decoration:underline}
.one-by-one .dl{margin-top:10px}
