/* ============================================================
   Vector 4 — Motion
   All animation gated behind prefers-reduced-motion
   ============================================================ */

/* ── Hero glow drift ─────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .hero::before {
    animation: glow-drift 14s ease-in-out infinite;
  }

  @keyframes glow-drift {
    0%, 100% { transform: translate(0, 0)    scale(1);    opacity: 1; }
    33%       { transform: translate(-6%, 4%) scale(1.06); opacity: 0.7; }
    66%       { transform: translate(4%, -5%) scale(0.94); opacity: 1.2; }
  }
}

/* ── Scroll-driven fade-up ───────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .fade-up {
    opacity: 0;
    transform: translateY(28px);
    transition:
      opacity   0.65s var(--ease-out),
      transform 0.65s var(--ease-out);
  }
  .fade-up.in-view {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Stagger grid (4 children max) ──────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  .stagger > * {
    opacity: 0;
    transform: translateY(22px);
    transition:
      opacity   0.55s var(--ease-out),
      transform 0.55s var(--ease-out);
  }
  .stagger.in-view > *:nth-child(1) { transition-delay:   0ms; }
  .stagger.in-view > *:nth-child(2) { transition-delay:  80ms; }
  .stagger.in-view > *:nth-child(3) { transition-delay: 160ms; }
  .stagger.in-view > *:nth-child(4) { transition-delay: 240ms; }
  .stagger.in-view > * {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ── Marquee (defined here, disabled below) ──────────────── */
@media (prefers-reduced-motion: reduce) {
  /* Stop the ticker, wrap instead */
  .client-marquee {
    animation: none !important;
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--sp-6) var(--sp-10);
    width: 100%;
  }

  /* Show all elements, not just the first set */
  .client-marquee .client-name.aria-hidden,
  .client-marquee [aria-hidden="true"] {
    display: none;
  }

  /* Disable all transitions */
  .fade-up,
  .stagger > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .hero::before {
    animation: none !important;
  }

  html { scroll-behavior: auto !important; }
}
