/* .108 is a bounded homepage ordering, card and mobile-state refinement. */
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card {
  grid-column: auto !important;
  display: flex !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
  overflow: hidden;
  flex-direction: column !important;
  padding: 0 !important;
  border-top-width: 0 !important;
  background: #fffdf7 !important;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__media {
  width: 100%;
  margin: 0;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #dfe7df;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--zmx108-media-position, 50% 50%);
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  padding: 22px 20px 21px;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body h3 {
  min-height: 2.35em;
  margin-bottom: .7rem;
  font-size: clamp(1.18rem, 1.4vw, 1.42rem) !important;
  line-height: 1.14 !important;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body > p:not(.card-kicker) {
  margin-bottom: 1rem;
  font-size: .9rem;
  line-height: 1.55;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body ul {
  display: grid;
  gap: .48rem;
  margin: 0 0 1.15rem;
  padding: 0;
  list-style: none;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body li {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: .45rem;
  font-size: .83rem;
  line-height: 1.42;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body li span {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  background: #ead6a4;
  color: #124a3b;
  font-size: .7rem;
  font-weight: 950;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card .solution-footer {
  margin-top: auto !important;
}
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card--income { border-color: #bc8b35 !important; }
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card--rooflife { border-color: #286b56 !important; }
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card--solar { border-color: #688a98 !important; }
body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card--protection { border-color: #776847 !important; }

body[data-zmx108-release][data-zmx-route="/residential/"] .zmx108-res-service-shortcut {
  padding: 10px 0 26px;
  background: #f7f1e5 !important;
}
body[data-zmx108-release][data-zmx-route="/residential/"] .zmx108-res-service-shortcut .zmx103-res-service-shortcuts {
  border: 1px solid rgba(16, 37, 32, .13);
  border-radius: 18px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 10px 28px rgba(7, 47, 42, .06);
}
body[data-zmx108-release][data-zmx-route="/residential/"] .zmx108-res-transformations {
  background:
    radial-gradient(circle at 88% 12%, rgba(211, 178, 100, .22), transparent 34%),
    linear-gradient(145deg, #dfe8d8 0%, #edf0df 52%, #e6ddc8 100%) !important;
}
body[data-zmx108-release][data-zmx-route="/residential/"] .zmx108-res-services {
  background: linear-gradient(145deg, #fbf7ee, #f1e8d8) !important;
}
body[data-zmx108-release][data-zmx-route="/residential/"] :is(.zmx108-res-transformations,.zmx108-res-services) .zmx-res-section-heading {
  text-align: center;
}

@media (min-width: 1280px) {
  body[data-zmx108-release][data-zmx-route="/"] #solutions .solutions-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
  }
}
@media (min-width: 721px) and (max-width: 1279px) {
  body[data-zmx108-release][data-zmx-route="/"] #solutions .solutions-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 720px) {
  body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__media {
    height: 220px;
    aspect-ratio: auto;
  }
  body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body {
    padding: 18px 17px 19px !important;
  }
  body[data-zmx108-release][data-zmx-route="/"] #solutions .zmx108-solution-card__body h3 { min-height: 0; }
  body[data-zmx108-release][data-zmx-route="/residential/"] .zmx108-res-service-shortcut { padding: 4px 0 18px; }
}
