.immersive-section{background:radial-gradient(circle at 72% 30%,rgba(6,185,189,.08),transparent 32%),var(--paper)}
.immersive-shell .map{grid-column:1;grid-row:1}.immersive-shell .guide{grid-column:2;grid-row:1/3}.operation-navigation{grid-column:1;grid-row:2;display:flex;flex-wrap:wrap;gap:7px;padding:16px;background:#0b242b}.operation-navigation button{border:1px solid #34545c;background:transparent;color:#bed0d3;border-radius:20px;padding:8px 11px;font-size:10px;cursor:pointer}.operation-navigation button[aria-pressed=true]{background:var(--lime);color:#07171d;border-color:var(--lime)}.operation-navigation button:focus-visible,.story-phases button:focus-visible,.focus-reset:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.immersive-shell .map img.operation-scene{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:3;opacity:0;transform:scale(1.04);filter:none;transition:opacity .65s,transform 1.2s;pointer-events:none}.immersive-shell .map.is-interior img.operation-scene{opacity:1;transform:scale(1);filter:none}.is-interior [data-hotspots],.is-interior .focus-vignette{visibility:hidden}.operation-caption{position:absolute;z-index:11;bottom:0;left:0;right:0;padding:70px 28px 28px;background:linear-gradient(transparent,rgba(3,18,23,.94));color:white;opacity:0;pointer-events:none;transition:opacity .5s}.is-interior .operation-caption{opacity:1}.operation-caption small{display:block;font-size:8px;letter-spacing:.15em;color:var(--lime);margin-bottom:9px}.operation-caption strong{display:block;font-size:27px;line-height:1.1;letter-spacing:-.03em}.operation-caption p{max-width:540px;font-size:13px;line-height:1.65;color:#d4e0e2;margin:10px 0 0}.operation-overview{font-size:12px;line-height:1.65;color:#bed0d3}.operation-pains{padding-left:18px;color:#ffb39e;font-size:12px;line-height:1.7}.operation-pains li{margin-top:8px}
.map.is-focused:not([data-phase=future]) .data-layer,.map.is-focused:not([data-phase=future]) .device-node,.map.is-focused:not([data-phase=future]) .event-card{display:none}.map.is-focused:not(.is-interior) .data-layer,.map.is-focused:not(.is-interior) .device-node,.map.is-focused:not(.is-interior) .event-card{display:none}.map.is-interior .device-node{left:30%;top:44%}.map.is-interior .event-physical{top:16%}.map.is-interior .event-edge{top:35%}.map.is-interior .event-system{top:54%}.map.scene-error .focus-caption{animation:none;opacity:1}
@media(max-width:1100px){.immersive-shell .map{grid-column:1;grid-row:1}.immersive-shell .operation-navigation{grid-column:1;grid-row:2}.immersive-shell .guide{grid-column:1;grid-row:3}}
@media(max-width:520px){.operation-caption{padding:50px 18px 18px}.operation-caption strong{font-size:22px}.operation-caption p{font-size:11px}.map[data-phase=future] .operation-caption p{display:none}.map.is-interior .device-node{left:12%;top:36%}}
.experience-hint{display:flex;align-items:center;gap:12px;margin:-2px 0 18px;color:#647a80;font-size:9px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.experience-hint span{width:25px;height:25px;display:grid;place-items:center;border:1px solid #aac0bd;border-radius:50%;color:var(--cyan2)}.experience-hint i{width:40px;height:1px;background:#bdcdca}
.immersive-shell{grid-template-columns:minmax(0,1fr) 420px;background:#06191f;border:1px solid rgba(6,185,189,.18);box-shadow:0 35px 90px rgba(8,42,46,.2)}.immersive-shell .map{min-height:720px;background:#05191f;isolation:isolate}.immersive-shell .map img{transform:scale(1.025);transform-origin:var(--focus-x,50%) var(--focus-y,50%);transition:opacity .3s,transform 1.25s cubic-bezier(.2,.75,.2,1),filter 1.25s}.immersive-shell .map:hover img{transform:scale(1.04)}.immersive-shell .map.is-focused img,.immersive-shell .map.is-focused:hover img{transform:scale(2.15);filter:saturate(.72) contrast(1.05) brightness(.72)}
.focus-vignette{position:absolute;inset:0;z-index:2;opacity:0;pointer-events:none;background:radial-gradient(circle at var(--focus-x,50%) var(--focus-y,50%),transparent 0,transparent 18%,rgba(3,18,23,.28) 48%,rgba(3,18,23,.78) 100%);transition:opacity .8s}.is-focused .focus-vignette{opacity:1}.focus-reset{position:absolute;z-index:12;left:20px;top:51px;border:1px solid rgba(255,255,255,.28);background:rgba(5,25,31,.82);backdrop-filter:blur(8px);color:#fff;border-radius:999px;padding:10px 14px;font-size:9px;font-weight:850;letter-spacing:.08em;cursor:pointer;opacity:0;pointer-events:none;transform:translateY(-8px);transition:.35s}.is-focused .focus-reset{opacity:1;pointer-events:auto;transform:none}
.focus-caption{position:absolute;left:50%;top:50%;z-index:9;color:#fff;opacity:0;pointer-events:none;transform:translate(-50%,-42%) scale(.92);text-align:center;text-shadow:0 4px 22px #000}.focus-caption small{display:block;color:var(--lime);font-size:8px;font-weight:900;letter-spacing:.22em;margin-bottom:7px}.focus-caption strong{font-size:clamp(28px,4vw,54px);line-height:1;letter-spacing:-.055em}.is-focused .focus-caption{animation:focusCaption 1.7s ease forwards}@keyframes focusCaption{0%{opacity:0;transform:translate(-50%,-40%) scale(.9)}22%,65%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-57%) scale(1.04)}}
.is-focused .hotspot{opacity:.12;pointer-events:none;transition:opacity .4s}.is-focused .hotspot.active{opacity:1}.is-focused .hotspot.active span{display:none}.is-focused .hotspot.active i{animation:signalPulse 1.5s infinite}@keyframes signalPulse{0%{box-shadow:0 0 0 0 rgba(185,236,69,.65),0 0 25px rgba(185,236,69,.8)}70%{box-shadow:0 0 0 25px rgba(185,236,69,0),0 0 45px rgba(185,236,69,.25)}100%{box-shadow:0 0 0 0 rgba(185,236,69,0)}}
.data-layer{position:absolute;inset:0;z-index:7;pointer-events:none;opacity:0}.is-focused .data-layer{opacity:1;transition:opacity .5s 1s}.data-layer svg{width:100%;height:100%;overflow:visible}.data-layer path{fill:none;stroke:var(--cyan);stroke-width:.35;stroke-linecap:round;vector-effect:non-scaling-stroke;stroke-dasharray:4 7;filter:drop-shadow(0 0 4px #06b9bd);animation:dataStream 1.1s linear infinite}@keyframes dataStream{to{stroke-dashoffset:-22}}
.device-node{position:absolute;z-index:10;left:50%;top:55%;width:112px;height:112px;border-radius:50%;display:grid;place-content:center;text-align:center;background:rgba(5,29,35,.94);border:1px solid var(--cyan);color:#fff;box-shadow:0 0 0 10px rgba(6,185,189,.08),0 0 55px rgba(6,185,189,.45);opacity:0;transform:scale(.6);pointer-events:none}.device-node small{font-size:7px;letter-spacing:.17em;color:#83a1a6}.device-node b{font-size:23px;color:var(--lime);line-height:1.2}.device-node em{font-size:8px;font-style:normal;color:#b5c8cb}.device-signal{position:absolute;inset:-13px;border:1px solid rgba(6,185,189,.45);border-radius:50%;animation:devicePulse 1.5s ease-out infinite}.is-focused .device-node{animation:nodeArrive .55s 1.05s forwards}@keyframes nodeArrive{to{opacity:1;transform:scale(1)}}@keyframes devicePulse{to{inset:-34px;opacity:0}}
.event-card{position:absolute;z-index:10;right:18px;width:205px;padding:13px 15px;background:rgba(5,25,31,.92);border:1px solid #31525a;border-left:2px solid var(--cyan);backdrop-filter:blur(9px);color:#fff;border-radius:6px;opacity:0;transform:translateX(18px);pointer-events:none}.event-card small{display:block;font-size:7px;letter-spacing:.13em;color:var(--cyan);margin-bottom:5px}.event-card b{display:block;font-size:10px;line-height:1.4}.event-physical{top:16%}.event-edge{top:43%}.event-system{top:70%;border-left-color:var(--lime)}.is-focused .event-physical{animation:cardEnter .45s .65s forwards}.is-focused .event-edge{animation:cardEnter .45s 1.2s forwards}.is-focused .event-system{animation:cardEnter .45s 1.75s forwards}@keyframes cardEnter{to{opacity:1;transform:none}}
.immersive-shell .guide{padding:25px 27px;min-height:720px;border-left:1px solid #1b3d44}.guide.is-revealed{animation:guideReveal .65s .45s both}@keyframes guideReveal{0%{box-shadow:inset 0 0 0 rgba(6,185,189,0)}45%{box-shadow:inset 8px 0 30px rgba(6,185,189,.18)}100%{box-shadow:inset 0 0 0 rgba(6,185,189,0)}}
.story-phases{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;background:#102a31;border-radius:7px;padding:3px;margin:4px 0 15px}.story-phases button{border:0;background:transparent;color:#789398;padding:9px 4px;border-radius:5px;font-size:8px;font-weight:850;cursor:pointer}.story-phases button.active{background:var(--cyan);color:#03191f}.phase-panel{display:none;min-height:220px}.phase-panel.active{display:block;animation:phaseReveal .35s ease both}@keyframes phaseReveal{from{opacity:0;transform:translateY(7px)}}.phase-panel>b{display:block;font-size:8px;letter-spacing:.14em;color:#789398;margin:13px 0}.mini-flow{display:grid;gap:5px}.mini-flow span{display:flex;align-items:center;gap:9px;background:#10262c;padding:9px;font-size:9px;line-height:1.3;color:#bed0d3}.mini-flow i{font-style:normal;color:var(--cyan);font-size:7px}.outcome-mini{display:grid;gap:4px;margin-top:8px}.outcome-mini span{font-size:9px;color:#b8c9cc;padding:7px 9px;background:#0c2228}.experience-note{text-align:right;color:#74898e;font-size:9px;margin:13px 3px 0}.map-status{z-index:12}
@media(max-width:1100px){.immersive-shell{grid-template-columns:1fr}.immersive-shell .map{min-height:650px}.immersive-shell .guide{min-height:580px;border-left:0;border-top:1px solid #1b3d44}.phase-panel{min-height:170px}}
@media(max-width:820px){.experience-hint{flex-wrap:wrap}.immersive-shell .map{min-height:500px}.immersive-shell .map.is-focused img,.immersive-shell .map.is-focused:hover img{transform:scale(2.35)}.device-node{left:39%;top:57%;width:92px;height:92px}.event-card{width:175px;right:10px;padding:10px}.event-card b{font-size:9px}.focus-caption strong{font-size:31px}}
@media(max-width:520px){.experience-hint i{width:17px}.immersive-shell .map{min-height:420px}.immersive-shell .map-status span{display:none}.event-card{width:145px}.event-edge{top:42%}.event-system{top:72%}.device-node{left:20%;top:54%;width:80px;height:80px}.device-node b{font-size:18px}.focus-reset{top:46px}.immersive-shell .guide{padding:24px;min-height:570px}.experience-note{text-align:left}}
@media(prefers-reduced-motion:reduce){.immersive-shell *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
