/* One continuous sticky opening: no DOM removal or scroll reset. */
.motion-ready .intro-scene{height:445svh}
.motion-ready .intro-stage{height:100svh;min-height:0}
#logo-intro[hidden]{display:none}
#logo-intro{position:absolute;inset:0;height:100%;z-index:5;background:#000;pointer-events:none}
.logo-stage{position:absolute;inset:0;overflow:hidden;background:#000}
.logo-stage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.logo-veil,.logo-white{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.logo-bottom{position:absolute;left:24px;right:24px;bottom:42px;display:flex;justify-content:center;text-align:center;color:var(--white)}
.logo-scroll{display:flex;flex-direction:column;align-items:center;gap:14px;font-size:13px;line-height:1.5;letter-spacing:.06em}
.logo-scroll b{display:block;font-size:32px;color:var(--yellow);font-weight:400;animation:cue-drift 1.8s ease-in-out infinite}
.intro-skip{position:absolute;top:-100px;right:24px;padding:12px;color:var(--yellow);background:#000;z-index:6;pointer-events:auto}
.intro-skip:focus{top:24px}
.intro-top{min-height:21px}
.intro-bottom .scroll-cue{visibility:hidden}
@keyframes cue-drift{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(max-width:600px){.logo-bottom{bottom:30px}}
@media(prefers-reduced-motion:reduce){#logo-intro{display:none!important}.logo-scroll b{animation:none}}
