/* Cursor smoke trail (pointer only)
   - Lightweight DOM particles (no canvas)
   - Disabled on coarse pointers (touch)
   - Respects prefers-reduced-motion
*/

/* Base layer style (used for global + section-scoped trail root) */
.cursortrail-layer,
#cursorTrail {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 9; /* sits just under #cursorFx but above content */
  opacity: 1;
  transition: opacity 220ms ease;
}

/* Global trail is optional; keep it disabled for a consistent "no hero" experience. */
#cursorTrail { display: none; }

.lease-section .cursortrail-layer {
  position: absolute;
  inset: 0;
  z-index: 1; /* above section background, below content */
  opacity: 0;
  transition: opacity 220ms ease;
}

body.cursorfx-active .lease-section .cursortrail-layer {
  opacity: 1;
}

.cursor-trail-dot {
  position: absolute;
  left: 0;
  top: 0;
  width: var(--s, 26px);
  height: var(--s, 26px);
  border-radius: 999px;
  opacity: 0;

  /* “smoke” blob: soft, with a hint of brand color */
  background:
    radial-gradient(circle at 30% 30%,
      rgba(255,255,255,0.70),
      rgba(255,255,255,0.00) 62%),
    radial-gradient(circle at 60% 55%,
      rgba(14,165,233,0.22),
      rgba(14,165,233,0.00) 68%),
    radial-gradient(circle at 45% 70%,
      rgba(29,78,216,0.14),
      rgba(29,78,216,0.00) 70%);

  filter: blur(var(--b, 10px));
  transform: translate3d(var(--x, 0px), var(--y, 0px), 0) scale(var(--k, 1));
  will-change: transform, opacity, filter;
}

@media (prefers-reduced-motion: reduce) {
  #cursorTrail,
  .cursortrail-layer { display: none !important; }
}

@media (pointer: coarse) {
  #cursorTrail,
  .cursortrail-layer { display: none !important; }
}


