/* Small interaction cues that preserve the editorial look. */
a,
button,
.card,
.work-card,
.guide-grid article,
.contact-grid article,
.resource-grid a,
.quick-links a,
.post-card,
.story-steps article {
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease,
    box-shadow 180ms ease, translate 180ms ease, scale 180ms ease;
}

.home-header nav a,
.top nav a {
  position: relative;
}

.home-header nav a::after,
.top nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 3px;
  background: #ffc72c;
  scale: 0 1;
  transform-origin: center;
  transition: scale 160ms ease;
}

@media (hover: hover) {
  .home-header nav a:hover::after,
  .top nav a:hover::after {
    scale: 1 1;
  }

  .button:hover,
  .cta:hover,
  .journal-button:hover {
    translate: 0 -3px;
  }

  .guide-grid article:hover,
  .contact-grid article:hover,
  .work-card:hover,
  .resource-grid a:hover,
  .card:hover,
  .quick-links a:hover,
  .post-card:hover,
  .story-steps article:hover {
    translate: 0 -6px;
  }

  .resource-grid a:hover,
  .quick-links a:hover {
    border-color: #ffc72c;
  }

  .faq-list details:hover,
  .faq-group details:hover {
    background: rgba(255, 199, 44, 0.1);
  }

  .sponsor img:hover {
    scale: 1.025;
  }
}

a:focus-visible,
button:focus-visible,
summary:focus-visible {
  outline: 3px solid #ffc72c;
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}
