:root { color-scheme:dark; --bg:#0b0c0e; --surface:#15171a; --elevated:#1c1f24; --text:#f4f1eb; --muted:#a6a8ad; --accent:#d8a84e; --line:rgba(255,255,255,.12); --line-strong:rgba(255,255,255,.22); }
* { box-sizing:border-box; }
html { background:var(--bg); scroll-behavior:smooth; }
body { min-width:320px; margin:0; color:var(--text); background:var(--bg); font-family:Inter,Arial,"Helvetica Neue",sans-serif; font-size:16px; }
button,input { font:inherit; }
a,button,input { touch-action:manipulation; }
a:focus-visible,button:focus-visible,input:focus-visible { outline:3px solid var(--accent); outline-offset:3px; }
[hidden] { display:none!important; }
.skip-link { position:fixed; z-index:20; top:10px; left:10px; padding:10px 14px; color:var(--bg); background:var(--accent); transform:translateY(-160%); }
.skip-link:focus { transform:translateY(0); }
.course-topbar { position:sticky; z-index:10; top:0; display:grid; min-height:58px; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 28px; background:rgba(11,12,14,.96); border-bottom:1px solid var(--line); }
.course-brand { width:fit-content; color:var(--text); font-size:15px; font-weight:700; letter-spacing:-.04em; text-decoration:none; }
.course-topbar>span { color:var(--muted); font-size:12px; font-weight:500; }
.course-menu-link { justify-self:end; padding:8px 0; color:var(--text); border-bottom:1px solid var(--accent); font-size:12px; font-weight:600; text-decoration:none; }
.access-layout { display:grid; min-height:calc(100dvh - 58px); grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr); }
.access-story { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(56px,8vw,110px) clamp(28px,7vw,96px); background:radial-gradient(circle at 70% 42%,rgba(216,168,78,.065),transparent 24%),var(--bg); }
.course-kicker { margin:0 0 15px; color:var(--accent); font-size:11px; font-weight:650; }
.access-story h1,.invalid-access h1 { max-width:760px; margin:0; font-size:clamp(2.8rem,5.4vw,5.3rem); font-weight:650; line-height:.98; letter-spacing:-.065em; }
.course-lede { max-width:570px; margin:25px 0 0; color:var(--muted); font-size:16px; line-height:1.6; }
.course-sequence { max-width:980px; margin-top:40px; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.course-sequence ol { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); margin:0; padding:0; list-style:none; }
.course-sequence li { position:relative; min-width:0; min-height:48px; padding:5px 28px 5px 16px; }
.course-sequence li:first-child { padding-left:0; }
.course-sequence li+li { border-left:1px solid var(--line); }
.course-sequence li:not(:last-child)::after { position:absolute; z-index:1; top:50%; right:-8px; display:grid; width:16px; height:16px; place-items:center; color:var(--accent); background:var(--bg); content:"→"; font-size:14px; font-weight:650; line-height:1; transform:translateY(-50%); }
.course-sequence strong,.course-sequence span { display:block; white-space:nowrap; }
.course-sequence strong { color:var(--text); font-size:14px; font-weight:700; line-height:1.25; }
.course-sequence span { margin-top:6px; color:var(--muted); font-size:11px; font-weight:500; line-height:1.25; }
.reed-sm-note { max-width:760px; margin:22px 0 0; padding-top:16px; color:var(--muted); border-top:1px solid var(--line); font-size:13px; line-height:1.55; }
.reed-sm-note strong { margin-right:6px; color:var(--text); font-weight:650; }
.access-panel { display:flex; min-width:0; flex-direction:column; justify-content:center; padding:clamp(40px,6vw,78px) clamp(28px,4.4vw,64px); background:var(--surface); border-left:1px solid var(--line); }
.access-panel h2 { max-width:460px; margin:0; font-size:clamp(2rem,3vw,3.2rem); font-weight:650; line-height:1.05; letter-spacing:-.05em; }
.access-panel>p:not(.course-kicker) { max-width:480px; margin:18px 0 0; color:var(--muted); font-size:14px; line-height:1.6; }
#enroll-form { max-width:480px; margin-top:30px; }
#enroll-form>label:not(.consent-option) { display:block; margin:18px 0 8px; color:var(--text); font-size:11px; font-weight:600; }
#enroll-form>input { width:100%; min-height:48px; padding:0 13px; color:var(--text); background:var(--bg); border:1px solid var(--line-strong); border-radius:6px; }
#enroll-form>input:hover,#enroll-form>input:focus { border-color:var(--accent); }
.field-error,.form-error { min-height:16px; margin:5px 0 0; color:#ff9f96; font-size:11px; line-height:1.4; }
.consent-option { display:grid; grid-template-columns:20px 1fr; gap:10px; align-items:start; margin-top:18px; color:var(--muted); font-size:11px; line-height:1.5; }
.consent-option input { width:18px; height:18px; margin:0; accent-color:var(--accent); }
.consent-detail { margin:8px 0 0 30px; color:#7f838a; font-size:10px; line-height:1.5; }
.consent-detail a { color:var(--muted); }
#enroll-form button { display:flex; width:100%; min-height:48px; align-items:center; justify-content:space-between; margin-top:10px; padding:0 15px; color:var(--text); background:transparent; border:1px solid var(--accent); border-radius:6px; font-size:12px; font-weight:650; cursor:pointer; }
#enroll-form button:hover { color:var(--bg); background:var(--accent); }
#enroll-form button:disabled { opacity:.58; cursor:wait; }
.invalid-access { min-height:calc(100dvh - 58px); padding:clamp(60px,10vw,140px) clamp(28px,8vw,120px); }
.invalid-access p:not(.course-kicker) { max-width:620px; color:var(--muted); line-height:1.65; }
.invalid-access>a { display:inline-block; margin-top:18px; color:var(--text); border-bottom:1px solid var(--accent); text-decoration:none; }
@media(max-width:1180px){ .course-sequence{padding:12px 0}.course-sequence ol{position:relative;display:grid;grid-template-columns:1fr}.course-sequence ol::before{position:absolute;top:20px;bottom:20px;left:7px;width:1px;background:var(--line-strong);content:""}.course-sequence li,.course-sequence li:first-child{display:grid;min-height:58px;grid-template-columns:minmax(125px,160px) 1fr;align-items:center;padding:10px 12px 10px 32px;border-left:0}.course-sequence li+li{border-top:1px solid var(--line)}.course-sequence li::before{position:absolute;z-index:1;left:3px;width:9px;height:9px;background:var(--accent);border:2px solid var(--bg);border-radius:50%;content:""}.course-sequence li:not(:last-child)::after{display:none}.course-sequence strong{font-size:15px}.course-sequence span{margin:0;font-size:12px} }
@media(max-width:980px){ .access-layout{grid-template-columns:1fr}.access-panel{border-top:1px solid var(--line);border-left:0}.access-story,.access-panel{min-height:auto} }
@media(max-width:640px){ .course-topbar{grid-template-columns:1fr auto;padding:0 16px}.course-topbar>span{display:none}.course-menu-link{grid-column:2}.access-story{padding:44px 16px}.access-story h1,.invalid-access h1{font-size:2.65rem}.course-lede{font-size:14px}.course-sequence{margin-top:30px}.course-sequence li,.course-sequence li:first-child{grid-template-columns:118px 1fr;padding-right:0}.access-panel{padding:42px 16px 54px}.access-panel h2{font-size:2rem} }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important} }
