.cur-dot,
.cur-ring {
    position: fixed;
    border-radius: 50%;
    pointer-events: none;
    z-index: 9998;
    /* GSAP sets x/y — transform centers it on the point */
    transform: translate(-50%, -50%);
    will-change: transform;
}

.cur-dot {
    width: 5px;
    height: 5px;
    background: var(--white);
}

.cur-ring {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(0, 0, 0, 0.45);
    transition:
        width 0.22s var(--ease),
        height 0.22s var(--ease),
        border-color 0.22s var(--ease),
        opacity 0.22s var(--ease);
}

/* Expanded state — triggered when hovering links/buttons */
body.is-hovering .cur-ring {
    width: 56px;
    height: 56px;
    border-color: rgba(0, 0, 0, 0.2);
}

/* Hide on touch devices */
@media (pointer: coarse) {

    .cur-dot,
    .cur-ring {
        display: none;
    }
}