.block-cta-banner-redesign {
  padding-top: calc(80px + 1.5vw);
  padding-bottom: calc(calc(40px + 0.75vw) * 1.5);
}
.block-cta-banner-redesign.has-bg.bg-white {
  background: white;
}
.block-cta-banner-redesign.has-bg.bg-grey {
  background: #f9f7f7;
}
.block-cta-banner-redesign.has-bg.bg-purple {
  background: #797eda;
  color: white;
}
.block-cta-banner-redesign.has-bg.bg-light-purple {
  background: #e5e1fc;
}
.block-cta-banner-redesign.has-bg.bg-blue {
  background: #3940e3;
  color: white;
}
.block-cta-banner-redesign.has-bg.bg-dark-blue {
  background: #171764;
  color: white;
}
.block-cta-banner-redesign .text-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  margin-bottom: calc(1em + 2vw);
}
.block-cta-banner-redesign .text-wrapper .subtitle {
  margin-bottom: 1.75em;
}
.block-cta-banner-redesign .text-wrapper .title {
  max-width: 28ch;
  margin-bottom: 0.4em;
}
.block-cta-banner-redesign .text-wrapper .text {
  max-width: 44ch;
  opacity: 0.7;
  margin-top: 15px;
}
.block-cta-banner-redesign .button-wrapper {
  justify-content: center;
}
.block-cta-banner-redesign .button-wrapper .button:not(.ghost):hover, .block-cta-banner-redesign .button-wrapper .button:not(.ghost):focus, .block-cta-banner-redesign .button-wrapper .button:not(.ghost):active {
  background-color: transparent;
  border-color: #3940e3;
  color: #3940e3;
}
.block-cta-banner-redesign .caption {
  margin: 1em auto 0;
  text-align: center;
  font-size: calc(
        12px + 2 * ((100vw - 375px) / 1545)
    );
  line-height: 1.45;
  opacity: 0.7;
}
@media screen and (max-width: 375px) {
  .block-cta-banner-redesign .caption {
    font-size: 12px;
  }
}
@media screen and (min-width: 1920px) {
  .block-cta-banner-redesign .caption {
    font-size: 14px;
  }
}
