/* Homepage Services block – scoped override of legacy card rules. */
.home-services-refresh .builtex-service-grid {
  gap: clamp(14px, 1.6vw, 22px) !important;
  align-items: stretch;
}
.home-services-refresh .builtex-service-card {
  position: relative;
  isolation: isolate;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-width: 0;
  min-height: clamp(295px, 23vw, 355px) !important;
  height: auto !important;
  padding: clamp(24px, 2.2vw, 32px) !important;
  border-radius: 19px !important;
  overflow: hidden;
  text-decoration: none;
}
.home-services-refresh .builtex-service-card .builtex-service-body,
.home-services-refresh .builtex-service-card.no-image .builtex-service-body,
.home-services-refresh .builtex-service-card.has-image .builtex-service-body {
  flex: 0 1 auto !important;
  position: relative;
  z-index: 3;
  width: 100%;
  min-width: 0;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  justify-content: initial !important;
}
.home-services-refresh .builtex-service-card .builtex-service-body h3 {
  margin: 0 !important;
  font-size: clamp(19px, 1.65vw, 23px) !important;
  line-height: 1.13 !important;
  font-weight: 800 !important;
  letter-spacing: -.035em !important;
  text-wrap: pretty;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  hyphens: auto !important;
  max-width: 100%;
}
.home-services-refresh .builtex-service-card .builtex-service-body p,
.home-services-refresh .builtex-service-card.no-image .builtex-service-body p,
.home-services-refresh .builtex-service-card.has-image .builtex-service-body p {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3;
  overflow: hidden !important;
  margin: 16px 0 0 !important;
  max-width: 35ch !important;
  font-size: clamp(13px, 1.05vw, 15px) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  overflow-wrap: break-word;
  opacity: .86;
}
.home-services-refresh .builtex-service-card .builtex-service-footer,
.home-services-refresh .builtex-service-card.no-image .builtex-service-footer {
  position: relative;
  z-index: 4;
  display: flex !important;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
  margin: auto 0 0 !important;
  padding: 28px 0 0 !important;
}
.home-services-refresh .builtex-service-card .builtex-service-arrow {
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
  font-size: 20px !important;
}
.home-services-refresh .builtex-service-card.has-image .builtex-service-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  border-radius: inherit !important;
  background: linear-gradient(180deg,rgba(7,12,18,.82) 0%,rgba(7,12,18,.46) 50%,rgba(7,12,18,.40) 100%) !important;
}
.home-services-refresh .builtex-service-card.has-image .builtex-service-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit !important;
}
@media (max-width: 1000px) {
  .home-services-refresh .builtex-service-card { min-height: 305px !important; }
  .home-services-refresh .builtex-service-card .builtex-service-body h3 {font-size: clamp(20px, 2.2vw, 23px) !important;}
}
@media (max-width: 620px) {
  .home-services-refresh .builtex-service-grid {gap: 13px !important;}
  .home-services-refresh .builtex-service-card {
    min-height: 245px !important;
    padding: 23px !important;
  }
  .home-services-refresh .builtex-service-card .builtex-service-body h3 {font-size: clamp(21px, 5.2vw, 25px) !important;}
  .home-services-refresh .builtex-service-card .builtex-service-body p {margin-top: 12px !important;}
  .home-services-refresh .builtex-service-card .builtex-service-footer {padding-top: 15px !important;}
}

/* v2: long German compounds may break, but text must never be clipped. */
.home-services-refresh .builtex-service-card,
.home-services-refresh .builtex-service-body,
.home-services-refresh .builtex-service-body h3 {
  min-width: 0 !important;
  max-width: 100% !important;
}
.home-services-refresh .builtex-service-body h3 {
  display: block !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-wrap: break-word !important;
  hyphens: auto !important;
}
@media(min-width:1001px){
 .home-services-refresh .builtex-service-card { padding: 25px !important; }
 .home-services-refresh .builtex-service-body h3 { font-size: clamp(19px,1.6vw,23px) !important; }
}
