/* Complete, lightweight image assets and expanded engineering guides. */
.architecture-art img{-webkit-mask-image:none;mask-image:none}
.hero-visual>img{width:100%;max-width:100%;margin-left:0}
.hero .proof-inline{flex-wrap:wrap;margin-top:32px;gap:16px}
.technical-art{margin:0;min-width:0}.technical-art img{display:block;width:100%;height:auto;border-radius:18px}.technical-art figcaption{margin-top:12px}
.detail-hero{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.detail-hero>div{min-width:0}
.detail-page img{max-width:100%;height:auto}
.section-intro{font-size:17px;color:#b2c3d3;line-height:1.8;max-width:880px}
.scale-band{display:flex;gap:32px;align-items:center;padding:32px;border-block:1px solid #3d6b86;background:#102d42;margin-bottom:56px}
.scale-band>strong{font-size:clamp(48px,7vw,86px);color:#7ad5ff;white-space:nowrap}.scale-band h2{margin:0 0 12px}.scale-band p{font-size:16px;line-height:1.7;margin:0;color:#c6d6e4}
.analytics-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:32px 0 56px}.demo-card{margin:0;background:#132a3e;border:1px solid #31506a;border-radius:18px;overflow:hidden;min-width:0}
.demo-stage{position:relative;line-height:0}.demo-stage>img{display:block;width:100%;height:auto}.demo-badge{position:absolute;left:12px;top:12px;background:#071a2ce6;border:1px solid #74cdea80;padding:7px 9px;color:white;font-size:12px;line-height:1.3;letter-spacing:.07em;border-radius:5px}
.demo-card figcaption{padding:24px}.demo-card h3{font-size:22px;line-height:1.35;margin:0 0 12px}.demo-card p{font-size:16px;line-height:1.75;color:#c1d4e4;margin:0}
.recognition-card{grid-column:1/-1;display:grid;grid-template-columns:1.2fr 1fr;align-items:center}.detect-box{position:absolute;border:2px solid #67ffcc;box-shadow:0 0 0 1px #062d22}.detect-box b{position:absolute;bottom:100%;left:-2px;background:#073e31;color:white;font-size:12px;line-height:1.3;padding:3px 6px;white-space:nowrap}
.person-one{left:18%;top:36%;width:8%;height:28%}.person-two{left:40%;top:40%;width:7%;height:28%}.vehicle{left:65%;top:35%;width:32%;height:29%;border-color:#83d5ff}.vehicle b{background:#10476b}
.plate-box{left:18%;top:49.8%;width:14.2%;height:5.6%}.face-box{left:64%;top:12%;width:22%;height:47%}
.access-demo{margin-bottom:56px}.role-switch{display:flex;gap:9px;flex-wrap:wrap;margin:22px 0}.role-switch button{font:700 15px Manrope,Arial,sans-serif;background:#122b3f;color:#c4d9e8;padding:13px 18px;border:1px solid #3c6079;border-radius:12px;cursor:pointer}.role-switch button[aria-pressed="true"]{background:#116c96;border-color:#68d5ff;color:white}
.access-layout{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:28px}.access-map{position:relative;margin:0;min-width:0}.access-map img{display:block;width:100%}.access-map figcaption{font-size:14px;color:#aac5d8;line-height:1.6}.zone-marker{position:absolute;width:32px;height:32px;display:grid;place-items:center;background:#4bdfb0;color:#072f25;border:2px solid white;border-radius:50%;font-size:15px;font-weight:800;box-shadow:0 3px 16px #0009}.zone-marker.denied{background:#714456;color:#fff}.marker-1{left:19%;top:39%}.marker-2{left:69%;top:15%}.marker-3{left:85%;top:60%}.marker-4{left:55%;top:48%}.marker-5{left:16%;top:70%}
.access-nodes{display:grid;gap:10px}.access-node{display:flex;gap:12px;padding:16px;background:#123344;border:1px solid #30756b;border-radius:12px;align-items:center}.access-node.denied{background:#282532;border-color:#625061}.node-number{font-size:15px;font-weight:800;color:#7ae3bd}.access-node h3{font-size:17px;margin:0 0 4px}.access-node p{font-size:14px;line-height:1.55;margin:0;color:#bbd1df}.node-state{margin-left:auto;font-size:12px;font-weight:700;color:#8ce6c4}.denied .node-state{color:#e9bfd1}.access-rule{font-size:16px;line-height:1.7;color:#c9deee;padding:22px;border-left:3px solid #65ccef;background:#102a3d}
.journey{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;gap:12px;margin:30px 0 45px}.journey li{padding:22px;border-top:2px solid #64c9ee;background:#142d42;border-radius:0 0 14px 14px}.journey b{display:block;font-size:18px;margin-bottom:12px}.journey span{font-size:15px;line-height:1.7;color:#bad1e1}
.parking-zones{display:flex;gap:16px;align-items:center;background:#0b1d2e;padding:24px;border:1px solid #315570;border-radius:18px}.parking-zones>div{flex:1;display:grid;gap:10px;padding:22px;border:1px solid #376c85;border-radius:12px;background:#173b52}.parking-zones b{font-size:18px}.parking-zones span{font-size:15px;color:#c6dbea}.parking-zones small{font-size:14px;color:#88d5f5}.zone-arrow{font-size:26px!important}.demo-caption{font-size:14px;line-height:1.6;color:#a7bed0;margin-bottom:48px}
.gate-types{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:24px 0 50px}.gate-types article{background:#142b3e;border:1px solid #304a60;border-radius:16px;padding:24px}.mechanism-diagram{width:160px;max-width:100%;height:100px;color:#7ad6fd}.gate-types h3{font-size:21px;line-height:1.4;margin:12px 0}.gate-types p{font-size:16px;line-height:1.75;color:#b9cfdf;margin:0}
.service-system-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0 50px}.service-system-grid>a{background:#142c40;border:1px solid #345771;border-radius:14px;padding:24px;transition:border-color .2s}.service-system-grid>a:hover{border-color:#72cfff}.service-system-grid h3{font-size:20px;line-height:1.4;margin:0 0 12px}.service-system-grid p{font-size:16px;line-height:1.7;color:#bdd1e1}.service-system-grid span{font-size:14px;color:#7cd3f7;font-weight:700}
.power-diagram{padding:24px;border:1px solid #37637d;border-radius:20px;background:radial-gradient(ellipse at center,#1a4863,#0c2031);text-align:center}.power-inputs,.power-connectors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.power-inputs>div{padding:16px 8px;border:1px solid #3b6683;border-radius:10px;background:#102b42}.power-inputs strong,.power-inputs span{display:block}.power-inputs strong{font-size:18px;color:#83d9fc}.power-inputs span{font-size:13px;line-height:1.5;color:#c4dae8;margin-top:7px}.power-connectors{font-size:28px;color:#83d9fc;padding:8px 0}.power-hub{padding:24px;background:#125276;border:1px solid #65cffa;border-radius:16px;display:grid;gap:8px}.power-hub strong{font-size:46px}.power-hub small{font-size:15px}.power-hub span{font-size:14px}.power-line{font-size:28px;color:#83d9fc;padding:10px}.power-loads{padding:20px;border:1px solid #3b7d88;border-radius:12px;background:#123440;display:grid;gap:10px}.power-loads strong{font-size:19px}.power-loads span{font-size:15px;line-height:1.6}.power-loads small{font-size:13px;color:#afcbd8;line-height:1.6}.energy-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:35px 0}.energy-facts>div{padding:24px;background:#173a50;border-radius:14px;display:grid;gap:12px}.energy-facts b{font-size:24px;color:#7bd7fa}.energy-facts span{font-size:16px;line-height:1.7;color:#bdd4e4}
.software-overview{max-width:1160px;margin:0 auto;padding:30px 24px 70px}.software-overview>div{padding:36px;background:linear-gradient(130deg,#153c56,#112235);border:1px solid #38637d;border-radius:22px}.software-overview h2{font-size:clamp(28px,3vw,40px);line-height:1.2;margin:0 0 18px}.software-overview p:not(.eyebrow){font-size:17px;line-height:1.8;color:#bad0df}.software-overview .text-link{font-size:16px}
.detail-page .detail-section h2:not(:first-child){margin-top:36px}.request-form .form-note{font-size:14px}.contacts{scroll-margin-top:120px}
@media(max-width:1000px){.access-layout{grid-template-columns:1fr}.access-map{max-width:760px;margin:auto}.journey{grid-template-columns:repeat(2,minmax(0,1fr))}.gate-types{grid-template-columns:repeat(2,minmax(0,1fr))}.recognition-card{display:block}.detail-hero{grid-template-columns:1fr}.detail-hero>figure,.detail-hero>.power-diagram{width:100%;max-width:750px;margin:auto}}
@media(max-width:680px){.analytics-gallery,.gate-types,.service-system-grid,.energy-facts{grid-template-columns:1fr}.recognition-card{grid-column:auto}.scale-band{display:block;padding:24px}.scale-band>strong{display:block;margin-bottom:16px}.journey{grid-template-columns:1fr}.parking-zones{flex-direction:column;align-items:stretch}.parking-zones .zone-arrow{text-align:center;transform:rotate(90deg)}.parking-zones>div{padding:18px}.power-diagram{padding:14px}.power-inputs strong{font-size:15px}.power-inputs span{font-size:12px}.software-overview{padding-inline:20px}.software-overview>div{padding:24px}.demo-card figcaption{padding:20px}.role-switch button{flex:1 1 42%;padding:12px 8px}.access-node{padding:13px 10px;gap:9px}.node-state{font-size:12px}.zone-marker{width:27px;height:27px;font-size:13px}.demo-badge{font-size:11px}.detect-box b{font-size:11px}.hero .proof-inline{display:grid;margin-top:24px}}

.system-diagram{padding:24px;border:1px solid #37637d;border-radius:20px;background:radial-gradient(ellipse at center,#1a4863,#0c2031);text-align:center}.diagram-core{max-width:330px;margin:auto;padding:26px 20px;background:#125276;border:1px solid #65cffa;border-radius:18px;display:grid;gap:8px}.diagram-core small{font-size:14px;color:#bde8fa}.diagram-core strong{font-size:clamp(30px,5vw,50px)}.diagram-core span{font-size:14px;color:#d1e9f2}.diagram-links{display:grid;grid-template-columns:repeat(4,1fr);max-width:82%;margin:auto;height:34px;border-top:2px solid #5cccf7}.diagram-links i{border-left:2px solid #5cccf7}.diagram-nodes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.diagram-nodes span{display:grid;place-items:center;min-height:66px;padding:12px;border:1px solid #3d718e;border-radius:12px;background:#102d42;font-size:14px;font-weight:700;line-height:1.45;color:#d7edf7}.alarm-signal{display:grid;gap:7px;padding:16px;border:1px solid #ff987c;background:#542c30;border-radius:12px;color:white}.alarm-signal small{font-size:13px}.alarm-signal strong{font-size:18px;letter-spacing:.05em}.diagram-arrow{font-size:30px;color:#83d9fc;padding:8px}.shelter-diagram .diagram-nodes{margin-top:18px}.shelter-diagram .diagram-core{border-color:#7ee2bb;background:#175746}.shelter-diagram .diagram-nodes span{border-color:#367c6a;background:#103b35}
.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:26px 0 52px}.control-grid article{display:grid;gap:9px;padding:24px;background:linear-gradient(145deg,#16354b,#101f30);border:1px solid #36617c;border-radius:15px}.control-grid b{font-size:19px;color:#83dafb}.control-grid span{font-size:15px;line-height:1.65;color:#bfd4e3}
.automation-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:26px 0 52px;gap:12px}.automation-flow li{position:relative;padding:22px;background:#142d42;border-top:2px solid #64c9ee;border-radius:0 0 14px 14px}.automation-flow li:not(:last-child):after{content:'→';position:absolute;right:-11px;top:18px;z-index:2;color:#75d7fa;font-size:20px}.automation-flow b,.automation-flow span{display:block}.automation-flow b{font-size:17px;margin-bottom:10px}.automation-flow span{font-size:14px;line-height:1.65;color:#bad1e1}.shelter-flow{grid-template-columns:repeat(5,minmax(0,1fr))}.shelter-flow li{border-top-color:#76e1b9}.shelter-status{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:25px 0 55px}.shelter-status>div{display:grid;gap:9px;padding:22px;border:1px solid #397766;background:#11372f;border-radius:14px}.shelter-status small{font-size:13px;color:#aad0c4}.shelter-status strong{font-size:16px;color:#7ee3bc}.shelter-status span{font-size:13px;line-height:1.55;color:#c5ddd5}
@media(max-width:1000px){.detail-hero>.system-diagram{width:100%;max-width:750px;margin:auto}.automation-flow,.shelter-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.automation-flow li:after{display:none}.shelter-status{grid-template-columns:repeat(2,minmax(0,1fr))}}
.solution-icon.custom-icon{fill:none;stroke:currentColor}
.complex-map{margin:26px 0 56px;padding:28px;border:1px solid #37637d;border-radius:20px;background:radial-gradient(ellipse at center,#173f58,#0b1d2e);text-align:center}.complex-nodes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.complex-nodes span{display:grid;place-items:center;min-height:64px;padding:10px;border:1px solid #3e708d;border-radius:11px;background:#122e43;font-size:14px;font-weight:700;line-height:1.45;color:#d2e8f4}.complex-lines{font-size:32px;color:#79d7fb;padding:8px}.complex-hub{max-width:620px;margin:auto;padding:25px;border:1px solid #72d7fb;border-radius:16px;background:#115679;display:grid;gap:8px}.complex-hub small{font-size:14px;color:#beeafa}.complex-hub strong{font-size:clamp(21px,3vw,34px)}.complex-hub span{font-size:14px;color:#d4ecf5}.complex-stages{margin-bottom:58px}
.network-backbone{padding:24px;background:#144f70;border:1px solid #72d7fb;border-radius:16px;display:grid;gap:8px}.network-backbone small{font-size:14px;color:#c4eaf8}.network-backbone strong{font-size:clamp(22px,4vw,38px)}.network-backbone span{font-size:14px;color:#d1e8f2}.network-zones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:26px 0 56px}.network-zones article{display:grid;gap:10px;padding:23px;border:1px solid #38637c;border-radius:14px;background:#122c40}.network-zones b{font-size:18px;color:#82d9fb}.network-zones span{font-size:14px;line-height:1.65;color:#bdd3e2}
@media(max-width:1000px){.complex-nodes,.network-zones{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.control-grid,.automation-flow,.shelter-flow,.shelter-status{grid-template-columns:1fr}.system-diagram{padding:14px}}
@media(max-width:680px){.complex-map{padding:15px}.complex-nodes,.network-zones{grid-template-columns:1fr}.complex-hub{padding:20px}.network-zones article{padding:19px}}

.detail-page footer{flex-wrap:wrap;gap:16px 24px}
/* Keep diagrams legible for non-technical readers. */
.diagram-nodes span,.complex-nodes span,.network-zones span,.automation-flow span{font-size:15px;line-height:1.65}.detail-note{max-width:980px}.scenario>p:last-child{max-width:980px}
@media(max-width:680px){.diagram-nodes span,.complex-nodes span,.network-zones span,.automation-flow span{font-size:15px}}
/* A fine, balanced signature below the logo and navigation. */
.site-header{--header-inset:max(28px,calc((100vw - 1160px)/2));isolation:isolate;height:100px;padding-inline:var(--header-inset);padding-bottom:16px}
.site-header>.header-pair{position:absolute;inset-inline:var(--header-inset);bottom:6px;height:12px;pointer-events:none;overflow:hidden;z-index:0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent);mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent)}
.header-pair svg{display:block;width:100%;height:12px;overflow:hidden}.pair-strand{fill:none;stroke-width:.85;vector-effect:non-scaling-stroke;stroke-linecap:round}.strand-0{stroke:#4fa8cb;opacity:.65}.strand-1{stroke:#aec8d5;opacity:.5}.pair-dot{fill:#fff2bf;filter:drop-shadow(0 0 2px #ffdc81)}
@media(max-width:1200px){.site-header{--header-inset:24px}}
@media(max-width:900px){.detail-page .site-header{--header-inset:20px;padding-inline:var(--header-inset)}}
@media(max-width:680px){.site-header{--header-inset:18px;height:88px}.site-header .nav.open{top:calc(100% + 6px)}.detail-page .site-header{--header-inset:20px;height:auto;padding-bottom:32px}.site-header .brand{flex-shrink:0}}
.solution .solution-icon{transition:color .12s,filter .12s;transform-origin:center;transform-box:fill-box}.solution:active .solution-icon,.solution:focus-within .solution-icon,.solution.icon-pressed .solution-icon{color:#ffe05b;filter:drop-shadow(0 0 9px #ffcf5480)}.solution.icon-pressed .solution-icon{animation:icon-activate .4s ease-out}@keyframes icon-activate{0%{transform:scale(1)}35%{transform:scale(1.16) rotate(-7deg)}70%{transform:scale(1.06) rotate(5deg)}100%{transform:scale(1) rotate(0)}}
@media(prefers-reduced-motion:reduce){.pair-dot{display:none}.solution.icon-pressed .solution-icon{animation:none}.solution .solution-icon{transition:none}}
