/* Motion — intentional, respects reduced motion */

@keyframes wl-fade-up {
  from {
    opacity: 0;
    transform: translateY(1.25rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes wl-logo-in {
  from {
    opacity: 0;
    transform: scale(0.88);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes wl-trend-draw {
  from {
    stroke-dashoffset: 480;
    opacity: 0;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

@keyframes wl-spin {
  to { transform: rotate(360deg); }
}

@keyframes wl-pulse-line {
  0%, 100% { opacity: 0.3; }
  50% { opacity: 0.55; }
}

@keyframes wl-stage-in {
  from {
    opacity: 0;
    transform: scale(0.94) translateY(1rem);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}

@keyframes wl-bar-rise {
  from {
    transform: scaleY(0.15);
    opacity: 0;
  }
  to {
    transform: scaleY(1);
    opacity: 1;
  }
}

@keyframes wl-bar-breathe {
  0%, 100% { transform: scaleY(1); }
  50% { transform: scaleY(0.88); }
}

@keyframes wl-spark-draw {
  from {
    stroke-dashoffset: 520;
    opacity: 0;
  }
  to {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

@keyframes wl-glow-breathe {
  0%, 100% { opacity: 0.75; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.04); }
}

@keyframes wl-logo-breathe {
  0%, 100% { transform: translateY(0); filter: drop-shadow(0 14px 40px rgba(61, 207, 191, 0.35)); }
  50% { transform: translateY(-3px); filter: drop-shadow(0 18px 48px rgba(61, 207, 191, 0.5)); }
}

@keyframes wl-live-pulse {
  0% { box-shadow: 0 0 0 0 rgba(61, 207, 191, 0.55); }
  70% { box-shadow: 0 0 0 0.45rem rgba(61, 207, 191, 0); }
  100% { box-shadow: 0 0 0 0 rgba(61, 207, 191, 0); }
}

@keyframes wl-spark-shimmer {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}

@keyframes wl-fill-shimmer {
  0%, 100% { opacity: 0.55; }
  50% { opacity: 0.85; }
}

@keyframes wl-channel-dot {
  0%, 100% { opacity: 0.55; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.15); }
}

.hero__brand {
  animation: wl-logo-in var(--wl-duration-slow) var(--wl-ease) both;
}

.hero__title {
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) 120ms both;
}

.hero__lead {
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) 220ms both;
}

@keyframes wl-icon-ring {
  0% { opacity: 0.7; transform: scale(1); }
  100% { opacity: 0; transform: scale(1.35); }
}

@keyframes wl-icon-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-2px); }
}

.hero .btn-row {
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) 320ms both;
}

.hero__highlights {
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) 380ms both;
}

.hero__highlights .hero-icon-pill:nth-child(1) .hero-icon { animation: wl-icon-float 4.2s ease-in-out 0.2s infinite; }
.hero__highlights .hero-icon-pill:nth-child(2) .hero-icon { animation: wl-icon-float 4.2s ease-in-out 0.8s infinite; }
.hero__highlights .hero-icon-pill:nth-child(3) .hero-icon { animation: wl-icon-float 4.2s ease-in-out 1.4s infinite; }
.hero__highlights .hero-icon-pill:nth-child(4) .hero-icon { animation: wl-icon-float 4.2s ease-in-out 2s infinite; }

.hero__channels {
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) 460ms both;
}

.hero__channels li:nth-child(1) .hero-icon { animation: wl-icon-float 4.8s ease-in-out 0.3s infinite; }
.hero__channels li:nth-child(2) .hero-icon { animation: wl-icon-float 4.8s ease-in-out 1s infinite; }
.hero__channels li:nth-child(3) .hero-icon { animation: wl-icon-float 4.8s ease-in-out 1.7s infinite; }

.feature-list__icon {
  animation: wl-icon-float 5s ease-in-out infinite;
}

.feature-list__item:nth-child(1) .feature-list__icon { animation-delay: 0.1s; }
.feature-list__item:nth-child(2) .feature-list__icon { animation-delay: 0.5s; }
.feature-list__item:nth-child(3) .feature-list__icon { animation-delay: 0.9s; }
.feature-list__item:nth-child(4) .feature-list__icon { animation-delay: 1.3s; }

.audience-grid__col:nth-child(1) .audience-grid__icon { animation-delay: 0.2s; }
.audience-grid__col:nth-child(2) .audience-grid__icon { animation-delay: 0.7s; }
.audience-grid__col:nth-child(3) .audience-grid__icon { animation-delay: 1.2s; }

.audience-grid__icon {
  animation: wl-icon-float 5.2s ease-in-out infinite;
}

.hero__stage {
  animation: wl-stage-in 900ms var(--wl-ease) 180ms both;
}

.hero__glow {
  transform-origin: 50% 40%;
  animation: wl-glow-breathe 7s ease-in-out infinite;
}

.hero__stage-logo {
  animation: wl-logo-breathe 5.5s ease-in-out 1.2s infinite;
}

.hero__live-dot,
.hero__online-dot {
  animation: wl-live-pulse 2.4s ease-out infinite;
}

.hero__spark-line {
  stroke-dasharray: 520;
  stroke-dashoffset: 520;
  animation:
    wl-spark-draw 1.4s var(--wl-ease) 0.45s forwards,
    wl-spark-shimmer 4.5s ease-in-out 2s infinite;
}

.hero__spark-fill {
  animation: wl-fill-shimmer 5s ease-in-out 1.8s infinite;
}

.hero__kpi {
  opacity: 0;
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) both;
}

.hero__kpi:nth-child(1) { animation-delay: 500ms; }
.hero__kpi:nth-child(2) { animation-delay: 580ms; }
.hero__kpi:nth-child(3) { animation-delay: 660ms; }
.hero__kpi:nth-child(4) { animation-delay: 740ms; }

.hero-slider__controls {
  animation: wl-fade-up var(--wl-duration-slow) var(--wl-ease) 700ms both;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(1.5rem);
  transition:
    opacity var(--wl-duration-slow) var(--wl-ease),
    transform var(--wl-duration-slow) var(--wl-ease);
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

[data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(1rem);
  transition:
    opacity var(--wl-duration-slow) var(--wl-ease),
    transform var(--wl-duration-slow) var(--wl-ease);
}

[data-reveal-stagger].is-visible > *:nth-child(1) { transition-delay: 0ms; }
[data-reveal-stagger].is-visible > *:nth-child(2) { transition-delay: 80ms; }
[data-reveal-stagger].is-visible > *:nth-child(3) { transition-delay: 160ms; }
[data-reveal-stagger].is-visible > *:nth-child(4) { transition-delay: 240ms; }
[data-reveal-stagger].is-visible > *:nth-child(5) { transition-delay: 320ms; }
[data-reveal-stagger].is-visible > *:nth-child(6) { transition-delay: 400ms; }
[data-reveal-stagger].is-visible > *:nth-child(7) { transition-delay: 480ms; }
[data-reveal-stagger].is-visible > *:nth-child(8) { transition-delay: 560ms; }

[data-reveal-stagger].is-visible > * {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce), (pointer: coarse), (max-width: 768px) {
  html {
    scroll-behavior: auto;
  }

  .hero__brand,
  .hero__title,
  .hero__lead,
  .hero .btn-row,
  .hero__highlights,
  .hero__channels,
  .hero__stage,
  .hero__kpi,
  .hero__bars span,
  .hero__spark-line,
  .hero__spark-fill,
  .hero__glow,
  .hero__stage-logo,
  .hero__live-dot,
  .hero__online-dot,
  .hero-slider__controls,
  .hero-icon,
  .hero-icon--live::after,
  .feature-list__icon,
  .audience-grid__icon {
    animation: none !important;
  }

  .hero__kpi {
    opacity: 1;
  }

  .hero__spark-line {
    stroke-dashoffset: 0;
    opacity: 1;
  }

  .hero__bars span {
    opacity: 1;
    transform: none;
  }

  [data-reveal],
  [data-reveal-stagger] > * {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .btn--primary:hover {
    transform: none;
  }
}
