.banner-v225__heading-img {
  padding-bottom: 2rem;
}
.banner-v225__heading-img svg {
  width: 9rem;
  height: 7.5rem;
}
.banner-v225__heading-img img {
  width: 9rem;
}

.banner-v225__img {
  display: grid;
  height: 100%;
}

.banner-v225__heading {
  text-align: center;
}

.banner-v225__heading-title {
  font-family: var(--font-custom-family);
}

.banner-v225__heading-desc,
.banner-v225__desc {
  font-weight: 500;
  font-size: calc(var(--font-body-scale) * 1.4rem);
  line-height: calc(1 + 0.8 / var(--font-body-scale));
}

.banner-v225__heading-title,
.banner-v225__title,
.banner-v225__heading-desc,
.banner-v225__desc {
  color: color-mix(in srgb, rgb(var(--color-foreground)) calc(1 * 100%), #ffffff);
}

.banner-v225__heading-title {
  font-size: clamp(3rem, calc(1vw + 2.6rem), 3.8rem);
  margin-bottom: 2.4rem;
}

.banner-v225__title {
  font-size: clamp(2.4rem, calc(0.75vw + 2.1rem), 3rem);
  margin-bottom: 0.8rem;
}

.banner-v225__heading-desc {
  max-width: 100rem;
  margin: 0 auto;
  padding-bottom: clamp(2rem, calc(2.5vw + 1rem), 4rem);
  color: rgba(var(--color-foreground), 0.6);
  font-size: calc(var(--font-body-scale) * 1.6rem);
}

.banner-v225__item {
  position: relative;
  padding: 2rem 2rem 0 2rem;
}

.banner-v225__item-bg-cover {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.banner-v225__item-bg-cover .xo-image,
.banner-v225__item-bg-cover img {
  height: 100%;
}

.banner-v225__item {
  background-color: var(--background-color);
}

.banner-v225__item-content {
  padding: 2.4rem 0;
  text-align: center;
}

.banner-v225__item-wrap {
  position: relative;
}