/* Join platform · public pages. Tokens come from Renderer::pageVars (--brand, --accent, --r, --hfont). */
:root{--ink:#14213D;--ink-2:#3B4A63;--muted:#6B7A90;--paper:#FFFFFF;--surface:#F3F5F9;--line:#E3E8EF;--gold:#F5B301;--danger:#C2410C;--ok:#15803D}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font:17px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--paper)}
img{max-width:100%;height:auto;display:block}img.rounded{border-radius:var(--r)}
a{color:var(--brand)}:focus-visible{outline:3px solid rgba(var(--brand-rgb),.45);outline-offset:2px}
h1,h2,h3{font-family:var(--hfont);line-height:1.12;margin:0 0 .5em;letter-spacing:-.015em;font-weight:800;text-wrap:balance}
h1{font-size:clamp(32px,6.5vw,52px)}h2{font-size:clamp(24px,4.6vw,34px)}h3{font-size:20px}
p{margin:0 0 1em}.al-center{text-align:center}.al-left{text-align:left}
.sec{padding:40px 0}.pad-sm{padding:18px 0}.pad-lg{padding:72px 0}
.bg-light{background:var(--surface)}.bg-brand{background:var(--brand);color:#fff}.bg-brand a:not(.btn){color:#fff}.bg-dark{background:#0E1526;color:#fff}.bg-image{background-size:cover;background-position:center;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.bg-brand h1,.bg-brand h2,.bg-brand h3,.bg-dark h1,.bg-dark h2,.bg-dark h3{color:#fff}
.theme-navy .sec-first.bg-white{background:var(--brand);color:#fff}.theme-navy .sec-first.bg-white h1,.theme-navy .sec-first.bg-white h2,.theme-navy .sec-first.bg-white h3{color:#fff}.theme-navy .sec-first.bg-white .hero-sub,.theme-navy .sec-first.bg-white .hero-note{color:rgba(255,255,255,.8)}.theme-navy .sec-first.bg-white .hero-eyebrow{color:var(--gold)}.theme-navy .sec-first.bg-white .trust span{border-color:rgba(255,255,255,.3);color:#fff}.theme-navy .sec-first.bg-white .btn-outline,.theme-navy .sec-first.bg-white .hero-link{color:#fff}.theme-navy .sec-first.bg-white .cd-digits span{background:rgba(255,255,255,.14)}.theme-navy .sec-first.bg-white .cd-units i{color:rgba(255,255,255,.7)}
.theme-dark{--paper:#0E1526;--surface:#141D33;--line:#243150;--ink:#F2F5FA;--ink-2:#C7D0DE;--muted:#93A0B5}.theme-dark .plan,.theme-dark .vstack,.theme-dark .bonus,.theme-dark .guarantee,.theme-dark .founder,.theme-dark .benefit{background:var(--surface);color:var(--ink)}
.wrap{margin:0 auto;padding:0 20px;max-width:760px}.w-sm{max-width:600px}.w-lg{max-width:1100px}
.row{display:grid;gap:22px}.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:1fr 1fr 1fr}.cols-4{grid-template-columns:repeat(4,1fr)}
.row.cols-2:has(.col-1-3){grid-template-columns:1fr 2fr}.row.cols-2:has(.col-2-3:first-child){grid-template-columns:2fr 1fr}
.widget{margin:0 0 22px}.widget:last-child{margin-bottom:0}
.txt.sz-sm{font-size:15px}.txt.sz-lg{font-size:19px;color:var(--ink-2)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:15px 28px;border-radius:var(--r);text-decoration:none;font:inherit;font-weight:700;line-height:1.2;border:2px solid transparent;cursor:pointer;min-height:48px;transition:transform .08s,box-shadow .15s}
.btn:active{transform:scale(.985)}
.btn-primary{background:var(--accent);color:#fff;box-shadow:0 6px 20px -8px rgba(0,0,0,.35)}.btn-primary:hover{box-shadow:0 10px 26px -8px rgba(0,0,0,.4)}
.btn-outline{background:transparent;color:var(--brand);border-color:currentColor}.bg-brand .btn-outline,.bg-dark .btn-outline{color:#fff}
.btn-dark{background:var(--ink);color:#fff}
.btn-md{font-size:16px;padding:12px 22px}.btn-lg{font-size:18px}.btn-xl{font-size:21px;padding:19px 34px}.btn-full{width:100%}
.btn-wrap{text-align:center}.btn-sub{font-size:13px;color:var(--muted);margin-top:8px}.bg-brand .btn-sub,.bg-dark .btn-sub{color:rgba(255,255,255,.75)}
/* hero */
.hero{display:grid;gap:28px;align-items:center}.hero-split{grid-template-columns:1.15fr .85fr}.hero-center{text-align:center;justify-items:center}.hero-center .hero-text{max-width:640px}
.hero-cover{position:relative;background-size:cover;background-position:center;border-radius:var(--r);padding:56px 28px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.5)}.hero-cover::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,21,38,.25),rgba(14,21,38,.7));border-radius:inherit}.hero-cover .hero-text{position:relative}.hero-cover h1{color:#fff}
.hero-eyebrow{font-size:14px;font-weight:700;color:var(--accent);margin:0 0 12px}.bg-brand .hero-eyebrow,
.hero-sub{font-size:19px;color:var(--ink-2);max-width:56ch}.bg-brand .hero-sub,.bg-dark .hero-sub,.hero-cover .hero-sub{color:rgba(255,255,255,.85)}
.hero-cta{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-top:8px}.hero-center .hero-cta{justify-content:center}
.hero-link{font-weight:700;color:inherit;text-decoration:underline;text-underline-offset:4px}
.hero-note{font-size:13px;color:var(--muted);margin:12px 0 0}.bg-brand .hero-note,.hero-cover .hero-note{color:rgba(255,255,255,.7)}
.hero-media img{border-radius:var(--r);box-shadow:0 24px 60px -24px rgba(14,21,38,.45)}
/* lists */
.list{list-style:none;padding:0;margin:0}.list li{display:flex;gap:12px;padding:8px 0;align-items:flex-start}.list .ic{color:var(--accent);font-weight:800;flex:none;width:22px}.ic-x .ic{color:var(--danger)}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:10px 24px}.checklist.cols-2{grid-template-columns:1fr 1fr}.checklist li{display:flex;gap:10px;align-items:flex-start}.checklist .ic{flex:none;width:24px;height:24px;border-radius:50%;background:rgba(var(--brand-rgb),.1);color:var(--brand);display:grid;place-items:center;font-size:13px;font-weight:800}
/* plans */
.plans{display:grid;gap:18px;grid-template-columns:1fr;align-items:start}
.plan{border:1px solid var(--line);border-radius:var(--r);padding:26px 22px;text-align:center;background:var(--paper);color:var(--ink);position:relative}
.plan.hl{border:2px solid var(--brand);box-shadow:0 20px 50px -24px rgba(var(--brand-rgb),.5);transform:translateY(-4px)}
.plan-tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--gold);color:#14213D;font-size:12px;font-weight:800;padding:4px 14px;border-radius:999px;white-space:nowrap}
.plan-name{font-family:var(--hfont);font-weight:800;font-size:21px}.plan-dur{color:var(--muted);font-size:14px;margin-bottom:12px}
.plan-price{font-family:var(--hfont);font-size:38px;font-weight:800;line-height:1.05;letter-spacing:-.02em}.plan-price s{font-size:17px;color:var(--muted);font-weight:500;letter-spacing:0}
.plan-gst{font-size:12px;color:var(--muted);margin:6px 0 14px}.plan-desc{font-size:14px;color:var(--ink-2);margin:0 0 16px;text-align:left}
.price-label{font-size:14px;color:var(--muted)}.price-big{font-family:var(--hfont);font-size:50px;font-weight:800;line-height:1.05;letter-spacing:-.02em}.price-big s{font-size:22px;opacity:.6;font-weight:500}.price-note{font-size:14px;color:var(--muted)}
/* countdown */
.cd{text-align:center}.cd-label{font-size:14px;font-weight:700;margin-bottom:10px}
.cd-digits{display:flex;justify-content:center;gap:8px}.cd-digits span{display:inline-block;min-width:62px;padding:12px 6px;background:var(--ink);color:#fff;border-radius:calc(var(--r)/1.5);font-size:30px;font-weight:800;font-variant-numeric:tabular-nums;font-family:var(--hfont)}
.bg-brand .cd-digits span,.bg-dark .cd-digits span,.x-unused{background:rgba(255,255,255,.14)}
.cd-units{display:flex;justify-content:center;gap:8px;margin-top:6px}.cd-units i{display:inline-block;min-width:62px;font-size:11px;font-style:normal;color:var(--muted)}.bg-brand .cd-units i{color:rgba(255,255,255,.7)}
.cd.over .cd-digits,.cd.over .cd-units{display:none}
.seats-top{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px}.bar{height:12px;background:var(--line);border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--accent)}
/* faq / curriculum */
.faq details,.curr details{border-bottom:1px solid var(--line);padding:12px 0}.faq summary,.curr summary{cursor:pointer;font-weight:700;list-style:none;display:flex;justify-content:space-between;gap:12px;min-height:28px}.faq summary::after,.curr summary::after{content:"+";color:var(--muted);font-size:20px;line-height:1}.faq details[open] summary::after,.curr details[open] summary::after{content:"–"}.faq details div{padding-top:8px;color:var(--ink-2)}
.curr ul{margin:8px 0 0;padding-left:20px;color:var(--ink-2)}.curr li{padding:3px 0}
.tbl-wrap{overflow-x:auto}.tbl{width:100%;border-collapse:collapse;font-size:15px}.tbl th,.tbl td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left}.tbl th{background:var(--surface)}
.cmp{width:100%;border-collapse:separate;border-spacing:0;font-size:15px}.cmp th,.cmp td{padding:12px;border-bottom:1px solid var(--line);text-align:center}.cmp td:first-child,.cmp th:first-child{text-align:left}.cmp .cmp-us{background:rgba(var(--brand-rgb),.06);font-weight:700}.cmp th.cmp-us{background:var(--brand);color:#fff;border-radius:var(--r) var(--r) 0 0}.cmp-yes{color:var(--ok);font-weight:800}.cmp-no{color:var(--danger);font-weight:800}
/* stacks / boxes */
.vstack,.bonus{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--paper);color:var(--ink)}
.vs-row,.bonus-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed var(--line);align-items:center}.bonus-row span{display:block;font-size:13px;color:var(--muted)}.bonus-row em{font-style:normal;color:var(--muted);white-space:nowrap}
.vs-total{text-align:right;color:var(--muted);margin-top:12px;text-decoration:line-through}.vs-pay{text-align:right;font-family:var(--hfont);font-size:26px;font-weight:800;color:var(--brand)}
.bonus-total{margin-top:14px;font-weight:800;color:var(--brand)}
.guarantee{display:flex;gap:18px;align-items:center;border:2px dashed var(--accent);border-radius:var(--r);padding:20px;background:rgba(22,163,74,.05)}.g-badge{flex:none;width:84px;height:84px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-weight:800;text-align:center;font-size:15px;line-height:1.1;padding:6px}.guarantee h3{margin:0 0 4px}.guarantee p{margin:0;color:var(--ink-2)}
.founder{display:grid;grid-template-columns:140px 1fr;gap:22px;align-items:start;border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--paper)}.founder img,.founder-ph{width:140px;height:140px;object-fit:cover;border-radius:calc(var(--r)/1.2);background:var(--surface)}.founder h3{margin:0}.founder-role{color:var(--muted);font-size:14px;margin:2px 0 10px}.founder-links a{margin-right:4px}
.forwho{display:grid;gap:18px;grid-template-columns:1fr 1fr}.fw-col{border-radius:var(--r);padding:20px;border:1px solid var(--line)}.fw-yes{background:rgba(22,163,74,.06)}.fw-no{background:rgba(194,65,12,.05)}.fw-col h3{margin:0 0 10px;font-size:17px}.fw-col ul{list-style:none;padding:0;margin:0}.fw-col li{display:flex;gap:10px;padding:5px 0}.fw-yes li span{color:var(--ok);font-weight:800}.fw-no li span{color:var(--danger);font-weight:800}
.benefits{display:grid;gap:18px;grid-template-columns:1fr}.benefit{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--paper)}.benefit-ic{font-size:28px;margin-bottom:10px;line-height:1}.benefit h3{font-size:18px;margin:0 0 6px}.benefit p{margin:0;color:var(--ink-2);font-size:15px}
.steps{list-style:none;padding:0;margin:0;display:grid;gap:14px}.steps li{display:flex;gap:16px;align-items:flex-start}.step-n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--brand);color:#fff;display:grid;place-items:center;font-weight:800;font-family:var(--hfont)}.steps p{margin:2px 0 0;color:var(--ink-2);font-size:15px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:16px;text-align:center}.stats .stat b{display:block;font-family:var(--hfont);font-size:34px;font-weight:800;letter-spacing:-.02em;color:var(--brand)}.bg-brand .stats b,.bg-dark .stats b{color:var(--gold)}.stats .stat span{font-size:14px;color:var(--muted)}
.tl{border-left:2px solid var(--line);padding-left:20px;margin-left:8px}.tl-row{position:relative;padding:6px 0 18px}.tl-row::before{content:"";position:absolute;left:-27px;top:12px;width:12px;height:12px;border-radius:50%;background:var(--brand)}.tl-row b{display:block;color:var(--brand)}.tl-row span{color:var(--ink-2)}
.quote{margin:0;padding:8px 0 8px 22px;border-left:4px solid var(--gold);font-family:var(--hfont);font-size:22px;font-weight:600;line-height:1.35}.quote footer{font:15px/1.4 inherit;font-family:inherit;color:var(--muted);margin-top:8px;font-weight:500}
.story{margin:0;border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--surface)}.story blockquote{margin:0 0 10px;font-size:17px}.story figcaption{font-size:13px;color:var(--muted)}
.split{display:grid;gap:26px;align-items:center;grid-template-columns:1fr 1fr}.split.side-right .split-media{order:2}.split img{border-radius:var(--r)}
.trust{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.trust span{font-size:13px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink-2)}.bg-brand .trust span,.bg-dark .trust span,.x-unused2{border-color:rgba(255,255,255,.3);color:#fff}
.payicons{text-align:center}.pay-label{font-size:13px;color:var(--muted);margin-bottom:8px}.pay-list{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.pay-list span{font-size:13px;font-weight:700;padding:6px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.logos p{text-align:center;font-size:13px;color:var(--muted);margin:0 0 10px}.logo-row{display:flex;flex-wrap:wrap;gap:10px 28px;justify-content:center}.logo-row span{font-family:var(--hfont);font-weight:800;font-size:18px;color:var(--muted);letter-spacing:-.01em}
.sch-row{display:flex;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}.sch-row b{flex:none;width:88px;color:var(--brand);font-variant-numeric:tabular-nums}
.disc{font-size:13px;color:var(--muted);line-height:1.5}.disc span{display:block;margin-top:4px}
.video{position:relative;width:100%;background:#000;border-radius:var(--r);overflow:hidden}.video iframe,.video video{position:absolute;inset:0;width:100%;height:100%;border:0}
.announce{background:#0E1526;color:#fff;text-align:center;font-size:14px;font-weight:700;padding:10px 16px;margin:-40px calc(50% - 50vw) 28px;width:100vw}.announce a{color:var(--gold)}.pad-sm .announce{margin-top:-18px}.pad-lg .announce{margin-top:-72px}.theme-navy .sec-first .announce{background:rgba(0,0,0,.35)}
.lead{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--surface)}.lead h3{margin:0 0 4px}.lead p{color:var(--ink-2);margin:0 0 14px;font-size:15px}.lead-fields{display:grid;gap:10px}.lead-fields input{padding:13px 14px;border:1px solid #CBD3DF;border-radius:calc(var(--r)/1.3);font:inherit;font-size:16px;background:#fff}.lead .hp{position:absolute;left:-9999px}.lead-ok{color:var(--ok);font-weight:700}
.wa-float{position:fixed;right:16px;bottom:88px;z-index:60;display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;padding:12px 16px;border-radius:999px;font-weight:700;text-decoration:none;box-shadow:0 10px 30px -10px rgba(0,0,0,.4)}
.sticky{position:fixed;left:0;right:0;bottom:0;background:var(--paper);border-top:1px solid var(--line);padding:10px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:50;box-shadow:0 -8px 30px rgba(14,21,38,.08);color:var(--ink);font-weight:700;font-size:15px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
.sticky-pad{height:76px}
.divider.line{border-top:1px solid var(--line)}
.ph{border:2px dashed #CBD3DF;color:#94A3B8;padding:30px;text-align:center;border-radius:var(--r);font-size:14px}
.pfoot{font-size:12px;color:var(--muted);text-align:center;padding:30px 20px 36px;line-height:1.7;border-top:1px solid var(--line);margin-top:20px}.pfoot a{color:var(--muted);margin:0 7px}
@media(min-width:640px){.plans.cols-2,.plans.cols-3,.plans.cols-4{grid-template-columns:1fr 1fr}.benefits.cols-2,.benefits.cols-3,.benefits.cols-4{grid-template-columns:1fr 1fr}}
@media(min-width:900px){.plans.cols-3{grid-template-columns:1fr 1fr 1fr}.plans.cols-4{grid-template-columns:repeat(4,1fr)}.benefits.cols-3{grid-template-columns:1fr 1fr 1fr}.benefits.cols-4{grid-template-columns:repeat(4,1fr)}}
@media(max-width:720px){.row,.hero-split,.split,.forwho{grid-template-columns:1fr!important}.hero-split{text-align:center}.hero-split .hero-cta{justify-content:center}.hero-split .hero-sub{margin-inline:auto}.hero-media{order:-1}.founder{grid-template-columns:1fr}.founder img,.founder-ph{width:110px;height:110px}.cd-digits span,.cd-units i{min-width:50px}.cd-digits span{font-size:24px}.checklist.cols-2{grid-template-columns:1fr}.quote{font-size:19px}.wa-float span{display:none}.wa-float{padding:12px}}
.ra-block{max-width:760px;margin:0 auto 12px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--r);text-align:left;font-size:12px;line-height:1.6;color:var(--muted);background:var(--surface)}.ra-block b{color:var(--ink)}.ra-block a{margin:0;text-decoration:underline}.ra-disc{display:block;margin-top:2px}
.theme-navy .ra-block,.theme-dark .ra-block{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
