 @media (pointer: fine) { body.has-custom-cursor { cursor: none; } body.has-custom-cursor a, body.has-custom-cursor button, body.has-custom-cursor [role="button"], body.has-custom-cursor input, body.has-custom-cursor textarea, body.has-custom-cursor select { cursor: none; } .mo-cursor { --cursor-size: 14px; --cursor-color: #E4023A; position: fixed; left: 0; top: 0; width: var(--cursor-size); height: var(--cursor-size); border-radius: 999px; background: var(--cursor-color); pointer-events: none; z-index: 999999; transform: translate3d(-50%, -50%, 0); will-change: transform, background-color; transition: background-color 220ms ease, opacity 220ms ease; } .mo-cursor.is-hovering { opacity: 0.8; } .mo-cursor.is-active { --cursor-size: 18px; } .mo-cursor-trail { --trail-size: 7px; --trail-color: #E4023A; position: fixed; left: 0; top: 0; width: var(--trail-size); height: var(--trail-size); border-radius: 999px; background: var(--trail-color); pointer-events: none; z-index: 999998; transform: translate3d(-50%, -50%, 0) scale(1); opacity: 0.55; will-change: transform, opacity, background-color; animation: mo-cursor-trail 500ms ease-out forwards; } @keyframes mo-cursor-trail { to { opacity: 0; transform: translate3d(-50%, -50%, 0) scale(0.25); } } }  @media (pointer: coarse) { .mo-cursor, .mo-cursor-trail { display: none; } }