/* ============================================================
   ICG Theme — animations.css
   Intersection Observer based entrance animations
   ============================================================ */

/* Base state: hidden */
[data-animate] {
  opacity: 0;
  transition-property: opacity, transform;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition-duration: 700ms;
}

[data-animate="fade-up"]    { transform: translateY(30px); }
[data-animate="fade-down"]  { transform: translateY(-30px); }
[data-animate="fade-right"] { transform: translateX(-30px); }
[data-animate="fade-left"]  { transform: translateX(30px); }
[data-animate="fade-in"]    { transform: scale(0.96); }
[data-animate="zoom-in"]    { transform: scale(0.85); }

/* Delay utility */
[data-delay="100"] { transition-delay: 100ms; }
[data-delay="150"] { transition-delay: 150ms; }
[data-delay="200"] { transition-delay: 200ms; }
[data-delay="300"] { transition-delay: 300ms; }
[data-delay="400"] { transition-delay: 400ms; }
[data-delay="500"] { transition-delay: 500ms; }

/* Animated state: visible */
[data-animate].is-visible {
  opacity: 1;
  transform: none;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  [data-animate] {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
