/* Nexora spatial hero — visual layer only. */
.nx-3d-hero{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.nx-3d-hero canvas{display:block;width:100%;height:100%;opacity:1}
.nx-spatial-label{position:absolute;right:22px;bottom:20px;display:flex;align-items:center;gap:9px;font:600 8px/1 'DM Mono',monospace;letter-spacing:.18em;color:rgba(255,255,255,.55);text-transform:uppercase}
.nx-spatial-label i{display:block;width:28px;height:1px;background:rgba(94,242,227,.55)}
.hero-art:after{z-index:3}
.hero-art .hero-card{z-index:4}
.hero-art .abstract-person,.hero-art .abstract-table{z-index:1}
@media(max-width:800px){.nx-spatial-label{right:14px;bottom:14px;font-size:7px}.nx-3d-hero canvas{opacity:.9}}
@media(prefers-reduced-motion:reduce){.nx-3d-hero canvas{display:block;opacity:.75}}

/* NEXORA SPATIAL INTERFACE — unmistakable visual layer */
.nx-hero-interface{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden;border-radius:26px;font-family:'DM Mono',monospace}
.nx-hud-top{position:absolute;left:24px;right:24px;top:20px;display:flex;align-items:center;gap:14px;color:rgba(225,245,242,.62);font-size:8px;letter-spacing:.18em}
.nx-hud-top b{margin-left:auto;width:7px;height:7px;border-radius:50%;background:#5ef2e3;box-shadow:0 0 18px #5ef2e3;animation:nx-pulse 1.8s ease-in-out infinite}
.nx-hud-corner{position:absolute;color:rgba(255,255,255,.52);font-size:8px;line-height:1.5;letter-spacing:.16em}
.nx-hud-corner small{color:rgba(94,242,227,.5);font-size:6px}
.nx-hud-tl{left:24px;bottom:28px}.nx-hud-br{right:24px;top:72px;text-align:right}
.nx-core-fallback{position:absolute;left:69%;top:51%;width:210px;height:210px;transform:translate(-50%,-50%);display:grid;place-items:center}
.nx-core-fallback strong{font-family:'DM Sans',sans-serif;font-size:62px;font-weight:700;color:rgba(245,255,253,.94);text-shadow:0 0 35px rgba(94,242,227,.5);z-index:4}
.nx-core-fallback i{position:absolute;top:54%;font-style:normal;font-size:7px;letter-spacing:.28em;color:rgba(94,242,227,.65);z-index:4}
.nx-core-ring{position:absolute;inset:18%;border:1px solid rgba(94,242,227,.26);border-radius:30%;transform:rotate(30deg);box-shadow:inset 0 0 35px rgba(94,242,227,.06),0 0 35px rgba(94,242,227,.06)}
.nx-core-ring.r-b{inset:8%;border-color:rgba(139,124,255,.25);border-radius:50%;transform:rotate(-20deg) scaleX(1.6);animation:nx-orbit 9s linear infinite}
.nx-core-ring.r-c{inset:0;border-color:rgba(94,242,227,.12);border-radius:50%;transform:scaleY(.35);animation:nx-orbit 14s linear infinite reverse}
.nx-data-panel{position:absolute;right:24px;bottom:26px;display:flex;gap:7px}
.nx-data-panel div{min-width:48px;padding:8px 9px;border:1px solid rgba(255,255,255,.1);background:rgba(5,12,17,.52);backdrop-filter:blur(10px);border-radius:8px}
.nx-data-panel small{display:block;color:rgba(255,255,255,.36);font-size:6px;letter-spacing:.15em}
.nx-data-panel strong{display:block;margin-top:4px;color:rgba(255,255,255,.86);font:500 14px 'DM Mono',monospace}
.nx-scanline{position:absolute;left:0;right:0;top:-20%;height:80px;background:linear-gradient(to bottom,transparent,rgba(94,242,227,.07),transparent);animation:nx-scan 7s linear infinite}
.hero-art{perspective:1200px;transform-style:preserve-3d;overflow:hidden}
.hero-art:before{content:'';position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 69% 51%,rgba(94,242,227,.12),transparent 19%),linear-gradient(90deg,transparent 49.8%,rgba(94,242,227,.05) 50%,transparent 50.2%);pointer-events:none}
@keyframes nx-pulse{50%{opacity:.35;transform:scale(.65)}}
@keyframes nx-orbit{to{transform:rotate(340deg) scaleX(1.6)}}
@keyframes nx-scan{to{top:120%}}
@media(max-width:800px){
 .nx-core-fallback{left:69%;width:150px;height:150px}.nx-core-fallback strong{font-size:44px}
 .nx-hud-top{left:15px;right:15px}.nx-hud-corner{font-size:6px}.nx-hud-corner small{font-size:5px}
 .nx-hud-tl{left:15px;bottom:18px}.nx-hud-br{right:15px;top:58px}.nx-data-panel{right:15px;bottom:16px}
}
@media(prefers-reduced-motion:reduce){.nx-core-ring.r-b,.nx-core-ring.r-c,.nx-scanline,.nx-hud-top b{animation:none}}

/* NEXORA UNIVERSE — replaces the legacy decorative layer */
.hero-art>.orb,.hero-art>.grid-lines,.hero-art>.hero-card,.hero-art>.abstract-person,.hero-art>.abstract-table{display:none!important}
.nx-hero-interface{z-index:8!important}
.nx-global-particles{position:fixed!important;inset:0!important;width:100%!important;height:100%!important;z-index:2!important;pointer-events:none!important;opacity:.42!important}
.nx-float-word{position:fixed!important;z-index:4!important;pointer-events:none!important;font:500 10px/1 'DM Mono',monospace!important;letter-spacing:.24em!important;color:rgba(255,255,255,.11)!important;text-transform:uppercase!important;white-space:nowrap!important;mix-blend-mode:screen!important;text-shadow:0 0 18px rgba(94,242,227,.12)!important}
.nx-float-word.nx-cyan{color:rgba(94,242,227,.16)!important}.nx-float-word.nx-violet{color:rgba(139,124,255,.15)!important}
.nx-word-float{display:inline-block;transform:translateY(22px);opacity:0;filter:blur(3px);transition:transform .8s cubic-bezier(.16,1,.3,1),opacity .8s ease,filter .8s ease}
.nx-word-show .nx-word-float{transform:none;opacity:1;filter:none}
@media(max-width:800px){.nx-float-word{font-size:8px!important;letter-spacing:.18em!important}.nx-global-particles{opacity:.25!important}}
@media(prefers-reduced-motion:reduce){.nx-float-word{position:absolute!important}.nx-word-float{transform:none;opacity:1;filter:none;transition:none}.nx-global-particles{opacity:.12!important}}


/* NEXORA UNIVERSE v2 — atmosphere stays behind the readable interface */
.nx-global-particles{z-index:0!important;opacity:.18!important}
.nx-float-word{z-index:0!important;opacity:.055!important;color:rgba(255,255,255,.055)!important;mix-blend-mode:normal!important;text-shadow:none!important;filter:blur(.2px)}
.nx-float-word.nx-cyan{color:rgba(94,242,227,.075)!important}
.nx-float-word.nx-violet{color:rgba(139,124,255,.065)!important}
main,.hero,section,footer,.site-header{position:relative;z-index:1}
.hero-art{z-index:2}
.hero-copy{position:relative;z-index:10}
.hero-art:before{background:
 radial-gradient(circle at 70% 50%,rgba(94,242,227,.13),transparent 17%),
 radial-gradient(circle at 82% 22%,rgba(139,124,255,.10),transparent 22%),
 linear-gradient(90deg,transparent 49.8%,rgba(94,242,227,.035) 50%,transparent 50.2%)}
.nx-hero-interface{background:
 radial-gradient(circle at 72% 48%,rgba(94,242,227,.075),transparent 22%),
 radial-gradient(circle at 30% 80%,rgba(139,124,255,.055),transparent 28%)}

/* subtle section "signal" objects — decorative, never competing with copy */
.nx-overdrive,.nx-command,.nx-cinema,.why,.public-gallery,.contact{isolation:isolate}
.nx-overdrive:before,.nx-command:before,.nx-cinema:before,.why:before,.public-gallery:before,.contact:before{
 content:'';position:absolute;right:4%;top:8%;width:120px;height:120px;border:1px solid rgba(94,242,227,.055);
 border-radius:50%;box-shadow:0 0 60px rgba(94,242,227,.035),inset 0 0 35px rgba(139,124,255,.025);
 pointer-events:none;z-index:-1;animation:nx-section-orbit 16s linear infinite
}
.nx-overdrive:after,.nx-command:after,.nx-cinema:after,.why:after,.public-gallery:after,.contact:after{
 content:'';position:absolute;left:5%;bottom:9%;width:5px;height:5px;border-radius:50%;
 background:rgba(94,242,227,.5);box-shadow:0 0 18px rgba(94,242,227,.45);
 pointer-events:none;z-index:-1;animation:nx-signal-drift 6s ease-in-out infinite
}
.nx-overdrive-card,.programme-card,.destination-card,.pathway li{
 position:relative;overflow:hidden
}
.nx-overdrive-card:after,.programme-card:after,.destination-card:after,.pathway li:after{
 content:'';position:absolute;left:-30%;top:0;width:30%;height:1px;
 background:linear-gradient(90deg,transparent,rgba(94,242,227,.55),transparent);
 animation:nx-card-scan 5s ease-in-out infinite;pointer-events:none
}
@keyframes nx-section-orbit{to{transform:rotate(360deg) scale(1.08)}}
@keyframes nx-signal-drift{50%{transform:translate(34px,-18px);opacity:.2}100%{transform:translate(0,0);opacity:.6}}
@keyframes nx-card-scan{0%,55%{left:-30%;opacity:0}65%{opacity:1}82%{left:110%;opacity:0}100%{left:110%;opacity:0}}
@media(max-width:800px){
 .nx-global-particles{opacity:.10!important}
 .nx-float-word{opacity:.035!important}
 .nx-overdrive:before,.nx-command:before,.nx-cinema:before,.why:before,.public-gallery:before,.contact:before{width:70px;height:70px;right:2%}
}
@media(prefers-reduced-motion:reduce){
 .nx-overdrive:before,.nx-command:before,.nx-cinema:before,.why:before,.public-gallery:before,.contact:before,.nx-overdrive-card:after,.programme-card:after,.destination-card:after,.pathway li:after{animation:none}
}


/* ORBITAL FIELD */
.nx-orbital-field{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate}
.nx-star-canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.72}
.nx-wire-orb{position:absolute;left:8%;top:34%;width:150px;height:150px;border:1px solid rgba(94,242,227,.10);border-radius:50%;transform:translate3d(calc(var(--mx,0)*-18px),calc(var(--my,0)*-18px),0) rotateX(64deg);box-shadow:0 0 55px rgba(94,242,227,.04);animation:nx-wire-spin 18s linear infinite}
.nx-wire-orb:before,.nx-wire-orb:after{content:'';position:absolute;inset:13%;border:1px solid rgba(139,124,255,.10);border-radius:50%;transform:rotate(58deg) scaleX(.48)}
.nx-wire-orb:after{transform:rotate(-58deg) scaleX(.48)}
.nx-wire-orb i,.nx-wire-orb b,.nx-wire-orb em{position:absolute;inset:20%;border:1px solid rgba(94,242,227,.09);border-radius:50%;transform:rotate(90deg) scaleY(.42)}
.nx-wire-orb b{transform:rotate(30deg) scaleY(.42);border-color:rgba(139,124,255,.08)}
.nx-wire-orb em{transform:rotate(-30deg) scaleY(.42)}
.nx-wire-orb span{position:absolute;inset:0;display:grid;place-items:center;font:700 32px 'DM Sans',sans-serif;color:rgba(255,255,255,.15);text-shadow:0 0 28px rgba(94,242,227,.18)}
.nx-radar{position:absolute;right:7%;top:58%;width:115px;height:115px;border:1px solid rgba(94,242,227,.08);border-radius:50%;background:repeating-radial-gradient(circle,transparent 0 20px,rgba(94,242,227,.035) 21px 22px);transform:translate3d(calc(var(--mx,0)*14px),calc(var(--my,0)*14px),0)}
.nx-radar:before{content:'';position:absolute;left:50%;top:50%;width:50%;height:1px;transform-origin:left;animation:nx-radar-sweep 3.5s linear infinite;background:linear-gradient(90deg,rgba(94,242,227,.45),transparent)}
.nx-radar i,.nx-radar b,.nx-radar em{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(94,242,227,.55);box-shadow:0 0 12px rgba(94,242,227,.5)}
.nx-radar i{left:31%;top:38%}.nx-radar b{left:67%;top:62%}.nx-radar em{left:53%;top:23%}
.nx-route-beam{position:absolute;left:16%;top:74%;width:68%;height:1px;background:linear-gradient(90deg,transparent,rgba(94,242,227,.12),rgba(139,124,255,.12),transparent);transform:rotate(-5deg);animation:nx-beam 6s ease-in-out infinite}
.nx-orbit-dot{position:absolute;width:5px;height:5px;border-radius:50%;background:rgba(94,242,227,.55);box-shadow:0 0 18px rgba(94,242,227,.5)}
.od1{left:28%;top:20%;animation:nx-drift1 11s ease-in-out infinite}.od2{right:23%;top:31%;animation:nx-drift2 14s ease-in-out infinite}
@keyframes nx-wire-spin{to{rotate:360deg}}
@keyframes nx-radar-sweep{to{transform:rotate(360deg)}}
@keyframes nx-beam{50%{opacity:.25;transform:translateX(5%) rotate(-5deg)}}
@keyframes nx-drift1{50%{transform:translate(80px,35px);opacity:.2}}
@keyframes nx-drift2{50%{transform:translate(-55px,65px);opacity:.18}}
@media(max-width:800px){.nx-wire-orb{width:90px;height:90px;left:4%;top:28%}.nx-radar{width:75px;height:75px;right:4%;top:62%}.nx-route-beam{opacity:.5}}
@media(prefers-reduced-motion:reduce){.nx-wire-orb,.nx-radar:before,.od1,.od2,.nx-route-beam{animation:none}}


/* BACKGROUND VISIBILITY FIX — atmosphere must be visible without sitting over copy */
.nx-orbital-field{z-index:0!important;opacity:1!important}
.nx-star-canvas{opacity:.9!important}
.nx-global-particles{z-index:0!important;opacity:.32!important}
.nx-float-word{z-index:0!important;opacity:.075!important}
main,.hero,section,footer,.site-header{position:relative;z-index:1}
.hero-art{z-index:2}
.nx-hero-interface{z-index:8!important}
.hero-copy,.section-intro,.nx-command-copy,.nx-cinema-copy,.contact,.why{position:relative;z-index:10}
.hero-art:after{z-index:9}


/* TRUE DEPTH — section surfaces become translucent so the starfield can breathe through */
.nx-orbital-field{z-index:0!important;display:block!important}
.nx-star-canvas{opacity:1!important}
.nx-overdrive,.nx-cinema,.nx-command{background-color:rgba(5,9,13,.78)!important}
.why{background:rgba(7,13,18,.78)!important}
.public-gallery,.contact,.programmes,.destinations,.pathways{background-color:transparent!important}
.nx-command:after{background:radial-gradient(circle at 50% 50%,transparent 0,rgba(2,5,7,.12) 35%,rgba(2,5,7,.72) 78%)}
.nx-cinema-bg{opacity:.72}
.nx-overdrive{background-image:radial-gradient(circle at 12% 30%,rgba(94,242,227,.035),transparent 20%),radial-gradient(circle at 88% 70%,rgba(139,124,255,.035),transparent 22%)}
section,.nx-command,.nx-overdrive,.nx-cinema,.why{isolation:isolate}
.hero-copy,.section-intro,.programme-list,.destination-grid,.pathway,.why-copy,.contact-form,.nx-command-copy,.nx-cinema-copy,.nx-overdrive-grid{position:relative;z-index:5}


/* FINAL FIELD STACK — visible above surfaces, below all content */
.nx-orbital-field{z-index:2!important;position:fixed!important;inset:0!important;display:block!important;pointer-events:none!important}
.nx-star-canvas{z-index:1!important;position:absolute!important;inset:0!important;opacity:.8!important}
.nx-wire-orb,.nx-radar,.nx-route-beam,.nx-orbit-dot{z-index:3!important}
main,.site-header,footer{position:relative;z-index:4}
.hero-copy,.section-intro,.programme-list,.destination-grid,.pathway,.why-copy,.contact-form,.nx-command-copy,.nx-cinema-copy,.nx-overdrive-grid{z-index:10!important}
.nx-hero-interface{z-index:20!important}
.hero-art:after{z-index:21!important}
.nx-float-word{z-index:3!important;opacity:.065!important}
.nx-global-particles{z-index:2!important;opacity:.22!important}
/* Keep surfaces transparent enough for the field to be seen */
.nx-overdrive,.nx-cinema,.nx-command,.why{background-color:rgba(5,9,13,.48)!important}
.nx-command:after{background:radial-gradient(circle at 50% 50%,transparent 0,rgba(2,5,7,.08) 35%,rgba(2,5,7,.45) 78%)!important}
.nx-cinema-bg{opacity:.58!important}
