@font-face{font-family:Nohemi;font-weight:400;font-display:swap;src:url(/assets/fonts/Nohemi-Regular.woff) format("woff")}
@font-face{font-family:Nohemi;font-weight:500;font-display:swap;src:url(/assets/fonts/Nohemi-Medium.woff) format("woff")}
@font-face{font-family:Nohemi;font-weight:600;font-display:swap;src:url(/assets/fonts/Nohemi-SemiBold.woff) format("woff")}
@font-face{font-family:Nohemi;font-weight:700;font-display:swap;src:url(/assets/fonts/Nohemi-Bold.woff) format("woff")}
@font-face{font-family:Nohemi;font-weight:800;font-display:swap;src:url(/assets/fonts/Nohemi-ExtraBold.woff) format("woff")}
/* Brand: Vivid Gamboge #ff9700 + Maastricht Blue #0e1e38 (Options Flow brand guide). Edit colors here. */
:root,:root[data-theme="dark"]{--bg:#0e1e38;--bg2:#0b182e;--card:#132746;--line:#25406a;--ink:#f4f7fc;--mute:#a7b8d2;--accent:#ff9700;--accent2:#e68500;--accent-text:#ff9700;--up:#35d39a;--red:#ff6b7a;--navy:#0a1428;--r:18px}
:root[data-theme="light"]{--bg:#ffffff;--bg2:#f4f6fa;--card:#ffffff;--line:#e3e8f0;--ink:#0e1e38;--mute:#55657f;--accent:#ff9700;--accent2:#e68500;--accent-text:#c76a00;--up:#0e9f63;--red:#e0384a}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:Nohemi,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{width:min(1100px,100% - 32px);margin-inline:auto}
.narrow{width:min(820px,100% - 32px);margin-inline:auto}
.top{border-bottom:1px solid var(--line);text-align:center;padding:16px 0;font-weight:800;letter-spacing:-.01em;font-size:1.15rem}
.top b{display:inline-block;background:var(--accent);color:#0e1e38;font-size:.62rem;padding:3px 7px;border-radius:6px;margin-left:8px;vertical-align:middle;letter-spacing:.06em}
.banner{background:var(--accent);color:#0e1e38;text-align:center;padding:9px 16px;font-weight:700;font-size:.88rem}
.hero{text-align:center;padding:44px 0 36px;background:radial-gradient(ellipse at 50% 0%,rgba(255,151,0,.16),transparent 60%)}
.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,151,0,.35);background:rgba(255,151,0,.1);color:var(--accent-text);padding:8px 16px;border-radius:999px;font-weight:700;font-size:.74rem;letter-spacing:.07em;text-transform:uppercase}
.pill.y{border-color:rgba(255,179,71,.4);background:rgba(255,179,71,.1);color:var(--accent)}
.pill i{width:8px;height:8px;border-radius:50%;background:var(--red);animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.3}}
h1{font-size:clamp(1.85rem,4.3vw,3rem);line-height:1.1;letter-spacing:-.025em;font-weight:800;margin:22px auto 16px;max-width:24ch}
h1.wide{max-width:26ch}
h1 .g{color:var(--accent-text)}
h1 .u{background:linear-gradient(transparent 62%,rgba(255,179,71,.45) 62%);padding:0 4px}
h2{font-size:clamp(1.6rem,3.6vw,2.4rem);line-height:1.12;letter-spacing:-.02em;font-weight:800;text-align:center;margin:14px 0 8px}
h2 .g{color:var(--accent-text)}
.sub{color:var(--mute);font-size:1.12rem;max-width:56ch;margin:0 auto 26px}
.eyebrow{display:block;text-align:center;margin-top:8px}
.label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);font-weight:700;margin-bottom:12px}
.cd{display:flex;gap:12px;justify-content:center;margin-bottom:28px}
.cd div{width:84px;padding:14px 0 10px;border-radius:14px;background:linear-gradient(180deg,#183560,#0a1a33);border:1px solid #2b4a7a;box-shadow:0 14px 30px rgba(0,0,0,.4)}
.cd b{display:block;font-size:2rem;line-height:1;font-weight:800}
.cd small{font-size:.58rem;letter-spacing:.16em;color:var(--mute);font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;cursor:pointer;font:inherit;font-weight:800;font-size:1.1rem;color:#0e1e38;background:linear-gradient(180deg,#ffad33,#e68500);padding:18px 44px;border-radius:14px;text-decoration:none;box-shadow:0 14px 34px rgba(255,151,0,.28);transition:transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(255,151,0,.38)}
.btn.block{width:100%}
.micro{color:var(--mute);font-size:.85rem;margin-top:12px}
.decline{display:block;color:var(--mute);font-size:.82rem;margin-top:14px;text-decoration:underline}
.strip{max-width:640px;margin:26px auto 0;border:1.5px dashed rgba(255,179,71,.5);background:rgba(255,179,71,.06);border-radius:12px;padding:12px 16px;font-size:.92rem;color:var(--mute);display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap}
.strip b.tag{border:1px solid rgba(255,151,0,.35);background:rgba(255,151,0,.1);color:var(--accent-text);font-size:.68rem;letter-spacing:.07em;padding:6px 12px;border-radius:999px}
.chips{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:6px auto 0}
.chip{border:1px solid rgba(255,151,0,.3);background:rgba(255,151,0,.08);color:var(--accent-text);padding:7px 14px;border-radius:999px;font-size:.82rem;font-weight:700}
.proof{padding:10px 0 30px;text-align:center}
.stars{color:var(--accent);letter-spacing:3px;margin-bottom:6px}
section{padding:58px 0}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:30px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.card .body{padding:20px 22px 24px}
.card h3{font-size:1.12rem;line-height:1.25;margin:10px 0 8px}
.card p{color:var(--mute);font-size:.94rem}
.card p strong{color:var(--ink)}
.num{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:9px;background:rgba(255,151,0,.12);color:var(--accent-text);font-weight:800;font-size:.85rem;border:1px solid rgba(255,151,0,.3)}
.vis{height:170px;background:var(--bg2);border-bottom:1px solid var(--line);padding:14px;font-family:ui-monospace,Menlo,monospace;font-size:.7rem;color:var(--mute);overflow:hidden;position:relative}
.vis .sample{position:absolute;right:10px;bottom:8px;font-size:.58rem;opacity:.6;font-family:Inter,sans-serif}
.row{display:grid;grid-template-columns:1.1fr .7fr .8fr .9fr;gap:6px;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.05)}
.row.h{color:#5f6e85}
.up{color:var(--up)}.dn{color:var(--red)}
.gexbars{display:flex;align-items:flex-end;gap:5px;height:110px;margin-top:4px}
.gexbars b{flex:1;background:var(--up);border-radius:3px 3px 0 0;opacity:.85}
.gexbars b.n{background:var(--red)}
.wide-card{display:grid;grid-template-columns:1fr 1fr;margin-top:18px}
.wide-card .vis{height:100%;min-height:200px;border-bottom:0;border-right:1px solid var(--line)}
.wide-card .body{align-self:center;padding:28px}
.who h3{font-size:1.5rem;letter-spacing:-.02em}
.who h3 .g{color:var(--accent-text)}
.who ul{list-style:none;margin-top:14px;display:grid;gap:10px}
.who li{color:var(--mute);font-size:.95rem;padding-left:26px;position:relative}
.who li::before{content:"✓";position:absolute;left:0;color:var(--accent-text);font-weight:800}
.note{text-align:center;color:#6c7b92;font-size:.8rem;font-style:italic;margin-top:22px}
.final{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:26px;text-align:center;padding:44px 24px;box-shadow:0 30px 70px rgba(0,0,0,.45)}
footer{border-top:1px solid var(--line);padding:34px 0 46px;text-align:center;color:var(--mute);font-size:.8rem}
footer p{max-width:880px;margin:0 auto 10px}
footer a{text-decoration:underline}
/* tracker + offer */
.steps{display:flex;gap:10px;justify-content:center;margin:26px 0 8px;flex-wrap:wrap}
.step{border:1px solid var(--line);border-radius:999px;padding:7px 14px;font-size:.78rem;color:var(--mute);font-weight:700;background:var(--card)}
.step.done{color:var(--accent-text);border-color:rgba(255,151,0,.4)}
.step.on{color:var(--ink);border-color:var(--ink)}
.video{max-width:760px;margin:26px auto 0;aspect-ratio:16/9;background:#000;border-radius:16px;border:1px solid var(--line);display:grid;place-items:center;color:var(--mute);overflow:hidden}
.video iframe{width:100%;height:100%;border:0}
.price{font-size:.9rem;color:var(--mute);margin-top:6px}
.price s{opacity:.6}
.map{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px 22px;margin-top:30px}
.map .head,.map .r{display:grid;grid-template-columns:1fr 36px 1fr;gap:12px;align-items:center;padding:14px 0}
.map .head{font-size:.7rem;letter-spacing:.14em;color:var(--mute);font-weight:700;border-bottom:1px solid var(--line)}
.map .r+.r{border-top:1px solid var(--line)}
.map .r span.a{color:var(--accent-text)}
.map .r .to{color:var(--accent-text);text-align:center}
.map .r .res{background:rgba(255,151,0,.1);border:1px solid rgba(255,151,0,.3);border-radius:10px;padding:10px 12px;font-size:.9rem}
.map .r .res small{display:block;color:var(--mute);font-size:.78rem}
.stack{background:var(--card);border:1px solid var(--line);border-radius:var(--r);margin-top:30px;overflow:hidden}
.stack .it{display:flex;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line)}
.stack .it:last-child{border-bottom:0}
.ic{flex:none;width:44px;height:44px;border-radius:12px;background:linear-gradient(180deg,#ffad33,#e68500);display:grid;place-items:center;color:#0e1e38;font-weight:800}
.stack h3{font-size:1.02rem}.stack p{color:var(--mute);font-size:.9rem}
.total{text-align:center;padding:24px;border-top:1px solid var(--line);background:var(--bg2)}
.total b{font-size:2.4rem;letter-spacing:-.02em}
.guar{display:flex;gap:16px;align-items:center;max-width:620px;margin:30px auto 0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.guar .badge{flex:none;width:64px;height:64px;border-radius:50%;border:2px solid var(--accent);color:var(--accent);display:grid;place-items:center;text-align:center;font-weight:800;line-height:1;font-size:1.3rem}
.guar .badge small{display:block;font-size:.55rem;letter-spacing:.1em}
.ph{border:1.5px dashed rgba(255,179,71,.5);background:rgba(255,179,71,.06);color:var(--accent);border-radius:12px;padding:14px 16px;font-size:.88rem;margin-top:16px;text-align:center}
details{border-bottom:1px solid var(--line);padding:18px 0}
summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::after{content:"+";color:var(--mute);font-size:1.3rem;line-height:1}
details[open] summary::after{content:"–"}
details p{color:var(--mute);margin-top:10px;font-size:.95rem}
.hidden{display:none!important}
/* modal */
.ov{position:fixed;inset:0;background:rgba(2,6,12,.72);backdrop-filter:blur(6px);display:none;padding:16px;z-index:50;overflow:auto}
.ov.open{display:flex}
.modal{position:relative;margin:auto;width:min(470px,100%);background:#fff;color:#0b1220;border-radius:22px;padding:30px 28px 26px;box-shadow:0 40px 90px rgba(0,0,0,.55)}
.modal .x{position:absolute;top:14px;right:14px;width:34px;height:34px;border-radius:10px;border:0;background:#eef1f5;cursor:pointer;font-size:1.1rem}
.modal .pill{background:#fff1dc;color:#9a5400;border-color:#ffd9a0;display:flex;width:max-content;margin:0 auto}
.modal h3{text-align:center;font-size:1.6rem;letter-spacing:-.02em;margin:14px 0 4px}
.modal .when{text-align:center;color:#5b6678;font-size:.9rem;margin-bottom:18px}
.modal input[type=text],.modal input[type=email],.modal input[type=tel]{width:100%;font:inherit;padding:14px;border:1.5px solid #8590a3;border-radius:10px;margin-bottom:12px;background:#fff;color:#0b1220}
.modal input:focus{outline:none;border-color:#ff9700;box-shadow:0 0 0 3px rgba(255,151,0,.25)}
.modal fieldset{border:0;margin:6px 0 16px}
.modal legend{font-weight:700;font-size:.88rem;margin-bottom:8px}
.modal label.opt{display:flex;gap:10px;align-items:flex-start;font-size:.86rem;padding:6px 0;cursor:pointer}
.modal .go{width:100%;border:0;cursor:pointer;font:inherit;font-weight:800;letter-spacing:.02em;color:#0e1e38;background:#ff9700;padding:17px;border-radius:10px;font-size:1rem}
.modal .go[disabled]{opacity:.6;cursor:wait}
.modal .fine{font-size:.75rem;color:#5b6678;text-align:center;margin-top:12px}
.modal .err{color:#c0283a;font-size:.84rem;margin:-4px 0 10px;display:none}
@media(max-width:860px){.grid3{grid-template-columns:1fr}.grid2{grid-template-columns:1fr}.wide-card{grid-template-columns:1fr}.wide-card .vis{border-right:0;border-bottom:1px solid var(--line)}.cd div{width:70px}.cd b{font-size:1.6rem}.map .head,.map .r{grid-template-columns:1fr}.map .r .to{display:none}}

.logo{height:34px;width:auto;display:inline-block;vertical-align:middle}
.logo-lt{display:none}
[data-theme="light"] .logo-dk{display:none}
[data-theme="light"] .logo-lt{display:inline-block}
.top a{display:inline-block}
.legal{padding:36px 0 60px}.legal-h{font-size:2rem;margin:10px 0 20px;max-width:none;text-align:left}
.legal h2{text-align:left;font-size:1.05rem;margin:26px 0 8px;letter-spacing:0}
.legal p{color:var(--mute);font-size:.92rem;margin-bottom:10px}
[data-theme="light"] .hero{background:radial-gradient(ellipse at 50% 0%,rgba(255,151,0,.14),transparent 60%)}
[data-theme="light"] .card,[data-theme="light"] .map,[data-theme="light"] .stack,[data-theme="light"] .final,[data-theme="light"] .guar{box-shadow:0 10px 30px rgba(15,30,60,.07)}
[data-theme="light"] .vis{background:#f4f6fa}
[data-theme="light"] .chip,[data-theme="light"] .pill,[data-theme="light"] .strip b.tag{background:#fff1dc;color:#a85d00;border-color:#ffd9a0}
[data-theme="light"] .strip,[data-theme="light"] .ph{background:#fff8ec}
[data-theme="light"] .cd div{color:#fff}
.btn:focus-visible{outline:3px solid #fff;outline-offset:3px}
.modal .go:focus-visible,.modal .x:focus-visible,.modal input:focus-visible{outline:3px solid #0e1e38;outline-offset:2px}

.story{max-width:680px;margin:18px auto 0}
.story p{color:var(--ink);font-size:1.05rem;line-height:1.7;margin-bottom:16px;opacity:.92}

.img-vis{padding:0!important;height:200px!important;background:#0b1a33!important}
.img-vis img{width:100%;height:100%;object-fit:cover;display:block}
.wide-card .img-vis{height:100%!important;min-height:260px}

.vl{list-style:none;display:grid;gap:0;margin-top:4px}
.vl li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:.9rem;color:var(--mute)}
.vl li:last-child{border-bottom:0}.vl em{font-style:normal;color:var(--ink);opacity:.7;white-space:nowrap}

.img-vis img[style*=contain]{background:#0b1a33}

mark.fill{background:rgba(255,151,0,.18);color:#ffb347;border-radius:4px;padding:0 4px;font-style:normal}
[data-theme="light"] mark.fill{color:#8a4b00}


.stickycta{display:none}
@media(max-width:760px){.stickycta.show{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(14,30,56,0),rgba(14,30,56,.96) 35%)}.stickycta .btn{width:100%;padding:15px 18px;font-size:1rem}}
a.btn.hidden{display:none!important}

.ov{overscroll-behavior:contain}
@media(max-width:760px){
  .modal h3{line-height:1.15;font-size:1.35rem}.modal .when{margin-bottom:12px}
  body:has(#stickycta) footer{padding-bottom:110px}
}

.vis[style*="aspect-ratio"]{min-height:0!important}

/* Video library: mirrors the Videos section in the software */
.vwrap{width:min(1360px,100% - 48px);margin-inline:auto}
.vgroup{margin:34px 0 0}
.vgroup h2{font-size:1.25rem;font-weight:600;color:#ebebeb;text-align:left;margin:0 0 16px;letter-spacing:0;line-height:1.3}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.vcard{background:#0e1f39;border-radius:8px;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s}
.vcard:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(0,0,0,.35)}
.vcard:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.vthumb{position:relative;aspect-ratio:16/9;background:#07101f;overflow:hidden}
.vthumb img{width:100%;height:100%;object-fit:cover;display:block}
.vdur{position:absolute;right:8px;bottom:8px;background:rgba(0,0,0,.7);color:#fff;font-size:12px;line-height:1;padding:4px 8px;border-radius:4px}
.vbar{position:absolute;left:0;bottom:0;height:4px;background:var(--accent);width:0}
.vcard h3{font-size:1rem;font-weight:500;color:#ebebeb;padding:16px;margin:0;line-height:1.5;text-align:left;letter-spacing:0}
.vmodal{position:fixed;inset:0;z-index:100;background:rgba(0,0,0,.82);display:none;align-items:center;justify-content:center;padding:16px}
.vmodal.open{display:flex}
.vbox{position:relative;width:min(1200px,100%,calc((100vh / var(--z) - 120px)*16/9));aspect-ratio:16/9;background:#000;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.6)}
.vslot{width:100%;height:100%;border-radius:8px;overflow:hidden}
.vslot mux-player,.vslot iframe,.vslot video{display:block;width:100%;height:100%;border:0}
.vclose{position:absolute;right:0;top:-46px;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(255,255,255,.7);background:rgba(0,0,0,.4);color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:0}
.vclose:hover,.vclose:focus-visible{background:var(--accent);border-color:var(--accent);color:#0e1e38;outline:none}
.vsoon{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:var(--mute);text-align:center;padding:0 24px}
.vsoon b{color:var(--ink)}
body.vlock{overflow:hidden}
@media(max-width:1100px){.vgrid{gap:22px}}
@media(max-width:900px){.vgrid{grid-template-columns:repeat(2,1fr);gap:20px}}
@media(max-width:560px){.vgrid{grid-template-columns:1fr;gap:18px}.vbox{width:100%}}

/* Card 04: only the screenshot is blurred (the secret is revealed at the end of the training) */
.wide-card .img-vis{position:relative;height:auto!important;min-height:280px}
.wide-card .img-vis img{position:absolute;inset:0;width:100%;height:100%}
.secret .img-vis img{filter:blur(7px);transform:scale(1.1)}
@media(max-width:860px){.wide-card .img-vis{min-height:220px}}
.grid3 .img-vis{height:auto!important;aspect-ratio:2.2/1}
.grid2 .card .body{height:100%}

/* Page scale: on desktop the whole page scales up like a 110 to 160 percent browser zoom, but never so far that the top of
   the page (through the Save Your Free Seat button) stops fitting the window height. Plain numbers only, so every browser agrees.
   --z is the page scale and --mz its reciprocal (the sign-up popup keeps its normal size while the page behind it scales up).
   Phones and small tablets (under 1000px wide) stay at normal size. */
:root{--z:1;--mz:1}
html{zoom:var(--z)}
.modal{zoom:var(--mz)}
/* by window width */
@media(min-width:1000px){:root{--z:1.1;--mz:.9091}}
@media(min-width:1200px){:root{--z:1.2;--mz:.8333}}
@media(min-width:1400px){:root{--z:1.3;--mz:.7692}}
@media(min-width:1700px){:root{--z:1.35;--mz:.7407}}
@media(min-width:2000px){:root{--z:1.5;--mz:.6667}}
@media(min-width:2500px){:root{--z:1.6;--mz:.625}}
/* then capped by window height, so shorter windows scale less */
@media(max-height:919px) and (min-width:1700px){:root{--z:1.3;--mz:.7692}}
@media(max-height:819px) and (min-width:1200px){:root{--z:1.15;--mz:.8696}}
@media(max-height:719px) and (min-width:1000px){:root{--z:1;--mz:1}}

/* Mobile and tablet polish: comfortable tap targets and readable small text */
@media(max-width:860px){.grid3,.grid2{max-width:600px;margin-inline:auto}}
@media(max-width:760px){
  details{padding:6px 0}
  summary{min-height:48px;align-items:center;padding:8px 0}
  .cd small{font-size:.7rem}
  .strip b.tag{font-size:.72rem}
  .label{font-size:.76rem}
  .pill{max-width:100%;text-align:center}
  .decline{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px}
  footer a{display:inline-block;padding:12px 6px}
  .modal .x{width:44px;height:44px;top:10px;right:10px}
  .modal{padding:20px 18px 16px;border-radius:18px}
  .modal h3{margin:10px 0 2px}
  .modal input[type=text],.modal input[type=email],.modal input[type=tel]{padding:12px 14px;margin-bottom:9px}
  .modal fieldset{margin:2px 0 12px}
  .modal label.opt{padding:8px 0;min-height:44px;font-size:.88rem;align-items:center}
  .modal .go{padding:15px}
  .modal .fine{margin-top:8px}
  .modal label.opt input{width:20px;height:20px;flex:none;margin:0}
}
@media(max-width:760px){.vclose{width:44px;height:44px;top:-52px;font-size:26px}}

/* Above the fold: keep the Save Your Free Seat button on the first screen */
.hero{padding:28px 0 30px}
h1{font-size:clamp(1.65rem,3.7vw,2.7rem);max-width:30ch;margin:16px auto 12px}
h1.wide{max-width:30ch}
.sub{margin-bottom:20px}
.label{margin-bottom:8px}
.cd{margin-bottom:20px}
.cd div{width:78px;padding:10px 0 8px}
.cd b{font-size:1.8rem}
@media(max-width:760px){
  .hero{padding:20px 0 22px}
  h1{font-size:1.6rem;line-height:1.12;margin:12px auto 10px;max-width:none}
  .sub{font-size:1rem;margin-bottom:14px}
  .cd{margin-bottom:16px}
  .cd div{width:68px}
}

/* "Save Your Free Seat" bar: appears whenever the main button is not fully on screen, on phones and on desktop */
.stickycta.show{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(14,30,56,0),rgba(14,30,56,.96) 40%);text-align:center;pointer-events:none}
.stickycta .btn{pointer-events:auto;padding:14px 36px;font-size:1rem}
body:has(#stickycta) footer{padding-bottom:96px}
@media(max-width:760px){.stickycta .btn{width:100%;padding:15px 18px}}



/* Proof: big-number stat cards, number-first case study cards and student quote cards */
.pstats{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:1000px;margin:6px auto 0}
.pstat{display:inline-flex;align-items:baseline;gap:7px;background:rgba(255,151,0,.08);border:1px solid rgba(255,151,0,.32);border-radius:999px;padding:8px 16px;text-align:left}
.pstat b{display:inline;font-size:1rem;line-height:1.2;font-weight:800;color:var(--accent-text);letter-spacing:-.01em}
.pstat span{display:inline;margin:0;font-weight:600;font-size:.84rem;line-height:1.2;color:var(--ink)}
.pstat small{display:inline;margin:0;color:var(--mute);font-size:.76rem}
.pstat small::before{content:"\00b7";margin-right:7px}
.who h3{font-size:1.7rem;line-height:1.12}
.who li strong{color:var(--ink)}
.qcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:22px 22px 20px;display:flex;flex-direction:column;gap:14px}
.qcard .chip{align-self:flex-start}
.qcard blockquote{margin:0;font-size:1.1rem;line-height:1.5;font-weight:600;color:var(--ink)}
.qcard .who2{display:flex;gap:12px;align-items:center;margin-top:auto}
.qcard .av{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ffb347,#ff9700);color:#0e1e38;font-weight:800;display:grid;place-items:center;flex:none}
.qcard .nm{font-weight:700;line-height:1.2}
.qcard .sb{color:var(--mute);font-size:.84rem}
@media(max-width:700px){.pstats{gap:8px}.pstat{padding:7px 14px}.pstat b{font-size:.95rem}.pstat span{font-size:.8rem}.pstat small{font-size:.7rem}.who h3{font-size:1.5rem}}
.qcard:nth-child(even) .av{background:linear-gradient(135deg,#9fc0ff,#5b86e5)}
/* Proof cards from the website (screenshot cards, stat tiles, trust cards) */
/* Offer page (page 2): reference-style hero, check chips, video frame, CTA block, order card */
.offerh1{max-width:30ch}
.pill.y{letter-spacing:.06em}
.chips.chk .chip{background:rgba(255,151,0,.1);border-color:rgba(255,151,0,.38);color:var(--ink);display:inline-flex;gap:7px;align-items:center}
.chips.chk .chip::before{content:"\2713";color:var(--accent-text);font-weight:800}
.vframe{max-width:784px;margin:24px auto 0;padding:10px;border:1px solid rgba(255,151,0,.38);border-radius:24px;background:rgba(255,151,0,.07);box-shadow:0 24px 64px rgba(0,0,0,.4)}
.vframe .video{max-width:none;margin:0;border-color:transparent;position:relative}
.video mux-player{width:100%;height:100%;--media-object-fit:cover}
.unmute{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;border:1.5px solid rgba(255,255,255,.8);background:rgba(10,20,40,.82);color:#fff;font:inherit;font-weight:700;font-size:1rem;padding:12px 22px;border-radius:999px;cursor:pointer}
.unmute:hover{background:rgba(10,20,40,.95)}
.vph{display:grid;gap:8px;justify-items:center;padding:20px;text-align:center}
.vph b{color:var(--ink);font-size:1.05rem}
.vph small{font-size:.78rem;max-width:34ch}
.vph .play{width:64px;height:64px;border-radius:50%;border:2px solid rgba(255,151,0,.7);position:relative}
.vph .play::after{content:"";position:absolute;left:25px;top:19px;border-left:18px solid var(--accent);border-top:12px solid transparent;border-bottom:12px solid transparent}
.ctawrap{margin-top:26px}
.btn.two{flex-direction:column;gap:3px;padding:15px 44px}
.btn.two small{font-size:.82rem;font-weight:600;opacity:.8}
.trust{display:flex;gap:6px 20px;justify-content:center;flex-wrap:wrap;margin-top:16px;font-size:.84rem;color:var(--mute);font-weight:600}
@media(max-width:560px){.vframe{padding:6px;border-radius:18px}.btn.two{padding:14px 26px;width:100%}}
/* Offer page table (reference pattern): what we show on the training on the left, what the walkthrough gives you on the right */
.map .head{text-transform:uppercase}
.map.v2 .head{margin:-8px -22px 0;padding:20px 22px;font-size:clamp(1.02rem,1.7vw,1.22rem);letter-spacing:.05em;line-height:1.25;font-weight:800;background:rgba(255,151,0,.09);border-bottom:2px solid rgba(255,151,0,.5);border-radius:var(--r) var(--r) 0 0}
.map.v2 .head span:first-child{color:var(--ink)}
.map.v2 .head span:last-child{color:var(--accent-text)}
.map.v2 .head span:first-child::before{content:"";display:inline-block;width:12px;height:12px;border-radius:50%;background:var(--red);margin-right:10px;vertical-align:.05em;box-shadow:0 0 0 4px rgba(255,80,80,.2);animation:blink 1.4s infinite}
.map.v2 .head span:last-child::before{content:"\25B6\FE0E";font-size:.72em;margin-right:10px;vertical-align:.1em}
h2{text-wrap:balance}
h2.split span{display:block}
.map.v2 .r .lf{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.02rem;line-height:1.3;color:var(--ink)}
.map.v2 .r .res{background:rgba(255,151,0,.14);border:1.5px solid rgba(255,151,0,.55);padding:12px 14px}
.map.v2 .r .res b{display:block;font-size:1.04rem;color:var(--ink)}
.map.v2 .r .res small{margin-top:3px;font-size:.84rem;color:var(--ink);opacity:.82}
@media(max-width:700px){.map{padding:6px 14px}.map .head{display:none}.map .r{grid-template-columns:1fr;gap:8px;padding:16px 0}.map .r .to{display:none}}
.pstat.plain{align-items:center}
.pstat.plain::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none}
.pstat.plain span{font-weight:700;font-size:.9rem}
/* Offer page stack (reference pattern): icon, short title and line, count on the right, dark total bar */
.stack.st2{max-width:760px;margin-inline:auto;border-radius:18px}
.stack.st2 .it{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;padding:16px 20px}
.stack.st2 .ic{width:46px;height:46px;border-radius:12px}
.stack.st2 .tx{min-width:0}
.stack.st2 h3{font-size:1.04rem;margin:0}
.stack.st2 p{margin:2px 0 0;font-size:.9rem;color:var(--mute)}
.stack.st2 .rt{font-weight:700;font-size:.88rem;color:var(--mute);white-space:nowrap}
.tbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px;background:#0a1428;color:#fff;border-top:1px solid var(--line)}
.tbar small{display:block;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--mute)}
.tbar b{font-size:1.1rem;font-weight:700}
.tbar .tr{text-align:right}
.tbar .tr small{color:var(--accent-text)}
.tbar .tr b{font-size:2rem;letter-spacing:-.02em}
@media(max-width:560px){.stack.st2 .it{grid-template-columns:42px 1fr}.stack.st2 .ic{width:40px;height:40px}.stack.st2 .rt{grid-column:2}.tbar{padding:16px}.tbar .tr b{font-size:1.7rem}}
.map.v2 .r .lf .num{flex:none}
/* offer table keeps its two columns on tablets and phones (arrow, live-dot header, play-icon header) */
@media(max-width:860px){
.map.v2 .head,.map.v2 .r{grid-template-columns:1fr 18px 1.3fr;gap:10px}
.map.v2 .r .to{display:block}
}
@media(max-width:700px){
.map.v2{padding:6px 12px}
.map.v2 .head{display:grid;margin:-6px -12px 0;padding:14px 12px;font-size:.74rem;letter-spacing:.03em;line-height:1.3;align-items:center}
.map.v2 .head span:first-child::before{width:9px;height:9px;margin-right:6px;box-shadow:0 0 0 3px rgba(255,80,80,.2)}
.map.v2 .head span:last-child::before{margin-right:6px}
.map.v2 .r{padding:14px 0;gap:6px}
.map.v2 .r .lf{flex-direction:column;align-items:flex-start;gap:8px;font-size:.86rem;line-height:1.3}
.map.v2 .r .lf .num{width:28px;height:28px;font-size:.75rem;border-radius:8px}
.map.v2 .r .res{padding:10px;border-radius:9px}
.map.v2 .r .res b{font-size:.88rem;line-height:1.25}
.map.v2 .r .res small{font-size:.74rem;line-height:1.35}
}
@media(max-width:360px){.map.v2 .head{font-size:.68rem}.map.v2 .r .lf{font-size:.8rem}.map.v2 .r .res b{font-size:.82rem}.map.v2 .r .res small{font-size:.7rem}}
/* top pill on the landing page: on phones the label with the red dot is line one and the date is line two, sized to the text */
.pill i{flex:none}
.pill.live .pl{display:inline-flex;align-items:center;gap:8px}
.pill.live .sep{opacity:.6}
@media(max-width:560px){
.pill.live{display:flex;flex-direction:column;align-items:center;width:fit-content;max-width:100%;margin:0 auto;padding:9px 20px;gap:3px;font-size:.7rem;letter-spacing:.05em;line-height:1.25;border-radius:22px}
.pill.live .sep{display:none}
}

/* Optional text-message checkbox (never pre-checked) inside the sign-up form, popup and /register */
.modal ::placeholder{color:#5b6678;opacity:1}
.modal label.consent{display:flex;gap:10px;align-items:flex-start;text-align:left;font-size:.78rem;line-height:1.45;color:#3b4658;margin:2px 0 14px;cursor:pointer}
.modal label.consent input{width:20px;height:20px;flex:none;margin:1px 0 0;accent-color:#ff9700}
.modal label.consent a{color:#0e1e38;font-weight:700;text-decoration:underline}
.modal .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
/* Site navigation (About, Products, Contact) and footer links, required by the text-message carriers */
.top .sitenav{display:flex;justify-content:center;flex-wrap:wrap;gap:0 18px;margin-top:4px;font-size:.78rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.top .sitenav a{color:var(--mute);padding:10px 6px;text-decoration:none}
.top .sitenav a:hover{color:var(--ink)}
footer .flinks{display:flex;flex-wrap:wrap;justify-content:center;gap:0 14px}
footer .flinks a{margin:0}
/* /register: the same form, always visible on the page */
.regpage{padding-top:10px}
.modal.inline{position:static;zoom:1;margin:24px auto 0;width:min(470px,100%);text-align:left}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:760px){.modal label.consent{font-size:.76rem}.modal label.consent input{width:22px;height:22px}}

/* policy pages (privacy, terms) */
.legal{width:min(760px,100% - 32px);margin:0 auto;padding:30px 0 60px;text-align:left}
.legal .back{margin:0 0 18px;font-size:.88rem}
.legal .back a{color:var(--mute);text-decoration:none}
.legal .back a:hover{color:var(--ink);text-decoration:underline}
.legal h1{max-width:none;margin:0 0 6px;text-align:left;font-size:clamp(1.8rem,4.2vw,2.5rem)}
.legal .dateline{color:var(--mute);font-size:.9rem;margin:0 0 20px}
.legal h2{text-align:left;font-size:clamp(1.12rem,2.3vw,1.4rem);line-height:1.25;letter-spacing:-.01em;margin:34px 0 10px;text-wrap:pretty;scroll-margin-top:16px}
.legal h3{font-size:1.02rem;line-height:1.3;font-weight:800;margin:22px 0 6px}
.legal p,.legal li{font-size:.98rem;line-height:1.7;margin:0 0 12px;color:var(--ink);opacity:.92}
.legal ul,.legal ol{padding-left:22px;margin:0 0 14px}
.legal li{margin-bottom:8px}
.legal a{color:var(--accent-text);text-decoration:underline;overflow-wrap:anywhere}
.legal strong{font-weight:800}
.legal .smsbox{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--card);border-radius:12px;padding:14px 16px;margin:0 0 6px}
.legal .smsbox p{margin:0;opacity:1}
[data-theme="light"] .legal .smsbox{background:#fff8ec}

/* investment disclaimer, in every page footer */
footer p.disc{max-width:880px;margin:0 auto 16px;font-size:.78rem;line-height:1.6;text-wrap:pretty}

/* phones: no text under 12px, bigger tap areas on the logo and header links, popup button always in reach */
@media(max-width:760px){
  .pill,.pill.live,.pill.live span,.pill.eyebrow,.pill.y,.cd small,.strip b.tag,.map.v2 .head,.map.v2 .head span,.map.v2 .r .res small,.tbar small{font-size:.75rem!important}
  .cd small{letter-spacing:.1em}
  .top>a{padding:5px 0}
  .top .sitenav a{padding:13px 8px}
  .ov .modal .go{position:sticky;bottom:8px;z-index:3;box-shadow:0 0 0 8px #fff}
}
@media(max-width:760px) and (max-height:760px){
  .ov{padding:8px}
  .ov .modal{padding:14px 16px 12px}
  .ov .modal h3{font-size:1.2rem;margin:6px 0 2px}
  .ov .modal .when{font-size:.84rem;line-height:1.4;margin-bottom:8px}
  .ov .modal input[type=text],.ov .modal input[type=email],.ov .modal input[type=tel]{padding:10px 14px;margin-bottom:7px}
  .ov .modal label.consent{margin:2px 0 10px}
  .ov .modal legend{margin-bottom:4px}
  .ov .modal .go{padding:13px}
}

/* Polish round (2026-10-09). Nothing below targets /register, /privacy or /terms: those pages have no popup (.ov), countdown (.cd), FAQ (details), strip, tbar, steps, decline, skip link or .icslink. */

/* F1: sign-up popup on short windows (laptops, landscape tablets). Phones already have their own compact version above.
   The popup keeps its fields and wording; spacing tightens and the one-line intro and top pill drop out so Save Your Free Seat stays on screen. */
@media(min-width:761px) and (max-height:860px){
  .ov{padding:10px}
  .ov .modal{padding:20px 26px 18px}
  .ov .modal .when{display:none}
  .ov .modal h3{font-size:1.4rem;margin:10px 0 10px;padding-inline:30px}
  .ov .modal input[type=text],.ov .modal input[type=email],.ov .modal input[type=tel]{padding:11px 14px;margin-bottom:9px}
  .ov .modal label.consent{margin:2px 0 10px}
  .ov .modal fieldset{margin:2px 0 12px}
  .ov .modal legend{margin-bottom:4px}
  .ov .modal label.opt{padding:4px 0}
  .ov .modal .go{padding:14px}
  .ov .modal .fine{margin-top:9px}
}
@media(min-width:761px) and (max-height:740px){
  .ov .modal{padding:16px 24px 14px}
  .ov .modal .pill{display:none}
  .ov .modal h3{font-size:1.3rem;margin:2px 0 8px}
  .ov .modal input[type=text],.ov .modal input[type=email],.ov .modal input[type=tel]{padding:9px 14px;margin-bottom:7px}
  .ov .modal label.consent{margin:0 0 8px}
  .ov .modal fieldset{margin:0 0 8px}
  .ov .modal label.opt{padding:2px 0}
  .ov .modal .go{padding:12px}
  .ov .modal .fine{margin-top:7px}
}

/* F2: tablets, landscape phones and short laptops. The small labels never drop under 11.5px as they appear on screen
   (the page scale --z is divided out), and FAQ rows and the decline link get the same tap size phones have. */
.cd small{font-size:max(.58rem,calc(11.5px / var(--z)))}
.strip b.tag{font-size:max(.68rem,calc(11.5px / var(--z)))}
.tbar small{font-size:max(.68rem,calc(11.5px / var(--z)))}
@media(max-width:999px),(pointer:coarse){
  details{padding:6px 0}
  summary{min-height:48px;align-items:center;padding:8px 0}
  .decline{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px}
}

/* F5: line breaks */
.map.v2 .head span{text-wrap:balance}
@media(max-width:420px){.steps{gap:6px}.step{padding:6px 8px;font-size:.75rem}}

/* F6: Apple / Outlook calendar link under the Google button */
.icslink{display:flex;align-items:center;justify-content:center;min-height:44px;margin:6px auto 0;padding:8px 14px;color:var(--mute);font-size:.9rem;text-decoration:underline;text-underline-offset:3px;width:fit-content}
.icslink:hover{color:var(--ink)}
.icslink:focus-visible{outline:3px solid #fff;outline-offset:2px;border-radius:6px}

/* F7: skip link (visible only when it has keyboard focus) */
.skip{position:absolute;left:12px;top:-80px;z-index:200;background:#fff;color:#0e1e38;font-weight:800;padding:12px 18px;border-radius:10px;text-decoration:none;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.skip:focus{top:12px;outline:3px solid #ff9700;outline-offset:2px}
main:focus{outline:none}
