/* SINOVO – animations.css : dezente Scroll-Reveals & Effekte */

@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}

.reveal{opacity:0;transform:translateY(16px);transition:opacity .45s cubic-bezier(.16,1,.3,1),transform .45s cubic-bezier(.16,1,.3,1)}
.reveal.is-in{opacity:1;transform:none}
/* Elemente, die beim Laden bereits sichtbar sind, erscheinen sofort (kein leerer Hero) */
.reveal.is-instant{transition:none}

/* Kaskadierendes Verzögern für Grids */
.cards-grid .reveal:nth-child(2){transition-delay:.06s}
.cards-grid .reveal:nth-child(3){transition-delay:.12s}
.cards-grid .reveal:nth-child(4){transition-delay:.18s}
.cards-grid .reveal:nth-child(5){transition-delay:.24s}
.cards-grid .reveal:nth-child(6){transition-delay:.3s}
.steps .reveal:nth-child(2){transition-delay:.08s}
.steps .reveal:nth-child(3){transition-delay:.16s}
.steps .reveal:nth-child(4){transition-delay:.24s}
.trustbar__item:nth-child(2){transition-delay:.06s}
.trustbar__item:nth-child(3){transition-delay:.12s}
.trustbar__item:nth-child(4){transition-delay:.18s}
.testi-grid .reveal:nth-child(2){transition-delay:.08s}
.testi-grid .reveal:nth-child(3){transition-delay:.16s}

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