@font-face{font-family:Atkinson;src:url(/fonts/atkinson-hyperlegible-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Atkinson;src:url(/fonts/atkinson-hyperlegible-700.woff2) format("woff2");font-weight:700;font-display:swap}
*{box-sizing:border-box}body{margin:0;font:1.2rem/1.6 Atkinson,system-ui,sans-serif;color:#111;background:#fff}
a{color:#0a3d91;text-underline-offset:3px}a:focus-visible,.btn:focus-visible{outline:3px solid #111;outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:9}
header,main,footer{max-width:44rem;margin:0 auto;padding:1rem 1.25rem}
header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}
.brand{font-weight:700;font-size:1.4rem;text-decoration:none;color:#111}
nav a{display:inline-block;padding:.6rem .5rem;min-height:44px}
h1{font-size:2.3rem;line-height:1.2;margin:.5rem 0}h2{font-size:1.5rem;margin-top:2rem}
.lede{font-size:1.35rem}.sub{color:#3d3d3d;font-size:1.25rem;margin:0}
.btn{display:inline-block;background:#0a3d91;color:#fff;font-weight:700;padding:1rem 1.5rem;border-radius:14px;text-decoration:none;min-height:56px;font-size:1.3rem}
.card{background:#f3f4f6;border-radius:14px;padding:1rem 1.25rem;margin:1rem 0}
footer{border-top:1px solid #5a5a5a;margin-top:3rem;font-size:1rem}footer a{display:inline-block;padding:.5rem .4rem;min-height:44px}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}