/* ===========================================================================
 * ACCESSIBILITY
 *
 * Cross-cutting a11y rules. Per-feature reduced-motion overrides that
 * need specific knowledge (like pausing the panorama animation) live in
 * their own module files; the global rule here just dampens any
 * animations/transitions sitewide when the OS pref is set.
 * ===========================================================================
 */

/* Visible keyboard focus indicators. Outline on focus-visible only, so
   mouse/touch interactions don't get the outline — mouse users don't
   need it and it'd visually noise up normal clicks. */
.accordion-strip .strip-header:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.3);
  outline-offset: -2px;
}

.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.4);
  outline-offset: 2px;
}

/* Global reduced-motion dampening. Collapses all CSS animations and
   transitions to ~1 frame so users with motion sensitivity don't get
   hit by incidental motion. Individual feature files may have their
   own finer-grained reduced-motion rules (e.g. css/strip-panorama.css
   pauses the pan explicitly). */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
