/* Scroll Animations */
.animate-initial {
  opacity: 0;
  transform: translateY(20px);
}

.animate-in {
  animation-duration: 0.6s !important;
  animation-fill-mode: both !important;
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.animate-fade {
  animation-name: fadeIn !important;
}

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

.animate-slide-up {
  animation-name: slideUp !important;
}

@keyframes slideUp {
  from { 
    opacity: 0; 
    transform: translateY(30px); 
  }
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}

@media (prefers-reduced-motion: reduce) {
  .animate-initial {
    opacity: 1 !important;
    transform: none !important;
  }
  .animate-in {
    animation: none !important;
  }
  * {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
