:root { --ink:#10233f; --deep:#081629; --teal:#00b98f; --mint:#d7f7ed; --paper:#f7f8f6; --warm:#eef1ee; --line:#cad4d2; --muted:#5e6b79; --mono:'DM Mono',monospace; --sans:'Manrope',sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:var(--sans); color:var(--ink); background:var(--paper); }
a { color:inherit; text-decoration:none; }
.site-header { height:76px; max-width:1360px; margin:auto; padding:0 40px; display:flex; align-items:center; justify-content:space-between; gap:30px; background:var(--paper); }
.brand { display:flex; align-items:center; gap:10px; font-weight:800; font-size:13px; letter-spacing:.12em; white-space:nowrap; }.brand strong{color:var(--teal);font-weight:800}.brand-mark{display:grid;place-items:center;width:27px;height:27px;background:var(--ink);color:white;border-radius:50%;font-size:15px;letter-spacing:0}
nav { display:flex; gap:29px; font-size:13px; font-weight:700; color:#405068; } nav a:hover{color:var(--teal)}.header-cta{font-size:12px;font-weight:800;letter-spacing:.02em;color:var(--ink)}.header-cta span{color:var(--teal);font-size:17px;margin-left:5px}
.hero { max-width:1360px; min-height:645px; margin:auto; padding:104px 72px 80px; position:relative; overflow:hidden; display:grid; grid-template-columns:1.1fr .9fr; gap:40px; background:var(--deep); color:white; }.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(90deg,black,transparent 88%)}
.hero-copy,.hero-panel{position:relative;z-index:1}.eyebrow{margin:0 0 20px;font-family:var(--mono);font-size:10px;letter-spacing:.15em;font-weight:500;color:#607188}.eyebrow span{display:inline-block;width:24px;height:1px;vertical-align:middle;margin-right:9px;background:var(--teal)}.eyebrow-light{color:#a0b4ca}.hero h1{font-size:clamp(46px,6vw,82px);line-height:.98;letter-spacing:-.06em;margin:0;max-width:760px}.hero h1 em,.method h2 em,.diagnostic h2 em{font-style:normal;color:var(--teal)}.hero-description{max-width:540px;line-height:1.7;font-size:16px;color:#b4c0cf;margin:30px 0}.hero-actions{display:flex;gap:17px;align-items:center}.button{border:0;display:inline-flex;gap:19px;align-items:center;justify-content:center;cursor:pointer;font-family:var(--sans);font-weight:800;font-size:12px;padding:15px 19px;transition:transform .16s ease-out}.button:active{transform:scale(.97)}.button-primary{background:var(--teal);color:var(--deep)}.button-quiet{color:white;background:transparent;padding-left:3px}.button-quiet span{color:var(--teal);font-size:17px}
.hero-panel{align-self:center;justify-self:end;width:min(440px,100%);height:410px;border:1px solid rgba(215,247,237,.22);background:rgba(11,36,58,.58);padding:21px}.hero-panel>p{font-family:var(--mono);font-size:10px;letter-spacing:.13em;color:#99aabb;margin:0}.node{position:absolute;width:151px;min-height:88px;padding:14px;border:1px solid rgba(207,232,226,.34);background:#0c2946}.node span{display:block;color:var(--teal);font-family:var(--mono);font-size:10px;margin-bottom:8px}.node strong{font-size:10px;letter-spacing:.08em;display:block}.node small{font-size:10px;color:#9eafc0;display:block;margin-top:5px}.node-top{top:71px;left:calc(50% - 76px)}.node-left{top:194px;left:32px}.node-right{top:194px;right:32px}.node-bottom{bottom:28px;left:calc(50% - 76px);border-color:var(--teal)}.route{position:absolute;background:#487187;height:1px;transform-origin:left}.route-a{width:136px;left:142px;top:161px;transform:rotate(35deg)}.route-b{width:136px;right:142px;top:161px;transform:rotate(145deg)}.route-c{width:1px;height:52px;left:50%;top:282px;background:#487187}
.trust-strip{max-width:1360px;margin:auto;min-height:92px;background:#dbe9e5;display:grid;grid-template-columns:repeat(3,1fr);padding:0 72px}.trust-strip div{display:flex;align-items:center;gap:13px;border-right:1px solid #b9cfca;font-size:12px}.trust-strip div:last-child{border-right:0;padding-left:30px}.trust-strip div:first-child{padding-right:30px}.trust-strip div:nth-child(2){padding:0 30px}.trust-strip span{font-family:var(--mono);font-size:10px;color:#4e877a}.trust-strip strong{font-size:12px}
.section{max-width:1360px;margin:auto;padding:112px 72px}.programs{display:grid;grid-template-columns:.72fr 1.28fr;gap:80px}.section h2{font-size:clamp(36px,4vw,57px);line-height:1.05;letter-spacing:-.055em;margin:0 0 24px}.section-intro>p:last-child,.diagnostic-copy>p:last-child{max-width:345px;color:var(--muted);font-size:14px;line-height:1.7}.course-list{display:flex;flex-direction:column}.course-card{display:grid;grid-template-columns:40px 1fr auto;gap:17px;border-top:1px solid var(--line);padding:26px 0;position:relative}.course-card:last-child{border-bottom:1px solid var(--line)}.course-index{font-family:var(--mono);font-size:10px;color:#78908c;padding-top:5px}.course-main>p:first-child{font-family:var(--mono);font-size:10px;color:#657d78;margin:0 0 8px}.course-main h3{font-size:19px;line-height:1.23;margin:0 0 11px;letter-spacing:-.035em}.course-summary{color:var(--muted);line-height:1.55;font-size:12px;margin:0 0 15px}.course-meta{display:flex;gap:13px;flex-wrap:wrap;font-family:var(--mono);font-size:9px;color:#54756e}.course-meta span{border:1px solid #c6d6d2;padding:5px 7px}.course-expand{align-self:start;background:none;border:0;padding:4px 0;color:var(--ink);font-family:var(--sans);font-weight:800;font-size:11px;white-space:nowrap;cursor:pointer}.course-expand span{color:var(--teal);font-size:16px;margin-left:4px}.course-details{grid-column:2/-1;padding:19px 21px;background:#e7efec;font-size:12px;line-height:1.55;color:#314757}.course-details h4{font-family:var(--mono);font-size:10px;letter-spacing:.1em;margin:0 0 10px}.course-details ol{margin:0 0 14px;padding-left:18px}.course-details p{margin:0}.catalog-error{padding:25px;background:#f0eeea;color:#5b5750}
.section-dark{background:var(--deep);color:white}.method{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}.method h2{font-size:clamp(37px,4vw,58px);line-height:1.04;letter-spacing:-.055em;margin:0}.method-steps{display:grid;grid-template-columns:1fr 1fr;gap:0}.method-steps article{padding:22px 26px;border-top:1px solid rgba(183,213,214,.27)}.method-steps article:nth-child(odd){border-right:1px solid rgba(183,213,214,.27)}.step-number{font-family:var(--mono);font-size:11px;color:var(--teal);margin-bottom:42px}.method h3{font-size:18px;margin:0 0 9px}.method-steps p{font-size:12px;line-height:1.65;color:#aebccc;margin:0}
.diagnostic{display:grid;grid-template-columns:.9fr 1.1fr;gap:95px;align-items:center;background:#dfeae8}.diagnostic h2{font-size:clamp(41px,4.5vw,63px);letter-spacing:-.06em;line-height:1.01;margin:0 0 25px}.diagnostic-card{max-width:570px;background:var(--paper);padding:38px 38px 33px;border-top:3px solid var(--teal)}.card-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#57766e;margin:0 0 27px}.card-kicker span{color:var(--teal);margin-left:10px}.diagnostic-card h3{font-size:23px;line-height:1.25;letter-spacing:-.04em;margin:0 0 25px}.diagnostic-card fieldset{border:0;padding:0;margin:0 0 26px;display:grid;gap:10px}.diagnostic-card label{display:flex;gap:11px;align-items:flex-start;padding:13px;border:1px solid #cedbd8;background:white;font-size:12px;font-weight:700;line-height:1.45;cursor:pointer}.diagnostic-card label:has(input:checked){border-color:var(--teal);background:#f2fffb}.diagnostic-card input{accent-color:var(--teal);margin-top:2px}.diagnostic-result{margin:19px 0 0;color:#245d52;font-size:12px;font-weight:700;line-height:1.55;min-height:18px}
.contact-band{max-width:1360px;margin:auto;padding:38px 72px;background:var(--teal);display:flex;justify-content:space-between;align-items:center;color:var(--deep);font-weight:800}.contact-band p{font-size:20px;margin:0;letter-spacing:-.03em}.contact-band a{font-size:12px}.contact-band a span{font-size:17px;margin-left:7px}footer{max-width:1360px;margin:auto;padding:28px 72px;display:flex;justify-content:space-between;color:#617078;font-family:var(--mono);font-size:9px;letter-spacing:.04em}footer a{color:#345b56}
@media (max-width:900px){.site-header{padding:0 22px}.site-header nav{display:none}.header-cta{font-size:10px}.hero{grid-template-columns:1fr;padding:75px 28px 36px;min-height:unset}.hero-panel{justify-self:start;width:100%;height:350px}.trust-strip{padding:0 25px}.trust-strip div{font-size:10px}.programs,.method,.diagnostic{grid-template-columns:1fr;gap:45px}.section{padding:75px 28px}.course-card{grid-template-columns:28px 1fr}.course-expand{grid-column:2}.course-details{grid-column:2}.method-steps{grid-template-columns:1fr}.method-steps article:nth-child(odd){border-right:0}.diagnostic-card{max-width:100%;padding:28px 22px}.contact-band{padding:30px 28px;align-items:flex-start;gap:20px;flex-direction:column}footer{padding:24px 28px;gap:13px;flex-wrap:wrap}}
@media (prefers-reduced-motion:no-preference){.course-card{transition:background .18s ease-out}.course-card:hover{background:#edf4f1}}

.portal-body{background:#e8efed;min-height:100vh}.portal-header{height:75px;background:var(--paper);display:flex;align-items:center;gap:28px;padding:0 max(30px,calc((100vw - 1240px)/2));border-bottom:1px solid #d9e1df}.portal-label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:#6e807d;margin-right:auto}.portal-back{font-size:11px;font-weight:800;color:#435b65}.portal-shell{max-width:1240px;margin:auto}.login-layout{min-height:calc(100vh - 75px);display:grid;grid-template-columns:1.05fr .95fr}.login-aside{background:var(--deep);color:white;padding:104px 82px;position:relative;overflow:hidden}.login-aside:after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,black,transparent);pointer-events:none}.login-aside>*{position:relative;z-index:1}.login-aside h1{font-size:clamp(42px,5vw,69px);letter-spacing:-.065em;line-height:.97;margin:0 0 25px}.login-aside h1 em{color:var(--teal);font-style:normal}.login-aside>p:last-of-type{font-size:14px;line-height:1.75;color:#b4c0cf;max-width:430px}.access-note{margin-top:50px;border-left:2px solid var(--teal);padding:4px 0 4px 16px;display:grid;gap:7px;max-width:380px}.access-note strong{font-size:12px}.access-note span{font-family:var(--mono);font-size:10px;color:#a6b6c7;line-height:1.55}.login-card{padding:96px 78px;background:var(--paper);display:flex;flex-direction:column;align-items:stretch}.login-card h2{font-size:33px;letter-spacing:-.05em;margin:0 0 33px}.login-card label{font-size:11px;font-weight:800;color:#4c5b67;margin-bottom:17px;display:grid;gap:8px}.login-card input{height:45px;border:1px solid #c6d3d0;background:white;font:13px var(--sans);padding:0 12px;color:var(--ink)}.login-card input:focus{outline:2px solid var(--teal);outline-offset:1px}.login-card .button{align-self:flex-start;margin-top:8px}.form-status{min-height:18px;color:#b33f3f;font-size:12px;font-weight:700;margin:15px 0 0}.login-help{font-size:11px;line-height:1.6;color:#758287;margin:29px 0 0}.workspace-head{display:flex;justify-content:space-between;align-items:flex-end;padding:68px 0 30px}.workspace-head h1{font-size:48px;letter-spacing:-.06em;line-height:1;margin:0 0 13px}.workspace-head>div>p:last-child{margin:0;color:var(--muted);font-size:13px}.logout-button{background:none;border:1px solid #b6c8c3;padding:10px 12px;font:700 11px var(--sans);color:#435a65;cursor:pointer}.workspace-tabs{display:flex;gap:25px;border-bottom:1px solid #bfccc8}.workspace-tabs button{border:0;background:none;padding:13px 0;font:800 12px var(--sans);color:#65747a;cursor:pointer;border-bottom:2px solid transparent}.workspace-tabs button.active{color:var(--ink);border-bottom-color:var(--teal)}.workspace-content{padding:30px 0 75px}.participant-grid,.instructor-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:28px}.workspace-content h2{font-size:25px;letter-spacing:-.04em;margin:0 0 17px}.learning-list,.class-list{display:grid;gap:12px}.learning-card,.class-card{background:var(--paper);border:1px solid #cbd8d5;padding:22px}.learning-card p,.class-card p{font-family:var(--mono);font-size:10px;letter-spacing:.04em;color:#6b817b;margin:0 0 8px}.learning-card h3,.class-card h3{font-size:16px;letter-spacing:-.03em;margin:0 0 19px}.progress-track{height:6px;background:#dce6e3;overflow:hidden;margin-bottom:11px}.progress-track span{display:block;height:100%;background:var(--teal)}.learning-meta,.class-card div{display:flex;gap:11px;flex-wrap:wrap;font:10px var(--mono);color:#647571}.attempt-panel,.exercise-note{background:var(--deep);color:white;padding:26px}.attempt-panel h3,.exercise-note h3{font-size:21px;letter-spacing:-.04em;margin:0 0 23px}.attempt-panel ul{list-style:none;margin:0;padding:0;display:grid;gap:13px}.attempt-panel li{border-top:1px solid rgba(255,255,255,.16);padding-top:11px;display:grid;gap:5px;font-size:12px}.attempt-panel li small{font-family:var(--mono);font-size:9px;color:#a9bac8}.exercise-note>p:not(.card-kicker){color:#b1c0cc;font-size:12px;line-height:1.65}.fine-print{font-family:var(--mono);font-size:9px!important;color:var(--teal)!important}.empty-state,.loading-state{padding:30px;background:var(--paper);border:1px dashed #aebfbb;color:#586d6b}.empty-state strong{font-size:14px}.empty-state p{font-size:12px;line-height:1.6;margin-bottom:0}.loading-state{font-size:12px;font-weight:700}.admin-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}.admin-intro{max-width:610px;color:#5c6e72;font-size:13px;line-height:1.7;margin:0 0 28px}.admin-steps{border-top:1px solid #bfccc8}.admin-steps article{display:grid;grid-template-columns:45px 1fr;column-gap:13px;border-bottom:1px solid #bfccc8;padding:18px 0}.admin-steps span{grid-row:span 2;font:10px var(--mono);color:var(--teal);padding-top:3px}.admin-steps strong{font-size:13px}.admin-steps p{grid-column:2;margin:6px 0 0;color:#68777a;font-size:12px;line-height:1.55}.invitation-panel{background:var(--deep);padding:27px;color:white}.invitation-panel .card-kicker{color:#a9bac8}.invitation-panel h3{font-size:21px;letter-spacing:-.04em;margin:0 0 23px}.invitation-form{display:grid;gap:14px}.invitation-form label{display:grid;gap:8px;font-size:10px;font-weight:800;color:#c4d2d8}.invitation-form input,.invitation-form select{height:43px;padding:0 11px;border:1px solid #507084;background:#0d2d49;color:white;font:13px var(--sans)}.invitation-form select{color-scheme:dark}.invitation-form .button{justify-self:start;margin-top:4px}.invitation-panel .form-status{color:#d2f3e9;line-height:1.55}.invitation-notice{font:10px/1.6 var(--mono);color:#a9bac8;margin:18px 0 0}.activation-link{color:#72e3cb;text-decoration:underline;text-underline-offset:3px;font-weight:800}
@media (max-width:800px){.portal-header{padding:0 22px}.portal-label{display:none}.login-layout{grid-template-columns:1fr}.login-aside{padding:65px 28px}.login-card{padding:48px 28px}.workspace-head{padding:42px 28px 23px;align-items:flex-start;gap:20px}.workspace-tabs,.workspace-content{margin-left:28px;margin-right:28px}.participant-grid,.instructor-grid,.admin-grid{grid-template-columns:1fr}.portal-back{font-size:10px}}
