/* Scroll Reveal Animations */

/* Hidden state - elements start invisible */
[data-reveal] {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Revealed state - smooth fade in and slide up */
[data-reveal].revealed {
  opacity: 1;
  transform: translateY(0);
}

/* JavaScript-based reveal animations */
.reveal-hidden {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.reveal-fade-up {
  opacity: 1;
  transform: translateY(0);
}

.reveal-stagger {
  opacity: 0;
  transform: translateY(20px);
}

.reveal-stagger [data-reveal-item] {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

/* Prevent animation on page load for elements already visible */
@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .reveal-hidden {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .reveal-stagger,
  .reveal-stagger [data-reveal-item] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
