/* ZoomApps 2026 v2 — Animations (visible-first FINAL) */

/* All content always visible — no JS dependency */
[data-reveal] { opacity: 1 !important; transform: none !important; }
.hero__title, .hero__lead, .hero__cta-row, .hero__trust, .hero__visual { opacity: 1; }

/* Hero entrance — DISABLED (was hiding content on cache miss). Hero is visible immediately. */

/* Hero illustration — orbital animations */
.hero-illustration .orbit-outer  { animation: rotate 80s linear infinite; transform-origin: 270px 270px; transform-box: fill-box; }
.hero-illustration .orbit-middle { animation: rotateReverse 60s linear infinite; transform-origin: 270px 270px; transform-box: fill-box; }
.hero-illustration .orbit-inner  { animation: rotate 30s linear infinite; transform-origin: 270px 270px; transform-box: fill-box; }
.hero-illustration .particles circle,
.hero-illustration .particles rect { animation: float 6s var(--ease-in-out) infinite; }
.hero-illustration .particles > *:nth-child(2) { animation-delay: -1s; }
.hero-illustration .particles > *:nth-child(3) { animation-delay: -2s; }
.hero-illustration .particles > *:nth-child(4) { animation-delay: -3s; }
.hero-illustration .particles > *:nth-child(5) { animation-delay: -4s; }
.hero-illustration .particles > *:nth-child(6) { animation-delay: -5s; }

@keyframes rotate { to { transform: rotate(360deg); } }
@keyframes rotateReverse { to { transform: rotate(-360deg); } }
@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

/* Header scrolled state */
.site-header.is-scrolled {
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--sh-sm);
}

/* Mobile menu slide */
.mobile-menu { animation: menuSlide 400ms var(--ease-out-expo); }
@keyframes menuSlide {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Counter targets */
.stat-num[data-counter] { font-variant-numeric: tabular-nums; }

/* Button magnetic ready */
.btn { will-change: transform; }

@media (prefers-reduced-motion: reduce) {
  .hero-illustration .orbit-outer,
  .hero-illustration .orbit-middle,
  .hero-illustration .orbit-inner,
  .hero-illustration .particles * { animation: none !important; }
  .marquee__track { animation: none !important; }
}
