@media (pointer: fine) {
  * {
    cursor: none;
  }

  .custom-cursor {
    position: fixed;
    width: 12px;
    height: 12px;
    background: var(--cosmic-cyan);
    pointer-events: none;
    z-index: 9999;

    transform: translate3d(0, 0, 0) translate(-50%, -50%) rotate(45deg);

    box-shadow:
      0 0 10px var(--cosmic-cyan),
      0 0 35px rgba(0, 255, 255, 0.8);

    transition:
      width 0.4s cubic-bezier(0.16, 1, 0.3, 1),
      height 0.4s cubic-bezier(0.16, 1, 0.3, 1),
      background 0.4s ease,
      box-shadow 0.4s ease,
      border-radius 0.4s ease,
      opacity .2s ease;
  }

  .custom-cursor::before {
    content: "";
    position: absolute;
    inset: -8px;
    background: var(--cosmic-cyan);
    opacity: 0.15;
    filter: blur(12px);
  }

  .custom-cursor.hover {
    width: 40px;
    height: 40px;
    background: rgba(36, 59, 155, 0.2);
    border: 1px solid var(--cosmic-cyan);

    box-shadow:
      0 0 25px var(--cosmic-cyan),
      0 0 60px rgba(122, 63, 255, 0.5);
  }

  .custom-cursor.hidden {
    opacity: 0;
    pointer-events: none;
  }

}
