/* ============================================================
   CUSTOM ANIMATIONS FOR BELOW VALUATION
   ============================================================ */

/* Base animation classes */
.animate-on-scroll {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}

/* Fade Up */
.animate-on-scroll.fade-up {
    transform: translateY(40px);
}
.animate-on-scroll.fade-up.visible {
    opacity: 1;
    transform: translateY(0);
}

/* Fade In */
.animate-on-scroll.fade-in {
    transform: translateY(0);
}
.animate-on-scroll.fade-in.visible {
    opacity: 1;
}

/* Slide Right */
.animate-on-scroll.slide-right {
    transform: translateX(-40px);
}
.animate-on-scroll.slide-right.visible {
    opacity: 1;
    transform: translateX(0);
}

/* Slide Left */
.animate-on-scroll.slide-left {
    transform: translateX(40px);
}
.animate-on-scroll.slide-left.visible {
    opacity: 1;
    transform: translateX(0);
}

/* Staggered Animations */
.stagger-1 { transition-delay: 0.1s; }
.stagger-2 { transition-delay: 0.2s; }
.stagger-3 { transition-delay: 0.3s; }
.stagger-4 { transition-delay: 0.4s; }
.stagger-5 { transition-delay: 0.5s; }

/* Disable animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
    .animate-on-scroll {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
}
