.services {
  width: 100%;
  padding: 6em 1.5em 10em 1.5em;
  background: var(--color-bg);
  display: flex;
}

.services-col:nth-child(1) {
  flex: 2;
}

.services-col:nth-child(2) {
  flex: 4;
  display: flex;
  flex-direction: column;
  gap: 0.5em;
}

.services-row {
  width: 85%;
  /* The cards are aspect-ratio:1, so without a cap they grow with the viewport
     and the section gets taller the wider the screen — on a wide window the
     second row is pushed past the fold. Capping the row keeps the whole block
     on one screen. */
  max-width: 820px;
  display: flex;
  gap: 0.5em;
}

.service-item {
  position: relative;
  width: 100%;
  aspect-ratio: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1em;
  flex-direction: column;
  background: rgba(255, 255, 255, 0.125);
  border-radius: 8px;
}

.service-icon {
  position: relative;
  top: -10%;
  font-size: 36px;
  color: #fff;
}

.service-title {
  position: absolute;
  bottom: 15%;
}

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

  .services-row {
    width: 100%;
  }
}
