/* =========================================================
   365 Scroll Effects – GSAP + ScrollTrigger + Lenis
   Zweck: Eine zentrale, konfliktfreie Scroll-/Reveal-Schicht.
   ========================================================= */

/* Lenis steuert das Scrollverhalten. Native Smooth-Scroll-Regeln würden konkurrieren. */
html {
  scroll-behavior: auto !important;
}

html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

/* Standardzustand für neue Reveal-Klassen. GSAP setzt Startwerte zusätzlich per JS. */
.reveal-fade,
.reveal-slide-up,
.reveal-stagger > * {
  will-change: transform, opacity;
  backface-visibility: hidden;
}


/* Teure fixed-background Effekte erzeugen auf Mobile/Lenis oft Jank. */
.multistep-form::before {
  background-attachment: scroll !important;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }

  .reveal-fade,
  .reveal-slide-up,
  .reveal-stagger > * {
    will-change: auto;
  }
}
