.cards {
    background: var(--white);
}

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

.cards__title {
    font-family: PP Neue Montreal, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(28px, 2.5vw, 48px);
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    text-transform: uppercase;
    color: var(--gray-100);
}

.cards__items {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: clamp(24px, 1.67vw, 32px) clamp(24px, 7.71vw, 148px);
}

.cards__items--item {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.25vw, 24px);
    width: calc((100% - clamp(24px, 7.71vw, 148px)) / 2);
    max-width: calc((100% - clamp(24px, 7.71vw, 148px)) / 2);
}

.cards__items--item .img-wrapper {
    width: 100%;
    height: clamp(200px, 18.75vw, 360px);
    overflow: hidden;
}

.cards__items--item .img-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cards__items--item .text-sections {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 0.83vw, 16px);
}

.cards__items--item .text-sections .text-badge {
    font-family: PP Neue Montreal, sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: clamp(14px, 1.04vw, 20px);
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: var(--gray-80);
}

.cards__items--item .text-sections .text-desc {
    font-family: PP Neue Montreal, sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(18px, 1.67vw, 32px);
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    color: var(--gray-100);
}

@media (max-width: 1024px) {
    .cards__wrapper {
        gap: clamp(24px, 3.5vw, 40px);
    }

    .cards__title {
        font-size: clamp(26px, 3.5vw, 36px);
    }

    .cards__items {
        gap: clamp(24px, 3vw, 40px);
    }

    .cards__items--item {
        width: 100%;
        max-width: 100%;
        gap: clamp(14px, 2vw, 20px);
    }

    .cards__items--item .img-wrapper {
        height: clamp(220px, 35vw, 340px);
    }

    .cards__items--item .text-sections .text-desc {
        font-size: clamp(18px, 2.4vw, 24px);
    }
}

@media (max-width: 576px) {
    .cards__wrapper {
        gap: clamp(20px, 4vw, 28px);
    }

    .cards__title {
        font-size: clamp(22px, 5.5vw, 28px);
    }

    .cards__items {
        gap: clamp(20px, 4vw, 28px);
    }

    .cards__items--item .img-wrapper {
        height: clamp(180px, 50vw, 240px);
    }

    .cards__items--item .text-sections .text-badge {
        font-size: clamp(12px, 3vw, 14px);
    }

    .cards__items--item .text-sections .text-desc {
        font-size: clamp(16px, 4.5vw, 20px);
    }
}