.banner128 {
  position: relative;
}

.banner128--1 {
  padding-right: 4rem;
}

.banner128--2 {
  padding: 0 4rem;
}

.banner128--3 {
  padding-left: 4rem;
}

.banner128-last {
  padding-right: 0;
}

.banner128__text {
  transform: rotate(0deg);
  z-index: 1;
  writing-mode: tb-rl;
  padding: 0rem 2rem 2rem 2rem;
  top: 11%;
  left: -5.5rem;
  position: absolute;
  transition: all 0.8s;
  text-transform: uppercase;
  letter-spacing: calc(var(--font-body-scale) * 0.2rem);
  font-size: calc(var(--font-heading-scale) * 1.4rem);
  color: rgba(var(--color-accent));
}
@media (max-width: 1500px) {
  .banner128__text {
    left: 0;
    top: 12%;
  }
}

.banner128__text::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 15%;
  background-color: rgba(var(--color-foreground), 0.5);
  top: -25%;
  right: 50%;
}

.banner128__content {
  position: absolute;
  bottom: 5%;
  left: -17%;
  z-index: 1;
}
@media (max-width: 1500px) {
  .banner128__content {
    left: 1rem;
  }
}

.banner128__title {
  font-family: "Jost", sans-serif;
  font-size: clamp(1.8rem, calc(1.5vw + 1.2rem), 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: rgba(var(--color-foreground));
}

.banner128__button {
  font-size: 1.4rem;
  padding-top: 0.5rem;
  letter-spacing: calc(var(--font-heading-scale) * 0.4rem);
  font-weight: 500;
}

.banner128__pt {
  margin-top: 12rem;
}
@media (max-width: 991px) {
  .banner128__pt {
    margin-top: 0;
  }
}

.banner128__relative {
  position: relative;
}

.banner128__img a {
  display: flex;
  justify-content: center;
}
@media (max-width: 991px) {
  .banner128__img .xo-image {
    width: 100%;
  }
}