/* Scroll-Reveal & Micro-Interactions — nur transform animieren, nie opacity:0 als Startzustand */

.reveal {
  transform: translateY(14px);
  transition: transform 620ms var(--ease-out);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal.is-visible {
  transform: translateY(0);
}

.reveal-word {
  display: inline-block;
  transform: translateY(0.5em);
  transition: transform 520ms var(--ease-out);
  transition-delay: var(--word-delay, 0ms);
}

.reveal-word.is-visible {
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .reveal,
  .reveal-word {
    transform: none !important;
    transition: none !important;
  }
}

.press:active {
  transform: scale(0.98);
}

/* Hero-Einblendung beim Laden */
.hero {
  animation: hero-in 700ms var(--ease-out) both;
}

@keyframes hero-in {
  from { transform: translateY(10px); }
  to { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .hero {
    animation: none;
  }
}

.card-hover {
  transition: transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base) var(--ease-out);
}

.card-hover:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-lift);
}
