.banner-v178__text {
  margin: 0 8.5rem;
  padding: 4rem 1.5rem;
}
@media (max-width: 1199px) {
  .banner-v178__text {
    margin: unset;
  }
}
@media (max-width: 767px) {
  .banner-v178__text {
    text-align: center;
  }
}

.banner-v178__img-link {
  display: grid;
  height: 100%;
}
@media (max-width: 991px) {
  .banner-v178__img-link {
    display: unset;
  }
}

.banner-v178__img-left {
  margin-left: 12rem;
}
@media (max-width: 1199px) {
  .banner-v178__img-left {
    margin-left: unset;
  }
}

xo-grid:has(.banner-v178__item) {
  background-color: rgb(var(--color-foreground), 0.06);
  align-items: center;
  column-gap: 0;
  row-gap: 0;
}

.banner-v178__item {
  position: relative;
}

@media (max-width: 767px) {
  .banner-v178__item:has(.banner-v178__img-left) {
    margin-top: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}

.banner-v178__subtitle {
  font-weight: 500;
  color: rgb(var(--color-accent));
  margin-bottom: 1rem;
  font-family: var(--font-custom-family);
  font-size: 1.8rem;
}
@media (max-width: 991px) {
  .banner-v178__subtitle {
    font-size: calc(var(--font-body-scale) * 1.4rem);
  }
}

.banner-v178__title {
  font-size: calc(var(--font-heading-scale) * 4rem);
  margin-bottom: 1.5rem;
}
@media (max-width: 1199px) {
  .banner-v178__title {
    font-size: calc(var(--font-heading-scale) * 2.8rem);
  }
}
@media (max-width: 767px) {
  .banner-v178__title {
    font-size: calc(var(--font-heading-scale) * 2.8rem);
  }
}

.banner-v178__description {
  margin-bottom: 1.6rem;
}

.banner-v178__bg-outer {
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.banner-v178__bg-inner {
  position: absolute;
  width: 50%;
  height: 120%;
  right: 0;
  text-align: center;
  bottom: -10%;
  background-color: #d19f7a;
}