/* Motion Design für alle übrigen Seiten (Entwurf 28.10.2026, nur in der Vorschau eingebunden) */
/* Bilder öffnen sich editorial von unten (Masken-Wischer) */
.sm-bild { clip-path: inset(100% 0 0 0); transition: clip-path 1.2s cubic-bezier(.2,.75,.15,1); }
.sm-bild.sm-da { clip-path: inset(0 0 0 0); }
.sm-bild img { transform: scale(1.08); transition: transform 1.6s cubic-bezier(.2,.75,.15,1); }
.sm-bild.sm-da img { transform: scale(1); }
/* Karten und Boxen gleiten gestaffelt ein */
.sm-rein { opacity: 0; transform: translateY(28px); transition: opacity .8s ease, transform 1s cubic-bezier(.2,.75,.15,1); transition-delay: var(--d, 0s); }
.sm-rein.sm-da { opacity: 1; transform: none; }
/* Startseite: Claim baut sich Wort für Wort auf, Knöpfe folgen */
.hero-claim .w { display: inline-block; overflow: hidden; vertical-align: bottom; }
.hero-claim .w > span { display: inline-block; transform: translateY(105%); animation: lpWort .8s cubic-bezier(.2,.75,.15,1) forwards; animation-delay: calc(var(--i) * .035s + .9s); }
.hero-btns { animation: lpEin 1s 1.8s cubic-bezier(.2,.75,.15,1) both; }
/* Galerie auf der Startseite: leichter Parallax-Versatz der Spalten */
.gal a { will-change: transform; }
/* Talent-Profil: Titelbild atmet langsam (Ken Burns) */
.tp-hero img, .thero2 img { animation: smAtmen 18s ease-in-out infinite alternate; }
@keyframes smAtmen { from { transform: scale(1); } to { transform: scale(1.05); } }
@keyframes lpWort { to { transform: none; } }
@keyframes lpEin { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .sm-bild { clip-path: none; } .sm-bild img { transform: none; }
  .sm-rein { opacity: 1; transform: none; }
  .hero-claim .w > span, .hero-btns, .tp-hero img, .thero2 img { animation: none; transform: none; opacity: 1; }
}
