/* ===== Chen Digital — sitewide custom cursor (desktop) + touch ripple (mobile) ===== */

body.has-cursor, body.has-cursor a, body.has-cursor button { cursor: none; }

.cd-cursor-dot, .cd-cursor-ring {
  position: fixed;
  top: 0;
  left: 0;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9998;
}
.cd-cursor-dot {
  width: 6px;
  height: 6px;
  margin: -3px 0 0 -3px;
  background: #1b1815;
}
.cd-cursor-ring {
  width: 36px;
  height: 36px;
  margin: -18px 0 0 -18px;
  border: 1px solid #1b1815;
  opacity: .55;
  transition: width .35s, height .35s, margin .35s, opacity .35s, background .35s;
}
.cd-cursor-ring.hover {
  width: 60px;
  height: 60px;
  margin: -30px 0 0 -30px;
  background: rgba(27,24,21,.06);
  opacity: 1;
}
.cd-cursor-ring.on-dark { border-color: #fff; }
.cd-cursor-dot.on-dark { background: #fff; }

.cd-touch-ripple {
  position: fixed;
  top: 0;
  left: 0;
  width: 44px;
  height: 44px;
  margin: -22px 0 0 -22px;
  border-radius: 50%;
  border: 1px solid #a7855a;
  background: rgba(167,133,90,.08);
  pointer-events: none;
  z-index: 9998;
}

@media (prefers-reduced-motion: reduce) {
  .cd-cursor-dot, .cd-cursor-ring, .cd-touch-ripple { display: none !important; }
}
