/* Animations - Professional & Subtle */

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUpFade {
    0% {
        transform: translateY(20px) scale(0.98);
        opacity: 0;
    }

    100% {
        transform: translateY(0) scale(1);
        opacity: 1;
    }
}

/* Utilities */
.animate-fade-in {
    animation: fadeIn 0.4s var(--ease-out) backwards;
}

.animate-slide-up {
    animation: slideUpFade 0.5s var(--ease-standard) backwards;
}

/* Redefine legacy classes for backward compatibility */
.animate-bounce-in {
    animation: slideUpFade 0.6s var(--ease-standard) backwards;
}

/* Staggered Delays (up to 10 items) */
.stagger-1 {
    animation-delay: 0.04s;
}

.stagger-2 {
    animation-delay: 0.08s;
}

.stagger-3 {
    animation-delay: 0.12s;
}

.stagger-4 {
    animation-delay: 0.16s;
}

.stagger-5 {
    animation-delay: 0.2s;
}

.stagger-6 {
    animation-delay: 0.24s;
}

.stagger-7 {
    animation-delay: 0.28s;
}

.stagger-8 {
    animation-delay: 0.32s;
}

.stagger-9 {
    animation-delay: 0.36s;
}

.stagger-10 {
    animation-delay: 0.4s;
}

/* Grid helper for cards */
.grid-container>* {
    animation: slideUpFade 0.5s var(--ease-standard) backwards;
}

/* Keep internal dropdown animations if they exist, but flatten them */
@keyframes expandFlat {
    0% {
        transform: scaleY(0.9);
        opacity: 0;
        max-height: 0;
    }

    100% {
        transform: scaleY(1);
        opacity: 1;
        max-height: 2000px;
    }
}

@keyframes bounceIn {
    0% {
        transform: scale(0.95);
        opacity: 0;
    }

    60% {
        transform: scale(1.02);
    }

    100% {
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes collapseFlat {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(-4px);
        opacity: 0;
    }
}