:root{--brand:#0b5b4b;--brand2:#0f766e;--gold:#b68a35;--ink:#142033;--muted:#64748b;--line:#d9e3ea;--soft:#f4f7f8;--white:#fff;--dark:#0d1b2a}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Tahoma,Arial,sans-serif;background:var(--soft);color:var(--ink);line-height:1.75}
a{text-decoration:none;color:inherit}
.shell{width:min(1180px,calc(100% - 34px));margin:auto}
.topbar{background:var(--dark);color:#d7e3ec;font-size:12px}
.topbar .shell{display:flex;justify-content:space-between;gap:12px;padding:7px 0}
.header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}
.nav{height:76px;display:flex;align-items:center;gap:20px}
.brand{display:flex;align-items:center;gap:12px;font-weight:900}
.brand-mark{width:48px;height:48px;border-radius:8px;background:linear-gradient(135deg,var(--brand),#123e37);color:#fff;display:grid;place-items:center;font-size:18px;box-shadow:0 10px 22px rgba(11,91,75,.22)}
.brand-name{font-size:17px;line-height:1.25}
.brand-name small{display:block;color:var(--muted);font-size:10px;letter-spacing:.5px}
.links{display:flex;gap:17px;margin-inline-start:auto;color:#344054;font-weight:800;font-size:13px}
.links a.active{color:var(--brand)}
.actions{display:flex;align-items:center;gap:9px;margin-inline-start:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:7px;padding:10px 15px;font-weight:900;border:1px solid var(--line);background:#fff;color:#1f2937;transition:.18s ease}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#fff}
.btn:hover{transform:translateY(-1px);box-shadow:0 8px 18px rgba(15,23,42,.10)}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#eef6f4 52%,#f7f0e3 100%);padding:78px 0 56px}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 18% 15%,rgba(182,138,53,.16),transparent 28%),radial-gradient(circle at 82% 12%,rgba(11,91,75,.16),transparent 26%)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.06fr .94fr;gap:36px;align-items:center}
.badge{display:inline-block;background:#fff;border:1px solid #cfe3dc;color:var(--brand);border-radius:999px;padding:6px 13px;font-weight:900;font-size:13px;margin-bottom:14px}
h1{font-size:clamp(34px,5vw,60px);line-height:1.15;margin:0 0 18px;letter-spacing:0;color:#102033}
.lead{font-size:18px;color:#506173;margin:0 0 27px;max-width:740px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.hero-card{background:rgba(255,255,255,.9);border:1px solid rgba(217,227,234,.9);border-radius:8px;padding:18px;box-shadow:0 22px 55px rgba(15,32,51,.12)}
.tech-board{min-height:390px;border-radius:8px;overflow:hidden;border:1px solid #d5e2e8;background:linear-gradient(145deg,#17344b,#0b5b4b);position:relative;color:#fff;padding:22px}
.tech-board:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent 0 24px,rgba(255,255,255,.06) 25px),linear-gradient(90deg,transparent 0 24px,rgba(255,255,255,.05) 25px);background-size:25px 25px;opacity:.45}
.tech-inner{position:relative;height:100%;display:grid;grid-template-rows:auto 1fr auto;gap:18px}
.tech-head{display:flex;justify-content:space-between;gap:10px;align-items:center}
.tech-head b{font-size:22px}
.pill{border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:5px 10px;font-size:12px;color:#eaf6f3}
.tech-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-content:center}
.tech-box{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:8px;padding:15px;min-height:96px}
.tech-box strong{display:block;font-size:28px;color:#f5d38a}
.tech-box span{color:#e6f1ef;font-size:13px}
.line{height:8px;border-radius:99px;background:rgba(255,255,255,.18);overflow:hidden;margin-top:13px}
.line i{display:block;height:100%;background:#f5d38a;border-radius:99px}
.section{padding:62px 0}
.section.white{background:#fff}
.section-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:24px}
.section-head div{max-width:800px}
.eyebrow{color:var(--gold);font-weight:900;font-size:13px;margin-bottom:4px}
h2{font-size:32px;line-height:1.25;margin:0 0 8px;color:#102033}
.section-head p,.muted{margin:0;color:var(--muted)}
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.service-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 12px 28px rgba(15,23,42,.05)}
.service-media{height:150px;position:relative;overflow:hidden;background:#123}
.service-body{padding:18px}
.service-body h3{margin:0 0 8px;font-size:18px}
.service-body p{margin:0;color:var(--muted);font-size:13px}
.service-media:before,.service-media:after{content:"";position:absolute}
.service-media.cctv{background:linear-gradient(135deg,#1f2937,#0f766e)}
.service-media.cctv:before{width:86px;height:44px;border-radius:9px;background:#e5eef3;top:46px;left:50%;transform:translateX(-50%);box-shadow:0 0 0 8px #cbd5df inset}
.service-media.cctv:after{width:28px;height:28px;border-radius:50%;background:#132033;top:54px;left:50%;transform:translateX(-50%);box-shadow:70px -36px 0 -9px rgba(245,211,138,.9),-76px 34px 0 -11px rgba(255,255,255,.8)}
.service-media.access{background:linear-gradient(135deg,#0f172a,#2563eb)}
.service-media.access:before{width:78px;height:100px;border-radius:12px;background:#e8eef5;top:27px;left:calc(50% - 39px);box-shadow:0 0 0 1px #fff}
.service-media.access:after{width:38px;height:38px;border-radius:50%;background:#0f766e;top:48px;left:calc(50% - 19px);box-shadow:0 48px 0 -10px #f5d38a}
.service-media.attendance{background:linear-gradient(135deg,#3b0764,#0f766e)}
.service-media.attendance:before{width:96px;height:76px;border-radius:12px;background:#f8fafc;top:38px;left:calc(50% - 48px)}
.service-media.attendance:after{width:42px;height:42px;border-radius:50%;background:#7c3aed;top:55px;left:calc(50% - 21px);box-shadow:0 0 0 9px #ddd6fe inset}
.service-media.network{background:linear-gradient(135deg,#0f172a,#0284c7)}
.service-media.network:before{width:110px;height:74px;border:2px solid rgba(255,255,255,.85);border-radius:50%;top:34px;left:calc(50% - 55px)}
.service-media.network:after{width:18px;height:18px;border-radius:50%;background:#f5d38a;top:62px;left:calc(50% - 9px);box-shadow:42px 20px 0 #fff,-42px 20px 0 #fff,0 42px 0 #fff}
.service-media.audio{background:linear-gradient(135deg,#111827,#b45309)}
.service-media.audio:before{width:66px;height:82px;border-radius:12px;background:#f8fafc;top:35px;left:calc(50% - 33px)}
.service-media.audio:after{width:32px;height:32px;border-radius:50%;background:#111827;top:47px;left:calc(50% - 16px);box-shadow:0 42px 0 -3px #111827}
.service-media.gate{background:linear-gradient(135deg,#172554,#0f766e)}
.service-media.gate:before{width:118px;height:14px;background:#f8fafc;top:72px;left:calc(50% - 59px);transform:rotate(-12deg);border-radius:999px}
.service-media.gate:after{width:22px;height:82px;background:#f5d38a;top:42px;left:calc(50% - 58px);border-radius:6px}
.service-media.computers{background:linear-gradient(135deg,#0f172a,#475569)}
.service-media.computers:before{width:104px;height:68px;border-radius:9px;background:#e2e8f0;top:34px;left:calc(50% - 52px);box-shadow:0 0 0 9px #111827 inset}
.service-media.computers:after{width:48px;height:10px;background:#e2e8f0;top:111px;left:calc(50% - 24px);box-shadow:0 14px 0 22px #cbd5e1}
.service-media.software{background:linear-gradient(135deg,#064e3b,#155e75)}
.service-media.software:before{width:112px;height:78px;border-radius:10px;background:#f8fafc;top:35px;left:calc(50% - 56px)}
.service-media.software:after{width:76px;height:10px;border-radius:99px;background:#0f766e;top:54px;left:calc(50% - 38px);box-shadow:0 21px 0 #f5d38a,0 42px 0 #94a3b8}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:24px}
.card h3{margin:0 0 8px;color:var(--brand);font-size:22px}
.card p{margin:0;color:#526173}
.slider{overflow:hidden;border:1px solid var(--line);background:#fff;border-radius:8px;padding:15px}
.track{display:flex;gap:12px;width:max-content;animation:slide 28s linear infinite}
.track.reverse{animation-direction:reverse}
.tile{min-width:170px;height:84px;border:1px solid #e5edf2;border-radius:8px;display:grid;place-items:center;padding:12px;background:#fbfdff;text-align:center;font-weight:900;color:#334155}
.tile.client{min-width:220px;background:#102033;color:#fff;border-color:#102033}
@keyframes slide{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:18px}
.contact-list{display:grid;gap:10px}
.contact-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:15px;font-weight:800}
.form{background:#fff;border:1px solid var(--line);border-radius:8px;padding:20px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field{display:grid;gap:6px}
.field.full{grid-column:1/-1}
.field label{font-size:13px;font-weight:900;color:#344054}
.field input,.field textarea{border:1px solid #cfdbe4;border-radius:7px;padding:11px;font-family:inherit;background:#fff}
.field textarea{min-height:130px;resize:vertical}
.footer{background:#0d1825;color:#cbd5df;padding:26px 0;text-align:center}
@media(max-width:1100px){.services-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:920px){.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.links{display:none}.section-head{display:block}.tech-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:620px){.shell{width:min(100% - 22px,1180px)}.topbar .shell{display:block;text-align:center}.nav{height:auto;min-height:72px;padding:11px 0;flex-wrap:wrap}.actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.brand-name{font-size:14px}.hero{padding:42px 0 34px}h1{font-size:32px}.lead{font-size:16px}.hero-actions .btn{width:100%}.services-grid{grid-template-columns:1fr}.tech-board{min-height:330px;padding:16px}.section{padding:42px 0}.hero-card{padding:10px}.tile{min-width:150px}}
