/* ==========================================================
   Animationen – Scroll Reveals & Micro-Interactions
   ========================================================== */

.fade-in {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .6s ease, transform .6s ease;
}
.fade-in.is-visible {
  opacity: 1;
  transform: translateY(0);
}

/* Gestaffelte Verzögerung innerhalb von Grids */
.services__grid .fade-in:nth-child(2),
.steps__grid .fade-in:nth-child(2),
.testimonials__grid .fade-in:nth-child(2),
.trustbar__inner .fade-in:nth-child(2) { transition-delay: .1s; }

.services__grid .fade-in:nth-child(3),
.steps__grid .fade-in:nth-child(3),
.testimonials__grid .fade-in:nth-child(3),
.trustbar__inner .fade-in:nth-child(3) { transition-delay: .2s; }

.services__grid .fade-in:nth-child(4),
.steps__grid .fade-in:nth-child(4),
.trustbar__inner .fade-in:nth-child(4) { transition-delay: .3s; }

.services__grid .fade-in:nth-child(5) { transition-delay: .4s; }
.services__grid .fade-in:nth-child(6) { transition-delay: .5s; }

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .fade-in {
    opacity: 1;
    transform: none;
    transition: none;
  }
  .btn, .service-card, .sticky-cta { transition: none; }
}
