/* Ken Burns */
.w-hero-img { animation: kenburns 12s ease-out forwards; transform-origin: center center; }
@keyframes kenburns { from { transform: scale(1); } to { transform: scale(1.08); } }

/* Word reveal masks */
.word-line { overflow: hidden; display: inline-block; vertical-align: top; }
.word { display: inline-block; transform: translateY(110%); opacity: 0; }

/* Marquee */
.marquee-track { overflow: hidden; -webkit-mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%); }
.marquee-inner { display: flex; gap: 16px; width: max-content; animation: marquee 80s linear infinite; margin-top: 1.8rem; }
.marquee-inner a { flex: none; display: block; border-radius: 8px; overflow: hidden; }
.marquee-inner img { height: 280px; width: auto; object-fit: cover; filter: grayscale(30%); transition: filter 0.3s; display: block; }
.marquee-inner img:hover { filter: grayscale(0%); }
.marquee-track:hover .marquee-inner { animation-play-state: paused; }
@keyframes marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Scroll reveal */
.reveal { opacity: 0; transform: translateY(48px); transition: opacity 0.85s cubic-bezier(0.16,1,0.3,1), transform 0.85s cubic-bezier(0.16,1,0.3,1); }
.reveal.shown { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .w-hero-img { animation: none; }
  .word { transform: none; opacity: 1; }
  .marquee-inner { animation: none; overflow-x: auto; }
  .reveal { opacity: 1; transform: none; transition: none; }
}
