/* Shared keyboard and form accessibility, loaded after page styles. */
:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #12614d !important;
  outline-offset: 4px;
}
:where(input, select, textarea)[aria-invalid="true"] {
  border-color: #a52222;
  box-shadow: 0 0 0 1px #a52222;
}
.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 9999;
  padding: 12px 18px;
  color: #fff;
  background: #123f33;
  border-radius: 5px;
  transform: translateY(-180%);
}
.skip-link:focus { transform: translateY(0); }
.form-status:focus { outline: 2px solid currentColor; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
}
