.benefits-section {
  .text-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;

    .label {
      width: fit-content;
      color: #000;
      text-align: center;
      font-size: 16px;
      font-style: normal;
      font-weight: 450;
      line-height: 24px;
      display: flex;
      padding: 3px 16px 4px 16px;
      justify-content: center;
      align-items: center;
      gap: 8px;
      border-radius: 88px;
    }

    .title {
      color: #606165;
      font-family: Aeonik;
      font-size: 52px;
      font-weight: 250;
      line-height: 100%;
      letter-spacing: -0.78px;
      margin: 0;
      max-width: 588px;
      text-align: center;

      @media screen and (max-width: 740px) {
        font-size: 32px;
        font-weight: 250;
        line-height: 1;
        letter-spacing: -0.48px;
      }

      strong {
        color: #000000;
        font-weight: 400;
        line-height: 100%;
        letter-spacing: -0.78px;
      }
    }
  }

  .benefits-wrapper {
    display: flex;
    gap: var(--gap);
    margin-top: 80px;

    @media screen and (max-width: 1200px) {
      display: none;
    }

    .benefit-card {
      display: flex;
      flex-direction: column;
      height: 80dvh;
      min-height: 500px;
      max-height: 630px;
      transition: all 0.3s;
      position: relative;
      padding: 24px;
      overflow: hidden;
      border-radius: 16px;
      justify-content: space-between;
      width: var(--card-collapsed-width);

      .benefit-card__image-wrapper {
        height: 100%;
        width: 100%;
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;

        .image-gradient-overlay {
          display: block;
          height: 100%;
          width: 100%;
          position: absolute;
          top: 0;
          left: 0;
        }

        img {
          border-radius: 16px;
          height: 100%;
          width: 100%;
          object-fit: cover;
          display: block;
        }
      }

      .benefit_title,
      .benefit_description {
        color: #fff;
        transition: opacity 0.2s;
        transition-delay: 0.2s;
      }

      .benefit_title {
        margin: 0;
        max-width: 327px;
        width: 100%;
        font-family: Aeonik;
        font-size: 40px;
        font-style: normal;
        font-weight: 250;
        line-height: 1.1;
        letter-spacing: -0.6px;
      }

      .benefit_description {
        max-width: 507px;
        width: 100%;
        font-family: "PP Neue Montreal";
        font-size: 18px;
        font-style: normal;
        font-weight: 375;
        line-height: 1.3;
      }
    }

    .benefit-card:not(.benefit-card--active) {
      .benefit_title,
      .benefit_description {
        opacity: 0;
        transition-delay: 0s;
      }
    }
    .benefit-card--active {
      width: var(--active-card-max-width);

      .benefit_title,
      .benefit_description {
        opacity: 1;
      }
    }
  }

  .benefits-wrapper--swiper {
    display: none;
    height: 630px;
    width: 100%;
    position: relative;
    overflow: visible;
    margin-top: 70px;

    @media screen and (max-width: 1200px) {
      display: block;
    }

    .benefit-card {
      display: flex;
      flex-direction: column;
      min-height: 500px;
      max-height: 630px;
      height: 100%;
      transition: all 0.3s;
      position: relative;
      padding: 24px;
      overflow: hidden;
      border-radius: 16px;
      justify-content: end;
      width: var(--card-collapsed-width);

      .benefit-card__image-wrapper {
        height: 100%;
        width: 100%;
        position: absolute;
        z-index: -1;
        top: 0;
        left: 0;

        .image-gradient-overlay {
          display: block;
          height: 100%;
          width: 100%;
          position: absolute;
          top: 0;
          left: 0;
        }

        img {
          border-radius: 16px;
          height: 100%;
          width: 100%;
          object-fit: cover;
          display: block;
        }
      }

      .benefit_title,
      .benefit_description {
        color: #fff;
        transition: opacity 0.2s;
        transition-delay: 0.2s;
      }

      .benefit_title {
        margin: 0;
        max-width: 327px;
        width: 100%;
        font-size: 24px;
        font-weight: 250;
        line-height: 1.1;
        letter-spacing: -0.36px;
      }

      .benefit_description {
        margin-top: 20px;
        max-width: 507px;
        width: 100%;
        font-family: "PP Neue Montreal";
        font-size: 16px;
        font-style: normal;
        font-weight: 400;
        line-height: 1.3;
      }
    }

    .benefit-card:not(.swiper-slide-active) {
      .benefit_title,
      .benefit_description {
        opacity: 0;
        transition-delay: 0s;
      }
    }
    .swiper-slide-active {
      width: var(--active-card-max-width);

      .benefit_title,
      .benefit_description {
        opacity: 1;
      }
    }

    .swiper-button {
      position: absolute;
      top: auto;
      bottom: calc(-1 * 71px);
      right: auto;
      left: 1.5rem;
      color: #fff;
      background: #000;
      border-radius: 500px;
      width: 46px;
      height: 46px;
      padding: 13px;

      @media screen and (min-width: 750px) {
        left: 5rem;
      }
    }

    .swiper-button::after {
      content: none;
    }

    .swiper-button-next {
      left: calc(1.5rem + 54px);

      @media screen and (min-width: 750px) {
        left: calc(5rem + 54px);
      }
    }
  }

  .rte strong {
    color: #000;
  }
}

.wrapper:has(.benefits-wrapper--swiper) {
  overflow: hidden;
}
