@media (pointer: fine) and (min-width: 769px) {
    body,
    a,
    button,
    .chip,
    .cta-link,
    .collection-card,
    .story-card {
        cursor: none !important;
    }

    .cursor-dot {
        position: fixed;
        top: 0;
        left: 0;
        width: 6px;
        height: 6px;
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.92);
        pointer-events: none;
        opacity: 0;
        z-index: 9999;
        transition: opacity 0.24s ease;
    }

    .cursor-viewfinder {
        position: fixed;
        top: 3px;
        left: 3px;
        width: 34px;
        height: 34px;
        border-radius: 999px;
        border: 1px solid rgba(255, 255, 255, 0.32);
        background: rgba(255, 255, 255, 0.04);
        backdrop-filter: blur(3px);
        -webkit-backdrop-filter: blur(3px);
        pointer-events: none;
        opacity: 0;
        z-index: 9998;
        transform: translate(-50%, -50%);
        transition: width 0.7s ease, height 0.7s ease, border-color 0.5s ease, background 0.5s ease, opacity 0.5s ease;
    }

    .cursor-viewfinder.is-hovering {
        width: 52px;
        height: 52px;
        border-color: rgba(255, 255, 255, 0.78);
        background: rgba(255, 255, 255, 0.1);
    }
}

@media (pointer: coarse), (max-width: 768px), (prefers-reduced-motion: reduce) {
    .cursor-dot,
    .cursor-viewfinder {
        display: none !important;
    }

    body {
        cursor: auto !important;
    }
}
