/* Base animation class */
.animate-on-scroll {
    opacity: 0;
    /* will-change removed to prevent layer discarding */
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

/* Visibility state */
.animate-on-scroll.visible {
    opacity: 1;
    transform: none;
}

/* Fade Up */
.fade-up {
    transform: translateY(30px);
}

/* Zoom In */
.zoom-in {
    transform: scale(0.9);
}

/* Fade In */
.fade-in {
    opacity: 0;
}

/* Delays */
.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }
.delay-500 { transition-delay: 0.5s; }
.delay-600 { transition-delay: 0.6s; }
.delay-800 { transition-delay: 0.8s; }
.delay-1000 { transition-delay: 1s; }

/* Durations */
.duration-400 { transition-duration: 0.4s; }
.duration-600 { transition-duration: 0.6s; }
.duration-800 { transition-duration: 0.8s; }
.duration-1000 { transition-duration: 1s; }
