.homepage-banner{padding:35px 28px 28px}.homepage-banner .section-title{max-width:1420px;margin:0 auto 20px;align-items:center}.homepage-banner .section-title h1{font-size:clamp(33px,3.5vw,54px);line-height:1.04;letter-spacing:-.055em;margin:0}.homepage-banner .section-title h1 em{color:var(--cyan2);font-style:normal}.homepage-banner .section-title .eyebrow{margin-bottom:10px}.homepage-banner .section-title>p{font-size:12px;max-width:400px}.homepage-banner .explorer-shell{max-width:1420px;margin:auto}.homepage-banner .immersive-shell .map{min-height:580px}.homepage-banner .immersive-shell .guide{min-height:580px}.homepage-banner .phase-panel{min-height:190px}.homepage-banner .explore-tabs{margin-bottom:14px}.tour-controls{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.tour-status{font-size:10px;color:#0c8d92;font-weight:800;letter-spacing:.04em}.tour-status:before{content:'';display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:7px}.tour-controls button{background:#092831;border:0;border-radius:30px;color:#d7f486;font-size:10px;font-weight:750;padding:10px 17px;cursor:pointer}.tour-controls button:focus-visible{outline:2px solid #098e92;outline-offset:4px}.tour-help{font-size:10px;color:#61777d}.homepage-banner .experience-hint{margin-bottom:14px}.homepage-banner .experience-note{margin-bottom:0}.map.is-sliding [data-map-image]{opacity:0;transform:translateX(-12%) scale(1)!important;transition:opacity .4s,transform .4s}.map.slide-arrive:not(.is-focused) [data-map-image]{animation:facilityArrive .6s ease both}@keyframes facilityArrive{from{opacity:0;translate:12% 0}to{opacity:1;translate:0 0}}.map.tour-highlight .hotspot.active i{animation:signalPulse 1.5s infinite}.map.tour-highlight .hotspot.active span{background:var(--lime);color:#07191f}.homepage-banner .operation-caption{padding-top:50px}.homepage-banner .guide.is-revealed{animation:none}.homepage-banner .guide .deep-link{margin-top:15px}
@media(min-width:1101px){.homepage-banner .immersive-shell{grid-template-columns:minmax(0,1fr) 390px}.homepage-banner .immersive-shell .guide{padding:22px}.homepage-banner .guide h3{font-size:31px}.homepage-banner .operation-navigation{padding:11px;gap:5px}.homepage-banner .operation-navigation button{padding:7px 10px;font-size:9px}}
@media(max-width:1100px){.homepage-banner .immersive-shell .map{min-height:510px}.homepage-banner .immersive-shell .guide{min-height:490px}}
@media(max-width:820px){.homepage-banner{padding:30px 20px}.homepage-banner .section-title>p{margin-top:15px}.homepage-banner .immersive-shell .map{min-height:450px}.homepage-banner .section-title h1{font-size:39px}}
@media(max-width:520px){.homepage-banner{padding:25px 14px}.homepage-banner .section-title h1{font-size:34px}.homepage-banner .immersive-shell .map{min-height:420px}.tour-controls{gap:10px}.tour-help{width:100%}.homepage-banner .experience-hint{font-size:8px}.homepage-banner .experience-hint i{width:12px}}
@media(prefers-reduced-motion:reduce){.map.slide-arrive [data-map-image]{animation:none!important}}
.immersive-shell .map img.campus-incoming{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;opacity:1;filter:none;transform:scale(1.025);pointer-events:none}
.map.is-sliding-pair [data-map-image],.map.is-sliding-pair img.campus-incoming{transition:none!important;transform:scale(1.025)!important;opacity:1!important;will-change:translate;animation-duration:.9s;animation-timing-function:cubic-bezier(.45,0,.2,1);animation-fill-mode:both}
.map.is-sliding-pair[data-slide-direction=forward] [data-map-image]{animation-name:campusOutLeft}.map.is-sliding-pair[data-slide-direction=forward] img.campus-incoming{animation-name:campusInRight}.map.is-sliding-pair[data-slide-direction=backward] [data-map-image]{animation-name:campusOutRight}.map.is-sliding-pair[data-slide-direction=backward] img.campus-incoming{animation-name:campusInLeft}
.map.is-sliding-pair [data-hotspots]{visibility:hidden}.map.is-sliding-pair .focus-vignette{opacity:0}
@keyframes campusOutLeft{from{translate:0 0}to{translate:-100% 0}}@keyframes campusInRight{from{translate:100% 0}to{translate:0 0}}@keyframes campusOutRight{from{translate:0 0}to{translate:100% 0}}@keyframes campusInLeft{from{translate:-100% 0}to{translate:0 0}}
.device-node b[data-device-label]{font-size:18px}.device-node b[data-device-label]:first-letter{font-size:inherit}
@media(prefers-reduced-motion:reduce){.map.is-sliding-pair [data-map-image],.map.is-sliding-pair img.campus-incoming{animation:none!important}}
/* The operation itself is the homepage banner; messages live inside the scene. */
.homepage-banner .immersive-shell .map.is-interior img.operation-scene,.homepage-banner .immersive-shell .map.is-interior:hover img.operation-scene{transform:scale(1)!important;filter:none}
.homepage-banner .immersive-shell .map{overflow:clip}
@media(max-width:560px){.homepage-banner .focus-reset{top:120px}}
.homepage-banner{padding:0!important;background:#06191f}.homepage-banner .explorer-shell{display:block;position:relative;max-width:none;border:0;border-radius:0;box-shadow:none}.homepage-banner .immersive-shell .map{height:calc(100svh - 104px);min-height:550px;max-height:830px;width:100%;border-radius:0}.homepage-banner .guide,.homepage-banner .experience-note{display:none}.homepage-banner .map-status{display:none}
.scene-heading{position:absolute;left:30px;top:25px;z-index:15;color:#fff;max-width:330px;pointer-events:none;transition:opacity .4s}.scene-heading h1{font-size:clamp(24px,2.7vw,40px);line-height:1.04;letter-spacing:-.045em;margin:0;text-shadow:0 2px 12px #05212a}.scene-heading h1 em{font-style:normal;color:#d4f47a}.is-focused .scene-heading{opacity:0}
.scene-toolbar{position:absolute;right:24px;top:22px;z-index:16;max-width:440px}.scene-toolbar .explore-tabs{margin:0 0 8px;background:#071e26df;border:1px solid #ffffff28;backdrop-filter:blur(12px);width:auto;padding:4px}.scene-toolbar .explore-tabs button{padding:10px 16px;font-size:10px;color:#cfdddd}.scene-toolbar .explore-tabs button.active{background:#c5ed62;color:#122421;box-shadow:none}.scene-toolbar .tour-controls{justify-content:flex-end;margin:0;gap:10px}.scene-toolbar .tour-help{display:none}.scene-toolbar .tour-status{color:#e1ece8;background:#09242cbf;border-radius:20px;padding:7px 10px;font-size:9px}.scene-toolbar .tour-controls button{border:1px solid #ffffff38;padding:8px 12px;font-size:9px}
.homepage-banner .map:before{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(#04232b70,transparent 22%,transparent 60%,#041d2be0)}
.scene-teaser{position:absolute;left:30px;bottom:92px;z-index:11;max-width:380px;pointer-events:none;color:#fff;transition:opacity .3s}.scene-teaser small{font-size:8px;color:#caed71;letter-spacing:.14em}.scene-teaser strong{display:block;font-size:clamp(26px,3vw,43px);line-height:1.04;font-weight:650;letter-spacing:-.04em;margin:10px 0}.scene-teaser p{font-size:12px;color:#e3ece9;line-height:1.5;margin:12px 0}.scene-teaser>span{display:inline-block;font-size:10px;border:1px solid #b8dbb566;border-radius:20px;padding:7px 10px;margin-right:6px;background:#082b2b99}.is-focused .scene-teaser{opacity:0}
.homepage-banner .operation-navigation{position:absolute;bottom:0;left:0;right:0;z-index:16;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;padding:15px 20px;background:#071e28d9;backdrop-filter:blur(12px);border-top:1px solid #ffffff1f;scrollbar-width:thin}.homepage-banner .operation-navigation button{flex-shrink:0;font-size:10px;padding:9px 12px;white-space:nowrap}
.homepage-banner .map .operation-caption{left:30px;bottom:88px;right:auto;width:330px;max-width:calc(100% - 60px);padding:19px;background:#05232bea;border:1px solid #7fb6ad66;border-radius:14px;backdrop-filter:blur(12px);box-shadow:0 12px 40px #041a2b50;pointer-events:none}.homepage-banner .map.is-interior .operation-caption{pointer-events:auto}.operation-caption:after{content:'';position:absolute;bottom:-9px;left:32px;width:16px;height:16px;background:#05232b;transform:rotate(45deg);border-bottom:1px solid #7fb6ad66;border-right:1px solid #7fb6ad66}.homepage-banner .operation-caption small{font-size:8px;margin-bottom:7px;color:#c9ec6b}.homepage-banner .operation-caption strong{font-size:25px;line-height:1.08}.scene-keypoints{display:grid;gap:7px;margin:14px 0}.scene-keypoints span{font-size:12px;line-height:1.35;color:#e0ece7}.operation-caption[data-story=pain]{border-color:#e5a67c99}.operation-caption[data-story=pain] small,.operation-caption[data-story=pain] .scene-keypoints span{color:#ffc395}.scene-story-tabs{display:flex;gap:5px;border-top:1px solid #83a7a52b;padding-top:10px}.scene-story-tabs button{border:0;border-radius:5px;background:#15333d;color:#b1cccd;font-size:9px;padding:8px 7px;cursor:pointer}.scene-story-tabs button[aria-selected=true]{background:#c6ef64;color:#102627}.scene-solution-link{display:inline-block;font-size:10px;color:#c6ef64;margin-top:12px;text-decoration:none}.scene-story-tabs button:focus-visible,.scene-solution-link:focus-visible{outline:2px solid #c6ef64;outline-offset:3px}
.homepage-banner .focus-reset{top:25px;left:30px}.homepage-banner .map.is-interior .device-node{left:48%;top:45%}.homepage-banner .event-card{right:30px}.homepage-banner .map.is-interior .event-physical{top:27%}.homepage-banner .map.is-interior .event-edge{top:47%}.homepage-banner .map.is-interior .event-system{top:67%}
@media(max-width:820px){.scene-heading{top:20px;left:20px;max-width:240px}.scene-heading h1{font-size:28px}.scene-toolbar{right:15px;max-width:350px}.scene-toolbar .explore-tabs button{padding:10px;font-size:9px}.homepage-banner .map .operation-caption{left:20px;width:300px;bottom:84px}.scene-teaser{left:20px;bottom:90px}.homepage-banner .map.is-interior .device-node{left:48%;top:37%}.homepage-banner .event-card{right:15px;width:160px}}
@media(max-width:560px){.homepage-banner .immersive-shell .map{height:calc(100svh - 94px);min-height:650px;max-height:900px}.scene-heading{top:108px;max-width:260px}.scene-heading h1{font-size:27px}.scene-toolbar{top:12px;left:14px;right:14px;max-width:none}.scene-toolbar .explore-tabs{width:100%}.scene-toolbar .tour-controls{justify-content:space-between}.scene-toolbar .tour-status{font-size:8px}.homepage-banner .focus-reset{top:107px;left:16px}.scene-teaser{left:18px;bottom:86px;max-width:310px}.scene-teaser strong{font-size:31px}.scene-teaser p{font-size:11px}.homepage-banner .map .operation-caption{left:16px;bottom:82px;width:calc(100% - 32px);max-width:none;padding:16px}.homepage-banner .operation-caption strong{font-size:23px}.scene-keypoints{gap:6px;margin:12px 0}.scene-keypoints span{font-size:11px}.homepage-banner .operation-navigation{padding:12px}.homepage-banner .map.is-interior .device-node{left:15%;top:29%;width:80px;height:80px}.homepage-banner .event-card{right:14px;width:145px;padding:9px}.homepage-banner .map.is-interior .event-physical{top:24%}.homepage-banner .map.is-interior .event-edge{top:34%}.homepage-banner .map.is-interior .event-system{top:44%}.homepage-banner .event-card b{font-size:8px}}

/* Comfortable, consistent contrast independent of the photograph behind it. */
.tour-speed{display:block;margin-top:9px;padding:9px 12px;border:1px solid #78969d;border-radius:10px;background:#102830fa;color:#e4ebed;font-size:11px}.tour-speed>span:first-child{display:flex;justify-content:space-between}.tour-speed output{color:#d0f4a7;font-weight:700}.tour-speed input{width:100%;margin:10px 0 5px;accent-color:#c4e790;cursor:pointer}.speed-marks{display:flex;justify-content:space-between;font-size:9px;color:#d5e4e7}.speed-marks i{font-style:normal}.tour-speed input:focus-visible{outline:2px solid #c4e790;outline-offset:3px}
.homepage-banner .data-layer{z-index:9;transition-delay:0s}.homepage-banner .data-layer path{animation:none;filter:none;stroke-dasharray:none;stroke-width:3}.homepage-banner .data-layer .signal-track{stroke:#03181f;stroke-width:9;opacity:.94}.homepage-banner .data-layer .signal-line{stroke:#83f6fb;stroke-width:3;filter:drop-shadow(0 0 5px #00e8ff)}.homepage-banner .data-layer .signal-packets{stroke:#ebff93;stroke-width:5;stroke-dasharray:3 28;filter:drop-shadow(0 0 3px #c4ff59);animation:dataStream 1.1s linear infinite}
.homepage-banner .device-node{border:3px solid #9cfbff;box-shadow:0 0 0 5px #06232fe6,0 0 0 8px #83f6fb80,0 0 36px #00d9ffb3}.homepage-banner .device-signal{border:2px solid #d4ff8c;box-shadow:0 0 0 2px #03181fcc,0 0 12px #c4ff5970;animation-duration:1.1s}.homepage-banner .is-focused .device-node{animation-delay:1.05s}.homepage-banner .event-card{border:1px solid #9cfbff;box-shadow:0 0 0 3px #06232fcc,0 0 18px #00d9ff50}
.homepage-banner .map.is-sliding-pair [data-map-image],.homepage-banner .map.is-sliding-pair img.campus-incoming{animation-duration:var(--tour-slide,.9s)}.homepage-banner .map.is-focused:not(.is-interior) [data-map-image]{transition-duration:var(--tour-zoom,.85s)}
@media(prefers-reduced-motion:reduce){.homepage-banner .data-layer .signal-packets,.homepage-banner .device-signal{animation:none}}
.homepage-banner .map.is-interior .event-physical{top:40%}.homepage-banner .map.is-interior .event-edge{top:56%}.homepage-banner .map.is-interior .event-system{top:73%}
@media(max-width:560px){.homepage-banner .map.is-interior .device-node{top:38%;left:2%;width:20%;height:76px}.homepage-banner .map.is-interior .event-card{top:38%;width:23%;padding:7px 5px;right:auto;min-height:76px}.homepage-banner .map.is-interior .event-physical{left:27%}.homepage-banner .map.is-interior .event-edge{left:51%}.homepage-banner .map.is-interior .event-system{left:75%}.homepage-banner .event-card b{font-size:8px}.homepage-banner .event-card small{font-size:6px}.homepage-banner .device-node b{font-size:14px}.homepage-banner .device-node em{font-size:7px}}
.scene-toolbar .tour-controls{flex-wrap:wrap}.detail-continue,.detail-previous{display:none}.is-interior .detail-continue,.is-interior .detail-previous{display:inline-block}.scene-toolbar .tour-controls .detail-continue{background:#c4e790;color:#142c29;border-color:#c4e790}.scene-toolbar .tour-controls button:disabled{opacity:.45;cursor:default}.is-interior .tour-status{flex-basis:100%;text-align:right}.is-interior .operation-caption:before{content:'';position:absolute;top:0;left:12px;right:12px;height:3px;background:#c4e790;transform:scaleX(var(--reading-progress,1));transform-origin:left;transition:transform 1s linear}.map[data-reading=paused] .operation-caption:before{background:#e3e9eb}
.main-nav a.ampora-menu{color:#c4e790;font-weight:700}.homepage-banner .operation-navigation button[data-all]{background:#c4e790;color:#142c29;font-weight:700;border-color:#c4e790}.scene-toolbar .tour-controls button{min-width:100px}
.scene-heading{padding:15px 18px;background:#102830f2;border:1px solid #6f909b;border-radius:12px}.scene-heading h1{color:#f5f7f6;text-shadow:none;font-size:clamp(24px,2.3vw,34px)}.scene-heading h1 em{color:#c4e790}
.scene-teaser{padding:17px 20px;background:#102830f2;border:1px solid #6f909b;border-radius:12px;max-width:365px}.scene-teaser strong{font-size:clamp(25px,2.6vw,36px);color:#f5f7f6;margin-top:0}.scene-teaser p{color:#e2e9eb}.scene-teaser>span{color:#e7f0ea;background:#203d45;border-color:#73979e}
.homepage-banner .map .operation-caption{background:#102830fa;border-color:#78969d}.operation-caption:after{background:#102830;border-color:#78969d}.homepage-banner .operation-caption strong{color:#f5f7f6}.scene-keypoints span,.operation-caption[data-story=pain] .scene-keypoints span{color:#e4ebed;font-size:13px;line-height:1.5}.operation-caption[data-story=pain]{border-color:#dca981}.scene-story-tabs button{background:#28444d;color:#e0e9ec;font-size:10px}.scene-story-tabs button[aria-selected=true]{background:#c4e790;color:#142c29}.scene-solution-link{color:#d0ecab;font-size:11px}
.scene-toolbar .explore-tabs{background:#102830fa;border-color:#78969d}.scene-toolbar .explore-tabs button{color:#e4ebed;font-size:11px}.scene-toolbar .explore-tabs button.active{background:#c4e790;color:#142c29}.scene-toolbar .tour-status{background:#102830f5;color:#e4ebed;font-size:10px}.scene-toolbar .tour-controls button,.homepage-banner .focus-reset{background:#102830f5;color:#e4ebed;border-color:#78969d;font-size:10px}
.homepage-banner .operation-navigation{background:#102830fa}.homepage-banner .operation-navigation button{color:#e4ebed;border-color:#78969d;font-size:11px}.homepage-banner .operation-navigation button[aria-pressed=true]{color:#142c29;background:#c4e790}.homepage-banner .hotspot span{background:#102830f5;color:#f5f7f6;font-size:11px}.homepage-banner .hotspot i{background:#166b70;color:#fff;border:1px solid #b9dfda}.homepage-banner .hotspot.active i{background:#c4e790;color:#142c29}
.homepage-banner .event-card{background:#102830f5;border-color:#78969d}.homepage-banner .event-card b{color:#f5f7f6;font-size:11px}.homepage-banner .event-card small{color:#c2d9df;font-size:8px}.homepage-banner .device-node{background:#102830fa}.homepage-banner .device-node small{color:#d2e0e4}.homepage-banner .device-node b{color:#c4e790}.homepage-banner .device-node em{color:#e4ebed}
@media(max-width:560px){.scene-heading{max-width:calc(100% - 40px);padding:12px 14px}.scene-teaser{max-width:calc(100% - 36px);padding:14px}.scene-keypoints span{font-size:12px}.scene-toolbar .explore-tabs button{font-size:10px}.homepage-banner .event-card b{font-size:9px}.homepage-banner .operation-navigation button{font-size:10px}}

@media(max-width:560px){.homepage-banner .focus-reset{top:120px}}
