.contact-cta {
  position: relative;
  margin: 75px 0;
  padding: 0 $gutter;

  @include sm {
    margin: 50px 0;
    padding: 0 $gutter-mobile;
  }

  &__wrapper {
    width: 100%;
    max-width: 1028px;
    margin: 0 auto;
    display: flex;
    align-items: center;

    @include sm {
      flex-direction: column;
      align-items: center;
    }
  }

  &__image {
    position: relative;
    width: 323px;
    height: 323px;
    margin: 80px -88px 80px 0;
    flex-shrink: 0;
    z-index: 1;

    @include sm {
      width: 295px;
      height: 295px;
      margin: 0 0 -48px 0;
    }

    img {
      display: block;
      width: 100%;
    }
  }

  &__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 95px 120px 95px 208px;

    @include md {
      padding: 95px 50px 95px 142px;
    }

    @include sm {
      max-width: 400px;
      padding: 80px 64px 40px;
    }
  }

  &__title {
    margin-bottom: 0;
    margin-top: 0;
    z-index: 1;

    .contact-cta--luumo & {
      background: $luumo-text-gradient;
      background-clip: text;
      -webkit-text-fill-color: transparent;
    }

    @include sm {
      margin-bottom: 16px;
    }
  }

  &__subtitle {
    margin-top: 0;
    margin-bottom: 28px;
    z-index: 1;
  }

  &__cta {
    margin-top: 32px;
    z-index: 1;

    @include sm {
      text-align: center;
    }

    .std-button {
      padding: 0 24px;

      @include sm {
        width: 100%;
        max-width: 400px;
      }
    }
  }

  &__text {
    z-index: 1;

    & > *:first-child {
      margin-top: 0;
    }

    & > *:last-child {
      margin-bottom: 0;
    }
  }

  &__content {
    .contact-cta--luumo & {
      &:before {
        content: '';
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        left: 0;
        height: 37vw;
        width: 100%;
        background: url(../assets/img/svg/luumo-bg-color.svg) no-repeat;
        background-size: 100%;
        background-position: 50% 0;
      }
    }
  }
}
