        /* Modern Cursor Styles */
        .cursor-dot, .cursor-outline, .cursor-effect {
            pointer-events: none;
            position: fixed;
            top: 0;
            left: 0;
            transform: translate(-50%, -50%);
            border-radius: 50%;
            z-index: 9999;
            opacity: 0;
            transition: opacity 0.3s ease;
        }

        .cursor-dot {
            width: 8px;
            height: 8px;
            background-color: #ffd700;
            z-index: 10000;
            box-shadow: 0 0 15px #ffd700;
        }

        .cursor-outline {
            width: 50px;
            height: 50px;
            border: 2px solid rgba(200, 169, 81, 0.5);
            transition: all 0.2s ease-out;
        }

        .cursor-effect {
            width: 5px;
            height: 5px;
            background-color: rgba(255, 215, 0, 0.5);
            transition: all 0.5s ease-out;
        }

        .cursor-dot.visible, .cursor-outline.visible, .cursor-effect.visible {
            opacity: 1;
        }

        .cursor-outline.hover {
            transform: translate(-50%, -50%) scale(1.8);
            background-color: rgba(200, 169, 81, 0.1);
            border: 2px solid rgba(255, 215, 0, 0.8);
            box-shadow: 0 0 20px rgba(255, 215, 0, 0.3);
        }

        .cursor-outline.click {
            transform: translate(-50%, -50%) scale(0.8);
            background-color: rgba(255, 215, 0, 0.2);
        }

        .cursor-effect.pulse {
            animation: pulse 0.5s ease-out;
        }

        @keyframes pulse {
            0% {
                transform: translate(-50%, -50%) scale(1);
                opacity: 0.7;
            }
            100% {
                transform: translate(-50%, -50%) scale(2.5);
                opacity: 0;
            }
        }

        /* Hide default cursor only on non-touch devices */
        @media (hover: hover) and (pointer: fine) {
            html, body, a, button {
                cursor: none !important;
            }
        }

        /* Show default cursor for text elements */
        input, textarea {
            cursor: auto !important;
        }