@charset "UTF-8";
/* Native 1080p journey: one video, stable sizing across landing and departure. */
.hero .heroVideo{transition:none;object-fit:cover;filter:none;transform:none}
.hero .heroContent{position:absolute;margin:0;left:7%;top:30%;max-width:60%;transition:opacity .5s,transform .6s}
.hero .heroContent h1{font-size:clamp(43px,5vw,78px);letter-spacing:-2px;margin:20px 0}
.hero .heroContent p{font-size:13px;color:#e4f3fc}
.hero #exploreTrigger{position:absolute;left:50%;bottom:19%;transform:translateX(-50%);margin:0;min-width:245px;padding:20px 25px;border:1px solid #dcf7ffb3;border-radius:4px;background:#17374714;color:#fff;box-shadow:inset 0 0 25px #d8f7ff08,0 8px 36px #0719263d;backdrop-filter:blur(5px);font-size:16px;font-weight:500;letter-spacing:2px;text-shadow:0 2px 7px #001528;z-index:4;transition:background .3s,box-shadow .3s,opacity .5s}
.hero #exploreTrigger:before,.hero #exploreTrigger:after{content:"";position:absolute;width:18px;height:5px;background:#dbf9ff;box-shadow:0 0 14px #b4edff;left:-1px;top:-1px}
.hero #exploreTrigger:after{left:auto;top:auto;right:-1px;bottom:-1px}
.hero #exploreTrigger span{background:transparent;color:#e3faff;font-size:22px}
.hero #exploreTrigger:hover{background:#b5edff26;box-shadow:0 0 35px #a3ddff33}
.hero .heroBottom{left:50%;transform:translateX(-50%);bottom:105px;white-space:nowrap;font-size:8px}
#transitionLayer{background:none;pointer-events:none;z-index:50}#skipTransition{pointer-events:auto}#transitionLayer .transitionLabel{font-size:15px;letter-spacing:5px}
.transitioning .heroContent,.transitioning #exploreTrigger,.transitioning .heroBottom,.transitioning .heroSide{opacity:0;pointer-events:none}
.overview .glassCard h3{font-size:clamp(18px,1.6vw,26px)}
/* A full-page luminous stage, with independent, two-pose cutout performers. */
.scene.works{padding:0!important;overflow:hidden;background:radial-gradient(ellipse at 50% 65%,#e7faff,#e7f1fb 50%,#f6faff 85%)}
.castAtmosphere{position:absolute;inset:0;background:linear-gradient(100deg,transparent 20%,#fff9 30%,transparent 40%,#fff5 70%,transparent 80%);transform:skew(-10deg);pointer-events:none}
.castAtmosphere:after{content:"";position:absolute;left:-10%;right:-10%;bottom:70px;height:35%;background:repeating-radial-gradient(ellipse at 50% 100%,transparent 0 29px,#6cb5d924 30px 31px,transparent 32px 65px);mask-image:linear-gradient(transparent,#000)}
.castHeading{position:absolute;left:5%;top:116px;z-index:80;pointer-events:none}.castHeading h2{font-size:clamp(24px,2.65vw,43px);margin-top:15px;letter-spacing:-1px}.castHeading p{font-size:11px;margin-top:10px;color:#3f738f}
.characterArena{position:absolute;inset:230px 0 115px;isolation:isolate}
.performer{position:absolute;bottom:var(--depth);height:min(67vh,720px);width:calc(min(67vh,720px)*var(--aspect));transform:translateX(-50%);padding:0;border:0;background:none;transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .4s,opacity .4s;transform-origin:50% 90%;filter:drop-shadow(0 20px 16px #254a6b2b);will-change:transform}
.performer.backRow{height:min(55vh,580px);width:calc(min(55vh,580px)*var(--aspect));filter:drop-shadow(0 16px 14px #254a6b24) saturate(.85)}
.performer[hidden]{display:none}.performer .pose{position:absolute;inset:0;display:block;background-image:var(--sprite);background-size:200% 100%;background-repeat:no-repeat;pointer-events:none;transition:opacity .5s;mask-image:linear-gradient(#000 96%,transparent)}
.performer{pointer-events:none;height:min(60vh,680px);width:calc(min(60vh,680px)*var(--aspect))}.performerHit{position:absolute;inset:0 24%;pointer-events:auto;clip-path:polygon(30% 0,70% 0,90% 35%,100% 100%,0 100%,10% 35%)}
.poseIdle{background-position:0% 50%;opacity:1}.performer .poseAction{background-position:100% 50%;opacity:0}
.performer.focused{z-index:150!important;transform:translateX(-50%) translateY(-15px) scale(1.16) rotate(var(--lean,0deg));filter:drop-shadow(0 22px 25px #005b9455)}
.performer.focused .poseIdle{opacity:0}.performer.focused .poseAction{opacity:1}
.characterArena.hasFocus .performer:not(.focused){filter:drop-shadow(0 15px 15px #254a6b22) saturate(.6);opacity:.62}
.performerName{position:absolute;left:50%;bottom:7%;transform:translateX(-50%) translateY(8px);white-space:nowrap;font-size:12px;padding:8px 18px;border:1px solid #86cee5a6;color:#165776;background:#f2fcfff0;backdrop-filter:blur(8px);border-radius:30px;opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}
.performer.focused .performerName{opacity:1;transform:translateX(-50%)}
.castFilters{position:absolute;right:5%;top:190px;display:flex;gap:8px;z-index:85}.castFilters button{padding:8px 13px;border:1px solid #96c3d95c;background:#f6fcff7d;color:#426e88;font-size:10px;border-radius:30px}.castFilters [aria-selected=true]{background:#d9f6ff;color:#076b9a;border-color:#53b3d9}
.castIdentity{position:absolute;left:5%;bottom:110px;z-index:90;pointer-events:none}.castIdentity>span{font-size:20px;color:#205d7b;letter-spacing:1px}.castIdentity p{font-size:10px;margin-top:9px;color:#567d91}.castLibrary{position:absolute;right:5%;bottom:116px;z-index:90;padding:12px 19px;border:1px solid #82bcd7;border-radius:4px;background:#f3fbffb3;color:#1d6f98;font-size:11px}
/* Floating cinema: JS positions depth; hover stops the whole carousel. */
.scene.film{overflow:hidden;background:radial-gradient(ellipse at 50% 70%,#c9edf8 0,#eaf5ff 42%,#f7fbff 78%)}
.cinemaHeading h2{font-size:clamp(30px,3.8vw,59px)}.cinemaHeading p{font-size:12px;margin-top:14px}
.orbitStage{position:absolute;left:5%;right:5%;top:32%;bottom:155px;perspective:1400px}
.orbitCard{position:absolute;left:50%;top:40%;width:clamp(230px,24vw,420px);height:auto;aspect-ratio:1.6;padding:0;text-align:left;border:1px solid #eafbff;border-radius:12px;box-shadow:0 20px 50px #35688935;background:#edf9ff;overflow:hidden;will-change:transform;transform-origin:center;transition:box-shadow .3s,opacity .3s;cursor:pointer}
.orbitCard img{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.orbitCard:after{content:"";position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#081c31d9)}
.orbitCard>span,.orbitCard>small{position:absolute;left:21px;z-index:2;color:#fff;text-shadow:0 2px 8px #001321}.orbitCard>span{bottom:36px;font-size:20px;letter-spacing:2px}.orbitCard>small{bottom:17px;font-size:9px;color:#cbeaf6}.orbitCard>i{position:absolute;right:20px;bottom:20px;border:1px solid #c3f4ff9e;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;color:#fff;background:#f1fcff1a;z-index:2;font-size:12px}
.orbitCard.hovered{box-shadow:0 30px 80px #256c9a55,0 0 0 2px #c4f4ff}.orbitHalo{position:absolute;width:85%;height:60%;left:7.5%;top:46%;border:1px solid #8dc5dc73;border-radius:50%;box-shadow:0 0 70px #4ab5df13,inset 0 0 55px #4ab5df13;transform:rotateX(65deg);pointer-events:none}.orbitHalo:after{content:"";position:absolute;inset:15px;border:1px dashed #7ab8d357;border-radius:50%}
.orbitCore{position:absolute;top:24%;left:0;right:0;text-align:center;pointer-events:none;color:#5597b5;letter-spacing:6px;font-size:15px;opacity:.7}.orbitCore small{display:block;font-size:7px;letter-spacing:4px;margin-top:12px}
.orbitControls{position:absolute;left:50%;bottom:106px;transform:translateX(-50%);display:flex;gap:10px;z-index:95}.orbitControls button,.storyControls button{padding:11px 17px;background:#f6fcffb3;border:1px solid #91c0d9;border-radius:6px;color:#1f6c93;font-size:11px}.orbitControls button:hover,.storyControls button:hover{background:#d4f1fe;border-color:#239fcd}
#videoDialog{width:min(1160px,94vw);padding:20px;max-height:94dvh}#videoDialog video{display:block;width:100%;max-height:70vh;aspect-ratio:16/9;background:#071724;border-radius:8px}#videoDialog .filmCaption{gap:15px;justify-content:start;padding:14px 0}#videoDialog #sampleTime{margin-right:auto}#sampleDescription{font-size:12px;color:#3c6d88}
/* A timed visual story with a clear manual route through all four chapters. */
.processStory{display:grid;grid-template-columns:.72fr 1.28fr;gap:6%;align-items:center;margin-top:5vh}.storyCopy>span{font-size:10px;letter-spacing:3px;color:#3281a7}.storyCopy h2{font-size:clamp(40px,5vw,78px);margin:28px 0;color:#1b5a7c}.storyCopy>p{font-size:14px;max-width:390px;line-height:2;color:#4b758d;min-height:90px}.storyControls{display:flex;gap:9px;margin-top:25px}
.storyScreen{height:clamp(270px,43vh,530px);position:relative;overflow:hidden;border:1px solid #fff;border-radius:18px;background:radial-gradient(ellipse at 50% 60%,#bbecf5,#e9f8ff 65%);box-shadow:0 25px 65px #296c9d23;isolation:isolate}
.storyGrid{position:absolute;inset:0;background:linear-gradient(#89c2d620 1px,transparent 1px),linear-gradient(90deg,#89c2d620 1px,transparent 1px);background-size:30px 30px;mask-image:radial-gradient(#000,transparent);z-index:1;pointer-events:none}
#storyVideo,#storyImage{display:none;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;animation:storyReveal .8s ease-out}
.storyScreen[data-kind=character] #storyImage{display:block;object-fit:contain;object-position:center;filter:drop-shadow(0 15px 25px #30627d22)}
.storyScreen[data-kind=directing] #storyVideo,.storyScreen[data-kind=final] #storyVideo{display:block}
.storyScreen[data-kind=directing]:after{content:"";position:absolute;inset:12%;border:1px solid #eeffffb3;background:linear-gradient(90deg,transparent 33%,#fff5 33%,#fff5 calc(33% + 1px),transparent calc(33% + 1px),transparent 66%,#fff5 66%,#fff5 calc(66% + 1px),transparent calc(66% + 1px));pointer-events:none}
.storyFrame{position:absolute;inset:auto 0 0;display:flex;justify-content:space-between;align-items:end;background:linear-gradient(transparent,#0b365c9e);padding:40px 24px 22px;z-index:3;color:#edfbff}.storyFrame span{font-size:11px;letter-spacing:2px}.storyFrame b{font-size:42px;font-weight:200;color:#c1edf1}
.conceptOrbit{position:absolute;inset:0;display:none;place-items:center}.storyScreen[data-kind=concept] .conceptOrbit{display:grid}.conceptOrbit>span{font-size:clamp(38px,4vw,65px);font-weight:200;letter-spacing:12px;color:#2476a2}.conceptOrbit>b{position:absolute;top:66%;font-size:12px;font-weight:400;letter-spacing:4px;color:#4789a6}.conceptOrbit i{position:absolute;width:220px;height:220px;border:1px solid #50a7ca50;border-radius:50%;animation:ideaOrbit 12s linear infinite}.conceptOrbit i:nth-child(2){width:310px;height:170px;animation-direction:reverse;animation-duration:17s}.conceptOrbit i:nth-child(3){width:260px;height:200px;animation-duration:20s}.conceptOrbit i:before{content:"";position:absolute;left:30px;top:25px;width:8px;height:8px;border-radius:50%;background:#75c5e2;box-shadow:0 0 20px #61c4e4}
.storySteps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:5vh}.storySteps button{position:relative;text-align:left;padding:20px 0;border-top:1px solid #8dbbd3;color:#7296aa}.storySteps button small{display:block;font-size:8px;letter-spacing:2px}.storySteps button>span{display:block;font-size:18px;margin-top:12px}.storySteps button[aria-selected=true]{color:#0d739f}.storySteps button i{position:absolute;left:0;top:-1px;width:var(--progress,0%);height:2px;background:#1497c7;box-shadow:0 0 10px #58b8d8}
@keyframes ideaOrbit{to{transform:rotate(360deg)}}@keyframes storyReveal{from{opacity:.3;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}
@media(max-height:760px) and (min-width:801px){.castHeading{top:100px}.castHeading h2{font-size:29px}.castHeading p{display:none}.castFilters{top:160px}.characterArena{top:195px;bottom:105px}.castIdentity{bottom:100px}.castIdentity>span{font-size:17px}.castLibrary{bottom:102px}.orbitStage{top:30%;bottom:135px}.cinemaHeading h2{font-size:40px}.orbitControls{bottom:90px}.processStory{margin-top:3vh}.storyCopy h2{margin:18px 0}.storyScreen{height:39vh}.storySteps{margin-top:3vh}.storySteps button{padding:13px 0}.storySteps button>span{font-size:15px;margin-top:9px}.storyCopy>p{font-size:12px;min-height:75px}.storyControls{margin-top:16px}}
@media(max-width:800px){.hero .heroContent{top:28%;left:7%;max-width:86%}.hero .heroContent h1{font-size:46px}.hero .heroContent p{font-size:11px;max-width:270px}.hero #exploreTrigger{bottom:23%;font-size:14px;padding:17px 22px;min-width:230px}.hero .heroBottom{font-size:6px;gap:7px;bottom:115px}.castHeading{top:107px}.castHeading h2{font-size:25px;max-width:300px}.castHeading .kicker{font-size:7px}.castHeading p{font-size:10px}.castFilters{left:5%;right:5%;top:215px;gap:5px;flex-wrap:wrap}.castFilters button{padding:7px 9px;font-size:8px}.characterArena{top:280px;bottom:160px;overflow:visible}.performer,.performer.backRow{height:44vh;width:calc(44vh*var(--aspect))}.performer.backRow{height:35vh;width:calc(35vh*var(--aspect));bottom:8vh}.performer.focused{transform:translateX(-50%) translateY(-12px) scale(1.2)}.castIdentity{bottom:112px;left:5%;max-width:66%}.castIdentity>span{font-size:15px}.castIdentity p{font-size:8px;line-height:1.6}.castLibrary{right:4%;bottom:112px;padding:9px;font-size:9px}.performerName{font-size:9px;padding:6px 10px}.cinemaHeading h2{font-size:32px}.cinemaHeading p{font-size:10px}.orbitStage{left:0;right:0;top:33%;bottom:160px}.orbitCard{width:220px}.orbitCard>span{font-size:16px}.orbitControls{bottom:114px}.orbitCore{font-size:11px}.processStory{grid-template-columns:1fr;gap:22px;margin-top:22px}.storyCopy h2{font-size:38px;margin:14px 0}.storyCopy>p{font-size:12px;max-width:none;min-height:70px}.storyControls{margin-top:15px}.storyScreen{height:33vh;min-height:230px}.storySteps{gap:10px;margin-top:22px}.storySteps button small{font-size:6px;letter-spacing:.3px}.storySteps button>span{font-size:12px}.scene.pipeline{padding-bottom:115px}.conceptOrbit i{width:180px;height:180px}.conceptOrbit i:nth-child(2){width:230px;height:140px}.conceptOrbit i:nth-child(3){width:190px;height:150px}.storyFrame{padding:25px 16px 14px}.storyFrame span{font-size:9px}.storyFrame b{font-size:30px}#videoDialog{padding:12px}#videoDialog .dialogTop{font-size:10px}}
@media(prefers-reduced-motion:reduce){.performer,.pose,.heroContent{transition:none!important}.conceptOrbit i{animation:none}#storyVideo,#storyImage{animation:none}}
