/* Site-wide accessibility enhancements. */

:where(a, button, summary, [role="button"]):focus-visible {
  outline: none;
  border-radius: 4px;
  box-shadow: 0 0 0 3px #fff, 0 0 0 6px var(--wp--preset--color--contrast);
}

:where(input, select, textarea):focus-visible {
  outline: 3px solid var(--wp--preset--color--accent);
  outline-offset: 2px;
}

.ta-pathway-link:focus-visible {
  box-shadow: none;
}

.ta-site-main [id] {
  scroll-margin-top: 6rem;
}

.ta-program-card:focus-within {
  transform: translateY(-4px);
  box-shadow: var(--ta-shadow-soft);
}

.ta-contact-form-card input[type="text"],
.ta-contact-form-card input[type="email"],
.ta-contact-form-card select,
.ta-contact-form-card textarea {
  border-color: #8a8a8a;
}

.ta-contact-form-card .wpcf7-not-valid {
  border-color: var(--wp--preset--color--accent);
}

.ta-stat-value {
  font-weight: 750;
  line-height: 1.08;
  letter-spacing: -.025em;
}

.ta-result-card h3 {
  max-width: 250px;
  margin: .35rem auto .65rem;
  font-size: 1.05rem;
  line-height: 1.25;
}

@media (max-width: 781px) {
  .ta-result-card h3 {
    grid-column: 2;
    margin: .15rem 0 .45rem;
  }
}

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

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }

  .ta-program-card:hover,
  .ta-program-card:focus-within {
    transform: none;
  }
}

@media (forced-colors: active) {
  :where(a, button, summary, [role="button"]):focus-visible {
    outline: 2px solid Highlight;
    outline-offset: 2px;
    box-shadow: none;
  }
}
