@media (prefers-reduced-motion: no-preference) {
  .fade-in,
  .slide-up {
    opacity: 0;
    transition: opacity var(--transition-slow), transform var(--transition-slow);
  }

  .fade-in {
    transform: translateY(0);
  }

  .slide-up {
    transform: translateY(28px);
  }

  .fade-in.is-visible,
  .slide-up.is-visible {
    opacity: 1;
    transform: translateY(0);
  }

  .stagger > * {
    transition-delay: calc(var(--stagger-index, 0) * 90ms);
  }
}

.hover-zoom {
  overflow: hidden;
}

.hover-zoom img {
  transition: transform var(--transition-slow);
}

.hover-zoom:hover img {
  transform: scale(1.08);
}
