.header-banner {
  position: relative;
}
.header-banner__figure {
  margin: 0;
  position: relative;
}
.header-banner__image {
  width: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--focal-point-x, 50%) var(--focal-point-y, 50%);
     object-position: var(--focal-point-x, 50%) var(--focal-point-y, 50%);
}
.header-banner__caption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.5rem;
  text-align: center;
  color: #fff;
  background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.55)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0));
}
.header-banner__heading {
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .header-banner__heading {
    font-size: 2.25rem;
  }
}
.header-banner__cta {
  display: inline-block;
}
