.banner-v7__item {
  max-width: 690px;
  background: rgb(var(--color-background), 0.6);
  padding: 2.5rem;
  margin: 0 auto;
  display: flex;
  position: relative;
  border: 1px solid rgb(var(--color-foreground));
}
.banner-v7__item .xo-btn--primary:not(:hover) {
  background-color: transparent;
}

.banner-v7__border {
  border: 1px solid rgb(var(--color-foreground), 0.6);
  width: 100%;
  padding: 45px 15px 50px;
  text-align: center;
}

.banner-v7__subtitle {
  font-size: calc(var(--font-heading-scale) * 6rem);
  color: rgb(var(--color-foreground));
}
@media (max-width: 991px) {
  .banner-v7__subtitle {
    font-size: calc(var(--font-heading-scale) * 4.8rem);
  }
}
@media (max-width: 767px) {
  .banner-v7__subtitle {
    font-size: calc(var(--font-heading-scale) * 4.2rem);
  }
}

.banner-v7__title {
  font-size: calc(var(--font-heading-scale) * 3rem);
  letter-spacing: 0.32rem;
  color: rgb(var(--color-foreground));
  padding-bottom: clamp(2rem, calc(2.5vw + 1rem), 4rem);
}
@media (max-width: 991px) {
  .banner-v7__title {
    font-size: calc(var(--font-heading-scale) * 2.8rem);
  }
}
@media (max-width: 767px) {
  .banner-v7__title {
    font-size: calc(var(--font-heading-scale) * 2.4rem);
  }
}

.banner-v7__btn {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 300;
  text-transform: uppercase;
  line-height: 4.5rem;
  letter-spacing: 0.32rem;
  background-color: rgb(var(--color-background));
  border-style: solid;
  border-width: 0.2rem;
  border-color: rgb(var(--color-foreground), 0.6);
  color: rgb(var(--color-foreground));
  border-radius: 0;
  padding: 0 4rem;
}
.banner-v7__btn:hover {
  background: rgb(var(--color-accent));
  border-color: rgb(var(--color-accent));
}