/* Animation utilities */
[data-animate] {
  will-change: opacity, transform;
}

/* GPU acceleration for animated elements */
.card,
.btn,
[data-animate] {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Remove will-change after animation for performance */
[data-animate].animated {
  will-change: auto;
}

/* Additional class for animation completion cleanup */
[data-animate].animation-complete {
  will-change: auto;
}

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

/* Stagger container */
[data-stagger] > [data-animate] {
  transition-delay: var(--stagger-delay, 0ms);
}
