   /* Fade-in animation */
        .fade-in-section {
            opacity: 0;
            transform: translateY(30px);
            transition: opacity 0.8s ease, transform 0.8s ease;
        }

        .fade-in-section.visible {
            opacity: 1;
            transform: none;
        }

        /* Gradient buttons */
        .btn-gradient {
            background: linear-gradient(90deg, #a78bfa, #f472b6, #60a5fa);
            background-size: 200% 200%;
            transition: background-position 0.5s;
        }

        .btn-gradient:hover {
            background-position: right center;
        }

        /* Animated gradient border for project cards */
        .card-gradient {
            position: relative;
            border-radius: 1rem;
            overflow: hidden;
            z-index: 0;
        }

        .card-gradient::before {
            content: "";
            position: absolute;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            z-index: -1;
            background: linear-gradient(45deg, #a78bfa, #f472b6, #60a5fa, #facc15);
            background-size: 400% 400%;
            animation: gradientMove 8s ease infinite;
            border-radius: 1rem;
        }

        @keyframes gradientMove {
            0% { background-position: 0% 50%; }
            50% { background-position: 100% 50%; }
            100% { background-position: 0% 50%; }
        }
