.how-it-works {
    padding-top: 170px;
    padding-bottom: 50px;
}

.how-it-works-header {
    display: flex;
    justify-content: space-between;
    padding-bottom: 52px;
}

.how-it-works-header-head {
    max-width: 584px;
}

.how-it-works-title {
    font-size: 24px;
    font-weight: 600;
    line-height: 157%;

    margin-bottom: -3px;
}

.how-it-works-subtitle {
    color: #01996D;
    font-size: 50px;
    font-weight: 700;
    font-family: 'Georgia', serif;
    line-height: 157%;


}

.how-it-works-header-content {
    max-width: 671px;
    line-height: 150%;
    font-weight: 500;

    padding-top: 58px;
}

.how-it-works-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, 390px);
    column-gap: 95px;    
}


.step {
    max-width: 390px;
}

.step:nth-child(2) {
    padding-top: 287px;
}

.step:nth-child(3) {
    padding-top: 54px;
}

.step-heading {
    position: relative;
    
    font-family: 'Georgia', serif;
    font-size: 30px;
    font-weight: 700;
    line-height: 150%; /* 45px */

    margin-bottom: 55px;
    color: #000;

    padding-top: 135px;
    padding-left: 88px;
}

.step-heading::before {
    position: absolute;
    top: 0;
    left: 0;
    
    content: attr(data-number);
    color: rgba(1, 153, 109, 0.20);
    font-size: 150px;
    font-style: 400;
    font-weight: 400;
    line-height: 150%; /* 225px */
}

.step-text {
    color: #424242;
    font-family: Lato;
    font-size: 20px;
    font-weight: 500;
    line-height: 150%; /* 30px */

    margin-bottom: 60px;
}

.step-img-wrapper {
    position: relative;
    padding-bottom: 126%;
}

.step-img {
    position: absolute;

    border-radius: 8px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


@media (max-width: 1399px) {
    .how-it-works {
        padding-top: 60px;
        padding-bottom: 30px;
    }

    .how-it-works-subtitle {
        line-height: 130%;
        font-size: 40px;
    }

    .how-it-works-header-content {
        padding-top: 20px;
    }

    .how-it-works-header {
        padding-bottom: 52px;
        flex-direction: column;
    }
}


@media (max-width: 1389px) {
    .step:nth-child(2),
    .step:nth-child(3) {
        padding-top: 0;
    }
}


@media (max-width: 419px) {
    .how-it-works-steps {
        grid-template-columns: 1fr;
    }
}