@keyframes loaderSpin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes loaderPulse {
    0%, 100% { opacity: 0.6; }
    50% { opacity: 1; }
}

@keyframes particleFloat {
    0%, 100% { transform: translateY(0px) rotate(0deg); opacity: 0.3; }
    50% { transform: translateY(-100px) rotate(180deg); opacity: 0.6; }
}

@keyframes slideInUp {
    from {
        opacity: 0;
        transform: translateY(60px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-glass {
        padding: 40px 20px !important;
        margin: 20px !important;
    }
    
    h1 {
        font-size: 2.5rem !important;
    }
    
    .card-container {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
    }
    
    .process-step {
        padding: 20px !important;
    }
    
    .step-number {
        display: block !important;
        margin: 0 auto 15px !important;
    }
}

/* Focus states for accessibility */
*:focus {
    outline: 3px solid #667eea !important;
    outline-offset: 2px !important;
}