 /* Custom Animations */
 @keyframes fadeInUp {
    from { opacity: 0; transform: translateY(50px); }
    to { opacity: 1; transform: translateY(0); }
}
.fade-in-up { animation: fadeInUp 1s ease-out forwards; }

@keyframes scaleIn {
    from { transform: scale(0.9); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}
.scale-in { animation: scaleIn 0.8s ease-out forwards; }

/* Parallax Scrolling Effect */
.parallax {
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/* Smooth Scrolling for Anchor Links */
html {
    scroll-behavior: smooth;
}
    .gradient-bg {
            background: linear-gradient(135deg, #09055f 0%, #240044 100%);
        }
        .gradient-text {
            background: linear-gradient(135deg, #4f46e5 0%, #7e22ce 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .card-shadow {
            box-shadow: 0 10px 40px rgba(79, 70, 229, 0.15);
        }
        .particle-container {
            position: absolute;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            z-index: 0;
        }
        .reveal {
            opacity: 0;
            transform: translateY(50px);
            transition: all 1s;
        }
        .reveal.active {
            opacity: 1;
            transform: translateY(0);
        }