@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@300;400;500;600&family=Manrope:wght@200;300;400;500;600;700&display=swap');
:root{--black:#030609;--white:#f1f2ef;--blue:#a9d8e8;--muted:#94a4ad;--gutter:clamp(24px,4.7vw,88px);color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--black);color:var(--white);font-family:Manrope,Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:7px}::selection{background:#a9d8e8;color:#030609}.skip-link{position:fixed;top:-100px;left:20px;background:white;color:black;padding:15px;z-index:100}.skip-link:focus{top:15px}
.site-header{height:91px;position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;padding:0 var(--gutter);gap:48px;background:linear-gradient(180deg,rgba(3,6,9,.8),transparent);transition:background .3s}.site-header.scrolled{background:rgba(3,6,9,.8);backdrop-filter:blur(18px)}.wordmark{font-size:21px;font-weight:300;letter-spacing:5px;white-space:nowrap}.wordmark span{font-weight:200;letter-spacing:0;margin-left:6px}.site-header nav{display:flex;gap:36px;margin-left:auto}.site-header nav a{font-size:10px;text-transform:uppercase;letter-spacing:2.3px;color:#c3cbd0;position:relative}.site-header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:1px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .3s}.site-header nav a:hover:after{transform:scaleX(1)}.motion-toggle{display:flex;align-items:center;gap:11px;border:0;padding:10px 0;background:none;font-size:9px;letter-spacing:1.7px;text-transform:uppercase;color:#a6b5bd}.motion-icon{display:flex;height:15px;align-items:center;gap:3px}.motion-icon i{display:block;width:1px;height:6px;background:#a9d8e8;animation:pulse 1.5s infinite alternate}.motion-icon i:nth-child(2){height:14px;animation-delay:-.5s}.motion-icon i:nth-child(3){height:9px;animation-delay:-1s}@keyframes pulse{to{height:3px}}.reading-progress{position:absolute;left:0;bottom:0;width:100%;height:1px;transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,transparent,#9dd9ef)}
.sequence{height:650svh;position:relative}.stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;perspective:1200px;background:#030609}#universe{position:absolute;inset:0;width:100%;height:100%;z-index:0}.space-glow{position:absolute;width:110vw;height:110vw;left:-5vw;top:-50vw;border-radius:50%;background:radial-gradient(ellipse at 48% 62%,#13364b40,transparent 55%);filter:blur(22px);z-index:0}.poster-world{position:absolute;left:50%;top:55%;width:min(75vw,920px);height:94svh;min-height:0;transform:translate(-50%,-50%);z-index:2;transform-style:preserve-3d;will-change:transform,opacity;mask-image:radial-gradient(ellipse 49% 48% at 50% 49%,#000 57%,#000c 70%,transparent 100%)}.poster-world img{width:100%;height:100%;object-fit:contain;object-position:center}.orbital-line{position:absolute;border:1px solid #8bbdd316;border-radius:50%;left:50%;top:47%;width:120vw;height:48vw;transform:translate(-50%,-50%) rotate(-26deg);pointer-events:none;z-index:1}.orbital-two{transform:translate(-50%,-50%) rotate(32deg);width:100vw;height:70vw;border-color:#8bbdd30c}.stage-shade{position:absolute;inset:0;background:linear-gradient(180deg,#03060930 0%,transparent 36%,#03060920 57%,#030609ed 92%,#030609);pointer-events:none;z-index:3}.intro-copy{position:absolute;z-index:5;bottom:13svh;left:var(--gutter);right:var(--gutter);text-align:center;will-change:transform,opacity}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:4px;font-weight:500;margin:0;color:#c2d2d9}.intro-eyebrow{font-size:10px;letter-spacing:5px;margin:0 0 14px}.film-title{font-weight:200;font-size:clamp(82px,11vw,175px);line-height:1;letter-spacing:.13em;margin:0 0 25px;display:flex;justify-content:center;gap:.28em;text-shadow:0 3px 35px #0008}.title-number{letter-spacing:-.035em}.opening-cast{display:flex;justify-content:center;gap:clamp(35px,5vw,85px);text-transform:uppercase;font-size:10px;letter-spacing:3px;color:#d1d8db}.opening-cast span{display:flex;flex-direction:column;gap:4px}.opening-cast b{font-weight:500}.scroll-invitation{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:16px;z-index:5;font-size:9px;text-transform:uppercase;letter-spacing:2px;color:#a5b7c0;white-space:nowrap}.scroll-line{width:1px;height:32px;background:linear-gradient(180deg,transparent,var(--blue));position:relative}.scroll-line:after{content:'';position:absolute;bottom:0;width:3px;height:3px;left:-1px;background:var(--blue);box-shadow:0 0 8px var(--blue)}.sequence-index{position:absolute;bottom:38px;left:var(--gutter);display:flex;gap:14px;align-items:center;font-size:9px;letter-spacing:1px;color:#60737c;z-index:6}.index-current{color:#d4e8ee}.index-rule{height:1px;width:64px;background:#6c838744}.scene-coordinate{position:absolute;right:var(--gutter);bottom:38px;font-size:8px;letter-spacing:2px;color:#9ba9af;z-index:6}.scene-coordinate span{display:block;color:#596b76;font-size:7px;margin-top:8px;text-align:right;letter-spacing:2.2px}
.cast-world{position:absolute;inset:0;perspective:1200px;z-index:2;transform-style:preserve-3d;pointer-events:none}.portrait{position:absolute;left:60%;top:52%;height:min(90svh,950px);width:min(60svh,630px);opacity:0;will-change:transform,opacity;transform-style:preserve-3d;filter:drop-shadow(0 0 40px #63b8da18)}.portrait-crop{height:100%;width:100%;overflow:hidden;position:relative;mask-image:radial-gradient(ellipse 48% 50% at 50% 43%,#000 45%,#000 58%,transparent 100%)}.portrait-crop img{position:absolute;max-width:none}.portrait-marina .portrait-crop img{width:200.8%;left:-50%;top:-2%}.portrait-michael .portrait-crop img{width:204.8%;left:-2%;top:-70%}.portrait-michelle .portrait-crop img{width:204.8%;left:-103%;top:-70%}.portrait-marina .portrait-crop{mask-image:radial-gradient(ellipse 49% 37% at 50% 34%,#000 39%,#000 57%,transparent 100%)}.cast-copy{position:absolute;left:var(--gutter);top:46%;z-index:5;transform:translateY(-50%);opacity:0;pointer-events:none;will-change:transform,opacity}.cast-copy .eyebrow{margin-bottom:28px;display:flex;align-items:center;gap:42px;letter-spacing:3px}.cast-copy .eyebrow span{font-size:8px;color:#758b98;letter-spacing:2px}.cast-copy h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:clamp(68px,9.4vw,154px);line-height:.87;letter-spacing:.025em;font-weight:300;margin:0}.cast-copy h2 strong{font-weight:500;color:#e3eef0}.cast-caption{margin:30px 0 0;font-size:9px;text-transform:uppercase;letter-spacing:2.5px;color:#97aeb9}.cast-michael{left:auto;right:var(--gutter);text-align:right}.cast-michael .eyebrow{justify-content:flex-end}
.inside-section{position:relative;z-index:4;background:linear-gradient(180deg,#030609,#080c10 40%,#030609);padding:150px var(--gutter) 140px}.inside-section:before{content:'';position:absolute;left:50%;top:0;width:1px;height:65px;background:linear-gradient(transparent,#7296a4)}.section-label{display:flex;gap:21px;font-size:9px;text-transform:uppercase;letter-spacing:3px;color:#a1b7c3;margin-bottom:45px}.section-label span:first-child{color:#5e7785;border-right:1px solid #5d6f7655;padding-right:21px}.archive-heading{max-width:1350px;margin:auto;position:relative}.archive-heading h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:clamp(65px,10vw,150px);font-weight:400;line-height:.9;letter-spacing:.01em;margin:0}.archive-heading h2 span{color:#829aa5}.archive-heading>p{font-size:12px;line-height:1.8;color:#95a8b2;max-width:280px;position:absolute;right:4%;bottom:4px;margin:0}.film-gallery{max-width:1350px;margin:100px auto 0;display:grid;grid-template-columns:repeat(12,1fr);column-gap:5vw;row-gap:100px;perspective:1200px}.film-frame{margin:0;grid-column:span 7;position:relative;will-change:transform,opacity}.film-frame:nth-child(4n+2){grid-column:span 5;margin-top:150px}.film-frame:nth-child(4n+3){grid-column:span 5;margin-top:-65px}.film-frame:nth-child(4n+4){grid-column:span 7;margin-top:70px}.frame-button{border:none;padding:0;display:block;width:100%;background:#10191f;position:relative;overflow:hidden;aspect-ratio:2.39;cursor:zoom-in}.frame-button:after{content:'';inset:0;position:absolute;border:1px solid #afdbeb22;pointer-events:none}.frame-button img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s cubic-bezier(.2,.6,.2,1),filter .7s;filter:saturate(.8)}.frame-button:hover img{transform:scale(1.035);filter:saturate(1)}.frame-expand{position:absolute;right:15px;bottom:15px;width:36px;height:36px;display:grid;place-items:center;font-size:23px;font-weight:200;border:1px solid #fff5;background:#0306095c;backdrop-filter:blur(4px);opacity:0;transform:translateY(5px);transition:.3s}.frame-button:hover .frame-expand,.frame-button:focus-visible .frame-expand{opacity:1;transform:translateY(0)}.film-frame figcaption{padding-top:19px;display:flex;gap:20px;justify-content:space-between;align-items:start;color:#a3b4bd;font-size:9px;text-transform:uppercase;letter-spacing:2px;line-height:1.6}.film-frame figcaption .frame-number{font-size:8px;color:#5b7380;white-space:nowrap;letter-spacing:1px}.gallery-source{max-width:1350px;margin:85px auto 0;display:flex;align-items:center;gap:25px}.source-line{width:55px;height:1px;background:#536d7866}.gallery-source p{font-size:9px;color:#627d8a;line-height:1.8}.gallery-source a{color:#a6bdc7}.gallery-source a:hover{text-decoration:underline}
.finale{min-height:112svh;position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;background:radial-gradient(ellipse at 50% 100%,#112d3f60,transparent 57%),#030609;text-align:center;padding:120px var(--gutter) 170px}.finale-orbit{position:absolute;width:140vw;height:140vw;border:1px solid #527c8e55;box-shadow:0 0 75px #70a8c00c,inset 0 0 110px #2e758d16;border-radius:50%;top:65%;left:-20%;transform:rotateX(22deg);pointer-events:none}.finale-orbit:after{content:'';position:absolute;inset:6%;border:1px solid #668a9b13;border-radius:50%}.finale-star{position:absolute;top:63%;left:50%;width:1px;height:1px;box-shadow:0 0 90px 40px #4b9cb13b}.finale-content{position:relative;z-index:2}.finale .eyebrow{font-size:12px;letter-spacing:8px;color:#8fb6c6;margin-bottom:35px}.finale h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-size:clamp(100px,16vw,260px);line-height:.86;font-weight:300;letter-spacing:.03em;margin:0}.finale h2 span{font-weight:500}.finale-rule{width:65px;height:1px;background:#9cb9c7;margin:45px auto 25px}.finale-names{font-size:9px;letter-spacing:2px;line-height:1.9;color:#92aab6}.finale-names span{margin:0 10px;color:#5d7381}.replay{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-top:30px;display:inline-flex;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid #6d8d9f60;transition:color .3s}.replay span{font-size:19px}.replay:hover{color:var(--blue)}footer{position:absolute;bottom:35px;left:var(--gutter);right:var(--gutter);display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.5px;text-transform:uppercase;color:#708491}footer>span:first-child{color:#a3b9c4}.reveal{opacity:0;transform:translateY(35px);transition:opacity 1.2s,transform 1.2s cubic-bezier(.2,.7,.2,1)}.reveal.visible{opacity:1;transform:translateY(0)}
dialog{padding:0;width:100vw;max-width:none;height:100svh;max-height:none;position:fixed;inset:0;margin:0;border:0;background:rgba(3,6,9,.98);color:var(--white);z-index:100}dialog::backdrop{background:#030609e8;backdrop-filter:blur(12px)}dialog[open]{display:grid;place-items:center}.viewer-toolbar{position:absolute;left:var(--gutter);right:var(--gutter);top:25px;display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:2px;color:#9ab0bd}.viewer-toolbar button{background:none;border:0;padding:12px 0;font-size:10px;letter-spacing:2px;text-transform:uppercase}.viewer-toolbar button span{font-size:26px;margin-left:15px;vertical-align:middle}dialog figure{margin:65px 80px;width:calc(100% - 160px);height:calc(100svh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center}dialog figure img{max-width:100%;max-height:calc(100% - 50px);object-fit:contain}dialog figcaption{padding:25px 0 0;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#a1b8c3;text-align:center}.viewer-arrow{position:absolute;top:50%;border:0;background:none;font-size:25px;width:55px;height:70px;color:#b4ceda}.viewer-arrow.prev{left:10px}.viewer-arrow.next{right:10px}.noscript-message{padding:24px;text-align:center}.reduced-motion .motion-icon i{animation:none}html:has(.reduced-motion){scroll-behavior:auto}.reduced-motion .reveal{transition:none}.reduced-motion .frame-button img{transition:none}
@media(min-width:1700px){.poster-world{width:1030px;height:94svh}.intro-copy{bottom:12svh}.film-title{font-size:180px}}
@media(max-width:900px){.site-header{gap:25px}.site-header nav{gap:23px}.motion-label{display:none}.portrait{left:56%;width:60svh;height:90svh;max-width:70vw}.cast-copy h2{font-size:clamp(65px,11vw,110px)}.poster-world{width:90vw;height:94svh}.film-title{font-size:15vw}.archive-heading>p{position:static;margin-top:28px}.inside-section{padding-top:110px}.film-gallery{column-gap:25px;row-gap:70px}.film-frame:nth-child(4n+2){margin-top:100px}.film-frame figcaption{font-size:8px;letter-spacing:1px;gap:10px}.scene-coordinate{display:none}}
@media(max-width:600px){:root{--gutter:24px}.site-header{height:73px;gap:16px}.wordmark{font-size:17px;letter-spacing:3px}.wordmark span{margin-left:2px}.site-header nav{gap:18px}.site-header nav a{font-size:8px;letter-spacing:1px}.motion-toggle{padding:10px 0}.motion-icon{gap:2px}.sequence{height:590svh}.stage{min-height:520px}.poster-world{width:118vw;height:94svh;top:48%;min-height:0;mask-image:radial-gradient(ellipse 49% 49% at 50% 47%,#000 58%,transparent 100%)}.intro-copy{bottom:17svh;left:15px;right:15px}.intro-eyebrow{font-size:8px;letter-spacing:3px;margin-bottom:17px}.film-title{font-size:18vw;letter-spacing:.06em;gap:.2em;margin-bottom:25px}.opening-cast{gap:30px;font-size:7px;letter-spacing:1.7px}.scroll-invitation{bottom:32px;font-size:8px;gap:10px}.scroll-line{height:25px}.sequence-index{bottom:35px;font-size:7px;gap:7px}.index-rule{width:20px}.portrait{left:50%;top:49%;height:82svh;width:56svh;max-width:none;max-height:800px}.portrait-crop{mask-image:radial-gradient(ellipse 47% 45% at 50% 44%,#000 40%,#000 55%,transparent 100%)}.cast-copy,.cast-michael{left:var(--gutter);right:auto;top:auto;bottom:16svh;transform:none;text-align:left;width:calc(100% - 48px)}.cast-copy h2{font-size:clamp(64px,18vw,105px);line-height:.84;letter-spacing:.02em}.cast-copy h2 br{display:none}.cast-copy h2 strong{display:block}.cast-copy .eyebrow,.cast-michael .eyebrow{justify-content:flex-start;gap:30px;margin-bottom:21px;font-size:8px}.cast-caption{font-size:8px;letter-spacing:1.7px;margin-top:20px}.stage-shade{background:linear-gradient(180deg,#03060930 0%,transparent 25%,#03060910 40%,#030609c4 70%,#030609 98%)}.orbital-line{width:180vw;height:90vw;top:45%}.orbital-two{width:160vw;height:110vw}.inside-section{padding:95px var(--gutter) 70px}.section-label{font-size:8px;letter-spacing:2px;margin-bottom:32px}.archive-heading h2{font-size:20vw}.archive-heading>p{font-size:11px;margin-top:25px}.film-gallery{display:block;margin-top:55px}.film-frame,.film-frame:nth-child(n){margin:0 0 52px}.film-frame:nth-child(even){width:88%;margin-left:auto}.film-frame figcaption{padding-top:14px;letter-spacing:1.1px}.gallery-source{margin-top:15px;gap:14px}.source-line{width:30px}.gallery-source p{font-size:8px}.finale{min-height:100svh;padding:110px 24px 160px}.finale h2{font-size:27vw}.finale .eyebrow{font-size:9px;letter-spacing:6px}.finale-names{font-size:7px;letter-spacing:1px}.finale-names span{margin:0 5px}.finale-rule{margin-top:35px}.finale-orbit{width:220vw;height:220vw;left:-60%;top:57%}.replay{font-size:8px;margin-top:20px}footer{font-size:7px;flex-wrap:wrap;gap:20px;bottom:27px}footer>span:nth-child(2){display:none}dialog figure{margin:75px 36px;width:calc(100% - 72px);height:calc(100svh - 150px)}.viewer-arrow{width:30px;font-size:21px}.viewer-arrow.prev{left:1px}.viewer-arrow.next{right:1px}dialog figcaption{font-size:8px;line-height:1.8}.viewer-toolbar{top:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{transition:none}.motion-icon i{animation:none}.frame-button img{transition:none}}

/* Keep the source artwork edge-free and the title clear of the faces. */
.poster-world{display:flex;justify-content:center;mask-image:none}
.poster-world img{width:auto;height:100%;object-fit:unset;mask-image:radial-gradient(ellipse 51% 49% at 50% 48%,#000 48%,#000c 64%,transparent 100%)}
@media(min-width:601px){.intro-copy{bottom:6svh}.film-title{font-size:clamp(82px,9vw,145px);margin-bottom:20px}.intro-eyebrow{margin-bottom:12px}.scroll-invitation{bottom:13px}.scroll-line{height:18px}.sequence-index,.scene-coordinate{bottom:25px}}

/* The space is continuous: each chapter choreographs the same world. */
.cosmos{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#030609}#universe{position:absolute;inset:0;width:100%;height:100%}.cosmos-vignette{position:absolute;inset:0;background:linear-gradient(180deg,#03060918,transparent 70%,#03060950)}main{position:relative;z-index:1}.stage{background:transparent}.space-glow{display:none}.orbital-line{opacity:.45}.stage-shade{background:linear-gradient(180deg,transparent 50%,#03060930 73%,#030609b0)}.poster-world{left:68%;top:50%;height:96svh;width:65vw}.intro-copy{left:var(--gutter);right:auto;bottom:16svh;text-align:left}.intro-eyebrow{margin-bottom:14px}.film-title{justify-content:flex-start;font-size:clamp(90px,10.6vw,170px);letter-spacing:.07em;gap:.18em;margin:22px 0 32px}.hero-tagline{font-size:clamp(11px,1vw,15px);font-weight:300;letter-spacing:.16em;color:#c4e3ef;margin:0}.opening-cast{justify-content:flex-start;gap:40px;font-size:9px;letter-spacing:2px}.earth-fallback{position:absolute;width:60vh;height:60vh;top:15%;left:15%;border-radius:50%;background:url('assets/earth-surface.jpg') 55% center/cover;box-shadow:inset -6vw -3vw 7vw #000,0 0 4px #7dcaf0,0 0 45px #2378b455;opacity:.9}.cosmos:has(canvas[data-renderer="webgl"]):not(:has(.context-lost)) .earth-fallback{display:none}canvas.context-lost{display:none}
.story-sequence{height:260svh;position:relative}.story-stage{height:100svh;min-height:580px;position:sticky;top:0;overflow:hidden}.story-copy{position:absolute;left:var(--gutter);top:50%;transform:translateY(-50%);z-index:3;max-width:75%;will-change:transform,opacity}.story-copy h2{font-family:'Barlow Condensed','Arial Narrow',Arial,sans-serif;font-weight:400;font-size:clamp(72px,10vw,170px);letter-spacing:.01em;line-height:.9;margin:36px 0}.story-copy h2 span{color:#afcbd5}.story-detail{font-size:clamp(12px,1.2vw,16px);line-height:1.9;letter-spacing:.02em;color:#c2d2da;font-weight:300;margin:0;max-width:450px}.story-secret{opacity:0;pointer-events:none}.story-secret.active{pointer-events:auto}.story-station{position:absolute;inset:0;opacity:0;will-change:transform,opacity}.story-station img{width:100%;height:100%;object-fit:cover;opacity:.9;mask-image:linear-gradient(90deg,transparent,#000c 60%),linear-gradient(0deg,transparent,#000 25%,#000 70%,transparent);mask-composite:intersect}.story-stage:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#03060900 75%,#03060980)}.story-marker{position:absolute;bottom:44px;left:var(--gutter);right:var(--gutter);display:flex;gap:25px;align-items:center;color:#708994;font-size:8px;letter-spacing:3px}.story-marker-line{height:1px;width:80px;background:#85acbb66;transform-origin:left}.text-link{display:inline-flex;gap:34px;align-items:center;font-size:9px;text-transform:uppercase;letter-spacing:2px;margin-top:30px;border-bottom:1px solid #91b4c65c;padding-bottom:12px}.text-link span{font-size:17px}.inside-section{background:linear-gradient(#030609,#080c10e8 45%,#030609dd)}.finale{background:linear-gradient(180deg,#030609dd,#03060960 40%,#03060930)}.finale-orbit,.finale-star{display:none}.reduced-motion .story-copy{will-change:auto}
@media(max-width:900px){.intro-copy{bottom:17svh}.film-title{font-size:12vw}.opening-cast{gap:23px;font-size:8px}.poster-world{left:66%;width:75vw;height:91svh}.story-copy{max-width:90%}.story-copy h2{font-size:12vw}.story-detail{font-size:14px}}
@media(max-width:600px){.site-header{gap:13px}.site-header nav{gap:13px}.site-header nav a{letter-spacing:.6px}.poster-world{left:55%;top:42%;height:79svh;width:118vw}.intro-copy{left:24px;right:24px;bottom:15svh;text-align:center}.film-title{justify-content:center;font-size:19vw;gap:.16em;margin:18px 0 24px}.intro-eyebrow{font-size:7px;letter-spacing:3px;margin-bottom:12px}.hero-tagline{font-size:10px;letter-spacing:1.7px}.opening-cast{justify-content:center;gap:28px;font-size:7px}.stage-shade{background:linear-gradient(180deg,transparent 25%,#03060918 40%,#030609bd 70%,#030609e8)}.story-sequence{height:260svh}.story-stage{min-height:540px}.story-copy{top:auto;bottom:16svh;transform:none;max-width:calc(100% - 48px);width:100%}.story-copy h2{font-size:18vw;margin:26px 0}.story-copy .eyebrow{font-size:8px;letter-spacing:2px}.story-detail{font-size:12px;line-height:1.9;max-width:300px}.story-marker{font-size:7px;letter-spacing:1.4px;gap:15px;bottom:30px}.story-marker-line{width:40px}.story-station img{object-position:65%;mask-image:linear-gradient(180deg,transparent,#000 15%,#0008 60%,transparent)}.desktop-break{display:none}.earth-fallback{left:35%;top:5%;width:40vh;height:40vh}.finale{background:linear-gradient(180deg,#030609d9,#03060955 50%,#03060935)}}

/* Opening composition: the original cast artwork is the central subject. */
.earth-fallback{opacity:0}
.poster-world{left:50%;top:43%;width:min(85vw,1000px);height:90svh}
.intro-copy{left:var(--gutter);right:var(--gutter);bottom:7svh;text-align:center}
.film-title{justify-content:center;font-size:clamp(82px,9vw,145px);margin:14px 0 20px}
.intro-eyebrow{font-size:9px;margin-bottom:10px}
.hero-tagline{font-size:11px;letter-spacing:.17em}
.opening-cast{justify-content:center;gap:clamp(35px,5vw,85px)}
@media(max-width:900px) and (min-width:601px){.poster-world{height:86svh;top:42%}.film-title{font-size:13vw}.intro-copy{bottom:8svh}}
@media(max-width:600px){.poster-world{left:50%;top:42%;height:79svh;width:118vw}.intro-copy{left:24px;right:24px;bottom:15svh}.film-title{font-size:19vw;margin:18px 0 24px}.intro-eyebrow{font-size:7px;margin-bottom:12px}.hero-tagline{font-size:10px}.opening-cast{gap:28px}}


.earth-credit{position:absolute;bottom:70px;left:var(--gutter);right:var(--gutter);font-size:8px;line-height:1.6;color:#8294a0;letter-spacing:.3px}.earth-credit a{text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.earth-credit{font-size:7px;bottom:62px;max-width:300px;margin:auto}}

.finale{background:linear-gradient(180deg,#030609dd,#03060908 40%,#03060990 80%,#030609ed 100%)}.finale-names{color:#d4e1e7;text-shadow:0 1px 5px #000}.earth-credit{font-size:9px;color:#b2c3cd}.finale footer{color:#9eb1bd}@media(max-width:600px){.earth-credit{font-size:8px}}
@media(min-width:601px){.finale{min-height:100svh;padding:100px var(--gutter) 120px}.finale h2{font-size:min(12vw,24svh,210px)}}

/* Comfortable touch targets, safe edges, and short-screen compositions. */
.wordmark,.site-header nav a{min-height:44px;display:inline-flex;align-items:center}
.motion-toggle{min-width:44px;min-height:44px;justify-content:center;flex-shrink:0}
.viewer-arrow{min-width:44px;min-height:44px;transform:translateY(-50%)}
dialog{height:100dvh;overscroll-behavior:contain}
dialog figure{touch-action:pan-y}
#viewer-image{-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
@media(max-width:600px){
  .site-header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));gap:8px}
  .site-header nav{gap:2px}.site-header nav a{min-width:44px;padding:0 4px}
  .motion-toggle{width:44px;padding:0}
  .viewer-arrow.prev{left:0}.viewer-arrow.next{right:0}
  dialog figure{margin:70px 44px;width:calc(100% - 88px);height:calc(100dvh - 140px)}
  .viewer-toolbar{top:max(15px,env(safe-area-inset-top))}
  .earth-fallback{background-image:url('assets/earth-surface-mobile.jpg')}
}
@media(max-width:360px){.site-header{gap:4px}.wordmark{font-size:16px;letter-spacing:2px}.site-header nav a{font-size:8px;letter-spacing:.4px}}
@media(max-width:600px) and (max-height:700px) and (orientation:portrait){
  .finale{padding:90px 24px 100px}.finale .eyebrow{margin-bottom:20px}.finale-rule{margin:20px auto 15px}.finale-names{margin:8px 0}.replay{margin-top:12px;padding:10px 0;min-height:44px}
}
@media(max-height:600px) and (orientation:landscape){
  .site-header{height:60px;gap:12px;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
  .site-header nav{gap:12px}.site-header nav a{padding:0 5px}.motion-label{display:none}
  .stage,.story-stage{height:100svh;min-height:0}
  .poster-world{top:43%;height:74svh}
  .intro-copy{bottom:7svh}.intro-eyebrow{font-size:6px;letter-spacing:2px;margin-bottom:5px}
  .hero-tagline{font-size:8px}.film-title{font-size:12svh;margin:7px 0 9px}
  .opening-cast{font-size:6px;letter-spacing:1.5px;gap:30px}.opening-cast span{gap:2px}
  .scroll-invitation{bottom:5px;font-size:7px}.scroll-line{height:12px}.sequence-index{bottom:12px}
  .cast-copy{top:52%;bottom:auto;width:auto;left:var(--gutter);right:auto}.cast-copy h2{font-size:19svh}.cast-copy h2 br{display:block}.cast-michael{left:auto;right:var(--gutter);text-align:right}.cast-michael .eyebrow{justify-content:flex-end}.cast-copy .eyebrow{margin-bottom:15px;font-size:8px}.cast-caption{margin-top:16px;font-size:7px}
  .story-copy{top:54%;bottom:auto;max-width:70%}.story-copy h2{font-size:15svh;margin:16px 0}.story-copy .eyebrow{font-size:8px;letter-spacing:2px}.story-detail{font-size:11px;line-height:1.6}
  .story-marker{bottom:15px;font-size:7px}.text-link{margin-top:14px;padding-bottom:7px}
  .finale{min-height:100svh;padding:70px 24px 75px}.finale .eyebrow{margin-bottom:10px;font-size:8px}.finale h2{font-size:16svh;display:flex;justify-content:center;gap:.2em}.finale h2 br{display:none}.finale-rule{margin:12px auto 8px}.finale-names{font-size:7px;margin:6px 0}.replay{margin-top:4px;padding:6px 0;min-height:44px;font-size:8px}
  .earth-credit{bottom:55px;font-size:8px}.finale footer{bottom:22px}
  .viewer-toolbar{top:8px}dialog figure{margin:50px 55px 20px;width:calc(100% - 110px);height:calc(100dvh - 70px)}dialog figcaption{padding-top:12px}
}
