/* Custom cursor — sits alongside the native cursor as a "satellite" with
   lerp-smoothed motion. Native cursor stays visible everywhere. */

.custom-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  margin: -9px 0 0 -9px;
  background: #fff;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  mix-blend-mode: difference;
  opacity: 0;
  will-change: transform, width, height;
  transition:
    width 220ms cubic-bezier(.2,.7,.2,1),
    height 220ms cubic-bezier(.2,.7,.2,1),
    margin 220ms cubic-bezier(.2,.7,.2,1),
    opacity 220ms ease;
}

.custom-cursor.is-visible { opacity: 1; }

.custom-cursor.is-hover {
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  opacity: 0.6;
}

.custom-cursor.is-press {
  width: 12px;
  height: 12px;
  margin: -6px 0 0 -6px;
}

.custom-cursor.is-hover.is-press {
  width: 54px;
  height: 54px;
  margin: -27px 0 0 -27px;
  opacity: 0.6;
}
