/* Ductless Brothers — region & town hero: same style as the homepage hero,
   with the town / region map on the right instead of the crew photo. */
.service-area-section.db-maphero{
  --mh-h: clamp(500px, 36vw, 640px);
  padding:0 !important; overflow:hidden;
  background:
    radial-gradient(rgba(103,201,232,.16) 2px, transparent 2.5px) 0 0 / 22px 22px,
    linear-gradient(135deg,#151E33 0%,#0F2A3A 100%) !important;
}
.db-maphero .service-area-container{
  max-width:none !important; width:100%; margin:0 !important; padding:0 !important;
  display:grid !important; grid-template-columns:minmax(0,1fr) min(46vw, 820px) !important;
  gap:0 !important; align-items:stretch !important; min-height:var(--mh-h);
}

/* Left: logo, then text and buttons */
.db-maphero .service-area-content{
  display:flex !important; align-items:center; justify-content:center; gap:clamp(18px,2.2vw,36px);
  padding:40px clamp(28px,3vw,56px) 40px clamp(24px,3vw,64px) !important;
  text-align:left !important; position:relative; z-index:2;
}
.db-maphero .db-mh__logo{
  flex:0 0 auto; width:clamp(96px,8vw,140px); height:auto;
  filter:drop-shadow(0 14px 24px rgba(0,0,0,.45));
}
.db-maphero .db-mh__text{ min-width:0; max-width:600px; }

.db-maphero .service-area-title{
  margin:0 0 14px !important; padding:0 !important; text-align:left !important;
  font-family:Barlow, Inter, sans-serif !important; font-weight:800 !important; font-style:italic;
  font-size:clamp(32px,3vw,52px) !important; line-height:1.04 !important; letter-spacing:-.5px !important;
  text-transform:none !important; color:#FFFFFF !important;
}
.db-maphero .service-area-description{
  margin:0 0 14px !important; max-width:none !important; text-align:left !important;
  font-size:clamp(14.5px,1.1vw,17px) !important; font-weight:500 !important; line-height:1.55 !important;
  color:#FFFFFF !important;
}
.db-maphero .service-area-towns{
  margin:0 0 16px !important; max-width:none !important; text-align:left !important;
  font-size:13.5px !important; line-height:1.75 !important; color:#AAB6C8 !important;
}
.db-maphero .service-area-towns a{
  color:#67C9E8 !important; font-weight:700; text-decoration:none;
  padding:1px 7px; border-radius:99px; background:rgba(103,201,232,.12);
}
.db-maphero .service-area-towns a:hover{ background:#3AA9CF; color:#FFFFFF !important; }
.db-maphero .actions{ display:flex !important; flex-wrap:wrap; gap:12px; margin:0 0 14px !important; justify-content:flex-start !important; }
.db-maphero .actions .btn{ margin:0 !important; }
.db-maphero .hero-note{
  margin:0 0 12px !important; text-align:left !important; font-size:13px !important;
  color:#FFFFFF !important; white-space:nowrap;
}
.db-maphero .slogan-bar{
  display:inline-block !important; width:auto !important; margin:0 !important;
  padding:10px 26px !important; border-radius:999px !important; background:#3B7A3D !important;
  box-shadow:0 8px 18px rgba(0,0,0,.3) !important; border:0 !important;
}
.db-maphero .slogan-bar p{ margin:0 !important; color:#FFFFFF !important; font-weight:600; font-size:16px !important; white-space:nowrap; }

/* Right: the map, curved left edge like the homepage crew photo */
.db-maphero .service-area-map-container{
  position:relative; z-index:3; display:block !important; height:100%; min-height:var(--mh-h);
  border-radius:16% 0 0 16% / 50% 0 0 50%; overflow:hidden;
  border-left:6px solid #67C9E8; box-shadow:-18px 0 40px rgba(0,0,0,.45);
}
.db-maphero .service-area-map{
  position:absolute; inset:0; width:100% !important; height:100% !important; max-width:none !important;
  object-fit:cover; object-position:center; border-radius:0 !important; border:0 !important; box-shadow:none !important;
}

/* Tablets and phones: map on top, content centered below */
@media (max-width:1180px){
  .db-maphero .service-area-container{ grid-template-columns:1fr !important; min-height:0; }
  .db-maphero .service-area-map-container{
    order:-1; min-height:0; height:auto; aspect-ratio:1462 / 1076; width:min(100%, 820px); justify-self:center;
    border-radius:0 0 50% 50% / 0 0 7% 7%; border-left:0; border-bottom:5px solid #67C9E8;
  }
  .db-maphero .service-area-content{ flex-direction:column; padding:32px 20px 44px !important; gap:18px; }
  .db-maphero .db-mh__logo{ width:96px; }
  .db-maphero .db-mh__text{ max-width:640px; text-align:center; }
  .db-maphero .service-area-title, .db-maphero .service-area-description,
  .db-maphero .service-area-towns, .db-maphero .hero-note{ text-align:center !important; }
  .db-maphero .service-area-title{ font-size:clamp(30px,7vw,48px) !important; }
  .db-maphero .actions{ justify-content:center !important; }
  .db-maphero .hero-note{ white-space:normal; font-size:clamp(11px,3.1vw,14px) !important; }
  .db-maphero .slogan-bar p{ white-space:normal; }
}
