:root{--bg:#07101f;--surface:#0c1729;--surface2:#101e34;--text:#edf5ff;--muted:#91a3bb;--line:rgba(143,181,220,.16);--blue:#169fe0;--blue2:#3672ba;--navy:#202d5d;--header:rgba(7,16,31,.78);--shadow:0 30px 80px rgba(0,0,0,.28)}
html[data-theme="light"]{--bg:#f3f7fb;--surface:#fff;--surface2:#eaf2f9;--text:#10203a;--muted:#607189;--line:rgba(24,62,101,.14);--header:rgba(243,247,251,.82);--shadow:0 25px 70px rgba(34,74,114,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;transition:background .35s,color .35s}body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:64px 64px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.3),transparent 72%);opacity:.25}.cursor-glow{width:420px;height:420px;position:fixed;left:0;top:0;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(22,159,224,.12),transparent 65%);pointer-events:none;z-index:0}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:82px;padding:0 max(24px,calc((100vw - 1240px)/2));background:var(--header);border-bottom:1px solid var(--line);backdrop-filter:blur(18px)}.brand img{width:120px;height:58px;object-fit:contain}.site-header nav{display:flex;gap:32px}.site-header a{color:var(--text);text-decoration:none;font-size:14px}.header-actions{display:flex;align-items:center;gap:10px}.icon-button,.lang-button{height:38px;min-width:38px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:10px;cursor:pointer}.button{display:inline-flex;justify-content:center;align-items:center;padding:15px 22px;border:0;border-radius:12px;color:white!important;background:linear-gradient(135deg,var(--blue),var(--blue2));box-shadow:0 14px 35px rgba(22,159,224,.2);text-decoration:none;font-weight:700;cursor:pointer}.button.small{padding:10px 15px;font-size:13px}.section{position:relative;z-index:1;max-width:1240px;margin:auto;padding:120px 24px}.hero{min-height:calc(100vh - 82px);display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:60px}.eyebrow{display:inline-block;color:var(--blue);font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px}.hero h1{font-size:clamp(48px,6vw,84px);line-height:.98;letter-spacing:-.055em;margin:0 0 28px;max-width:830px}.hero-copy>p{font-size:19px;line-height:1.7;color:var(--muted);max-width:680px}.hero-actions{display:flex;gap:25px;align-items:center;margin-top:35px}.text-link{color:var(--text);text-decoration:none;font-weight:600}.hero-facts{display:flex;gap:42px;margin-top:70px}.hero-facts div{display:flex;flex-direction:column;border-left:1px solid var(--line);padding-left:16px}.hero-facts strong{font-size:23px}.hero-facts span{font-size:12px;color:var(--muted);margin-top:5px}.hero-visual{height:590px;position:relative}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-one{width:350px;height:350px;right:45px;top:75px;background:radial-gradient(circle at 33% 30%,#32b9f6,#163e80 48%,transparent 70%);filter:blur(14px);opacity:.7;animation:float 7s ease-in-out infinite}.orb-two{width:250px;height:250px;left:10px;bottom:30px;background:radial-gradient(circle,#263879,transparent 70%);opacity:.55}.system-card{position:absolute;padding:18px;border:1px solid rgba(143,201,246,.28);background:rgba(13,27,49,.7);backdrop-filter:blur(18px);border-radius:16px;box-shadow:var(--shadow);animation:float 6s ease-in-out infinite}.system-card span{display:block;color:#65c6f0;font-size:10px;letter-spacing:.13em}.system-card b{display:block;font-size:14px;margin-top:12px}.card-main{width:270px;height:160px;right:45px;top:185px;padding:28px}.card-main i{display:block;margin-top:24px;height:2px;background:linear-gradient(90deg,var(--blue),transparent)}.card-a{top:90px;left:30px;width:145px}.card-b{bottom:90px;right:5px;width:160px;animation-delay:-2s}.card-c{bottom:130px;left:25px;width:125px;animation-delay:-4s}.brand-strip{position:relative;z-index:2;display:flex;justify-content:center;gap:48px;flex-wrap:wrap;padding:25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);font-weight:700;font-size:12px;letter-spacing:.08em}.section-heading{max-width:760px;margin-bottom:55px}.section h2{font-size:clamp(35px,4.6vw,60px);line-height:1.08;letter-spacing:-.045em;margin:0}.section-heading p{color:var(--muted);font-size:17px;line-height:1.7}.grid.three{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.feature-card{min-height:300px;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:18px;transition:transform .3s,border-color .3s}.feature-card:hover{transform:translateY(-7px);border-color:rgba(22,159,224,.5)}.feature-card .number{color:var(--blue);font-size:12px}.feature-card h3{margin-top:75px;font-size:22px}.feature-card p,.service-item p,.about-copy p{color:var(--muted);line-height:1.7}.services{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.service-list{border-top:1px solid var(--line)}.service-item{display:grid;grid-template-columns:50px 1fr;gap:0 20px;padding:28px 0;border-bottom:1px solid var(--line)}.service-item>span{grid-row:1/3;color:var(--blue);font-size:11px}.service-item h3{margin:0;font-size:20px}.service-item p{margin-bottom:0}.project{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;background:var(--surface);max-width:1192px;border-radius:28px;padding:80px}.project-copy>p{color:var(--muted);line-height:1.7}.project-stats{display:flex;gap:28px;margin-top:40px}.project-stats div{display:flex;flex-direction:column}.project-stats strong{font-size:27px;color:var(--blue)}.project-stats span{font-size:11px;color:var(--muted)}.project-panel{height:390px;background:#040b14;border:1px solid var(--line);border-radius:18px;padding:16px;position:relative;box-shadow:inset 0 0 80px rgba(22,159,224,.06)}.camera-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;height:100%}.camera-grid i{background:linear-gradient(145deg,#101f37,#07101d);border:1px solid #193554;border-radius:8px;position:relative;overflow:hidden}.camera-grid i:after{content:"";position:absolute;width:45px;height:45px;border-radius:50%;border:1px solid #215a82;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 30px #126592}.live{position:absolute;left:26px;bottom:25px;font-size:9px;letter-spacing:.15em}.live b{display:inline-block;width:7px;height:7px;border-radius:50%;background:#2ae69b;box-shadow:0 0 10px #2ae69b;margin-right:7px}.about{display:grid;grid-template-columns:1.15fr .85fr;gap:80px}.about-copy{font-size:17px}.contact{display:grid;grid-template-columns:1fr .75fr;gap:80px}.contact-copy>p{color:var(--muted)}.contact-details{display:flex;flex-direction:column;gap:10px;margin-top:40px}.contact-details a{color:var(--text);text-decoration:none}.contact-details span{color:var(--muted);font-size:14px}.contact-form{display:flex;flex-direction:column;gap:17px;padding:30px;background:var(--surface);border:1px solid var(--line);border-radius:20px}.contact-form label{display:flex;flex-direction:column;gap:8px;color:var(--muted);font-size:12px}.contact-form input,.contact-form textarea{width:100%;padding:13px;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;font:inherit}.file-label{padding:14px;border:1px dashed var(--line);border-radius:10px}.file-label input{padding:0;border:0;background:transparent}footer{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto;padding:35px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}footer img{width:105px;height:55px;object-fit:contain}footer a{color:var(--text)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}@keyframes float{50%{transform:translateY(-13px)}}
@media(max-width:900px){.site-header nav{display:none}.hero,.services,.project,.about,.contact{grid-template-columns:1fr}.hero{padding-top:60px}.hero-visual{height:440px}.grid.three{grid-template-columns:1fr}.project{margin:20px;padding:55px 25px}.project-stats{flex-wrap:wrap}.services,.about,.contact{gap:30px}.section{padding:85px 22px}.cursor-glow{display:none}}
@media(max-width:560px){.site-header{padding:0 16px}.brand img{width:92px}.header-actions .button{display:none}.hero h1{font-size:45px}.hero-actions{align-items:flex-start;flex-direction:column}.hero-facts{gap:18px}.hero-visual{height:380px}.card-main{right:5px}.card-a{left:0}.section h2{font-size:38px}.project-panel{height:300px}.camera-grid{grid-template-columns:repeat(2,1fr)}footer{flex-direction:column;gap:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.custom-logo-link img{width:120px;height:58px;object-fit:contain}

/* Responsive horizontal brand lockup: preserves the supplied symbol while
   keeping the wordmark legible on both dark and light surfaces. */
.brand,.footer-brand{display:inline-flex;align-items:center;gap:8px;text-decoration:none}.brand{height:64px;padding:4px 15px 4px 8px;border:1px solid rgba(143,181,220,.22);border-radius:15px;background:rgba(255,255,255,.95);box-shadow:0 12px 34px rgba(0,0,0,.18)}.brand-mark{position:relative;display:block;flex:0 0 52px;width:52px;height:54px;overflow:hidden}.brand-mark img{position:absolute;left:-38px;top:-30px;width:132px!important;height:132px!important;max-width:none!important;object-fit:contain}.brand-word{color:#202d5d;font-size:18px;font-weight:800;line-height:1;letter-spacing:-.035em;white-space:nowrap}.footer-brand .brand-word{color:var(--text)}.footer-brand .brand-mark{transform:scale(.88);transform-origin:left center}.footer-brand{gap:2px;color:var(--text)}html[data-theme="light"] .brand{border-color:rgba(32,45,93,.14);box-shadow:0 10px 28px rgba(34,74,114,.1)}
@media(max-width:560px){.brand{height:56px;padding:3px 11px 3px 5px;border-radius:13px}.brand-mark{flex-basis:47px;width:47px;height:50px}.brand-mark img{left:-36px;top:-31px;width:126px!important;height:126px!important}.brand-word{font-size:16px}}

/* Connected infrastructure visual */
.network-visual{isolation:isolate}.network-visual .orb-one{right:50%;top:50%;transform:translate(50%,-50%);animation:networkGlow 7s ease-in-out infinite}.network-visual .orb-two{left:50%;bottom:-5px;transform:translateX(-50%)}.network-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;filter:drop-shadow(0 0 9px rgba(22,159,224,.55))}.network-lines path{fill:none;stroke:rgba(71,190,243,.52);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:7 11;animation:signalFlow 3.4s linear infinite}.network-lines path:nth-child(2){animation-delay:-1.1s}.network-lines path:nth-child(3){animation-delay:-2.2s}.network-core,.network-node{z-index:2;animation:none}.network-core{left:50%;top:50%;transform:translate(-50%,-50%);width:300px;min-height:190px;padding:30px;background:linear-gradient(145deg,rgba(17,46,76,.94),rgba(10,25,47,.91));border-color:rgba(92,203,250,.45);box-shadow:0 28px 80px rgba(0,0,0,.36),inset 0 0 55px rgba(22,159,224,.08)}.network-core:before{content:"";position:absolute;inset:-1px;border-radius:17px;padding:1px;background:linear-gradient(135deg,rgba(83,207,255,.72),transparent 48%,rgba(74,104,196,.4));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.network-core b{max-width:205px;font-size:20px;line-height:1.22;margin-top:14px}.network-core p{max-width:205px;margin:10px 0 25px;color:var(--muted);font-size:12px;line-height:1.5}.core-status{display:flex;align-items:center;gap:8px}.core-status i{width:7px;height:7px;border-radius:50%;background:#35e3a1;box-shadow:0 0 13px #35e3a1}.core-status span{color:var(--muted);font-size:10px;letter-spacing:.04em}.network-node{width:190px;min-height:116px;padding:19px 68px 19px 20px;transition:transform .3s,border-color .3s,box-shadow .3s}.network-node:hover{transform:translateY(-5px);border-color:rgba(83,207,255,.58);box-shadow:0 22px 55px rgba(0,0,0,.32),0 0 28px rgba(22,159,224,.12)}.network-node b{font-size:14px;line-height:1.35;margin-top:13px}.node-video{left:5px;top:52px}.node-access{right:5px;top:52px}.node-it{left:50%;bottom:22px;transform:translateX(-50%);width:210px}.node-it:hover{transform:translateX(-50%) translateY(-5px)}.system-icon{position:absolute;right:16px;top:20px;width:43px;height:43px;color:#55c7fa;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;opacity:.72;filter:drop-shadow(0 0 12px rgba(22,159,224,.35));transition:opacity .3s,transform .3s,filter .3s}.system-card:hover .system-icon{opacity:1;transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 0 18px rgba(22,159,224,.6))}.control-icon{width:68px;height:68px;right:20px;top:61px;opacity:.58}.network-core:hover .control-icon{transform:translateY(-3px) scale(1.03)}html[data-theme="light"] .network-core{background:linear-gradient(145deg,rgba(255,255,255,.94),rgba(229,241,251,.94))}html[data-theme="light"] .system-card{background:rgba(255,255,255,.82)}
@keyframes signalFlow{to{stroke-dashoffset:-36}}@keyframes networkGlow{50%{opacity:.92;filter:blur(10px)}}
@media(max-width:900px){.network-visual{width:min(100%,620px);margin-inline:auto}}
@media(max-width:560px){.network-visual{height:480px}.network-lines{display:none}.network-visual .orb-one{width:300px;height:300px;top:42%}.network-core{left:0;top:14px;transform:none;width:100%;min-height:174px;padding:25px}.network-core b,.network-core p{max-width:215px}.network-core .control-icon{width:62px;height:62px;top:55px;right:19px}.network-node{min-height:108px;top:205px;width:calc(50% - 7px);padding:17px 52px 17px 16px}.network-node .system-icon{width:35px;height:35px;right:11px;top:17px}.node-video{left:0}.node-access{right:0}.node-it{left:0;bottom:auto;top:328px;transform:none;width:100%}.node-it:hover{transform:translateY(-5px)}}

/* Balanced service nodes */
@media(min-width:561px){.network-node b{display:flex;align-items:center;max-width:108px;min-height:38px;margin-top:11px}}

/* Theme-aware header logo: the mark keeps a compact light tile, while the
   wordmark belongs to the header surface instead of a large white capsule. */
.site-header .brand{height:64px;padding:0;gap:11px;border:0;background:transparent;box-shadow:none}.site-header .brand-mark{flex-basis:56px;width:56px;height:56px;border:1px solid rgba(143,181,220,.28);border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 10px 30px rgba(0,0,0,.22),0 0 24px rgba(22,159,224,.08)}.site-header .brand-word{color:var(--text);font-size:19px;letter-spacing:-.025em}.site-header .brand:hover .brand-mark{box-shadow:0 12px 34px rgba(0,0,0,.25),0 0 28px rgba(22,159,224,.18)}html[data-theme="light"] .site-header .brand{border:0;box-shadow:none}html[data-theme="light"] .site-header .brand-mark{border-color:rgba(32,45,93,.14);box-shadow:0 8px 24px rgba(34,74,114,.1)}

/* Project gallery */
.project-gallery{position:relative;display:grid;grid-template-columns:1.45fr .85fr;grid-template-rows:1fr 1fr;gap:10px;height:430px;min-width:0}.project-shot{position:relative;min-width:0;min-height:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#050d18}.project-shot-main{grid-row:1/3}.project-shot img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .4s ease}.project-shot:after{content:"";position:absolute;inset:38% 0 0;background:linear-gradient(transparent,rgba(3,10,20,.82));pointer-events:none}.project-shot:hover img{transform:scale(1.035);filter:saturate(1.08)}.project-shot figcaption{position:absolute;z-index:2;left:16px;right:16px;bottom:14px;color:#eef7ff;font-size:12px;font-weight:700;line-height:1.35;text-shadow:0 2px 12px rgba(0,0,0,.7)}.gallery-note{position:absolute;z-index:3;top:14px;left:14px;padding:7px 10px;border:1px solid rgba(255,255,255,.18);border-radius:8px;background:rgba(4,12,24,.72);backdrop-filter:blur(10px);color:rgba(255,255,255,.78);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:900px){.project-gallery{height:520px}}
@media(max-width:560px){.site-header .brand{height:56px;gap:8px}.site-header .brand-mark{flex-basis:50px;width:50px;height:50px;border-radius:13px}.site-header .brand-word{font-size:16px}.project-gallery{grid-template-columns:1fr 1fr;grid-template-rows:250px 145px;height:405px}.project-shot-main{grid-column:1/3;grid-row:1}.project-shot figcaption{left:12px;right:12px;bottom:11px;font-size:11px}.gallery-note{top:10px;left:10px;font-size:8px}}

/* Header logo matches the clean transparent footer lockup. */
.site-header .brand-mark,.site-header .brand:hover .brand-mark,html[data-theme="light"] .site-header .brand-mark{border:0;background:transparent;box-shadow:none}.site-header .brand-mark{filter:drop-shadow(0 5px 12px rgba(0,0,0,.16))}

/* Process card pictograms */
.feature-card{position:relative;overflow:hidden}.feature-icon{position:absolute;top:27px;right:28px;width:64px;height:64px;color:var(--blue);opacity:.55;filter:drop-shadow(0 0 13px rgba(22,159,224,.18));transition:opacity .3s,transform .3s,filter .3s}.feature-icon svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.feature-card:hover .feature-icon{opacity:.95;transform:translateY(-3px) scale(1.04);filter:drop-shadow(0 0 18px rgba(22,159,224,.42))}.feature-card:after{content:"";position:absolute;width:150px;height:150px;top:-80px;right:-70px;border-radius:50%;background:radial-gradient(circle,rgba(22,159,224,.1),transparent 70%);opacity:0;transition:opacity .3s}.feature-card:hover:after{opacity:1}
@media(max-width:560px){.feature-icon{top:24px;right:24px;width:56px;height:56px}}

/* Give the page chrome a softer navy lift without weakening the dark theme. */
html[data-theme="dark"] .site-header{background:linear-gradient(180deg,rgba(17,35,59,.94),rgba(9,21,39,.9));border-bottom-color:rgba(74,150,211,.22);box-shadow:0 12px 34px rgba(0,0,0,.13),inset 0 1px rgba(117,196,240,.04)}
html[data-theme="dark"] footer{max-width:none;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2));background:linear-gradient(180deg,rgba(10,24,43,.78),rgba(13,30,51,.94));border-top-color:rgba(74,150,211,.22);box-shadow:inset 0 18px 50px rgba(22,159,224,.025)}
html[data-theme="light"] .site-header{box-shadow:0 10px 28px rgba(34,74,114,.06)}
html[data-theme="light"] footer{max-width:none;padding-left:max(24px,calc((100vw - 1240px)/2));padding-right:max(24px,calc((100vw - 1240px)/2));background:linear-gradient(180deg,rgba(234,242,249,.55),rgba(225,237,247,.88))}
