/* ==========================================================================
   Hareket katmanı (GSAP + ScrollTrigger animations.js içinde)
   Başlangıç durumları yalnızca html.js-motion varken uygulanır. Bu sınıf,
   GSAP 2,5 sn içinde hazır olmazsa veya kullanıcı hareket azaltmayı
   seçmişse kaldırılır; içerik her durumda görünür kalır.
   ========================================================================== */

/* Kelime bazlı başlık girişi */
[data-split] .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.08em; margin-bottom: -0.08em; }
[data-split] .w > span { display: inline-block; will-change: transform; }
.js-motion [data-split] .w > span { transform: translateY(110%); }

/* Genel reveal */
.js-motion [data-reveal] { opacity: 0; transform: translateY(32px); }
.js-motion [data-reveal="fade"] { transform: none; }
.js-motion [data-reveal="scale"] { transform: scale(0.94); }
.js-motion [data-reveal="clip"] { opacity: 1; transform: none; clip-path: inset(12% 12% 12% 12% round 24px); }
.js-motion [data-reveal="clip"] img { transform: scale(1.25); }

/* Kaydırmayla dolan metin */
.js-motion [data-highlight] .hw { opacity: 0.18; }

/* Hero: aktif olmayan slaytlardaki içerik GSAP tarafından yönetilir */
.js-motion .hero__content > * { opacity: 0; }
.js-motion .hero__content .hero__title { opacity: 1; }

/* Sinematik alan: büyüyen kırpma */
.js-motion .cinema[data-expand] { clip-path: inset(6% 8% 6% 8% round 48px); }

/* Hareket azaltma */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; scroll-behavior: auto !important; }
  .hero__media img { transform: none !important; }
  .marquee__track { animation: none !important; }
  .marquee { overflow-x: auto; }
}
