/* 1) Während prevent-reveal aktiv ist: alles normal sichtbar, ohne Animation */
html.prevent-reveal [data-reveal] {
  opacity: 1 !important;
  transform: none !important;
  transition: none !important;
}

/* 2) Basiszustand: Elemente sind zunächst unsichtbar und etwas nach unten versetzt */
[data-reveal] {
  opacity: 0;
  transform: translateY(24px);
  transition:
    transform 1000ms cubic-bezier(0.22, 1, 0.36, 1),
    opacity   1000ms cubic-bezier(0.22, 1, 0.36, 1);
  will-change: transform, opacity;
}

/* 3) Sichtbar-Status – wird per JS gesetzt */
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
  transition-delay: var(--delay, 0ms);
}

/* 4) Reduced motion: keine Animation, alles sofort sichtbar */
@media (prefers-reduced-motion: reduce) {
  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
