/* ===== Motion Enhancements (conflict-safe) ===== */
.bg-canvas{position:fixed;inset:0;z-index:-2;display:block}
.gradient-overlay{position:fixed;inset:0;z-index:-1;pointer-events:none;
  background: radial-gradient(1200px 600px at 70% -10%, rgba(73,140,255,.12), transparent 60%),
              radial-gradient(800px 400px at 10% 120%, rgba(140,255,200,.06), transparent 60%),
              linear-gradient(180deg, rgba(255,255,255,.02), rgba(0,0,0,.25));
  mix-blend-mode:screen;
}

/* Scroll reveal */
.reveal{opacity:0;transform:translateY(12px);filter:blur(1px);transition:opacity .7s ease, transform .7s ease, filter .7s ease}
.reveal.in{opacity:1;transform:none;filter:none}

/* Parallax layers in hero */
.hero-illus{position:relative;overflow:hidden}
.hero-illus .parallax-layer{
  position:absolute; pointer-events:none; border:1px solid rgba(255,255,255,.25);
  border-radius:12px; width:18%; height:18%; right:6%; top:10%;
}
.hero-illus .parallax-layer.ring{
  border-radius:999px; width:22%; height:22%; left:6%; bottom:8%; border-style:dashed;
}

/* Reduce-motion support */
@media (prefers-reduced-motion: reduce){
  .reveal{transition:none}
}
