.step-process {
  /* padding: 80px 0; */
  background: rgba(var(--bg-color-1));

  .step-process__info {
    text-align: center;
    max-width: 980px;
    margin: 0 auto 80px;
    display: flex;
    flex-direction: column;
    gap: 28px;

    .step-process__heading {
      font-family: var(--font-source-serif-4);
      font-size: var(--font-9-2);
      line-height: 1;
      font-weight: 700;
      color: rgba(var(--text-color-5));
    }

    .step-process__des {
      color: rgba(var(--text-color-9));
      font-size: var(--font-24);
      line-height: 1.7;
      font-weight: 400;
    }
  }

  .step-process__steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    position: relative;
    margin-bottom: 42px;

    &::before {
      content: "";
      position: absolute;
      top: 60px;
      left: 6%;
      width: 85%;
      border-top: 2px dashed rgba(var(--border-color-14));
      z-index: 0;
    }

    .step-process__card {
      position: relative;
      background: rgba(var(--bg-color-1));
      border: 1px solid rgba(var(--border-color-22));
      border-radius: var(--border-radius-10);
      padding: 71px 40px 40px 40px;
      box-shadow: 0 10px 25px 0 rgba(var(--bg-color-6), 10%);
      z-index: 2;

      .step-process__number {
        position: absolute;
        top: -37px;
        left: 45px;
        width: 80px;
        height: 80px;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: var(--border-radius-1);
        background: rgba(var(--bg-color-6));
        color: rgba(var(--text-color-1));
        font-family: var(--font-source-serif-4);
        font-size: var(--font-16);
        line-height: 1.5;
        font-weight: 700;
        border: 6px solid rgba(var(--border-color-1));
        box-shadow: 0 6px 18px 0 rgba(var(--bg-color-6), 18%);
      }

      .step-process__step-heading {
        color: rgba(var(--text-color-5));
        font-family: var(--font-source-serif-4);
        font-size: var(--font-15);
        line-height: 1.2;
        margin-bottom: 14px;
        font-weight: 700;
      }

      .step-process__step-des {
        color: rgba(var(--text-color-9));
        font-size: var(--font-24);
        line-height: 1.75;
        font-weight: 400;
      }
    }
  }

  .step-process__footer {
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;

    .step-process__footer-text {
      font-family: var(--font-source-serif-4);
      font-style: italic;
      font-weight: 700;
      color: rgba(var(--text-color-6));
      font-size: var(--font-24);
      line-height: 1.3;
    }
  }

  @media (max-width: 1024px) {
    .step-process__info {
      gap: 16px;
      margin-bottom: 48px;
    }

    .step-process__steps {
      grid-template-columns: repeat(2, 1fr);
      row-gap: 48px;

      .step-process__card {
        padding: 71px 24px 24px 24px;
      }

      &::before {
        display: none;
      }
    }
  }

  @media (max-width: 767px) {
    .step-process__steps {
      grid-template-columns: 1fr;

      .step-process__card {
        padding: 51px 24px 24px 24px;
        border-radius: var(--border-radius-3);

        .step-process__number {
          position: absolute;
          top: -30px;
          left: 30px;
          width: 60px;
          height: 60px;
        }
      }
    }
  }
}
