h2.c-gallery__title {
  font-size: var(--f-size-l-3);
  font-weight: var(--f-weight-m);
  color: rgb(var(--c-neutral-darker));
  margin-bottom: 0.5rem;
}

.c-gallery__list {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  grid-gap: var(--g-gap-s);
}

.c-gallery__gallery {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: var(--g-gap-s);
}

.c-gallery__figure {
  position: relative;
}

.c-gallery__figure > a {
  display: block;
}

.c-gallery__figure > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 35%;
  background: rgb(var(--c-neutral-darkest));
  background: -moz-linear-gradient(0deg, rgba(var(--c-neutral-darkest), 0.5) 0%, rgba(var(--c-neutral-darkest), 0) 100%);
  background: -webkit-linear-gradient(0deg, rgba(var(--c-neutral-darkest), 0.5) 0%, rgba(var(--c-neutral-darkest), 0) 100%);
  background: linear-gradient(0deg, rgba(var(--c-neutral-darkest), 0.5) 0%, rgba(var(--c-neutral-darkest), 0) 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
  z-index: 10;
}

.c-gallery__figure-caption {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  z-index: 20;
}

.c-gallery__figure-caption a {
  color: rgb(var(--c-neutral-lightest));
}

figcaption .c-gallery__list-link::after {
  content: '\f061';
  font-family: 'FaSolid', sans-serif;
  margin-left: 0.3rem;
  font-size: var(--f-size-s-1);
}


/* =============================================================================
   Media Queries
   ========================================================================== */
@media (min-width: 400px) {
  .c-gallery__list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 640px) {
  .c-gallery__gallery {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 800px) {
  .c-gallery__list {
    grid-template-columns: repeat(3, 1fr);
  }

  .c-gallery__gallery {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 1080px) {
  .c-gallery__list {
    grid-template-columns: repeat(4, 1fr);
  }

  .c-gallery__gallery {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (min-width: 1280px) {
  .c-gallery__list {
    grid-template-columns: repeat(5, 1fr);
  }

  .c-gallery__gallery {
    grid-template-columns: repeat(6, 1fr);
  }
}