.nl-steps__list {
  display: grid;
  gap: 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (min-width: 768px) {
  .nl-steps__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px 32px;
  }
}
@media (min-width: 1025px) {
  .nl-steps__list--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .nl-steps__list--4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
.nl-steps__item {
  padding-top: 20px;
  border-top: 2px solid var(--nl-charcoal);
}
.nl-steps__n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: var(--nl-radius);
  background: var(--nl-red);
  color: #fff;
  font: 800 20px/1 var(--nl-font);
}
.nl-steps__title {
  margin: 14px 0 6px;
  font: 800 22px/1.2 var(--nl-font);
}
.nl-steps__body {
  margin: 0;
  font-size: 17px;
}

.nl-ground-charcoal .nl-steps__item {
  border-top-color: #fff;
}

.nl-section.nl-steps--band {
  position: relative;
  isolation: isolate;
  padding-top: 144px;
  background: var(--nl-stone);
}
@media (min-width: 768px) {
  .nl-section.nl-steps--band {
    padding-block: calc(var(--nl-section-y) + 24px);
    background: var(--nl-charcoal);
  }
}

.nl-steps__photo {
  position: absolute;
  inset: 0 0 auto;
  z-index: -1;
  height: 240px;
  overflow: hidden;
  background: var(--nl-charcoal);
}
@media (min-width: 768px) {
  .nl-steps__photo {
    inset: 0;
    height: auto;
  }
}

.nl-steps__photo-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: var(--nl-focus, 50% 50%);
}

.nl-steps__where {
  position: absolute;
  top: 12px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 4px;
  background: var(--nl-charcoal);
  color: #fff;
  font: 600 13px/1.3 var(--nl-font);
}
@media (min-width: 768px) {
  .nl-steps__where {
    top: 16px;
    right: 16px;
  }
}

.nl-steps__panel {
  padding: 32px 20px 36px;
  border-radius: var(--nl-radius);
  background: #fff;
  color: var(--nl-charcoal);
  box-shadow: 0 1px 2px rgba(37, 37, 37, 0.08);
}
@media (min-width: 768px) {
  .nl-steps__panel {
    padding: 48px 40px 52px;
  }
}
@media (min-width: 1025px) {
  .nl-steps__panel {
    padding: 56px 56px 60px;
  }
}

@media (max-width: 767.98px) {
  .nl-steps--band > .nl-wrap {
    padding-inline: 12px;
  }
}