/* Site-wide accessibility helpers. Loaded on every page alongside the page's own inline <style>. */

/* Visually hidden but still announced by screen readers — for headings/labels that
   would be visually redundant with an existing styled element. */
.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;
}

/* Skip-to-content link: visually hidden until keyboard-focused, then pinned top-left. */
.skip-link {
  position: absolute;
  top: -100px;
  left: 12px;
  z-index: 1000;
  background: #14081c;
  color: #fff;
  padding: 10px 18px;
  border-radius: 8px;
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.3);
  transition: top 0.15s ease-out;
}

.skip-link:focus {
  top: 12px;
}

/* Respect the user's OS-level motion preference: cut animations/transitions down to
   nearly nothing instead of removing them outright (some, like focus outlines, still
   benefit from a near-instant transition rather than an abrupt style change). */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
