/* Scroll Animations */
@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes scroll-reverse {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}

.fade-in-left {
    opacity: 0;
    transform: translateX(-48px);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in-left.visible {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-right {
    opacity: 0;
    transform: translateX(48px);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
    transition-delay: 200ms;
}

.fade-in-right.visible {
    opacity: 1;
    transform: translateX(0);
}

.fade-in-up {
    opacity: 0;
    transform: translateY(48px);
    transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.fade-in-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.delay-100 {transition-delay: 100ms !important;}
.delay-200 {transition-delay: 200ms !important;}
.delay-300 {transition-delay: 300ms !important;}
.delay-400 {transition-delay: 400ms !important;}
.delay-500 {transition-delay: 500ms !important;}
.delay-600 {transition-delay: 600ms !important;}