.banner-v247__item {
  position: relative;
}

.banner-v247__heading,
.banner-v247__subheading {
  text-align: center;
}

.banner-v247__heading,
.banner-v247__subheading,
.banner-v247__title {
  color: color-mix(in srgb, rgba(var(--color-foreground)) calc(1 * 100%), transparent);
}

.banner-v247__heading {
  font-size: clamp(2.8rem, calc(0.75vw + 2.5rem), 3.4rem);
  font-weight: 400;
  text-transform: capitalize;
  letter-spacing: -0.4px;
  line-height: calc(1 + 0.3 / var(--font-heading-scale));
  margin-bottom: 1rem;
}

.banner-v247__subheading {
  font-size: calc(var(--font-body-scale) * 1.5rem);
  opacity: 0.7;
  line-height: calc(1 + 0.85714 / var(--font-body-scale));
  margin-bottom: 2.4rem;
}
@media (min-width: 768px) {
  .banner-v247__subheading {
    margin-bottom: 4.8rem;
  }
}

.banner-v247__content {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.5rem;
}

.banner-v247__title {
  font-weight: 400;
  font-size: calc(var(--font-heading-scale) * var(--font-body-scale) * 2.4rem);
  line-height: 1.4;
  margin-bottom: 0.5rem;
  letter-spacing: -0.25px;
  color: rgba(var(--color-accent));
}

.banner-v247__btn a {
  font-weight: 500;
  font-size: calc(var(--font-body-scale) * 1.6rem);
  line-height: calc(1 + 0.5 / var(--font-body-scale));
  text-transform: capitalize;
  transition: all 0.4s ease;
  color: rgba(var(--color-foreground) 0.8);
}
.banner-v247__btn a:hover {
  color: rgba(var(--color-accent));
}

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