.hero {
  margin-top: 70px;
  position: relative;
  width: 100%;
  aspect-ratio: 15 / 7;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
}

.hero-slider {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero-content {
  position: absolute;
  bottom: 12%;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.6);
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.hero-overlay {
  width: 100%;
  justify-items: center;
  position: absolute;
  bottom: 4%;

  color: #fff;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.6);
  z-index: 2;
}

.hero-title {
  font-size: 2.5rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.hero-subtitle {
  font-size: 1.25rem;
  font-weight: 400;
}