/* Cinematic photorealistic + live HUD layer */
.photo-hero{position:relative;min-height:100svh;overflow:hidden;display:flex;align-items:flex-end;padding:150px 0 110px;background:#01060a;border-bottom:1px solid rgba(53,231,255,.14);isolation:isolate}
.photo-hero-image{position:absolute;inset:-3%;width:106%;height:106%;object-fit:cover;object-position:center;z-index:-6;filter:saturate(.92) contrast(1.04) brightness(.69);transform:scale(1.02);transition:transform .12s linear;will-change:transform}
.home-photo-hero .photo-hero-image{filter:saturate(.95) contrast(1.05) brightness(.72)}
.photo-vignette{position:absolute;inset:0;z-index:-5;background:linear-gradient(90deg,rgba(1,7,11,.96) 0%,rgba(1,7,11,.77) 35%,rgba(1,7,11,.18) 68%,rgba(1,7,11,.5) 100%),linear-gradient(0deg,rgba(1,7,11,.96) 0%,transparent 40%,rgba(1,7,11,.3) 100%)}
.photo-grid{position:absolute;inset:0;z-index:-3;background-image:linear-gradient(rgba(53,231,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(53,231,255,.055) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,black,transparent 65%);animation:gridDrift 18s linear infinite}
.photo-scan{position:absolute;left:0;right:0;top:-15%;height:140px;background:linear-gradient(transparent,rgba(68,225,255,.06),rgba(113,255,208,.1),transparent);z-index:4;pointer-events:none;animation:heroScan 8s linear infinite;mix-blend-mode:screen}
.photo-hero:before{content:"";position:absolute;inset:0;z-index:-2;background:repeating-linear-gradient(90deg,transparent 0 8%,rgba(65,224,255,.03) 8% 8.1%,transparent 8.1% 16%);opacity:.5;animation:techShift 14s linear infinite}
.photo-hero-content{position:relative;z-index:8;max-width:780px;margin-left:auto;margin-right:auto;width:min(calc(100% - 48px),1280px)}
.photo-hero-content .index{display:block;color:#7ff4ff;margin-bottom:18px;text-shadow:0 0 18px rgba(53,231,255,.45)}
.photo-hero-content h1{max-width:980px;font-size:clamp(60px,7.4vw,118px);text-shadow:0 8px 40px rgba(0,0,0,.6)}
.photo-hero-content p{max-width:690px;color:#c6d7dc;font-size:17px;line-height:1.8;text-shadow:0 2px 20px rgba(0,0,0,.9)}
.back-link{display:inline-flex;margin-bottom:25px;font:600 9px/1 var(--display);letter-spacing:.17em;color:#a5ecf6;border:1px solid rgba(53,231,255,.2);padding:10px 12px;background:rgba(2,12,18,.42);backdrop-filter:blur(10px)}
.hud-corner{position:absolute;width:86px;height:86px;z-index:7;opacity:.82}.hud-corner:before,.hud-corner:after{content:"";position:absolute;background:var(--cyan);box-shadow:0 0 16px rgba(53,231,255,.8)}.hud-corner:before{height:1px;width:86px}.hud-corner:after{width:1px;height:86px}.hc1{left:25px;top:110px}.hc2{right:25px;top:110px;transform:rotate(90deg)}.hc3{left:25px;bottom:75px;transform:rotate(-90deg)}.hc4{right:25px;bottom:75px;transform:rotate(180deg)}
.telemetry{position:absolute;z-index:9;display:grid;grid-template-columns:auto auto;gap:5px 12px;padding:10px 13px;background:rgba(1,11,17,.55);border:1px solid rgba(53,231,255,.27);backdrop-filter:blur(12px);font-family:var(--display);box-shadow:0 0 30px rgba(0,210,255,.06)}.telemetry span{grid-column:1/3;font-size:7px;letter-spacing:.18em;color:#77a5b1}.telemetry b{font-size:9px;color:#c9faff;letter-spacing:.1em}.telemetry i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px var(--mint);animation:blink 1.2s infinite}.telem-a{right:6%;top:17%}.telem-b{right:11%;bottom:17%}.telem-b b{color:var(--mint)}
.hero-orbit{position:absolute;right:6%;top:35%;width:330px;height:330px;border:1px solid rgba(53,231,255,.13);border-radius:50%;z-index:3;animation:spin 22s linear infinite}.hero-orbit:before,.hero-orbit:after{content:"";position:absolute;border:1px dashed rgba(53,231,255,.14);border-radius:50%;inset:37px}.hero-orbit:after{inset:85px}.hero-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:var(--cyan);box-shadow:0 0 17px var(--cyan)}.hero-orbit i:nth-child(1){left:18px;top:50%}.hero-orbit i:nth-child(2){right:58px;top:20px}.hero-orbit i:nth-child(3){bottom:28px;right:40px}
.live-strip{position:absolute;z-index:10;left:0;right:0;bottom:0;height:56px;display:flex;align-items:center;justify-content:center;gap:18px;background:rgba(1,7,11,.77);backdrop-filter:blur(18px);border-top:1px solid rgba(53,231,255,.2);font:600 8px/1 var(--display);letter-spacing:.16em;color:#88aab5;white-space:nowrap;overflow:hidden}.live-strip b{color:var(--cyan);font-size:7px}.live-strip i{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--mint);margin-right:7px;box-shadow:0 0 12px var(--mint);animation:blink 1s infinite}
.cinema-intro{padding-bottom:45px}.cinematic-grid{padding:0 0 110px}.cinematic-grid-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.cinematic-card{position:relative;min-height:470px;overflow:hidden;border:1px solid rgba(53,231,255,.14);background:#02070b;isolation:isolate}.cinematic-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(1,7,11,.25) 55%,rgba(1,7,11,.96) 100%),linear-gradient(90deg,rgba(1,7,11,.25),transparent 60%);z-index:1}.cinematic-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.8,.2,1),filter .5s;filter:saturate(.82) brightness(.8)}.cinematic-card:hover img{transform:scale(1.045);filter:saturate(1.05) brightness(.92)}.card-scan{position:absolute;left:0;right:0;height:2px;top:0;z-index:3;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 15px var(--cyan);opacity:.45;animation:cardScan 5s linear infinite}.cinematic-card:nth-child(even) .card-scan{animation-delay:-2.5s}.card-ui{position:absolute;z-index:4;left:26px;right:26px;bottom:24px}.card-ui>span{font:600 8px/1 var(--display);letter-spacing:.18em;color:var(--cyan)}.card-ui h3{font-size:31px;margin:9px 0 5px;text-shadow:0 3px 20px #000}.card-ui p{color:#c1d0d5;font-size:12px;margin-bottom:18px}.card-ui b{display:inline-flex;padding:8px 10px;border:1px solid rgba(53,231,255,.26);font:600 8px/1 var(--display);letter-spacing:.13em;color:#bdedf4;background:rgba(2,11,17,.55);backdrop-filter:blur(10px)}
.detail-section{background:radial-gradient(circle at 77% 50%,rgba(53,231,255,.08),transparent 30%)}.detail-grid{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center}.lead{color:#839ea8;line-height:1.9;max-width:650px}.feature-list{margin-top:34px;border-top:1px solid var(--line2)}.feature-list article{display:grid;grid-template-columns:44px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid var(--line2)}.feature-list article>b{font-family:var(--display);font-size:8px;color:var(--cyan);padding-top:5px}.feature-list h3{font-size:18px;margin:0 0 4px}.feature-list p{font-size:12px;color:#6f8d98;line-height:1.7;margin:0}.system-console{border:1px solid rgba(53,231,255,.18);background:linear-gradient(135deg,rgba(6,21,29,.82),rgba(2,8,13,.97));min-height:520px;position:relative;overflow:hidden;clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);box-shadow:0 0 75px rgba(0,206,255,.07)}.system-console:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(53,231,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(53,231,255,.04) 1px,transparent 1px);background-size:28px 28px}.console-head{position:relative;z-index:2;height:55px;border-bottom:1px solid rgba(53,231,255,.13);display:flex;align-items:center;gap:10px;padding:0 18px;font:600 8px/1 var(--display);letter-spacing:.15em;color:#6d98a5}.console-head i{margin-left:auto;width:6px;height:6px;background:var(--mint);border-radius:50%;box-shadow:0 0 12px var(--mint);animation:blink 1.2s infinite}.console-head b{color:#c5f8ff}.radar-console{position:relative;width:310px;height:310px;margin:42px auto 15px;border:1px solid rgba(53,231,255,.14);border-radius:50%;background:repeating-radial-gradient(circle,rgba(53,231,255,.06) 0 1px,transparent 1px 42px)}.radar-console:after{content:"";position:absolute;left:50%;top:50%;width:49%;height:1px;background:linear-gradient(90deg,rgba(53,231,255,.8),transparent);transform-origin:left;animation:radarSweep 4s linear infinite}.rc-ring{position:absolute;border-radius:50%;border:1px solid rgba(53,231,255,.17)}.rca{inset:30px}.rcb{inset:68px}.rcc{inset:105px}.rc-core{position:absolute;inset:126px;display:grid;place-items:center;border:1px solid rgba(53,231,255,.4);color:var(--cyan);font:700 25px/1 var(--display);box-shadow:inset 0 0 22px rgba(53,231,255,.08),0 0 22px rgba(53,231,255,.08)}.node{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan);animation:nodePulse 1.8s infinite}.n1{left:30px;top:145px}.n2{right:47px;top:64px;animation-delay:-.4s}.n3{right:62px;bottom:50px;animation-delay:-.8s}.n4{left:88px;bottom:27px;animation-delay:-1.2s}.console-data{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,1fr);margin:0 18px;border:1px solid rgba(53,231,255,.1)}.console-data div{padding:12px;border-right:1px solid rgba(53,231,255,.1);display:flex;flex-direction:column}.console-data div:last-child{border-right:0}.console-data small{font:600 7px/1 var(--display);letter-spacing:.14em;color:#557986}.console-data b{font:600 9px/1 var(--display);letter-spacing:.1em;color:var(--mint);margin-top:5px}.signal-bars{position:absolute;left:18px;right:18px;bottom:16px;height:32px;display:flex;align-items:flex-end;gap:5px}.signal-bars i{display:block;flex:1;height:40%;background:linear-gradient(var(--cyan),rgba(53,231,255,.05));animation:signalDance 1.5s ease-in-out infinite}.signal-bars i:nth-child(2n){animation-delay:-.3s}.signal-bars i:nth-child(3n){animation-delay:-.7s}.signal-bars i:nth-child(4n){animation-delay:-1s}.next-systems{padding:20px 0 90px}.next-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line2);border:1px solid var(--line2);margin-top:18px}.next-grid a{background:#030a0f;padding:20px;font:600 9px/1 var(--display);letter-spacing:.12em;color:#8ca8b1;display:flex;justify-content:space-between;transition:.2s}.next-grid a:hover{color:white;background:#06151d}.next-grid a span{color:var(--cyan)}
@keyframes heroScan{to{transform:translateY(120vh)}}@keyframes gridDrift{to{background-position:58px 58px}}@keyframes techShift{to{transform:translateX(16%)}}@keyframes cardScan{from{top:-2%}to{top:102%}}@keyframes radarSweep{to{transform:rotate(360deg)}}@keyframes signalDance{50%{height:95%}}
@media(max-width:1050px){.photo-hero{min-height:820px}.photo-hero-content{margin:0 auto}.detail-grid{grid-template-columns:1fr}.system-console{max-width:680px;width:100%;margin:auto}.hero-orbit{opacity:.45}.cinematic-card{min-height:390px}.next-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:690px){.photo-hero{min-height:760px;padding:130px 0 100px;align-items:flex-end}.photo-hero-image{inset:0;width:100%;height:100%;transform:none!important;object-position:center}.photo-vignette{background:linear-gradient(0deg,rgba(1,7,11,.98) 0%,rgba(1,7,11,.68) 55%,rgba(1,7,11,.28) 100%)}.photo-hero-content{width:min(calc(100% - 28px),1280px)}.photo-hero-content h1{font-size:50px}.photo-hero-content p{font-size:14px}.telem-a{top:100px;right:15px}.telem-b{display:none}.hero-orbit{width:220px;height:220px;right:-80px;top:23%}.hc1,.hc2,.hc3,.hc4{display:none}.live-strip{justify-content:flex-start;padding:0 18px;gap:13px}.cinematic-grid-inner{grid-template-columns:1fr}.cinematic-card{min-height:360px}.detail-grid{gap:40px}.system-console{min-height:465px}.radar-console{width:250px;height:250px}.rc-core{inset:100px}.next-grid{grid-template-columns:1fr}.cinema-intro{padding-bottom:30px}}

/* V3 clean cinematic backgrounds: artwork intentionally contains no copy. */
.photo-hero-image{filter:saturate(.92) contrast(1.08) brightness(.56);}
.photo-vignette{background:
  linear-gradient(90deg,rgba(1,7,11,.985) 0%,rgba(1,7,11,.9) 31%,rgba(1,7,11,.44) 57%,rgba(1,7,11,.22) 77%,rgba(1,7,11,.52) 100%),
  linear-gradient(0deg,rgba(1,7,11,.97) 0%,rgba(1,7,11,.16) 50%,rgba(1,7,11,.58) 100%);
}
.photo-hero-content{filter:drop-shadow(0 8px 32px rgba(0,0,0,.65));}
.photo-hero-content h1,.photo-hero-content p{position:relative;z-index:2}
.cinematic-card img{filter:saturate(.92) contrast(1.04) brightness(.74)}

/* Per-page crop focal points for the portrait source art. */
body.page-home .photo-hero-image{object-position:center 56%}
body.page-control4 .photo-hero-image{object-position:58% center}
body.page-surveillance .photo-hero-image{object-position:50% 45%}
body.page-networking .photo-hero-image{object-position:63% center}
body.page-wifi .photo-hero-image{object-position:50% center}
body.page-water .photo-hero-image{object-position:55% center}
body.page-audio .photo-hero-image{object-position:center 54%}
body.page-ovrc .photo-hero-image{object-position:center center}


/* V4 — full placemarker art, unique live system visuals, long-form service pages */
.cinematic-grid-inner{align-items:start}
.cinematic-card{min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#030a0f,#02070b);overflow:hidden;transform-style:preserve-3d}
.cinematic-card:after{display:none}
.card-art{position:relative;aspect-ratio:3/4;overflow:hidden;background:#02070b;border-bottom:1px solid rgba(53,231,255,.16)}
.card-art:after{content:"";position:absolute;inset:0;border:1px solid rgba(53,231,255,.10);pointer-events:none}
.cinematic-card .card-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(.94) contrast(1.04) brightness(.86);transform:none!important;background:#02070b}
.cinematic-card:hover .card-art img{filter:saturate(1.06) contrast(1.07) brightness(.95)}
.card-art:before{content:"";position:absolute;left:0;right:0;height:2px;z-index:3;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 15px var(--cyan);opacity:.55;animation:cardScan 5s linear infinite}
.card-caption{padding:22px 24px 24px;position:relative;min-height:170px;background:linear-gradient(180deg,rgba(4,16,23,.96),rgba(2,8,12,1))}
.card-caption>span{font:600 8px/1 var(--display);letter-spacing:.18em;color:var(--cyan)}
.card-caption h3{font-size:27px;margin:8px 0 5px}.card-caption p{color:#95adb6;font-size:12px;margin:0 0 18px}
.card-caption b{display:inline-flex;padding:8px 10px;border:1px solid rgba(53,231,255,.26);font:600 8px/1 var(--display);letter-spacing:.13em;color:#bdedf4;background:rgba(2,11,17,.55)}
.deep-dive{border-top:1px solid var(--line2);background:radial-gradient(circle at 15% 0%,rgba(53,231,255,.055),transparent 32%)}
.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:42px}
.info-block{position:relative;min-height:280px;padding:31px 28px;border:1px solid rgba(53,231,255,.13);background:linear-gradient(145deg,rgba(6,22,31,.72),rgba(2,8,13,.94));overflow:hidden}
.info-block:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(53,231,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(53,231,255,.025) 1px,transparent 1px);background-size:24px 24px;mask-image:linear-gradient(135deg,black,transparent 72%)}
.info-block>span{position:relative;display:block;width:44px;height:2px;background:var(--cyan);box-shadow:0 0 12px rgba(53,231,255,.55);margin-bottom:40px}
.info-block h3,.info-block p{position:relative}.info-block h3{font-size:21px;margin:0 0 13px}.info-block p{color:#7896a1;font-size:13px;line-height:1.85;margin:0}
.installation{background:linear-gradient(180deg,#02070b,#041018)}
.install-timeline{margin-top:45px;border-top:1px solid rgba(53,231,255,.14)}
.install-timeline article{display:grid;grid-template-columns:90px 1fr;gap:30px;padding:35px 0;border-bottom:1px solid rgba(53,231,255,.12)}
.install-timeline article>b{font:600 13px/1 var(--display);letter-spacing:.18em;color:var(--cyan);padding-top:6px}.install-timeline h3{font-size:23px;margin:0 0 10px}.install-timeline p{max-width:850px;margin:0;color:#7896a1;line-height:1.9;font-size:13px}
.why-section{padding-top:50px}.why-shell{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:end;border:1px solid rgba(53,231,255,.18);padding:48px;background:radial-gradient(circle at 88% 0%,rgba(53,231,255,.11),transparent 35%),linear-gradient(135deg,#06151e,#02080d);clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px)}
.why-shell h2{margin-bottom:0}.why-shell>p{color:#8ca5ad;line-height:1.95;margin:0}.why-shell>.btn{grid-column:2;justify-self:start}
/* unique visualization primitives */
.system-console{min-height:560px}
.scene-tablet{position:relative;width:72%;height:330px;margin:54px auto 20px;border:1px solid rgba(53,231,255,.35);background:linear-gradient(145deg,rgba(4,20,29,.94),rgba(1,8,13,.98));transform:perspective(900px) rotateY(-10deg) rotateX(4deg);box-shadow:0 35px 70px rgba(0,0,0,.5),0 0 45px rgba(53,231,255,.12);padding:22px}
.tablet-top{font:600 8px/1 var(--display);letter-spacing:.14em;color:#6f98a4;border-bottom:1px solid rgba(53,231,255,.13);padding-bottom:14px}.tablet-top b{float:right;color:var(--mint)}
.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:24px}.scene-grid span{height:72px;display:grid;place-items:center;border:1px solid rgba(53,231,255,.16);background:radial-gradient(circle,rgba(53,231,255,.09),rgba(255,255,255,.015));font:600 8px/1 var(--display);letter-spacing:.12em;color:#a8dbe4}.scene-grid span:nth-child(2),.scene-grid span:nth-child(5){animation:scenePulse 2.4s infinite}
.scene-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform-origin:left}.sl1{width:190px;right:-125px;top:80px;transform:rotate(-17deg)}.sl2{width:180px;right:-130px;top:160px;transform:rotate(5deg)}.sl3{width:140px;left:-110px;bottom:60px;transform:rotate(-12deg)}
.orbit-mini{position:absolute;border:1px dashed rgba(53,231,255,.15);border-radius:50%;animation:spin 17s linear infinite}.om1{width:170px;height:170px;right:-45px;top:105px}.om2{width:110px;height:110px;left:-30px;bottom:70px;animation-direction:reverse}
.camera-core{position:relative;width:360px;height:360px;margin:38px auto 8px;display:grid;place-items:center}.lens{width:118px;height:118px;border-radius:50%;border:8px solid #163342;background:radial-gradient(circle at 40% 38%,#4be9ff 0 2%,#082333 5%,#01070a 34%,#000 64%);box-shadow:0 0 0 2px rgba(53,231,255,.5),0 0 60px rgba(53,231,255,.25);position:relative;z-index:3}.lens i{position:absolute;inset:28px;border:1px solid rgba(53,231,255,.7);border-radius:50%;animation:lensFocus 2.8s ease-in-out infinite}.focus-ring{position:absolute;border:1px solid rgba(53,231,255,.2);border-radius:50%;animation:focusPulse 3s ease-out infinite}.fr1{inset:65px}.fr2{inset:30px;animation-delay:-1s}.fr3{inset:0;animation-delay:-2s}.target{position:absolute;font:600 7px/1 var(--display);letter-spacing:.15em;color:#80b3bf;border:1px solid rgba(53,231,255,.18);padding:7px 9px}.t1{left:0;top:70px}.t2{right:-5px;top:125px}.t3{left:40px;bottom:45px}.sweep-sector{position:absolute;width:170px;height:170px;border-top:1px solid var(--cyan);left:50%;top:50%;transform-origin:0 0;animation:radarSweep 3.5s linear infinite;opacity:.55}
.rack-map{position:relative;height:390px;margin:28px}.rack{position:absolute;left:18px;top:30px;width:130px;height:320px;border:1px solid rgba(53,231,255,.25);padding:14px;background:rgba(0,8,13,.8)}.rack span{display:block;height:35px;margin:8px 0;border:1px solid rgba(53,231,255,.16);background:linear-gradient(90deg,rgba(53,231,255,.15),transparent);position:relative}.rack span:after{content:"";position:absolute;right:8px;top:50%;width:5px;height:5px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px var(--mint)}.rack-map svg{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(53,231,255,.34);stroke-width:1.2}.rack-map svg path{stroke-dasharray:7 9;animation:dash 2.2s linear infinite}.endpoint{position:absolute;border:1px solid rgba(53,231,255,.22);padding:12px 14px;font:600 8px/1 var(--display);letter-spacing:.12em;color:#a4d8e1;background:#031018}.ep1{right:55px;top:30px}.ep2{right:12px;top:150px}.ep3{right:25px;bottom:40px}.packet{position:absolute;width:7px;height:7px;background:var(--cyan);box-shadow:0 0 15px var(--cyan);border-radius:50%;z-index:3;animation:packetMove 3s ease-in-out infinite}.p1{left:150px;top:110px}.p2{left:180px;top:180px;animation-delay:-.7s}.p3{left:230px;top:245px;animation-delay:-1.4s}.p4{left:300px;top:85px;animation-delay:-2.1s}
.floorplan{position:relative;height:390px;margin:28px;border:1px solid rgba(53,231,255,.14);background-image:linear-gradient(rgba(53,231,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(53,231,255,.035) 1px,transparent 1px);background-size:25px 25px}.room{position:absolute;border:1px solid rgba(115,214,238,.22)}.r1{left:25px;top:25px;width:47%;height:44%}.r2{right:25px;top:25px;width:37%;height:30%}.r3{right:25px;bottom:25px;width:37%;height:52%}.r4{left:25px;bottom:25px;width:47%;height:42%}.ap{position:absolute;width:10px;height:10px;border-radius:50%;background:var(--cyan);box-shadow:0 0 14px var(--cyan)}.ap1{left:28%;top:25%}.ap2{right:20%;top:23%}.ap3{right:26%;bottom:22%}.ap i{position:absolute;border:1px solid rgba(53,231,255,.3);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%);animation:rfPulse 3s ease-out infinite}.ap i:nth-child(1){width:60px;height:60px}.ap i:nth-child(2){width:120px;height:120px;animation-delay:-1s}.ap i:nth-child(3){width:180px;height:180px;animation-delay:-2s}.roam-path{position:absolute;left:16%;top:61%;width:57%;height:1px;border-top:1px dashed var(--cyan);transform:rotate(-9deg);animation:blink 1.6s infinite}
.pipe-visual{position:relative;height:390px;margin:35px 30px}.pipe{position:absolute;background:linear-gradient(90deg,#172d36,#69838c 30%,#1b333d 58%,#09161c);box-shadow:inset 0 0 0 1px rgba(255,255,255,.13)}.pipe.vertical{width:58px;height:300px;left:50%;top:10px;transform:translateX(-50%)}.pipe.horizontal{height:58px;width:360px;left:50%;top:135px;transform:translateX(-50%)}.valve{position:absolute;width:125px;height:125px;border-radius:50%;border:8px solid #183642;left:50%;top:102px;transform:translateX(-50%);background:radial-gradient(circle,#07161d 45%,#02070b 46%);box-shadow:0 0 40px rgba(53,231,255,.15)}.valve span{position:absolute;width:80px;height:8px;background:var(--cyan);left:14px;top:49px;box-shadow:0 0 18px rgba(53,231,255,.8);animation:valveTurn 5s ease-in-out infinite}.drop{position:absolute;width:13px;height:20px;border-radius:55% 45% 55% 45%;background:linear-gradient(#73f2ff,#1296bc);transform:rotate(45deg);opacity:.65;animation:dropFall 2.5s linear infinite}.d1{left:30%;top:55px}.d2{right:28%;top:90px;animation-delay:-1.2s}.water-ripple{position:absolute;border:1px solid rgba(53,231,255,.35);border-radius:50%;left:50%;bottom:10px;transform:translateX(-50%);animation:waterPulse 3s ease-out infinite}.wr1{width:120px;height:38px}.wr2{width:220px;height:68px;animation-delay:-1.5s}.sensor-chip{position:absolute;right:10px;bottom:45px;padding:11px;border:1px solid rgba(53,231,255,.2);background:#031018;font:600 8px/1.5 var(--display);letter-spacing:.12em;color:#7399a5}.sensor-chip b{display:block;color:var(--mint)}
.audio-stage{position:relative;height:395px;margin:30px}.speaker{position:absolute;top:90px;width:110px;height:190px;border:1px solid rgba(53,231,255,.2);background:linear-gradient(160deg,#07151d,#020609);box-shadow:0 20px 40px rgba(0,0,0,.4)}.sp1{left:18px}.sp2{right:18px}.speaker i,.speaker b{position:absolute;left:50%;transform:translateX(-50%);border-radius:50%;border:2px solid rgba(53,231,255,.32)}.speaker i{width:66px;height:66px;top:28px}.speaker b{width:42px;height:42px;bottom:28px}.speaker:after{content:"";position:absolute;inset:8px;border:1px solid rgba(255,255,255,.04)}.waveform{position:absolute;left:145px;right:145px;top:145px;height:95px;display:flex;align-items:center;gap:5px}.waveform i{flex:1;background:linear-gradient(var(--cyan),rgba(53,231,255,.18));height:30%;box-shadow:0 0 8px rgba(53,231,255,.2);animation:waveBars 1.15s ease-in-out infinite}.waveform i:nth-child(3n){animation-delay:-.35s}.waveform i:nth-child(4n){animation-delay:-.7s}.waveform i:nth-child(5n){animation-delay:-.9s}.sound-ring{position:absolute;border:1px solid rgba(53,231,255,.15);border-radius:50%;left:50%;top:49%;transform:translate(-50%,-50%);animation:soundPulse 3s ease-out infinite}.sr1{width:170px;height:170px}.sr2{width:270px;height:270px;animation-delay:-1s}.sr3{width:370px;height:370px;animation-delay:-2s}.now-playing{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);width:58%;padding:10px;text-align:center;border:1px solid rgba(53,231,255,.16);background:#031018;font:600 7px/1.5 var(--display);letter-spacing:.12em;color:#648e9a}.now-playing b{display:block;color:#b9f3fb}
.globe{position:relative;width:310px;height:310px;border-radius:50%;margin:36px auto 12px;border:1px solid rgba(53,231,255,.26);background:radial-gradient(circle at 35% 30%,rgba(53,231,255,.14),transparent 36%),repeating-radial-gradient(ellipse at center,transparent 0 30px,rgba(53,231,255,.08) 31px 32px);box-shadow:inset 0 0 60px rgba(53,231,255,.07),0 0 50px rgba(53,231,255,.08);overflow:visible}.globe:before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(53,231,255,.16)}.globe:after{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(53,231,255,.16)}.globe-grid{position:absolute;inset:35px;border-radius:50%;border:1px dashed rgba(53,231,255,.16);animation:spin 18s linear infinite}.gn{position:absolute;width:8px;height:8px;background:var(--cyan);border-radius:50%;box-shadow:0 0 16px var(--cyan);animation:nodePulse 1.6s infinite}.g1{left:40px;top:80px}.g2{right:38px;top:65px}.g3{right:62px;bottom:55px}.g4{left:75px;bottom:37px}.g5{left:150px;top:140px}.orbit-path{position:absolute;border:1px solid rgba(53,231,255,.18);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(25deg)}.op1{width:390px;height:130px;animation:orbitRock 6s ease-in-out infinite}.op2{width:130px;height:390px;animation:orbitRock2 8s ease-in-out infinite}.diag-feed{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:0 18px 10px}.diag-feed span{border:1px solid rgba(53,231,255,.1);padding:8px 10px;font:600 7px/1 var(--display);letter-spacing:.11em;color:#628895}.diag-feed b{float:right;color:var(--mint)}
@keyframes scenePulse{50%{box-shadow:inset 0 0 30px rgba(53,231,255,.18);border-color:rgba(53,231,255,.45)}}
@keyframes lensFocus{50%{transform:scale(.72);opacity:.35}}@keyframes focusPulse{0%{transform:scale(.78);opacity:0}35%{opacity:.6}100%{transform:scale(1.12);opacity:0}}
@keyframes packetMove{50%{transform:translate(190px,-30px);opacity:.45}}
@keyframes rfPulse{0%{transform:translate(-50%,-50%) scale(.45);opacity:0}35%{opacity:.65}100%{transform:translate(-50%,-50%) scale(1.1);opacity:0}}
@keyframes valveTurn{50%{transform:rotate(90deg)}}@keyframes dropFall{0%{transform:translateY(-30px) rotate(45deg);opacity:0}20%{opacity:.8}100%{transform:translateY(230px) rotate(45deg);opacity:0}}@keyframes waterPulse{0%{transform:translateX(-50%) scale(.5);opacity:0}30%{opacity:.7}100%{transform:translateX(-50%) scale(1.3);opacity:0}}
@keyframes waveBars{50%{height:95%}}@keyframes soundPulse{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}30%{opacity:.5}100%{transform:translate(-50%,-50%) scale(1.12);opacity:0}}
@keyframes orbitRock{50%{transform:translate(-50%,-50%) rotate(205deg)}}@keyframes orbitRock2{50%{transform:translate(-50%,-50%) rotate(-160deg)}}
@media(max-width:1050px){.info-grid{grid-template-columns:1fr}.info-block{min-height:0}.why-shell{grid-template-columns:1fr}.why-shell>.btn{grid-column:1}.cinematic-card .card-art{aspect-ratio:3/4}}
@media(max-width:690px){.card-caption{min-height:0}.cinematic-card .card-art{aspect-ratio:3/4}.install-timeline article{grid-template-columns:48px 1fr;gap:16px}.why-shell{padding:30px 22px}.scene-tablet{width:88%;height:285px}.scene-grid span{height:58px}.camera-core{width:270px;height:270px}.rack-map,.floorplan,.pipe-visual,.audio-stage{margin-left:12px;margin-right:12px}.waveform{left:105px;right:105px}.speaker{width:80px}.globe{width:245px;height:245px}.op1{width:310px}.op2{height:310px}}

/* V5 — exact-ratio individual service artwork. Never crop poster copy. */
.poster-gallery{padding:0 0 120px}
.service-poster-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.service-poster-card{display:flex;flex-direction:column;min-width:0;border:1px solid rgba(53,231,255,.18);background:#02070b;position:relative;overflow:hidden;box-shadow:0 16px 42px rgba(0,0,0,.28);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.service-poster-card:hover{transform:translateY(-5px);border-color:rgba(53,231,255,.45);box-shadow:0 24px 60px rgba(0,0,0,.42),0 0 30px rgba(53,231,255,.06)}
.service-poster-art{position:relative;width:100%;aspect-ratio:3/4;background:#000;overflow:hidden}
.service-poster-art:after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid rgba(140,236,255,.08);box-shadow:inset 0 0 32px rgba(53,231,255,.035)}
.service-poster-art:before{content:"";position:absolute;z-index:2;left:0;right:0;height:2px;top:-2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);box-shadow:0 0 16px var(--cyan);opacity:.42;animation:posterScan 5.7s linear infinite;pointer-events:none}
.service-poster-card:nth-child(2n) .service-poster-art:before{animation-delay:-2.85s}
.service-poster-art img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;display:block;object-fit:contain!important;object-position:center center!important;transform:none!important;filter:none!important;background:#000}
.service-poster-card:hover .service-poster-art img{transform:none!important;filter:brightness(1.05)!important}
.service-poster-foot{min-height:70px;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid rgba(53,231,255,.13);background:linear-gradient(180deg,#06131a,#02080c)}
.service-poster-foot span,.service-poster-foot b{font:600 7px/1.35 var(--display);letter-spacing:.13em}.service-poster-foot span{color:#668995}.service-poster-foot b{color:#bceef5;text-align:right}
@keyframes posterScan{0%{top:-2px;opacity:0}7%{opacity:.5}93%{opacity:.5}100%{top:100%;opacity:0}}

.service-dossier-wrap{display:flex;justify-content:center;align-items:center;min-width:0}
.service-dossier-frame{position:relative;width:min(100%,430px);aspect-ratio:3/4;background:#000;border:1px solid rgba(53,231,255,.28);padding:7px;overflow:visible;box-shadow:0 30px 80px rgba(0,0,0,.48),0 0 75px rgba(53,231,255,.08);isolation:isolate}
.service-dossier-frame:before{content:"";position:absolute;inset:-1px;z-index:-1;background:linear-gradient(135deg,rgba(53,231,255,.22),transparent 28%,transparent 72%,rgba(53,231,255,.14));clip-path:polygon(0 0,30% 0,30% 1px,1px 1px,1px 30%,0 30%,0 0,100% 0,100% 30%,calc(100% - 1px) 30%,calc(100% - 1px) 1px,70% 1px,70% 0,100% 0,100% 100%,70% 100%,70% calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) 70%,100% 70%,100% 100%,0 100%,0 70%,1px 70%,1px calc(100% - 1px),30% calc(100% - 1px),30% 100%,0 100%)}
.service-dossier-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;background:#000;position:relative;z-index:1}
.dossier-scan{position:absolute;z-index:4;left:7px;right:7px;height:2px;top:7px;background:linear-gradient(90deg,transparent,#35e7ff,transparent);box-shadow:0 0 16px #35e7ff;opacity:.5;animation:dossierScan 6.2s linear infinite;pointer-events:none}
@keyframes dossierScan{0%{top:7px;opacity:0}8%{opacity:.55}92%{opacity:.55}100%{top:calc(100% - 9px);opacity:0}}
.df-corner{position:absolute;width:30px;height:30px;z-index:5;pointer-events:none}.df-corner:before,.df-corner:after{content:"";position:absolute;background:#35e7ff;box-shadow:0 0 10px rgba(53,231,255,.7)}.df-corner:before{width:30px;height:1px}.df-corner:after{width:1px;height:30px}.df-corner.c1{left:-8px;top:-8px}.df-corner.c2{right:-8px;top:-8px;transform:rotate(90deg)}.df-corner.c3{left:-8px;bottom:-8px;transform:rotate(-90deg)}.df-corner.c4{right:-8px;bottom:-8px;transform:rotate(180deg)}
.dossier-orbit{position:absolute;z-index:-1;border:1px dashed rgba(53,231,255,.16);border-radius:50%;pointer-events:none}.dossier-orbit.o1{width:180px;height:180px;right:-70px;top:18%;animation:spin 17s linear infinite}.dossier-orbit.o2{width:120px;height:120px;left:-50px;bottom:15%;animation:spin 12s linear infinite reverse}
.dossier-status{position:absolute;z-index:6;left:20px;right:20px;bottom:-27px;height:38px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid rgba(53,231,255,.22);background:rgba(1,10,15,.92);backdrop-filter:blur(12px);font:600 7px/1 var(--display);letter-spacing:.13em;color:#7699a4}.dossier-status i{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 11px var(--mint);animation:blink 1.1s infinite}.dossier-status b{margin-left:auto;color:var(--mint)}
.electrical-dossier{width:min(100%,390px)}

@media(max-width:1180px){.service-poster-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.service-poster-foot{min-height:64px}}
@media(max-width:690px){.service-poster-grid{grid-template-columns:1fr;max-width:430px;margin-inline:auto}.service-poster-foot{min-height:60px}.service-dossier-frame{width:min(100%,360px);margin-bottom:34px}.dossier-orbit{display:none}}
