/* ==================== Animations - Enhanced ==================== */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes fadeIn {
            from {
                opacity: 0;
            }
            to {
                opacity: 1;
            }
        }

        @keyframes slideInRight {
            from {
                opacity: 0;
                transform: translateX(-40px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes slideInLeft {
            from {
                opacity: 0;
                transform: translateX(40px);
            }
            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        @keyframes scaleIn {
            from {
                opacity: 0;
                transform: scale(0.9);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }

        @keyframes float {
            0%, 100% {
                transform: translateY(0);
            }
            50% {
                transform: translateY(-15px);
            }
        }

        @keyframes pulse {
            0%, 100% {
                opacity: 1;
            }
            50% {
                opacity: 0.7;
            }
        }

        @keyframes shimmer {
            0% {
                background-position: -1000px 0;
            }
            100% {
                background-position: 1000px 0;
            }
        }

        @keyframes rotate {
            from {
                transform: rotate(0deg);
            }
            to {
                transform: rotate(360deg);
            }
        }

        /* Animation Classes */
        .fade-in {
            opacity: 0;
            animation: fadeIn 0.8s var(--ease-out) forwards;
        }

        .slide-in-right {
            opacity: 0;
            animation: slideInRight 0.8s var(--ease-out) forwards;
        }

        .slide-in-left {
            opacity: 0;
            animation: slideInLeft 0.8s var(--ease-out) forwards;
        }

        .scale-in {
            opacity: 0;
            animation: scaleIn 0.6s var(--ease-spring) forwards;
        }

        /* Stagger Animations */
        .fade-in:nth-child(1) { animation-delay: 0.1s; }
        .fade-in:nth-child(2) { animation-delay: 0.2s; }
        .fade-in:nth-child(3) { animation-delay: 0.3s; }
        .fade-in:nth-child(4) { animation-delay: 0.4s; }
        .fade-in:nth-child(5) { animation-delay: 0.5s; }
        .fade-in:nth-child(6) { animation-delay: 0.6s; }

        /* Hover Animations */
        .hover-lift {
            transition: transform var(--transition-base) var(--ease-out);
        }

        .hover-lift:hover {
            transform: translateY(-4px);
        }

        .hover-scale {
            transition: transform var(--transition-base) var(--ease-out);
        }

        .hover-scale:hover {
            transform: scale(1.05);
        }

        /* Loading Animation */
        .loading-shimmer {
            background: linear-gradient(
                90deg,
                var(--gray-200) 0%,
                var(--gray-100) 50%,
                var(--gray-200) 100%
            );
            background-size: 1000px 100%;
            animation: shimmer 2s infinite;
        }

        /* ==================== Loading Spinner ==================== */
        .spinner {
            display: inline-block;
            width: 20px;
            height: 20px;
            border: 3px solid rgba(255, 255, 255, 0.3);
            border-radius: 50%;
            border-top-color: white;
            animation: spin 0.6s linear infinite;
        }

        @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }