/* SygnlIQ motion layer — subtle, fast, reduced-motion aware. Adapted from the Intelix family kit. */

/* scroll reveal */
.reveal { opacity: 0; transform: translateY(14px); transition: opacity 0.6s cubic-bezier(.2,.7,.2,1), transform 0.6s cubic-bezier(.2,.7,.2,1); }
.reveal.in { opacity: 1; transform: none; }
.reveal.d1 { transition-delay: .06s; } .reveal.d2 { transition-delay: .12s; } .reveal.d3 { transition-delay: .18s; } .reveal.d4 { transition-delay: .24s; }

/* animated hero aurora */
.hero { position: relative; }
.aurora { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.aurora::before, .aurora::after {
  content: ""; position: absolute; border-radius: 50%; filter: blur(70px); opacity: 0.55;
}
.aurora::before {
  width: 48vw; height: 48vw; top: -16vw; right: -8vw;
  background: radial-gradient(circle, rgba(56,189,248,0.26), transparent 68%);
  animation: drift1 22s ease-in-out infinite alternate;
}
.aurora::after {
  width: 36vw; height: 36vw; top: 6vw; right: 22vw;
  background: radial-gradient(circle, rgba(52,211,153,0.12), transparent 70%);
  animation: drift2 18s ease-in-out infinite alternate;
}
@keyframes drift1 { from { transform: translate(0,0) scale(1); } to { transform: translate(-6vw,5vw) scale(1.12); } }
@keyframes drift2 { from { transform: translate(0,0) scale(1); } to { transform: translate(7vw,-4vw) scale(0.9); } }
.hero > .hero-inner { position: relative; z-index: 1; }

/* live pulse dot */
.pulse-dot { display:inline-block; width:8px; height:8px; border-radius:50%; background: var(--good); position: relative; vertical-align: middle; margin-right: 8px; }
.pulse-dot::after {
  content: ""; position: absolute; inset: -4px; border-radius: 50%;
  border: 1px solid currentColor; color: var(--good); opacity: 0; animation: pulse 2.4s ease-out infinite;
}
@keyframes pulse { 0% { opacity: .55; transform: scale(1); } 100% { opacity: 0; transform: scale(2.4); } }

/* button sheen */
.btn-primary { position: relative; overflow: hidden; }
.btn-primary::after {
  content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
  transform: skewX(-18deg); transition: left .5s ease;
}
.btn-primary:hover::after { left: 130%; }

/* count-up numbers hold layout */
.count { font-variant-numeric: tabular-nums; }

/* decision pipeline draw-in */
.pipe.reveal.in .pipe-step { animation: fadeUp .5s both; }
.pipe .pipe-step:nth-child(1){animation-delay:.15s} .pipe .pipe-step:nth-child(2){animation-delay:.3s}
.pipe .pipe-step:nth-child(3){animation-delay:.45s} .pipe .pipe-step:nth-child(4){animation-delay:.6s}
.pipe .pipe-step:nth-child(5){animation-delay:.75s}
@keyframes fadeUp { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* decision ticker on the guard demo */
.decision-flash { animation: flash .5s ease; }
@keyframes flash { from { background: rgba(56,189,248,0.18); } to { background: transparent; } }

@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .aurora::before, .aurora::after, .pulse-dot::after, .pipe .pipe-step { animation: none !important; }
  .btn-primary::after { display: none; }
  .decision-flash { animation: none; }
}
