/* Accessibility and motion safeguards */
:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 3px;
}

[tabindex="-1"]:focus-visible {
  outline: none;
}

.sr-only {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

[hidden] {
  display: none;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation: none;
    transition: none;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-contrast: more) {
  :focus-visible {
    outline-width: 4px;
  }

  .tag,
  .btn-secondary,
  .input,
  .select,
  .textarea {
    border-width: 2px;
  }
}

@media (forced-colors: active) {
  .btn-primary,
  .btn-secondary,
  .tag,
  .nav-toggle,
  .site-nav-link,
  .input,
  .select,
  .textarea {
    border: 1px solid ButtonText;
  }

  .btn-primary,
  .btn-secondary,
  .tag {
    forced-color-adjust: auto;
  }
}

@media print {
  .hero,
  .proof-strip,
  .cta-band {
    background: transparent;
    color: var(--ink);
  }

  .hero h1,
  .hero-sub,
  .hero-eyebrow {
    color: var(--ink);
  }

  .skip-link,
  .nav-toggle,
  .site-nav {
    display: none;
  }
}
