/* Motion inspired by orbitai.global — restrained fade-up, professional hover */

.reveal {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity var(--transition-reveal), transform var(--transition-reveal);
}

.reveal.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.reveal-delay-1 { transition-delay: 0.1s; }
.reveal-delay-2 { transition-delay: 0.2s; }
.reveal-delay-3 { transition-delay: 0.3s; }
.reveal-delay-4 { transition-delay: 0.4s; }

.hero__orbit-svg .orbit-ring {
  transform-origin: center;
  animation: orbit-spin 60s linear infinite;
}

.hero__orbit-svg .orbit-ring--inner {
  animation-direction: reverse;
  animation-duration: 45s;
}

.hero__orbit-svg .orbit-node {
  animation: node-pulse 3s ease-in-out infinite;
}

.hero__orbit-svg .orbit-node:nth-child(2) { animation-delay: 0.5s; }
.hero__orbit-svg .orbit-node:nth-child(3) { animation-delay: 1s; }
.hero__orbit-svg .orbit-node:nth-child(4) { animation-delay: 1.5s; }

@keyframes orbit-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes node-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}

.stat-strip__item,
.platform-card,
.why-card,
.spotlight,
.timeline-panel {
  transition: transform var(--transition-base), border-color var(--transition-base),
    box-shadow var(--transition-base);
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }

  .reveal {
    opacity: 1;
    transform: none;
  }

  .partner-marquee__track {
    animation: none;
  }

  .hero__orbit-svg .orbit-ring,
  .hero__orbit-svg .orbit-node {
    animation: none;
  }
}
