/*
 * KTech Theme - Animations
 * AOS is the primary scroll-reveal driver (data-aos attributes render
 * inert until aos.js adds .aos-animate - see vendor/aos). Keyframes
 * below back the rest of the theme's micro-interactions.
 */

@keyframes kt-spin { to { transform: rotate(360deg); } }

@keyframes kt-shimmer {
    100% { transform: translateX(100%); }
}

@keyframes kt-pulse-ring {
    0% { transform: scale(0.9); opacity: 0.6; }
    100% { transform: scale(1.35); opacity: 0; }
}

@keyframes kt-fade-in {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes kt-marquee {
    from { transform: translateX(0); }
    to { transform: translateX(-50%); }
}

@keyframes kt-scroll-cue {
    0% { opacity: 1; top: 6px; }
    100% { opacity: 0; top: 18px; }
}

@keyframes kt-float-y {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
}
.kt-floaty { animation: kt-float-y 4.5s ease-in-out infinite; }

@keyframes kt-gradient-pan {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* Reveal fallback for browsers/users with reduced motion: AOS elements
   are shown immediately rather than being stuck at opacity:0. */
@media (prefers-reduced-motion: reduce) {
    [data-aos] {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
        animation: none !important;
    }
    .kt-floaty { animation: none; }
}
