.steps {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    counter-reset: step;
}

.steps__title {
    font-family: var(--font-brand);
    font-weight: 700;
    font-size: var(--font-size-body);
    line-height: var(--line-height-large);
    color: rgb(var(--color-graphite));
    margin: 0 0 1.5rem 0;
}

.step {
    counter-increment: step;
    display: flex;
    flex-direction: column;
    gap: .75rem;
    padding: 1.5rem;
    border-radius: 5px;
    background-color: rgb(var(--color-chalk));
}

    /* the chalk opacity cycle restarts at every fourth step */
    .step:nth-child(3n + 2) {
        background-color: rgba(var(--color-chalk), .6);
    }

    .step:nth-child(3n) {
        background-color: rgba(var(--color-chalk), .2);
    }

.step__content {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

.step__title {
    display: flex;
    gap: .5rem;
    margin: 0;
    font-family: var(--font-brand);
    font-weight: 700;
    font-size: var(--font-size-h2);
    line-height: var(--line-height-small);
    color: rgb(var(--color-graphite));
}

    .step__title::before {
        content: counter(step) ".";
    }

.step__text {
    display: flex;
    flex-direction: column;
    gap: .75rem;
}

    .step__text p,
    .step__text li {
        margin: 0;
        font-size: var(--font-size-body);
        line-height: var(--line-height-large);
        color: rgb(var(--color-graphite));
    }
