:root{
  --paper:#f4f0e7;--paper2:#fffdf8;--white:#fffefb;--ink:#17211d;--soft:#4e5b55;--muted:#6f7a73;
  --navy:#102b43;--night:#071521;--blue:#315f86;--forest:#233e34;--sage:#6d8374;
  --gold:#b48b45;--gold2:#ead9b8;--terra:#96594e;--plum:#725f82;--teal:#4f7f7a;
  --line:rgba(20,31,26,.14);--line2:rgba(20,31,26,.24);--shadow:0 18px 42px rgba(19,31,25,.08);
  --shadow2:0 8px 22px rgba(19,31,25,.055);--r:7px;--max:1240px;
  --display:"Iowan Old Style","Palatino Linotype",Palatino,Baskerville,Georgia,serif;
  --ceremonial:Cinzel,Aboreto,"Iowan Old Style",Georgia,serif;
  --sans:"Brandon Grotesque","Avenir Next",Avenir,Montserrat,"Segoe UI",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:104px}
body{margin:0;min-width:300px;color:var(--ink);background:linear-gradient(180deg,#fbf8f1,var(--paper));font:400 16px/1.65 var(--sans);text-align:center;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.shell{width:min(calc(100% - 42px),var(--max));margin:auto}
.skip{position:fixed;z-index:5000;left:11px;top:9px;transform:translateY(-180%);padding:9px 13px;border-radius:var(--r);color:#fff;background:#111}.skip:focus{transform:none}
.ribbon{min-height:34px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;padding:7px 18px;color:#e8eef3;background:linear-gradient(90deg,var(--night),var(--navy),var(--night));font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.ribbon strong{color:var(--gold2);font-family:var(--ceremonial);font-weight:400}
.ribbon a:hover{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:1500;background:rgba(244,240,231,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(16px)}
.header-inner{min-height:76px;display:grid;grid-template-columns:minmax(275px,.9fr) minmax(300px,1.1fr) auto;align-items:center;gap:18px}
.brand{justify-self:start;display:flex;align-items:center;gap:12px;text-align:left;min-width:0}
.seal{width:46px;height:46px;flex:0 0 auto;display:grid;place-items:center;border-radius:var(--r);color:#f9f6ef;background:linear-gradient(145deg,#173326,#071a13);font:400 12px var(--ceremonial);letter-spacing:.06em}
.brand-copy{min-width:0}.brand-copy strong{display:block;font:400 16px/1.12 var(--ceremonial);letter-spacing:.055em;text-transform:uppercase}
.brand-copy small{display:block;margin-top:4px;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase;line-height:1.25}
.navlinks{display:flex;justify-content:center;gap:6px;flex-wrap:wrap}
.navlinks a{min-height:36px;display:inline-flex;align-items:center;justify-content:center;padding:7px 10px;border-radius:var(--r);color:var(--soft);font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.navlinks a:hover{background:var(--white)}
.head-actions{justify-self:end;display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.head-btn{min-height:40px;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid var(--line2);border-radius:var(--r);color:var(--navy);background:transparent;font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.head-btn.primary{color:#fff;background:var(--navy);border-color:var(--navy)}
.breadcrumbs{min-height:40px;display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid var(--line);background:var(--paper2);color:var(--muted);font-size:10px;letter-spacing:.1em;text-transform:uppercase}
.breadcrumbs a:hover{color:var(--gold)}
.hero{position:relative;overflow:hidden;display:grid;place-items:center;min-height:520px;color:#fff;background:radial-gradient(circle at 50% -8%,rgba(234,217,184,.18),transparent 31rem),radial-gradient(circle at 8% 10%,rgba(105,145,176,.14),transparent 26rem),linear-gradient(145deg,#1d405d,#122b43 52%,#091827)}
.hero:before{content:"KA";position:absolute;right:3vw;bottom:-104px;color:rgba(255,255,255,.035);font:400 20rem/1 var(--display);pointer-events:none}
.hero-inner{position:relative;z-index:1;padding:72px 0 88px}
.eyebrow,.kicker{margin:0;color:var(--gold);font:400 10px/1.5 var(--ceremonial);letter-spacing:.18em;text-transform:uppercase}
.hero .eyebrow{color:var(--gold2)}
.hero h1{margin:12px 0 0;font:400 clamp(4.4rem,7.7vw,7.1rem)/.92 var(--display);letter-spacing:-.03em;text-wrap:balance}
.grade-title{margin:18px 0 0;color:var(--gold2);font:400 clamp(2rem,4vw,3.6rem)/1.02 var(--display);letter-spacing:.01em;text-wrap:balance}
.hero-lead{max-width:790px;margin:20px auto 0;color:rgba(255,255,255,.78);font:400 clamp(16px,1.35vw,19px)/1.72 var(--display)}
.hero-actions,.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:25px}
.btn{min-height:46px;display:inline-flex;align-items:center;justify-content:center;padding:10px 15px;border:1px solid var(--line2);border-radius:var(--r);background:transparent;color:var(--ink);font-size:11px;font-weight:500;letter-spacing:.055em;text-transform:uppercase;text-align:center;line-height:1.25;transition:transform .16s,box-shadow .16s,background .16s}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow2)}
.btn.primary{color:#fff;background:var(--forest);border-color:var(--forest)}
.btn.gold{color:#261c0b;background:var(--gold2);border-color:var(--gold2)}
.hero .btn{border-color:rgba(255,255,255,.28);color:#fff}.hero .btn.primary{color:#142218;background:#fff;border-color:#fff}.hero .btn.gold{color:#261c0b}
.section{padding:78px 0}.paper{background:var(--paper2);border-block:1px solid var(--line)}.dark{color:#fff;background:linear-gradient(145deg,#102b43,#071521)}
.heading{max-width:880px;margin:0 auto 34px}.heading h2{margin:10px 0 0;color:var(--forest);font:400 clamp(38px,4.8vw,60px)/1.05 var(--display);text-wrap:balance}.heading p{max-width:720px;margin:14px auto 0;color:var(--muted);font-size:15px;line-height:1.68}.dark .heading h2{color:#fff}.dark .heading p{color:rgba(255,255,255,.7)}.dark .kicker{color:var(--gold2)}
.front-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.front-card,.course-card,.support-card{display:flex;flex-direction:column;align-items:center;padding:24px;border:1px solid var(--line);border-top:4px solid var(--accent,var(--forest));border-radius:var(--r);background:#fff;box-shadow:var(--shadow2)}
.front-card{min-height:238px}.front-mark,.course-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:var(--r);color:#fff;background:var(--accent,var(--forest));font:400 12px var(--ceremonial)}
.front-card h3,.course-card h3,.support-card h3{margin:15px 0 7px;color:#10251d;font:400 25px/1.12 var(--display)}
.front-card p,.course-card p,.support-card p{margin:0;color:var(--muted);font-size:14px;line-height:1.65}
.front-card .btn,.course-card .btn,.support-card .btn{margin-top:auto}
.student-name{margin-top:8px;color:var(--forest);font:400 22px/1.2 var(--display)}
.course-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.course-card{min-height:285px;align-items:flex-start;text-align:left}
.course-card h3{font-size:28px}.course-card .actions{justify-content:flex-start;margin-top:auto;width:100%}
.status{display:inline-flex;align-items:center;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--forest);background:#f6f1e7;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.note{max-width:980px;margin:30px auto 0;padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:var(--r);background:#fff9eb;color:#66502b;text-align:left;font-size:14px;line-height:1.65}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.support-card{min-height:220px}.dark .support-card{border-color:rgba(255,255,255,.14);background:rgba(255,255,255,.055);box-shadow:none}.dark .support-card h3{color:#fff}.dark .support-card p{color:rgba(255,255,255,.67)}.dark .support-card .btn{color:#fff;border-color:rgba(255,255,255,.25)}
.footer{padding:34px 20px;color:rgba(255,255,255,.7);background:var(--night);font-size:11px}.footer strong{color:#fff;font-family:var(--ceremonial);font-weight:400}
@media(max-width:1050px){.header-inner{grid-template-columns:1fr auto}.navlinks{display:none}.front-grid,.support-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.shell{width:min(calc(100% - 24px),var(--max))}.header-inner{grid-template-columns:1fr;justify-items:center;gap:10px;padding:12px 0}.brand{justify-self:center;text-align:center}.head-actions{justify-self:center}.hero{min-height:500px}.hero-inner{padding:58px 0 74px}.hero h1{font-size:clamp(3.3rem,15vw,4.8rem)}.grade-title{font-size:clamp(1.8rem,8vw,2.8rem)}.front-grid,.course-grid,.support-grid{grid-template-columns:1fr}.section{padding:62px 0}.course-card{min-height:0}}
@media(max-width:460px){.btn,.head-btn{width:100%;max-width:320px}.hero-actions,.actions{align-items:stretch}.hero-actions .btn,.actions .btn{width:100%}}
@media print{.ribbon,.site-header,.breadcrumbs,.hero-actions,.actions{display:none!important}body{background:#fff}.hero{min-height:0;color:#000;background:#fff}.hero:before{display:none}.hero h1,.grade-title{color:#000}.hero-lead{color:#333}.front-card,.course-card,.support-card{box-shadow:none;break-inside:avoid}}
