/* Interactive hero layer. Existing journal, topic, biography, and footer styles remain in public-v2.css. */
.observatory-hero{min-height:800px;background:#070813;color:#f8f7f2;isolation:isolate}
.observatory-field{position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 63% 48%,rgba(72,244,208,.14),transparent 18%),radial-gradient(circle at 75% 38%,rgba(144,120,255,.18),transparent 28%),radial-gradient(circle at 48% 90%,rgba(255,109,131,.1),transparent 30%),#070813}
.observatory-field:before{position:absolute;inset:0;content:"";opacity:.28;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(to bottom,#000,transparent 88%);animation:observatory-grid 18s linear infinite}
.observatory-field:after{position:absolute;inset:0;content:"";background:radial-gradient(circle at var(--field-x,62%) var(--field-y,48%),rgba(72,244,208,.1),transparent 17%);pointer-events:none}
.observatory-inner{position:relative;z-index:1;display:grid;width:min(1320px,calc(100% - 48px));min-height:800px;grid-template-columns:minmax(330px,.82fr) minmax(530px,1.18fr);align-items:center;gap:20px;margin:auto;padding:92px 0 70px}
.observatory-copy{position:relative;z-index:3;max-width:530px}
.observatory-copy .edition{display:flex;gap:16px;color:#8f94ab;font:500 10px 'DM Mono';letter-spacing:.15em;text-transform:uppercase}
.observatory-copy .edition span{color:#48f4d0}
.observatory-copy h1{max-width:600px;margin:25px 0 23px;color:#f8f7f2;font:700 clamp(62px,7vw,104px)/.86 'Space Grotesk';letter-spacing:-.085em}
.observatory-copy h1 em{color:#48f4d0;font-style:normal;text-shadow:0 0 35px rgba(72,244,208,.25)}
.observatory-copy .hero-copy{max-width:470px;margin:0;color:#b6b9c9;font-size:16px}
.observatory-copy .hero-actions{display:flex;align-items:center;gap:18px;margin-top:30px}
.observatory-copy .button{color:#070813;background:#48f4d0;box-shadow:0 0 28px rgba(72,244,208,.18)}
.observatory-copy .button:hover{color:#070813;background:#72f8dc;box-shadow:0 0 42px rgba(72,244,208,.4)}
.observatory-copy .text-link{color:#ff9aa8}
.observatory-copy .text-link:hover{color:#ff6d83}
.observatory-instruction{margin:19px 0 0;color:#7c8198;font:500 10px 'DM Mono';letter-spacing:.08em;text-transform:uppercase}
.observatory-stage{position:relative;width:min(680px,100%);height:610px;margin:auto;transform:translateX(4%);transition:transform .3s ease}
.observatory-stage:before{position:absolute;inset:8% 4%;content:"";border:1px solid rgba(72,244,208,.12);border-radius:50%;transform:rotate(-18deg) scaleY(.45);box-shadow:0 0 70px rgba(72,244,208,.08)}
.observatory-stage:after{position:absolute;inset:14% 12%;content:"";border:1px dashed rgba(144,120,255,.3);border-radius:50%;transform:rotate(32deg) scaleY(.5);animation:observatory-orbit 22s linear infinite}
.observatory-core{position:absolute;top:50%;left:50%;width:190px;height:190px;border:1px solid rgba(72,244,208,.65);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 45px rgba(72,244,208,.2),inset 0 0 35px rgba(144,120,255,.22);animation:observatory-breathe 4.5s ease-in-out infinite}
.observatory-core:before,.observatory-core:after{position:absolute;inset:17px;content:"";border:1px dashed rgba(255,255,255,.35);border-radius:50%;animation:observatory-orbit 14s linear infinite}
.observatory-core:after{inset:48px;border-color:#48f4d0;animation-direction:reverse;animation-duration:9s}
.core-glow{position:absolute;inset:70px;background:#48f4d0;border-radius:50%;box-shadow:0 0 30px #48f4d0,0 0 90px rgba(72,244,208,.4)}
.core-wire{position:absolute;inset:-58px;border:1px solid rgba(255,109,131,.27);border-radius:50%;transform:rotate(62deg) scaleY(.42)}
.core-dot{position:absolute;inset:86px;background:#f8f7f2;border-radius:50%;box-shadow:0 0 22px #fff;animation:observatory-dot 2.2s ease-in-out infinite}
.observatory-you-are-here{position:absolute;top:calc(50% + 120px);left:50%;color:#a3a8bd;font:500 9px 'DM Mono';letter-spacing:.16em;text-transform:uppercase;transform:translateX(-50%)}
.observatory-you-are-here:before{position:absolute;top:-22px;left:50%;width:1px;height:16px;content:"";background:linear-gradient(#48f4d0,transparent);transform:translateX(-50%)}
.observatory-hotspot{position:absolute;z-index:2;display:flex;align-items:center;gap:8px;padding:0;color:#d5d7e2;background:none;border:0;font:500 10px 'DM Mono';letter-spacing:.12em;text-transform:uppercase;transition:color .2s,transform .25s,opacity .35s}
.observatory-hotspot i{display:block;width:11px;height:11px;background:var(--spot-color,#48f4d0);border:2px solid #070813;border-radius:50%;box-shadow:0 0 0 1px var(--spot-color,#48f4d0),0 0 18px var(--spot-color,#48f4d0);transition:transform .25s,box-shadow .25s}
.observatory-hotspot:hover,.observatory-hotspot:focus-visible,.observatory-hotspot.is-selected{color:#fff;outline:0;transform:scale(1.12)}
.observatory-hotspot:hover i,.observatory-hotspot:focus-visible i,.observatory-hotspot.is-selected i{transform:scale(1.4);box-shadow:0 0 0 4px color-mix(in srgb,var(--spot-color,#48f4d0) 18%,transparent),0 0 24px var(--spot-color,#48f4d0)}
.observatory-hotspot:focus-visible{border-bottom:1px solid var(--spot-color,#48f4d0)}
.hotspot-wifi{top:19%;left:19%;--spot-color:#48f4d0}.hotspot-ai{top:16%;right:17%;--spot-color:#ff6d83}.hotspot-5g{top:68%;right:11%;--spot-color:#9078ff}.hotspot-security{bottom:18%;left:18%;--spot-color:#d1e866}.hotspot-netops{top:43%;right:1%;--spot-color:#ff9aa8}.hotspot-network{top:43%;left:4%;--spot-color:#48f4d0}
.hotspot-more{opacity:0;transform:scale(.8);pointer-events:none}.observatory-hero.is-exploring .hotspot-more{opacity:1;transform:scale(1);pointer-events:auto}.observatory-hero.is-exploring .hotspot-more:nth-of-type(2){transition-delay:.05s}.observatory-hero.is-exploring .hotspot-more:nth-of-type(3){transition-delay:.1s}.observatory-hero.is-exploring .hotspot-more:nth-of-type(4){transition-delay:.15s}
.observatory-readout{position:absolute;right:5%;bottom:8%;width:190px;color:#858ba3;font:500 9px/1.55 'DM Mono';letter-spacing:.08em;text-align:right;text-transform:uppercase}.observatory-readout strong{display:block;margin-bottom:4px;color:#f8f7f2;font:600 15px 'Space Grotesk';letter-spacing:-.03em;text-transform:none}.observatory-readout span{color:#48f4d0}
.observatory-hero .hero-rail{color:#858ba3}.observatory-hero .hero-rail b{color:#b9bdcc}
.topic-focus{outline:3px solid rgba(72,244,208,.55);outline-offset:5px;transform:translateY(-5px);transition:outline .2s,transform .2s}
@keyframes observatory-grid{to{background-position:58px 58px}}@keyframes observatory-orbit{to{transform:rotate(422deg) scaleY(.5)}}@keyframes observatory-breathe{50%{transform:translate(-50%,-50%) scale(1.06)}}@keyframes observatory-dot{50%{transform:scale(.65);opacity:.6}}
@media(max-width:900px){.observatory-inner{grid-template-columns:1fr;min-height:820px;padding-top:130px}.observatory-copy{max-width:620px}.observatory-copy h1{font-size:clamp(58px,10vw,91px)}.observatory-stage{position:absolute;right:-5%;bottom:-5px;width:min(630px,78vw);height:570px;opacity:.72;transform:none}.observatory-copy{pointer-events:none}.observatory-copy .hero-actions,.observatory-copy .observatory-instruction{pointer-events:auto}.observatory-readout{right:3%;bottom:8%}}
@media(max-width:620px){.observatory-hero{min-height:760px}.observatory-inner{width:calc(100% - 34px);min-height:760px;padding-top:120px}.observatory-copy h1{font-size:clamp(54px,16vw,78px);margin:19px 0}.observatory-copy .hero-copy{max-width:310px;font-size:13px}.observatory-copy .hero-actions{gap:12px;margin-top:22px}.observatory-copy .button{padding:10px 12px;font-size:9px}.observatory-copy .text-link{font-size:10px}.observatory-instruction{font-size:8px}.observatory-stage{right:-35%;bottom:-7%;width:600px;height:500px;opacity:.6}.observatory-core{width:155px;height:155px}.core-glow{inset:57px}.core-dot{inset:69px}.observatory-you-are-here{top:calc(50% + 100px);font-size:8px}.observatory-readout{right:5%;bottom:4%;width:155px;font-size:8px}.observatory-readout strong{font-size:12px}.observatory-hotspot{font-size:8px}.hotspot-wifi{top:16%;left:18%}.hotspot-ai{top:11%;right:25%}.hotspot-5g{top:70%;right:16%}.hotspot-security{bottom:12%;left:20%}.hotspot-netops{top:43%;right:2%}.hotspot-network{top:42%;left:5%}.observatory-hero.is-exploring .hotspot-more{opacity:.9}}
@media(prefers-reduced-motion:reduce){.observatory-field:before,.observatory-stage:after,.observatory-core,.observatory-core:before,.observatory-core:after,.core-dot{animation:none}.observatory-hotspot{transition:none}.hotspot-more{opacity:.8;transform:none;pointer-events:auto}}
