*{margin:0;padding:0;box-sizing:border-box}
:root{--ink:#10243a;--blue:#0b2a52;--sig:#b84300;--paper:#f4f6f8;--line:#cfd8e1;--muted:#47586a;--serif:Charter,'Bitstream Charter','Sitka Text',Cambria,Georgia,serif}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{font:1rem/1.65 system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;color:var(--ink);background:var(--paper)}
a{color:var(--blue)}a:hover{color:var(--sig)}
:focus-visible{outline:3px solid var(--sig);outline-offset:2px}
.skip{position:absolute;left:-999px;background:#fff;padding:.6rem 1rem;z-index:200}.skip:focus{left:1rem;top:1rem}
.w{max-width:1100px;margin:0 auto;padding:0 1.25rem}
header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}
header .w{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 2rem;padding-top:.8rem;padding-bottom:.8rem}
.logo{font:700 1.4rem var(--serif);color:var(--blue);text-decoration:none}.logo b{color:var(--sig)}
header ul{list-style:none;display:flex;flex-wrap:wrap;gap:.25rem 1.5rem}
header ul a{color:var(--ink);text-decoration:none;font-weight:500}header ul a:hover,header ul a[aria-current]{color:var(--sig);text-decoration:underline;text-underline-offset:.35em}
.hero{background:var(--blue);color:#fff;padding:clamp(3rem,8vw,6rem) 0}
.hero h1{font:700 clamp(2.1rem,5.5vw,3.9rem)/1.08 var(--serif);max-width:20ch;letter-spacing:-.02em}
.hero p{max-width:60ch;margin:1.4rem 0 2rem;font-size:1.15rem;color:#dbe6f5}
.search{display:flex;flex-wrap:wrap;gap:.6rem;background:#fff;padding:.6rem;border-radius:.6rem;max-width:760px}
.search label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.search select,.search input{flex:1 1 200px;font:inherit;padding:.8rem;border:1px solid var(--line);border-radius:.4rem;color:var(--ink);background:#fff}
.btn,.search button{font:700 1rem inherit;background:var(--sig);color:#fff;border:0;border-radius:.4rem;padding:.8rem 1.6rem;cursor:pointer;text-decoration:none;display:inline-block}
.btn:hover,.search button:hover{background:#963800;color:#fff}
section.s{padding:clamp(2.5rem,6vw,4.5rem) 0}
h2{font:700 clamp(1.6rem,3.4vw,2.3rem)/1.2 var(--serif);margin-bottom:1rem}
h3{font:700 1.15rem var(--serif);margin:1.8rem 0 .5rem}
.lede{max-width:62ch;color:var(--muted);margin-bottom:2rem}
dl.pf{border-bottom:1px solid var(--line)}
dl.pf div{display:grid;grid-template-columns:13rem 1fr;gap:.4rem 2rem;padding:1.1rem 0;border-top:1px solid var(--line)}
dl.pf dt{font:700 1.2rem var(--serif)}dl.pf dd{max-width:65ch;color:var(--muted)}
.bars{list-style:none;max-width:760px}.bars li{margin:1.1rem 0}
.bars span{display:flex;justify-content:space-between;font-weight:600;margin-bottom:.3rem}
.bars i{display:block;height:14px;background:#dfe6ed;border-radius:7px;overflow:hidden}.bars i b{display:block;height:100%;background:var(--blue)}
.note{font-size:.9rem;color:var(--muted);margin-top:1.5rem;max-width:70ch}
.prose{max-width:70ch;padding:clamp(2rem,5vw,4rem) 0}.prose h1{font:700 clamp(2rem,4.5vw,3rem)/1.1 var(--serif);margin-bottom:.5rem}
.prose p,.prose ul{margin:.8rem 0}.prose ul{padding-left:1.3rem}.prose .upd{color:var(--muted);font-size:.9rem;margin-bottom:2rem}
.todo{background:#fff3cd;padding:0 .25rem;border-radius:.2rem}
.crumb{font-size:.9rem;color:var(--muted);padding-top:1.5rem}
footer{background:var(--blue);color:#dbe6f5;padding:3rem 0 2rem;margin-top:2rem}
footer .w{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
footer a{color:#fff}footer ul{list-style:none}footer li{margin:.35rem 0}footer h2{font:700 1rem system-ui;margin-bottom:.6rem;color:#fff}
footer small{grid-column:1/-1;border-top:1px solid #35527d;padding-top:1.2rem}
@media(max-width:720px){dl.pf div{grid-template-columns:1fr}footer .w{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media(prefers-contrast:more){:root{--muted:#1d2b3a;--line:#5b6b7a}}