/* Architectural light and two clearly identified KED buildings. */
:root{--scene-bg:#e7eff5;--scene-ink:#172d47;--scene-muted:#526b81;--scene-accent:#0667be;--scene-panel:#f8fcffe8;--scene-line:#b9ccdba3;--scene-selected:#e6f2fc;--scene-header:#eaf1f7a6}
:root[data-campus-light=dawn]{--scene-bg:#d9e4ed;--scene-ink:#263849;--scene-muted:#586d80;--scene-accent:#176398;--scene-panel:#f8f5f0e8;--scene-line:#b4c4ceaa;--scene-selected:#e3edf4;--scene-header:#e4e9eead}
:root[data-campus-light=dusk]{--scene-bg:#344a64;--scene-ink:#f1f3f6;--scene-muted:#ccdae7;--scene-accent:#a6d6ff;--scene-panel:#293e55ed;--scene-line:#8aa6c057;--scene-selected:#3a5773;--scene-header:#30465fa6}
:root[data-campus-light=night]{--scene-bg:#0b1a2d;--scene-ink:#edf3fa;--scene-muted:#b3c7dc;--scene-accent:#96ccff;--scene-panel:#10283feb;--scene-line:#7b9cb656;--scene-selected:#244661;--scene-header:#102238c2}
.campus-hero{height:max(930px,100svh);max-height:1120px;background:var(--scene-bg);color:var(--scene-ink);transition:background-color 1.8s,color 1.8s}
.site-nav{background:var(--scene-header);color:var(--scene-ink);border-color:var(--scene-line);transition:background-color 1.8s,color 1.8s,border-color 1.8s}
.site-nav .desktop-nav,.site-nav .nav-tools{color:var(--scene-ink)}
.site-nav .wordmark span,.site-nav .desktop-nav .current{color:var(--scene-accent)}.site-nav .desktop-nav .current:after{background:var(--scene-accent)}
.campus-hero button:focus-visible,.site-nav :is(a,button):focus-visible{outline-color:var(--scene-accent)}
.site-nav .mobile-nav{background:var(--scene-panel);color:var(--scene-ink)}.site-nav .mobile-nav a{border-color:var(--scene-line)}
:root:is([data-campus-light=dusk],[data-campus-light=night]) .site-nav .official-logo{background:#f5f8fb;padding:5px 7px;box-sizing:content-box}
:root:is([data-campus-light=dusk],[data-campus-light=night]) .site-nav .menu-toggle span{background:var(--scene-ink)}
.scene-frame{inset:0 0 88px;background:var(--scene-bg);transition:background-color 1.8s}
.hero-wash{bottom:88px;background:var(--scene-bg);mask-image:linear-gradient(90deg,#000 0%,#000e 16%,#0004 32%,transparent 48%);-webkit-mask-image:linear-gradient(90deg,#000 0%,#000e 16%,#0004 32%,transparent 48%);transition:background-color 1.8s}
.hero-heading{top:144px}.hero-heading h1{font-size:clamp(44px,4.1vw,64px)}.hero-heading h1 em{color:var(--scene-accent);transition:color 1.8s}.hero-heading .eyebrow{font-size:12px;margin-bottom:20px;color:var(--scene-muted)}.hero-sub{font-size:16px;margin:20px 0;color:var(--scene-muted)}.hero-heading .text-link{font-size:14px}
.light-panel{position:absolute;left:4.4vw;bottom:130px;z-index:4;width:316px;padding:14px 18px 17px;background:var(--scene-panel);border:1px solid var(--scene-line);box-shadow:0 12px 45px #142c4308;backdrop-filter:blur(16px);transition:background-color 1.8s,border-color 1.8s,color 1.8s}
.light-panel[hidden]{display:none}.light-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;margin-bottom:9px}.light-panel-heading>span{font-size:12px;letter-spacing:1.6px;font-weight:500}.light-auto{min-width:54px;min-height:44px;font-size:12px;color:var(--scene-muted);position:relative}.light-auto:before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:7px;vertical-align:2px;opacity:.45}.light-auto.active{color:var(--scene-accent)}.light-auto.active:before{opacity:1}
.light-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.light-presets button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:67px;padding:11px 3px;border:1px solid transparent;color:var(--scene-muted);font-size:12px;transition:background-color .35s,border-color .35s,color .35s}.light-presets button:hover{border-color:var(--scene-line)}.light-presets button.active{background:var(--scene-selected);border-color:var(--scene-line);color:var(--scene-ink)}
.light-dot{display:block;width:15px;height:15px;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff40}.dawn-dot{background:linear-gradient(145deg,#edcba7 25%,#a1bfda)}.day-dot{background:linear-gradient(145deg,#f5dfa9,#9acbec)}.dusk-dot{background:linear-gradient(145deg,#dfac8f,#637995 70%)}.night-dot{background:linear-gradient(145deg,#9cbede 8%,#233f62 55%,#152b49)}
#light-status{font-size:11px;color:var(--scene-muted);letter-spacing:.3px;margin-top:14px;padding-top:12px;border-top:1px solid var(--scene-line);font-variant-numeric:tabular-nums;line-height:1.6}
.building-navigation{height:88px;grid-template-columns:1fr 1fr;overflow:visible;background:var(--scene-panel);border-color:var(--scene-line);transition:background-color 1.8s,border-color 1.8s}.building-tab{display:flex;align-items:center;text-align:left;gap:24px;padding:14px 4.4vw;border-right:1px solid var(--scene-line);border-bottom:3px solid transparent;transition:background-color .3s,color .3s}.building-tab:last-child{border-right:0}.building-tab.active,.building-tab:hover{background:var(--scene-selected);color:var(--scene-accent)}.building-tab.active{border-bottom-color:var(--scene-accent)}.building-index{font-size:30px;font-weight:400;white-space:nowrap;color:var(--scene-muted);font-variant-numeric:tabular-nums}.building-tab.active .building-index{color:var(--scene-accent)}.building-tab>span:nth-child(2){display:flex;flex-direction:column;gap:7px;min-width:0}.building-tab small{font-size:12px;letter-spacing:1px;color:var(--scene-muted)}.building-index small{font-size:12px;margin-left:7px;letter-spacing:0}.building-tab b{font-size:17px;font-weight:500;line-height:1.25;overflow-wrap:break-word}.building-arrow{margin-left:auto;font-size:23px}
.scene-utilities{bottom:130px;gap:8px}.scene-utilities button{font-size:13px;min-height:44px;background:var(--scene-panel);border-color:var(--scene-line);color:var(--scene-ink);transition:background-color .35s,color .35s,border-color .35s}.scene-utilities button:hover,.scene-utilities button[aria-pressed=true]{color:var(--scene-accent);background:var(--scene-selected)}.view-buttons{display:flex;gap:0}.view-buttons button+button{border-left:0}.view-buttons button[aria-pressed=true]{box-shadow:inset 0 -2px var(--scene-accent)}
.scene-note{font-size:12px;max-width:none}.scene-caption{font-size:12px;letter-spacing:1px;color:var(--scene-muted)}.building-hotspot .hotspot-label{font-size:13px;letter-spacing:0;padding:10px 13px;background:var(--scene-panel);border-color:var(--scene-line);color:var(--scene-ink);box-shadow:0 4px 20px #10253814;border-radius:0}.building-hotspot{gap:9px}.building-hotspot .hotspot-pin{width:17px;height:17px}.building-hotspot.active .hotspot-label,.building-hotspot:hover .hotspot-label{background:#0874bf;border-color:#0874bf;color:#fff}.hotspot.active .hotspot-pin{box-shadow:0 0 0 5px #51adf42c}.campus-hero[data-view=dispatch] .building-hotspot{display:none}
.equipment-series{display:flex;flex-wrap:wrap;gap:10px 28px;margin:-18px 0 34px}.equipment-series a{font-size:14px;color:#546e82;border-bottom:1px solid #cfdee8;padding:9px 0}.equipment-series a:hover{color:#0667be;border-color:#0667be}#scene-status{bottom:191px;font-size:14px;color:var(--scene-muted)}
@media(min-width:901px) and (max-height:850px){.hero-heading{top:131px}.hero-heading h1{font-size:49px}.hero-heading .eyebrow{margin-bottom:16px}.hero-sub{font-size:15px;margin:15px 0}}
@media(min-width:1600px){.hero-heading{top:165px}.light-panel,.scene-utilities{bottom:140px}}
@media(min-width:901px) and (max-width:1180px){.light-panel{left:30px;width:290px}.hero-heading{left:30px}.hero-heading h1{font-size:46px}.scene-utilities{right:24px;gap:6px}.scene-utilities button{font-size:12px;padding:0 10px}.building-tab b{font-size:16px}}
@media(max-width:900px){
.campus-hero{height:auto;max-height:none;min-height:0;display:flex;flex-direction:column;padding-top:108px;overflow:hidden}.hero-heading{position:relative;top:auto;left:auto;padding:0 30px;pointer-events:auto;z-index:3;order:0}.hero-heading h1{font-size:43px;line-height:1.26}.hero-heading .eyebrow{font-size:12px;margin-bottom:15px}.hero-sub{font-size:16px;margin:16px 0 8px}.hero-heading .text-link{font-size:14px}.hero-wash{display:none}.scene-caption{top:110px;right:30px;font-size:11px;max-width:150px;line-height:1.7}.scene-frame{position:relative;inset:auto;height:440px;flex:none;margin-top:8px;order:1}.scene-fallback{position:absolute;inset:0}
.scene-utilities{position:relative;inset:auto;order:2;justify-content:center;flex-wrap:wrap;margin:-9px 24px 23px;gap:8px;z-index:4}.scene-utilities button{font-size:13px;min-height:44px}.scene-note{display:none}.light-panel{position:relative;inset:auto;order:3;width:auto;margin:0 30px 22px;padding:11px 20px 16px;z-index:3}.light-panel-heading{margin-bottom:3px}.light-presets button{flex-direction:row;min-height:48px;gap:9px;font-size:13px}.light-presets{gap:8px}#light-status{margin-top:12px;padding-top:10px}
.building-navigation{position:relative;inset:auto;order:4;flex:none;height:auto;min-height:91px;grid-template-columns:1fr 1fr;overflow:visible}.building-tab{padding:17px 26px;gap:18px}.building-tab b{font-size:16px}.building-arrow{display:none}.building-index{font-size:28px}.building-hotspot:not(.active) .hotspot-label{display:block}.building-hotspot .hotspot-label{font-size:12px;padding:9px 10px}.building-hotspot{padding:10px 4px;gap:6px}.building-hotspot .hotspot-pin{width:15px;height:15px;border-width:3px}#scene-status{position:relative;inset:auto;order:2;padding:0 30px;font-size:14px;max-width:none}#scene-status:empty{display:none}
}
@media(max-width:600px){
.campus-hero{padding-top:107px}.hero-heading{padding:0 24px}.hero-heading h1{font-size:41px}.hero-heading .eyebrow{font-size:11px;letter-spacing:1.4px}.hero-sub{font-size:15px;line-height:1.8}.scene-caption{top:109px;right:24px;max-width:112px;font-size:10px;letter-spacing:.4px}.scene-frame{height:380px;margin-top:2px}.light-panel{margin:0 20px 20px;padding:10px 15px 15px}.light-presets{gap:4px}.light-presets button{gap:6px;font-size:12px}.light-dot{width:13px;height:13px}
.scene-utilities{margin:-5px 20px 18px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.view-buttons{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.scene-utilities button{font-size:13px;padding:0 12px}.building-tab{padding:16px 17px;gap:13px;align-items:center}.building-index{font-size:26px;line-height:1.5}.building-index small{font-size:11px;margin-left:4px}.building-tab b{font-size:14px;line-height:1.5}.building-tab small{font-size:11px}.building-hotspot .hotspot-label{font-size:11px;padding:8px}.building-hotspot .hotspot-pin{width:14px;height:14px}.building-hotspot{gap:4px}.equipment-series{gap:9px 20px;margin:0 0 26px}.equipment-series a{font-size:14px}
}
@media(max-width:360px){.scene-caption{display:none}.building-tab{gap:9px;padding:15px 13px}.building-hotspot .hotspot-label{font-size:10px;padding:7px 6px}.light-presets button{font-size:11px}}

/* Shipment status is secondary to the physical animation. */
.dispatch-caption{position:absolute;right:4.4vw;bottom:192px;z-index:3;display:flex;align-items:center;gap:15px;color:var(--scene-muted);font-size:12px;line-height:1.6}.dispatch-caption>span:first-child{letter-spacing:1px}.dispatch-caption>span+span{border-left:1px solid var(--scene-line);padding-left:15px;color:var(--scene-ink);font-size:14px}
@media(max-width:900px){.dispatch-caption{position:relative;inset:auto;order:2;justify-content:center;margin:-3px 20px 18px}.scene-utilities{margin-top:0}}
@media(max-width:600px){.dispatch-caption{font-size:11px;gap:12px}.dispatch-caption>span+span{font-size:13px;padding-left:12px}}

/* Numbered anchors remain legible when the wider park is shown on small screens. */
.building-hotspot .hotspot-pin{display:grid;place-items:center;width:24px;height:24px;box-sizing:content-box;border-width:3px;font:600 11px/1 Arial,sans-serif;color:#fff;flex:none}
@media(max-width:900px){.campus-hero[data-view=panorama] .building-hotspot .hotspot-label{display:none}.campus-hero[data-view=panorama] .building-hotspot{padding:7px;transform:translate(-50%,-50%)}.building-hotspot .hotspot-pin{width:20px;height:20px}}

@media(prefers-reduced-motion:reduce){.campus-hero,.campus-hero *,.site-nav,.site-nav *{transition:none!important}}
