
:root { --site-header-height: 88px; }
html { scroll-padding-top: calc(var(--site-header-height) + 20px); }
[id], a, button, input, select, textarea, [tabindex] { scroll-margin-top: calc(var(--site-header-height) + 20px); scroll-margin-bottom: 24px; }
[hidden] { display: none !important; }
.skip-link { position: fixed; left: 16px; top: 12px; z-index: 1000; padding: 12px 18px; border: 2px solid #0b1f3a; border-radius: 6px; background: #d0ad63; color: #0b1f3a; font-weight: 700; transform: translateY(-180%); }
.skip-link:focus { transform: none; outline: 3px solid #fff; outline-offset: 2px; }
#main-content:focus { outline: none; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:not([tabindex="-1"]):focus-visible { outline: 3px solid #357783; outline-offset: 4px; box-shadow: 0 0 0 7px #fff; }
header a:focus-visible,header button:focus-visible,footer a:focus-visible { outline-color: #d0ad63; box-shadow: 0 0 0 7px #0b1f3a; }
.a11y-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media(prefers-reduced-motion: reduce) { html {scroll-behavior:auto !important;} }
