.banner-v49 {
  position: relative;
  max-height: 40rem;
}

.banner-v49__img {
  display: block;
  max-height: 40rem;
}
.banner-v49__img .xo-image {
  height: 40rem;
}
.banner-v49__img .xo-image img {
  height: 40rem;
}
@media (max-width: 1199px) {
  .banner-v49__img {
    max-height: 40rem;
  }
}
@media (max-width: 767px) {
  .banner-v49__img {
    height: 35rem;
  }
}

.banner-v49__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 70rem;
  z-index: 1;
  text-align: center;
}
@media (max-width: 767px) {
  .banner-v49__content {
    max-width: 29rem;
  }
}

.banner-v49__title {
  font-size: clamp(3rem, calc(1.25vw + 2.5rem), 4rem);
  line-height: 1;
  font-weight: 500;
  margin-bottom: 4rem;
}
@media (max-width: 767px) {
  .banner-v49__title {
    max-width: 99%;
    width: max-content;
    margin-bottom: 2.5rem;
  }
}

.banner-v49__subtitle {
  font-size: clamp(2rem, calc(1vw + 1.6rem), 2.8rem);
  font-weight: 400;
  margin-bottom: 1.5rem;
  color: rgba(var(--color-foreground));
}