/* A single viewport light. It never intercepts input or changes document layout. */
.site-cursor-viewport {
  position: fixed;
  inset: 0;
  z-index: 1000;
  overflow: hidden;
  pointer-events: none;
  contain: strict;
  mix-blend-mode: screen;
  opacity: 0;
  transition: opacity 180ms ease-out;
}
.site-cursor-viewport.is-visible { opacity: 1; }
.site-cursor-light {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(380px, 46vw, 680px);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,228,178,.13), rgba(255,225,168,.08) 24%, rgba(249,220,172,.025) 48%, transparent 70%);
  transform: translate3d(-1000px,-1000px,0) translate(-50%,-50%);
  will-change: transform;
}
/* Replace the photo-bounded circle instead of adding a second cursor light. */
:root[data-site-cursor] .fx-pointer-light { display: none !important; }
:root.is-form-active .site-cursor-viewport.is-visible { opacity: .5; }
@media (max-width: 680px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .site-cursor-viewport { display: none !important; }
}
