/* Animation Classes */
.fade-in {
    opacity: 0;
    transition: opacity var(--transition-slow);
}

.fade-in.visible {
    opacity: 1;
}

.slide-up {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

.slide-up.visible {
    opacity: 1;
    transform: translateY(0);
}

.stagger-parent .stagger-child {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity var(--transition-normal), transform var(--transition-normal);
}

.stagger-parent.visible .stagger-child {
    opacity: 1;
    transform: translateY(0);
}

.stagger-parent.visible .stagger-child:nth-child(1) {
    transition-delay: 0.1s;
}

.stagger-parent.visible .stagger-child:nth-child(2) {
    transition-delay: 0.2s;
}

.stagger-parent.visible .stagger-child:nth-child(3) {
    transition-delay: 0.3s;
}