/* V154 visual QA fix: complete hero image + contained service tabs + mobile fit. */

/* HERO: never crop the supplied composite. Preserve its full 630x370 artwork. */
.sv148-hero-image{
  height:334px!important;
  min-height:334px!important;
  padding:0!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#eef7f8!important;
}
.sv148-hero-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:center center!important;
  filter:saturate(1.02)!important;
}
.sv148-hero-image:after{
  background:linear-gradient(90deg,rgba(247,250,255,.32),rgba(247,250,255,0) 24%)!important;
}

/* SERVICE TABS: equal boxes, no text/icon escaping the card. */
.sv150-service-strip{
  width:min(1400px,calc(100% - 44px))!important;
  margin:16px auto 0!important;
  overflow:visible!important;
}
.sv150-service-grid{
  display:grid!important;
  grid-template-columns:repeat(8,minmax(0,1fr))!important;
  gap:10px!important;
}
.sv150-service-card{
  min-width:0!important;
  width:100%!important;
  min-height:74px!important;
  height:auto!important;
  box-sizing:border-box!important;
  padding:9px 8px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:4px!important;
  overflow:hidden!important;
  flex-direction:column!important;
  text-align:center!important;
}
.sv150-service-card>span:last-child{
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
.sv150-service-card b,
.sv150-service-card small{
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  word-break:normal!important;
  text-overflow:clip!important;
}
.sv150-service-card b{
  font-size:10px!important;
  line-height:1.14!important;
}
.sv150-service-card small{
  font-size:7.5px!important;
  line-height:1.15!important;
  margin-top:3px!important;
}
.sv150-service-icon{
  flex:0 0 25px!important;
  width:25px!important;
  height:25px!important;
  font-size:14px!important;
}

/* No accidental page-level horizontal scrolling. */
html,body,main{max-width:100%;overflow-x:hidden!important}

@media(max-width:1120px){
  .sv148-hero{grid-template-columns:minmax(0,1fr) minmax(360px,.86fr)!important}
  .sv148-hero-image{height:320px!important;min-height:320px!important}
  .sv150-service-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
}

@media(max-width:700px){
  .sv148-hero{grid-template-columns:1fr!important;min-height:0!important}
  .sv148-hero-copy{padding:24px 16px 14px!important}
  .sv148-hero-image{height:225px!important;min-height:225px!important}
  .sv148-hero-image img{width:100%!important;height:100%!important;object-fit:contain!important}
  .sv150-service-strip{width:calc(100% - 20px)!important;margin-top:10px!important}
  .sv150-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important}
  .sv150-service-card{
    min-height:64px!important;
    padding:7px 8px!important;
    justify-content:flex-start!important;
  }
  .sv150-service-card b{font-size:9px!important}
  .sv150-service-card small{font-size:7px!important}
  .sv150-service-icon{flex-basis:26px!important;width:26px!important;height:26px!important;font-size:13px!important}
}

@media(max-width:420px){
  .sv148-hero-copy{padding:20px 13px 12px!important}
  .sv148-hero h1{font-size:24px!important}
  .sv148-hero-image{height:195px!important;min-height:195px!important}
  .sv150-service-card{min-height:62px!important;padding:7px 7px!important;gap:6px!important}
  .sv150-service-card b{font-size:8.7px!important}
  .sv150-service-card small{font-size:6.8px!important}
}

@media(max-width:700px){
  .sv150-service-card{flex-direction:row!important;text-align:left!important;gap:6px!important}
  .sv150-service-icon{flex-basis:26px!important;width:26px!important;height:26px!important}
}
