@media (min-width: 992px) {
  .service-page--grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-rows: auto;
    grid-column-gap: 3rem;
    grid-row-gap: 1rem;
    align-items: start;
    min-height: 85vh;
    padding-block-end: 7rem;
    position: relative;
  }
}

.service-page--grid {
  position: relative;
}

.container .service-page--grid:not(:last-of-type) {
  padding-block-end: 7rem;
}

.container .service-page--grid:not(:first-of-type) {
  padding-block-start: 7rem;
}

.container .service-page--grid:not(:last-child)::before {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  height: 1px;
  background-color: hsl(var(--color-dark));
  width: 80%;
}

.service-page--number {
  grid-area: 1 / 1 / 2 / 2;
}
.service-page--title {
  grid-area: 1 / 2 / 2 / 4;
}
.service-page--excerpt {
  grid-area: 2 / 2 / 3 / 4;
}
.service-page--image {
  grid-area: 3 / 2 / 4 / 4;
}
.service-page--content {
  grid-area: 3 / 4 / 4 / 5;
}

.service-page--number span {
  font-family: var(--font-primary);
  font-size: clamp(2rem, 1.0714rem + 4.6429vw, 5.25rem) !important;
  line-height: 1;
  font-weight: 800;
}

.service-page--excerpt p {
  /*font-size: 1.5rem;*/
  text-wrap: balance;
  line-height: 1;
  margin-block: 1rem;
}

.service-page--image img {
  width: 100%;
  object-fit: cover;
}

.service-page--grid .service-page--title h2 {
  font-size: clamp(2rem, 1.5714rem + 2.1429vw, 3.5rem) !important;
}

@media (max-width: 991px) {
  /* .container .service-page--grid:not(:last-child)::before {
    content: none;
  } */

  .service-page--image img {
    height: auto;
    aspect-ratio: 3/2;
  }

  .service-page--image {
    margin-bottom: 0.5rem;
  }

  .service-page--content p {
    font-size: 1rem;
  }

  .container .service-page--grid:not(:last-of-type) {
    padding-block-end: 4rem;
  }

  .container .service-page--grid:not(:first-of-type) {
    padding-block-start: 4rem;
  }
}
