/* =========================================================
   Scroll Reveal & Micro Interactions
   ========================================================= */
[data-reveal] {
  opacity: 0;
  transform: translateY(28px);
  transition:
    opacity   0.7s var(--ease-out),
    transform 0.8s var(--ease-out);
  will-change: opacity, transform;
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}
[data-reveal-delay="1"].is-visible { transition-delay: 0.08s; }
[data-reveal-delay="2"].is-visible { transition-delay: 0.16s; }
[data-reveal-delay="3"].is-visible { transition-delay: 0.24s; }
[data-reveal-delay="4"].is-visible { transition-delay: 0.32s; }
[data-reveal-delay="5"].is-visible { transition-delay: 0.40s; }
[data-reveal-delay="6"].is-visible { transition-delay: 0.48s; }

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

/* Hero Title langsamer Fade auf Page Load */
.hero__title, .hero__subtitle, .hero__eyebrow, .hero__actions {
  opacity: 0;
  transform: translateY(18px);
  animation: heroIn 1s var(--ease-out) forwards;
}
.hero__eyebrow  { animation-delay: 0.1s; }
.hero__title    { animation-delay: 0.2s; }
.hero__subtitle { animation-delay: 0.45s; }
.hero__actions  { animation-delay: 0.65s; }
@keyframes heroIn {
  to { opacity: 1; transform: translateY(0); }
}
