@keyframes floatY {
    0%,
    100% {
        transform: translateY(0px);
    }
    50% {
        transform: translateY(-14px);
    }
}

@keyframes pulseGlow {
    0%,
    100% {
        box-shadow: 0 0 0 rgba(79, 123, 255, 0);
    }
    50% {
        box-shadow: 0 0 32px rgba(79, 123, 255, 0.35);
    }
}

@keyframes shimmer {
    0% {
        background-position: 0% 50%;
    }
    100% {
        background-position: 120% 50%;
    }
}

.float {
    animation: floatY 6s ease-in-out infinite;
}

.glow {
    animation: pulseGlow 5s ease-in-out infinite;
}

.mesh-bg {
    background: linear-gradient(105deg, rgba(88, 246, 255, 0.22), rgba(169, 93, 255, 0.2), rgba(255, 77, 184, 0.2));
    background-size: 200% 200%;
    animation: shimmer 6s linear infinite;
}

.tilt-card {
    transform-style: preserve-3d;
    transition: transform 0.25s ease;
}

.depth-layer {
    transform: translateZ(16px);
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation: none !important;
        transition: none !important;
        scroll-behavior: auto !important;
    }
}
