@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#06111f;--navy2:#091827;--red:#ed1c24;--ink:#101722;--muted:#667085;--line:#e5e7eb;--bg:#f7f8fa;--white:#fff;--max:1400px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}a{text-decoration:none;color:inherit}.container{width:min(var(--max),calc(100% - 64px));margin:auto}
.site-header{height:78px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:38px;height:38px;border-radius:10px;background:var(--navy);color:#fff;display:grid;place-items:center;font-weight:800;font-size:18px}.brand-text{font-weight:800;letter-spacing:.4px}.brand-text small{display:block;font-size:9px;letter-spacing:.8px;color:#6b7280;margin-top:1px}.main-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:700}.main-nav a{transition:.2s}.main-nav a:hover{color:var(--red)}.nav-cta{border:1px solid #202b39;border-radius:999px;padding:10px 18px}.menu-toggle{display:none;background:none;border:0;font-size:25px}
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:680px}.hero-grid{position:absolute;inset:0;opacity:.35;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px}.hero-inner{min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:20px;position:relative}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:800;color:#ff4b52;margin:0 0 15px}.eyebrow.dark{color:var(--red)}.hero h1{font-size:clamp(48px,6vw,82px);line-height:.98;letter-spacing:-4px;margin:0 0 26px;font-weight:800}.hero h1 span{color:var(--red)}.hero-lead{max-width:650px;color:#cbd5e1;font-size:17px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:5px;padding:13px 19px;font-size:14px;font-weight:800;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{filter:brightness(1.08);transform:translateY(-2px)}.btn-ghost{border-color:#536274;color:#fff}.btn-soft{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.15)}.hero-points{display:flex;gap:42px;margin-top:48px}.hero-points div{display:flex;flex-direction:column}.hero-points strong{font-size:16px}.hero-points span{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#93a4b8;margin-top:3px}
.hero-visual{height:520px;position:relative;display:grid;place-items:center}.radar{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;width:430px;height:430px}.radar-b{width:300px;height:300px;border-color:rgba(237,28,36,.35)}.camera-card{width:330px;height:225px;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:linear-gradient(145deg,#253548,#0d1725);transform:rotate(-7deg);box-shadow:0 25px 70px rgba(0,0,0,.35);display:grid;place-items:center;position:relative}.lens{width:122px;height:122px;border-radius:50%;background:radial-gradient(circle at 50% 48%,#90a4b8 0 4%,#101b29 5% 18%,#02070d 19% 35%,#12263b 36% 48%,#02070d 49% 100%);box-shadow:0 0 30px #02070d}.lens i{display:block;width:12px;height:12px;background:#fff;border-radius:50%;margin:43px auto 0;opacity:.8}.live-tag{position:absolute;left:25px;bottom:18px;font-size:9px;letter-spacing:2px;color:#b8c7d8}.float-chip{position:absolute;border:1px solid rgba(255,255,255,.16);background:rgba(8,20,34,.85);border-radius:6px;padding:10px 13px;font-size:10px;font-weight:800;letter-spacing:1px}.chip-cctv{right:5%;top:31%}.chip-network{left:5%;bottom:30%}.chip-access{right:7%;bottom:22%}
.section{padding:105px 0}.section-head{display:flex;justify-content:space-between;gap:50px;align-items:end;margin-bottom:48px}.section-head h2{max-width:720px;font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-2px;margin:0}.section-head p{max-width:520px;color:var(--muted);margin:0}.solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.solution-card{border:1px solid var(--line);padding:30px;min-height:280px;position:relative;transition:.25s}.solution-card:hover{transform:translateY(-5px);box-shadow:0 20px 45px rgba(15,23,42,.09)}.solution-card.featured{background:var(--navy);color:#fff}.solution-card>span{font-size:10px;color:#98a2b3}.icon{font-size:26px;margin:24px 0 12px;color:var(--red)}.solution-card h3{margin:0 0 10px;font-size:21px}.solution-card p{font-size:13px;color:var(--muted);margin:0 0 22px}.featured p{color:#b8c4d2}.solution-card a{font-size:12px;font-weight:800;color:var(--red)}
.dark-section{background:var(--navy);color:#fff}.section-head.light p{color:#9eacbd}.tech-list{border-top:1px solid #243244}.tech-list a{display:grid;grid-template-columns:1fr 1.4fr 30px;gap:20px;align-items:center;padding:22px 0;border-bottom:1px solid #243244}.tech-list b{font-size:19px}.tech-list span{color:#9eacbd;font-size:13px}.tech-list em{font-style:normal;color:var(--red);font-size:22px}
.services{background:var(--bg)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dfe3e8}.service-grid>div{padding:28px 24px;border-right:1px solid #dfe3e8}.service-grid>div:last-child{border-right:0}.service-grid span{font-size:10px;color:var(--red);font-weight:800}.service-grid h3{font-size:20px}.service-grid p{font-size:13px;color:var(--muted)}
.project-section{background:#f0f2f5}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.project-grid h2{font-size:clamp(40px,4vw,60px);line-height:1.05;letter-spacing:-2px;margin:0 0 20px}.project-grid>div>p:not(.eyebrow){color:var(--muted)}.process{display:grid;grid-template-columns:1fr 1fr;border:1px solid #d8dde4;background:#fff}.process div{padding:18px;border-bottom:1px solid #d8dde4}.process div:nth-child(odd){border-right:1px solid #d8dde4}.process div:nth-last-child(-n+2){border-bottom:0}.process b{color:var(--red);font-size:11px;margin-right:10px}
.brands{background:#fff}.brand-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.brand-grid span{padding:22px 15px;text-align:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:13px;font-weight:800}.about-strip{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:80px;padding-top:55px;border-top:1px solid var(--line)}.about-strip h2{font-size:clamp(32px,3vw,46px);line-height:1.05;margin:0}.about-strip p:last-child{color:var(--muted)}
.contact-section{background:var(--navy);color:#fff;padding:100px 0}.contact-grid{display:grid;grid-template-columns:1fr .8fr;gap:90px}.contact-grid h2{font-size:clamp(38px,4vw,58px);line-height:1.05;letter-spacing:-2px;margin:0 0 45px}.contact-details{display:grid;gap:18px}.contact-details a,.contact-details div{display:flex;flex-direction:column;border-top:1px solid #243244;padding-top:13px}.contact-details span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#8493a5}.contact-details b{font-size:14px;margin-top:3px}.lead-form{background:#fff;color:var(--ink);padding:30px;border-radius:4px;display:grid;gap:16px}.lead-form label{font-size:11px;font-weight:800}.lead-form input,.lead-form select,.lead-form textarea{width:100%;margin-top:6px;border:1px solid #d8dde5;padding:12px;font:inherit;font-size:13px;border-radius:3px;background:#fff}.form-status{font-size:10px;color:#667085;margin:0}
.footer{background:#040c15;color:#aeb9c6;padding:50px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.footer-grid strong{color:#fff;font-size:15px}.footer-grid p{font-size:12px}.footer-grid span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1px}.footer-grid b{display:block;color:#fff;font-size:13px;margin-top:5px}.footer-bottom{border-top:1px solid #1e2a37;margin-top:40px;padding-top:18px;font-size:10px;display:flex;justify-content:space-between}.footer-bottom a{color:#fff}
@media(max-width:900px){.container{width:min(var(--max),calc(100% - 32px))}.main-nav{display:none}.main-nav.open{display:flex;position:absolute;top:78px;left:0;right:0;background:#fff;padding:20px 24px;flex-direction:column;align-items:stretch;gap:15px;border-bottom:1px solid var(--line)}.menu-toggle{display:block}.hero-inner{grid-template-columns:1fr;min-height:auto;padding:80px 0}.hero-visual{height:420px}.hero h1{letter-spacing:-3px}.hero-points{gap:20px}.solution-grid{grid-template-columns:1fr 1fr}.section-head{display:block}.section-head p{margin-top:20px}.service-grid{grid-template-columns:1fr 1fr}.service-grid>div:nth-child(2){border-right:0}.project-grid,.contact-grid,.about-strip{grid-template-columns:1fr;gap:45px}.brand-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.site-header{height:68px}.hero{min-height:auto}.hero-inner{padding:65px 0 55px}.hero h1{font-size:48px}.hero-lead{font-size:15px}.hero-actions{display:grid}.hero-points{display:grid;grid-template-columns:1fr 1fr;margin-top:35px}.hero-visual{height:330px}.radar{width:290px;height:290px}.radar-b{width:205px;height:205px}.camera-card{width:250px;height:170px}.lens{width:92px;height:92px}.lens i{margin-top:32px}.float-chip{font-size:8px;padding:8px}.section{padding:75px 0}.solution-grid,.service-grid{grid-template-columns:1fr}.service-grid>div{border-right:0!important}.tech-list a{grid-template-columns:1fr 24px}.tech-list span{display:none}.brand-grid{grid-template-columns:repeat(2,1fr)}.about-strip{margin-top:55px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom a{display:block;margin-top:10px}}

/* Hero visual refinement */
.brand-text{white-space:nowrap;font-size:15px}
.hero-visual{height:520px;min-width:0}
.camera-card{overflow:hidden;display:flex;align-items:center;justify-content:center}
.camera-body{width:150px;height:112px;border-radius:50%;background:radial-gradient(circle at 50% 48%,#9eb1c3 0 4%,#172a3d 5% 18%,#02070d 19% 38%,#10263b 39% 55%,#01050a 56% 100%);box-shadow:0 0 0 10px rgba(0,0,0,.18),0 0 28px rgba(0,0,0,.65);position:relative}
.camera-body:before{content:"";position:absolute;inset:10px;border-radius:50%;border:1px solid rgba(255,255,255,.1)}
.camera-body:after{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:#d9e9f7;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 16px rgba(255,255,255,.8)}
.camera-lens span{position:absolute;width:34px;height:34px;border-radius:50%;background:#02070d;left:58px;top:39px;box-shadow:inset 0 0 12px #29445e}
.camera-led{position:absolute;width:7px;height:7px;border-radius:50%;background:#e8f5ff;right:10px;top:16px;box-shadow:0 0 10px #fff}
@media(max-width:900px){
  .brand-text{font-size:13px}
  .hero-inner{grid-template-columns:1fr}
  .hero-visual{height:390px}
}
@media(max-width:600px){
  .brand-text{font-size:11px;max-width:220px;white-space:normal;line-height:1.15}
  .hero-visual{height:310px}
  .camera-card{width:270px;height:185px}
  .camera-body{width:125px;height:95px}
  .camera-lens span{width:29px;height:29px;left:48px;top:33px}
}

/* Final layout fixes */
.hero-visual{transform:translateY(-28px)}
.chip-cctv{right:4%;top:23%}
.chip-network{left:3%;bottom:auto;top:52%}
.chip-access{right:6%;bottom:auto;top:65%}
@media(max-width:900px){
  .hero-visual{transform:none}
  .tech-list{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .tech-list{grid-template-columns:1fr}
  .tech-list a{min-height:165px}
  .chip-cctv{right:1%;top:22%}
  .chip-network{left:1%;top:55%}
  .chip-access{right:2%;top:67%}
}

/* v6 refinements */
.technology-section .tech-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  border-top:0;
}
.technology-section .tech-list a{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:9px;
  min-height:205px;
  padding:25px 23px;
  border:1px solid #243244;
  border-radius:4px;
  background:rgba(255,255,255,.025);
  transition:transform .2s ease,border-color .2s ease,background .2s ease;
}
.technology-section .tech-list a:hover{
  transform:translateY(-3px);
  border-color:#4a5b70;
  background:rgba(255,255,255,.045);
}
.technology-section .tech-list .tech-no{
  color:#8291a4;
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
}
.technology-section .tech-list b{
  color:#fff;
  font-size:19px;
  line-height:1.2;
  margin-top:18px;
}
.technology-section .tech-list a>span:not(.tech-no){
  color:#9eacbd;
  font-size:13px;
  line-height:1.55;
}
.technology-section .tech-list em{
  margin-top:auto;
  color:var(--red);
  font-size:12px;
  font-style:normal;
  font-weight:800;
}
.tech-cta{
  margin-top:28px;
  padding-top:24px;
  border-top:1px solid #243244;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.tech-cta span{color:#aeb9c6;font-size:13px}
.btn-outline-light{border-color:#536274;color:#fff}
.btn-outline-light:hover{border-color:#fff;color:#fff}

.contact-details{max-width:620px}
.contact-details a,.contact-details div{gap:4px}
.contact-details b{line-height:1.45;word-break:break-word}

.footer-grid>div{padding-right:18px}
.footer-grid>div+div{border-left:1px solid #1e2a37;padding-left:30px}
.footer-grid b{line-height:1.4}

@media(max-width:900px){
  .technology-section .tech-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tech-cta{align-items:flex-start;flex-direction:column}
  .footer-grid>div+div{border-left:0;padding-left:0}
}
@media(max-width:600px){
  .technology-section .tech-list{grid-template-columns:1fr}
  .technology-section .tech-list a{min-height:175px}
}

/* v7 final layout fixes */
#technology.technology-section .tech-list{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:16px !important;
  border-top:0 !important;
}
#technology.technology-section .tech-list a{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  min-height:220px !important;
  padding:26px 24px !important;
  gap:8px !important;
  border:1px solid #263648 !important;
  border-radius:4px !important;
  background:rgba(255,255,255,.025) !important;
}
#technology.technology-section .tech-list a:hover{
  transform:translateY(-3px);
  border-color:#607086 !important;
  background:rgba(255,255,255,.05) !important;
}
#technology.technology-section .tech-list .tech-no{
  color:#8795a6 !important;
  font-size:10px !important;
  font-weight:800 !important;
  letter-spacing:1.5px !important;
}
#technology.technology-section .tech-list b{
  color:#fff !important;
  font-size:20px !important;
  line-height:1.2 !important;
  margin-top:22px !important;
}
#technology.technology-section .tech-list a>span:not(.tech-no){
  color:#a8b4c3 !important;
  font-size:13px !important;
  line-height:1.55 !important;
}
#technology.technology-section .tech-list em{
  margin-top:auto !important;
  color:var(--red) !important;
  font-size:12px !important;
  font-style:normal !important;
  font-weight:800 !important;
}
#technology .tech-cta{
  margin-top:28px !important;
  padding-top:24px !important;
  border-top:1px solid #263648 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}
#technology .tech-cta span{color:#aeb9c6 !important;font-size:13px !important}
#technology .tech-cta .btn{border-color:#657487;color:#fff}
#technology .tech-cta .btn:hover{border-color:#fff;color:#fff}

.services .section-head{margin-bottom:38px}
.services .service-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:16px !important;
  border-top:0 !important;
}
.services .service-grid>div{
  min-height:210px;
  padding:28px 26px !important;
  border:1px solid #dfe3e8 !important;
  background:#fff;
  border-radius:4px;
}
.services .service-grid>div:last-child{border-right:1px solid #dfe3e8 !important}
.services .service-grid span{
  display:block;
  margin-bottom:22px;
  color:var(--red);
  font-size:10px;
  font-weight:800;
  letter-spacing:1.5px;
}
.services .service-grid h3{margin:0 0 12px;font-size:21px}
.services .service-grid p{margin:0;max-width:560px;line-height:1.6}

@media(max-width:900px){
  #technology.technology-section .tech-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .services .service-grid{grid-template-columns:1fr !important}
}
@media(max-width:600px){
  #technology.technology-section .tech-list{grid-template-columns:1fr !important}
  #technology.technology-section .tech-list a{min-height:180px !important}
  #technology .tech-cta{align-items:flex-start !important;flex-direction:column !important}
}

/* v8: force final Technology + Services card layouts */
section#technology .tech-list,
section#technology.technology-section .tech-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-auto-rows: 1fr !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
section#technology .tech-list > a {
  display: flex !important;
  flex-direction: column !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 205px !important;
  margin: 0 !important;
  padding: 24px !important;
  border: 1px solid #263648 !important;
  border-radius: 4px !important;
  background: rgba(255,255,255,.025) !important;
  box-sizing: border-box !important;
}
section#technology .tech-list > a > .tech-no { margin: 0 !important; }
section#technology .tech-list > a > b {
  display: block !important;
  margin: 24px 0 8px !important;
  color: #fff !important;
  font-size: 19px !important;
  line-height: 1.25 !important;
}
section#technology .tech-list > a > span:not(.tech-no) {
  display: block !important;
  color: #a8b4c3 !important;
  font-size: 13px !important;
  line-height: 1.55 !important;
}
section#technology .tech-list > a > em {
  display: block !important;
  margin-top: auto !important;
  color: var(--red) !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 800 !important;
}
section#technology .tech-list > a:hover {
  transform: translateY(-3px);
  border-color: #657487 !important;
  background: rgba(255,255,255,.05) !important;
}

section#services .service-grid,
section.services .service-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
section#services .service-grid > div {
  display: flex !important;
  flex-direction: column !important;
  min-height: 190px !important;
  padding: 26px !important;
  border: 1px solid #dfe3e8 !important;
  border-radius: 4px !important;
  background: #fff !important;
  box-sizing: border-box !important;
}
section#services .service-grid > div > span {
  display: block !important;
  margin: 0 0 22px !important;
  color: var(--red) !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
}
section#services .service-grid > div > h3 {
  margin: 0 0 10px !important;
  font-size: 20px !important;
  line-height: 1.25 !important;
}
section#services .service-grid > div > p {
  margin: 0 !important;
  color: var(--ink) !important;
  line-height: 1.6 !important;
}

@media (max-width: 900px) {
  section#technology .tech-list { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  section#services .service-grid { grid-template-columns: 1fr !important; }
}
@media (max-width: 600px) {
  section#technology .tech-list { grid-template-columns: 1fr !important; }
}


/* v9 functionality polish */
html{scroll-behavior:smooth}
section[id]{scroll-margin-top:90px}
.main-nav a,.btn,.solution-card a,.tech-list a,.footer-bottom a{cursor:pointer}
@media(max-width:900px){section[id]{scroll-margin-top:76px}}

/* v10 premium visual polish */
.solution-card .visual-icon{height:58px;width:74px;position:relative;margin:22px 0 20px;color:var(--red)}
.cctv-icon:before{content:"";position:absolute;width:48px;height:30px;left:3px;top:14px;border:2px solid currentColor;border-radius:18px 18px 12px 12px;transform:skewX(-10deg)}
.cctv-icon:after{content:"";position:absolute;width:18px;height:18px;border:2px solid currentColor;border-radius:50%;left:18px;top:20px}
.network-icon:before{content:"";position:absolute;width:52px;height:30px;left:3px;top:14px;border:2px solid currentColor;border-radius:4px}
.network-icon:after{content:"••••";position:absolute;left:13px;top:7px;font-size:17px;letter-spacing:5px}
.biometric-icon:before{content:"";position:absolute;width:39px;height:50px;left:14px;top:4px;border:2px solid currentColor;border-radius:20px}
.biometric-icon:after{content:"";position:absolute;width:15px;height:15px;border:2px solid currentColor;border-radius:50%;left:26px;top:13px}
.access-icon:before{content:"";position:absolute;width:38px;height:49px;left:17px;top:4px;border:2px solid currentColor;border-radius:3px}
.access-icon:after{content:"";position:absolute;width:7px;height:7px;background:currentColor;border-radius:50%;left:47px;top:29px}
.storage-icon:before{content:"";position:absolute;width:54px;height:42px;left:6px;top:9px;border:2px solid currentColor;border-radius:5px}
.storage-icon:after{content:"";position:absolute;width:30px;height:2px;background:currentColor;left:18px;top:29px;box-shadow:0 -8px 0 currentColor,0 8px 0 currentColor}
.project-icon:before{content:"";position:absolute;width:52px;height:34px;left:6px;top:8px;border:2px solid currentColor;border-radius:3px}
.project-icon:after{content:"";position:absolute;width:25px;height:2px;background:currentColor;left:19px;top:47px;box-shadow:0 -7px 0 currentColor}
.category-visual-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}
.category-visual-strip>a{min-height:88px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:17px 19px;text-decoration:none;color:inherit;position:relative;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.category-visual-strip>a:hover,.category-visual-strip>a:focus-visible{transform:translateY(-3px);border-color:#bfc8d4;box-shadow:0 10px 24px rgba(7,20,36,.08);outline:none}
.category-visual-strip b{font-size:10px;letter-spacing:1px}
.category-visual-strip small{display:block;font-size:9px;color:#7a8798;margin-top:4px}
.mini-cam,.mini-network,.mini-access,.mini-biometric{display:block;width:38px;height:38px;border:1.5px solid #cfd6df;border-radius:8px;position:relative}
.mini-cam:after{content:"";width:15px;height:15px;border:1.5px solid var(--red);border-radius:50%;position:absolute;left:10px;top:10px}
.mini-network:after{content:"•••";letter-spacing:4px;color:var(--red);position:absolute;left:7px;top:7px}
.mini-access:after{content:"";width:17px;height:22px;border:1.5px solid var(--red);position:absolute;left:10px;top:7px;border-radius:2px}
.mini-biometric:after{content:"";width:17px;height:21px;border:1.5px solid var(--red);border-radius:9px;position:absolute;left:9px;top:7px}
@media(max-width:900px){.category-visual-strip{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.category-visual-strip{grid-template-columns:1fr 1fr}.category-visual-strip>a{padding:12px;min-height:72px}.category-visual-strip b{font-size:8px}.category-visual-strip small{font-size:8px}}

/* v11 trusted brand logo presentation */
.brand-logos{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:#fff}
.brand-logos .brand-logo{
  min-height:92px;padding:18px 12px;display:flex;align-items:center;justify-content:center;
  gap:5px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);
  background:#fff;color:#1f2937;filter:grayscale(1);opacity:.82;
  transition:filter .2s,opacity .2s,transform .2s,background .2s;
}
.brand-logos .brand-logo:hover{filter:grayscale(0);opacity:1;transform:translateY(-2px);background:#fafbfc}
.brand-logo span{font-weight:800;font-size:18px;letter-spacing:-.4px;line-height:1}
.brand-logo b{font-size:13px;font-weight:700}
.brand-logo.cpplus span{font-size:22px;letter-spacing:-2px}.brand-logo.cpplus b{font-size:11px;letter-spacing:1px}
.brand-logo.hikvision span{font-size:18px;letter-spacing:-1px}
.brand-logo.gemvision span{font-size:18px;letter-spacing:-1px}.brand-logo.gemvision b{font-size:14px}
.brand-logo.matrix span{font-size:16px;letter-spacing:2px}
.brand-logo.honeywell span{font-size:17px}
.brand-logo.tplink span{font-size:18px}.brand-logo.tapo span{font-size:24px;letter-spacing:-1px}
.brand-logo.imou span{font-size:23px;letter-spacing:-1px}.brand-logo.qubo span{font-size:21px}
.brand-logo.trueview span{font-size:14px;letter-spacing:2px}.brand-logo.tenda span{font-size:20px}
.brand-logo.sandisk span{font-size:18px}.brand-logo.wd span{font-size:26px;letter-spacing:-2px}
.brand-logo.seagate span{font-size:17px}.brand-logo.lexar span{font-size:21px}
@media(max-width:900px){.brand-logos{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.brand-logos{grid-template-columns:repeat(2,1fr)}.brand-logos .brand-logo{min-height:78px}}

/* v13 responsive hardening */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto}

@media (max-width:1100px){
  .container{width:min(var(--max),calc(100% - 32px))}
  .site-header{height:72px}
  .nav-wrap{position:relative}
  .menu-toggle{display:grid;place-items:center;width:44px;height:44px;padding:0;color:var(--navy);font-size:24px;line-height:1;cursor:pointer}
  .main-nav{display:none}
  .main-nav.open{display:flex;position:absolute;top:72px;left:-16px;right:-16px;background:#fff;padding:18px 24px 22px;flex-direction:column;align-items:stretch;gap:8px;border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(6,17,31,.08)}
  .main-nav.open a{padding:10px 0}
  .main-nav.open .nav-cta{padding:11px 16px;text-align:center;margin-top:4px}
  .hero-inner{grid-template-columns:1fr;gap:0;padding:64px 0 48px;min-height:auto}
  .hero-copy{max-width:760px}
  .hero h1{font-size:clamp(42px,7vw,64px);letter-spacing:-2.5px;line-height:.98}
  .hero-lead{max-width:680px}
  .hero-visual{height:330px;transform:none}
  .radar{width:300px;height:300px}
  .radar-b{width:210px;height:210px}
  .camera-card{width:280px;height:190px}
  .solution-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .category-visual-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:720px){
  .container{width:calc(100% - 28px)}
  .site-header{height:64px}
  .brand{min-width:0;gap:8px}
  .brand-mark{width:34px;height:34px;border-radius:9px;font-size:16px;flex:0 0 34px}
  .brand-text{font-size:12px;line-height:1.15;white-space:normal;max-width:245px}
  .menu-toggle{width:40px;height:40px;font-size:22px;flex:0 0 40px}
  .main-nav.open{top:64px;left:-14px;right:-14px}
  .hero-inner{padding:48px 0 28px}
  .eyebrow{font-size:9px;letter-spacing:1.5px;margin-bottom:12px}
  .hero h1{font-size:clamp(34px,10.5vw,50px);letter-spacing:-1.8px;line-height:1.02;margin-bottom:20px}
  .hero-lead{font-size:14px;line-height:1.55}
  .hero-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:22px}
  .btn{width:100%;padding:12px 16px;font-size:13px}
  .hero-points{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
  .hero-points strong{font-size:14px}
  .hero-points span{font-size:8px}
  .hero-visual{height:250px;margin-top:10px}
  .radar{width:220px;height:220px}
  .radar-b{width:155px;height:155px}
  .camera-card{width:235px;height:155px;border-radius:16px}
  .camera-body{width:112px;height:84px}
  .camera-lens span{width:27px;height:27px;left:43px;top:29px}
  .float-chip{padding:7px 9px;font-size:7px;letter-spacing:.8px}
  .chip-cctv{right:0;top:18%}
  .chip-network{left:0;top:50%}
  .chip-access{right:0;top:67%}
  .section{padding:62px 0}
  .section-head{margin-bottom:30px}
  .section-head h2{font-size:clamp(32px,9vw,44px);letter-spacing:-1.5px}
  .section-head p{font-size:14px;line-height:1.55}
  .solution-grid{grid-template-columns:1fr;gap:12px}
  .solution-card{min-height:0;padding:24px}
  .category-visual-strip{grid-template-columns:1fr 1fr;gap:9px}
  .category-visual-strip>a{min-height:70px;padding:11px;gap:9px}
  .category-visual-strip b{font-size:8px}
  .category-visual-strip small{font-size:7px}
  .technology-section .tech-list,#technology.technology-section .tech-list,section#technology .tech-list{grid-template-columns:1fr !important;gap:12px !important}
  section#technology .tech-list>a{min-height:160px !important;padding:22px !important}
  .tech-cta{gap:16px}
  .services .service-grid,section#services .service-grid{grid-template-columns:1fr !important;gap:12px !important}
  section#services .service-grid>div{min-height:0 !important;padding:22px !important}
  .project-grid,.contact-grid,.about-strip{gap:30px}
  .process{grid-template-columns:1fr}
  .process div{border-right:0 !important;border-bottom:1px solid #d8dde4 !important}
  .process div:last-child{border-bottom:0 !important}
  .brand-logos{grid-template-columns:repeat(2,1fr)}
  .brand-logos .brand-logo{min-height:76px;padding:14px 8px}
  .contact-section{padding:70px 0}
  .lead-form{padding:22px}
  .footer-grid{grid-template-columns:1fr}
}
.btn-outline-dark{border:1px solid #202b39;color:var(--ink);background:#fff}.btn-outline-dark:hover{background:#f3f4f6;transform:translateY(-2px)}
.home-teaser{background:#fff}
@media(max-width:600px){.home-teaser .section-head h2{font-size:36px}.home-teaser .hero-actions{display:grid}}


/* v15 trusted brand grid correction */
.brand-logos .brand-logo span,
.brand-logos .brand-logo b{padding:0!important;border:0!important;margin:0!important;display:inline-block!important}
.brand-logos .brand-logo{overflow:hidden;min-width:0}
.brand-logos .brand-logo.cpplus,.brand-logos .brand-logo.gemvision{gap:8px}

/* v15 page banners */
.page-banner{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:350px;display:flex;align-items:center;border-bottom:1px solid #152235}
.page-banner:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px;opacity:.55}
.page-banner:after{content:"";position:absolute;width:520px;height:520px;border:1px solid rgba(237,28,36,.35);border-radius:50%;right:-120px;top:-170px;box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 140px rgba(255,255,255,.018)}
.page-banner-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;padding:74px 0}
.page-banner-copy .eyebrow{margin-bottom:16px}
.page-banner h1{font-size:clamp(44px,6vw,76px);line-height:.98;letter-spacing:-3px;margin:0 0 18px;color:#fff}
.page-banner h1 span{color:var(--red)}
.page-banner p{max-width:650px;color:#b9c6d5;font-size:16px;margin:0}
.page-banner-art{height:220px;position:relative;display:grid;place-items:center}
.banner-orbit{position:absolute;border:1px solid rgba(255,255,255,.15);border-radius:50%;width:230px;height:230px}
.banner-orbit:before{content:"";position:absolute;inset:30px;border:1px solid rgba(237,28,36,.38);border-radius:50%}
.banner-device{width:190px;height:125px;border-radius:16px;background:linear-gradient(145deg,#26384c,#0d1725);border:1px solid rgba(255,255,255,.14);transform:rotate(-7deg);box-shadow:0 24px 60px rgba(0,0,0,.35);position:relative;display:grid;place-items:center}
.banner-device:before{content:"";width:55px;height:55px;border-radius:50%;background:radial-gradient(circle,#b6c6d5 0 4%,#15283b 5% 24%,#02070d 25% 52%,#10263b 53% 70%,#01050a 71%);box-shadow:0 0 20px rgba(0,0,0,.6)}
.banner-device:after{content:"SECURITY • TECHNOLOGY";position:absolute;bottom:10px;left:15px;font-size:7px;letter-spacing:1.5px;color:#b8c7d8}
.banner-chip{position:absolute;padding:9px 12px;border:1px solid rgba(255,255,255,.14);border-radius:6px;background:rgba(6,17,31,.85);font-size:9px;font-weight:800;letter-spacing:1px}
.banner-chip.one{right:5%;top:22%}.banner-chip.two{left:2%;bottom:22%}

/* v15 home five-banner carousel */
.home-banner-carousel{position:relative;background:var(--navy);color:#fff;overflow:hidden}
.home-banner-carousel .slide{display:none;min-height:680px;position:relative}
.home-banner-carousel .slide.active{display:block}
.home-banner-carousel .slide:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px;opacity:.5}
.home-banner-carousel .slide-inner{position:relative;z-index:2;min-height:680px;display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:center}
.home-banner-carousel h1{font-size:clamp(48px,6vw,82px);line-height:.97;letter-spacing:-4px;margin:0 0 24px;color:#fff}
.home-banner-carousel h1 span{color:var(--red)}
.home-banner-carousel .lead{max-width:650px;color:#cbd5e1;font-size:17px}
.home-banner-carousel .visual{height:500px;position:relative;display:grid;place-items:center}
.home-banner-carousel .visual .orbit{position:absolute;border:1px solid rgba(255,255,255,.14);border-radius:50%;width:420px;height:420px}
.home-banner-carousel .visual .orbit:before{content:"";position:absolute;inset:58px;border:1px solid rgba(237,28,36,.35);border-radius:50%}
.home-banner-carousel .device{width:330px;height:220px;border-radius:20px;background:linear-gradient(145deg,#253548,#0d1725);border:1px solid rgba(255,255,255,.15);transform:rotate(-7deg);box-shadow:0 25px 70px rgba(0,0,0,.35);display:grid;place-items:center;position:relative}
.home-banner-carousel .device:before{content:"";width:118px;height:118px;border-radius:50%;background:radial-gradient(circle,#a8bacb 0 4%,#172a3d 5% 18%,#02070d 19% 38%,#10263b 39% 55%,#01050a 56%);box-shadow:0 0 0 10px rgba(0,0,0,.18),0 0 28px rgba(0,0,0,.65)}
.home-banner-carousel .device:after{content:"SMART SECURITY • SURVEILLANCE";position:absolute;bottom:18px;left:25px;font-size:8px;letter-spacing:2px;color:#b8c7d8}
.carousel-dots{position:absolute;z-index:5;bottom:28px;left:50%;transform:translateX(-50%);display:flex;gap:8px}
.carousel-dots button{width:32px;height:4px;border:0;border-radius:4px;background:#415065;cursor:pointer;padding:0}
.carousel-dots button.active{background:var(--red)}
.carousel-arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:rgba(6,17,31,.75);color:#fff;font-size:20px;cursor:pointer}
.carousel-arrow.prev{left:24px}.carousel-arrow.next{right:24px}
.slide-badge{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.15);border-radius:999px;color:#d9e2ec;font-size:10px;font-weight:800;letter-spacing:1.2px;margin-bottom:18px;background:rgba(255,255,255,.04)}

@media(max-width:900px){
 .page-banner{min-height:430px}.page-banner-inner{grid-template-columns:1fr;padding:68px 0}.page-banner-art{height:190px}
 .home-banner-carousel .slide,.home-banner-carousel .slide-inner{min-height:auto}.home-banner-carousel .slide-inner{grid-template-columns:1fr;padding:80px 0 90px}.home-banner-carousel .visual{height:350px}.home-banner-carousel .visual .orbit{width:300px;height:300px}.home-banner-carousel .device{width:270px;height:180px}
}
@media(max-width:600px){
 .page-banner{min-height:390px}.page-banner-inner{padding:55px 0 50px}.page-banner h1{font-size:46px;letter-spacing:-2px}.page-banner p{font-size:14px}.page-banner-art{height:145px}.banner-device{width:150px;height:98px}.banner-orbit{width:170px;height:170px}.banner-chip{font-size:7px;padding:7px 9px}
 .home-banner-carousel .slide-inner{padding:60px 0 85px}.home-banner-carousel h1{font-size:48px;letter-spacing:-2.5px}.home-banner-carousel .lead{font-size:15px}.home-banner-carousel .visual{height:260px}.home-banner-carousel .visual .orbit{width:235px;height:235px}.home-banner-carousel .device{width:235px;height:155px}.home-banner-carousel .device:before{width:85px;height:85px}.carousel-arrow{width:36px;height:36px;font-size:16px}.carousel-arrow.prev{left:10px}.carousel-arrow.next{right:10px}.carousel-dots{bottom:22px}
}

/* v16 deployment + banner polish */
html,body{overflow-x:hidden}
.page-banner{min-height:410px}
.page-banner-inner{min-height:410px}
.page-banner-art{min-width:0}
.home-banner-carousel .slide-inner{min-height:700px}
.home-banner-carousel .visual{min-width:0}
.home-banner-carousel .slide-badge{color:#fff}
.carousel-arrow:focus-visible,.carousel-dots button:focus-visible,.main-nav a:focus-visible,.btn:focus-visible{outline:2px solid #ff4b52;outline-offset:3px}
.brand-logos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--line);background:#fff}
.brand-logos .brand-logo{min-height:110px;display:flex;align-items:center;justify-content:center;gap:8px;padding:18px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:800;color:#50555d;background:#fff}
.brand-logos .brand-logo:nth-child(5n){border-right:0}
.brand-logos .brand-logo:nth-last-child(-n+5){border-bottom:0}
.brand-logos .brand-logo span,.brand-logos .brand-logo b{padding:0!important;border:0!important;margin:0!important;display:inline-block!important}
.brand-logos .brand-logo span{font-size:20px;letter-spacing:-.8px}
.brand-logos .brand-logo b{font-size:12px;letter-spacing:.8px}
@media(max-width:900px){.brand-logos{grid-template-columns:repeat(3,minmax(0,1fr))}.brand-logos .brand-logo:nth-child(5n){border-right:1px solid var(--line)}.brand-logos .brand-logo:nth-child(3n){border-right:0}.brand-logos .brand-logo:nth-last-child(-n+5){border-bottom:1px solid var(--line)}.brand-logos .brand-logo:nth-last-child(-n+3){border-bottom:0}}
@media(max-width:600px){.home-banner-carousel .slide-inner{min-height:auto}.page-banner{min-height:390px}.page-banner-inner{min-height:auto}.brand-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-logos .brand-logo:nth-child(3n){border-right:1px solid var(--line)}.brand-logos .brand-logo:nth-child(2n){border-right:0}.brand-logos .brand-logo:nth-last-child(-n+3){border-bottom:1px solid var(--line)}.brand-logos .brand-logo:nth-last-child(-n+2){border-bottom:0}}


/* v17: distinct product-focused banners */
.banner-image,.home-banner-image{width:100%;height:100%;object-fit:contain;display:block;border-radius:22px;filter:drop-shadow(0 28px 45px rgba(0,0,0,.28))}
.page-banner-art{height:300px!important}
.page-banner-art .banner-image{height:300px}
.page-banner{min-height:430px!important}
.page-banner-solutions{background:linear-gradient(110deg,#06111f,#0a1c30 55%,#071321)}
.page-banner-technology{background:linear-gradient(110deg,#06111f,#071a2d 55%,#061321)}
.page-banner-services{background:linear-gradient(110deg,#071321,#102235 58%,#071321)}
.page-banner-projects{background:linear-gradient(110deg,#071321,#0d2032 55%,#071321)}
.page-banner-about{background:linear-gradient(110deg,#06111f,#102234 55%,#071321)}
.page-banner-contact{background:linear-gradient(110deg,#06111f,#14283b 55%,#071321)}
.home-banner-carousel .slide{background:#071321}
.home-banner-carousel .slide:nth-child(1){background:linear-gradient(110deg,#06111f,#071b30 58%,#071321)}
.home-banner-carousel .slide:nth-child(2){background:linear-gradient(110deg,#071321,#182b40 58%,#071321)}
.home-banner-carousel .slide:nth-child(3){background:linear-gradient(110deg,#06111f,#08253b 58%,#071321)}
.home-banner-carousel .slide:nth-child(4){background:linear-gradient(110deg,#071321,#18263a 58%,#071321)}
.home-banner-carousel .slide:nth-child(5){background:linear-gradient(110deg,#06111f,#15283b 58%,#071321)}
.home-banner-carousel .visual{height:430px!important;min-height:0}
.home-banner-carousel .home-banner-image{height:430px;max-height:430px}
.home-banner-carousel .slide-inner{min-height:650px}
@media(max-width:900px){.page-banner-inner{grid-template-columns:1fr;gap:18px}.page-banner-art{height:240px!important}.page-banner-art .banner-image{height:240px}.home-banner-carousel .visual{height:310px!important}.home-banner-carousel .home-banner-image{height:310px}.home-banner-carousel .slide-inner{min-height:auto;padding:75px 0 90px}}
@media(max-width:600px){.page-banner{min-height:0!important}.page-banner-art{height:190px!important}.page-banner-art .banner-image{height:190px}.home-banner-carousel .visual{height:235px!important}.home-banner-carousel .home-banner-image{height:235px}.home-banner-carousel .slide-inner{padding:55px 0 78px}}

/* v18 photographic banner polish */
.home-banner-carousel .home-banner-image{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:22px;box-shadow:0 28px 70px rgba(0,0,0,.38)}
.home-banner-carousel .visual{overflow:visible}
.page-banner-art{overflow:hidden;border-radius:22px}
.page-banner-art .banner-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center;border-radius:22px;box-shadow:0 24px 55px rgba(6,17,31,.18)}
.page-banner-art{min-height:300px}
@media(max-width:900px){.page-banner-art{min-height:250px}.page-banner-art .banner-image{max-height:300px}}

/* Rental Solutions page */
.rental-hero{background:var(--navy);color:#fff;overflow:hidden;position:relative}.rental-hero:before{content:"";position:absolute;inset:0;opacity:.3;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:58px 58px}.rental-hero-grid{position:relative;min-height:700px;display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding:70px 0}.rental-hero-copy h1{font-size:clamp(48px,5.4vw,76px);line-height:.99;letter-spacing:-3px;margin:0 0 24px;max-width:700px}.rental-hero-copy h1 span{color:var(--red)}.rental-lead{max-width:660px;color:#c8d3df;font-size:16px;line-height:1.7}.rental-hero-art{border-radius:28px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.12)}.rental-hero-art img{display:block;width:100%;height:auto}.rental-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}.rental-stats div{display:flex;flex-direction:column;border-top:1px solid #263648;padding-top:12px}.rental-stats strong{font-size:13px}.rental-stats span{font-size:9px;color:#8fa0b2;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.rental-intro{background:#fff}.rental-service-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.rental-service-card{border:1px solid var(--line);background:#fff;overflow:hidden;display:grid;grid-template-rows:auto 1fr;transition:.25s}.rental-service-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(15,23,42,.1)}.rental-service-card>img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;background:#0a1626}.rental-card-body{padding:28px 28px 30px}.rental-card-body>span{color:var(--red);font-size:10px;font-weight:800;letter-spacing:1.5px}.rental-card-body h3{font-size:25px;margin:14px 0 10px;line-height:1.15}.rental-card-body p{color:var(--muted);font-size:13px;line-height:1.65}.rental-card-body ul{margin:18px 0 24px;padding:0;list-style:none;display:grid;gap:8px}.rental-card-body li{font-size:12px;color:#334155;padding-left:18px;position:relative}.rental-card-body li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:800}.rental-card-body a{color:var(--red);font-size:12px;font-weight:800}.featured-rental{background:var(--navy);color:#fff;border-color:#243648}.featured-rental .rental-card-body p,.featured-rental .rental-card-body li{color:#aebdcc}.rental-process{padding:105px 0}.rental-process-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #263648}.rental-process-grid>div{padding:28px 24px;border-right:1px solid #263648}.rental-process-grid>div:last-child{border-right:0}.rental-process-grid b{color:var(--red);font-size:11px;letter-spacing:1.5px}.rental-process-grid h3{font-size:19px;margin:18px 0 9px;color:#fff}.rental-process-grid p{font-size:13px;color:#9eacbd;margin:0}.rental-usecases{background:var(--bg)}.usecase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.usecase-grid div{background:#fff;border:1px solid var(--line);padding:24px;min-height:130px;display:flex;flex-direction:column;justify-content:center}.usecase-grid strong{font-size:17px}.usecase-grid span{font-size:12px;color:var(--muted);margin-top:6px}.faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.faq-grid details{border:1px solid var(--line);background:#fff;padding:20px 22px}.faq-grid summary{font-size:14px;font-weight:800;cursor:pointer}.faq-grid p{color:var(--muted);font-size:13px;line-height:1.65;margin:12px 0 0}.rental-final-cta{margin-top:70px;padding:36px;border:1px solid #dce2e8;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.rental-final-cta h2{font-size:clamp(28px,3vw,42px);line-height:1.05;margin:0;max-width:760px}.rental-final-cta .eyebrow{margin-bottom:10px}
@media(max-width:900px){.rental-hero-grid{grid-template-columns:1fr;padding:70px 0}.rental-hero-art{max-width:700px}.rental-stats{grid-template-columns:repeat(2,1fr)}.rental-service-grid{grid-template-columns:1fr}.rental-process-grid{grid-template-columns:1fr 1fr}.rental-process-grid>div:nth-child(2){border-right:0}.usecase-grid{grid-template-columns:1fr 1fr}.faq-grid{grid-template-columns:1fr}.rental-final-cta{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.rental-hero-grid{padding:55px 0}.rental-hero-copy h1{font-size:48px;letter-spacing:-2.5px}.rental-lead{font-size:14px}.rental-stats{gap:12px}.rental-service-card>img{aspect-ratio:4/3}.rental-card-body{padding:23px}.rental-process{padding:75px 0}.rental-process-grid{grid-template-columns:1fr}.rental-process-grid>div{border-right:0!important;border-bottom:1px solid #263648}.rental-process-grid>div:last-child{border-bottom:0}.usecase-grid{grid-template-columns:1fr}.rental-final-cta{margin-top:50px;padding:26px}}
.rental-solution-card{background:#f7f9fb}.rental-solution-card:hover{background:#fff}

/* Modern attractive footer */
.footer-modern{background:#061321;color:#d9e2ec;margin-top:0;position:relative;overflow:hidden;border-top:1px solid #172a3d}.footer-modern:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:56px 56px}.footer-modern:after{content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(239,32,39,.16);border-radius:50%;right:-180px;top:-210px;box-shadow:0 0 0 55px rgba(239,32,39,.025),0 0 0 110px rgba(239,32,39,.018);pointer-events:none}.footer-modern-top{position:relative;z-index:1;display:grid;grid-template-columns:1.7fr .9fr 1.15fr 1.1fr;gap:54px;padding:72px 0 58px}.footer-brand{max-width:420px}.footer-logo{display:inline-flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:14px;line-height:1.25;font-weight:800}.footer-logo-mark{width:42px;height:42px;border-radius:11px;background:#fff;color:#061321;display:grid;place-items:center;font-size:20px;font-weight:900}.footer-brand p{color:#91a3b6;font-size:13px;line-height:1.75;max-width:390px;margin:20px 0 25px}.footer-cta{display:inline-flex;align-items:center;gap:12px;background:#ef2027;color:#fff;text-decoration:none;padding:12px 18px;border-radius:7px;font-size:12px;font-weight:800;transition:.2s}.footer-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(239,32,39,.22)}.footer-cta span{font-size:17px}.footer-col{display:flex;flex-direction:column;gap:11px}.footer-col h3{font-size:11px;text-transform:uppercase;letter-spacing:1.8px;color:#fff;margin:0 0 10px}.footer-col a{color:#8fa2b6;text-decoration:none;font-size:12px;transition:.2s}.footer-col a:hover{color:#fff;transform:translateX(2px)}.footer-contact p{margin:0 0 13px;display:flex;flex-direction:column;gap:4px}.footer-contact p span{font-size:9px;text-transform:uppercase;letter-spacing:1.4px;color:#63788d}.footer-contact strong{font-size:12px;color:#dce5ee;font-weight:600}.footer-contact a{color:#fff;font-size:12px;font-weight:700}.footer-strip{position:relative;z-index:1;border-top:1px solid #1a2c3e;border-bottom:1px solid #1a2c3e;padding:17px 0;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:11px;color:#8397aa}.footer-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ef2027;margin-right:8px;box-shadow:0 0 0 5px rgba(239,32,39,.1)}.footer-strip-links{display:flex;gap:22px}.footer-strip-links a{color:#a8b7c6;text-decoration:none}.footer-strip-links a:hover{color:#fff}.footer-bottom{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0;color:#61768a;font-size:10px}.footer-bottom span:last-child{color:#8294a7}@media(max-width:900px){.footer-modern-top{grid-template-columns:1.4fr 1fr 1fr;gap:38px}.footer-brand{grid-column:1/-1;max-width:650px}.footer-contact{grid-column:3}}@media(max-width:600px){.footer-modern-top{grid-template-columns:1fr 1fr;gap:34px;padding:52px 0 40px}.footer-brand,.footer-contact{grid-column:1/-1}.footer-strip{align-items:flex-start;flex-direction:column;gap:13px}.footer-strip-links{gap:18px;flex-wrap:wrap}.footer-bottom{align-items:flex-start;flex-direction:column;gap:7px;padding:17px 0}.footer-brand p{font-size:12px}.footer-col a{font-size:11px}}


/* Premium unified footer */
.site-footer{background:#06111f;color:#fff;margin-top:0;border-top:1px solid rgba(255,255,255,.08)}
.site-footer .footer-main{display:grid;grid-template-columns:1.55fr 1fr 1.15fr 1.15fr 1.25fr;gap:34px;padding:58px 0 44px}
.site-footer h4{margin:0 0 18px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#fff}
.footer-brand p{max-width:390px;color:#9fb0c4;line-height:1.7;margin:20px 0}
.footer-logo-row{display:flex;gap:12px;align-items:center}
.footer-logo-row strong{display:block;font-size:16px}
.footer-logo-row span:not(.footer-mark){display:block;color:#9fb0c4;font-size:12px;margin-top:5px}
.footer-mark{width:38px;height:38px;border-radius:10px;background:#fff;color:#06111f;display:grid;place-items:center;font-weight:800;font-size:18px}
.footer-col,.footer-contact{display:flex;flex-direction:column;gap:11px}
.footer-col a,.footer-contact a{color:#9fb0c4;text-decoration:none;font-size:13px;transition:.2s}
.footer-col a:hover,.footer-contact a:hover{color:#fff}
.footer-contact p{margin:0 0 8px;color:#9fb0c4;font-size:13px;line-height:1.55}
.footer-contact p strong{color:#fff;font-size:12px}
.footer-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.footer-socials a{color:#d9e2ec;border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:7px 10px;font-size:11px;text-decoration:none}
.footer-socials a:hover{border-color:#f5222d;color:#fff}
.footer-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:8px}
.footer-quote,.footer-outline{display:inline-flex!important;align-items:center;justify-content:center;padding:10px 14px;border-radius:7px;font-weight:700}
.footer-quote{background:#f5222d;color:#fff!important}
.footer-outline{border:1px solid rgba(255,255,255,.2);color:#fff!important}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;gap:20px;padding:18px 0;color:#8092a7;font-size:11px}
.footer-bottom div{display:flex;gap:18px}
.footer-bottom a{color:#9fb0c4;text-decoration:none}
@media(max-width:1000px){
  .site-footer .footer-main{grid-template-columns:repeat(2,1fr);padding:45px 20px 35px}
  .footer-brand{grid-column:1/-1}
  .footer-bottom{margin:0 20px}
}
@media(max-width:600px){
  .site-footer .footer-main{grid-template-columns:1fr;gap:28px;padding:38px 18px 30px}
  .footer-brand{grid-column:auto}
  .footer-bottom{margin:0 18px;flex-direction:column;align-items:flex-start;padding:16px 0 22px}
  .footer-bottom div{gap:12px;flex-wrap:wrap}
}


/* Homepage content expansion */
.home-two-col{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}
.home-about{padding:92px 0;background:#fff}
.home-about h2,.home-solutions h2,.home-capabilities h2,.home-process h2{font-size:clamp(32px,4vw,52px);line-height:1.05;margin:0;color:#081525;max-width:720px}
.home-copy{font-size:17px;line-height:1.75;color:#52647a;margin:0 0 15px}
.home-copy.muted{font-size:15px;color:#78889b}
.text-link{color:#f5222d;text-decoration:none;font-weight:800}
.home-solutions{background:#f5f7fa;padding:95px 0}
.section-head.centered{text-align:center;max-width:850px;margin:0 auto 48px}
.section-head.centered h2{margin-left:auto;margin-right:auto}
.section-head.centered p:last-child{color:#6c7b8e;line-height:1.7}
.home-solution-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dfe5ec}
.home-solution-card{padding:32px;text-decoration:none;background:#fff;border:1px solid #e5eaf0;min-height:240px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}
.home-solution-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(8,21,37,.08)}
.card-number{font-size:11px;color:#9aa9b9;font-weight:800;letter-spacing:.1em}
.home-solution-card h3{font-size:22px;color:#081525;margin:30px 0 10px}
.home-solution-card p{color:#6b7a8e;font-size:14px;line-height:1.65;margin:0 0 20px}
.card-link{color:#f5222d;font-size:13px;font-weight:800;margin-top:auto}
.home-solution-dark{background:#06111f;border-color:#06111f}
.home-solution-dark h3,.home-solution-dark p,.home-solution-dark .card-number{color:#fff}
.home-solution-dark p{color:#aab9ca}
.home-capabilities{padding:95px 0;background:#fff}
.capability-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #dfe5ec;margin-top:48px}
.capability-grid>div{padding:28px 24px;border-right:1px solid #dfe5ec}
.capability-grid>div:last-child{border-right:0}
.capability-grid span,.process-grid b{font-size:12px;color:#f5222d;font-weight:900;letter-spacing:.1em}
.capability-grid h3{font-size:19px;color:#081525;margin:18px 0 10px}
.capability-grid p,.process-grid p{font-size:14px;color:#6b7a8e;line-height:1.7;margin:0}
.home-process{background:#f5f7fa;padding:95px 0}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:45px}
.process-grid>div{background:#fff;border:1px solid #e1e7ee;padding:28px;min-height:180px}
.process-grid h3{margin:18px 0 9px;color:#081525}
.center-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.home-rental{padding:28px 0;background:#fff}
.home-rental-box{background:#06111f;color:#fff;padding:52px 60px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.home-rental-box h2{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:0 0 12px}
.home-rental-box p:not(.eyebrow){color:#aab9ca;line-height:1.7;margin:0;max-width:700px}
.eyebrow{font-size:11px;font-weight:900;letter-spacing:.12em;margin:0 0 14px}
.home-final-cta{background:#fff;padding:70px 0}
.final-cta-inner{background:#eef2f6;padding:55px 60px;display:flex;justify-content:space-between;align-items:center;gap:35px}
.final-cta-inner h2{font-size:clamp(30px,4vw,48px);line-height:1.05;color:#081525;max-width:720px;margin:0 0 14px}
.final-cta-inner p:not(.eyebrow){color:#65758a;line-height:1.7;max-width:700px;margin:0}
@media(max-width:900px){
 .home-two-col{grid-template-columns:1fr;gap:35px}
 .home-solution-grid{grid-template-columns:repeat(2,1fr)}
 .capability-grid,.process-grid{grid-template-columns:repeat(2,1fr)}
 .home-rental-box,.final-cta-inner{flex-direction:column;align-items:flex-start}
}
@media(max-width:600px){
 .home-about,.home-solutions,.home-capabilities,.home-process{padding:65px 0}
 .home-solution-grid,.capability-grid,.process-grid{grid-template-columns:1fr}
 .capability-grid>div{border-right:0;border-bottom:1px solid #dfe5ec}
 .home-rental-box,.final-cta-inner{padding:35px 25px}
}


/* ===== HOME PAGE FINAL LAYOUT V21 ===== */
.page-home .home-about{
  padding:78px 0 84px;
  background:#fff;
}
.page-home .home-two-col{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  gap:72px !important;
  align-items:start !important;
}
.page-home .home-about h2{
  font-size:clamp(34px,4vw,54px) !important;
  line-height:1.04 !important;
  letter-spacing:-1.8px !important;
}
.page-home .home-copy{
  max-width:680px;
  font-size:16px !important;
  line-height:1.75 !important;
}

.page-home .home-solutions{
  padding:82px 0 90px !important;
  background:#f4f6f8 !important;
}
.page-home .home-solutions .section-head{
  display:grid !important;
  grid-template-columns:1.25fr .75fr !important;
  gap:50px !important;
  align-items:end !important;
  margin-bottom:42px !important;
}
.page-home .home-solutions .section-head h2{
  font-size:clamp(38px,4vw,58px) !important;
  line-height:1.02 !important;
  letter-spacing:-2px !important;
  margin:0 !important;
  max-width:760px !important;
}
.page-home .home-solutions .section-head p:last-child{
  margin:0 !important;
  max-width:430px !important;
  line-height:1.7 !important;
}
.page-home .home-solution-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:14px !important;
  border:0 !important;
}
.page-home .home-solution-card{
  box-sizing:border-box !important;
  min-height:265px !important;
  padding:30px !important;
  border:1px solid #dfe5ec !important;
  border-radius:2px !important;
  background:#fff !important;
}
.page-home .home-solution-card h3{
  font-size:21px !important;
  margin:26px 0 10px !important;
}
.page-home .home-solution-card p{
  max-width:340px !important;
  line-height:1.65 !important;
}
.page-home .home-solution-dark{
  background:#071525 !important;
  border-color:#071525 !important;
}
.page-home .home-solution-dark h3{color:#fff !important}
.page-home .home-solution-dark p{color:#aebdcd !important}
.page-home .home-solution-dark .card-number{color:#fff !important}

.page-home .home-capabilities{
  padding:90px 0 !important;
  background:#fff !important;
}
.page-home .home-capabilities .section-head{
  display:grid !important;
  grid-template-columns:1.15fr .85fr !important;
  gap:50px !important;
  align-items:end !important;
}
.page-home .home-capabilities .section-head h2{
  font-size:clamp(38px,4vw,56px) !important;
  line-height:1.02 !important;
  letter-spacing:-2px !important;
}
.page-home .capability-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:0 !important;
  margin-top:48px !important;
  border-top:1px solid #dfe5ec !important;
}
.page-home .capability-grid>div{
  min-height:205px;
  padding:30px 24px !important;
  border-right:1px solid #dfe5ec !important;
  border-bottom:1px solid #dfe5ec !important;
}
.page-home .capability-grid>div:last-child{border-right:0 !important}

.page-home .home-process{
  padding:88px 0 !important;
  background:#f4f6f8 !important;
}
.page-home .home-process .section-head{
  display:grid !important;
  grid-template-columns:1.25fr .75fr !important;
  gap:50px !important;
  align-items:end !important;
}
.page-home .process-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  margin:45px 0 !important;
}
.page-home .process-grid>div{
  min-height:185px !important;
  padding:28px !important;
  background:#fff !important;
  border:1px solid #dfe5ec !important;
}

.page-home .home-rental{
  padding:30px 0 !important;
  background:#fff !important;
}
.page-home .home-rental-box{
  min-height:260px !important;
  box-sizing:border-box !important;
  padding:52px 58px !important;
  background:#071525 !important;
}
.page-home .home-rental-box h2{
  max-width:760px !important;
  font-size:clamp(32px,4vw,48px) !important;
  line-height:1.03 !important;
  letter-spacing:-1.5px !important;
}

.page-home .home-final-cta{
  padding:55px 0 90px !important;
  background:#fff !important;
}
.page-home .final-cta-inner{
  min-height:245px !important;
  box-sizing:border-box !important;
  padding:48px 58px !important;
  background:#eef2f6 !important;
}
.page-home .final-cta-inner h2{
  max-width:780px !important;
  font-size:clamp(32px,4vw,50px) !important;
  line-height:1.04 !important;
  letter-spacing:-1.5px !important;
}
.page-home .final-cta-inner .btn-outline-dark{
  color:#071525 !important;
  border-color:#071525 !important;
  background:transparent !important;
}

@media(max-width:900px){
  .page-home .home-two-col,
  .page-home .home-solutions .section-head,
  .page-home .home-capabilities .section-head,
  .page-home .home-process .section-head{
    grid-template-columns:1fr !important;
    gap:28px !important;
  }
  .page-home .home-solution-grid,
  .page-home .capability-grid,
  .page-home .process-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:600px){
  .page-home .home-about,
  .page-home .home-solutions,
  .page-home .home-capabilities,
  .page-home .home-process{
    padding:60px 0 !important;
  }
  .page-home .home-solution-grid,
  .page-home .capability-grid,
  .page-home .process-grid{
    grid-template-columns:1fr !important;
  }
  .page-home .home-rental-box,
  .page-home .final-cta-inner{
    padding:34px 25px !important;
  }
}


/* ===== HOME PAGE TYPOGRAPHY + SECTION ALIGNMENT V22 ===== */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');

.page-home{
  font-family:'Manrope',Inter,Arial,sans-serif;
  letter-spacing:0;
}
.page-home h1,
.page-home h2,
.page-home h3,
.page-home p,
.page-home a,
.page-home span,
.page-home strong,
.page-home b{
  font-family:inherit;
}

/* The centered helper class was forcing the homepage section heads into a narrow box. */
.page-home .home-solutions .section-head.centered,
.page-home .home-process .section-head.centered{
  width:100% !important;
  max-width:none !important;
  margin:0 0 42px !important;
  display:grid !important;
  grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr) !important;
  gap:48px !important;
  align-items:end !important;
  text-align:left !important;
}
.page-home .home-solutions .section-head.centered .eyebrow,
.page-home .home-process .section-head.centered .eyebrow{
  grid-column:1 / -1 !important;
  margin:0 0 -28px !important;
}
.page-home .home-solutions .section-head.centered h2,
.page-home .home-process .section-head.centered h2{
  margin:0 !important;
  max-width:720px !important;
  font-size:clamp(42px,4.4vw,56px) !important;
  line-height:1.05 !important;
  letter-spacing:-1.8px !important;
}
.page-home .home-solutions .section-head.centered p:last-child,
.page-home .home-process .section-head.centered p:last-child{
  max-width:430px !important;
  margin:0 !important;
  text-align:left !important;
}

/* More balanced homepage type scale. */
.page-home .home-about h2{font-size:clamp(34px,3.7vw,52px)!important;letter-spacing:-1.5px!important}
.page-home .home-solution-card h3{font-size:20px!important;letter-spacing:-.25px!important}
.page-home .home-capabilities .section-head h2{font-size:clamp(38px,3.8vw,52px)!important;letter-spacing:-1.5px!important}
.page-home .home-process .section-head h2{font-size:clamp(42px,4.4vw,56px)!important;letter-spacing:-1.8px!important}
.page-home .home-rental-box h2{font-size:clamp(30px,3.5vw,46px)!important;letter-spacing:-1.2px!important}
.page-home .final-cta-inner h2{font-size:clamp(30px,3.6vw,46px)!important;letter-spacing:-1.2px!important}

@media(max-width:900px){
  .page-home .home-solutions .section-head.centered,
  .page-home .home-process .section-head.centered{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .page-home .home-solutions .section-head.centered .eyebrow,
  .page-home .home-process .section-head.centered .eyebrow{
    margin:0 !important;
  }
}
@media(max-width:600px){
  .page-home .home-solutions .section-head.centered h2,
  .page-home .home-process .section-head.centered h2{font-size:36px!important;line-height:1.08!important}
}

/* ===== HOME PAGE VISUAL POLISH V23 ===== */
.page-home .home-solutions{background:#f3f6f9!important}
.page-home .home-solutions .section-head.centered{margin-bottom:46px!important}
.page-home .home-solution-grid{gap:16px!important}
.page-home .home-solution-card{
  position:relative!important;
  min-height:286px!important;
  padding:26px 27px 25px!important;
  overflow:hidden!important;
  border-radius:8px!important;
  box-shadow:0 1px 0 rgba(8,21,37,.02)!important;
}
.page-home .home-solution-card:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#ef1c24;
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.page-home .home-solution-card:hover:after{transform:scaleX(1)}
.page-home .solution-icon{
  width:44px;height:44px;border:1px solid #dce4ec;border-radius:10px;
  display:block;position:relative;margin-bottom:20px;background:#f8fafc;color:#081525;
}
.page-home .solution-icon:before,.page-home .solution-icon:after{content:"";position:absolute;box-sizing:border-box}
.page-home .icon-cctv:before{width:24px;height:15px;border:2px solid currentColor;border-radius:4px;left:9px;top:12px}
.page-home .icon-cctv:after{width:7px;height:7px;border:2px solid #ef1c24;border-radius:50%;left:17px;top:16px}
.page-home .icon-network:before{width:26px;height:17px;border:2px solid currentColor;border-radius:4px;left:8px;top:11px}
.page-home .icon-network:after{content:"•••";color:#ef1c24;letter-spacing:4px;font-size:13px;left:11px;top:10px}
.page-home .icon-biometric:before{width:22px;height:25px;border:2px solid currentColor;border-radius:11px 11px 8px 8px;left:10px;top:8px}
.page-home .icon-biometric:after{width:7px;height:7px;border:2px solid #ef1c24;border-radius:50%;left:17px;top:13px}
.page-home .icon-access:before{width:17px;height:24px;border:2px solid currentColor;border-radius:3px;left:13px;top:9px}
.page-home .icon-access:after{width:4px;height:4px;background:#ef1c24;border-radius:50%;left:17px;top:20px}
.page-home .icon-storage:before{width:26px;height:18px;border:2px solid currentColor;border-radius:4px;left:8px;top:10px}
.page-home .icon-storage:after{content:"••";color:#ef1c24;letter-spacing:5px;left:14px;top:8px}
.page-home .icon-project:before{width:26px;height:18px;border:2px solid currentColor;border-radius:3px;left:8px;top:11px}
.page-home .icon-project:after{width:10px;height:2px;background:#ef1c24;left:15px;top:19px;box-shadow:0 -5px 0 #ef1c24}
.page-home .home-solution-card .card-number{font-size:10px!important;color:#8b9aab!important;letter-spacing:1.5px!important}
.page-home .home-solution-card h3{margin:14px 0 9px!important;font-size:21px!important;line-height:1.2!important}
.page-home .home-solution-card p{font-size:13px!important;line-height:1.65!important;color:#65758a!important}
.page-home .home-solution-dark .solution-icon{background:rgba(255,255,255,.06);border-color:#304153;color:#fff}
.page-home .home-solution-dark .card-number{color:#aebdcd!important}
.page-home .home-solution-dark p{color:#aebdcd!important}
.page-home .home-solution-dark:after{background:#ff3a42}

.page-home .home-capabilities{padding-top:96px!important;padding-bottom:96px!important}
.page-home .home-capabilities .section-head p:not(.eyebrow){max-width:430px;line-height:1.75;color:#65758a}
.page-home .capability-grid{border-top:1px solid #d9e1e9!important;border-bottom:1px solid #d9e1e9!important}
.page-home .capability-grid>div{position:relative!important;min-height:218px!important;padding:30px 25px!important;background:#fff;transition:background .2s,transform .2s}
.page-home .capability-grid>div:hover{background:#f8fafc;transform:translateY(-2px)}
.page-home .capability-grid>div:before{content:"";position:absolute;left:25px;top:0;width:32px;height:3px;background:#ef1c24}
.page-home .capability-grid span{display:inline-block;margin-top:5px}
.page-home .capability-grid h3{font-size:19px!important;line-height:1.25!important;margin:24px 0 11px!important}
.page-home .capability-grid p{font-size:13px!important;line-height:1.7!important}

.page-home .home-process{padding-top:92px!important;padding-bottom:92px!important}
.page-home .process-grid{gap:12px!important}
.page-home .process-card{position:relative!important;min-height:205px!important;padding:28px 27px!important;border-radius:8px!important;overflow:hidden}
.page-home .process-card:after{content:"";position:absolute;right:24px;bottom:24px;width:34px;height:1px;background:#d9e1e9}
.page-home .process-card b{display:flex!important;width:34px;height:34px;border-radius:50%;align-items:center;justify-content:center;background:#eef2f6;color:#ef1c24!important;font-size:10px!important}
.page-home .process-card h3{font-size:20px!important;margin:22px 0 9px!important}
.page-home .process-card p{font-size:13px!important;line-height:1.7!important}
.page-home .center-actions{margin-top:4px}

.page-home .home-rental-box{border-radius:8px!important;box-shadow:0 18px 45px rgba(8,21,37,.08)!important}
.page-home .home-rental-box .eyebrow{color:#ff4b52!important}
.page-home .home-final-cta{padding-top:68px!important}
.page-home .final-cta-inner{border-radius:8px!important;border:1px solid #dce4ec!important}

@media(max-width:900px){
 .page-home .home-solution-card{min-height:260px!important}
 .page-home .capability-grid>div{min-height:190px!important}
}
@media(max-width:600px){
 .page-home .home-solutions .section-head.centered{margin-bottom:34px!important}
 .page-home .home-solution-card{min-height:245px!important;padding:24px!important}
 .page-home .solution-icon{margin-bottom:16px}
 .page-home .capability-grid>div{min-height:0!important;padding:26px 22px!important}
 .page-home .capability-grid>div:before{left:22px}
 .page-home .process-card{min-height:180px!important}
}


/* Quick contact actions */
.floating-actions{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;flex-direction:column;gap:10px}.floating-actions a{display:flex;align-items:center;justify-content:center;min-width:92px;height:44px;padding:0 14px;border-radius:999px;text-decoration:none;font-weight:700;font-size:13px;box-shadow:0 8px 24px rgba(0,0,0,.18)}.floating-whatsapp{background:#1fa855;color:#fff}.floating-call{background:#ff2029;color:#fff}@media(max-width:640px){.floating-actions{right:12px;bottom:12px}.floating-actions a{min-width:82px;height:40px;font-size:12px}}


/* Universal floating contact buttons */
.floating-actions{
  position:fixed!important;
  right:20px!important;
  bottom:20px!important;
  z-index:2147483647!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  visibility:visible!important;
  opacity:1!important;
}
.floating-actions a{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:100px!important;
  height:44px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  text-decoration:none!important;
  font:700 13px/1 Arial,Helvetica,sans-serif!important;
  box-shadow:0 8px 24px rgba(0,0,0,.22)!important;
}
.floating-whatsapp{background:#20b957!important;color:#fff!important}
.floating-call{background:#f5222d!important;color:#fff!important}
@media(max-width:640px){
  .floating-actions{right:12px!important;bottom:12px!important}
  .floating-actions a{min-width:88px!important;height:40px!important;font-size:12px!important}
}


/* FINAL HOME CAROUSEL FULL-WIDTH BANNERS */
.home-banner-carousel{position:relative;width:100%;min-height:680px;overflow:hidden;background:#071525}
.home-banner-carousel .slide{display:none;position:relative;width:100%;height:680px;min-height:680px;overflow:hidden}
.home-banner-carousel .slide.active{display:block}
.home-banner-carousel .home-full-banner-img{display:block;width:100%;height:680px;min-height:680px;object-fit:cover;object-position:center center}
.home-banner-carousel .carousel-arrow{z-index:5}
.home-banner-carousel .carousel-dots{z-index:5}
@media(max-width:900px){
 .home-banner-carousel,.home-banner-carousel .slide,.home-banner-carousel .home-full-banner-img{min-height:430px;height:430px}
 .home-banner-carousel .home-full-banner-img{object-fit:cover;object-position:center center}
}
@media(max-width:600px){
 .home-banner-carousel,.home-banner-carousel .slide,.home-banner-carousel .home-full-banner-img{min-height:360px;height:360px}
}

/* HOME CAROUSEL — FULL-WIDTH ALL 5 SLIDES */
.home-banner-carousel{width:100%;max-width:none;margin:0;padding:0;overflow:hidden;position:relative}
.home-banner-carousel .slide{width:100%;min-height:680px;height:680px;display:none;position:relative}
.home-banner-carousel .slide.active{display:block}
.home-banner-carousel .home-full-banner-img{display:block;width:100%;height:680px;min-height:680px;object-fit:cover;object-position:center center}
.home-banner-carousel .slide-inner{display:none!important}
@media(max-width:900px){
 .home-banner-carousel .slide,.home-banner-carousel .home-full-banner-img{height:430px;min-height:430px}
}
@media(max-width:600px){
 .home-banner-carousel .slide,.home-banner-carousel .home-full-banner-img{height:360px;min-height:360px}
}

/* FINAL FULL-WIDTH PAGE HERO FIX - 2026-09-06 */
.page-banner-inner{display:block!important;max-width:1180px!important;padding:86px 0!important}
.page-banner-art{display:none!important}
.page-banner{min-height:520px!important;background-position:center!important;background-size:cover!important;background-repeat:no-repeat!important}
.page-banner:before{background-image:linear-gradient(90deg,rgba(3,14,28,.92) 0%,rgba(3,14,28,.72) 42%,rgba(3,14,28,.28) 72%,rgba(3,14,28,.38) 100%),linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:auto,58px 58px,58px 58px;opacity:1}
.page-banner-solutions{background-image:url('assets/banners/page-solutions-hero.webp')!important}
.page-banner-technology{background-image:url('assets/banners/page-technology-hero.webp')!important}
.page-banner-services{background-image:url('assets/banners/page-services-hero.webp')!important}
.page-banner-solutions .page-banner-copy,.page-banner-technology .page-banner-copy,.page-banner-services .page-banner-copy{max-width:760px}
@media(max-width:900px){.page-banner{min-height:460px!important}.page-banner-inner{padding:72px 24px!important}.page-banner:before{background:linear-gradient(90deg,rgba(3,14,28,.90),rgba(3,14,28,.58))}}
@media(max-width:600px){.page-banner{min-height:430px!important}.page-banner-inner{padding:58px 20px!important}.page-banner h1{font-size:42px!important;letter-spacing:-1.5px!important}}


/* FINAL v2 — true full-width inner-page banners */
.page-banner{
  min-height:520px !important;
  width:100% !important;
  display:flex !important;
  align-items:stretch !important;
  position:relative !important;
  overflow:hidden !important;
  background-color:#06111f !important;
  background-size:cover !important;
  background-position:center !important;
}
.page-banner:before{
  z-index:0 !important;
  opacity:.22 !important;
}
.page-banner:after{
  z-index:0 !important;
  opacity:.55 !important;
}
.page-banner-inner{
  width:min(var(--max),calc(100% - 64px)) !important;
  min-height:520px !important;
  display:flex !important;
  align-items:center !important;
  padding:90px 0 !important;
  position:relative !important;
  z-index:2 !important;
}
.page-banner-copy{
  max-width:820px !important;
}
.page-banner-copy p:last-child{
  max-width:720px !important;
  color:#e2e8f0 !important;
  font-size:17px !important;
}
.page-banner-art{
  display:none !important;
}
.page-banner-solutions{
  background-image:linear-gradient(90deg,rgba(6,17,31,.90) 0%,rgba(6,17,31,.72) 42%,rgba(6,17,31,.28) 100%),url('assets/banners/solutions-full.webp') !important;
}
.page-banner-projects{
  background-image:linear-gradient(90deg,rgba(6,17,31,.90) 0%,rgba(6,17,31,.68) 44%,rgba(6,17,31,.24) 100%),url('assets/banners/projects-full.webp') !important;
}
.about-hero{
  min-height:520px !important;
  width:100% !important;
  position:relative !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  color:#fff !important;
  background:
    linear-gradient(90deg,rgba(6,17,31,.92) 0%,rgba(6,17,31,.72) 45%,rgba(6,17,31,.22) 100%),
    url('assets/banners/about-full.webp') center/cover no-repeat !important;
}
.about-hero .camera-shape{display:none !important}
.about-hero .container{
  position:relative !important;
  z-index:2 !important;
  padding:90px 0 !important;
}
.about-hero>div.container{width:min(var(--max),calc(100% - 64px)) !important}
.about-hero p:not(.eyebrow){
  max-width:720px !important;
  color:#e2e8f0 !important;
  font-size:17px !important;
}
@media(max-width:900px){
  .page-banner-inner{width:calc(100% - 32px) !important;min-height:500px !important;padding:75px 0 !important}
  .page-banner{min-height:500px !important}
  .about-hero{min-height:500px !important}
  .about-hero>div.container{width:calc(100% - 32px) !important}
}
@media(max-width:600px){
  .page-banner-inner{width:calc(100% - 30px) !important;min-height:480px !important;padding:65px 0 !important}
  .page-banner{min-height:480px !important}
  .page-banner h1{font-size:46px !important;letter-spacing:-2.5px !important}
  .page-banner-copy p:last-child{font-size:15px !important}
  .about-hero{min-height:480px !important}
  .about-hero .container{padding:65px 0 !important}
  .about-hero h1{font-size:46px !important;letter-spacing:-2.5px !important}
  .about-hero p:not(.eyebrow){font-size:15px !important}
}

/* CLEAN PAGE HERO V3 - removes baked-in banner text and uses image as visual only */
.clean-page-hero{position:relative;min-height:500px;display:flex;align-items:center;overflow:hidden;background:#061321;color:#fff}
.clean-page-hero:after{content:"";position:absolute;inset:0 0 0 52%;background-position:center;background-size:cover;background-repeat:no-repeat;z-index:0}
.clean-page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#061321 0%,#061321 38%,rgba(6,19,33,.92) 50%,rgba(6,19,33,.25) 72%,rgba(6,19,33,.12) 100%);z-index:1}
.clean-page-hero .container{position:relative;z-index:2;width:min(var(--max),calc(100% - 64px));padding:82px 0}
.clean-page-hero-copy{max-width:650px}
.clean-page-hero .eyebrow{margin-bottom:16px}
.clean-page-hero h1{font-size:clamp(44px,5.6vw,72px);line-height:.98;letter-spacing:-3px;margin:0 0 20px;max-width:720px}
.clean-page-hero p:not(.eyebrow){color:#c9d6e3;max-width:650px;font-size:16px;line-height:1.7;margin:0}
.clean-page-hero .hero-actions{display:flex;gap:12px;margin-top:28px}
.clean-hero-solutions:after{background-image:url('assets/banners/page-solutions-hero.webp')}
.clean-hero-technology:after{background-image:url('assets/banners/page-technology-hero.webp')}
.clean-hero-services:after{background-image:url('assets/banners/page-services-hero.webp')}
.clean-hero-rental:after{background-image:url('assets/banners/banner-rental.webp')}
.clean-hero-projects:after{background-image:url('assets/banners/projects-full.webp')}
.clean-hero-about:after{background-image:url('assets/banners/about-full.webp')}
@media(max-width:900px){
 .clean-page-hero{min-height:460px}
 .clean-page-hero:after{inset:0;background-position:center right;opacity:.45}
 .clean-page-hero:before{background:linear-gradient(90deg,rgba(6,19,33,.98),rgba(6,19,33,.82))}
 .clean-page-hero .container{padding:70px 24px;width:100%}
 .clean-page-hero h1{letter-spacing:-2px}
}
@media(max-width:600px){
 .clean-page-hero{min-height:430px}
 .clean-page-hero .container{padding:58px 20px}
 .clean-page-hero h1{font-size:clamp(38px,10vw,52px)}
 .clean-page-hero .hero-actions{display:grid;grid-template-columns:1fr}
}

/* =========================================================
   GEM VISION FINAL CLEAN FULL-WIDTH PAGE HEROES V4
   Uses clean right-side photo crops so baked banner typography
   never collides with the live HTML heading.
   ========================================================= */
.clean-page-hero{
  position:relative!important;
  isolation:isolate!important;
  min-height:520px!important;
  display:flex!important;
  align-items:center!important;
  overflow:hidden!important;
  color:#fff!important;
  background:#061321!important;
  margin:0!important;
  padding:0!important;
}
.clean-page-hero::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  background-position:center!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
}
.clean-page-hero::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:linear-gradient(90deg,rgba(4,16,29,.97) 0%,rgba(4,16,29,.88) 34%,rgba(4,16,29,.48) 58%,rgba(4,16,29,.18) 100%)!important;
}
.clean-hero-about::before{background-image:url('assets/banners/clean-about-hero.webp')!important}
.clean-hero-solutions::before{background-image:url('assets/banners/clean-solutions-hero.webp')!important}
.clean-hero-technology::before{background-image:url('assets/banners/clean-technology-hero.webp')!important}
.clean-hero-services::before{background-image:url('assets/banners/clean-services-hero.webp')!important}
.clean-hero-projects::before{background-image:url('assets/banners/clean-projects-hero.webp')!important}
.clean-hero-rental::before{background-image:url('assets/banners/clean-rental-hero.webp')!important}
.clean-page-hero > .container{position:relative!important;z-index:2!important;width:min(1400px,calc(100% - 64px))!important;max-width:1400px!important;margin:0 auto!important}
.clean-page-hero-copy{max-width:820px!important;padding:76px 0!important}
.clean-page-hero h1{color:#fff!important;font-size:clamp(48px,6vw,78px)!important;line-height:.98!important;letter-spacing:-3px!important;margin:0 0 22px!important}
.clean-page-hero-copy > p:not(.eyebrow){color:#d7e3ef!important;max-width:760px!important;font-size:17px!important;line-height:1.7!important}
.clean-page-hero .eyebrow{color:#9fc8ef!important}
.clean-page-hero .hero-actions{display:flex!important;gap:12px!important;flex-wrap:wrap!important;margin-top:26px!important}
@media(max-width:900px){
 .clean-page-hero{min-height:460px!important}
 .clean-page-hero > .container{width:calc(100% - 40px)!important}
 .clean-page-hero-copy{padding:62px 0!important}
 .clean-page-hero h1{font-size:clamp(42px,8vw,62px)!important}
 .clean-page-hero::after{background:linear-gradient(90deg,rgba(4,16,29,.96),rgba(4,16,29,.74))!important}
}
@media(max-width:600px){
 .clean-page-hero{min-height:430px!important}
 .clean-page-hero > .container{width:calc(100% - 30px)!important}
 .clean-page-hero-copy{padding:52px 0!important}
 .clean-page-hero h1{font-size:42px!important;letter-spacing:-2px!important}
 .clean-page-hero-copy > p:not(.eyebrow){font-size:15px!important}
}


/* APPROVED FULL BANNERS - FINAL
   Use the supplied finished artwork as the complete hero.
   Do not layer live HTML headings over baked banner artwork. */
.approved-full-banner{width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#071827!important;position:relative!important;display:block!important;line-height:0!important}
.approved-full-banner img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important}
@media(max-width:900px){.approved-full-banner img{width:100%!important;height:auto!important;object-fit:contain!important}}

/* V7 approved image-only page banners: no carousel/header overlay */
.approved-full-banner{
  width:100%!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;
  overflow:hidden!important;background:#071827!important;display:block!important;line-height:0!important;
}
.approved-full-banner img{
  display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;
  object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;
}
