/* Цифры главной по макету Draft (карточки + число под картой).
   Числа — life / life-full; актуальные значения из ТЗ.
   ≥1401 — макет 1440; 992–1400 — fluid ряд; 768–991 — планшет; ≤767 — столбик. */

/* Общее «18238 детей…» не дублируем — есть число под картой */
body.page-home .section-report__first {
    display: none !important;
}

/* ——— Desktop ≥1401 ——— */
@media (min-width: 1401px) {
    /* Пояс с карточек (y 3126) через Rect 136/80 (y 3333): белый → #E2FFE7 → белый */
    body.page-home .home-geo {
        background-color: #fff;
        background-image: linear-gradient(180deg, #fff 0%, #E2FFE7 50%, #fff 100%);
        background-repeat: no-repeat;
        background-size: 100% 1110px;
        background-position: center 854px;
        overflow-x: clip;
    }

    body.page-home .home-geo > .section-geography,
    body.page-home .section-report {
        background: transparent;
    }

    body.page-home .section-report {
        padding: 0 0 156px;
    }

    body.page-home .section-report > .container {
        row-gap: 73px;
        max-width: 1440px;
        padding-top: 50px;
    }

    body.page-home .section-report__list {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        column-gap: 49px;
        justify-content: center;
        align-items: stretch;
        width: 100%;
        max-width: none;
    }

    body.page-home .section-report__list > div {
        width: 429px;
        height: 317px;
        padding: 48px 24px 0;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 6px 44px 0 rgba(62, 167, 79, 0.14);
        display: flex;
        flex-direction: column;
        row-gap: 33px;
        align-items: center;
        box-sizing: border-box;
    }

    body.page-home .section-report__list .font-life {
        position: static;
        top: auto;
        left: auto;
        translate: none;
        display: block;
        width: auto;
        height: 127px;
        margin: 0;
        font-family: "life-full", "life", sans-serif !important;
        font-size: 127px;
        line-height: 1;
        letter-spacing: -11.3px;
        color: #3EA74F;
        white-space: nowrap;
    }

    body.page-home .section-report__list > div > span:last-of-type {
        font-size: 22px;
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: -0.22px;
        color: #4D4D4D;
        text-align: center;
        white-space: normal;
    }

    body.page-home .section-report > .container > .btn {
        width: 260px;
        height: 50px;
        margin: 0 auto;
        padding: 0;
        border-radius: 60px;
        background: #3EA74F;
        font-size: 18px;
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.36px;
    }
}

/* ——— Узкий desktop / laptop 992–1400: ряд из 3, fluid от 1440 ——— */
@media (min-width: 992px) and (max-width: 1400px) {
    body.page-home .home-geo {
        background-color: #fff;
        background-image: linear-gradient(180deg, #fff 0%, #E2FFE7 50%, #fff 100%);
        background-repeat: no-repeat;
        background-size: 100% calc(1110px * 100vw / 1440px);
        background-position: center calc(854px * 100vw / 1440px);
        overflow-x: clip;
        max-width: 100%;
    }

    body.page-home .home-geo > .section-geography,
    body.page-home .section-report {
        background: transparent;
    }

    body.page-home .section-report {
        padding: 0 0 calc(156px * 100vw / 1440px);
    }

    body.page-home .section-report > .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: calc(73px * 100vw / 1440px);
        max-width: 100%;
        width: 100%;
        padding: calc(50px * 100vw / 1440px) clamp(16px, 2.2vw, 32px) 0;
        box-sizing: border-box;
    }

    body.page-home .section-report__list {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: stretch;
        column-gap: calc(49px * 100vw / 1440px);
        width: 100%;
        max-width: none;
    }

    body.page-home .section-report__list > div {
        flex: 1 1 0;
        width: auto;
        max-width: calc(429px * 100vw / 1440px);
        height: calc(317px * 100vw / 1440px);
        min-height: 0;
        padding: calc(48px * 100vw / 1440px) calc(24px * 100vw / 1440px) 0;
        border-radius: calc(20px * 100vw / 1440px);
        background: #fff;
        box-shadow: 0 6px 44px 0 rgba(62, 167, 79, 0.14);
        display: flex;
        flex-direction: column;
        row-gap: calc(33px * 100vw / 1440px);
        align-items: center;
        box-sizing: border-box;
    }

    body.page-home .section-report__list .font-life {
        position: static;
        top: auto;
        left: auto;
        translate: none;
        display: block;
        width: auto;
        max-width: 100%;
        height: calc(127px * 100vw / 1440px);
        margin: 0;
        font-family: "life-full", "life", sans-serif !important;
        font-size: calc(127px * 100vw / 1440px);
        line-height: 1;
        letter-spacing: calc(-11.3px * 100vw / 1440px);
        color: #3EA74F;
        white-space: nowrap;
    }

    body.page-home .section-report__list > div > span:last-of-type {
        font-size: calc(22px * 100vw / 1440px);
        font-weight: 400;
        line-height: 1.1;
        letter-spacing: -0.01em;
        color: #4D4D4D;
        text-align: center;
        white-space: normal;
    }

    body.page-home .section-report > .container > .btn {
        width: calc(260px * 100vw / 1440px);
        max-width: 100%;
        height: calc(50px * 100vw / 1440px);
        margin: 0 auto;
        padding: 0;
        border-radius: 60px;
        background: #3EA74F;
        font-size: calc(18px * 100vw / 1440px);
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.02em;
    }
}

/* ——— Планшет 768–991: ряд из 3, ужатые карточки ——— */
@media (min-width: 768px) and (max-width: 991px) {
    body.page-home .home-geo {
        background-color: #fff;
        background-image: linear-gradient(180deg, #fff 0%, #E2FFE7 55%, #fff 100%);
        background-repeat: no-repeat;
        background-size: 100% 70%;
        background-position: center bottom;
        overflow-x: clip;
        max-width: 100%;
    }

    body.page-home .home-geo > .section-geography,
    body.page-home .section-report {
        background: transparent;
    }

    body.page-home .section-report {
        padding: 28px 0 56px;
    }

    body.page-home .section-report > .container {
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 28px;
        max-width: 100%;
        width: 100%;
        padding: 20px 20px 0;
        box-sizing: border-box;
    }

    body.page-home .section-report__list {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: center;
        align-items: stretch;
        column-gap: 12px;
        width: 100%;
        max-width: none;
    }

    body.page-home .section-report__list > div {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        height: auto;
        min-height: 200px;
        padding: 20px 12px 16px;
        border-radius: 16px;
        background: #fff;
        box-shadow: 0 6px 44px 0 rgba(62, 167, 79, 0.14);
        display: flex;
        flex-direction: column;
        row-gap: 12px;
        align-items: center;
        box-sizing: border-box;
    }

    body.page-home .section-report__list .font-life {
        position: static;
        top: auto;
        left: auto;
        translate: none;
        display: block;
        width: auto;
        max-width: 100%;
        height: 72px;
        margin: 0;
        font-family: "life-full", "life", sans-serif !important;
        font-size: 64px;
        line-height: 1;
        letter-spacing: -5px;
        color: #3EA74F;
        white-space: nowrap;
    }

    body.page-home .section-report__list > div > span:last-of-type {
        font-size: 14px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: -0.02em;
        color: #4D4D4D;
        text-align: center;
        white-space: normal;
    }

    body.page-home .section-report > .container > .btn {
        width: min(240px, 100%);
        height: 46px;
        margin: 0 auto;
        padding: 0;
        border-radius: 60px;
        background: #3EA74F;
        font-size: 15px;
        font-weight: 700;
        line-height: 1;
    }
}

/* ——— Мобилка ≤767: столбик ——— */
@media (max-width: 767px) {
    body.page-home .home-geo {
        background-color: #fff;
        background-image: linear-gradient(180deg, #fff 0%, #E2FFE7 55%, #fff 100%);
        background-repeat: no-repeat;
        background-size: 100% 70%;
        background-position: center bottom;
        overflow-x: clip;
        max-width: 100%;
    }

    body.page-home .home-geo > .section-geography,
    body.page-home .section-report {
        background: transparent;
    }

    body.page-home .section-report {
        padding: 32px 0 64px;
    }

    body.page-home .section-report > .container {
        row-gap: 20px;
        max-width: 100%;
        padding: 24px 16px 0;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    body.page-home .section-report__list {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        width: 100%;
        max-width: 420px;
    }

    body.page-home .section-report__list > div {
        width: 100%;
        height: auto;
        min-height: 0;
        padding: 24px 20px;
        border-radius: 20px;
        background: #fff;
        box-shadow: 0 6px 44px 0 rgba(62, 167, 79, 0.14);
        display: flex;
        flex-direction: column;
        align-items: center;
        row-gap: 12px;
        box-sizing: border-box;
    }

    body.page-home .section-report__list .font-life {
        position: static;
        top: auto;
        left: auto;
        translate: none;
        display: block;
        width: auto;
        max-width: 100%;
        height: 72px;
        margin: 0;
        font-family: "life-full", "life", sans-serif !important;
        font-size: 64px;
        line-height: 1;
        letter-spacing: -5px;
        color: #3EA74F;
        white-space: nowrap;
    }

    body.page-home .section-report__list > div > span:last-of-type {
        font-size: 16px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: -0.02em;
        color: #4D4D4D;
        text-align: center;
        white-space: normal;
    }

    body.page-home .section-report > .container > .btn {
        width: min(260px, 100%);
        height: 48px;
        margin: 8px 0 0;
        padding: 0;
        border-radius: 60px;
        background: #3EA74F;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
    }
}
