/* _a11y.css: WCAG 2.1 AA accessibility layer (shared VC pattern, from TTC).
   Focus-visible rings, skip link, sr-only, reduced motion, forced colors. */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, [tabindex]:focus-visible,
[role="button"]:focus-visible, iframe:focus-visible {
  outline: 3px solid #2f6b45 !important;
  outline-offset: 3px !important;
  border-radius: 6px;
}
@supports not selector(:focus-visible) {
  a:focus, button:focus, input:focus, select:focus, textarea:focus, summary:focus, [tabindex]:focus {
    outline: 3px solid #2f6b45 !important; outline-offset: 3px !important;
  }
}
.dark a:focus-visible, .dark button:focus-visible, .cta-band a:focus-visible,
.site-foot a:focus-visible, .on-dark a:focus-visible, .shell-dark a:focus-visible {
  outline-color: #a4da9b !important;
}
main:focus { outline: none; }
.skip-link { position: absolute; left: -9999px; top: 0; z-index: 100; }
.skip-link:focus { left: 12px; top: 12px; padding: 12px 18px; background: #1a3835; color: #fdfcf6;
  border-radius: 999px; text-decoration: none; font-weight: 600; }
.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
html { -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important;
    transition-duration: .001ms !important; scroll-behavior: auto !important; }
}
@media (forced-colors: active) {
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid CanvasText !important;
  }
  .btn { border: 1px solid ButtonText; }
}
