/* Three independent local compositions. The production solar renderer is unchanged. */
body.observatory{padding-top:0}.direction-hero{position:relative;isolation:isolate;min-height:820px;margin-top:0;overflow:hidden}.direction-hero:before{content:'';position:absolute;inset:0;z-index:-2;background:url('/assets/webb-crab-5k.webp') center/cover;opacity:.42;filter:saturate(.65) brightness(.6)}.direction-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#101413 0%,#10141399 35%,transparent 70%),linear-gradient(0deg,#111313,transparent 40%)}.concept-content{position:relative;z-index:3;pointer-events:none}.concept-content a,.concept-content button{pointer-events:auto}.direction-hero .scene{position:absolute;margin:0;z-index:2}.scene .premium-stage{aspect-ratio:auto;height:100%;width:100%}.scene .orb-tabs{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);white-space:nowrap}.scene .premium-detail{position:absolute;bottom:-55px;left:0;right:0;min-height:65px;pointer-events:none}.scene .premium-detail strong{font-size:21px;margin:6px 0}.scene .premium-detail small{font-size:8px}.scene .premium-detail p{font-size:11px;margin:5px}.scene .nebula-credit{position:absolute;right:12px;bottom:-84px;font-size:8px;max-width:450px}.micro{font-size:10px;letter-spacing:1.7px;font-weight:500}.quiet-link{display:inline-block;font-size:13px;border-bottom:1px solid #fa7859;padding:8px 0;margin-top:22px}button{font-family:inherit}button:focus-visible{outline:2px solid #fa7859;outline-offset:5px}
/* 01: a full scene with a compact caption and horizontal service index */
.observatory .direction-hero{min-height:940px;padding:150px 5% 0}.observatory .direction-hero:before{background-position:65% 40%;opacity:.65}.observatory .scene{width:75%;height:650px;top:76px;right:-2%;}.observatory .scene .orb-tabs{bottom:80px;left:65%}.observatory .scene .premium-detail{bottom:23px;left:30%;}.observatory .scene .nebula-credit{bottom:1px;right:15%}.obs-heading{width:330px}.obs-heading .micro{color:#bac2b9}.obs-heading h1{font-family:'Libre Caslon Display',Georgia,serif;font-size:clamp(80px,8.7vw,135px);line-height:.85;letter-spacing:-3px;font-weight:400;margin:32px 0}.obs-intro{font-size:14px;line-height:1.8;color:#c3c7bf}.obs-coordinate{display:flex;flex-direction:column;gap:8px;position:absolute;top:20px;right:0;font-size:8px;letter-spacing:2px;text-align:right;color:#b0b9ad}.obs-index{display:grid;grid-template-columns:.85fr 1fr 1fr 1fr;border-top:1px solid #828a7355;border-bottom:1px solid #828a7355;margin-top:140px;background:#111a16bb;backdrop-filter:blur(8px)}.index-label{padding:26px 15px 25px 0}.index-label .micro{font-size:8px;color:#a4b1a1}.index-label p{font:21px 'Libre Caslon Display',serif;margin:10px 0}.obs-index button{text-align:left;color:#dfe5da;background:none;border:0;border-left:1px solid #828a7338;padding:23px 28px;cursor:pointer}.obs-index button small{color:#a7b298;font-size:9px}.obs-index button strong{font-size:20px;font-weight:400;display:block;margin:10px 0}.obs-index button span{font-size:11px;color:#9ea99c}.obs-index button[aria-pressed=true]{background:#53614b28;box-shadow:inset 0 2px #fa7859}.obs-reading{display:flex;align-items:start;justify-content:space-between;gap:40px;padding:20px 0 35px;font-size:13px;color:#b3beb0}.obs-reading p{max-width:620px;line-height:1.6;margin:0}.obs-reading a{white-space:nowrap;border-bottom:1px solid #78846e;padding-bottom:6px;color:#eceee5}

.observatory .scene{height:550px;top:76px}.observatory .scene .orb-tabs{bottom:25px;left:58%}
.observatory .scene .premium-detail{display:block;visibility:visible;left:25%;right:3%;bottom:-80px;min-height:96px;padding:12px 18px;background:linear-gradient(90deg,transparent,#111a16cc,transparent)}
.observatory .scene .premium-detail:has(p:empty){visibility:hidden}.observatory .scene .premium-detail strong{font-size:26px;margin:7px 0}.observatory .scene .premium-detail p{font-size:12px;line-height:1.6;margin:6px 0}.observatory .obs-index{margin-top:225px}.observatory .direction-hero{min-height:1025px}.direction-hero .scene .nebula-credit{display:none}.study-credit{margin:0;padding:12px 5% 20px;font-size:8px;line-height:1.6;color:#8c988b;background:#111313;text-align:right}.study-credit a{border-bottom:1px solid #89928066}
@media(max-width:760px){body.observatory{padding-top:0}.observatory .direction-hero{padding:125px 6% 0;min-height:1290px}.obs-heading{width:auto}.obs-heading h1{font-size:82px}.obs-heading .obs-intro{max-width:220px}.obs-coordinate{display:none}.observatory .scene{top:500px;height:320px;right:-10%;width:110%}.observatory .scene .orb-tabs{left:48%;bottom:12px}.observatory .scene .premium-detail{left:5%;right:12%;bottom:-115px;min-height:100px;padding:12px 10px}.observatory .scene .premium-detail strong{font-size:24px}.observatory .scene .premium-detail p{font-size:12px}.observatory .obs-index{margin-top:470px;grid-template-columns:1fr}.index-label{padding:15px 0}.index-label p{font-size:20px}.obs-index button{padding:16px 10px;display:grid;grid-template-columns:30px 1fr;align-items:center;border-left:0;border-top:1px solid #828a7338}.obs-index button strong{font-size:20px;margin:0}.obs-index button span{grid-column:2;margin-top:5px}.obs-reading{display:block}.obs-reading a{display:inline-block;margin-top:15px}.study-credit{text-align:left;font-size:8px}}

/* Keep the approved headline on exactly two lines at every window width. */
.obs-heading h1{white-space:nowrap}
@media(max-width:760px){.obs-heading h1{font-size:clamp(64px,20vw,82px)}}

/* The service overview remains in What we do; keep the hero focused. */
.observatory .direction-hero{min-height:750px}
@media(max-width:760px){.observatory .direction-hero{min-height:960px}}

/* Mobile follows normal document flow: solar scene, controls, details, then introduction. */
@media(max-width:760px){
.observatory .direction-hero{display:flex;flex-direction:column;min-height:0;padding:100px 6% 38px;gap:22px}
.observatory .direction-hero .scene{position:relative;order:1;top:auto;right:auto;bottom:auto;left:auto;width:100%;height:auto;margin:0;align-self:center}
.observatory .scene .premium-stage{height:clamp(280px,82vw,430px);width:100%;aspect-ratio:auto}
.observatory .scene .orb-tabs{position:relative;left:auto;bottom:auto;transform:none;margin:0;justify-content:center;gap:17px}
.observatory .scene .premium-detail{position:relative;left:auto;right:auto;bottom:auto;min-height:100px;padding:15px 0 0;margin:0;width:100%;background:none}
.observatory .concept-content{order:2;width:100%}
.observatory .obs-heading{width:100%}
.observatory .obs-heading h1{margin:25px 0 28px}
.observatory .obs-heading .obs-intro{max-width:100%;font-size:14px}
.observatory .quiet-link{margin-top:16px}
.observatory .direction-hero:before{background-position:60% 15%}
.observatory .direction-hero:after{background:linear-gradient(0deg,#111313 0%,#111313b0 38%,#11131322 70%,#11131366 100%)}
}
