.CTA-banner__wrapper{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 110px;
  padding: 56px;
  border-radius: 4px;
}

.CTA-banner__content {
  max-width: 700px;
}

.CTA-banner__content h1,
.CTA-banner__content h2,
.CTA-banner__content h3 {
  margin: 0 0 16px;
  font-size: 40px;
  line-height: 1.15;
  font-weight: 700;
  color: #FFFFFF;
}

.CTA-banner__content h1 em,
.CTA-banner__content h2 em,
.CTA-banner__content h3 em {
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 500;
}

.CTA-banner__content p {
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #FDEDF1;
}

.CTA-banner__content p + p {
  margin-top: 8px;
}

{# Buttons (right side) #}

.CTA-banner__button-wrapper.buttons-wrapper {
  display: flex;
  align-items: center;
  gap: 32px;
  flex-shrink: 0;
}

@media (max-width: 767px) {
  .CTA-banner__wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    padding: 32px 24px;
  }

  .CTA-banner__content {
    max-width: none;
  }

  .CTA-banner__content h1,
  .CTA-banner__content h2,
  .CTA-banner__content h3 {
    font-size: 28px;
  }

  .CTA-banner__button-wrapper.buttons-wrapper {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
  }

  .CTA-banner__button-wrapper.buttons-wrapper .button-1-wrapper,
  .CTA-banner__button-wrapper.buttons-wrapper .button-2-wrapper {
    width: 100%;
  }
}