/* ---------- Custom cursor: aluminium ring, lags smoothly behind the
   pointer, grows over interactive elements. Desktop / fine-pointer only. ---------- */
@media (hover: hover) and (pointer: fine) {
  body.cursor-ready { cursor: none; }
  body.cursor-ready a,
  body.cursor-ready button,
  body.cursor-ready .demo-card { cursor: none; }

  .cursor-dot {
    position: fixed;
    top: 0; left: 0;
    width: 6px; height: 6px;
    margin: -3px 0 0 -3px;
    border-radius: 50%;
    background: var(--gold-champagne);
    pointer-events: none;
    z-index: 9999;
    transform: translate3d(-100px, -100px, 0);
  }
  .cursor-ring {
    position: fixed;
    top: 0; left: 0;
    width: 34px; height: 34px;
    margin: -17px 0 0 -17px;
    border-radius: 50%;
    border: 1px solid var(--bronze-border-bright);
    pointer-events: none;
    z-index: 9999;
    transform: translate3d(-100px, -100px, 0);
    transition: width 220ms ease, height 220ms ease, margin 220ms ease, border-color 220ms ease, background 220ms ease;
  }
  .cursor-ring.is-active {
    width: 52px; height: 52px;
    margin: -26px 0 0 -26px;
    background: rgba(168,170,172,.1);
    border-color: var(--gold-champagne);
  }
}

@media (prefers-reduced-motion: reduce), (hover: none), (pointer: coarse) {
  .cursor-dot, .cursor-ring { display: none; }
}
