@font-face { font-family: "Blauer Nue"; src: url("assets/fonts/BlauerNue-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Blauer Nue"; src: url("assets/fonts/BlauerNue-SemiBold.otf") format("opentype"); font-weight: 600 800; font-display: swap; }
@font-face { font-family: "Stage Grotesk"; src: url("assets/fonts/StageGrotesk-Regular.otf") format("opentype"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Stage Grotesk"; src: url("assets/fonts/StageGrotesk-Medium.otf") format("opentype"); font-weight: 500 800; font-display: swap; }

:root { --black:#000; --glaze:#00141a; --ink:#333; --muted:#666; --white:#fff; --pale:#fafafc; --line:#e0e0e0; --jade:#00ad6d; --meadow:#068a5a; --lime:#b9f55f; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--white); color:var(--ink); font-family:"Stage Grotesk",Arial,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px,calc(100% - 48px)); margin-inline:auto; }
.site-header { position:sticky; top:0; z-index:10; border-bottom:1px solid var(--line); background:rgba(255,255,255,.96); backdrop-filter:blur(14px); }
.header-inner { min-height:88px; display:flex; align-items:center; justify-content:space-between; gap:32px; }
.brand-lockup { display:flex; align-items:center; gap:20px; }
.brand-lockup img { width:132px; height:auto; }
.brand-lockup > span { padding-left:20px; border-left:1px solid var(--line); }
.brand-lockup strong,.brand-lockup small { display:block; }
.brand-lockup strong { color:var(--black); font-family:"Blauer Nue",Arial,sans-serif; font-size:16px; font-weight:600; }
.brand-lockup small { margin-top:3px; color:var(--muted); font-size:10px; font-weight:500; letter-spacing:.15em; text-transform:uppercase; }
nav { display:flex; gap:28px; color:var(--black); font-size:13px; font-weight:500; }
nav a { padding:10px 0 8px; border-bottom:2px solid transparent; }
nav a:hover { color:var(--meadow); border-color:var(--jade); }
.hero { min-height:660px; display:grid; grid-template-columns:minmax(0,1fr) 330px; align-items:center; gap:96px; padding:92px 0 116px; }
.hero-copy { max-width:780px; }
.eyebrow { margin:0 0 24px; color:var(--meadow); font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; }
h1,h2,h3 { font-family:"Blauer Nue",Arial,sans-serif; }
h1 { max-width:850px; margin:0; color:var(--jade); font-size:clamp(58px,7.4vw,108px); font-weight:600; line-height:.92; letter-spacing:-.055em; }
.hero-intro { max-width:680px; margin:34px 0 0; font-size:clamp(19px,2.1vw,26px); line-height:1.45; }
.hero-actions { display:flex; align-items:center; gap:30px; margin-top:44px; }
.button { display:inline-flex; align-items:center; gap:28px; padding:16px 20px; border:1px solid var(--jade); border-radius:2px; background:var(--jade); color:var(--black); font-size:14px; font-weight:500; }
.button:hover { background:var(--meadow); border-color:var(--meadow); color:var(--white); }
.text-link { padding-bottom:4px; border-bottom:1px solid var(--black); font-size:14px; font-weight:500; }
.course-status { align-self:end; margin-bottom:8px; padding:30px; border-radius:2px; background:var(--black); color:var(--white); box-shadow:14px 14px 0 var(--lime); }
.course-status .status-label { margin:0 0 25px; color:var(--lime); font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.course-status strong { display:block; font-family:"Blauer Nue",Arial,sans-serif; font-size:34px; }
.course-status > span { display:block; margin-top:7px; color:rgba(255,255,255,.66); font-size:13px; }
.status-rule { height:1px; margin:24px 0; background:rgba(255,255,255,.2); }
.course-status p:last-child { margin:0; color:rgba(255,255,255,.78); font-size:14px; line-height:1.6; }
.course-map { padding:108px 0; border-top:1px solid var(--line); background:var(--pale); }
.section-heading { display:grid; grid-template-columns:1fr .7fr; gap:80px; align-items:end; margin-bottom:62px; }
.section-heading h2 { margin:0; color:var(--black); font-size:clamp(36px,4vw,58px); line-height:1; letter-spacing:-.04em; }
.section-heading > p { margin:0; color:var(--muted); font-size:17px; line-height:1.65; }
.module-row { display:grid; grid-template-columns:84px 1fr auto; gap:28px; align-items:start; padding:30px 0; border-top:1px solid var(--line); }
.module-row:first-of-type { border-top:2px solid var(--black); }
.module-number { padding-top:5px; color:var(--meadow); font-size:13px; font-weight:500; }
.module-row h3 { margin:0; color:var(--black); font-size:27px; }
.module-row p { margin:9px 0 0; color:var(--muted); }
.pill { padding:5px 9px; border:1px solid var(--line); border-radius:999px; color:var(--muted); font-size:10px; letter-spacing:.08em; text-transform:uppercase; }
.pill-live { border-color:var(--lime); background:var(--lime); color:var(--glaze); }
.session-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:44px; }
.session-card { display:flex; min-height:500px; flex-direction:column; overflow:hidden; border:1px solid var(--line); border-top:5px solid var(--jade); background:var(--white); }
.session-topline { display:flex; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--line); color:var(--muted); font-size:11px; }
.session-topline span:first-child { color:var(--meadow); font-weight:500; }
.session-body { flex:1; padding:34px; }
.session-kicker { margin:0 0 24px!important; color:var(--meadow)!important; font-size:11px; letter-spacing:.1em; text-transform:uppercase; }
.session-body h3 { max-width:510px; margin:0; color:var(--black); font-size:clamp(34px,4vw,54px); line-height:.98; letter-spacing:-.04em; }
.session-body > p { color:var(--muted); line-height:1.62; }
.session-body ul { display:flex; flex-wrap:wrap; gap:7px; margin:34px 0 0; padding:0; list-style:none; }
.session-body li { padding:6px 9px; border:1px solid var(--line); border-radius:999px; background:var(--pale); color:var(--muted); font-size:11px; }
.session-link { display:flex; justify-content:space-between; padding:20px 24px; border-top:1px solid var(--line); color:var(--meadow); font-size:14px; font-weight:500; }
.session-link:hover { background:#f2fff9; color:var(--black); }
.principles { padding:112px 0; }
.principle-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:2px solid var(--black); }
.principle-grid article { padding:30px 38px 0 0; }
.principle-grid article + article { padding-left:38px; border-left:1px solid var(--line); }
.principle-grid span { color:var(--jade); font-size:11px; }
.principle-grid h3 { margin:30px 0 10px; color:var(--black); font-size:24px; }
.principle-grid p { margin:0; color:var(--muted); line-height:1.55; }
footer { border-top:1px solid var(--line); background:var(--pale); }
.footer-inner { min-height:120px; display:flex; align-items:center; justify-content:space-between; }
.footer-inner strong,.footer-inner small { display:block; }
.footer-inner strong { font-family:"Blauer Nue",Arial,sans-serif; font-size:16px; }
.footer-inner small { margin-top:4px; color:var(--muted); }
.footer-inner img { width:145px; height:auto; }
@media(max-width:900px){ .shell{width:min(100% - 32px,720px)} .hero{min-height:auto;grid-template-columns:1fr;gap:52px;padding:68px 0 90px} .course-status{width:min(100%,420px)} .section-heading{grid-template-columns:1fr;gap:28px} .session-grid{grid-template-columns:1fr} .principle-grid{grid-template-columns:1fr} .principle-grid article,.principle-grid article + article{padding:28px 0;border-left:0;border-bottom:1px solid var(--line)} }
@media(max-width:620px){ .shell{width:min(100% - 24px,560px)} .header-inner{min-height:74px} .brand-lockup img{width:96px}.brand-lockup > span{padding-left:12px}.brand-lockup strong{font-size:13px}.brand-lockup small{display:none} nav a:last-child{display:none} h1{font-size:clamp(52px,17vw,78px)} .hero-actions{align-items:flex-start;flex-direction:column}.module-row{grid-template-columns:42px 1fr}.module-row .pill{grid-column:2;width:max-content}.session-body{padding:28px 24px}.footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;gap:18px}.footer-inner img{width:120px} }
@media(prefers-reduced-motion:reduce){ html{scroll-behavior:auto} }
