/* V32 — Homepage service imagery + stronger Google reviews section. Scoped to home page only. */
body.qa19-home-page .qa19-service-grid > a {
  min-height: 342px;
  padding: 18px 18px 22px;
  overflow: hidden;
}

body.qa19-home-page .qa19-service-grid > a > span:first-child {
  position: relative;
  z-index: 2;
  margin-bottom: 12px;
}

body.qa19-home-page .qa19-service-media {
  position: relative;
  width: 100%;
  height: 120px;
  overflow: hidden;
  margin: 0 0 18px;
  border: 1px solid rgba(13, 47, 43, .10);
  background: #e7e2d7;
}

body.qa19-home-page .qa19-service-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}

body.qa19-home-page .qa19-service-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform .24s ease;
}

body.qa19-home-page .qa19-service-grid > a:hover .qa19-service-media img {
  transform: scale(1.035);
}

body.qa19-home-page .qa19-service-media-logo {
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, #fbf8f0 0%, #ffffff 100%);
}

body.qa19-home-page .qa19-service-media-logo img {
  width: 68%;
  height: 68%;
  object-fit: contain;
  transform: none !important;
}

body.qa19-home-page .qa19-service-grid strong {
  margin-top: 0;
}

body.qa19-home-page .qa19-service-grid small {
  margin-top: 10px;
}

body.qa19-home-page .qa19-review-grid article {
  min-height: 300px;
}

body.qa19-home-page .qa19-review-highlight {
  background: rgba(255,255,255,.33);
}

body.qa19-home-page .qa19-review-highlight-label {
  color: var(--qa19-red);
  font: 800 11px/1.2 var(--qa19-body);
  letter-spacing: .12em;
}

body.qa19-home-page .qa19-review-link-note {
  display: block;
  width: 100%;
  margin-top: 4px;
  color: rgba(255,255,255,.74);
  font: 600 11px/1.45 var(--qa19-body);
}

@media (max-width: 1180px) {
  body.qa19-home-page .qa19-service-grid > a { min-height: 390px; }
  body.qa19-home-page .qa19-service-media { height: 170px; }
}

@media (max-width: 920px) {
  body.qa19-home-page .qa19-service-grid > a { min-height: 0; }
  body.qa19-home-page .qa19-service-media { height: 170px; }
  body.qa19-home-page .qa19-review-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}

@media (max-width: 640px) {
  body.qa19-home-page .qa19-service-grid > a { padding: 16px 16px 20px; }
  body.qa19-home-page .qa19-service-media { margin-bottom: 15px; height: 190px; }
  body.qa19-home-page .qa19-review-grid { grid-template-columns: 1fr; }
  body.qa19-home-page .qa19-review-grid article { min-height: 0; }
}

@media (prefers-reduced-motion: reduce) {
  body.qa19-home-page .qa19-service-media img { transition: none; }
  body.qa19-home-page .qa19-service-grid > a:hover .qa19-service-media img { transform: none; }
}
