 @keyframes spin {
            to {
                transform: rotate(360deg);
            }
        }

        @keyframes pulse {

            0%,
            100% {
                opacity: 1;
            }

            50% {
                opacity: 0.5;
            }
        }

        @keyframes float {

            0%,
            100% {
                transform: translateY(0px);
            }

            50% {
                transform: translateY(-20px);
            }
        }

        @keyframes rotate3d {
            0% {
                transform: translate(-50%, -50%) rotateX(0deg) rotateY(0deg);
            }

            100% {
                transform: translate(-50%, -50%) rotateX(360deg) rotateY(360deg);
            }
        }

        @keyframes bounce {

            0%,
            20%,
            50%,
            80%,
            100% {
                transform: translateX(-50%) translateY(0);
            }

            40% {
                transform: translateX(-50%) translateY(-10px);
            }

            60% {
                transform: translateX(-50%) translateY(-5px);
            }
        }

        @keyframes scroll {
            0% {
                opacity: 1;
                top: 10px;
            }

            100% {
                opacity: 0;
                top: 30px;
            }
        }

        @keyframes blink {

            0%,
            50% {
                opacity: 1;
            }

            51%,
            100% {
                opacity: 0;
            }
        }

        @keyframes reveal {
            from {
                opacity: 0;
                transform: translateY(30px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @keyframes pulse-dot {

            0%,
            100% {
                opacity: 1;
                transform: scale(1);
            }

            50% {
                opacity: 0.5;
                transform: scale(1.2);
            }
        }

        @keyframes rotate {
            to {
                transform: rotate(360deg);
            }
        }

        @keyframes shimmer {
            0% {
                transform: translateX(-100%);
            }

            100% {
                transform: translateX(100%);
            }
        }

        @keyframes twinkle {

            0%,
            100% {
                opacity: 0.3;
            }

            50% {
                opacity: 1;
            }
        }

        @keyframes twinkle-star {

            0%,
            100% {
                transform: scale(1);
                opacity: 1;
            }

            50% {
                transform: scale(1.2);
                opacity: 0.8;
            }
        }

        @keyframes pulse-glow {

            0%,
            100% {
                transform: scale(1);
                opacity: 0.5;
            }

            50% {
                transform: scale(1.2);
                opacity: 0.8;
            }
        }

        @keyframes ripple {
            to {
                transform: scale(4);
                opacity: 0;
            }
        }

        .animate-spin {
            animation: spin 1s linear infinite;
        }

        .animate-pulse {
            animation: pulse 1.5s ease-in-out infinite;
        }

        .animate-float {
            animation: float 3s ease-in-out infinite;
        }

        .animate-rotate3d {
            animation: rotate3d 20s linear infinite;
        }

        .animate-bounce-custom {
            animation: bounce 2s infinite;
        }

        .animate-scroll {
            animation: scroll 2s infinite;
        }

        .animate-blink {
            animation: blink 0.7s infinite;
        }

        .animate-reveal {
            animation: reveal 1s ease-out;
        }

        .animate-pulse-dot {
            animation: pulse-dot 2s ease-in-out infinite;
        }

        .animate-rotate {
            animation: rotate 10s linear infinite;
        }

        .animate-shimmer {
            animation: shimmer 2s infinite;
        }

        .animate-twinkle {
            animation: twinkle 3s infinite;
        }

        .animate-twinkle-star {
            animation: twinkle-star 2s ease-in-out infinite;
        }

        .animate-pulse-glow {
            animation: pulse-glow 2s ease-in-out infinite;
        }

        body {
            cursor: auto;
            overflow-x: hidden;
        }

        .cursor-dot {
            width: 0px;
            height: 0px;
            background: #00d4ff;
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 10000;
            transition: transform 0.15s ease;
            box-shadow: 0 0 40px rgba(0, 212, 255, 0.5);
        }

        .cursor-outline {
            width: 0px;
            height: 0px;
            border: 2px solid #00d4ff;
            border-radius: 50%;
            position: fixed;
            pointer-events: none;
            z-index: 9999;
            transition: all 0.15s ease;
            opacity: 0.5;
        }

        #bgCanvas {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: -1;
            opacity: 0.3;
        }

        .box-face {
            position: absolute;
            width: 300px;
            height: 300px;
            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
            border: 2px solid #00d4ff;
            opacity: 0.3;
            box-shadow: 0 0 40px rgba(0, 212, 255, 0.5);
        }

        .front {
            transform: translateZ(150px);
        }

        .back {
            transform: rotateY(180deg) translateZ(150px);
        }

        .right {
            transform: rotateY(90deg) translateZ(150px);
        }

        .left {
            transform: rotateY(-90deg) translateZ(150px);
        }

        .top {
            transform: rotateX(90deg) translateZ(150px);
        }

        .bottom {
            transform: rotateX(-90deg) translateZ(150px);
        }

        .card-inner {
            transform-style: preserve-3d;
            transition: transform 0.8s cubic-bezier(0.4, 0.2, 0.2, 1);
        }

        .service-card-3d:hover .card-inner {
            transform: rotateY(180deg);
        }

        .card-front,
        .card-back {
            backface-visibility: hidden;
            -webkit-backface-visibility: hidden;
        }

        .card-back {
            transform: rotateY(180deg);
        }

        @media (max-width: 768px) {
            body {
                cursor: auto;
            }

            .cursor-dot,
            .cursor-outline {
                display: none;
            }
        }