:root{color-scheme:dark;--bg:#17141c;--panel:#221b2a;--gold:#d5bc81;--ink:#eee7df;--muted:#beb2c8}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.75 Georgia,serif}a{color:var(--gold);text-underline-offset:4px}a:hover{color:white}header,footer,main{max-width:1040px;margin:auto;padding:30px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #5b495c;gap:25px}.brand{font-size:25px;letter-spacing:3px;text-decoration:none}nav{display:flex;gap:20px;align-items:center;flex-wrap:wrap}main{max-width:900px;padding-top:55px}h1{font-weight:normal;font-size:clamp(32px,5vw,52px);line-height:1.2;color:var(--gold)}h2{font-size:28px;font-weight:normal;color:var(--gold);line-height:1.4}h3{font-size:21px;line-height:1.5}section{margin:45px 0}article{margin:30px 0}.lead{font-size:21px}.eyebrow,.crumb,small{font:13px/1.7 system-ui;color:var(--muted)}.eyebrow{letter-spacing:2px}.cta{display:inline-block;background:var(--gold);color:#211925;padding:11px 18px;text-decoration:none;border-radius:4px;font:15px/1.5 system-ui}.cta:hover{color:#211925;background:#e3d2ac}.check,.source,details{background:var(--panel);padding:20px;border:1px solid #59495d;border-radius:7px}.source h3{margin-top:0}summary{cursor:pointer;color:var(--gold)}dt{color:var(--gold);font-weight:bold;margin-top:15px}dd{margin-left:0}blockquote{border-left:3px solid var(--gold);margin-left:0;padding-left:20px;white-space:pre-line}.disciplines{gap:12px}.disciplines a{background:var(--panel);padding:5px 11px;border-radius:4px}.course-list{list-style:none;padding:0}.course-list li{border-bottom:1px solid #382f40;padding:10px 0}.course-list small{display:block}footer{border-top:1px solid #59495d;color:var(--muted);font-size:14px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border:1px solid #59495d;padding:9px}aside[hidden]{display:none}aside{border:1px solid #59495d;padding:16px;margin:45px 0;min-height:120px}aside small{display:block}@media(max-width:650px){header{align-items:flex-start;flex-direction:column}header,main,footer{padding:23px}header nav{gap:12px}.lead{font-size:19px}}
