.fade-in-hidden {
  opacity: 0;
  transform: translateY(1.5rem);
  transition: opacity 0.5s ease-out, transform 0.5s ease-out;
}
.fade-in-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Respect prefers-reduced-motion: reduce (for accessibility).
   If user prefers reduced motion, override transitions. */
@media (prefers-reduced-motion: reduce) {
  .fade-in-hidden {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
