.banner-v53__item {
  position: relative;
  height: 100%;
}

.banner-v53__right {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: var(--gap);
}
@media (min-width: 992px) {
  .banner-v53__right {
    grid-template-rows: repeat(2, 1fr);
  }
}
.banner-v53__right .banner-v53__item:nth-child(2) {
  grid-column: span 1;
  grid-row: span 2;
}
@media (max-width: 767px) {
  .banner-v53__right .banner-v53__item:nth-child(2) {
    grid-column: span 2;
    order: 3;
  }
}
.banner-v53__right .banner-v53__item:nth-child(1),
.banner-v53__right .banner-v53__item:nth-child(3) {
  grid-column: span 1;
  grid-row: span 1;
}
@media (max-width: 767px) {
  .banner-v53__right .banner-v53__item:nth-child(1),
  .banner-v53__right .banner-v53__item:nth-child(3) {
    grid-row: span 3;
    grid-column: span 2;
  }
}

.banner-v53__content {
  position: absolute;
  z-index: 1;
  left: 10%;
  top: 50%;
  transform: translate(0, -50%);
}
.banner-v53__content--top-center {
  top: 10%;
  left: 50%;
  text-align: center;
  width: 80%;
  transform: translate(-50%, 0);
}

.banner-v53__img {
  display: block;
  height: 100%;
}
.banner-v53__img .xo-image {
  height: 100%;
}
.banner-v53__img img {
  height: 100%;
}

.banner-v53__title {
  font-size: clamp(2rem, calc(1.25vw + 1.5rem), 3rem);
  letter-spacing: calc(var(--font-heading-scale) * 0.2rem);
  margin-bottom: 2rem;
  padding-bottom: 1rem;
}
.banner-v53__title--large {
  font-size: clamp(2.4rem, calc(2.625vw + 1.35rem), 4.5rem);
}
.banner-v53__title--centered {
  position: relative;
}
.banner-v53__title--centered::after {
  content: "";
  width: 50%;
  background-color: rgba(var(--color-foreground));
  height: 2px;
  position: absolute;
  left: 50%;
  transform: translate(-50%);
  bottom: 0;
}