/* Изолированный лендинг. Desktop 1440.
   Figma 5010:1090 — Header + Hero (координаты артборда). */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
}

.itogi-body {
    min-height: 100%;
    background: #fff;
    color: #343333;
    font-family: "Google Sans", "Helvetica Neue", Arial, sans-serif;
    -webkit-font-smoothing: antialiased;
}

.itogi-body a {
    color: inherit;
    text-decoration: none;
}

.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* ——— Artboard 1440 ——— */

.itogi-artboard {
    position: relative;
    width: 1440px;
    max-width: 100%;
    /* −10px: шапка+хиро вместе вверх (зазор между ними не трогаем) */
    margin: -10px auto 0;
    /* секции + межсекционные margin (~120px воздух после контента) + форма доната */
    min-height: 10045px;
    overflow: visible;
    background: #fff;
}

/* In-flow якорь после артборда (см. footer.php) — для laptop neg. margin */
.itogi-artboard-end {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    pointer-events: none;
}

.itogi-main {
    position: relative;
    min-height: 1px;
}

/* ——— Header ——— */

.itogi-header {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 30;
    width: 1440px;
    height: 116px;
    pointer-events: none;
}

.itogi-header a,
.itogi-header nav {
    pointer-events: auto;
}

.itogi-header__logo {
    position: absolute;
    left: 140px;
    top: 46px;
    display: block;
    width: 250px;
    height: 61px;
}

.itogi-header__logo-img {
    display: block;
    width: 250px;
    height: 61px;
}

/* сдвинут вправо: слоган стал шире после увеличения лого */
.itogi-header__badge {
    position: absolute;
    /* горизонтальный центр шапки 1440 */
    left: 50%;
    transform: translateX(-50%);
    /* по центру лого 46+61/2: top = 76.5 − 55/2 = 49 */
    top: 49px;
    display: block;
    width: 165.5px;
    height: 55px;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    z-index: 2;
}

.itogi-header__bar {
    position: absolute;
    left: 370px;
    top: 49px;
    width: 930px;
    height: 48px;
}

.itogi-header__tagline {
    position: absolute;
    /* после лого 140+250=390 → left бара 370; +5px */
    left: 29px;
    /* центр по вордмарку лого 61px */
    top: 13px;
    margin: 0;
    font-weight: 500;
    font-size: 10px;
    line-height: 1;
    color: #2f833d;
    white-space: nowrap;
}

.itogi-header__nav-link {
    position: absolute;
    top: 9px;
    font-weight: 600;
    font-size: 20px;
    line-height: normal;
    color: #343333;
    text-transform: lowercase;
    white-space: nowrap;
}

.itogi-header__nav-link:hover {
    color: #2f833d;
}

/* Меню прижато к правому краю бара (930); сдвиг +166 после снятия «Поддержать» */
.itogi-header__nav-link--itogi {
    left: 507px;
}

.itogi-header__nav-link--golosa {
    left: 582px;
}

.itogi-header__nav-link--kak {
    left: 798px;
}

/* Desktop: кнопки «Поддержать» в шапке нет (осталась в burger на mobile/tablet) */
.itogi-header__support {
    display: none;
}

/* Бургер + пункт «Поддержать» в dropdown — только tablet/mobile overlays */
.itogi-header__burger {
    display: none;
}

.itogi-header__nav-link--support {
    display: none;
}

/* ——— Hero (абсолютные координаты артборда) ——— */

/* Обёртка visual: на desktop «прозрачна», чтобы abs-координаты от .itogi-hero */
.itogi-hero__visual {
    display: contents;
}

.itogi-hero__path--m,
.itogi-hero__train--m {
    display: none;
}

.itogi-hero {
    position: relative;
    /* −30px к шапке: top, не margin — иначе collapse тянет весь artboard+header */
    top: -30px;
    width: 1440px;
    height: 1472px;
    margin: 0 auto -18px; /* 12 − 30: компенсируем сдвиг для следующей секции */
    overflow: visible; /* капсулы могут выходить справа за артборд */
    transition: height 0.35s ease;
}

/* 5007:1096 — высота артборда с раскрытой капсулой */
.itogi-hero.is-capsule-open {
    height: 2556px;
}

.itogi-hero__stage {
    position: absolute;
    left: 65px;
    top: 160px;
    width: 1310px;
    height: 496px;
    border-radius: 80px;
    background: #9af05a;
    z-index: 0;
}

/* 5013:1091 — ДЕТСТВО целиком */
.itogi-hero__title {
    position: absolute;
    left: 105px;
    top: 200px;
    width: 552px;
    height: 151px;
    margin: 0;
    z-index: 3;
}

.itogi-hero__title img {
    display: block;
    width: 552px;
    height: 151px;
}

/* розовый путь целиком — 5013:1090 @-114,344.97 1551×267 */
.itogi-hero__path {
    position: absolute;
    left: -114px;
    top: 344.97px;
    width: 1551.12px;
    height: 266.98px;
    max-width: none;
    z-index: 2;
    pointer-events: none;
}

/* 5013:1092 — розовый дым целиком */
.itogi-hero__smoke {
    position: absolute;
    left: 764.79px;
    top: 139.54px;
    width: 369.57px;
    height: 182.01px;
    z-index: 5;
    pointer-events: none;
}

/* поезд: Figma right:195 → left≈740, top 197 */
.itogi-hero__train {
    position: absolute;
    left: 740px;
    top: 197px;
    width: 505px;
    height: 415px;
    z-index: 4;
    pointer-events: none;
}

.itogi-hero__line1 {
    position: absolute;
    left: 170px;
    top: 365px;
    margin: 0;
    z-index: 3;
    font-weight: 400;
    font-size: 50px;
    line-height: normal;
    color: #343333;
    text-transform: lowercase;
    white-space: nowrap;
}

.itogi-hero__line2 {
    position: absolute;
    left: 440px;
    top: 430px;
    margin: 0;
    z-index: 3;
    font-weight: 400;
    font-size: 50px;
    line-height: normal;
    color: #343333;
    text-transform: lowercase;
    white-space: nowrap;
}

.itogi-hero__note {
    position: absolute;
    left: 105px;
    top: 531px;
    margin: 0;
    z-index: 3;
    width: 404px;
    font-weight: 500;
    font-size: 24px;
    line-height: normal;
    color: #343333;
}

.itogi-body a.itogi-hero__cta {
    position: absolute;
    left: 140px;
    top: 684px;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 390px;
    height: 87px;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.itogi-body a.itogi-hero__cta:hover {
    background: #e83eb8;
    color: #fff;
}

.itogi-hero__progress {
    position: absolute;
    left: 610px;
    top: 694px;
    z-index: 5;
    width: 700px;
}

.itogi-hero__progress-top {
    display: flex;
    align-items: flex-end;
    gap: 20px;
    margin-bottom: 20px;
}

.itogi-hero__progress-sum {
    font-weight: 400;
    font-size: 32px;
    line-height: normal;
    color: #000;
    white-space: nowrap;
}

.itogi-hero__progress-goal {
    font-weight: 400;
    font-size: 20px;
    line-height: normal;
    color: #000;
    white-space: nowrap;
    padding-bottom: 2px;
}

/* Живой прогресс (как foot): rail + knobs, ширина от --itogi-progress */
.itogi-hero__progress-track {
    --itogi-knob: 20px;
    --itogi-rail-h: 12px;
    --itogi-track: 700px;
    position: relative;
    box-sizing: border-box;
    width: var(--itogi-track);
    height: var(--itogi-knob);
}

.itogi-hero__progress-rail {
    position: absolute;
    left: 6px;
    right: 6px;
    top: 4px;
    height: var(--itogi-rail-h);
    background: #ff8ed7;
}

.itogi-hero__progress-value {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    height: var(--itogi-knob);
    width: calc(
        var(--itogi-knob)
        + (var(--itogi-track) - var(--itogi-knob))
        * var(--itogi-progress, 0)
    );
    max-width: 100%;
}

.itogi-hero__progress-value::before,
.itogi-hero__progress-value::after {
    content: "";
    position: absolute;
    top: 0;
    width: var(--itogi-knob);
    height: var(--itogi-knob);
    border-radius: 50%;
    background: #ffe8f7;
}

.itogi-hero__progress-value::before { left: 0; }
.itogi-hero__progress-value::after { right: 0; }

.itogi-hero__progress-fill {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 4px;
    height: var(--itogi-rail-h);
    background: #ffe8f7;
}

.itogi-hero__progress-cap {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: var(--itogi-knob);
    height: var(--itogi-knob);
    border-radius: 50%;
    background: #ffe8f7;
}

.itogi-hero__lead {
    position: absolute;
    left: 143.5px;
    top: 831px;
    margin: 0;
    width: 1038px;
    font-weight: 400;
    font-size: 25px;
    line-height: normal;
    color: #1c1c1c;
}

.itogi-hero__subhead {
    position: absolute;
    left: 140px;
    top: 953px;
    margin: 0;
    width: 890px;
    font-weight: 400;
    font-size: 50px;
    line-height: 1.1;
    color: #1c1c1c;
}

/* ——— Капсулы 3135:7461 @140,1107.1 · карусель ——— */

.itogi-capsules {
    position: absolute;
    /* на всю ширину окна — при drag карточки видны слева и справа */
    left: calc(0px - max(0px, (100vw - 1440px) / 2));
    top: 1107.1px;
    z-index: 3;
    width: 100vw;
    max-width: none;
}

.itogi-capsules__viewport {
    overflow: hidden;
    width: 100%;
    /* +8 сверху/снизу: hover translateY(-4) и outline is-active не клипаются */
    height: 216px;
    padding: 8px 0;
    margin-top: -8px;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;
}

.itogi-capsules__viewport.is-dragging {
    cursor: grabbing;
}

.itogi-capsules__track {
    display: flex;
    gap: 30px;
    width: max-content;
    /* стартовый отступ = макетный left 140; справа зеркально */
    margin: 0 0 0 calc(140px + max(0px, (100vw - 1440px) / 2));
    padding: 0 calc(140px + max(0px, (100vw - 1440px) / 2)) 0 0;
    list-style: none;
    transition: transform 0.35s ease;
    will-change: transform;
    touch-action: pan-y;
}

.itogi-capsules__item {
    flex: 0 0 200px;
    width: 200px;
    height: 200px;
}

.itogi-capsules__card {
    position: relative;
    display: block;
    width: 200px;
    height: 200px;
    padding: 0;
    margin: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    border-radius: 11.43px; /* как в SVG-капсулах */
    cursor: grab;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    font: inherit;
    color: inherit;
    text-align: left;
    appearance: none;
    -webkit-appearance: none;
}

.itogi-capsules__card:hover {
    transform: translateY(-4px);
}

.itogi-capsules__card.is-active {
    box-shadow: 0 0 0 3px #1c1c1c;
}

.itogi-capsules__card > img,
.itogi-capsules__card-art {
    display: block;
    width: 200px;
    height: 200px;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}

/* Шире подпись у длинных карточек (фон/арт — в SVG из new_assets) */
.itogi-capsules__item--shnurki .itogi-capsules__card-text {
    width: 142px;
}

.itogi-capsules__item--fonarik .itogi-capsules__card-text {
    width: 148px;
}

.itogi-capsules__card-text {
    position: absolute;
    left: 29px;
    top: 30.9px;
    width: 115px;
    font-weight: 500;
    font-size: 16px;
    line-height: normal;
    color: #000;
    text-align: left;
}

.itogi-capsules__viewport.is-dragging .itogi-capsules__card {
    cursor: grabbing;
    pointer-events: none; /* не кликать по карточке во время drag */
}

/* ——— Раскрытие капсулы 3607:3055–3956 / 3607:3794 ——— */

.itogi-capsule-detail {
    position: absolute;
    left: 0;
    top: 0;
    width: 1440px;
    height: 2556px;
    pointer-events: none;
    z-index: 2;
}

.itogi-capsule-detail[hidden] {
    display: none;
}

/* Левая колонка: по высоте KV @1482/931, текст+CTA вертикально по центру.
   Кегль/интерлиньяж подогнаны, чтобы самый длинный текст ≤ 931px. */
.itogi-capsule-detail__copy {
    position: absolute;
    left: 140px;
    top: 1482px;
    z-index: 3;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 36px;
    width: 538px;
    height: 931px;
    max-height: 931px;
    overflow: hidden;
    pointer-events: auto;
    text-align: left;
    scroll-margin-top: 24px;
}

.itogi-capsule-detail__title {
    margin: 0;
    width: 538px;
    font-weight: 500;
    font-size: 42px;
    line-height: 1.12;
    color: #1c1c1c;
    text-align: left;
}

.itogi-capsule-detail__text {
    margin: 0;
    width: 498px;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: 0.09px;
    color: #1c1c1c;
    text-align: left;
}

.itogi-body a.itogi-capsule-detail__cta {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 390px;
    height: 87px;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.itogi-body a.itogi-capsule-detail__cta:hover {
    background: #e83eb8;
    color: #fff;
}

.itogi-capsule-detail__visual {
    position: absolute;
    left: 724px;
    top: 1482px;
    width: 651px;
    height: 931px;
    pointer-events: none;
}

.itogi-capsule-detail__visual img {
    display: block;
    width: 651px;
    height: 931px;
    object-fit: cover;
    border-radius: 24px;
}

/* ——— 02 · Детство не ждёт (5010:1091) ——— */

.itogi-wait {
    position: relative;
    width: 1440px;
    height: 1116px;
    margin: 0 auto 20px; /* padBot~102 → ~120 до route */
}

.itogi-wait__title {
    position: absolute;
    left: 245px;
    top: 0;
    margin: 0;
    width: 949px;
    font-weight: 500;
    font-size: 50px;
    line-height: normal;
    color: #1c1c1c;
    white-space: nowrap;
}

.itogi-wait__dark {
    position: absolute;
    left: 162px;
    top: 98px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-sizing: border-box;
    width: 534px;
    height: 386px; /* Figma; до фото gap 40 (98+386+40=524) */
    padding: 60px 40px;
    border-radius: 40px;
    background: #2e2538;
    color: #fdfdfd;
}

.itogi-wait__dark-text {
    margin: 0;
    font-weight: 400;
    font-size: 25.32px;
    line-height: normal;
    letter-spacing: 0.27px;
}

.itogi-wait__dark-accent {
    margin: 0;
    font-weight: 400;
    font-size: 44.91px;
    line-height: normal;
}

.itogi-wait__photo {
    position: absolute;
    left: 162px;
    top: 524px;
    width: 534px;
    height: 489.41px;
    overflow: hidden;
    border-radius: 40px;
}

.itogi-wait__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: scaleX(-1);
}

.itogi-wait__green {
    position: absolute;
    left: 736px; /* 162+534+40 */
    top: 98px;
    width: 541px;
    height: 916px;
    box-sizing: border-box;
    padding: 40px;
    border-radius: 40px;
    background: #9af05a;
    color: #1c1c1c;
}

.itogi-wait__green-body {
    display: flex;
    flex-direction: column;
    gap: 40px; /* текст → акцент */
    width: 461px;
}

.itogi-wait__green-text {
    margin: 0;
    font-weight: 400;
    font-size: 25.17px;
    line-height: 1.2;
}

.itogi-wait__green-text strong {
    font-weight: 700;
}

.itogi-wait__green-accent {
    margin: 0;
    font-weight: 400;
    font-size: 44.82px;
    line-height: normal;
}

.itogi-body a.itogi-wait__cta {
    position: absolute;
    left: 40px;
    top: 773px; /* 40 + 693 + 40 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 390px;
    height: 87px;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.itogi-body a.itogi-wait__cta:hover {
    background: #e83eb8;
    color: #fff;
}

/* ——— 03 · Помощь на маршруте (5010:1092) ——— */

.itogi-route {
    position: relative;
    width: 1440px;
    /* место под раскрытые карточки снизу (Figma 5007:1098 ≈1203) */
    height: 1203px;
    margin: 0 auto 40px; /* padBot~80 → ~120 до voices */
}

.itogi-route__title {
    position: absolute;
    left: 362px;
    top: 0;
    margin: 0;
    font-weight: 500;
    font-size: 50px;
    line-height: normal;
    color: #1c1c1c;
    white-space: nowrap;
}

.itogi-route__panel {
    position: absolute;
    left: 0;
    top: 96px;
    width: 1440px;
    height: 1027px;
    background: #3f3c42;
    overflow: visible;
}

.itogi-route__card {
    position: absolute;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 20px;
    background: #fff;
    color: #1c1c1c;
    transition: height 0.35s ease, box-shadow 0.25s ease;
}

.itogi-route__card[data-itogi-route-expand] {
    cursor: pointer;
}

.itogi-route__card[data-itogi-route-expand].is-open,
.itogi-route__card[data-itogi-route-expand]:focus-within {
    z-index: 4;
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

@media (hover: hover) {
    .itogi-route__card[data-itogi-route-expand]:hover {
        z-index: 4;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    }
}

.itogi-route__card--tall {
    left: 159px;
    top: 40px; /* 136 − 96 */
    width: 347px;
    height: 599px;
}

.itogi-route__card--02 {
    left: 546px;
    top: 40px;
    width: 347px;
    height: 340px;
}

.itogi-route__card--03 {
    left: 933px;
    top: 40px;
    width: 347px;
    height: 340px;
}

.itogi-route__card--04 {
    left: 546px;
    top: 420px; /* 516 − 96 */
    width: 347px;
    height: 340px;
}

.itogi-route__card--05 {
    left: 933px;
    top: 420px;
    width: 347px;
    height: 340px;
}

/* раскрытие: 03≈480, 04=565 как в Figma 5007:1098 */
.itogi-route__card--03.is-open {
    height: 480px;
}

.itogi-route__card--04.is-open {
    height: 565px;
}

@media (hover: hover) {
    .itogi-route__card--03:hover {
        height: 480px;
    }

    .itogi-route__card--04:hover {
        height: 565px;
    }
}

.itogi-route__num {
    position: absolute;
    left: 20px;
    top: 30px;
    display: flex;
    align-items: flex-start;
    gap: 4px;
    pointer-events: none;
}

.itogi-route__num img {
    display: block;
    height: auto;
}

.itogi-route__card--tall .itogi-route__num {
    left: 21px;
    top: 30px;
}

.itogi-route__card-title {
    position: absolute;
    margin: 0;
    font-weight: 500;
    font-size: 22px;
    line-height: 30px;
    color: #1c1c1c;
}

.itogi-route__card--tall .itogi-route__card-title {
    /* как у 02–05 / Figma: ~24px от цифр, по центру высоты «01» (num @30/54) */
    left: 104px;
    top: 44px;
    width: 223px;
    line-height: normal;
}

.itogi-route__card--02 .itogi-route__card-title {
    left: 104px; /* 650 − 546 */
    top: 32px; /* 187 − 155 */
    width: 218px;
}

.itogi-route__card--03 .itogi-route__card-title {
    left: 99px; /* 1032 − 933 */
    top: 32px;
    width: 228px;
}

.itogi-route__card--04 .itogi-route__card-title {
    left: 104px;
    top: 34px; /* 569 − 535 */
    width: 223px;
}

.itogi-route__card--05 .itogi-route__card-title {
    left: 100px; /* 1033 − 933 */
    top: 33px; /* 568 − 535 */
    width: 227px;
}

.itogi-route__card-text {
    position: absolute;
    left: 20px;
    margin: 0;
    width: 307px;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    color: #1c1c1c;
}

.itogi-route__card-text strong {
    font-weight: 700;
}

.itogi-route__card--tall .itogi-route__card-text {
    top: 112px;
}

.itogi-route__card--02 .itogi-route__card-text {
    top: 111px;
}

.itogi-route__card--03 .itogi-route__card-text {
    top: 111px; /* 266 − 155 */
}

.itogi-route__card--04 .itogi-route__card-text {
    top: 116px; /* 651 − 535 */
}

.itogi-route__card--05 .itogi-route__card-text {
    top: 116px;
}

/* свёрнуто: обрезаем текст; раскрыто — полный */
.itogi-route__card[data-itogi-route-expand]:not(.is-open) .itogi-route__card-text {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    max-height: 80px; /* 4 × 20 */
}

.itogi-route__card[data-itogi-route-expand].is-open .itogi-route__card-text {
    display: block;
    -webkit-line-clamp: unset;
    max-height: none;
    overflow: visible;
}

@media (hover: hover) {
    .itogi-route__card[data-itogi-route-expand]:hover .itogi-route__card-text {
        display: block;
        -webkit-line-clamp: unset;
        max-height: none;
        overflow: visible;
    }
}

.itogi-route__card-photo {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    border-radius: 0 0 20px 20px;
}

.itogi-route__card--tall .itogi-route__card-photo {
    height: 329px;
}

.itogi-route__card--02 .itogi-route__card-photo,
.itogi-route__card--03 .itogi-route__card-photo,
.itogi-route__card--04 .itogi-route__card-photo,
.itogi-route__card--05 .itogi-route__card-photo {
    height: 133px;
}

.itogi-route__card-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.itogi-route__more {
    position: absolute;
    z-index: 2;
    left: 239px;
    top: 170px;
    width: 68px;
    height: 68px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transition: transform 0.3s ease, opacity 0.25s ease;
}

.itogi-route__more img {
    display: block;
    width: 68px;
    height: 68px;
}

.itogi-route__card.is-open .itogi-route__more {
    transform: rotate(180deg);
    opacity: 0;
    pointer-events: none;
}

@media (hover: hover) {
    .itogi-route__card[data-itogi-route-expand]:hover .itogi-route__more {
        transform: rotate(180deg);
        opacity: 0;
        pointer-events: none;
    }
}

.itogi-body a.itogi-route__cta {
    position: absolute;
    left: 172px;
    top: 679px; /* 775 − 96 */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 321px;
    height: 81px;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.itogi-body a.itogi-route__cta:hover {
    background: #e83eb8;
    color: #fff;
}

/* ——— 04 · Голоса героев (5010:1093) ——— */

.itogi-voices {
    position: relative;
    width: 1440px;
    height: 1060px; /* карточка 728 + pad/scale + зазор до CTA */
    margin: 0 auto 40px; /* padBot~80 → ~120 до stats */
    overflow: visible; /* карточки могут выходить справа за артборд */
}

.itogi-voices__title {
    position: absolute;
    left: 316px;
    top: 0;
    margin: 0;
    font-weight: 500;
    font-size: 50px;
    line-height: normal;
    color: #1c1c1c;
    white-space: nowrap;
}

.itogi-voices__viewport {
    position: absolute;
    /* на всю ширину окна — при drag карточки видны слева и справа */
    left: calc(0px - max(0px, (100vw - 1440px) / 2));
    top: 96px;
    width: 100vw;
    max-width: none;
    height: 800px; /* карточка 728 + scale(1.07) */
    overflow: hidden;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;
}

.itogi-voices__viewport.is-dragging {
    cursor: grabbing;
}

.itogi-voices__track {
    display: flex;
    gap: 16px;
    width: max-content;
    height: 800px;
    align-items: flex-start;
    /* стартовый отступ = макетный left 139 от края артборда; справа зеркально — крайняя карточка целиком */
    margin-left: calc(139px + max(0px, (100vw - 1440px) / 2));
    /* scale(1.07) растёт ~26px вверх — иначе overflow viewport срезает верхнее скругление */
    padding-top: 32px;
    padding-right: calc(139px + max(0px, (100vw - 1440px) / 2));
    box-sizing: border-box;
    transition: transform 0.35s ease;
    will-change: transform;
    touch-action: pan-y;
}

.itogi-voices__card {
    position: relative;
    flex: 0 0 300px;
    width: 300px;
    height: 728px; /* фото 328 + body 400 */
    z-index: 1;
    overflow: hidden;
    border-radius: 20px;
    /* clip-path переживает scale; один overflow+radius — нет */
    clip-path: inset(0 round 20px);
    transform: scale(1);
    transform-origin: center center;
    transition: transform 0.28s ease;
    cursor: grab;
}

.itogi-voices__card-face {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: 20px;
}

.itogi-voices__viewport.is-dragging .itogi-voices__card {
    cursor: grabbing;
    pointer-events: none;
}

/* п.20: hover↑ — заметнее, что карточку можно слушать */
.itogi-voices__card:hover {
    z-index: 4;
    transform: scale(1.07);
}

.itogi-voices__viewport.is-dragging .itogi-voices__card:hover {
    transform: scale(1);
}

.itogi-voices__card.is-playing,
.itogi-voices__card.is-paused {
    z-index: 5;
    transform: scale(1.07);
    border-radius: 20px;
    clip-path: inset(0 round 20px);
}

.itogi-voices__photo {
    position: relative;
    /* бордюр 2px как у body — иначе фото шире цветного низа на ~4px */
    box-sizing: border-box;
    width: 100%;
    height: 328px; /* пропорция как 253×277 */
    overflow: hidden;
    border-left: 2px solid transparent;
    border-right: 2px solid transparent;
    border-radius: 20px 20px 0 0;
}

/* контур поверх img — у светлых кадров (Гортаева) радиус не сливается с фоном */
.itogi-voices__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 20px 20px 0 0;
    border: 1px solid rgba(28, 28, 28, 0.18);
    border-bottom-color: transparent;
    pointer-events: none;
    box-sizing: border-box;
}

.itogi-voices__photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px 20px 0 0;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none; /* drag жеста берёт viewport, не native-drag img */
}

.itogi-voices__play {
    position: absolute;
    left: 128px; /* (300 − 44) / 2 */
    top: 306px; /* поверх стыка фото/body */
    z-index: 5; /* выше полоски прогресса */
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.itogi-voices__play img {
    display: block;
    width: 44px;
    height: 44px;
}

.itogi-voices__progress {
    position: absolute;
    left: 0;
    top: 328px; /* стык фото / body */
    z-index: 4;
    width: 100%;
    height: 2px;
    overflow: hidden;
    background: rgba(28, 28, 28, 0.18);
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.itogi-voices__card.is-playing .itogi-voices__progress,
.itogi-voices__card.is-paused .itogi-voices__progress {
    opacity: 1;
}

.itogi-voices__progress-bar {
    display: block;
    width: 0%;
    height: 2px;
    background: #1c1c1c;
    transform-origin: left center;
}

.itogi-voices__card--tone-1 .itogi-voices__progress-bar { background: #a1e66d; }
.itogi-voices__card--tone-2 .itogi-voices__progress-bar { background: #ffe74e; }
.itogi-voices__card--tone-3 .itogi-voices__progress-bar { background: #c99fff; }
.itogi-voices__card--tone-4 .itogi-voices__progress-bar { background: #ff9ee2; }
.itogi-voices__card--tone-5 .itogi-voices__progress-bar { background: #aac4ff; }

.itogi-voices__body {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    height: 400px;
    padding: 32px 20px 22px;
    border: 2px solid #fefefe;
    border-radius: 0 0 20px 20px;
    color: #1c1c1c;
    overflow: hidden;
}

.itogi-voices__card--tone-1 .itogi-voices__body { background: #a1e66d; }
.itogi-voices__card--tone-2 .itogi-voices__body { background: #ffe74e; }
.itogi-voices__card--tone-3 .itogi-voices__body { background: #c99fff; }
.itogi-voices__card--tone-4 .itogi-voices__body { background: #ff9ee2; }
.itogi-voices__card--tone-5 .itogi-voices__body { background: #aac4ff; }

.itogi-voices__time {
    position: absolute;
    left: 243px; /* правый край body − паддинг */
    top: 8px;
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
}

.itogi-voices__quote {
    flex: 0 1 auto;
    margin: 0;
    font-weight: 400;
    font-size: 20px;
    line-height: 26px;
}

.itogi-voices__meta {
    flex: 0 0 auto;
    margin-top: auto; /* имя/роль у низа body */
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.itogi-voices__name {
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.25;
}

.itogi-voices__role {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.35;
}

.itogi-body a.itogi-voices__cta {
    position: absolute;
    left: 525px;
    top: 920px; /* ниже карточек с pad-top 32 + scale */
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 390px;
    height: 87px;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.itogi-body a.itogi-voices__cta:hover {
    background: #e83eb8;
    color: #fff;
}

/* ——— 05 · Сколько удалось сделать (5010:1094) ——— */

.itogi-stats {
    position: relative;
    width: 1440px;
    height: 1807px;
    margin: 0 auto 90px; /* padBot~31 → ~120 до gift */
    overflow: hidden;
}

.itogi-stats__title {
    position: absolute;
    left: 159px;
    top: 0;
    margin: 0;
    width: 1123px;
    font-weight: 500;
    font-size: 50px;
    line-height: normal;
    color: #1c1c1c;
    white-space: nowrap;
}

.itogi-stats__panel {
    position: absolute;
    left: 126px;
    width: 1190px;
    border-radius: 60px;
}

/* На desktop не создаёт бокс — absolute-цифры остаются от .itogi-stats */
.itogi-stats__sheet {
    display: contents;
}

.itogi-stats__panel--pink {
    top: 96px;
    height: 859px;
    background: #ff9ee2;
}

.itogi-stats__panel--green {
    top: 869px;
    height: 907px;
    background: #9af05a;
}

/* 4111:2037 Group 2087330935 @-88,517.87 647.5×275.28 — точки в SVG, без отдельного star */
.itogi-stats__decor {
    position: absolute;
    left: -88px;
    top: 517.87px;
    width: 647.5px;
    height: 275.28px;
    pointer-events: none;
}

.itogi-stats__intro {
    position: absolute;
    left: 186px;
    top: 160px;
    margin: 0;
    font-weight: 400;
    font-size: 28px;
    line-height: normal;
    color: #1c1c1c;
}

.itogi-stats__num {
    position: absolute;
    display: block;
    pointer-events: none;
}

.itogi-stats__num--18238 { left: 186px; top: 264px; width: 361px; height: 111px; }
.itogi-stats__num--51 { left: 695px; top: 263px; width: 108px; height: 112px; }
.itogi-stats__num--152 { left: 1036px; top: 261px; width: 183px; height: 114px; }
.itogi-stats__num--3552 { left: 698px; top: 550px; width: 274px; height: 111px; }
.itogi-stats__num--0pct,
.itogi-stats__num--0 { left: 1036px; top: 545px; width: 80px; height: 111px; }
/* зелёный блок — 10 млн слева + Figma Numbers */
.itogi-stats__num--10mln { left: 181px; top: 920px; width: 393px; height: 130px; }
.itogi-stats__num--370 { left: 680px; top: 908px; width: 232px; height: 155px; }
.itogi-stats__num--15a { left: 1015px; top: 908px; width: 155px; height: 155px; }
.itogi-stats__num--45 { left: 680px; top: 1198px; width: 155px; height: 155px; }
.itogi-stats__num--15b { left: 1015px; top: 1198px; width: 155px; height: 155px; }
.itogi-stats__num--15c { left: 670px; top: 1465px; width: 155px; height: 155px; }
.itogi-stats__num--6 { left: 1019px; top: 1465px; width: 91px; height: 155px; }

.itogi-stats__cap {
    position: absolute;
    margin: 0;
    font-weight: 400;
    font-size: 18px;
    line-height: normal;
    color: #1c1c1c;
}

.itogi-stats__cap--18238 {
    left: 186px;
    top: 410px;
    width: 364px;
}

.itogi-stats__cap--51 {
    left: 695px;
    top: 410px;
    width: 297px;
}

.itogi-stats__cap--152 {
    left: 1036px;
    top: 410px;
    width: 220px;
}

.itogi-stats__cap--3552 {
    left: 695px;
    top: 700px;
    width: 297px;
}

.itogi-stats__cap--0pct {
    left: 1036px;
    top: 700px;
    width: 220px;
}

.itogi-stats__cap--370 {
    left: 692px;
    top: 1073px;
    width: 297px;
}

.itogi-stats__cap--15a {
    left: 1030px;
    top: 1073px;
    width: 220px;
}

.itogi-stats__cap--45 {
    left: 693px;
    top: 1363px;
    width: 297px;
}

.itogi-stats__cap--15b {
    left: 1034px;
    top: 1363px;
    width: 220px;
}

.itogi-stats__cap--15c {
    left: 693px;
    top: 1630px;
    width: 297px;
}

.itogi-stats__cap--6 {
    left: 1034px;
    top: 1630px;
    width: 220px;
}

.itogi-stats__plan {
    position: absolute;
    left: 181px;
    top: 1070px;
    margin: 0;
    width: 420px;
    font-weight: 400;
    font-size: 22px;
    line-height: normal;
    color: #1c1c1c;
}

.itogi-body a.itogi-stats__cta {
    position: absolute;
    left: 181px;
    top: 1184px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 366px;
    height: 87px;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease;
}

.itogi-body a.itogi-stats__cta:hover {
    background: #e83eb8;
    color: #fff;
}

/* ——— 06 · Подарите время детства + форма (5010:1095 / 3361:1844) ——— */

.itogi-gift {
    position: relative;
    width: 1440px;
    /* высота под низ формы — itogi.js syncGiftDonateHeight(); Figma 5010:1095 ≈ 2085 */
    min-height: 1100px;
    height: 2085px;
    margin: 0 auto 120px;
    overflow: visible; /* карточки могут выходить за артборд при drag */
}

.itogi-gift__title {
    position: absolute;
    left: 347px;
    top: 0;
    margin: 0;
    font-weight: 500;
    font-size: 50px;
    line-height: normal;
    color: #1c1c1c;
    white-space: nowrap;
}

.itogi-gift__panel {
    position: absolute;
    left: calc(0px - max(0px, (100vw - 1440px) / 2));
    top: 96px;
    width: 100vw;
    height: 761px;
    background: #3f3c42;
}

.itogi-gift__viewport {
    position: absolute;
    left: calc(0px - max(0px, (100vw - 1440px) / 2));
    top: 135px;
    width: 100vw;
    max-width: none;
    height: 620px;
    overflow: hidden;
    z-index: 1;
    cursor: grab;
    user-select: none;
    -webkit-user-select: none;
    touch-action: pan-y;
}

.itogi-gift__viewport.is-dragging {
    cursor: grabbing;
}

.itogi-gift__track {
    display: flex;
    align-items: stretch;
    gap: 30px; /* 423 − 140 − 253 */
    width: max-content;
    margin-left: calc(140px + max(0px, (100vw - 1440px) / 2));
    padding-right: calc(140px + max(0px, (100vw - 1440px) / 2));
    transition: transform 0.35s ease;
    will-change: transform;
    touch-action: pan-y;
}

.itogi-gift__card {
    position: relative;
    display: flex;
    flex-direction: column;
    flex: 0 0 253px;
    width: 253px;
    cursor: grab;
}

.itogi-gift__viewport.is-dragging .itogi-gift__card {
    cursor: grabbing;
    pointer-events: none;
}

.itogi-gift__photo {
    width: 253px;
    height: 253px;
    overflow: hidden;
    border-radius: 20px 20px 0 0;
}

.itogi-gift__photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-user-drag: none;
    user-drag: none;
    pointer-events: none;
}

.itogi-gift__card:first-child .itogi-gift__photo > img {
    object-position: 30% 0;
}

.itogi-gift__card--wide-photo .itogi-gift__photo > img {
    object-position: left center;
    width: 141.5%;
    max-width: none;
}

.itogi-gift__body {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 20px;
    width: 253px;
    height: 342px; /* одинаковая высота у всех карточек, в т.ч. --tall */
    padding: 20px 20px 30px;
    background: #fff;
    border-radius: 0 0 20px 20px;
    color: #1c1c1c;
    overflow: hidden;
}

.itogi-gift__text {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    gap: 20px;
}

.itogi-gift__name {
    margin: 0;
    font-weight: 600;
    font-size: 20px;
    line-height: normal;
    letter-spacing: 0.05px;
}

.itogi-gift__desc {
    margin: 0;
    font-weight: 400;
    font-size: 16px;
    line-height: normal;
    letter-spacing: 0.06px;
}

.itogi-gift__price {
    margin: 0;
    font-weight: 500;
    font-size: 18px;
    line-height: normal;
    letter-spacing: 0.06px;
    color: #3e9100;
}

.itogi-body a.itogi-gift__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    height: 69px;
    border: 3px solid #fe4eca;
    border-radius: 80px;
    background: transparent;
    color: #fe4eca;
    font-weight: 500;
    font-size: 24px;
    line-height: 20px;
    white-space: nowrap;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.itogi-body a.itogi-gift__btn:hover {
    background: #fe4eca;
    color: #fff;
}

/* Figma 4113:3400 other_summ @169,763 (секция 6011:1438) */
.itogi-gift__other {
    position: absolute;
    left: 169px;
    top: 763px;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: 1102px;
    height: 62px;
    margin: 0;
    padding: 0;
}

.itogi-gift__other-lead {
    margin: 0;
    flex: 0 0 500px;
    max-width: 500px;
    font-weight: 600;
    font-size: 20px;
    line-height: normal;
    letter-spacing: 0.05px;
    color: #fff;
}

.itogi-gift__other-controls {
    display: flex;
    align-items: center;
    gap: 17px; /* 1120 − (705 + 398) */
    flex: 0 0 auto;
}

.itogi-gift__other-field {
    display: block;
    margin: 0;
}

.itogi-gift__other-input {
    box-sizing: border-box;
    width: 398px;
    height: 62px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 40px;
    background: #fff;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.1;
    color: #1c1c1c;
    outline: none;
}

.itogi-gift__other-input::placeholder {
    color: rgba(77, 77, 77, 0.8);
}

.itogi-gift__other-input:focus-visible {
    box-shadow: 0 0 0 2px #fe4eca;
}

.itogi-body .itogi-gift__other-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 151px;
    width: 151px;
    height: 62px;
    margin: 0;
    padding: 0 24px;
    border: 0;
    border-radius: 80px;
    background: #fe4eca;
    color: #fff;
    font-weight: 700;
    font-size: 24px;
    line-height: 20px;
    white-space: nowrap;
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.itogi-body .itogi-gift__other-btn:hover {
    background: #e83eb8;
    color: #fff;
}

/* ——— Donate form 3361:1844 @126,937 1190×1058 ——— */
/* Обёртка: зелёная плашка на __flow, чтобы на success форма не пропадала */

.itogi-donate {
    position: absolute;
    left: 126px;
    top: 937px;
    z-index: 2;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 1190px;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #1c1c1c;
    overflow: visible;
}

.itogi-donate__flow {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
    padding: 60px;
    border-radius: 60px;
    background: #9af05a;
}

/* Figma 6011:1439 — 08b · Donate success под формой (форма остаётся) */
.itogi-donate.is-success {
    gap: 60px;
}

.itogi-donate__success {
    display: none;
    box-sizing: border-box;
    width: 1152px;
    max-width: 100%;
    margin: 0 auto;
}

/* tabindex=-1 + JS focus() для a11y — без синей системной рамки Chrome */
.itogi-donate__success:focus {
    outline: none;
}

.itogi-donate.is-success .itogi-donate__success,
.itogi-donate__success:not([hidden]) {
    display: flex;
    align-items: flex-start;
    gap: 80px;
}

.itogi-donate__success[hidden] {
    display: none !important;
}

.itogi-donate__success-media {
    flex: 0 0 415px;
    width: 415px;
}

.itogi-donate__success-phone {
    display: block;
    width: 415px;
    height: auto;
    aspect-ratio: 415 / 824; /* Mockup_KV_* 9×16 */
    object-fit: cover;
    border-radius: 40px;
    background: #fff;
}

.itogi-donate__success-copy {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 656px;
    max-width: 656px;
    min-height: 593px; /* KV 650×930 → width 415 */
    padding-top: 0;
}

.itogi-donate__success-title {
    margin: 0 0 50px;
    font-weight: 500;
    font-size: 50px;
    line-height: 1;
    color: #1c1c1c;
}

.itogi-donate__success-text {
    display: flex;
    flex-direction: column;
    gap: 40px;
    margin: 0 0 auto;
    max-width: 656px;
}

.itogi-donate__success-text p {
    margin: 0;
    font-weight: 400;
    font-size: 32px;
    line-height: 40px;
    color: #1c1c1c;
}

.itogi-donate__success-actions {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 24px;
    width: 100%;
    margin-top: 48px;
}

.itogi-donate__success-share {
    position: relative;
    flex: 0 0 296px;
    width: 296px;
    height: 65px;
}

.itogi-donate__success-share-img {
    display: block;
    width: 296px;
    height: 65px;
    pointer-events: none;
}

.itogi-donate__success-share-link {
    position: absolute;
    top: 0;
    width: 65px;
    height: 65px;
    border-radius: 50%;
}

button.itogi-donate__success-share-copy {
    border: none;
    padding: 0;
    margin: 0;
    background: transparent;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
}

.itogi-donate__success-share-toast {
    position: absolute;
    right: 0;
    bottom: calc(100% + 10px);
    z-index: 2;
    margin: 0;
    padding: 10px 16px;
    border-radius: 12px;
    background: #333;
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
}

.itogi-donate__success-share-toast[hidden] {
    display: none !important;
}

.itogi-donate__success-share-toast::after {
    content: '';
    position: absolute;
    top: 100%;
    right: 24px;
    border: 7px solid transparent;
    border-top-color: #333;
}

.itogi-donate__success-share.is-copied button.itogi-donate__success-share-copy {
    outline: 2px solid #74a350;
    outline-offset: 2px;
}

.itogi-donate__progress {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 648px;
}

.itogi-donate__raised {
    margin: 0;
    font-weight: 400;
    font-size: 38px;
    line-height: 1;
    color: #000;
}

.itogi-donate__goal {
    margin: 0;
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
    color: #000;
}

.itogi-donate__bar {
    --itogi-knob: 20px;
    --itogi-rail-h: 12px;
    --itogi-track: 648px;
    position: relative;
    box-sizing: border-box;
    width: var(--itogi-track);
    height: var(--itogi-knob);
}

.itogi-donate__bar-rail {
    position: absolute;
    left: 6px;
    right: 6px;
    top: 4px;
    height: var(--itogi-rail-h);
    background: #ff8ed7;
}

.itogi-donate__bar-value {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    height: var(--itogi-knob);
    width: calc(
        var(--itogi-knob)
        + (var(--itogi-track) - var(--itogi-knob))
        * var(--itogi-progress, 0)
    );
    max-width: 100%;
}

.itogi-donate__bar-value::before,
.itogi-donate__bar-value::after {
    content: "";
    position: absolute;
    top: 0;
    width: var(--itogi-knob);
    height: var(--itogi-knob);
    border-radius: 50%;
    background: #ffe8f7;
}

.itogi-donate__bar-value::before { left: 0; }
.itogi-donate__bar-value::after { right: 0; }

.itogi-donate__bar-fill {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 4px;
    height: var(--itogi-rail-h);
    background: #ffe8f7;
}

.itogi-donate__bar-cap {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: var(--itogi-knob);
    height: var(--itogi-knob);
    border-radius: 50%;
    background: #ffe8f7;
}

.itogi-donate__title {
    margin: 0;
    font-weight: 400;
    font-size: 66px;
    line-height: 1;
    letter-spacing: -1.32px;
    color: #1c1c1c;
}

/* Figma 3361:1841 — 427×62; Ежемесячно 232, Разово 253 */
.itogi-donate__period {
    display: flex;
    align-items: stretch;
    width: 427px;
    height: 62px;
    border-radius: 40px;
    background: #fff;
    overflow: hidden;
}

.itogi-donate__period-btn {
    box-sizing: border-box;
    height: 62px;
    margin: 0;
    padding: 0 20px;
    border: 0;
    border-radius: 40px;
    background: transparent;
    font-family: inherit;
    font-weight: 400;
    font-size: 24px;
    line-height: 1.1;
    color: #4d4d4d;
    cursor: pointer;
}

.itogi-donate__period-btn[data-period="monthly"] {
    flex: 0 0 232px;
    width: 232px;
}

.itogi-donate__period-btn[data-period="once"] {
    flex: 1 1 auto;
    min-width: 0;
}

.itogi-donate__period-btn.is-active {
    background: #fe4eca;
    color: #fff;
}

.itogi-donate__methods {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 30px 40px;
    min-height: 62px;
}

.itogi-donate__panel[data-method-panel="site"] {
    display: flex;
    flex-direction: column;
    gap: 40px;
    width: 100%;
}

.itogi-donate__panel--bank {
    display: block;
    width: 100%;
    min-height: 520px;
}

.itogi-donate__panel--sms {
    display: block;
    width: 100%;
    min-height: 520px;
}

.itogi-donate__panel[hidden] {
    display: none !important;
}

/* ——— Bank transfer 5039:1097–1101 ——— */

.itogi-donate__banks {
    position: relative;
    z-index: 4;
    display: flex;
    gap: 40px;
    flex: 1 1 auto;
    min-width: 0;
}

.itogi-donate__bank-list {
    display: flex;
    flex-direction: column;
    gap: 18px;
    flex: 0 0 200px;
    width: 200px;
}

.itogi-donate__bank {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 62px;
    margin: 0;
    padding: 12px 20px;
    border: 3px solid transparent;
    border-radius: 80px;
    background: transparent;
    font-family: inherit;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.1;
    color: #1c1c1c;
    text-align: center;
    cursor: pointer;
}

.itogi-donate__bank.is-active {
    border-color: #1c1c1c;
}

.itogi-donate__bank-panels {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 420px;
}

.itogi-donate__bank-panel[hidden] {
    display: none !important;
}

.itogi-donate__reqs {
    margin: 0;
}

.itogi-donate__reqs > div {
    margin: 0 0 10px;
}

.itogi-donate__reqs dt,
.itogi-donate__reqs dd {
    margin: 0;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.25;
    color: #000;
}

.itogi-donate__reqs dt {
    margin-bottom: 2px;
}

.itogi-donate__bank-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px 28px;
    margin-top: 28px;
}

.itogi-donate__bank-links a {
    font-weight: 400;
    font-size: 15px;
    line-height: normal;
    color: #333;
    text-decoration: underline;
    text-underline-offset: 2px;
}

/* Одна картинка сцены — внутренние части не позиционируются отдельно */
.itogi-donate__bank-aside {
    position: absolute;
    top: 248px;
    right: 46px;
    width: 500px;
    margin: 0;
    pointer-events: none;
    z-index: 1;
}

.itogi-donate__panel--bank .itogi-donate__bank-aside {
    top: 278px;
}

.itogi-donate__panel--sms .itogi-donate__bank-aside {
    top: 208px;
    right: 46px;
    width: 430px;
}

.itogi-donate__bank-scene {
    display: block;
    width: 100%;
    height: auto;
}

/* ——— SMS 5039:1102 ——— */

/* Figma 6011:1454 / 3135:5083 — lead 33 / key 54 / how 25.24 / legal 15 */
.itogi-donate__sms {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    width: 100%;
    max-width: 1070px;
}

.itogi-donate__sms-lead {
    margin: 0;
    font-weight: 400;
    font-size: 33px;
    line-height: 1.15;
    color: #000;
}

/* Figma 3135:4827 — капсула 481×160, r=80; текст 3135:5084 ~54 white */
.itogi-donate__sms-key {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 481px;
    height: 160px;
    margin: 0;
    padding: 0;
    border-radius: 80px;
    background: #fe4eca;
    font-weight: 400;
    font-size: 53.87px;
    line-height: 1;
    letter-spacing: 0;
    color: #fff;
}

.itogi-donate__sms-cols {
    display: grid;
    /* how 697 + gap 40 + legal */
    grid-template-columns: 697px minmax(0, 1fr);
    column-gap: 40px;
    align-items: start;
    width: 100%;
}

.itogi-donate__sms-how {
    margin: 0;
    font-weight: 400;
    font-size: 25.24px; /* Figma 3135:5083 */
    line-height: 31px;
    letter-spacing: 0.15px;
    color: #000;
}

.itogi-donate__sms-how p {
    margin: 0;
}

/* отступ между абзацами — в Figma leading ~43px на строке «В ответ» */
.itogi-donate__sms-how p + p {
    margin-top: 12px;
}

.itogi-donate__sms-how strong {
    font-weight: 700;
}

.itogi-donate__sms-list {
    margin: 0;
    padding: 0 0 0 1.15em;
    font-weight: 400;
    font-size: 15px;
    line-height: 1.35;
    color: #333;
}

.itogi-donate__sms-list li + li {
    margin-top: 10px;
}

.itogi-donate__sms-list a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.itogi-donate__method {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 62px;
    margin: 0;
    padding: 0 24px;
    border: 3px solid transparent;
    border-radius: 80px;
    background: transparent;
    font-family: inherit;
    font-weight: 600;
    font-size: 24px;
    line-height: 20px;
    color: #1c1c1c;
    cursor: pointer;
    white-space: nowrap;
}

.itogi-donate__method.is-active {
    border-color: #1c1c1c;
}

.itogi-donate__sums {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 648px;
}

.itogi-donate__sums-label {
    margin: 0;
    font-weight: 400;
    font-size: 20px;
    line-height: normal;
    color: #000;
}

.itogi-donate__sums-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 20px 40px;
    /* место под ::before inset ±24 — обводка не вылезает за сетку */
    box-sizing: border-box;
    padding: 0 24px;
}

.itogi-donate__sum {
    position: relative;
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 62px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: inherit;
    font-weight: 400;
    font-size: 38px;
    line-height: normal;
    color: #000;
    cursor: pointer;
    white-space: nowrap;
}

/* Обводка вне потока — без сдвига соседей и без переноса строки */
.itogi-donate__sum.is-active::before {
    content: "";
    position: absolute;
    inset: 0 -24px;
    border: 3px solid #1c1c1c;
    border-radius: 80px;
    pointer-events: none;
}

.itogi-donate__custom {
    position: relative;
    display: block;
    width: 100%;
}

.itogi-donate__custom-input,
.itogi-donate__input {
    box-sizing: border-box;
    width: 100%;
    height: 62px;
    margin: 0;
    padding: 0 40px;
    border: 2px solid transparent;
    border-radius: 40px;
    background: #fff;
    font-family: inherit;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.1;
    color: #1c1c1c;
    outline: none;
}

.itogi-donate__field.has-error,
.itogi-donate__custom.has-error {
    padding-bottom: 36px;
}

.itogi-donate__field.has-error .itogi-donate__input,
.itogi-donate__custom.has-error .itogi-donate__custom-input {
    border-color: #e22d54;
}

.itogi-donate__error {
    position: absolute;
    left: 0;
    top: calc(62px + 6px);
    z-index: 5;
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    min-height: 28px;
    padding: 4px 12px;
    border-radius: 8px;
    background: #e22d54;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.2;
    color: #fff;
    box-sizing: border-box;
    white-space: nowrap;
    pointer-events: none;
}

/* Согласия: плашка под блоком, без ломки ряда */
.itogi-donate__consent.has-error {
    z-index: 4;
}

.itogi-donate__consent .itogi-donate__error {
    top: calc(100% + 6px);
    max-width: min(280px, 100vw);
    white-space: normal;
}

.itogi-donate__consents:has(.has-error) {
    margin-bottom: 40px;
}

.itogi-donate__custom-input::placeholder,
.itogi-donate__input::placeholder {
    color: rgba(77, 77, 77, 0.8);
}

.itogi-donate__custom-input:focus,
.itogi-donate__input:focus {
    box-shadow: 0 0 0 3px rgba(254, 78, 202, 0.35);
}

.itogi-donate__fields {
    display: flex;
    gap: 20px;
    width: 1070px;
}

.itogi-donate__field {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
}

.itogi-donate__submit {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 366px;
    height: 87px;
    margin: 0;
    padding: 0 24px;
    border: 0;
    border-radius: 80px;
    background: #fe4eca;
    font-family: inherit;
    font-weight: 700;
    font-size: 36px;
    line-height: 20px;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease, opacity 0.15s ease;
}

.itogi-donate__submit:hover {
    background: #e63db5;
}

.itogi-donate__submit:active {
    transform: translateY(1px);
}

.itogi-donate__submit.is-loading,
.itogi-donate__submit:disabled {
    opacity: 0.7;
    cursor: wait;
    pointer-events: none;
}

.itogi-donate__consents {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    width: 1070px;
}

.itogi-donate__consent {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    align-items: center; /* чекбокс по центру блока текста */
    gap: 25px;
    width: 238px;
    cursor: pointer;
}

.itogi-donate__consent--wide {
    width: 416px;
}

.itogi-donate__consent--mail {
    flex: 1 1 0;
    min-width: 0;
    width: auto;
}

.itogi-donate__consent-input {
    position: absolute;
    opacity: 0;
    width: 1px;
    height: 1px;
    margin: 0;
    pointer-events: none;
}

.itogi-donate__consent-box {
    position: relative;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    border-radius: 29px;
    background: #fff;
}

.itogi-donate__consent-box > img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 24px;
    height: 23px;
    transform: translate(-50%, -50%);
    opacity: 0;
    pointer-events: none;
}

.itogi-donate__consent-input:checked + .itogi-donate__consent-box > img {
    opacity: 1;
}

.itogi-donate__consent-input:focus-visible + .itogi-donate__consent-box {
    box-shadow: 0 0 0 3px rgba(254, 78, 202, 0.45);
}

.itogi-donate__consent-text {
    flex: 1 1 0;
    min-width: 0;
    padding-top: 0;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.35;
    color: #333;
}

.itogi-donate__consent-text a {
    text-decoration: underline;
    text-underline-offset: 2px;
}

.itogi-donate__story {
    position: absolute;
    left: 766px;
    top: 60px;
    width: 364px;
}

.itogi-donate__story-photo {
    width: 364px;
    height: 343px;
    overflow: hidden;
    border-radius: 40px;
}

.itogi-donate__story-photo > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

.itogi-donate__story-title {
    margin: 20px 0 0;
    padding: 0 20px;
    font-weight: 500;
    font-size: 26px;
    line-height: normal;
    color: #000;
}

.itogi-donate__story-desc {
    margin: 16px 0 0;
    padding: 0 20px;
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: 0.02px;
    color: #000;
}

/* Общие точки карусели (капсулы / голоса) */
.itogi-carousel-dot {
    box-sizing: border-box;
    width: 15px;
    height: 15px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #b3b3b3;
    cursor: pointer;
    transition: background-color 0.15s ease, transform 0.15s ease;
}

.itogi-carousel-dot:hover {
    background: #6e6e6e;
}

.itogi-carousel-dot.is-active {
    background: #4d4d4d;
    transform: scale(1.06);
}

.itogi-carousel-dot:focus-visible {
    outline: 2px solid #fe4eca;
    outline-offset: 3px;
}

/* ——— 07 · Партнёры + Footer (5010:1096) ——— */

.itogi-partners {
    position: relative;
    width: 1440px;
    height: 241px;
    margin: 0 auto 40px; /* padBot~60 → ~100 до foot */
}

.itogi-partners__title {
    position: absolute;
    left: 532px;
    top: 0;
    margin: 0;
    font-weight: 500;
    font-size: 50px;
    line-height: normal;
    color: #1c1c1c;
    white-space: nowrap;
}

/* Desktop: три логотипа в ряд (Совкомбанк, Строй-Альянс, mos.ru) */
.itogi-partners__list {
    position: absolute;
    left: 182px;
    top: 115px;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 1077px;
    height: 66px;
    margin: 0;
    padding: 0;
    list-style: none;
    box-sizing: border-box;
}

.itogi-partners__item {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
}

.itogi-partners__logo {
    display: block;
    width: auto;
    height: auto;
    max-height: 66px;
    object-fit: contain;
}

.itogi-partners__logo--sovkom {
    width: 280px;
}

.itogi-partners__logo--stroy {
    width: 207px;
}

.itogi-partners__logo--mosru {
    width: 160px; /* 240 / 1.5 */
}

.itogi-foot {
    position: relative;
    width: 1440px;
    height: 863px; /* Figma 6011:1441; sticky снаружи — без запаса 114 */
    margin: 0 auto;
    overflow: hidden;
    background: #333;
}

.itogi-foot__panel {
    position: absolute;
    left: 0;
    top: 0;
    width: 1440px;
    height: 100%; /* было 863 — белая полоса под тёмным футером */
    background: #333;
}

.itogi-foot__logo {
    position: absolute;
    left: 140px;
    top: 50px; /* Figma 6011:1441 logo y − footer y */
    /* intrinsic SVG 1783.7×433.2 → display 325×79 (реальные пропорции, высота как Figma-слот) */
    width: 325px;
    height: 79px;
    display: block;
    object-fit: contain;
}

.itogi-foot__tagline {
    position: absolute;
    left: 140px;
    top: 172px; /* Figma 3607:3359 */
    margin: 0;
    width: 280px;
    font-weight: 400;
    font-size: 20px;
    line-height: 1; /* Figma h 39 / 2 строки; normal давал ~50 */
    letter-spacing: 0.04px;
    color: #fff;
}

.itogi-foot__contacts {
    position: absolute;
    left: 140px;
    top: 268px; /* Figma 3607:3355 */
    margin: 0;
    width: 422px;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.15; /* Figma h 139 / 6 строк ≈ 23px */
    color: #b3b3b3; /* подписи «Сайт / Телефон / …» — как в макете */
}

.itogi-foot__contacts p {
    margin: 0;
}

.itogi-foot__contacts-org,
.itogi-foot__contacts-value,
.itogi-body .itogi-foot__contacts a {
    color: #fff;
}

.itogi-body .itogi-foot__contacts a {
    text-decoration: none;
}

.itogi-body .itogi-foot__contacts a:hover {
    text-decoration: underline;
}

.itogi-foot__legal {
    position: absolute;
    left: 140px;
    top: 545px; /* Figma 3607:3350; sticky снаружи — без +57 */
    display: flex;
    flex-direction: column;
    gap: 0;
    width: 405px;
}

.itogi-body .itogi-foot__legal a {
    color: #b3b3b3;
    font-weight: 400;
    font-size: 20px;
    /* Figma: AUTO / 34.87 / 32.81 → ≈27px средний шаг, блок h 82 */
    line-height: 1.35;
    text-decoration: underline;
}

.itogi-foot__copy {
    position: absolute;
    left: 140px;
    top: 676px; /* Figma 3607:3327 */
    margin: 0;
    display: flex;
    align-items: baseline;
    gap: 0.15em;
    height: auto;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.2;
    color: #b3b3b3;
    white-space: nowrap;
    scroll-margin-bottom: 80px;
}

/* Google Sans: глиф © мелкий; Arial при том же кегле — нормальный размер */
.itogi-foot__copy-mark {
    font-family: Arial, Helvetica, sans-serif;
    font-size: inherit;
    line-height: inherit;
    font-weight: inherit;
}

.itogi-foot__subscribe {
    position: absolute;
    left: 742px;
    top: 121px; /* 362 − 241 */
    box-sizing: border-box;
    width: 558px;
    min-height: 429px; /* растёт при ошибках валидации, чтобы кнопка не вылезала */
    height: auto;
    padding: 37px 40px 30px;
    border-radius: 30px;
    background: #b3b3b3;
}

.itogi-foot__subscribe .mg-email-form-wrap {
    display: block;
}

.itogi-foot__subscribe.is-success .mg-email-form-wrap {
    display: none;
}

.itogi-foot__subscribe-ok {
    margin: 40px 0 0;
    font-weight: 400;
    font-size: 22px;
    line-height: 1.3;
    color: #333;
}

.itogi-foot__subscribe-ok[hidden] {
    display: none;
}

.itogi-foot__error {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.2;
    color: #c0392b;
}

.itogi-foot__email-wrap {
    margin: 0 0 22px;
}

.itogi-foot__email-wrap .itogi-foot__email {
    margin-bottom: 0;
}

.itogi-foot__email-wrap.has-error .itogi-foot__error {
    margin-top: 6px;
}

.itogi-foot__email[aria-invalid="true"] {
    outline: 2px solid #c0392b;
    outline-offset: 2px;
}

.itogi-foot__check.has-error .itogi-foot__check-box {
    outline: 2px solid #c0392b;
    outline-offset: 2px;
}

.itogi-foot__check.has-error .itogi-foot__error {
    flex: 1 1 100%;
    margin: 0 0 0 54px;
}

.itogi-foot__subscribe-lead {
    margin: 0 0 27px;
    width: 417px;
    font-weight: 400;
    font-size: 20px;
    line-height: normal;
    color: #333;
}

.itogi-foot__email {
    box-sizing: border-box;
    display: block;
    width: 478px;
    height: 60px;
    margin: 0 0 22px;
    padding: 0 40px;
    border: 0;
    border-radius: 40px;
    background: #fff;
    font-family: inherit;
    font-size: 24px;
    line-height: 1.1;
    color: #333;
}

.itogi-foot__email::placeholder {
    color: #808080;
}

.itogi-foot__check {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: flex-start;
    width: 478px;
    margin: 0 0 14px;
    cursor: pointer;
}

.itogi-foot__check--mail {
    margin-bottom: 20px;
}

.itogi-foot__check input {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
}

.itogi-foot__check-box {
    flex: 0 0 44px;
    box-sizing: border-box;
    width: 44px;
    height: 44px;
    border-radius: 29px;
    background: #fff;
}

.itogi-foot__check-box img {
    display: block;
    width: 44px;
    height: 44px;
    opacity: 0;
    transition: opacity 0.15s ease;
}

.itogi-foot__check input:checked + .itogi-foot__check-box {
    background: transparent;
}

.itogi-foot__check input:checked + .itogi-foot__check-box img {
    opacity: 1;
}

.itogi-foot__check input:focus-visible + .itogi-foot__check-box {
    outline: 2px solid #a2e66d;
    outline-offset: 2px;
}

.itogi-foot__check-text {
    /* flex-basis:0 + min-width:0 — иначе max-content уезжает на новую строку */
    flex: 1 1 0;
    min-width: 0;
    /* Figma footer: чекбокс и текст почти от одной линии */
    padding-top: 0;
    font-weight: 400;
    font-size: 14px;
    line-height: normal;
    color: #333;
}

.itogi-foot__subscribe-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 320px;
    height: 66px;
    margin-left: 0;
    padding: 0;
    border: 0;
    border-radius: 40px;
    background: #a2e66d;
    font-family: inherit;
    font-weight: 400;
    font-size: 25px;
    line-height: normal;
    color: #333;
    cursor: pointer;
}

.itogi-foot__socials-title {
    position: absolute;
    left: 742px;
    top: 601px; /* Figma 3607:3349 */
    margin: 0;
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
    color: #fff;
    white-space: nowrap;
}

.itogi-foot__socials {
    position: absolute;
    left: 742px;
    top: 635px; /* Figma 4142:1521 */
    display: flex;
    align-items: center;
    gap: 20px; /* шаг 85 − Ø65, как footer-socials.svg */
    width: auto;
    height: 65px;
}

.itogi-body a.itogi-foot__social {
    display: block;
    flex: 0 0 65px;
    width: 65px;
    height: 65px;
    line-height: 0;
    opacity: 0.95;
    transition: opacity 0.15s ease;
}

.itogi-body a.itogi-foot__social:hover {
    opacity: 1;
}

.itogi-foot__social svg {
    display: block;
    width: 65px;
    height: 65px;
}

/* Desktop ≥992: одна компактная строка (сумма · цель · прогресс · CTA).
   Mobile/tablet ≤991 — колонка в *-2026.css.
   DOM: вне .itogi-artboard (laptop scale ломает fixed). */
.itogi-foot__bar {
    position: fixed;
    left: 50%;
    bottom: 0;
    z-index: 40;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    width: min(1440px, 100%);
    max-width: 100%;
    height: 56px;
    padding: 0 140px;
    margin: 0;
    border-radius: 24px 24px 0 0;
    background: #fe4eca;
    transform: translateX(-50%);
}

/* После успешной оплаты — скрываем sticky «Поддержать», чтобы не перекрывал open card success */
body.itogi-is-success .itogi-foot__bar {
    display: none !important;
}

.itogi-foot__bar-sum {
    position: relative;
    left: auto;
    top: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px;
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
    max-width: none;
}

.itogi-foot__bar-raised {
    margin: 0;
    flex: 0 0 auto;
    font-weight: 400;
    font-size: 20px;
    line-height: 1;
    color: #ffe8f7;
    white-space: nowrap;
}

.itogi-foot__bar-goal {
    margin: 0;
    flex: 0 0 auto;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.2;
    color: #ffe8f7;
    white-space: nowrap;
}

/* Прогресс: на всю свободную ширину строки */
.itogi-foot__bar-progress {
    --itogi-foot-knob: 12px;
    --itogi-foot-rail-h: 8px;
    --itogi-foot-track: 100%;
    position: relative;
    flex: 1 1 auto;
    box-sizing: border-box;
    width: auto;
    max-width: none;
    min-width: 120px;
    height: var(--itogi-foot-knob);
}

.itogi-foot__bar-progress-rail {
    position: absolute;
    left: 4px;
    right: 4px;
    top: 2px;
    height: var(--itogi-foot-rail-h);
    background: #ff8ed7;
}

.itogi-foot__bar-progress-value {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
    height: var(--itogi-foot-knob);
    width: calc(
        var(--itogi-foot-knob)
        + (100% - var(--itogi-foot-knob))
        * var(--itogi-foot-progress, 0.123)
    );
    max-width: 100%;
}

.itogi-foot__bar-progress-value::before,
.itogi-foot__bar-progress-value::after {
    content: "";
    position: absolute;
    top: 0;
    width: var(--itogi-foot-knob);
    height: var(--itogi-foot-knob);
    border-radius: 50%;
    background: #ffe8f7;
}

.itogi-foot__bar-progress-value::before {
    left: 0;
}

.itogi-foot__bar-progress-value::after {
    right: 0;
}

.itogi-foot__bar-progress-fill {
    position: absolute;
    left: 6px;
    right: 6px;
    top: 2px;
    height: var(--itogi-foot-rail-h);
    background: #ffe8f7;
}

.itogi-foot__bar-progress-cap {
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1;
    width: var(--itogi-foot-knob);
    height: var(--itogi-foot-knob);
    border-radius: 50%;
    background: #ffe8f7;
}

.itogi-body a.itogi-foot__bar-cta {
    position: relative;
    left: auto;
    top: auto;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-width: 160px;
    height: 40px;
    padding: 0 28px;
    border-radius: 80px;
    background: #fff;
    color: #fe4eca;
    font-weight: 700;
    font-size: 18px;
    line-height: 1;
    white-space: nowrap;
    box-shadow: none;
}

.itogi-body a.itogi-foot__bar-cta:hover {
    background: #fff;
    color: #e83eb8;
}
