.cards-with-numbers {
    background: #F5F5F5;
}

.cards-with-numbers__wrapper {
    display: flex;
    flex-direction: column;
    gap: clamp(40px, 5vw, 96px);
}

.cards-with-numbers__top {
    display: flex;
    flex-direction: column;
    gap: clamp(28px, 3.33vw, 64px);
}

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

.cards-with-numbers__top-items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: clamp(12px, 0.83vw, 16px);
    justify-content: space-between;
}

.cards-with-numbers__top-item {
    background: var(--white);
    width: calc((100% - 3 * clamp(12px, 0.83vw, 16px)) / 4);
    padding: clamp(24px, 2.19vw, 42px) clamp(16px, 1.67vw, 32px);
    height: clamp(220px, 20.83vw, 400px);
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}

.cards-with-numbers__top-item .number {
    font-family: PP Neue Montreal;
    font-weight: 500;
    font-style: normal;
    font-size: clamp(48px, 5.83vw, 112px);
    leading-trim: NONE;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    text-transform: uppercase;
    color: var(--gray-100);
}

.cards-with-numbers__top-item .text {
    font-family: PP Neue Montreal;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(18px, 1.67vw, 32px);
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-align: center;
    vertical-align: middle;
    color: var(--gray-100);
}

.separate {
    display: block;
    font-family: PP Neue Montreal;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(15px, 1.04vw, 20px);
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    text-align: center;
    color: var(--gray-80);
}

.cards-with-numbers__bot {
    display: flex;
    flex-direction: row;
    gap: clamp(24px, 7.86vw, 151px);
    justify-content: space-between;
}

.cards-with-numbers__bot-item {
    display: flex;
    flex-direction: column;
    gap: clamp(16px, 1.67vw, 32px);
    width: calc((100% - clamp(24px, 7.86vw, 151px)) / 2);
    max-width: calc((100% - clamp(24px, 7.86vw, 151px)) / 2);
}

.cards-with-numbers__bot-item .img-wrapper {
    width: 100%;
    height: clamp(180px, 15.625vw, 300px);
    overflow: hidden;
}

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

.cards-with-numbers__bot-item .text-section {
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 0.83vw, 16px);
}

.cards-with-numbers__bot-item .text-section .title {
    font-family: PP Neue Montreal;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(22px, 2.19vw, 42px);
    leading-trim: NONE;
    line-height: 130%;
    letter-spacing: 0%;
    text-transform: uppercase;
    color: var(--gray-100);
}

.cards-with-numbers__bot-item .text-section .desc {
    font-family: PP Neue Montreal;
    font-weight: 400;
    font-style: normal;
    font-size: clamp(14px, 1.04vw, 20px);
    leading-trim: NONE;
    line-height: 150%;
    letter-spacing: 0%;
    color: var(--gray-80);
}

@media (max-width: 1024px) {
    .cards-with-numbers__top-items {
        gap: clamp(12px, 1.5vw, 20px);
    }

    .cards-with-numbers__top-item {
        width: calc((100% - clamp(12px, 1.5vw, 20px)) / 2);
        height: clamp(220px, 28vw, 320px);
        padding: clamp(20px, 3vw, 32px);
        justify-content: space-between;
    }

    .cards-with-numbers__top-item .number {
        font-size: clamp(56px, 7.5vw, 84px);
    }

    .cards-with-numbers__top-item .text {
        font-size: clamp(18px, 2.2vw, 24px);
    }

    .cards-with-numbers__bot {
        flex-direction: column;
        gap: clamp(32px, 4vw, 48px);
    }

    .cards-with-numbers__bot-item {
        width: 100%;
        max-width: 100%;
    }

    .cards-with-numbers__bot-item .img-wrapper {
        height: clamp(200px, 35vw, 300px);
    }
}

@media (max-width: 576px) {
    .cards-with-numbers__top-item {
        width: 100%;
        height: auto;
        min-height: clamp(180px, 40vw, 220px);
        padding: clamp(20px, 5vw, 28px) clamp(16px, 4vw, 20px);
        justify-content: space-between;
    }

    .cards-with-numbers__top-item .number {
        font-size: clamp(48px, 14vw, 72px);
    }

    .cards-with-numbers__top-item .text {
        font-size: clamp(16px, 4.5vw, 20px);
    }
}