/* Homepage scroll reveal — soft fade / rise */

html.sp-reveal-ready .sp-reveal {
  opacity: 0;
  transform: translate3d(0, 28px, 0);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

html.sp-reveal-ready .sp-reveal.is-in {
  opacity: 1;
  /* none — иначе transform создаёт containing block и ломает position:fixed (lightbox сертификатов) */
  transform: none;
  will-change: auto;
}

/* Soft stagger for inner pieces (cards / columns) */
html.sp-reveal-ready .sp-reveal-item {
  opacity: 0;
  transform: translate3d(0, 18px, 0);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item {
  opacity: 1;
  transform: none;
  will-change: auto;
}

html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item:nth-child(1) { transition-delay: 0.04s; }
html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item:nth-child(2) { transition-delay: 0.1s; }
html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item:nth-child(3) { transition-delay: 0.16s; }
html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item:nth-child(4) { transition-delay: 0.22s; }
html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item:nth-child(5) { transition-delay: 0.28s; }
html.sp-reveal-ready .sp-reveal.is-in .sp-reveal-item:nth-child(6) { transition-delay: 0.34s; }

/* Banner: only a gentle fade on first paint, no scroll wait */
html.sp-reveal-ready .sp-banner.sp-reveal {
  transform: none;
  transition: opacity 0.85s ease;
}

@media (prefers-reduced-motion: reduce) {
  html.sp-reveal-ready .sp-reveal,
  html.sp-reveal-ready .sp-reveal-item {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}
