/* Cinematic art direction shared by the archive. Motion respects reduced-motion settings. */
:root{--ease-cinema:cubic-bezier(.19,1,.22,1)}
body{background:#f4f1e9}
body::after{content:"";position:fixed;inset:0;z-index:120;pointer-events:none;opacity:.11;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.19'/%3E%3C/svg%3E")}
.reading-progress{position:absolute;left:0;bottom:0;width:100%;height:2px;transform:scaleX(var(--page-progress,0));transform-origin:left;background:linear-gradient(90deg,#947b51,#efd4a0);pointer-events:none;z-index:3}
.site-header{transition:background .5s,box-shadow .5s,height .5s}
.site-header.is-scrolled{background:rgba(7,13,21,.84);box-shadow:0 8px 60px rgba(0,0,0,.14)}
.brand-mark{transition:transform .75s var(--ease-cinema),background .4s}
.brand:hover .brand-mark{transform:rotate(90deg);background:rgba(215,185,129,.15)}
.main-nav a{position:relative}
.main-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-12px;height:1px;background:var(--gold);transition:right .5s var(--ease-cinema)}
.main-nav a:hover::after,.main-nav a[aria-current=page]::after{right:0}
.button{position:relative;overflow:hidden;transition:color .4s,background .4s,transform .5s var(--ease-cinema)}
.button::before{content:"";position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .55s var(--ease-cinema)}
.button:hover::before{transform:translateX(0)}
.button>*{position:relative;z-index:1}
.button:hover{background:var(--gold);color:#07101b;transform:translateY(-4px)}
.text-link{transition:gap .55s var(--ease-cinema),color .3s}
.eyebrow{letter-spacing:.31em}
.display-heading{letter-spacing:-.075em}

/* Opening sequence */
.home-hero{height:100svh;min-height:760px;isolation:isolate}
.home-hero-image{width:108%;height:108%;left:-4%;top:-4%;max-width:none;object-position:55% center;opacity:.9;transform:translate3d(0,var(--hero-shift,0px),0) scale(1.04);animation:hero-focus 2.4s var(--ease-cinema) both}
.hero-shade{background:linear-gradient(90deg,rgba(3,8,16,.94) 0%,rgba(3,8,16,.72) 34%,rgba(3,8,16,.13) 78%),linear-gradient(0deg,rgba(2,7,14,.88),transparent 34%),radial-gradient(circle at 65% 45%,transparent,rgba(1,5,11,.27))}
.home-hero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at var(--cursor-x,62%) var(--cursor-y,48%),rgba(223,177,108,.09),transparent 29%);mix-blend-mode:screen}
.hero-copy{max-width:900px}
.hero-copy h1{font-size:clamp(70px,7.7vw,133px);line-height:.91;margin:38px 0 35px}
.hero-line{display:block;overflow:hidden;padding:0 .05em .08em 0;margin-bottom:-.08em}
.hero-line>span,.hero-line>em{display:inline-block;transform:translateY(118%);animation:line-rise 1.5s var(--ease-cinema) forwards}
.hero-line:nth-child(1)>span{animation-delay:.2s}
.hero-line:nth-child(2)>em{animation-delay:.37s}
.hero-line:nth-child(3)>span{animation-delay:.54s}
.hero-copy .eyebrow,.hero-copy>p,.hero-actions{opacity:0;animation:soft-arrive 1.2s .75s var(--ease-cinema) forwards}
.hero-copy>p{max-width:480px}
.hero-actions{animation-delay:1s}
.hero-caption{left:max(48px,calc((100% - 1440px)/2));bottom:28px}
.scroll-cue span{width:44px;position:relative;overflow:hidden}
.scroll-cue span::before{content:"";position:absolute;inset:0;background:#fff;transform:translateX(-100%);animation:cue-travel 2.6s 1.3s infinite}
@keyframes line-rise{to{transform:translateY(0)}}
@keyframes soft-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-focus{from{opacity:0;filter:blur(14px);transform:scale(1.1)}to{opacity:.9;filter:blur(0);transform:translate3d(0,var(--hero-shift,0px),0) scale(1.04)}}
@keyframes cue-travel{0%,20%{transform:translateX(-100%)}65%,100%{transform:translateX(100%)}}

/* System as an editorial spread */
.section-intro{padding-block:135px 145px}
.intro-grid{padding:90px 0 105px;grid-template-columns:1.15fr .8fr;gap:8%}
.intro-grid .display-heading{font-size:clamp(74px,8vw,135px)}
.intro-copy{border-left:1px solid rgba(17,28,39,.18);padding-left:clamp(26px,4vw,70px)}
.intro-copy .lead{font-size:clamp(26px,2.5vw,37px)}
.star-note{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:31px 0 26px}
.star-note summary{list-style:none;display:flex;align-items:center;gap:16px;padding:16px 0;cursor:pointer;font:500 14px/1.5 var(--serif)}
.star-note summary::-webkit-details-marker{display:none}
.star-note summary span{font:700 9px/1.3 var(--ui);color:#a18459;letter-spacing:.16em}
.star-note summary b{margin-left:auto;font:300 25px/1 var(--ui);color:#9e8259;transition:transform .35s}
.star-note[open] summary b{transform:rotate(45deg)}
.star-note p{margin:0 0 20px!important;font-size:12px!important;line-height:1.75!important}
.stat-row{border-bottom:0}
.stat-row>div{padding-top:38px}
.stat-row strong{font-size:clamp(34px,3.7vw,61px)}

/* Immersive planetary chapters */
.worlds-section{padding:120px 0 150px;background:#070e17}
.section-heading-row{margin:85px 0 75px}
.world-list{gap:0}
.world-feature{position:relative;display:block;min-height:720px;height:min(790px,85svh);margin:0 0 94px;border:1px solid rgba(255,255,255,.18);background:#09131d;isolation:isolate;overflow:hidden}
.world-feature:last-child{margin-bottom:0}
.world-feature::before{content:"";position:absolute;z-index:4;left:16px;top:16px;right:16px;bottom:16px;border:1px solid rgba(255,255,255,.23);pointer-events:none}
.world-feature::after{content:"";position:absolute;z-index:4;right:36px;top:34px;width:75px;height:75px;border-top:1px solid var(--world-tone);border-right:1px solid var(--world-tone);pointer-events:none}
.world-feature:nth-child(even) .world-image-wrap{order:initial}
.world-image-wrap{position:absolute;inset:0;min-height:0;width:100%;height:100%;overflow:hidden}
.world-image-wrap::after{z-index:1;background:linear-gradient(90deg,rgba(3,10,17,.94) 0%,rgba(3,10,17,.83) 31%,rgba(3,10,17,.28) 64%,rgba(3,10,17,.1)),linear-gradient(0deg,rgba(2,9,15,.55),transparent 38%)}
.world-image-wrap img{position:absolute;top:-7%;left:0;width:100%;height:114%;max-width:none;object-fit:cover;object-position:center;transform:translate3d(0,var(--image-y,0px),0) scale(1.04);transition:transform .75s var(--ease-cinema),filter .75s;filter:saturate(.92)}
.world-feature:hover .world-image-wrap img{transform:translate3d(0,var(--image-y,0px),0) scale(1.09);filter:saturate(1.08)}
.world-image-wrap .image-corner{z-index:2;left:auto;right:42px;bottom:35px;text-shadow:0 2px 15px #000}
.world-content{position:relative;z-index:3;width:min(700px,61%);height:100%;padding:58px clamp(42px,6vw,105px) 57px;justify-content:space-between}
.world-content-top{border-bottom:1px solid rgba(255,255,255,.24);padding-bottom:19px}
.world-number{font-size:37px!important}
.world-content h3{font-size:clamp(78px,8vw,132px);line-height:.93;margin:24px 0 28px;text-shadow:0 5px 40px rgba(0,0,0,.2)}
.world-intro{font-size:clamp(22px,2vw,30px)}
.world-description{color:#d5dfe2;font-size:13px}
.world-meta{padding-top:20px}
.world-meta small{color:#b9c4c7}
.world-teal{--world-tone:#8cdbcf}.world-green{--world-tone:#c6df9c}.world-ice{--world-tone:#c0d8ed}

/* Image archive: gallery walls rather than uniform tiles */
.preview-section{background:#0b1722;padding:125px 0 145px}
.preview-header{margin:75px 0 50px}
.preview-grid{grid-template-columns:1.26fr .82fr .82fr;align-items:start;gap:24px}
.preview-card{min-height:485px;border:1px solid rgba(255,255,255,.18)}
.preview-card:nth-child(2){margin-top:85px}
.preview-card:nth-child(3){margin-top:168px}
.preview-card::before{content:"";position:absolute;inset:13px;z-index:3;border:1px solid rgba(255,255,255,.27);pointer-events:none;opacity:0;transform:scale(1.03);transition:opacity .55s,transform .65s var(--ease-cinema)}
.preview-card:hover::before{opacity:1;transform:scale(1)}
.preview-card img{transition:transform 1.1s var(--ease-cinema),filter .7s;filter:saturate(.84)}
.preview-card:hover img{transform:scale(1.08);filter:saturate(1.08)}
.film-teaser{padding-block:145px 160px;gap:13%}
.film-poster{aspect-ratio:1.2;box-shadow:30px 35px 0 #e6dfd0}
.film-poster::before{content:"";position:absolute;inset:15px;z-index:3;border:1px solid rgba(255,255,255,.29);pointer-events:none}

/* Carry the art direction through archive pages */
.page-hero{min-height:690px}
.page-hero::before{animation:inner-focus 1.6s var(--ease-cinema) both}
@keyframes inner-focus{from{opacity:0;filter:blur(12px);transform:scale(1.08)}to{opacity:.85;filter:none;transform:scale(1)}}
.gallery-grid{gap:55px 25px}
.gallery-item-image{position:relative}
.gallery-item-image::after{content:"";position:absolute;inset:12px;border:1px solid rgba(255,255,255,.5);opacity:0;transform:scale(1.02);transition:opacity .5s,transform .6s var(--ease-cinema)}
.gallery-item:hover .gallery-item-image::after{opacity:1;transform:scale(1)}
.gallery-item img{transition:transform 1s var(--ease-cinema),filter .7s;filter:saturate(.88)}
.gallery-item:hover img{transform:scale(1.055);filter:saturate(1.08)}
.video-card{background:#f9f7f1;transition:transform .65s var(--ease-cinema),box-shadow .65s}
.video-card:hover{transform:translateY(-8px);box-shadow:0 30px 55px rgba(12,23,30,.13)}
.video-launch img{filter:saturate(.85);transition:transform 1s var(--ease-cinema),filter .6s}
.video-launch:hover img{filter:saturate(1.1)}
.episode-row{transition:padding .5s var(--ease-cinema),background .5s}
.episode-row:hover{padding-left:16px;padding-right:16px;background:rgba(255,255,255,.035)}

/* Reveals are deliberately slow and quiet. */
.js .reveal{opacity:0;transform:translateY(48px);transition:opacity 1s var(--ease-cinema),transform 1.1s var(--ease-cinema)}
.js .reveal.is-visible{opacity:1;transform:translateY(0)}
.js .world-feature.reveal{opacity:1;transform:none}
.js .world-feature.reveal .world-content>*{opacity:0;transform:translateY(36px);transition:opacity .95s var(--ease-cinema),transform 1s var(--ease-cinema)}
.js .world-feature.reveal.is-visible .world-content>*{opacity:1;transform:none}
.js .world-feature.reveal.is-visible .world-content>:nth-child(2){transition-delay:.12s}
.js .world-feature.reveal.is-visible .world-content>:nth-child(3){transition-delay:.25s}

@media(max-width:1100px){.world-feature{min-height:650px}.world-content{width:70%;padding:45px}.world-content h3{font-size:clamp(68px,8vw,110px)}.preview-card{min-height:400px}}
@media(max-width:760px){
  .home-hero{height:auto;min-height:760px}.home-hero-image{object-position:61% center}.hero-copy{padding-top:160px}.hero-copy h1{font-size:clamp(54px,12.5vw,91px)}.hero-caption{left:20px}.intro-grid{grid-template-columns:1fr;gap:35px;padding:55px 0}.intro-grid .display-heading{font-size:clamp(60px,11vw,90px)}.intro-copy{border-left:0;border-top:1px solid var(--line);padding:30px 0 0}.section-intro{padding-block:82px 90px}
  .worlds-section{padding:86px 0 100px}.world-feature{height:auto;min-height:0;display:flex;flex-direction:column;margin-bottom:42px}.world-feature::before{inset:9px}.world-feature::after{top:20px;right:20px;width:30px;height:30px}.world-image-wrap{position:relative;height:auto;aspect-ratio:1.04}.world-image-wrap::after{background:linear-gradient(0deg,rgba(5,11,17,.46),transparent 50%)}.world-image-wrap img{top:0;height:100%;transform:none!important}.world-content{width:100%;height:auto;padding:33px 32px 42px;gap:34px}.world-content h3{font-size:clamp(64px,11vw,92px);margin:15px 0 20px}.world-intro{font-size:24px}.world-image-wrap .image-corner{right:26px;bottom:23px}
  .preview-section{padding:82px 0 95px}.preview-grid{grid-template-columns:1fr 1fr;gap:16px}.preview-card{min-height:310px}.preview-card:first-child{grid-column:span 2;min-height:420px}.preview-card:nth-child(2),.preview-card:nth-child(3){margin-top:0}.film-teaser{padding-block:90px 120px}.film-poster{box-shadow:16px 18px 0 #e6dfd0}.page-hero{min-height:560px}
}
@media(max-width:480px){.home-hero{min-height:745px}.hero-copy{padding-top:145px}.hero-copy h1{font-size:clamp(46px,12vw,59px)}.hero-line{padding-bottom:.13em}.world-content{padding:25px 25px 36px}.world-content h3{font-size:clamp(57px,13vw,72px)}.world-meta{gap:14px}.preview-grid{grid-template-columns:1fr}.preview-card,.preview-card:first-child{grid-column:auto;min-height:310px}.preview-card:nth-child(3){display:none}.stat-row strong{font-size:36px}.page-hero{min-height:530px}}
@media(prefers-reduced-motion:reduce){.home-hero-image,.page-hero::before,.hero-line>span,.hero-line>em,.hero-copy .eyebrow,.hero-copy>p,.hero-actions,.scroll-cue span::before{animation:none!important;transform:none!important;opacity:1!important;filter:none!important}.js .world-feature.reveal .world-content>*{opacity:1;transform:none}.js .reveal{opacity:1;transform:none}}

/* Cosmic palette: deep space, ion blue and distant violet. */
:root{--ink:#eaf3ff;--muted:#98acc7;--night:#040914;--night-2:#0c172b;--cream:#dff1ff;--paper:#07101d;--gold:#91d8ff;--line:rgba(163,203,246,.18);--line-light:rgba(173,213,255,.19)}
html{background:#050b16}
body{color:var(--ink);background:#070f1d}
.site-header.is-scrolled,.site-header.is-open{background:rgba(5,10,23,.92)}
.brand-name span{color:#98abc5}
.brand-mark{border-color:rgba(145,216,255,.6);box-shadow:0 0 22px rgba(53,148,216,.13)}
.eyebrow{color:#a9d9ff}
.dark-eyebrow{color:#80bafa}
.micro-label{color:#87b7eb}
.section-topline{color:#7992af}
.light-topline{color:#8197b4}
.display-heading em{color:#a59ff5}
.intro-grid .display-heading em,.film-teaser .display-heading em,.story-premise .display-heading em,.story-end .display-heading em{color:#a9a6f7}
.button-light{background:#d8efff;color:#06101f}
.button-dark{background:#a9d6f4;color:#06101f}
.button::before{background:#a6a2f5}
.button:hover{background:#a6a2f5;color:#06101f}
.text-link{color:#d8edff}
.text-link:hover{color:#a6a2f5}
.light-link{color:#eaf4ff}
.home-hero{background:#030814}
.hero-shade{background:linear-gradient(90deg,rgba(2,7,19,.95),rgba(3,9,25,.76) 36%,rgba(3,8,20,.18) 80%),linear-gradient(0deg,rgba(2,7,20,.89),transparent 33%),radial-gradient(circle at 68% 49%,rgba(28,47,104,.12),transparent 43%)}
.hero-copy h1 em{color:#afd8f8}
.home-hero::after{background:radial-gradient(circle at var(--cursor-x,62%) var(--cursor-y,48%),rgba(116,150,245,.14),transparent 29%)}
.hero-index span:first-child{color:#aab9fa}
.section-intro{position:relative;isolation:isolate;background:#08111f;overflow:hidden}
.section-intro::before{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgba(7,16,29,.68),rgba(7,16,29,.8) 54%,rgba(7,16,29,.87)),linear-gradient(0deg,#08111f 1%,transparent 72%),url('../images/hero-system-v2.webp') center 35%/cover no-repeat;opacity:.85;pointer-events:none}
.section-intro::after{content:"";position:absolute;z-index:-1;right:-180px;top:60px;width:530px;height:530px;border:1px solid rgba(123,172,244,.1);border-radius:50%;box-shadow:0 0 0 85px rgba(120,164,250,.025),0 0 0 170px rgba(120,164,250,.018);pointer-events:none}
.intro-copy{border-color:var(--line)}
.intro-copy .lead{color:#e9f3ff}
.intro-copy p:not(.lead),.film-copy>p,.story-premise-grid>div p{color:#a8bad1}
.star-note summary{color:#d9ebfb}
.star-note summary span,.star-note summary b{color:#8dcaf4}
.star-note p{color:#a8bad1!important}
.stat-row span{color:#91a8c3}
.stat-row strong{color:#e9f3ff}
.worlds-section{background:radial-gradient(circle at 16% 28%,rgba(27,63,104,.26),transparent 38%),#050b18}
.section-heading-row>p{color:#a7b8d0}
.world-feature{background:#081426;border-color:rgba(136,191,250,.18)}
.world-image-wrap::after{background:linear-gradient(90deg,rgba(2,8,24,.95),rgba(3,12,29,.83) 32%,rgba(3,13,31,.31) 67%,rgba(3,10,25,.13)),linear-gradient(0deg,rgba(2,9,22,.56),transparent 40%)}
.world-teal{--world-tone:#7cdbc9}.world-green{--world-tone:#b6b2f8}.world-ice{--world-tone:#9bd9ff}
.world-content .micro-label{color:#9bc9ff}
.world-description{color:#b7cce1}
.world-kicker{color:#acbbd2}
.world-meta small{color:#94b0ca}
.preview-section{background:radial-gradient(circle at 80% 16%,rgba(58,49,128,.28),transparent 38%),#0a1021}
.film-teaser{background:radial-gradient(circle at 18% 80%,rgba(35,77,119,.25),transparent 42%),#091522}
.film-poster{box-shadow:30px 35px 0 #152c42}
.page-hero{background:#050b19}
.page-hero::before{background-image:linear-gradient(90deg,rgba(4,10,27,.94),rgba(7,15,35,.57) 55%,rgba(5,12,31,.39)),var(--hero-image)}
.page-hero-inner>p{color:#c5d7e9}
.gallery-section,.videos-section,.story-premise{background:radial-gradient(circle at 84% 6%,rgba(46,55,117,.2),transparent 37%),#091424}
.gallery-toolbar h2,.videos-heading h2{color:#ecf5ff}
.filter-button{color:#9cafc8}
.filter-button:hover{border-color:rgba(155,197,240,.35)}
.filter-button.is-active{background:#a5dafa;color:#07101d}
.gallery-item-info{color:#89a3bd}
.gallery-item-info strong{color:#edf5ff}
.gallery-arrow{color:#aab9ff}
.gallery-note,.videos-heading>p{color:#8fa8c3}
.video-card{border-color:rgba(161,204,255,.15);background:#111e30}
.video-details h3{color:#eaf3ff}
.video-details .micro-label{color:#8acdf8}
.video-details p{color:#a0b4cd}
.shorts-section,.episodes-section{background:radial-gradient(circle at 83% 15%,rgba(46,60,116,.25),transparent 35%),#081221}
.shorts-grid p,.episode-row p{color:#a9bcd4}
.episode-row>span:first-child,.episode-row>span:last-child{color:#a5bafa}
.episode-row .micro-label{color:#9eb6d7}
.story-end{position:relative;isolation:isolate;background:radial-gradient(circle at 50% 58%,rgba(56,73,148,.3),transparent 42%),#070f20;overflow:hidden}
.story-end::before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(rgba(187,221,255,.42) .7px,transparent .7px);background-size:56px 56px;opacity:.25}
.site-footer{background:#040915}
.footer-links .micro-label{color:#9ccbf1}
.footer-grid p,.footer-note{color:#8fa4bf}
.footer-bottom{color:#8398b4}

/* Real-time three-dimensional orbital model. */
.orrery-section{position:relative;padding:120px 0 130px;background:radial-gradient(circle at 50% 50%,rgba(27,43,101,.31),transparent 53%),linear-gradient(#030915,#071126 65%,#050b18);overflow:hidden}
.orrery-section::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(rgba(180,215,255,.43) .7px,transparent .7px),radial-gradient(rgba(163,159,255,.28) .6px,transparent .6px);background-size:103px 117px,179px 153px;background-position:22px 35px,75px 44px;opacity:.22}
.orrery-section>.shell{position:relative}
.orrery-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin:75px 0 55px}
.orrery-heading .display-heading{font-size:clamp(69px,7.4vw,117px)}
.orrery-heading>p{max-width:350px;margin:0 0 10px;color:#a8bdd7;font-size:15px;line-height:1.85}
.orrery-stage{position:relative;height:690px;overflow:hidden;border:1px solid rgba(143,192,255,.25);background:radial-gradient(ellipse at 50% 48%,rgba(31,56,124,.26),transparent 47%),radial-gradient(ellipse at 53% 65%,rgba(20,107,143,.14),transparent 54%),#030914;box-shadow:inset 0 0 100px rgba(0,0,0,.45)}
.orrery-stage::before,.orrery-stage::after{content:"";position:absolute;z-index:3;pointer-events:none;width:86px;height:86px;border-color:rgba(153,205,255,.63);border-style:solid}
.orrery-stage::before{left:19px;top:19px;border-width:1px 0 0 1px}
.orrery-stage::after{right:19px;bottom:19px;border-width:0 1px 1px 0}
.orrery-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;z-index:1;cursor:grab}
.orrery-stage.is-dragging .orrery-canvas{cursor:grabbing}
.orrery-stage[data-state=ready] .orrery-fallback{display:none}
.orrery-fallback{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;transform:rotateX(56deg)}
.fallback-orbit{position:absolute;width:42%;aspect-ratio:1;border:1px solid rgba(150,203,255,.42);border-radius:50%;box-shadow:0 0 18px rgba(93,145,245,.12)}
.fallback-two{width:55%}.fallback-three{width:68%}
.fallback-star{width:38px;height:38px;border-radius:50%;background:#fff0cf;box-shadow:0 0 25px #ffc879,0 0 80px #566bda}
.orrery-hud{position:absolute;inset:29px 34px auto;z-index:4;display:flex;justify-content:space-between;gap:15px;color:#9bb9d8;font:700 10px/1.2 var(--ui);letter-spacing:.21em;pointer-events:none}
.orrery-controls{position:absolute;z-index:4;left:34px;right:34px;bottom:32px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.orrery-toggle{display:inline-flex;align-items:center;gap:24px;padding:11px 15px;border:1px solid rgba(158,201,250,.4);background:rgba(8,20,41,.74);color:#d8eeff;backdrop-filter:blur(12px);cursor:pointer;font:700 10px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase;transition:background .3s,border-color .3s}
.orrery-toggle:hover{background:#1a3357;border-color:#9ed5ff}
.orrery-toggle span{color:#a8c7f8;font-size:14px}
.orrery-drag{color:#8ca9c8;font:700 10px/1 var(--ui);letter-spacing:.19em;text-transform:uppercase}
.orrery-labels{position:absolute;inset:0;z-index:2;pointer-events:none}
.orrery-label{position:absolute;top:0;left:0;padding:6px 10px;border:1px solid rgba(154,206,255,.33);background:rgba(5,14,30,.72);color:#d9ecff;white-space:nowrap;backdrop-filter:blur(7px);font:700 9px/1 var(--ui);letter-spacing:.15em;text-transform:uppercase;transition:opacity .2s;will-change:transform}
.orrery-label-1{border-color:rgba(113,222,207,.55)}.orrery-label-2{border-color:rgba(185,177,250,.55)}.orrery-label-3{border-color:rgba(153,214,251,.55)}
.orrery-legend{display:grid;grid-template-columns:repeat(3,1fr);margin-top:20px;border-block:1px solid rgba(149,195,249,.25)}
.orbit-key{display:flex;flex-direction:column;gap:8px;padding:25px 30px 27px;color:#dcecff;transition:background .35s}
.orbit-key+ .orbit-key{border-left:1px solid rgba(149,195,249,.25)}
.orbit-key:hover{background:rgba(132,177,247,.09)}
.orbit-key>span{font:700 10px/1.2 var(--ui);letter-spacing:.19em;text-transform:uppercase;color:#a9cee9}
.orbit-key strong{font:400 37px/1.05 var(--serif)}
.orbit-key small{font:600 11px/1.4 var(--ui);color:#91a9c5}
.orbit-key small span{float:right;font-size:17px;color:#b1b9fd}
.orbit-key-verdantis{box-shadow:inset 0 2px #65d8ce}.orbit-key-aurelia{box-shadow:inset 0 2px #a9a3ec}.orbit-key-caelum{box-shadow:inset 0 2px #9bd8ff}
.orrery-disclaimer{margin:18px 0 0;color:#7892b1;font:500 11px/1.7 var(--ui)}
@media(max-width:900px){.orrery-stage{height:600px}.orrery-heading{gap:30px}.orrery-heading .display-heading{font-size:clamp(61px,8vw,91px)}}
@media(max-width:760px){.orrery-section{padding:78px 0 90px}.orrery-heading{display:block;margin:55px 0 35px}.orrery-heading>p{margin:24px 0 0;max-width:540px}.orrery-stage{height:510px}.orrery-legend{grid-template-columns:1fr}.orbit-key{padding:18px 4px;display:grid;grid-template-columns:1fr auto;align-items:center}.orbit-key+ .orbit-key{border-left:0;border-top:1px solid rgba(149,195,249,.25)}.orbit-key strong{font-size:27px;text-align:right}.orbit-key small{grid-column:span 2}.orrery-label{display:none}.orrery-drag{display:none}.section-intro::before{opacity:.45}.world-image-wrap::after{background:linear-gradient(0deg,rgba(3,10,25,.37),transparent 52%)}}
@media(max-width:480px){.orrery-heading .display-heading{font-size:clamp(56px,12vw,70px)}.orrery-stage{height:410px}.orrery-hud{left:19px;right:19px;top:22px;font-size:8px}.orrery-hud span:last-child{display:none}.orrery-controls{left:19px;bottom:20px}.orrery-toggle{font-size:9px}.film-poster{box-shadow:14px 16px 0 #152c42}}
@media(prefers-reduced-motion:reduce){.orrery-stage .orrery-fallback{animation:none}.orrery-label{transition:none}}

/* The opening images dissolve like successive film frames. */
.hero-reel{position:absolute;inset:0;z-index:0;overflow:hidden;background:#040a16}
.hero-reel::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 29%,rgba(185,221,255,.13) 49%,transparent 70%);transform:translateX(-70%)}
.home-hero.is-changing .hero-reel::after{animation:reel-light 1.7s var(--ease-cinema) both}
@keyframes reel-light{0%{opacity:0;transform:translateX(-70%)}35%{opacity:1}100%{opacity:0;transform:translateX(70%)}}
.hero-frame{position:absolute;inset:-3%;width:106%;height:106%;max-width:none;object-fit:cover;object-position:center;opacity:0;transform:scale(1.09) translateY(var(--hero-shift,0px));filter:saturate(.92);transition:opacity 1.9s ease,transform 9s linear,filter 1.9s ease;will-change:opacity,transform}
.hero-frame.is-active{opacity:1;transform:scale(1.015) translateY(var(--hero-shift,0px));filter:saturate(1.04)}
.hero-frame:nth-child(2),.hero-frame:nth-child(3),.hero-frame:nth-child(4){object-position:center 45%}
.hero-shade{z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(2,7,19,.93) 0%,rgba(2,7,19,.71) 34%,rgba(2,7,19,.2) 74%),linear-gradient(0deg,rgba(2,7,19,.72),transparent 31%)}
.hero-layout{z-index:2}
.hero-reel-controls{position:absolute;z-index:5;left:max(48px,calc((100% - 1440px)/2));bottom:28px;display:flex;gap:7px}
.hero-reel-button{position:relative;width:46px;height:22px;padding:9px 0;border:0;background:transparent;cursor:pointer}
.hero-reel-button>span{display:block;width:100%;height:2px;background:rgba(220,239,255,.37)}
.hero-reel-button>span::after{content:"";display:block;width:0;height:2px;background:#b5e3ff}
.hero-reel-button.is-active>span{background:rgba(220,239,255,.6)}
.hero-reel-button.is-active>span::after{animation:reel-progress 8s linear both}
.hero-reel-button:hover>span{background:#fff}
@keyframes reel-progress{to{width:100%}}
.hero-index{bottom:65px}
.scroll-cue{bottom:29px}
.home-hero::after{z-index:1}

/* Frames and portals echo the circular orbits without repeating square cards. */
.world-feature{border-radius:4px 4px 100px 4px}
.world-feature:nth-child(2){margin-left:5%;border-radius:4px 4px 4px 100px}
.world-feature:nth-child(3){margin-right:5%;border-radius:4px 4px 120px 4px}
.world-feature::before{border-radius:inherit}
.orrery-stage{border-radius:4px 4px 82px 4px}
.preview-card{border-radius:112px 4px 4px 4px}
.preview-card:nth-child(2){border-radius:4px 112px 4px 4px}
.preview-card:nth-child(3){border-radius:112px 4px 4px 4px}
.gallery-item-image{border-radius:100px 4px 4px 4px}
.gallery-item:nth-child(even) .gallery-item-image{border-radius:4px 100px 4px 4px}
.video-card{border-radius:4px 88px 4px 4px;overflow:hidden}

@media(max-width:760px){
  .hero-reel-controls{left:20px;bottom:34px}
  .hero-frame{inset:-2%;width:104%;height:104%;object-position:60% center}
  .hero-frame:nth-child(2),.hero-frame:nth-child(3),.hero-frame:nth-child(4){object-position:64% center}
  .hero-shade{background:linear-gradient(90deg,rgba(2,7,19,.93),rgba(2,7,19,.51)),linear-gradient(0deg,rgba(2,7,19,.7),transparent 75%)}
  .hero-copy>p{text-shadow:0 1px 15px rgba(0,0,0,.8)}
  .world-feature,.world-feature:nth-child(2),.world-feature:nth-child(3){margin-left:0;margin-right:0;border-radius:4px 4px 58px 4px}
  .world-feature:nth-child(2){border-radius:4px 4px 4px 58px}
  .orrery-stage{border-radius:4px 4px 45px 4px}
  .preview-card,.preview-card:nth-child(2),.preview-card:nth-child(3){border-radius:70px 4px 4px 4px}
}
@media(max-width:480px){.hero-reel-controls{left:16px;bottom:30px}.hero-reel-button{width:36px}.hero-reel-controls{gap:6px}.gallery-item-image,.gallery-item:nth-child(even) .gallery-item-image{border-radius:55px 4px 4px 4px}}
@media(prefers-reduced-motion:reduce){.hero-reel::after{animation:none!important}.hero-frame{transition:none!important;transform:none!important}.hero-reel-button.is-active>span::after{animation:none;width:100%}}

/* Keep editorial text inside the framed sections, with room for large headings. */
@media(min-width:761px){
  .section-intro.shell,.film-teaser.shell{padding-inline:clamp(32px,3.5vw,56px)}
  .intro-grid .display-heading{font-size:clamp(74px,7.1vw,118px)}
}
@media(max-width:760px){
  .section-intro.shell,.film-teaser.shell{padding-inline:clamp(8px,2vw,16px)}
}
.nav-worlds{position:relative}.nav-worlds summary{display:flex;align-items:center;gap:7px;cursor:pointer;list-style:none;font:600 11px/1 var(--ui);letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.78)}.nav-worlds summary::-webkit-details-marker{display:none}.nav-worlds summary:hover,.nav-worlds[data-current-world] summary{color:#fff}.nav-worlds summary span{font-size:16px;color:#91cde6;line-height:0}.nav-worlds-panel{position:absolute;z-index:30;top:calc(100% + 28px);left:-30px;width:275px;padding:10px;background:#0a1524;border:1px solid rgba(158,202,227,.3);box-shadow:0 22px 45px rgba(0,0,0,.4)}.nav-worlds-panel a{display:block!important;padding:14px 17px!important;border-bottom:1px solid rgba(158,202,227,.14);font-size:11px!important}.nav-worlds-panel a:last-child{border-bottom:0}.nav-worlds-panel a::after{display:none}.nav-worlds-panel small{display:block;margin-top:7px;font-size:10px;font-weight:400;letter-spacing:.04em;text-transform:none;color:#a7bbca}.world-explore{align-self:flex-start;color:#eaf7ff;text-transform:uppercase;letter-spacing:.16em;font:700 10px var(--ui);text-decoration:none;border-bottom:1px solid #a7c9df;padding:7px 0 12px}.world-explore span{margin-left:22px}.world-explore:hover{color:#98dcff}@media(max-width:760px){.nav-worlds{border-bottom:1px solid var(--line-light)}.nav-worlds summary{padding:15px 8px;font-size:12px}.nav-worlds-panel{position:static;width:100%;padding:0 0 10px 12px;border:0;box-shadow:none;background:transparent}.nav-worlds-panel a{padding:12px 8px!important}.nav-worlds-panel small{display:none}}
