:root{--cream:#f7f9ff;--bg-1:#f5f8ff;--bg-2:#ebf1ff;--card:#fff;--ink:#0b1230;--line:#0b1230;--blue:#2f6bff;--blue-bright:#4c86ff;--blue-deep:#1b47b8;--spark:#2fb8a6;--red:#e4392e;--green:#0fa968;--amber:#c97a12;--muted:#7583b3;--panel:#eef3ff;--border-w:1.5px;--halftone:#0b123014;--focus-border:var(--blue-bright);--focus-glow:0 0 0 3px color-mix(in srgb, var(--blue-bright) 30%, transparent), 0 0 16px 2px color-mix(in srgb, var(--spark) 22%, transparent);--focus-lift:brightness(1.14)}:root[data-theme=dark]{--cream:#0a1230;--bg-1:#0a1230;--bg-2:#060a1c;--card:#101b42;--ink:#eaf0ff;--line:#eaf0ff;--blue:#2f6bff;--blue-bright:#5b8cff;--blue-deep:#1b47b8;--spark:#5eead4;--red:#ff5b4d;--green:#34d399;--amber:#ffb648;--muted:#8291bf;--panel:#16255a;--border-w:1.5px;--halftone:#eaf0ff1a}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{color:var(--ink);background:radial-gradient(circle, var(--halftone) 1.6px, transparent 1.6px) 0 0/14px 14px, linear-gradient(180deg, var(--bg-1) 0%, var(--bg-2) 100%);background-color:var(--cream);-webkit-font-smoothing:antialiased;font-family:Manrope,sans-serif;line-height:1.5;transition:background-color .2s,color .2s}h1,h2,h3{letter-spacing:-.01em;font-family:Bricolage Grotesque,sans-serif;font-weight:800;line-height:1.05}.eyebrow{letter-spacing:.07em;text-transform:uppercase;font-family:JetBrains Mono,monospace;font-size:12.5px;font-weight:700}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}img,svg{display:block}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.nav{background:var(--cream);border-bottom:var(--border-w) solid var(--line);z-index:100;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:16px 32px;display:flex}.logo{align-items:center;gap:9px;font-family:Archivo Black,sans-serif;font-size:20px;display:flex}.logo-mark{background:var(--ink);width:32px;height:32px;color:var(--cream);border-radius:8px;justify-content:center;align-items:center;font-size:14px;display:flex}.nav-links{gap:30px;font-size:14.5px;font-weight:600;display:flex}.nav-links a{border-bottom:2px solid #0000;padding:6px 2px}.nav-links a:hover{border-bottom-color:var(--ink)}.nav-cta{background:var(--blue);color:#fff;border:var(--border-w) solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:10px;padding:10px 20px;font-size:14px;font-weight:700}.nav-cta:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.nav-toggle{cursor:pointer;background:0 0;border:none;display:none}.nav-toggle span,.nav-toggle span:before,.nav-toggle span:after{background:var(--ink);border-radius:2px;width:22px;height:2.5px;display:block;position:relative}.nav-toggle span:before,.nav-toggle span:after{content:"";position:absolute}.nav-toggle span:before{top:-7px}.nav-toggle span:after{top:7px}@media (max-width:860px){.nav-links{display:none}.nav-toggle{display:block}}.hero{padding:48px 32px 90px}.hero-frame{border:var(--border-w) solid var(--line);background:var(--ink);border-radius:28px;max-width:1200px;margin:0 auto;position:relative;overflow:hidden}.hero-photo{object-fit:cover;filter:saturate(.92)contrast(1.03);width:100%;height:clamp(420px,62vw,620px);display:block}.hero-scrim{background:linear-gradient(75deg,#14171ce0 0%,#14171c8c 42%,#14171c0d 68%);position:absolute;inset:0}.hero-content{flex-direction:column;justify-content:center;max-width:640px;padding:0 52px;display:flex;position:absolute;inset:0}.hero-badge{background:var(--amber);color:var(--ink);border:2px solid var(--ink);border-radius:999px;align-items:center;gap:8px;width:fit-content;margin-bottom:24px;padding:7px 16px;font-family:Space Mono,monospace;font-size:12px;font-weight:700;display:inline-flex}.hero h1{color:#fff;margin-bottom:20px;font-size:clamp(36px,5vw,58px)}.hero p.sub{color:#ffffffd1;max-width:460px;margin-bottom:34px;font-size:clamp(15px,1.6vw,18px);font-weight:500}.cta-row{flex-wrap:wrap;gap:14px;display:flex}.btn{border:var(--border-w) solid var(--ink);border-radius:12px;align-items:center;gap:8px;padding:15px 28px;font-size:15.5px;font-weight:700;transition:transform .12s,box-shadow .12s;display:inline-flex}.btn-primary{background:var(--blue);color:#fff;box-shadow:4px 4px #14171c}.btn-primary:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #14171c}.btn-white{background:var(--card);color:var(--ink);box-shadow:4px 4px #ffffff4d}.btn-white:hover{transform:translate(-2px,-2px)}.hero-cards{flex-direction:column;gap:16px;display:flex;position:absolute;top:50%;right:44px;transform:translateY(-50%)}.qcard{border:var(--border-w) solid var(--ink);background:#fff;border-radius:18px;width:216px;padding:18px 20px;position:relative;box-shadow:5px 5px #14171cb3}.qcard-tag{border:2px solid var(--ink);border-radius:999px;padding:4px 10px;font-family:Space Mono,monospace;font-size:10.5px;font-weight:700;position:absolute;top:-12px;left:16px}.qcard-tag.best{background:var(--green);color:#06301c}.qcard-tag.new{background:var(--red);color:#fff}.qplate{border:2.5px solid;border-radius:9px;justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:12px;font-family:Archivo Black,sans-serif;font-size:18px;display:flex}.qplate.l{border-color:var(--red);color:var(--red)}.qplate.p{border-color:var(--green);color:var(--green)}.qcard h4{margin-bottom:4px;font-family:Archivo,sans-serif;font-size:14.5px;font-weight:800}.qcard p{color:var(--muted);margin-bottom:14px;font-size:12.5px}.qcard-btn{text-align:center;background:var(--ink);color:#fff;border-radius:9px;padding:9px;font-size:12.5px;font-weight:700;display:block}.qcard-btn:hover{background:var(--blue)}@media (max-width:980px){.hero-cards{display:none}.hero-content{max-width:100%;padding:0 32px}}@media (max-width:600px){.hero-photo{height:520px}.cta-row{flex-direction:column}.btn{justify-content:center}}.colour-section{padding:0 32px 100px}.colour-grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:24px;max-width:1200px;margin:0 auto;display:grid}.colour-block{background:var(--blue);border:var(--border-w) solid var(--line);color:#fff;border-radius:26px;flex-direction:column;justify-content:space-between;padding:48px 44px;display:flex}.colour-block h2{color:#fff;margin-bottom:18px;font-size:clamp(34px,4.4vw,52px)}.colour-block .media{border:var(--border-w) solid var(--ink);aspect-ratio:16/10;border-radius:16px;margin:22px 0 26px;overflow:hidden}.colour-block .media img{object-fit:cover;width:100%;height:100%}.colour-block p.desc{color:#ffffffd9;max-width:380px;margin-bottom:24px;font-size:15px}.how-panel{background:var(--card);border:var(--border-w) solid var(--line);border-radius:26px;padding:44px 40px}.how-panel h3{margin-bottom:32px;font-size:clamp(24px,3vw,30px)}.how-step{align-items:flex-start;gap:20px;margin-bottom:30px;display:flex}.how-step:last-child{margin-bottom:0}.step-icon{flex-shrink:0;width:56px;height:56px;position:relative}.step-sticker{background:var(--amber);color:var(--ink);border:2px solid var(--ink);z-index:2;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;display:flex;position:absolute;top:-8px;left:-8px}.step-box{border:2.5px solid var(--ink);background:var(--cream);border-radius:14px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.how-step h4{margin-bottom:5px;font-family:Archivo,sans-serif;font-size:16px;font-weight:800}.how-step p{color:var(--muted);font-size:14px}@media (max-width:900px){.colour-grid{grid-template-columns:1fr}}.features{padding:0 32px 110px}.section-head{text-align:center;max-width:620px;margin:0 auto 56px}.section-head .eyebrow{color:var(--blue);margin-bottom:12px;display:block}.section-head h2{font-size:clamp(28px,4vw,40px)}.section-head p{color:var(--muted);margin-top:12px;font-size:16px}.feature-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;display:grid}.feature-card{border:var(--border-w) solid var(--line);background:var(--card);border-radius:20px;padding:28px 24px;transition:transform .15s,box-shadow .15s}.feature-card:hover{box-shadow:5px 5px 0 var(--ink);transform:translateY(-4px)}.feature-icon{border:2.5px solid var(--line);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:18px;display:flex}.feature-icon.blue-tint{background:#e6ecff}.feature-icon.red-tint{background:#fde4e1}.feature-icon.green-tint{background:#def3e8}.feature-card h3{margin-bottom:9px;font-family:Archivo,sans-serif;font-size:17.5px;font-weight:800}.feature-card p{color:var(--muted);font-size:14.5px}@media (max-width:900px){.feature-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){.feature-grid{grid-template-columns:1fr}}.stats{background:var(--ink);padding:76px 32px}.stats-grid{text-align:center;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1100px;margin:0 auto;display:grid}.stat-num{margin-bottom:6px;font-family:Archivo Black,sans-serif;font-size:clamp(30px,5vw,46px)}.stat-num.blue{color:#5b8cff}.stat-num.red{color:#ff7a6d}.stat-num.green{color:#5fe3a4}.stat-num.amber{color:var(--amber)}.stat-label{color:#ffffffa6;font-size:13px;font-weight:600}@media (max-width:760px){.stats-grid{grid-template-columns:1fr 1fr;row-gap:36px}}.instructor-strip{background:var(--ink);padding:64px 32px}.instructor-strip-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;max-width:1200px;margin:0 auto;display:flex}.instructor-strip h2{color:#fff;margin-bottom:12px;font-size:clamp(26px,3.6vw,38px)}.instructor-strip p{color:#ffffffb3;max-width:480px;font-size:15px}@media (max-width:760px){.instructor-strip-inner{flex-direction:column;align-items:flex-start}}.testimonials{padding:100px 32px}.test-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:1200px;margin:0 auto;display:grid}.test-card{background:var(--card);border:var(--border-w) solid var(--ink);border-radius:20px;padding:26px}.test-stars{color:var(--amber);letter-spacing:2px;margin-bottom:14px;font-size:15px}.test-quote{margin-bottom:20px;font-size:14.5px}.test-person{align-items:center;gap:12px;display:flex}.avatar{border:2.5px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:38px;height:38px;font-family:Archivo Black,sans-serif;font-size:13px;display:flex}.test-name{font-size:13.5px;font-weight:700}.test-meta{color:var(--muted);font-size:12px}@media (max-width:900px){.test-grid{grid-template-columns:1fr}}.faq{padding:0 32px 110px}.faq-list{max-width:760px;margin:0 auto}.faq-list details{border:var(--border-w) solid var(--line);background:var(--card);border-radius:16px;margin-bottom:14px;padding:22px 26px}.faq-list summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;font-size:16px;font-weight:800;list-style:none;display:flex}.faq-list summary::-webkit-details-marker{display:none}.faq-plus{border:2.5px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-family:Space Mono,monospace;font-size:15px;display:flex}.faq-list details[open] .faq-plus{background:var(--amber)}.faq-list details p{color:var(--muted);margin-top:15px;font-size:14.5px}.final-cta{background:var(--blue);text-align:center;border:var(--border-w) solid var(--ink);border-radius:28px;margin:0 32px 32px;padding:84px 32px}.final-cta h2{color:#fff;max-width:620px;margin:0 auto 16px;font-size:clamp(30px,5vw,46px)}.final-cta p{color:#ffffffd9;margin-bottom:32px;font-size:16px;font-weight:500}.final-cta .cta-row{justify-content:center}footer{padding:20px 32px 40px}.footer-inner{background:var(--ink);color:#ffffffa6;border-radius:26px;max-width:1200px;margin:0 auto;padding:56px 44px 28px}.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;display:grid}.footer-logo{color:#fff;align-items:center;gap:9px;margin-bottom:12px;font-family:Archivo Black,sans-serif;font-size:18px;display:flex}footer h4{color:#fff;text-transform:uppercase;letter-spacing:.06em;margin-bottom:15px;font-family:Space Mono,monospace;font-size:12.5px}footer ul{list-style:none}footer li{margin-bottom:9px;font-size:13.5px}footer li a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff24;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:24px;font-size:12.5px;display:flex}.auth-page{background:var(--card);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:48px 20px;display:flex}:root[data-theme=light] .auth-page{background:radial-gradient(1300px 800px at 88% -12%, #2f6bff80, #5b8cff29 42%, transparent 60%), var(--card)}.auth-logo{color:var(--ink);align-items:center;gap:9px;margin-bottom:28px;text-decoration:none;display:flex}.auth-form-panel{background:var(--card);border:1px solid var(--panel);border-radius:20px;width:100%;max-width:420px;padding:36px 34px 32px;position:relative;box-shadow:0 30px 70px -30px #00000059}.auth-theme-toggle{background:var(--panel);border:1px solid var(--panel);width:34px;height:34px;color:var(--ink);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;display:flex;position:fixed;top:24px;right:24px}.auth-theme-toggle:hover{border-color:var(--blue);color:var(--blue)}.auth-form-inner{width:100%}.auth-password-wrap{margin-bottom:18px;position:relative}.auth-password-wrap .auth-input{margin-bottom:0;padding-right:44px}.auth-eye-btn{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-eye-btn:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 6%, transparent)}.auth-field-note{margin:-12px 0 18px;font-size:11.5px;font-weight:700}.auth-field-note.ok{color:var(--green)}.auth-field-note.bad{color:var(--red)}.auth-tabs{background:var(--panel);border:1px solid var(--panel);border-radius:12px;gap:4px;margin-bottom:28px;padding:4px;display:flex}.auth-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;padding:10px 0;font-size:14px;font-weight:600;transition:background .15s,color .15s}.auth-tab.active{background:var(--blue);color:#fff}.auth-eyebrow{margin-bottom:8px;display:block}.auth-title{color:var(--ink);margin:0 0 6px;font-size:26px}.auth-subtext{color:#6b7280;margin:0 0 24px;font-size:14.5px}.auth-badge-inline{margin-bottom:16px;display:inline-block}.auth-error{border:1px solid var(--red);color:#8a1f17;background:#fde4e1;border-radius:10px;margin:4px 0 16px;padding:10px 14px;font-size:13.5px;font-weight:600}.auth-form{flex-direction:column;margin-top:20px;display:flex}.auth-form-row{grid-template-columns:1fr 1fr;gap:14px;display:grid}.auth-field{flex-direction:column;display:flex}.auth-label{color:var(--ink);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.auth-label-row{justify-content:space-between;align-items:baseline;display:flex}.auth-inline-link{color:var(--blue);font-size:12.5px;font-weight:600;text-decoration:none}.auth-inline-link:hover{text-decoration:underline}.auth-input{background:var(--card);width:100%;color:var(--ink);box-sizing:border-box;border:1px solid #e2e4e9;border-radius:10px;margin-bottom:18px;padding:12px 14px;font-size:14.5px;transition:border-color .15s,box-shadow .15s,filter .15s;display:block}.auth-input:focus{border-color:var(--focus-border);box-shadow:var(--focus-glow);filter:var(--focus-lift);outline:none}.auth-input::placeholder{color:#9aa0ac}.auth-submit{width:100%;margin-top:4px;box-shadow:0 10px 24px -10px #00000059}.auth-checkbox-row{color:#6b7280;cursor:pointer;align-items:flex-start;gap:8px;margin:2px 0 16px;font-size:13px;line-height:1.5;display:flex}.auth-checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--blue);flex-shrink:0;margin-top:3px}.auth-checkbox-row a{color:var(--blue);font-weight:600;text-decoration:none}.auth-checkbox-row a:hover{text-decoration:underline}.auth-switch{text-align:center;color:#6b7280;margin:20px 0 0;font-size:13.5px}.auth-link-btn{font:inherit;color:var(--blue);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.auth-link-btn:hover{text-decoration:underline}.auth-instructor-banner{border:2px dashed var(--amber);background:#fffaeb;border-radius:12px;align-items:center;gap:12px;margin-top:32px;padding:14px 16px;display:flex}.auth-instructor-sticker{background:var(--amber);color:var(--ink);flex-shrink:0}.auth-instructor-banner p{color:#6b4e00;margin:0;font-size:13.5px}.auth-instructor-link{color:var(--ink);font-weight:700;text-decoration:underline}@media (max-width:900px){.auth-frame{grid-template-columns:1fr}.auth-brand{display:none}.auth-form-panel{padding:36px 24px}}.dashboard-page{background:var(--cream);min-height:100vh}.dashboard-signout{box-shadow:3px 3px 0 var(--ink);padding:10px 20px}.dashboard-hero{text-align:center;max-width:720px;margin:0 auto;padding:120px 32px}.dashboard-badge{margin:0 auto 24px}.dashboard-title{margin-bottom:16px;font-size:clamp(32px,5vw,48px)}.dashboard-sub{color:var(--muted);max-width:480px;margin:0 auto;font-size:16px}.onboarding-page{--ink:#eaf0ff;--muted:#93a5de;--line:#eaf0ff24;--blue:#2f6bff;--blue-bright:#5b8cff;--blue-deep:#1b47b8;--spark:#5eead4;--amber:#ffb648;--card:#101b42;--panel:#ffffff0d;background:radial-gradient(760px 420px at 14% -8%,#5eead429,#0000 60%),radial-gradient(900px 620px at 88% 4%,#2f6bff52,#0000 55%),linear-gradient(178deg,#0a1230 0%,#132b6b 62%,#0c1b4a 100%);justify-content:center;align-items:center;min-height:100vh;padding:48px 24px;display:flex}.onboarding-card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--line);background:#101b428c;border-radius:22px;width:100%;max-width:640px;padding:38px 40px 34px;box-shadow:0 30px 70px -30px #0009}.onboarding-logo{margin-bottom:24px;display:flex}.onboarding-logo .logo-mark{background:linear-gradient(135deg, var(--blue-bright), var(--spark));color:#071018}.onboarding-progress{align-items:center;gap:6px;margin-bottom:24px;display:flex}.onboarding-step-dot{border:1.5px solid var(--line);width:24px;height:24px;color:var(--muted);background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:IBM Plex Sans,monospace;font-size:10.5px;font-weight:700;display:flex}.onboarding-step-dot.active{background:var(--blue);border-color:var(--blue);color:#fff}.onboarding-step-dot.done{background:var(--spark);border-color:var(--spark);color:#04140d}.onboarding-step-line.done{background:var(--spark);opacity:1}.onboarding-step-line{background:var(--line);opacity:1;flex:1;min-width:8px;height:1.5px}.onboarding-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2393A5DE' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;width:100%;padding-right:40px}.onboarding-page .auth-input{border-color:var(--line);background:#ffffff0d}.onboarding-btn-row{gap:12px;margin-top:8px;display:flex}.onboarding-btn-row .btn{flex:1;justify-content:center}.field-error{color:var(--red);margin:-12px 0 16px;font-size:12.5px;font-weight:600}.field-hint{color:var(--muted);margin:-12px 0 18px;font-size:12.5px}.onboarding-question-block{margin:0 0 22px}.onboarding-question{color:var(--ink);margin:0 0 10px;font-size:16.5px;font-weight:800}.onboarding-yesno{gap:10px;display:flex}.onboarding-subfields{border:1.5px solid var(--line);background:var(--panel);border-radius:12px;margin:12px 0 0;padding:16px}.onboarding-subfields .auth-input{margin-bottom:14px}.onboarding-subfields .auth-input:last-child{margin-bottom:0}.onboarding-centre-selected{justify-content:space-between;align-items:center;gap:12px;display:flex}.onboarding-centre-change{color:var(--blue);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0;font-size:13px;font-weight:700}.onboarding-centre-results{z-index:10;background:var(--card);border:1.5px solid var(--line);border-radius:10px;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 24px -12px #0000004d}.onboarding-centre-result{text-align:left;cursor:pointer;width:100%;color:var(--ink);background:0 0;border:none;padding:10px 14px;font-size:13.5px;display:block}.onboarding-centre-result:hover{background:var(--panel)}.onboarding-centre-empty{color:var(--muted);padding:10px 14px;font-size:13px}.onboarding-gate-tiles{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px;display:grid}@media (max-width:620px){.onboarding-gate-tiles{grid-template-columns:1fr}}.onboarding-tile{appearance:none;background:var(--line);cursor:pointer;text-align:left;font:inherit;color:inherit;border:none;border-radius:16px;padding:2px;transition:background .15s}.onboarding-tile:disabled{cursor:not-allowed;opacity:.7}.onboarding-tile.selected{background:linear-gradient(135deg, var(--blue-bright), var(--spark))}.onboarding-tile:focus-visible{box-shadow:var(--focus-glow);outline:none}.onboarding-tile-inner{background:#0c1638;border-radius:14px;height:100%;padding:18px 15px}.onboarding-tile-badge{color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:12px;display:flex}.onboarding-tile-badge.learn{background:linear-gradient(135deg, var(--blue), var(--blue-bright))}.onboarding-tile-badge.teach{background:linear-gradient(135deg, #1b2f73, var(--blue-deep))}.onboarding-tile-badge.soon{border:1.5px dashed color-mix(in srgb, var(--amber) 65%, transparent);color:var(--amber);background:0 0}.onboarding-tile-inner h3{margin:0 0 6px;font-size:14px;font-weight:800}.onboarding-tile-inner p{color:var(--muted);margin:0;font-size:11.5px;line-height:1.5}.onboarding-tile[data-soon] .onboarding-tile-inner p{color:color-mix(in srgb, var(--amber) 80%, var(--muted))}.onboarding-split{grid-template-columns:1.1fr .9fr;align-items:start;gap:22px;display:grid}@media (max-width:600px){.onboarding-split{grid-template-columns:1fr}}.onboarding-preview{border:1px solid var(--line);background:#ffffff08;border-radius:14px;padding:18px}.onboarding-preview-label{letter-spacing:.08em;text-transform:uppercase;color:var(--spark);margin-bottom:10px;font-family:JetBrains Mono,monospace;font-size:10px}.onboarding-preview-row{border-bottom:1px dashed var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;font-size:13px;display:flex}.onboarding-preview-row:last-child{border-bottom:none}.onboarding-preview-row .k{color:var(--muted);flex-shrink:0}.onboarding-preview-row .v{text-align:right;font-weight:600}.onboarding-soon-icon{border:1.5px dashed color-mix(in srgb, var(--amber) 65%, transparent);width:56px;height:56px;color:var(--amber);border-radius:16px;justify-content:center;align-items:center;margin:20px auto;display:flex}.postcode-status{color:#6b7280;margin:-12px 0 16px;font-size:12.5px;font-weight:600}.postcode-status.valid{color:#1fa463}.postcode-status.invalid{color:var(--red)}.yesno-group{gap:8px;margin-bottom:20px;display:flex}.yesno-btn{border:2px solid var(--ink);background:var(--card);color:var(--ink);cursor:pointer;box-shadow:none;border-radius:999px;flex:1;padding:10px 0;font-size:13px;font-weight:800;transition:transform .12s,box-shadow .12s,background .12s,color .12s}.yesno-btn:hover{box-shadow:2px 2px 0 var(--ink);transform:translate(-1.5px,-1.5px)}.yesno-btn.selected.yes{background:var(--amber);color:var(--ink);box-shadow:3px 3px 0 var(--ink)}.yesno-btn.selected.no{background:var(--ink);color:#fff;box-shadow:3px 3px #00000059}.dashboard-page{background:var(--cream);min-height:100vh;padding:48px 0 100px}.dashboard-header{margin-bottom:40px}.dashboard-header h1{margin-bottom:8px;font-family:Archivo Black,sans-serif;font-size:clamp(26px,3.5vw,36px)}.dashboard-subtext{color:var(--muted);font-size:15px}.journey-stepper{background:var(--card);border:var(--border-w) solid var(--line);border-radius:20px;align-items:flex-start;gap:0;margin-bottom:32px;padding:28px 24px 20px;display:flex;overflow-x:auto}.journey-step{flex-direction:column;flex:1;align-items:center;min-width:88px;display:flex}.journey-step-node-wrap{align-items:center;width:100%;display:flex}.journey-step-node{border:2.5px solid var(--muted-light,#c7cad1);background:var(--cream);width:32px;height:32px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin:0 auto;font-family:Space Mono,monospace;font-size:12px;font-weight:700;transition:all .15s;display:flex}.journey-step-node.complete.theory{background:var(--red);border-color:var(--red)}.journey-step-node.complete.practical{background:var(--green);border-color:var(--green)}.journey-step-node.current.theory{border-color:var(--red);color:var(--red);background:#fde4e1}.journey-step-node.current.practical{border-color:var(--green);color:var(--green);background:#def3e8}.journey-step-line{background:var(--line);flex:1;height:3px;margin:0 -4px}.journey-step-line.complete{background:var(--ink)}.journey-step-label{color:var(--muted);text-align:center;margin-top:8px;font-size:11px;font-weight:600}.journey-step-label.current{color:var(--ink);font-weight:800}@media (max-width:760px){.journey-stepper{padding:20px 16px}.journey-step{min-width:72px}.journey-step-label{font-size:10px}}.dashboard-grid{grid-template-columns:1.6fr 1fr;align-items:stretch;gap:24px;margin-bottom:24px;display:grid}@media (max-width:900px){.dashboard-grid{grid-template-columns:1fr}}.next-step-card{border:var(--border-w) solid var(--line);color:#fff;border-radius:26px;flex-direction:column;justify-content:center;padding:44px 40px;display:flex}.next-step-card.theory{background:var(--red)}.next-step-card.practical{background:var(--green)}.next-step-eyebrow{color:#ffffffd9;margin-bottom:14px;display:block}.next-step-title{color:#fff;margin-bottom:14px;font-family:Archivo Black,sans-serif;font-size:clamp(24px,3vw,34px)}.next-step-body{color:#ffffffe6;max-width:440px;margin-bottom:26px;font-size:15px}.next-step-cta{align-self:flex-start}.stage-focus-box{border:var(--border-w) solid var(--line);background:var(--card);border-radius:20px;flex-direction:column;padding:28px 26px;display:flex}.stage-focus-box h4{margin:10px 0;font-family:Archivo,sans-serif;font-size:17px;font-weight:800}.stage-focus-box p{color:var(--muted);margin-bottom:8px;font-size:14px}.stage-focus-score{color:var(--ink)!important}.journey-overview{border:var(--border-w) solid var(--line);background:var(--card);border-radius:20px;padding:36px 40px}.journey-overview-title{margin-bottom:14px;font-family:Archivo Black,sans-serif;font-size:20px}.journey-overview-body{color:var(--muted);max-width:640px;margin-bottom:22px;font-size:15px}.journey-overview-fact{background:var(--cream);border:2px solid var(--line);border-radius:14px;align-items:flex-start;gap:14px;max-width:640px;padding:16px 18px;display:flex}.journey-overview-fact-icon{background:var(--amber);border:2px solid var(--ink);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-family:Space Mono,monospace;font-size:12px;font-weight:700;display:flex}.journey-overview-fact p{color:var(--ink);margin:0;font-size:13.5px}.embedded-fields{border-left:2px solid var(--border,#e5e7eb);margin-top:.5rem;margin-bottom:1rem;padding:.75rem 0 .75rem 1rem}.centre-picker{margin-top:.75rem;position:relative}.centre-search-wrapper{position:relative}.centre-search-results{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:8px;max-height:220px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000014}.centre-search-result{text-align:left;width:100%;color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;padding:.5rem .75rem;display:flex}.centre-search-result:hover{background:var(--panel)}.centre-result-name{font-size:.9rem}.centre-result-meta{color:var(--muted);font-size:.75rem}.centre-search-status{color:var(--muted);padding:.5rem .75rem;font-size:.85rem}.centre-manual-toggle{color:var(--primary,#2563eb);cursor:pointer;background:0 0;border:none;margin-top:.35rem;padding:0;font-size:.8rem;text-decoration:underline}.test-card-grid{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}@media (max-width:760px){.test-card-grid{grid-template-columns:1fr}}.test-card{border:var(--border-w) solid var(--line);background:var(--card);border-radius:20px;padding:26px}.test-card.status-passed{background:#def3e8}.test-card.status-upcoming.theory{background:#fde4e1}.test-card.status-upcoming.practical{background:#fff7e0}.test-card.status-not-booked{background:var(--card)}.test-card-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.test-card-name{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:Space Mono,monospace;font-size:12px;font-weight:700}.status-badge{border:2px solid var(--ink);text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-family:Space Mono,monospace;font-size:11px;font-weight:700;display:inline-flex}.status-badge.passed{background:var(--green);color:#06301c}.status-badge.upcoming{background:var(--amber);color:var(--ink)}.status-badge.not-booked{background:var(--ink);color:#fff}.test-card h3{margin-bottom:8px;font-family:Archivo Black,sans-serif;font-size:19px}.test-card-detail-row{color:var(--muted);align-items:center;gap:8px;margin-top:4px;font-size:13.5px;display:flex}.test-card-detail-row svg{flex-shrink:0}.test-card p.helper{color:var(--muted);margin-top:4px;font-size:13.5px}.test-card .manage-link{text-underline-offset:2px;align-items:center;gap:6px;margin-top:16px;font-size:12.5px;font-weight:700;text-decoration:underline;display:inline-flex}.test-card .btn-small{box-shadow:3px 3px 0 var(--ink);margin-top:16px;padding:10px 18px;font-size:13px}.readiness-card{border:var(--border-w) solid var(--line);background:var(--card);border-radius:20px;margin-bottom:24px;padding:30px 28px}.readiness-eyebrow{align-items:center;gap:8px;margin-bottom:14px;display:flex}.readiness-icon-chip{border:2px solid var(--ink);border-radius:7px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.readiness-icon-chip.theory{background:#fde4e1}.readiness-icon-chip.practical{background:#def3e8}.readiness-card h4{margin-bottom:12px;font-family:Archivo,sans-serif;font-size:18px;font-weight:800}.readiness-track{background:var(--panel);border:2px solid var(--ink);border-radius:999px;height:10px;margin-bottom:12px;overflow:hidden}.readiness-fill{height:100%}.readiness-fill.theory{background:var(--red)}.readiness-fill.practical{background:var(--green)}.readiness-card p,.readiness-empty{color:var(--muted);font-size:14px}.quick-links-card{border:var(--border-w) solid var(--line);background:var(--card);border-radius:20px;padding:30px 28px}.quick-links-card h4{margin-bottom:16px;font-family:Archivo,sans-serif;font-size:16px;font-weight:800}.quick-links{flex-direction:column;gap:10px;display:flex}.quick-link{border:2px solid var(--line);border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:13.5px;font-weight:600;transition:transform .12s,box-shadow .12s;display:flex}.quick-link:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1.5px,-1.5px)}.quick-link-icon{border:2px solid var(--ink);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.overview-links-grid{grid-template-columns:1.6fr 1fr;align-items:start;gap:24px;display:grid}@media (max-width:900px){.overview-links-grid{grid-template-columns:1fr}}.legal-page{background:var(--bg-1);min-height:100vh;color:var(--ink)}.legal-header{padding:24px clamp(20px,6vw,64px)}.legal-body{max-width:680px;margin:0 auto;padding:8px clamp(20px,6vw,64px) 80px;font-size:15px;line-height:1.7}.legal-body h1{margin:12px 0 4px;font-size:30px}.legal-body h2{margin:32px 0 8px;font-size:18px}.legal-body p,.legal-body ul{color:var(--muted);margin:0 0 14px}.legal-body ul{padding-left:20px}.legal-body li{margin-bottom:6px}.legal-body a{color:var(--blue-bright)}.legal-updated{color:var(--muted);margin-bottom:28px;font-size:13px}.legal-footnote{border-top:1px solid var(--panel);margin-top:40px;padding-top:20px}.auth-page.auth-page{--card:#fff;--ink:#0b0c0c;--panel:#f3f2f1;--blue:#1d70b8;--blue-bright:#1d70b8;--red:#d4351c;--green:#00703c;--muted:#505a5f;--focus-border:#0b0c0c;--focus-glow:0 0 0 3px #fd0;--focus-lift:none;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#0b0c0c;background:#fff;justify-content:flex-start;align-items:stretch;padding:0;font-family:GDS Transport,Arial,Helvetica Neue,Helvetica,sans-serif;font-size:19px;line-height:1.32}.auth-page *,.auth-page :before,.auth-page :after{font-family:inherit;border-radius:0!important}.auth-page :not(:focus){box-shadow:none}.auth-page .auth-theme-toggle{display:none}.auth-page .auth-logo{color:#fff;letter-spacing:-.5px;background:#0b0c0c;border-bottom:10px solid #1d70b8;gap:0;margin:0;padding:10px 20px;font-size:1.875rem;font-weight:700}.auth-page .logo-mark{display:none}.auth-page .auth-form-panel{width:100%;max-width:640px;box-shadow:none;background:0 0;border:0;margin:40px auto 60px;padding:0 20px}.auth-page .auth-tabs{background:0 0;border:0;border-bottom:1px solid #b1b4b6;gap:5px;margin-bottom:30px;padding:0}.auth-page .auth-tab{color:#1d70b8;text-underline-offset:.15em;background:#f3f2f1;flex:none;margin-top:5px;padding:10px 20px;font-size:1.1875rem;font-weight:400;text-decoration:underline}.auth-page .auth-tab.active{color:#0b0c0c;background:#fff;border:1px solid #b1b4b6;border-bottom:0;margin-top:0;margin-bottom:-1px;padding:14px 19px 16px;text-decoration:none}.auth-page .auth-eyebrow{color:#505a5f;text-transform:none;letter-spacing:0;font-size:1.5rem;font-weight:400}.auth-page .auth-title{letter-spacing:0;margin:0 0 20px;font-size:2.5rem;font-weight:700;line-height:1.1}.auth-page .auth-subtext{color:#0b0c0c;margin-bottom:30px;font-size:1.1875rem}.auth-page .auth-badge-inline{color:#144e81;text-transform:uppercase;letter-spacing:1px;background:#bbd4ea;border:0;margin-bottom:15px;padding:2px 8px 3px;font-size:1rem;font-weight:700;display:inline-block}.auth-page .auth-label{color:#0b0c0c;margin-bottom:5px;font-size:1.1875rem;font-weight:700}.auth-page .auth-input{background:#fff;border:2px solid #0b0c0c;min-height:40px;margin-bottom:25px;padding:5px 8px;font-size:1.1875rem}.auth-page .auth-input:focus{outline-offset:0;filter:none;border-color:#0b0c0c;outline:3px solid #fd0;box-shadow:inset 0 0 0 2px #0b0c0c}.auth-page .auth-input::placeholder{color:#505a5f}.auth-page .auth-inline-link,.auth-page .auth-link-btn,.auth-page .auth-checkbox-row a,.auth-page .auth-instructor-link{color:#1d70b8;text-underline-offset:.1578em;background:0 0;font-weight:400;text-decoration:underline}.auth-page .auth-inline-link:hover,.auth-page .auth-link-btn:hover,.auth-page .auth-checkbox-row a:hover{color:#003078}.auth-page a:focus,.auth-page button:focus{color:#0b0c0c;background-color:#fd0;outline:3px solid #0000;text-decoration:none;box-shadow:0 -2px #fd0,0 4px #0b0c0c}.auth-page .btn,.auth-page .btn-primary,.auth-page .auth-submit{color:#fff;background:#00703c;border:2px solid #0000;justify-content:center;width:auto;padding:9px 12px 8px;font-size:1.1875rem;font-weight:400;line-height:1;transform:none;box-shadow:0 2px #002d18}.auth-page .btn:hover,.auth-page .auth-submit:hover{background:#005a30;transform:none}.auth-page .auth-error{color:#d4351c;background:0 0;border:0;border-left:5px solid #d4351c;padding:0 0 0 15px;font-weight:700}.auth-page .auth-field-note.ok{color:#00703c}.auth-page .auth-field-note.bad{color:#d4351c}.auth-page .auth-eye-btn{color:#0b0c0c}.auth-page .auth-checkbox-row input[type=checkbox]{accent-color:#0b0c0c;width:24px;height:24px}.auth-page .auth-switch{color:#0b0c0c;margin-top:30px;font-size:1.1875rem}:root[data-theme] .auth-page.auth-page{background:#fff}.auth-page .auth-form{align-items:flex-start}.auth-page .auth-form .auth-input,.auth-page .auth-form .auth-password-wrap{width:100%}.auth-page .auth-inline-link{font-size:1rem}.auth-page .auth-submit{opacity:1;filter:none;align-self:flex-start}
