
/* Solutions page */
.solutions-hero{
  position:relative;
  height:432px;
  overflow:hidden;
  background:#eef5fb;
  isolation:isolate;
}
.solutions-hero .hero-bg{
  position:absolute;
  inset:0;
  background-image:url("../images/hero-solutions.webp");
  background-size:cover;
  background-position:center center;
  background-repeat:no-repeat;
  z-index:1;
}
.solutions-hero .hero-mask{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,
    rgba(255,255,255,.985) 0%,
    rgba(255,255,255,.965) 27%,
    rgba(255,255,255,.78) 43%,
    rgba(255,255,255,.30) 61%,
    rgba(255,255,255,.08) 78%,
    rgba(255,255,255,0) 100%);
  z-index:2;
  pointer-events:none;
}
.solutions-hero .container{
  position:relative;
  z-index:4;
  height:100%;
  display:flex;
  align-items:center;
}
.hero-copy{
  width:585px;
  padding-top:0;
  transform:translateY(-2px);
}
.hero-copy p{
  margin-top:18px;
  width:535px;
  font-size:15px;
  line-height:1.56;
  color:#40536a;
  font-weight:500;
}
.solution-checks{
  display:grid;
  grid-template-columns:repeat(2,max-content);
  gap:12px 38px;
  margin-top:24px;
}
.solution-checks span{
  display:inline-flex;
  align-items:center;
  gap:10px;
  font-size:13.5px;
  font-weight:800;
  letter-spacing:-.012em;
  color:#10233b;
}
.solution-checks span::before{
  content:"";
  width:18px;
  height:18px;
  border-radius:50%;
  border:2px solid #7db2f2;
  background:#fff;
  box-shadow:inset 0 0 0 4px #fff;
}
.hero-actions{
  display:flex;
  gap:24px;
  margin-top:29px;
}
.hero-floating{
  position:absolute;
  z-index:8;
  background:rgba(255,255,255,.935);
  border:1px solid rgba(224,234,247,.92);
  box-shadow:0 18px 42px rgba(11,27,46,.09);
  border-radius:13px;
  color:#12263e;
  backdrop-filter:blur(1.5px);
  transform:translateZ(0);
}
/* Data overlay calibrated as a separate code layer.
   The background image owns the robot; these cards stay in the visual safe zones. */
.hero-map{
  width:286px;
  height:148px;
  left:calc(50% - 108px);
  top:50px;
  padding:18px 22px 16px;
}
.hero-deliveries{
  width:218px;
  height:122px;
  left:calc(50% - 96px);
  top:232px;
  padding:18px 22px 16px;
}
.hero-health{
  width:286px;
  height:122px;
  right:84px;
  top:60px;
  padding:18px 24px 16px;
}
.floating-label{
  font-size:11.4px;
  line-height:1;
  color:#34495f;
  font-weight:800;
  letter-spacing:-.012em;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.fleet-number{
  font-size:23px;
  line-height:1;
  font-weight:850;
  letter-spacing:-.048em;
  margin-top:16px;
}
.fleet-number span{
  font-size:11.4px;
  font-weight:800;
  letter-spacing:-.012em;
  color:#53657b;
}
.green{color:#18a658}.small-green{font-size:10.8px;line-height:1;color:#1ea85b;font-weight:800;margin-top:5px;}
.mapline{position:absolute;left:58px;right:34px;bottom:22px;height:62px;}
.mapline svg{width:100%;height:100%;overflow:visible}.mapline path{stroke-linecap:round;stroke-linejoin:round}.deliver-number{font-size:27px;line-height:1;font-weight:850;letter-spacing:-.052em;margin-top:20px}.deliver-caption{font-size:11.2px;color:#65758a;margin-top:6px;font-weight:650}.bars{position:absolute;left:22px;bottom:16px;display:flex;align-items:end;gap:7px;height:33px}.bars i{display:block;width:15px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#a7cbff,#2578ea)}.bars i:nth-child(1){height:13px}.bars i:nth-child(2){height:18px}.bars i:nth-child(3){height:23px}.bars i:nth-child(4){height:27px}.bars i:nth-child(5){height:33px}.health-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;text-align:center}.health-row strong{display:block;font-size:22px;line-height:1;font-weight:850;letter-spacing:-.05em}.health-row span{display:block;font-size:10.8px;color:#65758a;margin-top:9px;font-weight:650}

.architecture{padding-top:30px}.architecture-grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:66px;align-items:stretch;}.architecture-grid::before{content:"";position:absolute;top:86px;left:27%;right:27%;height:2px;background:#8ab8f7;z-index:0}.architecture-grid::after{content:"";position:absolute;top:81px;left:50%;width:12px;height:12px;border-radius:50%;background:var(--blue);box-shadow:-392px 0 0 var(--blue),392px 0 0 var(--blue);transform:translateX(-50%);z-index:1}.arch-card{position:relative;z-index:2;padding:29px 32px 24px;min-height:178px;display:grid;grid-template-columns:58px 1fr;gap:22px;}.arch-card .card-title{margin-top:3px}.arch-card .card-text{margin-top:8px;max-width:340px}.arch-list{margin:16px 0 0;padding-left:17px;color:#485b72;font-size:12.5px;line-height:1.8;font-weight:600;}

.deployment{padding-top:28px}.deployment-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.deployment .section-head{margin-bottom:20px}.image-top.community{background:linear-gradient(90deg,rgba(255,255,255,.15),rgba(255,255,255,0)),linear-gradient(180deg,#b8cddc,#eef6fb 52%,#aebdc5)}.image-top.campus{background:linear-gradient(90deg,rgba(255,255,255,.1),rgba(255,255,255,0)),linear-gradient(135deg,#cad8e3,#eef6f9 50%,#94aa9d)}.image-top.business{background:linear-gradient(135deg,#cfdae3,#eef4f8 50%,#b6c4ca)}.image-top.retail{background:linear-gradient(180deg,#596e7c 0 38%,#eceff0 39% 100%)}.image-top .store-sign{position:absolute;right:24px;top:22px;color:white;font-size:24px;letter-spacing:.08em;font-weight:800}.image-top .mini-building{position:absolute;left:0;right:0;top:0;height:55%;background:linear-gradient(90deg,rgba(52,81,105,.25) 0 24%,transparent 24% 29%,rgba(70,100,122,.24) 29% 52%,transparent 52% 58%,rgba(52,81,105,.25) 58% 100%)}.image-top .mini-road{position:absolute;left:0;right:0;bottom:0;height:42%;background:rgba(115,130,136,.25)}.image-top .mini-tree{position:absolute;width:70px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(90,125,82,.5),rgba(90,125,82,0) 70%);right:20px;top:12px}.image-top .mini-robot{position:absolute;right:24px;bottom:20px;width:92px;height:34px;border-radius:8px 8px 4px 4px;background:#f4f8fc;border-bottom:13px solid #162231;box-shadow:0 8px 13px rgba(0,0,0,.16)}

.process{padding-top:26px}.process-wrap{position:relative}.process-wrap::before{content:"";position:absolute;left:76px;right:76px;top:22px;border-top:2px dashed #b8d2f7}.process-grid{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.process-card{min-height:108px;border:1px solid var(--border);border-radius:14px;background:#fff;box-shadow:0 5px 18px rgba(11,27,46,.035);padding:23px 24px 20px;display:grid;grid-template-columns:44px 1fr;gap:18px;position:relative}.process-num{position:absolute;top:-10px;left:82px;width:26px;height:26px;border-radius:50%;background:var(--blue);color:white;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:850}.process-card .card-title{font-size:14px}.process-card .card-text{margin-top:6px;font-size:12.2px;line-height:1.42}

.value{padding-top:28px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.metric-card{min-height:148px;padding:30px 34px;display:grid;grid-template-columns:58px 1fr;gap:22px;align-items:start}.metric-card .card-text{margin-top:6px}.metric-number{margin-top:14px;color:var(--blue);font-size:32px;line-height:1;font-weight:850;letter-spacing:-.05em}.metric-note{margin-top:7px;font-size:12.5px;color:#5a6b80;font-weight:650}

@media(max-width:1180px){.hero-map{left:42.5%;}.hero-deliveries{left:43%;}.hero-health{right:32px}.architecture-grid::after{box-shadow:-31vw 0 0 var(--blue),31vw 0 0 var(--blue)}.deployment-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.solutions-hero{height:auto;min-height:560px}.solutions-hero .container{align-items:flex-start;padding-top:74px}.hero-copy{width:100%}.hero-copy p{width:min(520px,100%)}.hero-floating{display:none}.solution-checks{grid-template-columns:1fr}.architecture-grid,.process-grid,.metric-grid{grid-template-columns:1fr}.architecture-grid::before,.architecture-grid::after,.process-wrap::before{display:none}.deployment-grid{grid-template-columns:1fr}.arch-card,.metric-card{grid-template-columns:54px 1fr}}


/* Asset replacement preview: official Solutions imagery */
.solution-hero-bg{background-image:url("../images/hero-solutions.webp") !important;background-position:center center;}
.image-top.photo-scene{position:relative;background-size:cover !important;background-repeat:no-repeat !important;}
.image-top.photo-scene > *{display:none !important;}
.image-top.community{background-image:url("../images/solutions-residential.webp") !important;background-position:center center !important;}
.image-top.campus{background-image:url("../images/solutions-campus.webp") !important;background-position:center center !important;}
.image-top.business{background-image:url("../images/solutions-business.webp") !important;background-position:center center !important;}
.image-top.retail{background-image:url("../images/solutions-retail-pharmacy.webp") !important;background-position:center center !important;}


/* Final fix: remove blue focus/active frame on mouse-clicked navigation and buttons */
.main-nav a:focus,
.main-nav a:active,
.site-header a:focus,
.site-header a:active,
.btn:focus,
.btn:active,
.header-cta:focus,
.header-cta:active,
button:focus,
button:active,
a:focus:not(:focus-visible),
button:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
}

.main-nav a:focus-visible,
.site-header a:focus-visible,
.btn:focus-visible,
.header-cta:focus-visible,
button:focus-visible {
  outline: none !important;
  box-shadow: none !important;
}
