@media (prefers-reduced-motion: no-preference) {
  .s4-featured-card,
  .s4-project-card,
  .s4-related-card,
  .s4-resource,
  .s4-button {
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
  }

  .s4-featured-card img,
  .s4-project-card img {
    transition: transform 420ms ease;
  }

  .s4-featured-card:hover,
  .s4-project-card:hover,
  .s4-related-card:hover,
  .s4-resource:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 44px rgba(9, 31, 23, 0.15);
  }

  .s4-featured-card:hover img,
  .s4-project-card:hover img {
    transform: scale(1.025);
  }

  .s4-js [data-detail-section] {
    animation: s4-reveal 420ms ease both;
  }
}

@keyframes s4-reveal {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .s4-page *, .s4-page *::before, .s4-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
}

.s4-force-reduced-motion {
  scroll-behavior: auto;
}

.s4-force-reduced-motion *,
.s4-force-reduced-motion *::before,
.s4-force-reduced-motion *::after {
  scroll-behavior: auto !important;
  animation-duration: 0.001ms !important;
  animation-iteration-count: 1 !important;
  transition-duration: 0.001ms !important;
}
