/* Custom Animations */
@keyframes slideDown {
    from { 
        opacity: 0; 
        transform: translateY(-20px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

@keyframes fadeInUp {
    from { 
        opacity: 0; 
        transform: translateY(30px); 
    }
    to { 
        opacity: 1; 
        transform: translateY(0); 
    }
}

@keyframes pulse-slow {
    0%, 100% { 
        opacity: 0.2; 
    }
    50% { 
        opacity: 0.4; 
    }
}

/* Animation Classes */
.animate-slideDown { 
    animation: slideDown 0.8s ease-out; 
}

.animate-fadeInUp { 
    animation: fadeInUp 1s ease-out; 
}

.animate-pulse-slow { 
    animation: pulse-slow 4s ease-in-out infinite; 
}

/* Gradient Text Effect */
.gradient-text {
    background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 50%, #2563eb 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Navigation Link Hover Effect */
.nav-link { 
    position: relative; 
}

.nav-link::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    width: 0;
    height: 2px;
    background: #3b82f6;
    transition: width 0.3s ease;
}

.nav-link:hover::after { 
    width: 100%; 
}

/* Card Hover Effects */
.card-hover {
    transition: all 0.3s ease;
    transform: translateZ(0);
    backface-visibility: hidden;
    position: relative;
}

.card-hover:hover {
    transform: translateY(-8px) translateZ(0);
    box-shadow: 0 20px 40px rgba(59, 130, 246, 0.2);
    z-index: 10;
}
