/* Items prepared by the script. Until then (and in the builder) nothing is hidden by this file. */
[data-gradual-appearance] .ga-init {
  opacity: 0;
  transform: translateY(var(--nl-ga-distance, 28px));
  transition:
    opacity var(--nl-ga-duration, 0.65s) var(--nl-ga-ease, cubic-bezier(0.22, 1, 0.36, 1)) var(--nl-ga-delay, 0s),
    transform var(--nl-ga-duration, 0.65s) var(--nl-ga-ease, cubic-bezier(0.22, 1, 0.36, 1)) var(--nl-ga-delay, 0s);
  will-change: opacity, transform;
}

[data-gradual-appearance] .ga-init.fade-in {
  opacity: 1;
  transform: translateY(0);
}

/* Fade only: no movement in either state */
[data-gradual-appearance][data-ga-fade] .ga-init,
[data-gradual-appearance][data-ga-fade] .ga-init.fade-in {
  transform: none;
}

/* Catch-up: items passed or reached during a fast scroll appear almost straight away */
[data-gradual-appearance] .ga-init.ga-instant {
  transition-duration: 0.2s !important;
  transition-delay: 0s !important;
}

@media (prefers-reduced-motion: reduce) {
  [data-gradual-appearance] .ga-init {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
