.text-and-line {
    background: var(--white);
}

.text-and-line__wrapper {
    display: flex;
    flex-direction: column;
    gap: clamp(32px, 3.33vw, 64px);
}

.text-and-line__title {
    display: flex;
    align-items: center;
    gap: clamp(8px, 0.83vw, 16px);
    font-family: PP Neue Montreal;
    font-weight: 500;
    font-style: Medium;
    font-size: clamp(32px, 2.92vw, 56px);
    leading-trim: NONE;
    justify-content: center;
    line-height: 130%;
    text-align: center;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: var(--gray-100);
}

.text-and-line__items {
    display: flex;
    flex-direction: row;
    gap: clamp(30px, 3.42vw, 66px);
    flex-wrap: wrap;
}

.text-and-line__item {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 0.83vw, 16px);
    width: calc((100% - clamp(90px, 10.31vw, 198px)) / 4);
}

.text-and-line__item-title {
    display: flex;
    gap: clamp(8px, 0.83vw, 16px);
    font-family: Nib Pro;
    font-weight: 400;
    font-style: Italic;
    font-size: clamp(16px, 1.25vw, 24px);
    leading-trim: NONE;
    line-height: 140%;
    letter-spacing: 0%;
    color: var(--gray-100);

}

.text-and-line__item-title svg {
    width: clamp(16px, 1.15vw, 22px);
    height: clamp(18px, 1.25vw, 24px);
    flex-shrink: 0;
}

.text-and-line__item-description {
    font-family: PP Neue Montreal;
    font-weight: 400;
    font-style: Regular;
    font-size: clamp(14px, 1.04vw, 20px);
    leading-trim: NONE;
    line-height: 150%;
    margin-left: clamp(20px, 1.98vw, 38px);
    letter-spacing: 0%;
    color: #161616;
}

@media (max-width: 1024px) {
    .text-and-line__wrapper {
        gap: clamp(24px, 4vw, 36px);
    }

    .text-and-line__title {
        justify-content: flex-start;
        text-align: left;
        font-size: clamp(28px, 6.5vw, 36px);
        line-height: 120%;
    }

    .text-and-line__items {
        gap: 28px 24px;
    }

    .text-and-line__item {
        width: calc((100% - 24px) / 2);
        align-items: center;
    }
}

@media (max-width: 768px) {
    .text-and-line__items {
        flex-direction: column;
        gap: clamp(20px, 5vw, 28px);
    }

    .text-and-line__item {
        width: 100%;
        gap: clamp(6px, 1.5vw, 8px);
    }

    .text-and-line__item-title {
        align-items: flex-start;
        gap: 12px;
        text-align: center;
        font-size: clamp(16px, 4vw, 18px);
        line-height: 130%;
    }

    .text-and-line__item-title svg {
        width: 18px;
        height: 22px;
        flex-shrink: 0;
        margin-top: 2px;
    }

    .text-and-line__item-description {
        margin-left: 0;
        text-align: center;
        text-align: center;
        font-size: clamp(13px, 3.5vw, 15px);
        line-height: 140%;
        color: var(--gray-90);
    }
}
