/* v15: approved artwork and motion with independently localized HTML text. */
.opening-story{position:relative;width:100vw;margin-left:calc(50% - 50vw);direction:ltr;isolation:isolate;touch-action:pan-y;outline-offset:-4px}
.opening-slide[hidden]{display:none!important}
.opening-stage{position:relative;min-width:0}
.opening-slide{position:relative}
.opening-picture{display:block;width:100%;line-height:0}
.opening-picture img{display:block;width:100%;height:auto;aspect-ratio:1536/388;object-fit:fill}
.opening-original{width:min(1440px,85.32%);margin-inline:auto;min-height:calc(100vw * 324 / 1280);display:grid;align-items:center}
.opening-original .launch-banner{width:100%}
.opening-status-hotspot{position:absolute;left:11.7%;top:74%;width:14.3%;height:11.4%;border-radius:50px;z-index:3}
.opening-status-hotspot:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px #152441}
.opening-arrow{position:absolute;top:43.5%;width:3.2%;min-width:32px;aspect-ratio:1;display:grid;place-items:center;background:#172540;border:1.5px solid #eaf0ff;border-radius:50%;color:white;z-index:5;box-shadow:0 2px 4px #14244455}
.opening-arrow svg{width:50%;height:60%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.opening-prev{left:1.5%}.opening-next{right:1.5%}
.opening-footer{position:absolute;inset:0;pointer-events:none;z-index:5}
.opening-footer button,.opening-footer a{pointer-events:auto}
.opening-counter{position:absolute;left:2%;bottom:2.6%;color:#fff;font:700 clamp(12px,1.5vw,23px)/1.3 Arial,sans-serif;min-height:28px;display:flex;align-items:center;gap:2px;padding:0 6px;border-radius:8px;background:#182f5fdd}
.opening-counter>span:not(.opening-pause-symbol){opacity:.65}.opening-pause-symbol{font-size:.65em;margin-left:5px}
.opening-counter:hover{background:#132f66}
.opening-dots{position:absolute;bottom:2.2%;left:50%;transform:translateX(-50%);display:flex;align-items:center;background:#172b54;border-radius:30px;box-shadow:inset 0 0 0 1px #b2c2e0;padding:0 4px;height:32px}
.opening-dots button{width:20px;height:32px;padding:0;display:grid;place-items:center;border-radius:16px}
.opening-dots i{display:block;width:9px;height:9px;border-radius:50%;background:#a9b7d4}
.opening-dots [aria-pressed=true] i{background:#ffdd66}
.opening-dots button:focus-visible{outline:2px solid white;outline-offset:-2px}
.opening-gate,.opening-footer .mobile-channels{display:none}
.opening-caption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.opening-caption h1{font:inherit;font-weight:800;margin:0}
.opening-illustrated{container-type:inline-size}
.legion-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.scene-badge,.scene-headline,.scene-subtitle,.scene-cta,.scene-speech,.scene2-speech,.scene-gate-pc,.scene-impact{position:absolute;z-index:3;box-sizing:border-box;margin:0;font-family:var(--sparta-display,SpartaMeme),Arial,sans-serif;font-weight:900;line-height:1.15;text-align:center;overflow-wrap:anywhere}
.scene-badge{left:12.2%;top:15.1%;width:17.3%;height:9.4%;display:flex;align-items:center;justify-content:center;gap:.45cqw;color:#15203b;font-size:1.44cqw;line-height:1.1;padding:0 .3cqw}
.scene-badge-mark{width:1.3cqw;height:1.5cqw;fill:none;stroke:currentColor;stroke-width:2;flex-shrink:0}
.scene-headline{left:11.8%;top:27.3%;width:23%;height:36.9%;text-align:left;font-size:4.55cqw;line-height:1.02;letter-spacing:-.045em;color:#fff;text-shadow:0 .12cqw 0 #1c419755;display:flex;flex-direction:column;justify-content:center}
.scene-headline span,.scene-headline em{display:block;font-style:normal}
.scene-headline em{color:#ffdf59}
[data-story-slide="2"] .scene-headline{width:25%;font-size:4.2cqw}
.scene-subtitle{left:11.8%;top:63.9%;width:23%;height:8%;text-align:left;display:flex;align-items:center;flex-wrap:wrap;gap:0 .35em;color:#fff;font-size:1.67cqw;line-height:1.15;letter-spacing:-.035em}
[data-story-slide="2"] .scene-subtitle{width:26%}
.scene-cta{left:11.8%;top:74%;width:14.2%;height:10.8%;border-radius:30px;color:#ffe46c;font-size:1.3cqw;display:flex;align-items:center;justify-content:center;padding-left:2.2%;padding-right:.5%;line-height:1.1}
.scene-cta:focus-visible{outline:3px solid #fff;box-shadow:0 0 0 5px #152441}
.scene-speech{left:78.19%;top:12.11%;width:19.53%;height:16.49%;display:flex;align-items:center;justify-content:center;color:#18203a;background:#fffef8;border:max(1px,.163cqw) solid #1b2541;border-radius:2cqw;box-shadow:inset 0 0 0 .28cqw #fffef8,inset 0 0 0 .34cqw #e6ce8a,.06cqw .2cqw 0 #15203b1c;font-size:1.96cqw;line-height:1.15;padding:.45cqw .7cqw}
.speech-text{max-width:100%}
.scene-gate-pc{left:80.2%;top:78%;width:16.7%;height:9.2%;display:flex;justify-content:center;align-items:center;font-size:1.38cqw;color:#ffe36c;line-height:1.05}
.scene-impact{width:4.6%;height:11%;font-size:1.75cqw;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;color:#182440;line-height:1}
.scene-impact[hidden]{display:none}
.scene2-speech{color:#15203b;display:flex;align-items:center;justify-content:center;font-size:1.2cqw;line-height:1.05}
.scene2-pepe{left:49.05%;top:11.35%;width:6.2%;height:9.2%;transform:rotate(-7deg)}
.scene2-emperor{left:79.5%;top:9%;width:6%;height:9.5%;transform:rotate(-5deg)}
html[dir=rtl] .scene-badge,html[dir=rtl] .scene-headline,html[dir=rtl] .scene-subtitle,html[dir=rtl] .scene-cta,html[dir=rtl] .scene-speech,html[dir=rtl] .scene2-speech,html[dir=rtl] .scene-gate-pc,html[dir=rtl] .opening-gate{direction:rtl;font-family:Arial,sans-serif}
html[dir=rtl] .scene-headline,html[dir=rtl] .scene-subtitle{text-align:right}
.opening-announcement{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.opening-story button:focus-visible{outline:3px solid #d79a16;outline-offset:2px}
.opening-story+.first-screen-grid{margin-top:10px}
.launch-section:has(.opening-story){padding-top:0}
@media (max-width:800px){
 .opening-story{width:calc(100% + 32px);margin-left:-16px;max-width:none}
 .opening-picture img{aspect-ratio:1024/800}
 .scene-badge{left:33.9%;top:6.5%;width:32.5%;height:8.1%;font-size:3.15cqw;padding:.2cqw .7cqw;color:#ffe675}
 .scene-badge-mark{display:none}
 .scene-headline,[data-story-slide="2"] .scene-headline{left:24.2%;top:15.5%;width:52.8%;height:25.9%;font-size:10.35cqw;line-height:1.02;text-align:center;letter-spacing:-.055em;color:#0b142d;text-shadow:none}
 .scene-headline em{color:#2d4dc1}
 [data-story-slide="2"] .scene-headline{left:21.7%;width:57.8%;font-size:9.8cqw}
 .scene-subtitle,[data-story-slide="2"] .scene-subtitle{left:29%;top:43.8%;width:44%;height:10.5%;font-size:4cqw;line-height:1.2;letter-spacing:-.045em;color:#101b37;text-align:center;display:block}
 .scene-subtitle span{display:block}
 [data-story-slide="2"] .scene-subtitle{top:43%;height:10.2%}
 .scene-cta{left:37.7%;top:56%;width:26.2%;height:8.2%;font-size:3.05cqw;padding-left:4.8%;padding-right:1%;line-height:1.1}
 [data-story-slide="2"] .scene-cta{top:55%;height:7.4%}
 .scene-speech{font-size:2.54cqw;border-width:max(1px,.245cqw);border-radius:2.35cqw;padding:.7cqw .8cqw;line-height:1.17;box-shadow:inset 0 0 0 .4cqw #fffef8,inset 0 0 0 .49cqw #e6ce8a,.1cqw .3cqw 0 #15203b1c}
 .speech-text span{display:block}
 html:not([lang=ko]):not([lang=ja]):not([lang=zh-CN]):not([lang=zh-TW]) .scene-speech{font-size:2.9cqw}
 .scene-gate-pc{display:none}
 .scene-impact{font-size:2.64cqw;width:7.4%;height:5.4%}
 .scene2-speech{font-size:2.45cqw;line-height:1.05}
 .scene2-pepe{left:50.3%;top:62.7%;width:11.9%;height:5.2%;transform:none}
 .scene2-emperor{left:86.2%;top:59.1%;width:10.2%;height:5.5%;transform:none}
 html[dir=rtl] .scene-headline,html[dir=rtl] .scene-subtitle{text-align:center}
 .mobile-tagline{margin-bottom:5px}
 .opening-original{display:block;width:calc(100% - 32px);min-height:0;padding-top:38px}
 .opening-original .mobile-bridge{height:clamp(64px,18vw,110px)}
 .opening-status-hotspot{left:37.5%;top:56%;width:27%;height:9.5%}
 [data-scene="2"] .opening-status-hotspot{left:37.4%;top:54%;width:27%;height:9.5%}
 .opening-arrow{display:none}
 .opening-footer{position:relative;inset:auto;display:flex;align-items:center;gap:4px;min-height:42px;margin:0 5.3% 6px;pointer-events:auto}
 .opening-counter{position:static;color:#121d37;font-size:12px;min-height:44px;padding:0;background:transparent;flex-shrink:0;gap:0}
 .opening-counter:hover{background:transparent}
 .opening-counter>span:not(.opening-pause-symbol){color:#8d9ab6;opacity:1}
 .opening-pause-symbol{display:none}
 .opening-counter[aria-pressed=true] .opening-pause-symbol{display:inline}
 .opening-dots{position:static;transform:none;background:none;box-shadow:none;padding:0;flex-shrink:0;height:44px}
 .opening-dots button{width:18px;height:44px;border-radius:5px}
 .opening-dots i{width:7px;height:7px;background:#dbe3f3}
 .opening-dots [aria-pressed=true] i{background:#2851c5}
 .opening-dots button:focus-visible{outline-color:#254bac}
 .opening-gate{display:block;flex:1;min-width:0;text-align:center;border:1px solid #cda34b;border-radius:8px;background:#fff4cf;padding:4px 3px;font-size:clamp(8px,2.1vw,15px);font-weight:800;white-space:nowrap;color:#111f3d}
 .opening-story:not([data-scene="3"]) .opening-gate{visibility:hidden}
 .opening-footer .mobile-channels{position:static;display:flex;align-items:center;justify-content:flex-end;gap:6px;width:auto;text-align:center;flex-shrink:0}
 .opening-footer .mobile-channels p{font-size:clamp(8px,2vw,15px);margin:0;white-space:nowrap}
 .opening-footer .mobile-channels>div{gap:0}
 .opening-footer .mobile-channels button{width:36px;height:44px;min-width:36px;border:0;background:transparent;padding:4px;color:#fff;box-shadow:none;position:relative}
 .opening-footer .mobile-channels button::before{content:'';position:absolute;width:29px;height:29px;border-radius:50%;background:#0d1425;z-index:-1}
 .opening-footer .mobile-channels button:last-child::before{background:#229ad4}
 .opening-footer .mobile-channels svg{width:18px;height:18px}
 .opening-story+.first-screen-grid{margin-top:0}


}
@media (max-width:440px){.opening-footer .mobile-channels p{display:none}}
@media (min-width:600px) and (max-width:800px){
 .opening-footer{min-height:55px;gap:10px}.opening-counter{font-size:18px}
 .opening-dots button{width:24px}.opening-dots i{width:10px;height:10px}
 .opening-footer .mobile-channels button{width:44px;height:50px;min-width:44px}
 .opening-footer .mobile-channels button::before{width:40px;height:40px}
 .opening-footer .mobile-channels svg{width:24px;height:24px}
}
