/* Optimized Animations for better performance */

/* Use will-change and transform3d for GPU acceleration */
.wow,
.fadeInUp,
.text-anime-style-3,
.animated {
  will-change: opacity, transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000;
  perspective: 1000;
}

/* Optimize fadeInUp animation */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

/* Reduce animation-fill-mode overhead */
.animated {
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
}

/* Disable animations on reduce-motion preference */
@media (prefers-reduced-motion: reduce) {
  .wow,
  .fadeInUp,
  .text-anime-style-3,
  .animated {
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

/* Optimize hover transitions */
.image-anime:hover:after {
  transition: height 0.4s ease-out, background-color 0.4s ease-out;
}

/* Remove heavy transition on all elements */
.hero-btn,
.btn-default {
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Optimize reveal animations */
.reveal {
  will-change: transform;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}
