.block-cta {
  padding: 44px 40px;
  border: 1px solid var(--ib-line);
  border-radius: var(--ib-radius);
  background: var(--ib-bg-soft);
}

.block-cta--invert {
  background: var(--ib-fg);
  border-color: var(--ib-fg);
  color: var(--ib-bg);
}

.block-cta--invert .block-cta__text {
  color: color-mix(in srgb, var(--ib-bg) 72%, transparent);
}

.block-cta--invert .block-cta__button {
  background: var(--ib-invert-fill, var(--ib-bg));
  border-color: var(--ib-invert-fill, var(--ib-bg));
  color: var(--ib-invert-ink, var(--ib-fg));
}

.block-cta__title {
  margin: 0;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 600;
}

.block-cta__text {
  margin: 12px 0 0;
  color: var(--ib-muted);
}

.block-cta__action {
  display: flex;
  justify-content: flex-end;
}

@media (max-width: 600px) {
  .block-cta {
    padding: 32px 24px;
  }

  .block-cta__action {
    justify-content: flex-start;
    margin-top: 20px;
  }

  .block-cta__button {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}
