body { background: #191613; color: #fff; }
.slides { position: relative; height: 100vh; height: 100svh; overflow: hidden; }
.slide { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .55s ease, visibility .55s; }
.slide.active { opacity: 1; visibility: visible; z-index: 1; }
.slide img { display: block; width: 100%; height: 100%; object-fit: cover; }
.slide span { position: absolute; inset: auto 0 0; padding: 34px 15px 20px; color: var(--caption-color, #fff); text-align: center; opacity: .76; transition: opacity .2s; }
.slide.caption-dark span { opacity: 1; }
.slide:hover span,.slide:focus span { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .slide,.slide span { transition: none; } }
.home-intro { position: fixed; inset: 0; z-index: 9; background: #ff1919; pointer-events: none; }
.home-intro[hidden] { display: none; }
.logo { position: relative; }
.logo img.intro-blink { position: absolute; inset: 4px; opacity: 0; pointer-events: none; }
.intro-playing .mascot { pointer-events: none; }
