/* animations.css - All animations and keyframes */

@keyframes rotateCube {
    0% { transform: translate(-50%, -50%) rotateX(0) rotateY(0); }
    100% { transform: translate(-50%, -50%) rotateX(360deg) rotateY(360deg); }
}

@keyframes logoFloat {
    0%, 100% { transform: translateY(0) rotateY(0); }
    50% { transform: translateY(-5px) rotateY(180deg); }
}

@keyframes gridMove {
    0% { transform: perspective(500px) rotateX(60deg) translateY(0); }
    100% { transform: perspective(500px) rotateX(60deg) translateY(50px); }
}

@keyframes particleFloat {
    0% {
        opacity: 0;
        transform: translateY(100vh) scale(0);
    }
    10% {
        opacity: 1;
    }
    90% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: translateY(-100vh) scale(1.5);
    }
}

@keyframes orbFloat {
    0%, 100% { transform: translate(0, 0) scale(1); }
    25% { transform: translate(100px, -100px) scale(1.1); }
    50% { transform: translate(-100px, 100px) scale(0.9); }
    75% { transform: translate(50px, 50px) scale(1.05); }
}

@keyframes cardsRotate {
    0% { transform: rotateY(0deg); }
    100% { transform: rotateY(360deg); }
}

@keyframes heroTextReveal {
    0% {
        opacity: 0;
        transform: translateY(50px) scale(0.9);
        filter: blur(10px);
    }
    100% {
        opacity: 1;
        transform: translateY(0) scale(1);
        filter: blur(0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(40px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes drawPath {
    to {
        stroke-dashoffset: 0;
    }
}

@keyframes iconPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

@keyframes scroll {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes fadeInSlide {
    to {
        opacity: 1;
        transform: translateY(0);
    }
} 