/* ============================================
   Site cursor — dark mark + white stroke
   No logo look-at / orbit behavior
   ============================================ */

html.site-cursor-ready,
html.site-cursor-ready * {
  cursor: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0, none !important;
}

.site-cursor {
  position: fixed;
  top: 0;
  left: 0;
  /* Art 990×852 tip ≈ (492, 852); padded viewBox — hotspot near bottom center */
  width: 18px;
  height: 16px;
  margin: -15px 0 0 -9px;
  transform-origin: 9px 15px;
  pointer-events: none;
  z-index: 2147483646;
  opacity: 0;
  overflow: visible;
  transform: translate3d(-100px, -100px, 0) rotate(30deg);
  will-change: transform;
  filter: none;
}

.site-cursor.is-on {
  opacity: 1;
}

body.is-loading .site-cursor,
body.work-card-cursor-active .site-cursor,
body:has(#preloader) .site-cursor {
  opacity: 0 !important;
  visibility: hidden !important;
}

.site-cursor__mark {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.site-cursor__shape {
  fill: var(--color-cursor);
  stroke: #ffffff;
  stroke-width: 40;
  stroke-linejoin: round;
  stroke-linecap: round;
  paint-order: stroke fill;
}

body.is-loading,
body.is-loading *,
body.work-card-cursor-active,
body.work-card-cursor-active * {
  cursor: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7") 0 0, none !important;
}

@media (hover: none), (pointer: coarse) {
  .site-cursor {
    display: none !important;
  }

  html.site-cursor-ready,
  html.site-cursor-ready * {
    cursor: auto !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-cursor {
    display: none !important;
  }

  html.site-cursor-ready,
  html.site-cursor-ready * {
    cursor: auto !important;
  }
}
