/* ===== CURSOR GLOW ===== */
.cursor-glow {
  position: fixed;
  width: 300px; height: 300px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,166,35,.08) 0%, transparent 70%);
  pointer-events: none;
  z-index: 9998;
  transform: translate(-50%, -50%);
  transition: opacity .3s;
  opacity: 0;
}
body:hover .cursor-glow { opacity: 1; }

/* ===== CLICK RIPPLE ===== */
.click-ripple {
  position: fixed;
  width: 20px; height: 20px;
  border-radius: 50%;
  border: 2px solid var(--accent);
  pointer-events: none;
  z-index: 9997;
  transform: translate(-50%, -50%) scale(0);
  animation: rippleOut .6s ease-out forwards;
}
@keyframes rippleOut {
  0% { transform: translate(-50%,-50%) scale(0); opacity: 1; }
  100% { transform: translate(-50%,-50%) scale(4); opacity: 0; }
}

/* ===== MAGNETIC HOVER (cards) ===== */
.card { transition: transform .3s ease, box-shadow .3s ease; }

/* ===== PARALLAX TILT ===== */
.tilt-card { transform-style: preserve-3d; perspective: 1000px; }

/* ===== TEXT SHIMMER ===== */
.text-shimmer {
  background: linear-gradient(90deg, var(--text) 40%, var(--accent) 50%, var(--text) 60%);
  background-size: 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 3s infinite;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* ===== STAGGER CHILDREN ===== */
.stagger > * { opacity: 0; transform: translateY(20px); transition: opacity .4s ease, transform .4s ease; }
.stagger.visible > *:nth-child(1) { transition-delay: .0s; }
.stagger.visible > *:nth-child(2) { transition-delay: .1s; }
.stagger.visible > *:nth-child(3) { transition-delay: .15s; }
.stagger.visible > *:nth-child(4) { transition-delay: .2s; }
.stagger.visible > *:nth-child(5) { transition-delay: .25s; }
.stagger.visible > *:nth-child(6) { transition-delay: .3s; }
.stagger.visible > * { opacity: 1; transform: translateY(0); }
