/* Homepage service grid — aligned to the seven service routes. */
.home-service-card-grid {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
}

.home-service-card-grid > .service-card {
  min-height: 100%;
  grid-column: span 4;
  grid-template-columns: 1fr;
}

.home-service-card-grid > .service-card-wide {
  grid-column: span 6;
}

.home-service-card-grid .service-card-media img {
  height: 270px;
  min-height: 0;
}

.home-service-card-grid .service-card-body {
  justify-content: flex-start;
}

.home-service-card-grid .service-card h3 {
  font-size: clamp(1.45rem, 2vw, 2rem);
}

@media (max-width: 1080px) {
  .home-service-card-grid > .service-card,
  .home-service-card-grid > .service-card-wide {
    grid-column: span 6;
  }

  .home-service-card-grid > .service-card:last-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 720px) {
  .home-service-card-grid {
    grid-template-columns: 1fr;
  }

  .home-service-card-grid > .service-card,
  .home-service-card-grid > .service-card-wide,
  .home-service-card-grid > .service-card:last-child {
    grid-column: auto;
  }

  .home-service-card-grid .service-card-media img {
    height: 240px;
    min-height: 240px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-service-card-grid .service-card,
  .home-service-card-grid .service-card-media img {
    transition: none;
  }
}
