/* A wider view: preserve readable type while giving the small worlds breathing room. */
.full-motion{cursor:auto}
.full-motion a,.full-motion button,.full-motion label{cursor:pointer}
.cursor-dust>span{color:#eff6d8;font-weight:400}
.enhanced-ascent .ascent{height:var(--tour-height,970svh)}
.enhanced-ascent .cosmos{min-height:0;height:var(--view)}
.enhanced-ascent .planet{width:min(46vw,calc(var(--view)*.66),690px)}
.enhanced-ascent .planet-zorp{width:min(40vw,calc(var(--view)*.57),600px)}
.enhanced-ascent .planet-bolt{width:min(36vw,calc(var(--view)*.51),540px)}
.enhanced-ascent .flying-guide{width:clamp(150px,17vw,245px)}
.enhanced-ascent .chapter h2{font-size:clamp(50px,5vw,80px);line-height:1.02;letter-spacing:-2px}
.enhanced-ascent .launch h1{font-size:clamp(90px,9vw,132px);margin:25px 0}
.enhanced-ascent .hero-tagline{font-size:clamp(24px,2.5vw,34px);margin:24px 0 15px}
.enhanced-ascent .chapter-description{font-size:17px;line-height:1.6}
.enhanced-ascent .cinema-scene{width:min(54vw,calc(var(--view)*.88));top:27%;right:7%}
.enhanced-ascent .company-art{left:53%;top:20%;width:38%;height:60%}
.enhanced-ascent .home-scene{left:5%;top:20%;width:50%;height:69%}
.enhanced-ascent .wardrobe-art{left:55%;top:19%;width:36%;height:62%}
.enhanced-ascent .final-neighbor{right:10%;top:47%;width:16%;height:26%}
.enhanced-ascent .flight-readout{bottom:max(28px,calc(env(safe-area-inset-bottom) + 16px))}
.experience-controls{right:max(20px,env(safe-area-inset-right));bottom:max(20px,calc(env(safe-area-inset-bottom) + 12px));max-width:calc(100vw - 32px)}
.experience-controls button{min-height:44px;font-size:12px}
.enhanced-ascent .continue-to-post{bottom:max(90px,calc(env(safe-area-inset-bottom) + 80px))}
.enhanced-ascent .launch-bottom{bottom:max(86px,calc(env(safe-area-inset-bottom) + 76px))}
/* A photographic composition using the game's telescope, not a fabricated gameplay screen. */
.photography .chapter-copy{width:42%}
.observatory-art{position:relative;height:570px;margin:0;isolation:isolate;pointer-events:none}
.scope-field{position:absolute;right:0;top:0;width:90%;aspect-ratio:1;border-radius:50%;border:1px solid #d3e5eb44;background:radial-gradient(ellipse at 50% 50%,#4d567c29,transparent 68%);z-index:-1}
.scope-reticle{position:absolute;inset:12%;border:1px solid #d3e5eb20;border-radius:50%}
.scope-crosshair{position:absolute;left:50%;top:48%;width:26px;height:26px;transform:translate(-50%,-50%);background:linear-gradient(#dae9e4,#dae9e4) center/1px 100% no-repeat,linear-gradient(#dae9e4,#dae9e4) center/100% 1px no-repeat;opacity:.55}
.scope-field:before{content:'';position:absolute;inset:8%;border-radius:50%;background-image:radial-gradient(circle,#f4f1dd 1px,transparent 1.8px),radial-gradient(circle,#b3d1f3 1px,transparent 1.8px);background-size:63px 89px,107px 113px;background-position:22px 14px,41px 28px;opacity:.5}
.scope-coordinate{position:absolute;top:25%;left:50%;transform:translateX(-50%);font:500 10px Arial;letter-spacing:2px;white-space:nowrap;color:#b3c9d4}
.scope-telescope{position:absolute;left:7%;top:21%;width:49%;height:74%;object-fit:contain;transform:rotate(-10deg)}
.observatory-art figcaption{position:absolute;left:48%;bottom:5%;max-width:12ch;font:500 26px/1.12 Baloo;color:var(--lime);transform:rotate(-5deg)}
.photo-steps{display:flex;gap:22px;list-style:none;margin:30px 0 0;padding:20px 0 0;border-top:1px solid #e4eee82e;font-size:14px;line-height:1.5;max-width:450px}
.photo-steps li{flex:1}.photo-steps span{display:block;font-size:11px;letter-spacing:1px;color:var(--lime);margin-bottom:8px}
@media(min-width:701px){
 .enhanced-ascent .photography .chapter-copy{left:9%;top:23%;width:38%}
 .enhanced-ascent .observatory-art{position:absolute;left:54%;top:19%;width:min(38vw,calc(var(--view)*.62));height:61%}
 body:not(.enhanced-ascent) .photography{display:grid;grid-template-columns:46% 48%;gap:6%;align-items:center;min-height:800px;padding:100px 9%}
 body:not(.enhanced-ascent) .photography .chapter-copy{width:auto}
 body:not(.enhanced-ascent) .observatory-art{height:min(47vw,620px)}
}
@media(min-width:701px) and (max-height:760px){
 .enhanced-ascent .launch .chapter-copy{top:17%}
 .enhanced-ascent .launch h1{font-size:clamp(76px,8.5vw,110px);margin:20px 0}
 .enhanced-ascent .chapter h2{font-size:clamp(48px,4.8vw,65px)}
 .enhanced-ascent .chapter-description{font-size:16px}
 .enhanced-ascent .hero-tagline{font-size:25px;margin:19px 0 12px}
 .enhanced-ascent .photography .chapter-copy{top:16%}
 .photo-steps{margin-top:20px;padding-top:15px;gap:15px}
 .enhanced-ascent .wardrobe .chapter-copy{top:15%}
 .enhanced-ascent .invitation .chapter-copy{top:18%}
 .enhanced-ascent .launch .button{padding:12px 19px}
}
@media(max-width:1000px) and (min-width:701px){
 .enhanced-ascent .chapter h2{font-size:clamp(43px,5.6vw,56px)}
 .enhanced-ascent .photography .chapter-copy{left:7%;width:40%}
 .photo-steps{font-size:12px;gap:12px}
 .observatory-art figcaption{font-size:21px}
}
@media(max-width:700px){
 .enhanced-ascent .planet{width:min(86vw,calc(var(--view)*.46))}
 .enhanced-ascent .planet-zorp{width:min(70vw,calc(var(--view)*.39))}
 .enhanced-ascent .planet-bolt{width:min(60vw,calc(var(--view)*.34))}
 .enhanced-ascent .flying-guide{width:clamp(120px,30vw,165px)}
 .enhanced-ascent .launch h1{font-size:clamp(78px,18vw,104px);margin:20px 0}
 .enhanced-ascent .launch .chapter-copy{top:16%}
 .enhanced-ascent .chapter h2{font-size:clamp(42px,10.2vw,58px);line-height:1.01;margin:16px 0}
 .enhanced-ascent .chapter-description{font-size:16px;line-height:1.5}
 .enhanced-ascent .hero-tagline{font-size:24px}
 .enhanced-ascent .cinema-scene{left:8%;right:auto;top:52%;width:min(84vw,calc(var(--view)*.63))}
 .enhanced-ascent .company-art{left:19%;top:48%;width:69%;height:36%}
 .enhanced-ascent .home-scene{left:8%;top:44%;width:85%;height:44%}
 .enhanced-ascent .wardrobe-art{left:15%;top:53%;width:68%;height:32%}
 .enhanced-ascent .final-neighbor{right:12%;top:60%;width:27%;height:21%}
 .enhanced-ascent .photography .chapter-copy{left:8%;top:9%;width:83%}
 .enhanced-ascent .observatory-art{position:absolute;left:20%;top:51%;width:65%;height:34%}
 .scope-coordinate{font-size:8px;letter-spacing:1px}
 .observatory-art figcaption{font-size:21px;bottom:0}
 .photo-steps{margin-top:18px;padding-top:13px;font-size:12px;gap:15px}
 .photo-steps span{margin-bottom:5px}
 .enhanced-ascent .flight-readout{width:20%;left:8%;bottom:max(31px,calc(env(safe-area-inset-bottom) + 23px))}
 .experience-controls{right:max(10px,env(safe-area-inset-right));bottom:max(12px,calc(env(safe-area-inset-bottom) + 8px))}
 .experience-controls button{padding:10px 12px;font-size:11px}
 body:not(.enhanced-ascent) .photography{min-height:0;padding:85px 8% 90px}
 body:not(.enhanced-ascent) .photography .chapter-copy{width:100%}
 body:not(.enhanced-ascent) .observatory-art{width:90%;height:90vw;margin:45px auto 0}
}
@media(max-width:700px) and (max-height:700px){
 .enhanced-ascent .chapter h2{font-size:41px;margin:13px 0}
 .enhanced-ascent .launch h1{font-size:78px}
 .enhanced-ascent .photography .chapter-copy{top:7%}
 .enhanced-ascent .photography .chapter-description{font-size:15px}
 .enhanced-ascent .observatory-art{top:57%;height:28%;width:57%;left:25%}
 .photo-steps{margin-top:13px;padding-top:10px}
}
/* Clip the stage without creating an inner scroll container. Native anchor/focus
   scrolling must never pan the scene inside its sticky viewport. */
.cosmos,.enhanced-ascent .cosmos{overflow:clip}

/* Rear-view telescope and an unhurried asteroid passage; only transforms animate. */
.scope-field{width:96%;right:-3%;top:-5%;border-color:#d3e5eb24;background:radial-gradient(ellipse at 65% 37%,#667fa51c,transparent 66%)}
.scope-reticle{inset:19%;border-style:dashed;border-color:#d3e5eb19}
.scope-crosshair{left:63%;top:38%;width:18px;height:18px;opacity:.3}
.scope-coordinate{top:10%;font-size:9px;letter-spacing:1.6px;opacity:.7}
.scope-telescope{left:5%;top:47%;width:40%;height:59%;transform:rotate(-4deg)}
.observatory-art figcaption{left:54%;bottom:3%;max-width:10ch;font-size:24px}
/* Three tiny solids with different spin rates, traveling together across the field. */
.asteroid-procession{position:absolute;left:24%;top:15%;width:70%;height:23%;pointer-events:none}
.sky-asteroid{position:absolute;left:var(--rock-x);top:var(--rock-y);width:var(--rock-size);aspect-ratio:1}
.sky-asteroid img{display:block;width:100%;height:100%;object-fit:contain;transform:rotate(var(--rock-start))}
.asteroid-0{--rock-x:7%;--rock-y:60%;--rock-size:11%;--rock-start:18deg;--rock-spin:34s}
.asteroid-1{--rock-x:37%;--rock-y:28%;--rock-size:16%;--rock-start:135deg;--rock-spin:47s}
.asteroid-2{--rock-x:74%;--rock-y:-3%;--rock-size:9%;--rock-start:260deg;--rock-spin:29s}
.full-motion .asteroid-procession{animation:asteroid-drift 23s ease-in-out infinite alternate;animation-play-state:paused}
.full-motion .sky-asteroid img{animation:asteroid-spin var(--rock-spin) linear infinite;animation-play-state:paused}
.full-motion .asteroid-1 img{animation-direction:reverse}
.full-motion.photo-sky-active .asteroid-procession,.full-motion.photo-sky-active .sky-asteroid img{animation-play-state:running}
@keyframes asteroid-drift{from{transform:translate3d(-8%,12%,0)}to{transform:translate3d(12%,-15%,0)}}
@keyframes asteroid-spin{from{transform:rotate(var(--rock-start))}to{transform:rotate(calc(var(--rock-start) + 360deg))}}
@media(max-width:1000px){.observatory-art figcaption{font-size:20px}}
@media(max-width:700px){
 .scope-coordinate{font-size:8px;letter-spacing:1px}
 .scope-telescope{top:46%;height:61%;width:41%}
 .observatory-art figcaption{font-size:18px;bottom:0}
}
@media(prefers-reduced-motion:reduce){.full-motion .asteroid-procession,.full-motion .sky-asteroid img{animation:none}}

/* A real neighbor-world photograph replaces the retired telescope scene. */
.safari-viewfinder{position:absolute;inset:5% 0 15%;overflow:hidden;border-radius:38% 38% 18px 18px;border:1px solid #d3e5eb55;box-shadow:0 24px 70px #05081755;transform:rotate(3deg)}
.safari-viewfinder>img{display:block;width:100%;height:100%;object-fit:cover;object-position:46% 50%}
.safari-focus{position:absolute;inset:30% 22% 24%;border:1px solid #fff8e77a;border-radius:14px;box-shadow:0 0 0 1px #121b2822}
.safari-frame-label{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 15px;text-align:center;font:700 10px/1.5 Arial;letter-spacing:2px;color:#fff8e7;background:linear-gradient(transparent,#101827b3)}
.safari-art figcaption{left:8%;bottom:0;max-width:none;font-size:25px;transform:rotate(-4deg)}
@media(max-width:700px){.enhanced-ascent .safari-art{left:17%;top:53%;width:68%;height:33%}.safari-art figcaption{font-size:20px;left:4%;bottom:-5%}.safari-frame-label{font-size:8px;letter-spacing:1.5px}}
@media(max-width:700px) and (max-height:700px){.enhanced-ascent .safari-art{top:58%;height:27%;width:62%;left:21%}.safari-art figcaption{font-size:17px}}
