.banner-v256 {
  position: relative;
}

.banner-v256__bg::before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  width: var(--percent-height);
  height: var(--percent-width);
  background-color: var(--bg);
}
@media (min-width: 768px) {
  .banner-v256__bg::before {
    width: var(--percent-width);
    height: var(--percent-height);
  }
}

.banner-v256__grid {
  position: relative;
  background-color: color-mix(in srgb, rgb(var(--color-background)) calc(1 * 100%), #ffffff);
}
@media (min-width: 768px) {
  .banner-v256__grid {
    border-radius: 0.8rem;
    overflow: hidden;
  }
}

.banner-v256__item {
  position: relative;
}

.banner-v256__item:first-child {
  display: flex;
  justify-content: center;
  align-items: center;
}

.banner-v256__content {
  text-align: center;
  max-width: 43rem;
  padding: 0 2.4rem;
  padding-top: var(--pt);
  padding-bottom: var(--pb);
}
@media (min-width: 768px) {
  .banner-v256__content {
    padding: 2rem 3.4rem;
  }
}

.banner-v256__subtitle {
  font-weight: 500;
  margin-bottom: 1.6rem;
  color: rgb(var(--color-accent));
}

.banner-v256__title {
  font-weight: 500;
  margin-bottom: 1.6rem;
  font-size: calc(var(--font-heading-scale) * 3.6rem);
}

.banner-v256__description {
  font-size: calc(var(--font-body-scale) * 1.4rem);
  padding-bottom: 3rem;
}

.banner-v256__btn {
  margin-top: 2.4rem;
}
@media (min-width: 768px) {
  .banner-v256__btn {
    margin-top: 4.8rem;
  }
}

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