/* =========================================================
   CUSTOM ANIMATIONS - AUTO GENERATED
   ========================================================= */

:root {
    --animation-speed: 0.3s;
    --hover-transform: translateY(-5px);
}

body { animation: fadeIn 0.3s ease; }
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }
.animate-on-scroll { opacity: 0; transform: translateY(30px); transition: all 0.3s ease; }
.animate-on-scroll.visible { opacity: 1; transform: translateY(0); }
.btn-primary-custom { animation: pulse 2s infinite; }
@keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
.card-hover, .stat-card, .feature-card-premium, .blog-card-premium {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.card-hover:hover, .stat-card:hover, .feature-card-premium:hover, .blog-card-premium:hover {
    transform: var(--hover-transform);
    box-shadow: 0 15px 40px rgba(0,0,0,0.12);
}
