/* Scroll-reveal animations + sticky nav CTA for fp-home marketing pages */

.fp-nav__scroll-cta {
  margin-left: auto;
  flex-shrink: 0;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-6px);
  pointer-events: none;
  transition:
    opacity 0.28s ease,
    transform 0.28s ease,
    visibility 0.28s;
}

.fp-nav[data-scrolled="true"] .fp-nav__scroll-cta {
  opacity: 1;
  visibility: visible;
  transform: none;
  pointer-events: auto;
}

.fp-home .fp-nav__actions .fp-nav__scroll-cta {
  margin-left: 0;
}

@media (prefers-reduced-motion: no-preference) {
  .fp-reveal {
    opacity: 0;
    transform: translateY(28px);
    transition:
      opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
    will-change: opacity, transform;
  }

  .fp-reveal.is-visible {
    opacity: 1;
    transform: none;
  }

  .fp-reveal-stagger > * {
    opacity: 0;
    transform: translateY(24px);
    transition:
      opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .fp-reveal-stagger.is-visible > * {
    opacity: 1;
    transform: none;
  }

  .fp-reveal-stagger.is-visible > *:nth-child(1) { transition-delay: 0ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(2) { transition-delay: 90ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(3) { transition-delay: 180ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(4) { transition-delay: 270ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(5) { transition-delay: 360ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(6) { transition-delay: 450ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(7) { transition-delay: 540ms; }
  .fp-reveal-stagger.is-visible > *:nth-child(8) { transition-delay: 630ms; }

  .fp-reveal--hero.is-visible,
  .fp-reveal--immediate.is-visible {
    transition-duration: 0.8s;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fp-reveal,
  .fp-reveal-stagger > * {
    opacity: 1;
    transform: none;
  }
}
