/* Shared accessibility improvements; loaded after each page's existing styles. */
:root { --focus-dark: #102f40; --focus-light: #fff; }
:focus-visible { outline: 3px solid var(--focus-dark) !important; outline-offset: 3px; box-shadow: 0 0 0 3px var(--focus-light) !important; }
input:not([type=radio]):not([type=checkbox]):not([type=submit]), textarea, select { border-color: #596f7a !important; }
html { scroll-padding-top: var(--header-offset, 6rem); }
[id] { scroll-margin-top: var(--header-offset, 6rem); }
main:focus { outline: none; }
.sr-only { position: absolute; left: 0; top: 0; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.table-wrap { overflow-x: auto; max-width: 100%; }
.table-wrap:focus-visible { outline-offset: -3px; }
caption { text-align: left; padding: .75rem; font-weight: 700; color: #153c52; background: #fff; }
.responsive-table { min-width: 36rem; }
video { display: block; width: 100%; max-height: 75vh; background: #000; }
@media (max-width: 820px) {
  /* An expanded navigation cannot cover content or consume the whole zoomed viewport. */
  header, .site-header { position: static !important; }
  .brand { white-space: normal !important; }
  .header-inner, .nav-wrap { min-width: 0; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .section-tile:hover { transform: none !important; }
}
@media (forced-colors: active) {
  :focus-visible { outline: 3px solid Highlight !important; box-shadow: none !important; }
  input, textarea, select, button { border: 1px solid ButtonText !important; }
}

.help-panel .qr-card, .help-panel .qr-card p { color: #24343d; }

.file-type { font-size: .9em; }
.table-scroll-hint { display: none; }
@media (max-width: 620px) { .table-scroll-hint { display: block; } }
a { overflow-wrap: anywhere; }
body { overflow-wrap: anywhere; }

.caption-controls { margin: .75rem 0; }
.caption-toggle { font: inherit; font-weight: 600; padding: .6rem 1rem; min-height: 44px; color: #fff; background: #075f6b; border: 2px solid #075f6b; border-radius: .35rem; cursor: pointer; }
.caption-toggle:hover { background: #034852; border-color: #034852; }
.caption-toggle:focus-visible { outline: 3px solid #153c52; outline-offset: 3px; }
