:root { color-scheme: light; font-family: system-ui, sans-serif; color: #132c3a; background: #f5f7f9; font-size: 16px; line-height: 1.65; }
* { box-sizing: border-box; }
[hidden] { display: none !important; }
body { margin: 0; overflow-wrap: anywhere; }
header, main, footer { max-width: 52rem; margin: 0 auto; padding: 1.2rem max(1rem, env(safe-area-inset-left)) 1.2rem max(1rem, env(safe-area-inset-right)); }
header { border-bottom: 1px solid #c8d4da; }
.brand { font-weight: 800; letter-spacing: .18em; color: #123549; }
nav, .utilities { display: flex; flex-wrap: wrap; gap: .2rem 1rem; }
a { color: #005b78; text-decoration-thickness: .08em; text-underline-offset: .2em; }
nav a, .utilities a { min-height: 44px; display: inline-flex; align-items: center; }
a[aria-current] { font-weight: 750; }
a:focus-visible { outline: 3px solid #bc4b00; outline-offset: 4px; border-radius: 2px; }
h1 { font-size: clamp(1.8rem, 5vw, 2.6rem); line-height: 1.15; margin: .5rem 0; }
h2 { font-size: 1.2rem; line-height: 1.4; margin: 2rem 0 .6rem; }
p { margin: .8rem 0; }
.version, footer { color: #435b69; font-size: .9rem; }
footer { border-top: 1px solid #c8d4da; padding-bottom: max(1.5rem, env(safe-area-inset-bottom)); }
.skip { position: absolute; top: -10rem; padding: .75rem; background: white; }
.skip:focus { top: 0; }
@media print { header, footer, .skip { display: none; } :root { background: white; color: black; font-size: 11pt; } main { padding: 0; max-width: none; } h2 { break-after: avoid; } a { color: inherit; } a[href^="https"]::after { content: " (" attr(href) ")"; font-size: 9pt; } }
