/* Custom round cursor — desktop pointer devices only */
.site-cursor-ring,
.site-cursor-dot {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .custom-cursor-active,
  .custom-cursor-active * {
    cursor: none !important;
  }

  .site-cursor-ring,
  .site-cursor-dot {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    pointer-events: none;
    z-index: 99999;
    opacity: 0;
    will-change: transform;
  }

  .site-cursor-ring {
    width: 40px;
    height: 40px;
    margin: -20px 0 0 -20px;
    border: 2px solid #443935;
    border-radius: 50%;
    transition: width 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                height 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                margin 0.35s cubic-bezier(0.22, 1, 0.36, 1),
                border-color 0.3s,
                background 0.3s,
                opacity 0.25s;
  }

  .site-cursor-dot {
    width: 6px;
    height: 6px;
    margin: -3px 0 0 -3px;
    background: #e2791d;
    border-radius: 50%;
    z-index: 100000;
    transition: opacity 0.25s, transform 0.08s linear, width 0.25s, height 0.25s, margin 0.25s;
  }

  .site-cursor-ring.is-visible,
  .site-cursor-dot.is-visible {
    opacity: 1;
  }

  .site-cursor-ring.is-hover {
    width: 56px;
    height: 56px;
    margin: -28px 0 0 -28px;
    border-color: #e2791d;
    background: rgba(226, 121, 29, 0.1);
  }

  .site-cursor-dot.is-hover {
    width: 4px;
    height: 4px;
    margin: -2px 0 0 -2px;
  }

  .site-cursor-ring.is-click {
    width: 32px;
    height: 32px;
    margin: -16px 0 0 -16px;
    background: rgba(226, 121, 29, 0.2);
    border-color: #c86815;
  }
}

@media (prefers-reduced-motion: reduce) {
  .custom-cursor-active,
  .custom-cursor-active * {
    cursor: auto !important;
  }
  .site-cursor-ring,
  .site-cursor-dot {
    display: none !important;
  }
}
