.equipment article {
  overflow: hidden;
}

.equipment article.has-photo h3 {
  margin-top: 22px;
}

.equipment-card-photo {
  width: calc(100% + 56px);
  height: 320px;
  object-fit: contain;
  object-position: center;
  padding: 10px;
  background: #0b0b0b;
  margin: -28px -28px 22px;
  border-bottom: 3px solid var(--orange);
}

.photo-gallery {
  margin-top: 78px;
}

.gallery-heading {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 30px;
  margin-bottom: 24px;
}

.gallery-heading .eyebrow {
  margin: 0;
}

.gallery-heading h3 {
  margin: 0;
  font: 800 clamp(34px, 4vw, 54px)/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.gallery-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(260px, 31vw);
  gap: 16px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  padding: 0 0 18px;
}

.gallery-track figure {
  position: relative;
  height: 420px;
  margin: 0;
  overflow: hidden;
  background: #191919;
  scroll-snap-align: start;
}

.gallery-track img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background: #0b0b0b;
  transition: filter .25s;
}

.gallery-track figure:hover img {
  filter: brightness(1.08);
}

.gallery-track figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 42px 18px 16px;
  background: linear-gradient(transparent, #000d);
  font: 800 19px/1.1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .gallery-track {
    grid-auto-columns: minmax(260px, 58vw);
  }
}

@media (max-width: 620px) {
  .equipment-card-photo {
    height: 390px;
  }

  .gallery-heading {
    display: block;
  }

  .gallery-heading .eyebrow {
    margin-bottom: 10px;
  }

  .gallery-track {
    grid-auto-columns: 85vw;
  }

  .gallery-track figure {
    height: 390px;
  }
}
