/* Independent art preserves detail; only localized energy breathes. */
.landmark-dialog{background:#03070d;overflow:auto;overscroll-behavior:contain}
.landmark-dialog:before{content:'';position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 24% 40%,#33345122,transparent 62%)}
.landmark-coordinate{position:absolute;right:5%;top:35px;font-size:11px;letter-spacing:.18em;color:#82919e}
.landmark-coordinate span{margin-left:25px;color:#bba477}
.landmark-layout{min-height:100svh;display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:5%;padding:125px 5% 55px}
.landmark-art{position:relative;inset:auto;transform:none;margin:0;width:100%;max-width:820px;aspect-ratio:auto;animation:none;background:none!important;mask-image:none;filter:none}
.landmark-art img{display:block;width:100%;height:auto;max-height:76svh;object-fit:contain}
.landmark-art:after{content:'';position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 35px 10px #03070d}
.landmark-art figcaption{display:flex;justify-content:space-between;gap:16px;margin-top:20px;color:#77868f;font-size:10px;letter-spacing:.15em;border-top:1px solid #b5bbce25;padding-top:14px}
.landmark-energy{position:absolute;left:36%;top:39%;width:27%;aspect-ratio:1;background:radial-gradient(ellipse,#d1a6ff30,transparent 65%);mix-blend-mode:screen;pointer-events:none;animation:relic-breathe 6.5s ease-in-out infinite}
[data-landmark='temple'] .landmark-energy{left:30%;top:24%;width:32%;background:radial-gradient(ellipse,#8fccff33,transparent 65%)}
.landmark-caption{position:relative;inset:auto;text-align:left;pointer-events:auto;align-self:center;min-width:0;padding-bottom:10px}
.landmark-caption .eyebrow{justify-content:flex-start;color:#b6a9cb;font-size:11px;letter-spacing:.19em}
.landmark-caption h2{font-size:clamp(30px,3.1vw,58px);letter-spacing:.10em;line-height:1.5;margin:15px 0 22px}
.landmark-deck{font:400 17px/1.9 var(--serif);color:#bfaecc;margin:0 0 32px}
.landmark-tabs{display:flex;gap:27px;border-bottom:1px solid #a9a9b529}
.landmark-tabs button{padding:0 0 14px;background:none;color:#86919e;font:500 13px var(--sans);letter-spacing:.1em;border-bottom:1px solid transparent}
.landmark-tabs button[aria-selected=true]{color:#eedbbc;border-color:#c8a96b}
.landmark-copy{font-size:15px;line-height:2;color:#b3bdc7;min-height:240px;max-height:39svh;overflow:auto;scrollbar-width:thin;scrollbar-color:#605466 transparent;padding-right:12px}
.landmark-copy p{margin:23px 0 0}.landmark-copy dl{margin:24px 0 0}.landmark-copy dl>div{margin-bottom:17px}
.landmark-copy dt{color:#dfd4c0;font:500 15px var(--serif);letter-spacing:.08em;margin-bottom:5px}.landmark-copy dd{margin:0;font-size:14px;line-height:1.85}
.landmark-copy details{margin-top:22px}.landmark-copy summary{color:#d4c1a3;cursor:pointer;font-size:13px}
.landmark-actions{display:flex;justify-content:space-between;gap:20px;margin-top:30px;flex-wrap:wrap}
.landmark-actions .text-link{font-size:12px;background:none;text-align:left;letter-spacing:.06em}
@keyframes relic-breathe{0%,100%{opacity:.24;transform:scale(.94)}50%{opacity:.9;transform:scale(1.08)}}
.motion-paused .landmark-energy{animation-play-state:paused}
/* Reversible II -> III iris and parallax share a continuous scroll clock. */
.horizon-scene{z-index:-1;opacity:var(--horizon-scene,0);background:linear-gradient(90deg,#04080c22,#04080ce8 76%),url('assets/galaxy-background.webp') center/cover}
.horizon-world{opacity:var(--horizon-world,0);transform:translateX(var(--horizon-x,0vw)) scale(var(--horizon-scale,1));transform-origin:50% 50%;will-change:transform,opacity}
.horizon-passage{position:absolute;inset:0;opacity:var(--passage,0);pointer-events:none;z-index:3;overflow:hidden}
.passage-halo{position:absolute;left:50%;top:50%;width:var(--passage-width,0vw);height:145vh;transform:translate(-50%,-50%) rotate(-18deg);border-radius:50%;background:radial-gradient(ellipse,transparent 45%,#9a7fbf09 57%,#d3c3e51c 65%,#b8a2d627 66%,#9483c70e 70%,transparent 74%);box-shadow:inset 0 0 100px #b2a0d219}
.passage-seam{position:absolute;left:var(--passage-x,50%);top:-20%;height:140%;width:1px;transform:rotate(-18deg);background:linear-gradient(transparent,#a392be55,#e1d5f3bb,#a392be55,transparent);box-shadow:0 0 18px 3px #af8dd331}
.horizon-passage p{position:absolute;top:48%;left:0;right:0;text-align:center;color:#bfaacb;font-size:10px;letter-spacing:.44em;opacity:var(--passage-text,0);text-shadow:0 2px 12px #000}
.horizon-passage p span{display:block;margin-top:15px;font:400 21px var(--serif);letter-spacing:.30em;color:#e0d6df}
@media(max-width:760px){
 .landmark-coordinate{top:34px;font-size:9px;right:6%}.landmark-coordinate span{display:none}
 .landmark-layout{display:flex;flex-direction:column;gap:28px;padding:110px 6% 42px}
 .landmark-art{width:min(100%,580px)}.landmark-art img{max-height:48svh}.landmark-art figcaption{font-size:9px;margin-top:9px;padding-top:10px}
 .landmark-caption{width:100%;padding:0}.landmark-caption h2{font-size:32px;margin:10px 0 14px}.landmark-caption .eyebrow{font-size:10px}
 .landmark-deck{font-size:15px;margin-bottom:22px}.landmark-tabs{gap:26px}.landmark-copy{max-height:none;min-height:0;overflow:visible;font-size:14px;padding:0}.landmark-actions{margin-top:25px}
 .horizon-passage p{top:44%}.horizon-passage p span{font-size:18px}
}
@media(prefers-reduced-motion:reduce){.landmark-energy{animation:none}.horizon-passage{display:none}}
.motion-paused .horizon-passage{display:none}
/* An orbital callout is an unobtrusive locator, not a floating black card. */
.model-feature{background:linear-gradient(90deg,#03080eaa,transparent);border:0;border-left:1px solid #b9a77e66;border-radius:0;padding:9px 15px;text-align:left;min-width:170px;color:#eee0c6;box-shadow:none;transform:none;max-width:225px}
.model-feature:before{content:'';position:absolute;left:-38px;top:50%;width:37px;height:1px;background:linear-gradient(90deg,#cfb487cc,#cfb48755)}
.model-feature:after{content:'';position:absolute;left:-42px;top:calc(50% - 2px);width:4px;height:4px;border:1px solid #ddc6a1;border-radius:50%;box-shadow:0 0 7px #d6b37255}
.model-feature small{display:block;font:500 8px/1.5 var(--sans);letter-spacing:.18em;color:#a18f74;margin-bottom:5px}
.model-feature strong{font:500 17px/1.45 var(--serif);letter-spacing:.10em;white-space:nowrap}
.model-feature span{display:flex;align-items:center;justify-content:space-between;font-size:10px;letter-spacing:.08em;margin-top:7px;color:#97a7b4}
.model-feature i{font:normal 17px var(--sans);color:#d6bd93}.model-feature:hover{border-left-color:#edca86;background:linear-gradient(90deg,#17212adc,transparent)}
.model-feature:before,.model-feature:after{display:none}
.model-leader{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:4}
.model-leader polyline{fill:none;stroke:#cbb589;stroke-width:.12;opacity:.65}.model-leader circle{fill:#e3c99d}
.focus-bottom{z-index:6}.focus-coordinate{z-index:3;pointer-events:none}.focus-rotate-hint{pointer-events:none}
.satellite-dialog{width:min(1100px,94vw);max-width:94vw;max-height:90svh;padding:0;background:#080d13;border:1px solid #69738550;color:#c5cdd4;overflow:auto;scrollbar-width:thin;scrollbar-color:#655b4c #080d13}
.satellite-dialog .dialog-header{position:sticky;top:0;z-index:2;background:#080d13ed;backdrop-filter:blur(12px);padding:12px 24px;font-size:11px;letter-spacing:.17em}
.facility-photo{margin:0;position:relative}.facility-photo img{display:block;width:100%;height:auto;max-height:53svh;object-fit:contain;background:#03060a}
.facility-photo figcaption{display:flex;justify-content:space-between;gap:20px;padding:17px 5%;font-size:10px;letter-spacing:.15em;border-bottom:1px solid #b49b6940;color:#c4ad85}.facility-photo figcaption span{color:#8d99a7;letter-spacing:.08em}
.satellite-copy{padding:32px 6% 45px}.satellite-copy h2{font:500 clamp(30px,3vw,44px) var(--serif);letter-spacing:.1em;margin:9px 0 14px}.satellite-copy .eyebrow{font-size:10px;letter-spacing:.19em;color:#a98b5d}.satellite-copy p{font-size:15px;line-height:2}.satellite-copy h3{font:500 19px var(--serif);color:#dfc9a6;margin:30px 0 10px}
.facility-records{display:grid;grid-template-columns:1fr 1fr;gap:6%;border-block:1px solid #b5a17e26;margin:28px 0;padding-bottom:15px}.facility-term{display:block;font-size:10px;letter-spacing:.12em;color:#967d60}
@media(max-width:700px){.model-feature{min-width:135px;padding:6px 10px;max-width:180px}.model-feature strong{font-size:14px}.model-feature small{font-size:7px}.model-feature span{font-size:9px;margin-top:4px}.model-feature:before{width:20px;left:-21px}.model-feature:after{left:-25px}.facility-photo img{max-height:none}.facility-photo figcaption{font-size:9px;display:block;line-height:1.8}.facility-photo figcaption span{display:block}.facility-records{grid-template-columns:1fr;gap:0}.satellite-copy p{font-size:14px}.satellite-copy{padding:25px 7% 35px}}
.world-dialog[data-presentation='artwork'] .focus-orb{cursor:default;touch-action:pan-y;filter:drop-shadow(0 0 34px #a77d3824)}
.world-dialog[data-presentation='artwork'] .focus-rotate-hint{z-index:3;text-shadow:0 2px 8px #000}
.world-dialog[data-presentation='artwork'] .planet-portrait{transform:translate(var(--art-x,0px),var(--art-y,0px));transition:transform 1.8s cubic-bezier(.2,.65,.3,1)}
.world-dialog[data-presentation='artwork'][open] .planet-portrait>img{animation:hivekin-camera-drift 28s ease-in-out infinite alternate;transform-origin:52% 52%;will-change:transform}
.world-dialog[data-presentation='artwork'] .focus-space{inset:-15px;transform:translate(calc(var(--art-x,0px)*-.35),calc(var(--art-y,0px)*-.35));transition:transform 2.3s ease-out}
@keyframes hivekin-camera-drift{from{transform:scale(1) translate(0,0)}to{transform:scale(1.035) translate(-.6%,-.35%)}}
.motion-paused .world-dialog[data-presentation='artwork'] .planet-portrait>img{animation-play-state:paused}
.motion-paused .world-dialog[data-presentation='artwork'] .planet-portrait,.motion-paused .world-dialog[data-presentation='artwork'] .focus-space{transition:none}
@media(prefers-reduced-motion:reduce){.world-dialog[data-presentation='artwork'] .planet-portrait>img{animation:none!important}.world-dialog[data-presentation='artwork'] .planet-portrait,.world-dialog[data-presentation='artwork'] .focus-space{transform:none;transition:none}}
