
:root{--navy:#16233f;--navy2:#1e3057;--gold:#c9a227;--gold-soft:#e6cf7f;--slate:#5b6678;--ink:#22293a;--paper:#f7f6f2;--white:#ffffff;--line:#e2ddd2}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3','Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--paper);line-height:1.65;font-size:17px}
h1,h2,h3,h4,.serif{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.2;color:var(--navy)}
a{color:var(--navy2);text-decoration:none}
.container{max-width:1080px;margin:0 auto;padding:0 24px}
/* nav */
nav{background:var(--navy);position:sticky;top:0;z-index:50;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.nav-inner{max-width:1080px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
.brand{font-family:'Fraunces',Georgia,serif;font-size:1.35rem;color:var(--white);letter-spacing:.02em}
.brand b{color:var(--gold)}
.nav-links{display:flex;gap:22px;flex-wrap:wrap;align-items:center}
.nav-links a{color:#cfd6e4;font-size:.95rem;padding:4px 0;border-bottom:2px solid transparent}
.nav-links a:hover,.nav-links a.active{color:var(--white);border-bottom-color:var(--gold)}
.nav-cta{background:var(--gold);color:var(--navy)!important;padding:8px 18px!important;border-radius:4px;font-weight:600;border-bottom:none!important}
.nav-cta:hover{background:var(--gold-soft)}
/* hero */
.hero{background:linear-gradient(160deg,var(--navy) 0%,var(--navy2) 70%,#27407a 100%);color:var(--white);padding:90px 0 80px}
.hero h1{color:var(--white);font-size:clamp(2rem,4.5vw,3.1rem);max-width:820px;margin-bottom:22px}
.hero h1 em{font-style:normal;color:var(--gold-soft)}
.hero p.lede{font-size:1.2rem;color:#d7dded;max-width:700px;margin-bottom:34px}
.kicker{display:inline-block;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;font-weight:600}
.hero .kicker{color:var(--gold-soft)}
.btn{display:inline-block;padding:13px 30px;border-radius:4px;font-weight:600;font-size:1rem}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn-gold:hover{background:var(--gold-soft)}
.btn-ghost{border:1.5px solid #8b97b3;color:var(--white);margin-left:12px}
.btn-ghost:hover{border-color:var(--gold);color:var(--gold-soft)}
.btn-navy{background:var(--navy);color:var(--white)}
.btn-navy:hover{background:var(--navy2)}
/* sections */
section{padding:70px 0}
section.alt{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
h2{font-size:clamp(1.5rem,3vw,2.1rem);margin-bottom:16px}
.section-intro{max-width:720px;color:var(--slate);font-size:1.08rem;margin-bottom:40px}
/* cards */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.grid-3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.grid-4{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.card{background:var(--white);border:1px solid var(--line);border-top:3px solid var(--gold);border-radius:6px;padding:28px;box-shadow:0 1px 4px rgba(22,35,63,.06)}
.card h3{font-size:1.15rem;margin-bottom:10px}
.card p{color:var(--slate);font-size:.97rem}
.card .who{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:700;margin-bottom:8px}
.card a.more{display:inline-block;margin-top:14px;font-weight:600;color:var(--navy2)}
.card a.more:hover{color:var(--gold)}
/* dark band */
.band{background:var(--navy);color:#d7dded;padding:70px 0}
.band h2{color:var(--white)}
.band .kicker{color:var(--gold-soft)}
/* lists */
ul.checks{list-style:none;margin:18px 0}
ul.checks li{padding:8px 0 8px 32px;position:relative}
ul.checks li::before{content:"";position:absolute;left:0;top:14px;width:16px;height:16px;background:var(--gold);clip-path:polygon(14% 44%,0 60%,40% 100%,100% 16%,84% 4%,40% 70%)}
/* table */
table{width:100%;border-collapse:collapse;background:var(--white);font-size:.95rem;margin:24px 0}
th{background:var(--navy);color:var(--white);text-align:left;padding:12px 16px;font-weight:600}
td{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:none}
td.no{color:#9aa3b5}
/* timeline */
.timeline{list-style:none;margin:30px 0;position:relative;padding-left:34px}
.timeline::before{content:"";position:absolute;left:9px;top:6px;bottom:6px;width:2px;background:var(--gold)}
.timeline li{position:relative;padding:0 0 30px 10px}
.timeline li::before{content:"";position:absolute;left:-32px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--navy);border:3px solid var(--gold)}
.timeline b{display:block;font-family:'Fraunces',Georgia,serif;color:var(--navy);font-size:1.05rem}
.timeline span.when{font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);font-weight:700}
/* quote */
blockquote{border-left:4px solid var(--gold);padding:10px 0 10px 26px;margin:34px 0;font-family:'Fraunces',Georgia,serif;font-size:1.3rem;color:var(--navy);max-width:760px}
/* capstone box */
.capstone{background:var(--navy);color:#d7dded;border-radius:6px;padding:30px;margin:34px 0}
.capstone h3{color:var(--gold-soft);margin-bottom:8px}
/* form */
form{max-width:640px}
label{display:block;font-weight:600;margin:20px 0 6px;color:var(--navy)}
input,select,textarea{width:100%;padding:12px;border:1px solid #c9c4b8;border-radius:4px;font:inherit;background:var(--white)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--gold)}
.note{font-size:.88rem;color:var(--slate);margin-top:8px}
/* footer */
footer{background:#101a30;color:#8b97b3;padding:50px 0 40px;font-size:.9rem}
footer .brand{font-size:1.1rem}
footer .cols{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:26px}
footer a{color:#aeb8cc}
footer a:hover{color:var(--gold-soft)}
footer .links{display:flex;gap:18px;flex-wrap:wrap}
.fineprint{border-top:1px solid #24314e;padding-top:20px;font-size:.82rem}
/* page hero (interior) */
.page-hero{background:linear-gradient(160deg,var(--navy),var(--navy2));color:var(--white);padding:60px 0 50px}
.page-hero h1{color:var(--white);font-size:clamp(1.7rem,3.5vw,2.5rem);max-width:800px}
.page-hero p{color:#d7dded;max-width:700px;margin-top:14px;font-size:1.1rem}
.stat{text-align:center}
.stat .n{font-family:'Fraunces',Georgia,serif;font-size:2.4rem;color:var(--gold);font-weight:700}
.stat .l{font-size:.9rem;color:#aeb8cc;max-width:200px;margin:0 auto}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:820px){.two-col{grid-template-columns:1fr}.btn-ghost{margin-left:0;margin-top:12px}}
