/* Site-specific states for Cuberto Mouse Follower. */
@media (hover: hover) and (pointer: fine) {
  html.site-cursor-enabled,
  html.site-cursor-enabled body,
  html.site-cursor-enabled body * {
    cursor: none !important;
  }

  .site-cursor {
    z-index: 30060;
    color: #fff;
    mix-blend-mode: difference;
  }

  .site-cursor::before {
    top: -32px;
    left: -32px;
    width: 64px;
    height: 64px;
    background: #fff;
    transform: scale(0.375);
    transition: transform 180ms cubic-bezier(.2, .75, .25, 1), opacity 160ms ease,
      border-radius 180ms cubic-bezier(.2, .75, .25, 1), width 180ms ease, left 180ms ease;
  }

  .site-cursor.-pointer::before {
    transform: scale(0.5625);
  }

  /* Reuse the work page's press feedback on every clickable cursor state. */
  .site-cursor.-pointer.-active:not(.-dragging)::before {
    transform: scale(0.47);
  }

  .site-cursor.-text::before {
    top: -22px;
    left: -68px;
    width: 136px;
    height: 44px;
    border-radius: 999px;
    background: #fff;
    opacity: 1;
    transform: scale(1);
  }

  .site-cursor.-text .mf-cursor-text {
    top: -22px;
    left: -68px;
    width: 136px;
    height: 44px;
    color: #0a0a0a;
    font-family: 'Inter', 'Helvetica Neue', Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    transform: scale(1);
    transition: opacity 150ms ease, transform 180ms cubic-bezier(.2, .75, .25, 1);
  }

  .site-cursor.-text.-active::before {
    transform: scale(0.94);
  }

  .site-cursor.-text.-active .mf-cursor-text {
    transform: scale(0.94);
  }

  .site-cursor.-dragging::before {
    top: -20px;
    left: -20px;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    transform: scale(1);
  }

  .site-cursor.-dragging.-active::before {
    transform: scale(1);
  }

  .site-cursor.-dragging .mf-cursor-text {
    top: -12px;
    left: -12px;
    width: 24px;
    height: 24px;
    color: #0a0a0a;
  }

  .site-cursor.-dragging .mf-cursor-text svg {
    width: 20px;
    height: 20px;
    overflow: visible;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
  }

  .site-cursor.-hidden::before {
    transform: scale(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cursor { display: none !important; }
}
