:root { color-scheme: dark; --bg:#071817; --ink:#f7f6ef; --muted:#b8c8c4; --accent:#6bd0b8; --line:rgb(255 255 255/.15); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
html { background:var(--bg); color:var(--ink); }
body { min-height:100vh; margin:0; background:radial-gradient(circle at 78% 6%,rgb(107 208 184/.17),transparent 30%),linear-gradient(155deg,#071817,#0b2422 55%,#071817); }
a { color:inherit; }
a:focus-visible { outline:.2rem solid #ffda72; outline-offset:.2rem; }
.skip-link { position:fixed; z-index:10; inset:.75rem auto auto .75rem; translate:0 -180%; padding:.7rem 1rem; background:white; color:#071817; border-radius:.5rem; }
.skip-link:focus { translate:0; }
.academy-header { min-height:4.5rem; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.8rem clamp(1rem,5vw,5rem); border-bottom:1px solid var(--line); }
.academy-header a { color:var(--muted); text-decoration:none; font-size:.8rem; font-weight:750; }
.academy-header strong { letter-spacing:-.035em; }
sup { color:var(--accent); }
main { width:min(100% - 2rem,82rem); margin:auto; }
.hero { min-height:64vh; display:grid; align-content:center; padding:clamp(4rem,10vw,8rem) 0; }
.eyebrow { margin:0 0 .7rem; color:var(--accent); font-size:.76rem; font-weight:850; letter-spacing:.12em; text-transform:uppercase; }
h1 { max-width:16ch; margin:0; font-size:clamp(2.7rem,8vw,7rem); line-height:.92; letter-spacing:-.065em; text-wrap:balance; }
h1 span { color:var(--accent); }
.hero__lead { max-width:43rem; margin:2rem 0 0; color:var(--muted); font-size:clamp(1rem,1.4vw,1.25rem); line-height:1.6; }
.modules { padding:3rem 0 7rem; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:2rem; }
h2 { max-width:15ch; margin:0; font-size:clamp(2rem,4vw,4rem); line-height:1; letter-spacing:-.05em; }
.module-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; counter-reset:module; }
.module-card { min-height:21rem; display:flex; flex-direction:column; padding:clamp(1.2rem,3vw,2rem); border:1px solid var(--line); border-radius:1.2rem; background:rgb(16 40 38/.78); box-shadow:0 1.5rem 3rem rgb(0 0 0/.15); }
.module-card--wide { grid-column:1/-1; min-height:26rem; background:linear-gradient(115deg,rgb(31 91 80/.95),rgb(16 40 38/.8)); }
.module-card > p:first-child { margin:0 0 auto; color:var(--accent); font-size:.75rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.module-card h3 { margin:2rem 0 .6rem; font-size:clamp(2rem,5vw,4.2rem); letter-spacing:-.055em; }
.module-card h3 + p { max-width:36rem; margin:0 0 1.5rem; color:var(--muted); line-height:1.55; }
.module-card a { align-self:flex-start; margin-top:auto; padding:.75rem 1rem; border:1px solid var(--accent); border-radius:.7rem; color:var(--accent); font-weight:800; text-decoration:none; }
.module-card a:hover { background:var(--accent); color:#071817; }
footer { display:flex; justify-content:space-between; gap:1rem; padding:1.5rem clamp(1rem,5vw,5rem); border-top:1px solid var(--line); color:var(--muted); font-size:.82rem; }
footer p { margin:0; }
@media (max-width:700px) { .hero { min-height:56vh; } .section-heading { display:block; } .module-grid { grid-template-columns:1fr; } .module-card--wide { grid-column:auto; } footer { display:grid; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; } }
