:root{--paper:#f5f1e8;--panel:#fffdf8;--ink:#17251f;--muted:#66736d;--forest:#17392f;--forest2:#245246;--gold:#b48b45;--gold2:#ead8ac;--burgundy:#71363e;--line:rgba(20,40,32,.15);--shadow:0 18px 46px rgba(20,40,32,.08);--formal:Cinzel,"Palatino Linotype",Palatino,Georgia,serif;--body:"Brandon Grotesque","Avenir Next",Avenir,"Segoe UI",Arial,sans-serif;--max:1120px;--r:7px;--r2:18px}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#fbfaf6,var(--paper));font:16px/1.65 var(--body)}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.shell{width:min(calc(100% - 30px),var(--max));margin:auto}.top{color:#fff;background:linear-gradient(135deg,#102f27,var(--forest) 55%,#0d241e)}.nav{min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0}.brand{display:flex;align-items:center;gap:10px}.seal{width:42px;height:42px;display:grid;place-items:center;border-radius:var(--r);border:1px solid #d7b56f;background:linear-gradient(145deg,#fff4d4,#d7b56f);color:#17392f;font:600 14px var(--formal)}.brand strong{display:block;font:500 14px/1.3 var(--formal);letter-spacing:.07em;text-transform:uppercase}.brand small{display:block;margin-top:3px;color:#ced9d3;font-size:9px;text-transform:uppercase;letter-spacing:.08em}.navlinks{display:flex;gap:7px;flex-wrap:wrap}.navlinks a{padding:8px 10px;border:1px solid rgba(255,255,255,.18);border-radius:var(--r);font-size:10px}.hero{padding:64px 0 52px;text-align:center}.kicker{margin:0;color:var(--burgundy);font:600 11px/1.4 var(--formal);letter-spacing:.16em;text-transform:uppercase}.hero .kicker{color:var(--gold2)}h1,h2,h3{font-family:var(--formal);font-weight:500;text-wrap:balance}h1{margin:10px auto 0;max-width:960px;font-size:clamp(2.7rem,7vw,5.7rem);line-height:.98}.hero .lead{max-width:790px;margin:18px auto 0;color:#d8e1dc}.actions{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:20px}.btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:9px 14px;border:1px solid var(--forest);border-radius:var(--r);background:var(--forest);color:#fff;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.hero .btn{border-color:rgba(255,255,255,.35)}.btn.gold{color:#2d2617;background:var(--gold2);border-color:#cfb16e}.btn.secondary{color:var(--forest);background:#fff;border-color:var(--line)}button.btn:disabled{opacity:.55;cursor:not-allowed}.section{padding:62px 0}.section.alt{background:#ede8dc}.section-heading{max-width:790px;margin:0 auto 30px;text-align:center}.section-heading h2{margin:8px 0 0;color:var(--forest);font-size:clamp(2rem,5vw,3.5rem);line-height:1.04}.section-heading p{color:var(--muted)}.cards,.weeks{display:grid;grid-template-columns:repeat(12,1fr);gap:15px}.card,.week-card,.panel{grid-column:span 6;padding:24px;border:1px solid var(--line);border-radius:var(--r2);background:var(--panel);box-shadow:var(--shadow)}.card h3,.week-card h3,.panel h2{margin:6px 0 0;color:var(--forest)}.card p,.week-card p,.panel li{color:var(--muted)}.card .actions{justify-content:flex-start}.notice{margin:18px auto 0;max-width:820px;padding:14px 16px;border-left:4px solid var(--gold);border-radius:var(--r);background:#fbf4df;color:#66502b}.notice.error{border-left-color:#a94b4b;background:#fff0f0;color:#7d3333}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}.stat{padding:18px;text-align:center;border:1px solid var(--line);border-radius:var(--r);background:var(--panel)}.stat strong{display:block;color:var(--forest);font:500 2.1rem var(--formal)}.stat span{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.course-overview{margin-bottom:50px}.panel{grid-column:1/-1;margin-top:14px}.week-card details{margin-top:12px}.week-card summary{cursor:pointer;color:var(--forest);font-weight:700}.week-card ol{padding-left:22px}.footer{padding:34px 20px;color:#d8e1dc;background:#10251f;text-align:center;font-size:11px}.footer strong{display:block;color:#fff;font:500 1.1rem var(--formal)}@media(max-width:820px){.nav{justify-content:center;flex-wrap:wrap;text-align:center}.navlinks{justify-content:center}.card,.week-card{grid-column:span 12}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:520px){.shell{width:min(calc(100% - 20px),var(--max))}.stat-grid{grid-template-columns:1fr}.actions .btn{width:100%}}
