/* ==========================================================================
   Animationen: Reveal ausschliesslich per transform, nie opacity:0-Start.
   Ohne JS bleibt jeder Inhalt sofort sichtbar (Default-Zustand = Endzustand).
   ========================================================================== */

[data-reveal]{
  transform: none;
}

.js-reveal-init [data-reveal]{
  transform: translateY(30px);
  transition: transform 620ms var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: transform;
}
.js-reveal-init [data-reveal].is-visible{
  transform: translateY(0);
}

.js-reveal-init [data-reveal="scale"]{
  transform: scale(0.96);
}
.js-reveal-init [data-reveal="scale"].is-visible{
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce){
  .js-reveal-init [data-reveal]{
    transition: none;
    transform: none;
  }
}

/* Press-Feedback auf interaktiven Elementen */
.service-item, .slider__slide, .btn, .slider__btn{
  transition: transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out);
}

.hero__head [data-reveal]{ transition-delay: 60ms; }
