.opening[hidden]{display:none!important}
.opening{position:absolute;inset:0 0 auto;height:100vh;height:100svh;z-index:4;background:inherit;color:#fff;display:flex;align-items:center;justify-content:center;padding:100px 24px 50px;overflow:hidden;opacity:1}
.opening-content{width:min(100%,1000px);text-align:center}
.opening-kicker{color:#ffc107;font-size:11px;font-weight:700;letter-spacing:.24em;margin:0 0 14px}
.opening-title{font:700 clamp(26px,4vw,44px)/1.15 Montserrat,sans-serif;margin:0 0 16px;letter-spacing:-.035em}
.opening-video{display:block;width:100%;height:min(52vh,440px);object-fit:contain;mix-blend-mode:screen}
.opening-progress{position:absolute;bottom:0;left:0;height:2px;width:100%;background:#ffc107;transform:scaleX(0);transform-origin:left}
.intro-active .hero-inner,.intro-active .hero-scroll{opacity:0;visibility:hidden}
.intro-playing .opening{animation:opening-out 7s linear both}
.intro-playing .opening-progress{animation:opening-progress 7s linear both}
.intro-playing .hero-inner{visibility:visible;animation:opening-copy 7s linear both}
.intro-playing .hero-scroll{visibility:visible;animation:opening-copy 7s linear both}
@keyframes opening-out{0%,73%{opacity:1}87%,100%{opacity:0;pointer-events:none}}
@keyframes opening-copy{0%,75%{opacity:0;transform:translateY(12px)}92%,100%{opacity:1;transform:translateY(0)}}
@keyframes opening-progress{to{transform:scaleX(1)}}
@media(max-width:600px){.opening{padding:96px 18px 68px}.opening-video{height:min(55svh,460px,calc(100svh - 270px))}.opening-title{font-size:28px}.opening-kicker{font-size:10px;letter-spacing:.18em}.opening-content{max-width:390px}.hero-scroll{display:none}}
@media(max-height:520px) and (orientation:landscape){.opening{padding:82px 20px 30px}.opening-video{height:48vh}.opening-title{font-size:24px}.opening-kicker{display:none}}
@media(prefers-reduced-motion:reduce){.opening{display:none!important}.intro-active .hero-inner,.intro-active .hero-scroll{opacity:1;visibility:visible;animation:none}}
