
        @keyframes gradient-x {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }
        .animate-gradient-x {
            background-size: 200% 200%;
            animation: gradient-x 3s ease-in-out infinite;
        }
        @keyframes shine {
            0% { left: -100%; }
            60% { left: 120%; }
            100% { left: 120%; }
        }
        .animate-shine {
            position: absolute;
            top: 0; left: 0; right: 0; bottom: 0;
            animation: shine 2s linear infinite;
        }
        .loader {
            border: 4px solid #f3f3f3;
            border-top: 4px solid #3b82f6;
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 1s linear infinite;
        }
        @keyframes shine {
            from {
                transform: translateX(-100%);
            }
            to {
                transform: translateX(200%);
            }
        }
        .animate-shine {
            animation: shine 2s infinite;
        }
        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }
        .section {
            display: none;
        }
        .section.active {
            display: block;
        }
        /* Page layering: ensure main content sits above decorative overlays */
        header, main, footer, .container, .section { position: relative; z-index: 10; }

        /* Hero animations */
        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(20px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes slideUp {
            0% {
                transform: translateY(0);
            }
            100% {
                transform: translateY(-200px);
            }
        }

        .animate-fade-in-up {
            animation: fadeInUp 1s ease forwards;
            opacity: 0;
        }

        .animate-slide-up {
            animation: slideUp 12s linear infinite;
        }

        .animation-delay-200 {
            animation-delay: 0.2s;
        }

        .animation-delay-400 {
            animation-delay: 0.4s;
        }
    