/* The final-pass compositions keep one dominant action at each stop. */
.planet-art{filter:drop-shadow(0 0 24px #78929d12)}.planet-art img{width:100%;height:auto}.planet-art{transform-style:preserve-3d}
.scene-link{position:absolute;left:4%;bottom:94px;font-size:10px;letter-spacing:.3px;color:#d4c8b3;min-height:32px;padding:4px 0;border-bottom:1px solid #bfa27144;text-shadow:0 2px 8px #061321;transition:color .2s,border-color .2s}.scene-link:hover{color:var(--ivory);border-color:var(--gold)}
.scene-description{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:45px}.scene-description picture{display:block;min-width:0}.scene-description img{width:100%;max-height:58vh;object-fit:contain}.scene-description .eyebrow{color:var(--gold)}.scene-description h1{font-size:clamp(40px,5vw,65px)}.scene-description p{max-width:490px}.scene-description .scene-context{font-size:11px;color:#b2bcc6;margin-top:28px}
.daylight-field{position:fixed;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse at 79% 53%,#efce811d,transparent 50%);opacity:0;mix-blend-mode:screen}
.saturn-measures{color:#aca8b9}.saturn-measures svg{display:block;width:100%;overflow:visible}.saturn-measures path{fill:none;stroke:currentColor;stroke-width:1}
.venus-resonance svg{width:100%;overflow:visible}.venus-resonance path{fill:none;stroke:#dfba8b;stroke-width:1.1;opacity:.5}.venus-resonance{transform-origin:50% 50%}
.content[data-content=about] h1{font-size:clamp(58px,5.9vw,92px)}.content[data-content=about]:before{inset:-55px -70px;background:radial-gradient(ellipse,#091826db 0,#0918269c 40%,transparent 76%)}
.flight-header .brand{filter:drop-shadow(0 2px 5px #06101b) drop-shadow(0 0 18px #06101ba0)}
.figure picture{display:block}.figure img{transition:opacity .35s ease}.figure img.art-ready{opacity:1}
@media(max-width:700px){.scene-link{left:20px;bottom:83px;font-size:9px;min-height:30px}.scene-description{display:flex;flex-direction:column-reverse;gap:16px;align-items:stretch}.scene-description img{max-height:330px}.scene-description h1{font-size:42px}.scene-description .scene-context{margin-top:18px}.content[data-content=about] h1{font-size:46px}.content[data-content=about] .body-copy{display:none}.contact-content .small-note{display:none}.contact-content h1{font-size:46px}.contact-content .copy-status{min-height:0;margin-top:0}.contact-content .text-actions{gap:14px}.contact-content .text-actions .text-button{font-size:10px}.content[data-content=listen] .lead{max-width:300px}}
@media(max-height:750px) and (max-width:700px){.content[data-content=about] h1,.contact-content h1{font-size:38px}.content[data-content=about] .credit{margin:12px 0 3px}.content[data-content=about] .lead{font-size:12px}.scene-link{bottom:76px}.content[data-content=listen] .lead{font-size:12px}.content[data-content=listen] .catalogue-region{margin:16px 0 10px}}
@media(max-height:580px){.scene-link{bottom:76px}.scene-description{grid-template-columns:1fr 1fr}.scene-description img{max-height:300px}.content[data-content=about] h1{font-size:36px}}
@media(prefers-reduced-motion:reduce){.figure img{transition:none}}

.scene-link{padding:8px 12px;min-height:40px;background:linear-gradient(100deg,#081725d9,#08172577);border:1px solid #bfa27126;border-radius:2px}
@media(max-width:700px) and (max-height:750px){.content:not(.home-content):not(.passage-copy) .overline{margin-bottom:10px}.content:not(.home-content):not(.passage-copy) h1{margin-bottom:12px}.content:not(.home-content):not(.passage-copy) .lead{font-size:12px;line-height:1.65}.catalogue-region{margin:14px 0 8px}.collection-empty{font-size:11px;line-height:1.7}.channel-links{margin-top:8px}}

.sphere-selection{display:block;border-top:1px solid #dac39966;border-bottom:1px solid #dac39944;padding:16px 0;margin:22px 0;max-width:330px;font:12px/1.6 Arial,sans-serif}.slot-label{display:block;font-size:8px;letter-spacing:1.5px;color:#c6bda9}.slot-lines{display:block;width:82%;height:17px;margin:16px 0;border-top:1px solid #c6bda944;border-bottom:1px solid #c6bda933}.enquiry-links{display:flex;gap:10px 22px;flex-wrap:wrap;margin-top:24px;font:11px/1.5 Arial,sans-serif}.enquiry-links a{padding:5px 0;border-bottom:1px solid #c6bda944}.map-destinations{display:flex;gap:10px;flex-wrap:wrap;font-size:11px}.map-destinations a{padding:8px 0}.passage-copy .lead{font-size:14px;line-height:1.7;margin:18px 0;max-width:310px}
@media(max-width:700px){.sphere-selection{padding:12px 0;margin:16px 0;max-width:280px;font-size:11px}.slot-lines{margin:12px 0}.enquiry-links{gap:5px 14px;font-size:10px;margin-top:14px}.passage-copy .lead{font-size:12px;margin:12px 0}.contact-content .cosmic-email{font-size:clamp(19px,5.7vw,30px)}}

/* Responsive composition: reserve real space for chrome, reading and artwork. */
:root{--content-top:124px;--safe-top:env(safe-area-inset-top,0px)}
.sphere-selection strong,.sphere-selection>span:last-child{display:block}
.sphere-selection strong{font-size:16px;margin:7px 0}
.sphere-selection>span:last-child{margin-top:8px}
@media(max-width:700px){
 .flight-header{top:max(12px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));right:max(20px,env(safe-area-inset-right));align-items:center}
 .flight-header .brand,.flight-header .brand img{width:130px}
 .map-toggle{margin-top:0;min-height:44px;font-size:11px}
 .content,.short-viewport .content{max-height:calc(100dvh - var(--content-top) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 144px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b9a47766 transparent;padding:0 4px 2px 0}
 .content h1,.content[data-content=about] h1,.contact-content h1{font-size:clamp(40px,11vw,52px);margin-bottom:16px;letter-spacing:-1.6px}
 .content .overline{margin-bottom:13px;line-height:1.6}
 .content .lead,.content[data-content=listen] .lead,.content[data-content=about] .lead,.passage-copy .lead{font-size:13px;line-height:1.7}
 .home-content h1{font-size:clamp(36px,10vw,46px)}
 .home-content .lead{display:block;font-size:12px;line-height:1.65;margin-top:12px}
 .text-actions,.home-content .text-actions{margin-top:12px;gap:10px 22px}
 .text-actions a,.text-button,.contact-content .text-actions .text-button{font-size:11px;min-height:44px}
 .sphere-selection{margin:14px 0 5px;padding:12px 0;max-width:290px}
 .sphere-selection strong{font-size:16px;margin:5px 0}
 .sphere-selection>span:last-child{margin-top:5px}
 .enquiry-links{gap:0 18px;margin-top:8px;font-size:11px}
 .enquiry-links a{display:inline-flex;align-items:center;min-height:44px}
 .cosmic-email{margin-top:10px;padding:8px 0}
 .scene-link{left:20px;bottom:calc(78px + env(safe-area-inset-bottom));min-height:44px;display:flex;align-items:center;font-size:10px}
 .flight-controls{padding:10px 16px calc(14px + env(safe-area-inset-bottom));gap:6px}
 .control-buttons button{min-width:44px;min-height:44px}
 .control-buttons .calm-toggle{min-width:54px;font-size:9px}
 .location{gap:7px}.location-purpose{font-size:9px;max-width:100px;line-height:1.4}
 .sphere-map{top:108px;max-height:calc(100dvh - 130px - env(safe-area-inset-bottom));padding:16px 20px}
 .map-destinations a{min-height:44px;display:inline-flex;align-items:center}
 .persistent-player{bottom:calc(130px + env(safe-area-inset-bottom))}
}
@media(max-width:700px) and (max-height:700px){
 :root{--content-top:112px}
 .content h1,.content[data-content=about] h1,.contact-content h1{font-size:38px;margin-bottom:12px}
 .home-content h1{font-size:35px}
 .content .overline{font-size:8px;margin-bottom:10px}
 .content .credit{margin:12px 0 4px}
}
@media(max-height:580px) and (min-width:701px){
 :root{--content-top:100px}
 .flight-header .brand,.flight-header .brand img{width:110px}
 .flight-header{top:12px}.main-nav{padding-top:0}.map-toggle{margin-top:0}
 .short-viewport .content{max-height:calc(100dvh - 190px)}
}
@media(max-width:360px){
 .flight-header .brand,.flight-header .brand img{width:118px}
 .flight-controls{padding-left:12px;padding-right:12px}
 .location-number{display:none}.location-purpose{max-width:96px}
 .contact-content .text-actions{gap:5px 14px}
}

.content,.short-viewport .content{overflow:visible}
@media(max-width:700px),(max-height:580px){
 .content,.short-viewport .content{max-height:none}
 .content[data-scrollable]{max-height:calc(100dvh - var(--content-top) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 144px);overflow-y:auto;overflow-x:hidden;touch-action:pan-y}
 .content[data-scrollable]:before{display:none}
}
@media(max-height:580px) and (min-width:701px){.content[data-scrollable]{max-height:calc(100dvh - var(--content-top) - 90px)}}
