/* FNX Reality Forge — cinematic GPU hero with progressive static fallback. */
.fnx-reality{--forge-blue:#004bff;contain:layout paint;isolation:isolate}.fnx-reality .hero__inner{position:static}.fnx-reality__stage{position:absolute;z-index:0;inset:88px 0 0 45%;margin:0;overflow:hidden;background:#02040a;pointer-events:none}.fnx-reality__stage:before{content:"";position:absolute;z-index:4;inset:0;background:linear-gradient(90deg,#08090b 0%,rgba(8,9,11,.96) 18%,rgba(8,9,11,.62) 46%,rgba(8,9,11,.1) 74%,transparent 100%),linear-gradient(0deg,#08090b 0%,transparent 28%);pointer-events:none}.fnx-reality__poster,.fnx-reality__canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:53% center}.fnx-reality__poster{z-index:1;opacity:1;transition:opacity 1s ease}.fnx-reality__poster.is-replaced{opacity:0}.fnx-reality__canvas{z-index:2;opacity:0;transition:opacity 1.1s ease;touch-action:pan-y}.fnx-reality__canvas.is-live{opacity:1}.fnx-reality__vignette{position:absolute;z-index:3;inset:0;background:radial-gradient(circle at 67% 48%,transparent 0 19%,rgba(0,18,65,.12) 37%,transparent 62%);mix-blend-mode:screen}.fnx-reality__caption{position:absolute;z-index:5;right:28px;bottom:26px;color:rgba(255,255,255,.72);font-size:.58rem;letter-spacing:.18em}.fnx-reality__caption:before{content:"";display:inline-block;width:5px;height:5px;margin-right:10px;border-radius:50%;background:var(--forge-blue);box-shadow:0 0 12px var(--forge-blue)}.fnx-reality .hero__copy{z-index:6}.fnx-reality:not(.fnx-reality-ready) .fnx-reality__canvas{visibility:hidden}.fnx-reality-ready .hero-grid{animation:fnxGridBend 1.5s cubic-bezier(.2,.8,.2,1) both}.fnx-reality-ready .fnx-hero__eyebrow{animation:fnxReveal .55s .65s both}.fnx-reality-ready .fnx-hero__title{animation:fnxReveal .75s .85s both}.fnx-reality-ready .fnx-hero__supporting-content{animation:fnxReveal .65s 1.25s both}.fnx-reality-ready .fnx-reality__caption{animation:fnxCaption .8s 1.6s both}@keyframes fnxReveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes fnxGridBend{from{opacity:0;transform:scaleX(.96)}to{opacity:1;transform:none}}@keyframes fnxCaption{from{opacity:0;letter-spacing:.3em}to{opacity:1;letter-spacing:.18em}}
.fnx-portal-open .fnx-reality__stage{filter:saturate(1.12)}.fnx-portal-open .fnx-reality__caption:before{background:#b8d8ff}.fnx-forging .fnx-reality__stage{transition:transform 1.45s cubic-bezier(.65,0,.2,1),filter .6s;transform:scale(1.09);filter:brightness(1.22)}.fnx-production-lock:after{content:"";position:absolute;z-index:20;inset:0;pointer-events:none;background:#004bff;animation:fnxWave .7s ease-out both}@keyframes fnxWave{0%{clip-path:inset(0 100% 0 0);opacity:0}25%{opacity:.35}100%{clip-path:inset(0 0 0 100%);opacity:0}}.fnx-exploded .fnx-reality__stage{transform:scaleY(1.06);transition:transform .8s cubic-bezier(.2,.8,.2,1)}.fnx-exploded .fnx-reality__stage:after{content:"STRATEGY   ·   SYSTEMS   ·   AUTOMATION   ·   INFRASTRUCTURE";position:absolute;z-index:7;left:20%;top:48%;color:#fff;font-size:.62rem;letter-spacing:.22em;animation:fnxLayerLabel .8s both}@keyframes fnxLayerLabel{0%,100%{opacity:0;transform:translateY(18px)}35%,70%{opacity:.8;transform:none}}
@media(max-width:1000px){.fnx-reality__stage{inset:70px -22vw 36% 10%;opacity:.86}.fnx-reality__stage:before{background:linear-gradient(90deg,#08090b 0%,rgba(8,9,11,.44) 34%,transparent 75%),linear-gradient(0deg,#08090b 0%,transparent 30%,#08090b 100%)}.fnx-reality__caption{display:none}.fnx-reality[data-fnx-quality="static"] .fnx-reality__canvas{display:none}.fnx-reality__poster{object-position:57% center}}
@media(max-width:640px){.fnx-reality__stage{inset:70px -46vw 42% 3%;opacity:.74}.fnx-reality__poster{object-position:59% center}.fnx-reality__canvas{display:none}.fnx-reality .hero__copy{padding-top:9svh}}
@media(prefers-reduced-motion:reduce){.fnx-reality__canvas{display:none!important}.fnx-reality__poster{opacity:1!important}.fnx-reality-ready .hero-grid,.fnx-reality-ready .fnx-hero__eyebrow,.fnx-reality-ready .fnx-hero__title,.fnx-reality-ready .fnx-hero__supporting-content,.fnx-reality-ready .fnx-reality__caption{animation:none!important}.fnx-forging .fnx-reality__stage,.fnx-exploded .fnx-reality__stage{transform:none!important;filter:none!important}}
@media(prefers-reduced-transparency:reduce){.fnx-reality__poster{opacity:1!important}.fnx-reality__canvas{opacity:.35!important}.fnx-reality__stage:before{background:linear-gradient(90deg,#08090b 0 28%,rgba(8,9,11,.82) 62%,#08090b)}}
/* Customer-first motion: content and navigation never wait for the cinematic layer. */
.fnx-reality-ready .fnx-hero__eyebrow,.fnx-reality-ready .fnx-hero__title,.fnx-reality-ready .fnx-hero__supporting-content{animation:none!important;opacity:1!important;transform:none!important}.fnx-navigation-accent .fnx-reality__stage{filter:brightness(1.08);transition:filter .2s}
.fnx-reality__poster.is-replaced{opacity:.3;filter:saturate(.72) brightness(.66)}.fnx-static-fallback .fnx-reality__poster,.fnx-static-fallback .fnx-reality__poster.is-replaced{opacity:1;filter:saturate(.92) brightness(.84)}.fnx-static-fallback .fnx-reality__canvas,.fnx-static-fallback .fnx-reality__interaction-cue,.fnx-static-fallback .fnx-reality__layer-labels,.fnx-static-fallback .fnx-reality__status{display:none}
.fnx-reality__interaction-cue{position:absolute;z-index:7;right:28px;bottom:28px;display:flex;align-items:center;gap:13px;color:#dbe6ff;font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.72;transition:opacity .4s ease,transform .4s ease}.fnx-reality__interaction-cue i{color:#739cff;font-style:normal}.fnx-has-interacted .fnx-reality__interaction-cue{opacity:0;transform:translateY(8px)}
.fnx-reality__layer-labels{position:absolute;z-index:6;right:22px;top:27%;display:grid;gap:38px;pointer-events:none}.fnx-reality__layer-labels span{position:relative;color:#dbe6ff;font-size:.55rem;font-weight:800;letter-spacing:.18em;opacity:0;transform:translateX(12px);transition:opacity .35s ease,transform .35s ease,color .25s ease}.fnx-reality__layer-labels span:before{content:"";position:absolute;right:calc(100% + 12px);top:50%;width:0;height:1px;background:linear-gradient(90deg,transparent,#5f8dff);transition:width .3s ease}.fnx-inspecting .fnx-reality__layer-labels span{opacity:.38;transform:none}.fnx-inspecting .fnx-reality__layer-labels span.is-active{color:#fff;opacity:1;transform:translateX(-8px);text-shadow:0 0 18px rgba(72,125,255,.72)}.fnx-inspecting .fnx-reality__layer-labels span.is-active:before{width:54px}.fnx-inspecting .fnx-reality__layer-labels span:nth-child(2){transition-delay:.04s}.fnx-inspecting .fnx-reality__layer-labels span:nth-child(3){transition-delay:.08s}.fnx-inspecting .fnx-reality__layer-labels span:nth-child(4){transition-delay:.12s}
.fnx-reality__status{position:absolute;z-index:8;right:28px;bottom:28px;display:flex;align-items:center;gap:10px;color:#fff;font-size:.58rem;font-weight:800;letter-spacing:.18em;opacity:0;transform:translateY(9px);transition:opacity .35s ease,transform .35s ease}.fnx-reality__status i{width:6px;height:6px;border-radius:50%;background:#6ea0ff;box-shadow:0 0 0 0 rgba(0,75,255,.65)}.fnx-system-online .fnx-reality__status{opacity:1;transform:none}.fnx-system-online .fnx-reality__status i{animation:fnxOnlinePulse 1.4s ease-out infinite}.fnx-system-online .fnx-reality__interaction-cue{opacity:0}.fnx-system-online .fnx-reality__stage:after{content:"";position:absolute;z-index:5;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(0,75,255,.2),transparent);animation:fnxSystemSweep .85s ease-out both}@keyframes fnxOnlinePulse{70%,100%{box-shadow:0 0 0 12px rgba(0,75,255,0)}}@keyframes fnxSystemSweep{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
@media(max-width:1000px){.fnx-reality__layer-labels,.fnx-reality__interaction-cue,.fnx-reality__status{display:none}}
@media(max-width:640px){.fnx-reality__stage{opacity:1}.fnx-reality__poster,.fnx-reality__poster.is-replaced{opacity:1;filter:saturate(.92) brightness(.82)}.fnx-reality__canvas{display:none!important}}
@media(prefers-reduced-motion:reduce){.fnx-reality__interaction-cue,.fnx-reality__status{display:none}.fnx-system-online .fnx-reality__stage:after{animation:none}}
