:root{--cyan:#80ead7;--accent:#d6c1eb;--bg:#0b1823}body{overflow-x:hidden}.intro-hold{height:150vh;position:relative}.intro-hold>.hero{position:sticky;top:0;min-height:95svh;transform-origin:center;will-change:opacity,transform;transition:none;overflow:hidden}.hero .portrait{box-shadow:0 0 80px #bfa2e112}.hero .eyebrow i{box-shadow:0 0 12px #d5b8ef;animation:intro-pulse 3s ease-in-out infinite}.button{transition:transform .35s,box-shadow .35s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #bca8df2e}.cine-block{height:175vh;position:relative;--shot-progress:0;--arrival:0}.cine-stage{height:100svh;min-height:680px;position:sticky;top:0;overflow:hidden;background:#08141f;isolation:isolate}.cine-stage:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 60% 60%,#22515442,transparent 68%);z-index:-1}.cine-stage:after{content:'';position:absolute;inset:0;background-image:linear-gradient(#84b4b405 1px,transparent 1px),linear-gradient(90deg,#84b4b405 1px,transparent 1px);background-size:70px 70px;pointer-events:none;mask-image:linear-gradient(transparent,#000,transparent)}.cine-top{position:absolute;top:26px;left:5%;right:5%;display:flex;align-items:center;justify-content:space-between;z-index:3;color:#789ba6;font-size:8px;letter-spacing:2px}.cine-top a{color:#a9c2c9;font-size:10px;letter-spacing:0}.cine-copy{position:absolute;left:5%;top:12%;width:43%;max-width:600px;z-index:3}.cine-copy .eyebrow{font-size:9px;letter-spacing:2px;color:#9cebdc;margin-bottom:16px}.cine-copy h2{font-size:clamp(35px,3.7vw,57px);line-height:1.12;letter-spacing:-2px;margin:0 0 18px;background:linear-gradient(120deg,#fff,#dbbdf2,#a3e7da);background-clip:text;-webkit-background-clip:text;color:transparent}.cine-copy p{font-size:13px;line-height:1.8;color:#9bb4c1;max-width:420px;margin:0}.cine-visual{position:absolute;inset:21% 0 7%;z-index:1;transform:translateY(calc((1 - var(--shot-progress)) * 25px));opacity:1;will-change:transform}.cine-world{width:100%;height:100%;display:block;overflow:visible}.cine-block.cine-globe .cine-visual{inset:12% -3% 7%;}.cine-globe .cine-copy{top:19%;width:34%}.cine-globe .cine-copy h2{font-size:clamp(34px,3.4vw,52px)}.cine-globe .cine-copy p{max-width:340px}.cine-meter{position:absolute;left:5%;right:5%;bottom:22px;border-top:1px solid #87b9bd30;display:flex;justify-content:space-between;padding-top:11px;color:#597d8a;font-size:8px;letter-spacing:2px;z-index:3}.cine-meter:before{content:'';height:2px;position:absolute;left:0;right:0;top:-1px;background:linear-gradient(90deg,#c9a7ed,#83f2d8);transform:scaleX(var(--shot-progress));transform-origin:left;box-shadow:0 0 12px #78e9d780}.cine-meter .cue{color:#a0c5c8}.cine-world .grid{stroke:#476771;stroke-width:1;opacity:.15}.cine-world .world-label{font-family:'DM Sans',Arial,sans-serif;font-size:12px;letter-spacing:3px;fill:#7b9eac}.cine-world .tower-line{fill:none;stroke:#668c9c;stroke-width:4}.cine-world .beacon{animation:intro-pulse 2s infinite}.cine-route{fill:none;stroke:#99ecd9;stroke-width:3;filter:url(#cglow);stroke-linecap:round}.cine-base{fill:none;stroke:#a4c5d62b;stroke-width:2;stroke-dasharray:5 10}.cine-packet{fill:#e7fff8;filter:url(#cglow)}.status-box{transition:opacity .4s}.signal-cross{animation:no-signal 1.6s ease-in-out infinite}.signal-weak-bars{fill:#526b7b}.cine-block.connected .signal-cross{opacity:0;animation:none}.cine-block.connected .signal-weak-bars{fill:#89ead5;filter:url(#cglow)}.offline-label{fill:#d8a6b1}.online-label{fill:#9be7d7;opacity:0}.cine-block.connected .offline-label{opacity:0}.cine-block.connected .online-label{opacity:1}.air-rings{animation:wave-drift 3s ease-in-out infinite}.air-rings:nth-child(2){animation-delay:.4s}.air-rings:nth-child(3){animation-delay:.8s}.earth-lines{fill:none;stroke:#76c6ca;stroke-width:1;opacity:.24}.earth-lands{fill:#487986;stroke:#87b9be;stroke-width:1;opacity:.55}.earth-spin{transform-origin:790px 420px;animation:earth-drift 25s ease-in-out infinite}.orbital-dot{fill:#c8b5eb;filter:url(#cglow)}.world-sweep{animation:orbit-sweep 7s ease-in-out infinite;transform-origin:center;transform-box:fill-box}.cine-contact-photo{transform-origin:1060px 350px;animation:portrait-breath 7s ease-in-out infinite}.final-bubble{opacity:var(--arrival);transform:translateY(calc((1 - var(--arrival)) * 20px));transition:opacity .3s,transform .3s}.bubble-text{font-family:Manrope,Arial,sans-serif;font-size:28px;font-weight:600;fill:#122a31}.cine-contact .cine-copy{width:36%;top:24%}.cine-contact .cine-copy p{max-width:360px}.cine-contact .cine-visual{inset:10% -2% 6%}.cine-contact .cine-copy .button{display:inline-block;margin-top:25px;padding:13px 19px;opacity:var(--arrival);pointer-events:auto}.cine-pause{position:fixed;bottom:14px;right:16px;z-index:30;background:#15323de8;color:#bbded9;border:1px solid #92e7da40;border-radius:25px;padding:9px 13px;font-size:10px;backdrop-filter:blur(12px)}.global-progress{position:fixed;top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,#c6a2ee,#80edd5);transform:scaleX(0);transform-origin:left;z-index:100}.info-enter{transition:opacity .8s,transform .8s;opacity:1;transform:none}.motion-active .info-enter.waiting{opacity:0;transform:translateY(25px)}.services article{padding:22px 24px;border:1px solid #172f3b22;border-radius:5px;background:#fff5;transition:transform .4s,box-shadow .4s,border-color .4s}.services article:hover{transform:translateY(-6px);box-shadow:0 14px 40px #17362e12;border-color:#5d978f}.services{gap:25px}.timeline article{transition:background .5s,transform .5s;border-radius:5px;padding:12px 15px;margin-left:-15px}.timeline article:hover{background:#a4d9d409;transform:translateX(4px)}.gallery figure{overflow:hidden}.gallery img,.extra-gallery img{transition:transform .9s,filter .9s;cursor:zoom-in}.gallery img:hover,.extra-gallery img:hover{transform:scale(1.025);filter:saturate(1.1)}.readiness-grid article{transition:border-color .4s,transform .4s}.readiness-grid article:hover{border-color:#8be8d7;transform:translateY(-3px)}.cine-static .intro-hold{height:auto}.cine-static .intro-hold>.hero{position:relative;opacity:1!important;transform:none!important;filter:none!important}.cine-static .cine-block{height:auto}.cine-static .cine-stage{position:relative;height:850px}.cine-static *, .cine-static *:before,.cine-static *:after{animation:none!important;scroll-behavior:auto!important}.cine-static .waiting{opacity:1!important;transform:none!important}.cine-static .cine-pause{background:#293d49}.cine-static .signal-cross{opacity:1}.cine-static .connected .signal-cross{opacity:0}
@keyframes no-signal{0%,45%,100%{opacity:1}60%,85%{opacity:.15}}@keyframes intro-pulse{50%{opacity:.35}}@keyframes wave-drift{50%{opacity:.2}}@keyframes earth-drift{50%{transform:rotate(3deg)}}@keyframes orbit-sweep{50%{opacity:.2;transform:rotate(4deg)}}@keyframes portrait-breath{50%{transform:translateY(-4px)}}
@media(max-width:1000px){.cine-copy h2{font-size:41px}.cine-contact .cine-copy h2{font-size:38px}.cine-contact .cine-copy{width:40%}.cine-globe .cine-copy{width:38%}.intro-hold>.hero{min-height:90svh}}@media(max-width:680px){.intro-hold{height:160vh}.intro-hold>.hero{min-height:auto;padding-top:35px;padding-bottom:25px}.intro-hold .portrait{height:340px}.intro-hold .hero-bottom{margin-top:20px}.intro-hold h1{font-size:40px}.cine-block{height:160vh}.cine-stage{height:100svh;min-height:700px}.cine-top{top:20px;font-size:6px;letter-spacing:1px}.cine-top a{font-size:8px}.cine-copy,.cine-contact .cine-copy,.cine-globe .cine-copy{left:5%;top:12%;width:90%;max-width:none}.cine-copy .eyebrow{font-size:8px;margin-bottom:12px}.cine-copy h2,.cine-contact .cine-copy h2,.cine-globe .cine-copy h2{font-size:35px;letter-spacing:-1.5px;max-width:360px}.cine-copy p,.cine-globe .cine-copy p,.cine-contact .cine-copy p{font-size:12px;max-width:340px;line-height:1.7}.cine-visual{inset:38% -22% 10%;}.cine-block.cine-globe .cine-visual{inset:39% -38% 8%}.cine-contact .cine-visual{inset:41% -30% 7%}.cine-contact .cine-copy .button{font-size:11px;padding:10px 15px;margin-top:14px}.cine-meter{bottom:20px;font-size:6px;letter-spacing:1px}.cine-pause{bottom:8px;right:8px;font-size:8px;padding:7px 10px}.cine-static .cine-stage{height:760px}.cine-contact .cine-copy h2{font-size:31px}.info-enter.waiting{transform:translateY(15px)}.cine-stage:after{background-size:40px 40px}.services article{padding:20px}.cine-contact .cine-meter{display:none}}@media(prefers-reduced-motion:reduce){.intro-hold,.cine-block{height:auto!important}.intro-hold>.hero,.cine-stage{position:relative!important}.info-enter.waiting{opacity:1!important;transform:none!important}*,*:before,*:after{animation:none!important}}

@media(max-width:680px){.cine-visual,.cine-block.cine-globe .cine-visual{left:0;right:0}.cine-contact .cine-visual{inset:42% 0 7%}}

/* The introduction scrolls naturally, with no fading or pinned empty space. */
.intro-hold{height:auto!important}.intro-hold>.hero{position:relative!important;min-height:0;opacity:1!important;transform:none!important;filter:none!important;will-change:auto}
.signal-trail{fill:none;stroke:#c1fff0;stroke-width:8;stroke-linecap:round;opacity:.35;filter:url(#cglow)}
.data-pulse{fill:#d4fff3;filter:url(#cglow);opacity:0}.pulse-2,.pulse-4{fill:#d8bbf6}.city-depth{transform:translateY(calc(var(--depth)*22px));will-change:transform}
.tower-waves{opacity:0;transform-origin:0 235px;transition:opacity .8s}.connected .tower-waves{opacity:.35}.tower-waves circle{transform-origin:0 235px;animation:tower-wave 3s ease-out infinite}.tower-waves circle:nth-child(2){animation-delay:.6s}.tower-waves circle:nth-child(3){animation-delay:1.2s}
.radio-unit,.equipment-led{transition:fill .7s,filter .7s}.connected .radio-unit{fill:#81d8cc;filter:url(#cglow)}.received .equipment-led{fill:#a0ffe4;filter:url(#cglow)}
.signal-weak-bars rect{fill:#526b7b!important;transition:fill .45s,filter .45s}.signal-weak-bars rect.bar-on{fill:#89ead5!important;filter:url(#cglow)}
.soil-reveal{opacity:calc(.2 + var(--soil)*.8);transform:translateY(calc((1 - var(--soil))*75px));transition:opacity .25s,transform .25s}.cable-sheath,.fibre-strand{opacity:calc(.12 + var(--soil)*.88)}.handoff-ring{opacity:calc(1 - var(--soil));transform-origin:330px 140px;animation:handoff 2s ease-out infinite}
.phone-notification{opacity:0;transition:opacity .5s}.phone-arrived .phone-notification{opacity:1}.phone-arrived .phone-notification circle{transform-origin:1121px 359px;animation:phone-ring 2.8s ease-out infinite}.phone-arrived .cine-contact-photo{animation:phone-vibrate .48s ease-out 1,portrait-breath 7s 1s ease-in-out infinite}
.cine-contact .tower-waves{opacity:0}.phone-arrived .tower-waves{opacity:.3}.cine-static .data-pulse{display:none}
@keyframes tower-wave{0%{transform:scale(.55);opacity:.65}90%,100%{transform:scale(1.3);opacity:0}}
@keyframes handoff{0%{transform:scale(.4);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes phone-ring{0%{transform:scale(.5);opacity:.8}80%,100%{transform:scale(1.7);opacity:0}}
@keyframes phone-vibrate{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-3px)}40%,80%{transform:translateX(3px)}}
.cine-block[data-shot="2"] .tower-waves{display:none}.cine-block[data-shot="2"].ground-open .handoff-ring{display:none}

/* Camera handovers, four wavelengths and route waypoints. */
.scene-lens{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 75% 65%,#8ae6da45,transparent 58%);opacity:var(--handover,0);z-index:2}
.dwdm-channel{fill:none;stroke-width:2;filter:url(#cglow);stroke-linecap:round}.wavelength-0{stroke:#efb2cd}.wavelength-1{stroke:#c4a6ff}.wavelength-2{stroke:#77ddff}.wavelength-3{stroke:#a1f5c3}
.cine-block[data-shot="2"] .cine-route{stroke-width:1;opacity:.35}.cine-block[data-shot="2"] .pulse-0{fill:#efb2cd}.cine-block[data-shot="2"] .pulse-1{fill:#c4a6ff}.cine-block[data-shot="2"] .pulse-2{fill:#77ddff}.cine-block[data-shot="2"] .pulse-3{fill:#a1f5c3}
.backbone-node circle:first-child{fill:#102b39;stroke:#527786;stroke-width:1}.backbone-node circle:last-child{fill:#476370}.backbone-node circle{transition:fill .5s,stroke .5s,filter .5s}.backbone-node.lit circle:first-child{stroke:#a4f4de;fill:#286757}.backbone-node.lit circle:last-child{fill:#d8fff1;filter:url(#cglow)}
.journey-track{position:absolute;left:5%;right:5%;bottom:70px;z-index:4;display:flex;gap:0;padding:0;margin:0;list-style:none;max-width:600px}.journey-track li{position:relative;flex:1;color:#597884;display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:9px}.journey-track li:not(:last-child):after{content:'';position:absolute;top:10px;left:25px;right:8px;height:1px;background:#334d59;z-index:-1}.journey-track span{border:1px solid #3d5b68;background:#0b1b27;border-radius:50%;width:22px;height:22px;display:grid;place-items:center;font-size:7px}.journey-track small{position:absolute;top:28px;font-size:8px}.journey-track .complete,.journey-track .current{color:#b7e7df}.journey-track .complete span{border-color:#7bceba;color:#a3ead4}.journey-track .current span{border-color:#d0b5ef;box-shadow:0 0 15px #c9a6f22b;color:#e4ccfa}.cine-contact .journey-track{max-width:440px}
.final-route-map path{fill:none;stroke:#8cebd760;stroke-width:2}.ack-node{fill:#a3d8ce;stroke:#274e51;stroke-width:3}.ack-pulse{fill:#edfff8;filter:url(#cglow);opacity:0}.connection-confirm{display:flex;align-items:center;gap:9px;color:#b8efdf;font-size:11px;margin-top:18px;opacity:0;transform:translateY(6px);transition:opacity .6s,transform .6s}.connection-confirm span{border:1px solid #84c7b3;border-radius:50%;height:21px;width:21px;display:grid;place-items:center}
@media(hover:hover) and (pointer:fine){.photo-tilt{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg));transition:transform .25s ease-out;will-change:transform}.cine-static .photo-tilt{transform:none}}
@media(max-width:680px){.journey-track{bottom:67px;max-width:none}.journey-track li{font-size:7px}.journey-track span{height:18px;width:18px}.journey-track small{font-size:6px;top:24px}.journey-track li:not(:last-child):after{top:8px;left:20px}.cine-contact .journey-track{bottom:28px}.connection-confirm{font-size:10px;margin-top:12px}.cine-copy h2{max-width:340px}.cine-static .connection-confirm{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.photo-tilt{transform:none!important}.scene-lens{display:none}}

@media(min-width:681px){.cine-block[data-shot="2"] .cine-visual{left:27%;right:0}}

/* Keep a slow signal alive throughout entry, pinned playback and departure. */
.cine-block{height:210vh}.cine-block[data-shot="2"] .cine-visual{transform:none!important;will-change:auto}.data-pulse,.cine-packet{filter:none}.cine-block[data-shot="2"] .dwdm-channel{filter:none}.connection-ready .connection-confirm,.cine-static .connection-confirm{opacity:1;transform:none}
@media(max-width:680px){.cine-block{height:190vh}}
.cine-block[data-shot="2"] .signal-trail,.cine-block[data-shot="2"] .cine-route{filter:none}.cine-static .signal-trail{opacity:0}
