:root{--bg:#fff;--fg:#1a1a1a;--accent:#0b3d91;--muted:#444;--card:#f3f5f9}
*{box-sizing:border-box}
html{scroll-behavior:auto;scroll-padding-top:5rem}
body{margin:0;font:1.125rem/1.6 system-ui,-apple-system,"Segoe UI",Arial,sans-serif;color:var(--fg);background:var(--bg)}
header,main,footer{max-width:60rem;margin:0 auto;padding:1rem 1.25rem}
header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;border-bottom:2px solid var(--accent)}
.brand{font-weight:700;margin:0}
nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:1rem;margin:0;padding:0}
a{color:var(--accent);text-underline-offset:.15em}
a:focus-visible,.button:focus-visible{outline:3px solid #000;outline-offset:3px;box-shadow:0 0 0 6px #ffd400}
.skip{position:absolute;left:.5rem;top:-4rem;background:#000;color:#fff;padding:.75rem 1rem;z-index:10}
.skip:focus{top:.5rem}
h1{font-size:2.25rem;line-height:1.2;margin:1.5rem 0 .25rem}
h2{font-size:1.65rem;margin:2.5rem 0 .75rem;border-bottom:1px solid #999}
h3{font-size:1.2rem;margin:0 0 .25rem}
.lead{font-size:1.3rem;color:var(--muted);margin-top:0}
.button{display:inline-block;background:var(--accent);color:#fff;padding:.75rem 1.25rem;border-radius:.4rem;text-decoration:none;font-weight:700}
.button:hover{background:#082a66}
.cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1rem}
.cards li{background:var(--card);border:1px solid #c5ccd9;border-radius:.5rem;padding:1rem}
.cards p{margin:0}
.plain{padding-left:1.25rem}
.plain li{margin-bottom:.6rem}
footer{border-top:1px solid #999;margin-top:2rem;color:var(--muted);font-size:1rem}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
label{display:block;font-weight:700;margin-bottom:.25rem}
input[type=text],input[type=email],input[type=url],select,textarea{width:100%;max-width:40rem;font:inherit;color:var(--fg);background:#fff;border:2px solid #555;border-radius:.3rem;padding:.6rem}
input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:3px solid #000;outline-offset:2px;box-shadow:0 0 0 6px #ffd400}
input[aria-invalid=true],textarea[aria-invalid=true],select[aria-invalid=true]{border-color:#b00020;border-width:3px}
.hint{display:block;color:var(--muted);font-size:1rem}
.hp{position:absolute;left:-9999px}
button.button{border:0;font:inherit;font-weight:700;cursor:pointer}
.errors{border:3px solid #b00020;background:#fff4f4;padding:.75rem 1rem;margin:1rem 0;max-width:40rem}
.errors:focus-visible{outline:3px solid #000}
.errors ul{margin:.25rem 0 0;padding-left:1.25rem}
.errors a{color:#8a0017}

.field-error{display:block;color:#8a0017;font-weight:700;font-size:1rem;margin-top:.25rem}

.logo{display:block;width:28rem;max-width:100%;height:auto}.brand{flex-basis:100%}
