/* Isolated F360-OPEN cover. Existing images, slides and controls keep their CSS. */
#storyStage.opening-cover-active{padding:0!important;background:#050c17!important;display:block!important}
#storyStage.opening-cover-active::before,#storyStage.opening-cover-active::after{display:none!important}
#storyStage.opening-cover-active>.story-head,#storyStage.opening-cover-active>.story-main,#storyStage.opening-cover-active>.story-live-layer,#storyStage.opening-cover-active>.story-question{visibility:hidden!important}
.opening-cover{position:absolute;inset:0;overflow:hidden;isolation:isolate;background:#050c17;color:#fff;container-type:inline-size;font-family:Inter,Arial,Helvetica,sans-serif;pointer-events:none}
.opening-cover *{box-sizing:border-box}
.opening-cover img{display:block;max-width:none;border:0;border-radius:0;box-shadow:none}
.opening-cover .oc-atmosphere{position:absolute;inset:0;background:radial-gradient(ellipse at 20% 10%,#25376c77,transparent 55%),radial-gradient(ellipse at 85% 70%,#752a3938,transparent 55%),#050c17}
.opening-cover .oc-films,.opening-cover .oc-film,.opening-cover .oc-finale,.opening-cover .oc-triptych,.opening-cover .oc-finale-shade,.opening-cover .oc-film-shade{position:absolute;inset:0}
.opening-cover .oc-film{opacity:0;overflow:hidden}
.opening-cover .oc-film>img{width:100%;height:100%;object-fit:cover;transform:scale(1.035);animation:oc-kenburns 7s linear both}
.opening-cover .oc-film-shade{background:linear-gradient(180deg,#030813c9 0%,transparent 30%,transparent 48%,#030813e8 100%),linear-gradient(90deg,#03081342,transparent 66%)}
.opening-cover .oc-case-caption{position:absolute;left:5.1%;bottom:13.5%;right:5.1%;text-shadow:0 4px 36px #0009}
.opening-cover .oc-case-year{display:flex;align-items:center;gap:1.05cqw;font-size:1.04cqw;letter-spacing:.2em;font-weight:600;color:#c3ddd9}
.opening-cover .oc-case-year i{height:1px;width:3.1cqw;background:#7ed6c8}
.opening-cover .oc-case-caption p{font-size:6.25cqw;line-height:1.05;letter-spacing:-.055em;font-weight:750;margin:1.1cqw 0 0;color:#fff}
.opening-cover .oc-case-index{position:absolute;right:0;bottom:.6cqw;font-size:1.05cqw;letter-spacing:.2em;color:#d0e0e8}
.opening-cover .oc-film-1{animation:oc-case-one 25s linear both}.opening-cover .oc-film-2{animation:oc-case-two 25s linear both}.opening-cover .oc-film-3{animation:oc-case-three 25s linear both}
.opening-cover .oc-film-1>img{animation-delay:5s}.opening-cover .oc-film-2>img{animation-delay:11s}.opening-cover .oc-film-3>img{animation-delay:17s}
.opening-cover .oc-finale{opacity:0;animation:oc-final-reveal 25s linear both}
.opening-cover .oc-triptych{display:grid;grid-template-columns:1fr 1fr 1fr;gap:3px}
.opening-cover .oc-panel{position:relative;overflow:hidden;background:#0b1523}
.opening-cover .oc-panel>img{width:100%;height:100%;object-fit:cover;object-position:49% 50%;filter:saturate(.9);transform:scale(1.03)}
.opening-cover .oc-panel-1>img{object-position:35% 50%}.opening-cover .oc-panel-2>img{object-position:48% 50%}.opening-cover .oc-panel-3>img{object-position:37% 50%}
.opening-cover .oc-panel>span{position:absolute;right:8%;top:25%;display:flex;align-items:center;gap:.65cqw;font-size:.9cqw;letter-spacing:.15em;color:#c8e0e5;text-shadow:0 2px 12px #000}
.opening-cover .oc-panel>span i{width:1.3cqw;height:1px;background:#94d9ce}
.opening-cover .oc-finale-shade{background:linear-gradient(90deg,#030b14ed 0%,#030b14b3 31%,#030b1440 64%,#030b1428 100%),linear-gradient(180deg,#030813e8 0%,#03081350 27%,transparent 55%,#030813ef 100%)}
.opening-cover .oc-masthead{position:absolute;z-index:3;left:4.6%;right:5.1%;top:4.7%;display:flex;align-items:center;gap:1.1cqw;animation:oc-brand-reveal 25s linear both}
.opening-cover .oc-logo{width:7.5cqw;height:6.03cqw;flex:none;overflow:hidden}
.opening-cover .oc-congress{display:flex;flex-direction:column;gap:.48cqw}
.opening-cover .oc-congress>span{font-size:.84cqw;letter-spacing:.2em;font-weight:500;color:#b9c8d6}
.opening-cover .oc-congress>strong{font-size:1.83cqw;line-height:1.2;font-weight:650;letter-spacing:-.025em;color:#fff}
.opening-cover .oc-event{margin-left:auto;text-align:right;display:flex;flex-direction:column;gap:.45cqw}
.opening-cover .oc-event>b{font-size:2.65cqw;letter-spacing:-.06em;font-weight:800;line-height:1}.opening-cover .oc-event>b>span{color:#83deed}
.opening-cover .oc-event>small{font-size:.75cqw;letter-spacing:.13em;color:#b8ccd8}
.opening-cover .oc-final-copy{position:absolute;z-index:2;left:5.1%;top:29%;opacity:0;animation:oc-copy-reveal 25s linear both}
.opening-cover .oc-eyebrow{display:flex;align-items:center;gap:.65cqw;color:#b8e2dd;font-size:.83cqw;letter-spacing:.18em;font-weight:650}
.opening-cover .oc-eyebrow>i{width:.36cqw;height:.36cqw;background:#85dace;border-radius:50%;box-shadow:0 0 22px #7ad7cf99}
.opening-cover .oc-eyebrow>span{color:#c1ccd6;font-weight:400;font-size:.7cqw;letter-spacing:.13em;margin-left:.7cqw}
.opening-cover .oc-final-copy h1{font-size:5.65cqw;line-height:.99;letter-spacing:-.055em;font-weight:780;margin:1.8cqw 0 1.6cqw;color:#fff;max-width:none;text-shadow:0 5px 40px #0005}
.opening-cover .oc-final-copy h1 em{font-style:normal;color:#a6e4df}
.opening-cover .oc-question{margin:0;font-size:1.55cqw;line-height:1.3;letter-spacing:-.025em;color:#e3ebf3}
.opening-cover .oc-footer{position:absolute;z-index:3;left:5.1%;right:5.1%;bottom:4.8%;display:flex;align-items:flex-end;justify-content:space-between;border-top:1px solid #b4cee333;padding-top:1.1cqw;animation:oc-brand-reveal 25s linear both}
.opening-cover .oc-footer>div:first-child{display:flex;flex-direction:column;gap:.35cqw}.opening-cover .oc-footer span{font-size:.65cqw;letter-spacing:.2em;color:#a4b8c8}.opening-cover .oc-footer strong{font-size:1.15cqw;font-weight:550;color:#fff;letter-spacing:-.015em}
.opening-cover .oc-footer>p{display:flex;gap:.85cqw;align-items:center;margin:0 0 .2cqw;font-size:.77cqw;letter-spacing:.16em;color:#becfda}
.opening-cover .oc-footer>p i{width:3px;height:3px;border-radius:50%;background:#7ccfc6}
.opening-cover .oc-mark{font-size:1.65cqw;font-weight:750;letter-spacing:-.065em}.opening-cover .oc-mark>span{font-size:inherit;letter-spacing:inherit;color:#a6e4df}
.opening-cover .oc-intro{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 0%,#263a6170,transparent 65%),#050c17;animation:oc-intro-out 25s linear both}
.opening-cover .oc-intro-label{color:#b9cbdc;display:flex;gap:1cqw;align-items:center;font-size:.85cqw;letter-spacing:.3em;margin-bottom:2.1cqw}.opening-cover .oc-intro-label i{width:2cqw;height:1px;background:#739baa}
.opening-cover .oc-congress-art{width:82%;height:auto;max-height:76%;object-fit:contain;box-shadow:0 0 100px #23395444;animation:oc-poster-entrance 5.5s cubic-bezier(.18,.6,.25,1) both}
.opening-cover .oc-intro-line{margin-top:2.3cqw;width:8cqw;height:1px;background:linear-gradient(90deg,transparent,#8adace,transparent)}
.opening-cover .oc-intro>p{display:flex;align-items:center;gap:1.2cqw;font-size:.9cqw;letter-spacing:.25em;color:#dce7ef;margin:1.3cqw 0 0}.opening-cover .oc-intro>p i{width:3px;height:3px;background:#9cddd3;transform:rotate(45deg)}
.opening-cover .oc-timeline{position:absolute;z-index:8;bottom:0;left:0;right:0;height:3px;display:flex;gap:3px;opacity:.75}
.opening-cover .oc-timeline>i{flex:1;position:relative;background:#6ba8af1a;overflow:hidden}.opening-cover .oc-timeline>i::after{content:'';position:absolute;inset:0;background:#a2dcd7;transform:scaleX(0);transform-origin:left;animation:oc-line 6s linear both}.opening-cover .oc-timeline>i:nth-child(2)::after{animation-delay:6s}.opening-cover .oc-timeline>i:nth-child(3)::after{animation-delay:12s}.opening-cover .oc-timeline>i:nth-child(4)::after{animation-delay:18s;animation-duration:7s}

.opening-cover[data-mode="standby"] .oc-standby-grid{position:absolute;inset:0;display:grid;grid-template-columns:minmax(430px,.86fr) minmax(0,1.14fr);gap:3.4cqw;align-items:center;padding:5.2% 5.4%;z-index:6}
.opening-cover[data-mode="standby"] .oc-standby-art{width:100%;height:auto;max-height:74%;object-fit:contain;filter:drop-shadow(0 22px 70px rgba(0,0,0,.38))}
.opening-cover[data-mode="standby"] .oc-standby-copy{display:flex;flex-direction:column;gap:1.25cqw;max-width:46cqw}
.opening-cover[data-mode="standby"] .oc-standby-kicker{display:inline-flex;align-items:center;gap:.9cqw;align-self:flex-start;padding:.7cqw 1.1cqw;border-radius:999px;border:1px solid rgba(166,228,223,.32);background:rgba(9,20,35,.5);font-size:.84cqw;letter-spacing:.23em;color:#bfe2de}
.opening-cover[data-mode="standby"] .oc-standby-copy h1{margin:0;font-size:5.15cqw;line-height:.98;letter-spacing:-.055em;font-weight:790;color:#fff;text-shadow:0 5px 40px rgba(0,0,0,.3)}
.opening-cover[data-mode="standby"] .oc-standby-copy p{margin:0;font-size:1.38cqw;line-height:1.5;color:#d8e5ee;max-width:40cqw}
.opening-cover[data-mode="standby"] .oc-standby-copy p strong{color:#a6e4df;font-weight:700}
.opening-cover[data-mode="standby"] .oc-standby-meta{display:flex;align-items:center;gap:.95cqw;margin-top:.6cqw;font-size:.92cqw;letter-spacing:.15em;color:#b7c7d3}
.opening-cover[data-mode="standby"] .oc-standby-meta i{width:.36cqw;height:.36cqw;border-radius:50%;background:#7ccfc6;box-shadow:0 0 22px #7ad7cf66}
.opening-cover[data-mode="standby"] .oc-intro,.opening-cover[data-mode="standby"] .oc-films,.opening-cover[data-mode="standby"] .oc-finale,.opening-cover[data-mode="standby"] .oc-masthead,.opening-cover[data-mode="standby"] .oc-final-copy,.opening-cover[data-mode="standby"] .oc-footer,.opening-cover[data-mode="standby"] .oc-timeline{display:none!important}
@keyframes oc-intro-out{0%,20%{opacity:1;visibility:visible}24%{opacity:0;visibility:visible}24.01%,100%{opacity:0;visibility:hidden}}
@keyframes oc-poster-entrance{from{opacity:.55;transform:scale(.97)}to{opacity:1;transform:scale(1)}}
@keyframes oc-brand-reveal{0%,19%{opacity:0;transform:translateY(-8px)}24%,100%{opacity:1;transform:none}}
@keyframes oc-case-one{0%,18%{opacity:0}24%,42%{opacity:1}48%,100%{opacity:0}}
@keyframes oc-case-two{0%,42%{opacity:0}48%,66%{opacity:1}72%,100%{opacity:0}}
@keyframes oc-case-three{0%,66%{opacity:0}72%,88%{opacity:1}100%{opacity:0}}
@keyframes oc-kenburns{from{transform:scale(1.035)}to{transform:scale(1.095)}}
@keyframes oc-final-reveal{0%,88%{opacity:0}100%{opacity:1}}
@keyframes oc-copy-reveal{0%,89%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:none}}
@keyframes oc-line{to{transform:scaleX(1)}}
/* Starting the existing projector starts the opening; state updates do not restart it. */
.opening-cover[data-ready=false] *,.opening-cover[data-ready=false] *::after,.stage-page:not(.cinema) .opening-cover *,.stage-page:not(.cinema) .opening-cover *::after,.stage-needs-activation .opening-cover *,.stage-needs-activation .opening-cover *::after,.is-frozen .opening-cover *,.is-frozen .opening-cover *::after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){
 .opening-cover *,.opening-cover *::after{animation:none!important;transition:none!important}
 .opening-cover .oc-intro,.opening-cover .oc-films,.opening-cover .oc-timeline{display:none}
 .opening-cover .oc-finale,.opening-cover .oc-final-copy,.opening-cover .oc-masthead,.opening-cover .oc-footer{opacity:1;transform:none}
}

/* HOTFIX 2: Returning to a played intro shows its final three-case frame,
   never restarts CSS motion, EKG or heartbeat without STORY_START. */
.opening-cover[data-mode="settled"] .oc-films,
.opening-cover[data-mode="settled"] .oc-intro,
.opening-cover[data-mode="settled"] .oc-timeline{display:none!important}
.opening-cover[data-mode="settled"] .oc-finale,
.opening-cover[data-mode="settled"] .oc-masthead,
.opening-cover[data-mode="settled"] .oc-final-copy,
.opening-cover[data-mode="settled"] .oc-footer{animation:none!important;opacity:1!important;visibility:visible!important;transform:none!important}
