.banner {
  display: flex;
  margin-bottom: 1rem;
  padding: 0.5rem 1rem;
  background: linear-gradient(
    to bottom,
    var(--color-ebony),
    var(--color-mono-black)
  );
}

.banner-image {
  max-height: 40vh;
}

.banner-image img {
  height: 100%;
}

.banner-content {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.banner-content .button {
  margin-top: auto;
}

.service {
  background-color: var(--color-equator);
  border: 1px solid var(--color-equator);
  color: var(--color-mono-black);
}

.service-image {
  background: linear-gradient(
    to bottom,
    var(--color-ebony) 50%,
    var(--color-equator) 90%
  );
}

@media (max-width: 1023px) {
  .banner {
    flex-direction: column;
  }

  .banner-image {
    order: 1;
  }

  .banner-content {
    order: 2;
  }
}

@media (min-width: 1024px) {
  .banner-image {
    flex: 0 0 auto;
    max-width: 20%;
    margin-left: auto;
  }

  .banner-content {
    flex: 1 0 auto;
    max-width: 60%;
  }

  .services {
    display: flex;
  }

  .service {
    width: 25%;
  }

  .service:first-of-type {
    margin-left: auto;
  }

  .service:last-of-type {
    margin-right: auto;
  }

  .service + .service {
    margin-left: 0.5rem;
  }
}
