/* Two halves of the existing raster artwork each move one full panel width. */
.bay-hatch{position:absolute;inset:0;z-index:10;overflow:hidden;visibility:hidden;pointer-events:none}
.hatch-door{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:#25292b}
.hatch-door-left{left:0}.hatch-door-right{right:0}
.hatch-door img{position:absolute;top:0;left:0;width:200%;max-width:none;height:100%;object-fit:cover}
.hatch-door-right img{left:-100%}
.hatch-seam-light{position:absolute;left:calc(50% - 1px);top:0;bottom:0;width:2px;background:#e3f8ff;box-shadow:0 0 16px 4px #79dfff,0 0 70px 20px #5acaff77;opacity:0}
.hatch-status{position:absolute;left:50%;top:64%;transform:translateX(-50%);display:grid;gap:8px;min-width:220px;padding:16px 28px;border-top:2px solid #8bdef9;background:#101d27ed;color:#edf8ff;text-align:center}
.hatch-status>span{font:500 12px/1.4 var(--mono);letter-spacing:.16em;color:#a6c4d3}
.hatch-status>strong{font-size:22px;line-height:1.4;letter-spacing:.08em}
.archive-hero.bay-opening .bay-hatch{visibility:visible}
.archive-hero.bay-opening .hatch-door{will-change:transform}
.archive-hero.bay-opening .hatch-door-left{animation:hatch-slide-left 3.6s linear both}
.archive-hero.bay-opening .hatch-door-right{animation:hatch-slide-right 3.6s linear both}
.archive-hero.bay-opening .hatch-seam-light{animation:hatch-seam-ignite 3.6s linear both}
.archive-hero.bay-opening .hatch-status{animation:hatch-status-out 3.6s linear both}
.archive-hero.bay-opening .bay-frame{animation:none;transform:none}
.archive-hero.bay-opening .bay-light{animation:hatch-room-light 3.6s ease both}
.archive-hero.bay-opening .mecha-parallax{animation:hatch-mecha-reveal 3.6s ease both}
.archive-hero.bay-opening .mecha-point{opacity:0}
.archive-hero.bay-opening .hero-controls{z-index:12}
.archive:has(.bay-opening) .archive-header{background:#e3e8ebf2;mix-blend-mode:normal}
.hero-controls #replay-mecha,.hero-controls #skip-mecha{font-size:14px;min-height:44px}
.hero-controls #skip-mecha[hidden],.hero-controls #replay-mecha[hidden]{display:none}
@keyframes hatch-slide-left{
 0%,18%{transform:translateX(0)}
 25%,34%{transform:translateX(-1.5%);animation-timing-function:cubic-bezier(.65,0,.2,1)}
 92%,100%{transform:translateX(-100%)}
}
@keyframes hatch-slide-right{
 0%,18%{transform:translateX(0)}
 25%,34%{transform:translateX(1.5%);animation-timing-function:cubic-bezier(.65,0,.2,1)}
 92%,100%{transform:translateX(100%)}
}
@keyframes hatch-seam-ignite{0%,8%{opacity:0}18%,28%{opacity:.85}40%,100%{opacity:0}}
@keyframes hatch-status-out{0%,29%{opacity:1}43%,100%{opacity:0}}
@keyframes hatch-room-light{0%,26%{opacity:0}48%{opacity:.55}100%{opacity:.16}}
@keyframes hatch-mecha-reveal{0%,28%{opacity:.35;transform:scale(.97)}85%,100%{opacity:1;transform:scale(1)}}
@media(max-width:700px){
 .bay-hatch{display:block}
 .hatch-status{top:32%;min-width:190px;padding:12px 18px}
 .hatch-status>strong{font-size:20px}
 .hero-controls #replay-mecha,.hero-controls #skip-mecha{font-size:12px;min-height:40px}
}
.archive.motion-off .bay-hatch{visibility:hidden!important}
@media(prefers-reduced-motion:reduce){.bay-hatch{display:none!important}}
