
:root{--navy:#050b17;--navy2:#0b2a4d;--gold:#22d3ee;--bg:#f7f8fb;--card:#fff;--text:#1b2437;--muted:#5b667a;--line:#e3e7ef;
}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0a1424;--card:#101e36;--text:#e8edf6;--muted:#9aa7bd;--line:#223455}}
:root[data-theme="dark"]{--bg:#0a1424;--card:#101e36;--text:#e8edf6;--muted:#9aa7bd;--line:#223455}
html{scroll-behavior:smooth;scroll-padding-top:calc(70px + env(safe-area-inset-top,0px))}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header{position:sticky;top:0;background:var(--navy);z-index:10;padding-top:env(safe-area-inset-top,0px)}
nav{display:flex;align-items:center;justify-content:space-between;height:60px}
.logo{color:#fff;font-weight:800;letter-spacing:1px;text-decoration:none;font-size:20px}
.logo img{height:44px;width:auto;display:block;mix-blend-mode:screen}
.hero-logo{width:min(360px,80%);height:auto;display:block;margin:0 0 18px;mix-blend-mode:screen}
.wa-btn{background:#25d366;color:#fff}
nav ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
nav ul a{color:#cfd8e8;text-decoration:none;font-size:14px}
nav ul a:hover{color:var(--gold)}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;padding:11px 22px;border-radius:8px;text-decoration:none;border:0;cursor:pointer;font-size:15px}
.btn.alt{background:transparent;color:#fff;border:1.5px solid #ffffff55}
.hero{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:72px 0 64px}
.hero h1{font-size:clamp(30px,5vw,48px);line-height:1.15;margin:0 0 14px}
.hero h1 em{color:var(--gold);font-style:normal}
.hero p{max-width:600px;color:#cfd8e8;font-size:18px}
.hero .subline{font-size:20px;font-weight:600;color:var(--gold);margin:0 0 12px}
.hero .cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:44px}
.stats div{background:#ffffff12;border-radius:10px;padding:14px;text-align:center}
.stats b{display:block;font-size:clamp(16px,4.5vw,22px);color:var(--gold);overflow-wrap:anywhere}
section{padding:56px 0}
h2{font-size:28px;margin:0 0 6px;color:var(--navy)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) h2{color:#fff}}
:root[data-theme="dark"] h2{color:#fff}
h2+p{color:var(--muted);margin:0 0 28px}
h2::after{content:"";display:block;width:48px;height:3px;background:var(--gold);margin-top:8px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px}
.card h3{margin:0 0 6px;font-size:18px}
.card p{margin:0;color:var(--muted);font-size:14.5px}
.tag{display:inline-block;font-size:12px;font-weight:700;color:var(--navy);background:var(--gold);border-radius:20px;padding:2px 10px;margin-bottom:10px}
.card ul{margin:10px 0 0;padding-left:18px;color:var(--muted);font-size:14px}
.band{background:var(--card);border-block:1px solid var(--line)}
.steps{counter-reset:s}
.steps .card{position:relative;padding-top:42px}
.steps .card::before{counter-increment:s;content:counter(s);position:absolute;top:-14px;left:18px;width:34px;height:34px;border-radius:50%;background:var(--navy);color:var(--gold);display:grid;place-items:center;font-weight:800}
.levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:14px}
form{display:grid;gap:12px;max-width:560px}
label{font-size:14px;font-weight:600}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);font:inherit}
.two{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.two{grid-template-columns:1fr}}
#msg{font-size:14px;color:var(--muted)}
footer{background:var(--navy);color:#cfd8e8;padding:32px 0 calc(32px + env(safe-area-inset-bottom,0px));font-size:14px}
footer b{color:var(--gold)}
.wa{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));background:#25d366;color:#fff;text-decoration:none;font-weight:700;padding:12px 18px;border-radius:30px;box-shadow:0 4px 14px #0004}

details.card{padding:0}details.card summary{cursor:pointer;padding:16px 20px;font-weight:700;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:8px}
details.card .in{padding:0 20px 18px;color:var(--muted);font-size:14.5px}.in ul{padding-left:18px}.meta{display:flex;gap:16px;flex-wrap:wrap;margin:10px 0;font-weight:600;color:var(--text)}
.opt{display:block;width:100%;text-align:left;margin:6px 0;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--text);cursor:pointer;font:inherit}.opt:hover{border-color:var(--gold)}
.path{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 22px;font-weight:700}.path span{background:var(--navy);color:#fff;padding:6px 14px;border-radius:20px}.path i{color:var(--gold);font-style:normal}
.soon .tag{background:var(--line);color:#2f3a4f}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .soon .tag{color:#d3dcee}}
:root[data-theme="dark"] .soon .tag{color:#d3dcee}

nav ul a.active{color:var(--gold)}.menu-btn{display:none;background:none;border:0;color:#fff;cursor:pointer;padding:6px;line-height:0}
@media(max-width:900px){nav ul{display:none;position:absolute;top:calc(60px + env(safe-area-inset-top,0px));left:0;right:0;flex-direction:column;background:var(--navy);padding:14px 20px;gap:12px;border-top:1px solid #ffffff22}nav ul.open{display:flex}.menu-btn{display:block}.nav-cta{display:none}.nav-cta-m{display:block}}
.pagehead{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;padding:42px 0}.pagehead h1{margin:0 0 6px;font-size:clamp(28px,4vw,38px)}.pagehead p{margin:0;color:#cfd8e8}
.crumb{font-size:13px;color:#9fb0cc;margin-bottom:8px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--gold)}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:28px}footer a{text-decoration:none}footer a:hover{color:var(--gold)}footer h4{color:#fff;margin:0 0 8px}footer p{margin:4px 0}
.ctaband{background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff;text-align:center;padding:48px 0}.ctaband h2{color:#fff}.ctaband h2::after{margin:8px auto 0}.ctaband p{color:#cfd8e8;margin:0 0 18px}

.ph{margin:18px 0 4px;color:var(--text);font-size:15px}.mods{list-style:none;padding:0;margin:0}.mods li{padding:8px 0;border-top:1px solid var(--line)}.mods b{display:block;color:var(--text);font-size:14.5px}.mods span{display:block;font-size:13.5px}

/* accordion (A) */
details.card summary::-webkit-details-marker{display:none}
details.card summary>span:first-child{flex:1}
details.card summary .tag{pointer-events:none;margin-bottom:0}
details.card summary::after{content:"+";font-size:22px;line-height:1;font-weight:700;flex:none;width:22px;text-align:center}
details.card[open] summary::after{content:"\2212"}
#cl,.s-faq .grid{align-items:start}
.pdesc{font-style:italic;margin:0 0 6px}
.acr{margin:0 0 8px;font-size:15px;color:var(--text)}
/* accessibility (F) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.req{color:#b42318;margin-left:2px}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .req{color:#ff9b8f}}
:root[data-theme="dark"] .req{color:#ff9b8f}
/* mobile menu CTA (G) */
.nav-cta-m{display:none}
nav ul .btn{color:var(--navy)}
nav ul .btn:hover{color:var(--navy)}
/* crash courses on home */
.crash{background:var(--card);border-block:1px solid var(--line);padding:48px 0}
.cc{border-top:4px solid var(--gold);display:flex;flex-direction:column;gap:8px}
.cc .btn{align-self:flex-start;margin-top:auto}
.ccnote{margin:16px 0 0;font-size:14px;color:var(--muted)}

/* portal */
nav ul a.pill{color:#fff;border:1.5px solid var(--gold);border-radius:20px;padding:3px 12px}
nav ul a.pill:hover,nav ul a.pill.active{background:var(--gold);color:var(--navy)}
.pnote{font-size:14px;color:var(--muted)}.pnote.ok{color:#127a3f}.pnote.err{color:#b42318}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .pnote.ok{color:#5be39a}:root:not([data-theme="light"]) .pnote.err{color:#ff9b8f}}
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.tabs button{padding:9px 16px;border-radius:20px;border:1.5px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-weight:600;cursor:pointer}
.tabs button.on{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.panel{display:none}.panel.on{display:block}
.tblwrap{overflow-x:auto;margin:8px 0 16px}.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl th,.tbl td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.tbl th{color:var(--muted);font-weight:600}
.btn.sm{padding:5px 12px;font-size:13px}.btn.alt2{background:transparent;color:var(--text);border:1.5px solid var(--line)}
.pcard{margin-bottom:18px}.pcard h4{margin:18px 0 4px}
.roles{display:grid;gap:8px}.roles label{display:flex;gap:8px;align-items:center;font-weight:600}.roles input{width:auto}
.authbox{max-width:480px}.hrow{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:0 0 18px}
