/* Homepage only: compact two-part cursor inspired by anthonykdo.com. */
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  html.home-cursor-ready,
  html.home-cursor-ready * {
    cursor: none !important;
  }

  .home-cursor-dot,
  .home-cursor-ring {
    position: fixed;
    top: 0;
    left: 0;
    display: block;
    border-radius: 50%;
    pointer-events: none;
    opacity: 0;
    mix-blend-mode: difference;
    transform-origin: 50% 50%;
    will-change: transform, opacity;
    transition: opacity .14s ease;
  }

  .home-cursor-dot {
    width: 10px;
    height: 10px;
    background: #fff;
    z-index: 2147483647;
  }

  .home-cursor-ring {
    --home-ring-scale: 1;
    width: 22px;
    height: 22px;
    z-index: 2147483646;
  }

  .home-cursor-ring__outline {
    position: absolute;
    inset: 0;
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, .34);
    border-radius: 50%;
    transform: scale(var(--home-ring-scale));
    transform-origin: 50% 50%;
    will-change: transform;
    transition: transform .6s cubic-bezier(.75, -1.27, .3, 2.33);
  }

  .home-cursor-dot.is-visible { opacity: 1; }
  .home-cursor-ring.is-visible { opacity: 1; }
  .home-cursor-ring.is-interactive { --home-ring-scale: 2; }

  body.intro-active .home-cursor-dot,
  body.intro-active .home-cursor-ring {
    opacity: 0 !important;
    visibility: hidden;
  }
}
