:root { color-scheme: light; --ink:#10213f; --blue:#1246d8; --paper:#f7f3e9; --line:rgba(16,33,63,.18); }
* { box-sizing:border-box; }
html { font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; background:var(--paper); color:var(--ink); line-height:1.65; }
body { margin:0; }
a { color:var(--blue); text-underline-offset:.18em; }
a:focus-visible { outline:3px solid var(--blue); outline-offset:4px; }
.skip-link { position:fixed; top:.75rem; left:.75rem; z-index:2; transform:translateY(-200%); padding:.65rem 1rem; background:white; border:2px solid var(--blue); }
.skip-link:focus { transform:none; }
header, main, footer { width:min(760px,calc(100% - 2rem)); margin-inline:auto; }
header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.25rem 0; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font-weight:800; text-decoration:none; letter-spacing:-.03em; }
main { padding:clamp(2rem,7vw,5rem) 0; }
.eyebrow { color:var(--blue); font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
h1 { margin:.35rem 0 1rem; font-size:clamp(2.25rem,8vw,4.75rem); line-height:1; letter-spacing:-.055em; }
h2 { margin:2.25rem 0 .5rem; font-size:1.35rem; line-height:1.25; }
h3 { margin:1.5rem 0 .35rem; font-size:1rem; }
p, li { max-width:70ch; }
.summary { font-size:1.1rem; }
.notice { padding:1rem; border:1px solid var(--line); border-left:4px solid var(--blue); background:rgba(255,255,255,.55); }
footer { display:flex; flex-wrap:wrap; gap:.75rem 1.25rem; padding:1.5rem 0 2.5rem; border-top:1px solid var(--line); font-size:.9rem; }
@media (max-width:520px) { header { align-items:flex-start; flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; } }
