:root{--ink:#13284A;--deep:#0F2140;--paper:#F5F8FA;--mist:#E3ECF2;--white:#fff;--slate:#33475B;--muted:#5D7083;--gold:#E8B45A;--line:#CFDAE3;--serif:"Newsreader",Georgia,"Times New Roman",serif;--sans:"Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--slate);background:var(--paper);font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
a{color:inherit}
img{max-width:100%;display:block}
.wrap{width:min(1040px,100% - 48px);margin-inline:auto}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
header{position:sticky;top:0;z-index:20;background:rgba(19,40,74,.97);padding-top:env(safe-area-inset-top,0px)}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.mark{font-family:var(--serif);font-size:21px;color:#fff;text-decoration:none;white-space:nowrap}
.mark span{color:var(--gold)}
.navlinks{display:flex;gap:18px;align-items:center}
.navlinks a{color:#C9D6E6;text-decoration:none;font-size:15px}
.navlinks a:hover{color:#fff}
.navlinks .cta{background:var(--gold);color:var(--ink);font-weight:600;padding:8px 16px;border-radius:999px}
.page-hero{background:radial-gradient(800px 500px at 80% 40%,#24477E 0%,var(--ink) 62%);color:#fff;padding:56px 0 64px}
.crumbs{font-size:14px;color:#8EA4BE}
.crumbs a{color:#C9D6E6}
.page-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5vw,56px);line-height:1.08;margin-top:14px;max-width:18em}
.page-hero .lede{margin-top:18px;font-size:clamp(18px,2vw,21px);color:#E6EDF6;max-width:36em}
.byline{margin-top:22px;display:flex;align-items:center;gap:14px}
.byline img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top;border:2px solid var(--gold)}
.byline strong{display:block;color:#fff;font-weight:600}
.byline span{font-size:14px;color:#AFC1D6}
section.s{padding:64px 0}
section.s.alt{background:var(--white)}
section.s.dark{background:var(--deep);color:#fff}
h2{font-family:var(--serif);font-weight:400;color:var(--ink);font-size:clamp(28px,3.6vw,40px);line-height:1.12}
.dark h2{color:#fff}
h3{font-family:var(--serif);font-weight:500;color:var(--ink);font-size:22px;line-height:1.25}
.dark h3{color:#fff}
p+p{margin-top:16px}
.prose{max-width:44em}
.prose p{margin-top:16px}
.prose a,.cardlist a,.archive a .t{text-decoration-color:var(--gold);text-underline-offset:4px}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:0 48px;margin-top:28px;list-style:none}
.grid2 li{padding:22px 0;border-top:1px solid var(--line)}
.grid2 p{margin-top:6px;color:var(--muted);font-size:16px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:28px;list-style:none}
.grid4 li{background:var(--ink);color:#fff;border-radius:12px;padding:20px}
.grid4 h3{color:#fff;font-size:19px}
.grid4 p{margin-top:6px;font-size:15px;color:#C9D6E6}
.chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.chips li{background:var(--mist);color:var(--ink);font-size:15px;font-weight:500;padding:8px 15px;border-radius:999px}
.facts{list-style:none;margin-top:24px}
.facts li{padding:16px 0 16px 28px;border-top:1px solid var(--line);position:relative}
.facts li::before{content:"";position:absolute;left:4px;top:25px;width:10px;height:10px;border-radius:50%;background:var(--gold)}
.dark .facts li{border-color:rgba(255,255,255,.14);color:#C9D6E6}
.dark .facts a{color:var(--gold)}
.archive{list-style:none;margin-top:28px}
.archive li{border-top:1px solid rgba(255,255,255,.14)}
.archive a{display:grid;grid-template-columns:80px 1fr;gap:18px;align-items:baseline;padding:18px 0;text-decoration:none}
.archive .yr{font-family:var(--serif);font-size:26px;color:var(--gold)}
.archive .t{font-size:18px;font-weight:500;color:#fff;line-height:1.4}
.archive .d{display:block;margin-top:4px;font-size:15px;color:#AFC1D6;font-weight:400}
.archive a:hover .t{color:var(--gold)}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 0;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;width:28px;height:28px;border-radius:50%;background:var(--mist);display:flex;align-items:center;justify-content:center;font:500 19px var(--sans)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 18px;color:var(--muted)}
.cta-band{background:var(--ink);color:#fff;text-align:center;padding:64px 0}
.cta-band h2{color:#fff}
.cta-band p{margin:14px auto 0;max-width:34em;color:#AFC1D6}
.btn{display:inline-block;margin-top:26px;padding:14px 26px;border-radius:999px;background:var(--gold);color:var(--ink);font-weight:600;text-decoration:none}
.btn:hover{background:#F2C676}
.related{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}
.related a{display:block;height:100%;background:var(--white);border-radius:12px;padding:20px;text-decoration:none;box-shadow:0 1px 0 var(--line)}
.related strong{display:block;font-family:var(--serif);font-weight:500;font-size:20px;color:var(--ink)}
.related span{display:block;margin-top:6px;font-size:15px;color:var(--muted)}
.related a:hover strong{text-decoration:underline;text-decoration-color:var(--gold)}
footer{background:var(--deep);color:#8EA4BE;font-size:14px;padding:28px 0 calc(28px + env(safe-area-inset-bottom,0px))}
footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
footer a{color:#C9D6E6}
@media (max-width:860px){.grid2{grid-template-columns:1fr}.grid4{grid-template-columns:repeat(2,1fr)}.grid4 p{display:none}.related{grid-template-columns:1fr}}
@media (max-width:700px){body{font-size:16px}.wrap{width:calc(100% - 40px)}.navlinks a:not(.cta){display:none}section.s{padding:48px 0}.page-hero{padding:40px 0 48px}.archive a{grid-template-columns:62px 1fr;gap:12px}.archive .t{font-size:16.5px}}
.mark{display:flex;align-items:center;gap:14px}.mlogo{height:38px;width:auto;padding-right:14px;border-right:1px solid rgba(255,255,255,.25)}@media (max-width:760px){.mlogo{display:none}}
