html {
    scrollbar-color: var(--primary-color) transparent;
    scrollbar-width: thin;
}

.t-page.is-homepage .c-header .c-menu-top {
    font-size: 20px;
}

/* Класс ставит скрипт только при масштабе браузера меньше 100%.
   Тогда фото держит ширину окна и уменьшается. На обычном масштабе — на всю ширину, без боковых полей. */
.s-home.is-zoom-out {
    margin-left: auto;
    margin-right: auto;
}

.s-home.is-zoom-out .s-home__bg picture {
    height: auto;
}

.s-home.is-zoom-out .s-home__bg img,
.s-home.is-zoom-out .s-home__bg video {
    width: 100%;
    height: auto;
    min-width: 0;
}

.s-home {
    position: relative;
    border-radius: 0 0 36px 36px;
    overflow: hidden;
}

@media (max-width: 1024.98px) {
    .s-home {
        border-radius: 0 0 26px 26px;
    }
}

@media (max-width: 767.98px) {
    .s-home {
        border-radius: 19px;
    }
}

.s-home__tags {
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 2;
    overflow: hidden;
}

.s-home__tag {
    --x: 50%;
    --y: 50%;
    --tag-bg: #ece6e0;
    position: absolute;
    left: var(--x);
    top: var(--y);
    transform: translate(-50%, -50%);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.22em 0.8em 0.26em;
    border-radius: 999px;
    /* непрозрачная заливка: прозрачность даёт opacity всего тега (animate.css),
       иначе rgba на теле и стрелке суммируется в месте стыка */
    background: var(--tag-bg);
    box-shadow: 0 5px 14px rgba(40, 45, 70, 0.12);
    border: 0;
    color: #2c3558;
    font-family: var(--font-family-fourth), Caveat, cursive;
    font-size: clamp(15px, 1.7vw, 30px);
    font-weight: 700;
    line-height: 1.1;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    --animate-duration: 0.7s;
}

.s-home__tag.is-active {
    visibility: visible;
}

.s-home__tag::after {
    content: "";
    position: absolute;
    top: -0.52em;
    width: 0.82em;
    height: 0.68em;
    background: var(--tag-bg);
    z-index: -1;
    transform-origin: 50% 100%;
}

/* Уникальные хвостики по референсу */

/* Дружная — верх-право, вверх-вправо */
.s-home__tag--druzhnaya::after {
    right: 0.95em;
    left: auto;
    clip-path: polygon(78% 0, 100% 100%, 10% 100%);
    transform: rotate(20deg);
}

/* Активная — слева, влево-вниз */
.s-home__tag--aktivnaya::after {
    left: 0.55em;
    right: auto;
    top: auto;
    bottom: -0.28em;
    clip-path: polygon(0 0, 100% 0, 18% 100%);
    transform: rotate(-18deg);
    transform-origin: 50% 0;
}

/* Крепкая — верх-лево, вверх-влево */
.s-home__tag--krepkaya::after {
    left: -0.42em;
    right: auto;
    top: 0.08em;
    width: 0.95em;
    height: 0.7em;
    clip-path: polygon(0 50%, 100% 8%, 100% 92%);
    transform: rotate(8deg);
    transform-origin: 100% 50%;
}

/* Любящая — верх-лево, сильнее влево */
.s-home__tag--lyubyashaya::after {
    left: 0.45em;
    right: auto;
    clip-path: polygon(12% 0, 0 100%, 85% 100%);
    transform: rotate(-28deg);
}

/* Заботливая — верх-право, вверх-вправо */
.s-home__tag--zabotlivaya::after {
    right: 0.7em;
    left: auto;
    clip-path: polygon(72% 0, 100% 100%, 5% 100%);
    transform: rotate(18deg);
}

/* Надежная — справа, горизонтально вправо */
.s-home__tag--nadezhnaya::after {
    right: -0.38em;
    left: auto;
    top: 50%;
    width: 1.05em;
    height: 0.85em;
    clip-path: polygon(0 8%, 100% 50%, 0 92%);
    transform: translateY(-50%) rotate(0deg);
    transform-origin: 0 50%;
}

/* Счастливая — верх-право, вверх-вправо */
.s-home__tag--schastlivaya::after {
    right: 0.55em;
    left: auto;
    clip-path: polygon(80% 0, 100% 100%, 12% 100%);
    transform: rotate(24deg);
}

/* Большая — верх-право, ближе к краю */
.s-home__tag--bolshaya::after {
    right: 0.35em;
    left: auto;
    clip-path: polygon(70% 0, 100% 100%, 0 100%);
    transform: rotate(14deg);
}

@media (max-width: 1024.98px) {
    .s-home__tag {
        font-size: clamp(14px, 1.9vw, 22px);
        padding: 0.2em 0.7em 0.24em;
    }
}

@media (max-width: 767.98px) {
    .s-home__tag {
        font-size: clamp(12px, 3vw, 16px);
        padding: 0.16em 0.6em 0.2em;
    }

    .s-home__tag::after {
        width: 0.64em;
        height: 0.52em;
        top: -0.4em;
    }
}

.c-header.is-scrolled .c-header__top .c-menu-top {
    font-size: 18px!important;
}

/* iOS: не зумить форму при фокусе (нужно ≥16px) */
input,
select,
textarea,
.ui-input__field {
    font-size: 16px;
}

/* Длинные названия в крошках — перенос, без выезда за экран */
.ui-breadcrumb {
    max-width: 100%;
    min-width: 0;
}

.ui-breadcrumb nav {
    max-width: 100%;
    min-width: 0;
}

.ui-breadcrumb > span,
.ui-breadcrumb ol {
    flex-wrap: wrap;
    white-space: normal;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.ui-breadcrumb > span > span,
.ui-breadcrumb > span li,
.ui-breadcrumb ol > span,
.ui-breadcrumb ol li {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    flex-wrap: wrap;
}

.ui-breadcrumb > span > span a,
.ui-breadcrumb > span > span span,
.ui-breadcrumb > span li a,
.ui-breadcrumb > span li span,
.ui-breadcrumb ol > span a,
.ui-breadcrumb ol > span span,
.ui-breadcrumb ol li a,
.ui-breadcrumb ol li span {
    white-space: normal;
    overflow-wrap: anywhere;
    overflow: visible;
    text-overflow: unset;
}

.c-grid--supports {
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.s-hero__item {
    font-size: 18px;
}

.has-error .help-block {
    color: red;
    font-size: 16px;
}

.has-error .ui-dropdown__button {
    border: 1px solid red;
}

.has-success input,textarea {
    border: 1px solid green;
}

.c-block-form--feedback .c-block-form__group .ui-input--button {
    display: unset;
}

.s-section__footer {
    margin-top: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.c-page-header__info .s-hero__desc {
    margin-top: 35px;
}

.c-page-control-custom {
    margin-top: 50px;
}

.c-page-control-custom .c-page-control__box {
    display: flex;
    justify-content: end;
}

.c-card-color-help-1 {
    --card-bg: rgba(242,123,107,0.1);
    --decor-bg: #D8DEC2;
}

.c-card-color-help-2 {
    --card-bg: rgba(166,183,103,0.12);
    --decor-bg: #FFE2D4;
}

.c-card-color-help-3 {
    --card-bg: #F2F5E9;
    --decor-bg: rgba(202,202,230,0.48);
}

.c-card-color-help-4 {
    --card-bg: #F6F6FB;
    --decor-bg: transparent;
}

.c-card-color-help-5 {
    --card-bg: rgba(242,123,107,0.1);
    --decor-bg: #D8DEC2;
}

.detail-text-page table  {
    margin: 90px 0;
}

.c-content img {
    width: 100%!important;
    height: auto!important;
    border-radius: 8px;
    margin: unset!important;
}

.c-content ul li:not(:last-child) {
    margin-bottom: 10px;
}

.c-content h3 {
    font-size: 22px;
    margin-top: 28px;
    margin-bottom: 16px;
}
@media (max-width: 767.98px) {
    .c-content h3 {
        font-size: 20px;
        margin-top: 20px;
        margin-bottom: 12px;
    }
}

/* Списки и акценты — на ширину контейнера, без искусственного max-width */
.c-content ul,
.c-content--type-2 ul,
.c-content b,
.c-content strong {
    max-width: none;
}

.c-content ul + p,
.c-content p + ul,
.c-content h3 + ul,
.c-content h3 + p {
    margin-top: 16px;
}

.c-content p + h3 {
    margin-top: 32px;
}

/* Callout-блоки контента — на всю ширину, не как 2-колоночные таблицы */
.detail-text-page table.c-content__info,
.detail-text-page table.c-content__warn,
.detail-text-page table.c-content__note,
.c-content table.c-content__info,
.c-content table.c-content__warn,
.c-content table.c-content__note {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.detail-text-page table.c-content__info tr td,
.detail-text-page table.c-content__warn tr td,
.detail-text-page table.c-content__note tr td {
    width: 100%;
    padding-left: 35px;
}

@media (max-width: 767.98px) {
    .detail-text-page table.c-content__info tr td,
    .detail-text-page table.c-content__warn tr td,
    .detail-text-page table.c-content__note tr td {
        padding-left: 14px;
    }
}

@media (max-width: 1024.98px) {
    .detail-text-page table {
        margin: 70px 0;
    }
}

@media (max-width: 767.98px) {
    .detail-text-page table {
        margin: 30px 0;
    }
}

@media (max-width: 767.98px) {
    .detail-text-page table tr {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 24px;
    }
}

.detail-text-page table tr td {
    width: 50%;
    vertical-align: top;
    color: var(--color-gray-400-80);
}

@media (max-width: 767.98px) {
    .detail-text-page table tr td {
        width: 100%;
        padding: 0;
    }
}

.detail-text-page table tr td img {
    width: 100%;
    height: auto;
    border-radius: 8px;
}

.detail-text-page table tr td b {
    font-family: var(--font-family-default);
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 24px;
    display: block;
    color: var(--body-color);
}

@media (max-width: 767.98px) {
    .detail-text-page table tr td b {
        margin-bottom: 16px;
    }
}

.detail-text-page table tr td:last-child {
    padding-left: 40px;
}

@media (max-width: 767.98px) {
    .detail-text-page table tr td:last-child {
        padding-left: 0;
    }
}

@media (max-width: 767.98px) {
    .detail-text-page table:nth-child(2n) tr {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}

/* ========== Calculator ========== */
.ui-checkbox__label a {
    color: var(--primary-color);
}
.s-calculator {
    overflow-x: clip;
}
.s-calculator__body {
    position: relative;
    z-index: 1;
    min-height: 320px;
}
.s-calculator__content {
    position: relative;
    z-index: 2;
    max-width: 640px;
}
/* Шаг «Обучение детей»: шире, чтобы длинные подписи в колонках не налезали */
.s-calculator__content:has([data-step="education"].is-active) {
    max-width: 960px;
}
.s-calculator__answ--education {
    max-width: 960px;
}
.s-calculator__step[hidden],
.s-calculator [data-spouse-age-wrap][hidden],
.s-calculator [data-spouse-income-wrap][hidden],
.s-calculator [data-dates-block][hidden],
.s-calculator [data-planning-third][hidden],
.s-calculator [data-pregnancy-weeks][hidden],
.s-calculator [data-situation-flag][hidden],
.s-calculator [data-municipality-block][hidden] {
    display: none !important;
}
.s-calculator__answ--checks .ui-checkbox,
.s-calculator__answ--checks .s-calculator__check {
    margin-bottom: 12px;
}
.s-calculator__answ--municipality {
    max-width: 595px;
}
.s-calculator__municipality-scroll {
    max-height: 280px;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 8px;
    margin-right: -4px;
    scrollbar-color: rgba(88, 88, 128, 0.45) rgba(88, 88, 128, 0.12);
    scrollbar-width: thin;
}
.s-calculator__municipality-scroll::-webkit-scrollbar {
    width: 6px;
}
.s-calculator__municipality-scroll::-webkit-scrollbar-track {
    background: rgba(88, 88, 128, 0.12);
    border-radius: 6px;
}
.s-calculator__municipality-scroll::-webkit-scrollbar-thumb {
    background: rgba(88, 88, 128, 0.45);
    border-radius: 6px;
}
.s-calculator__municipality-scroll .s-calculator__check:last-child {
    margin-bottom: 0;
}
.s-calculator__field-row {
    margin-bottom: 16px;
}
.s-calculator__field-group {
    margin-bottom: 0;
}
.s-calculator__field-group .help-block,
.s-calculator .has-error .help-block {
    color: #d64545;
    font-size: 16px;
    margin-top: 8px;
}
.s-calculator .help-block:empty {
    display: none;
}
.s-calculator .has-error .help-block:not(:empty) {
    display: block !important;
}
.s-calculator__input-sm {
    max-width: 160px;
}
.s-calculator__qa--sub {
    margin-top: 28px;
    margin-bottom: 16px;
    font-size: 20px;
}

/* Чекбоксы по макету: квадрат + оранжевая галочка из макета */
.s-calculator__check {
    --ui-checkbox-border-color: #8b8ba8;
    --ui-checkbox-border-color-active: #8b8ba8;
    --ui-checkbox-bg-color-active: transparent;
    --ui-checkbox-color: var(--body-color);
    --calc-check-size: 24px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0;
}
.s-calculator__check .input-row {
    margin: 0;
    width: 100%;
}
.s-calculator__check .help-block {
    flex: 0 0 100%;
    width: 100%;
    color: #d64545;
    font-size: 16px;
    margin-top: 6px;
}
.s-calculator__check .ui-checkbox__label {
    position: relative;
    color: var(--body-color);
    gap: 12px;
    font-size: 18px;
    line-height: 1.35;
    align-items: flex-start;
    width: 100%;
}
.s-calculator__check .ui-checkbox__label::before {
    content: "";
    box-sizing: border-box;
    width: var(--calc-check-size);
    height: var(--calc-check-size);
    flex: 0 0 var(--calc-check-size);
    margin-top: 0;
    border: 1.5px solid #8b8ba8;
    background-color: transparent;
    background-image: none !important;
    border-radius: 60px !important;
}
.s-calculator__check .ui-checkbox__label::after {
    content: none;
    position: absolute;
    left: 7px;
    top: -3px;
    width: 16px;
    height: 26px;
    background: url("../img/assets/svgicons/calc-check.png") center / contain no-repeat;
    pointer-events: none;
    z-index: 1;
}
.s-calculator__check .ui-checkbox__input:checked ~ .ui-checkbox__label::before,
.s-calculator__check [aria-selected="true"] > .ui-checkbox__label::before {
    background-color: transparent !important;
    border-color: #8b8ba8;
    background-image: none !important;
}
.s-calculator__check .ui-checkbox__input:checked ~ .ui-checkbox__label::after,
.s-calculator__check [aria-selected="true"] > .ui-checkbox__label::after {
    content: "";
}
.s-calculator__check .ui-checkbox__input:checked ~ .ui-checkbox__label .ui-checkbox__text {
    color: var(--body-color);
}
.s-calculator__check .ui-checkbox__text {
    text-decoration: none;
    padding-top: 2px;
}

.s-calculator__count-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    max-width: 420px;
}
.s-calculator__field-group > .s-calculator__count-grid {
    width: 100%;
}
.s-calculator__count-item {
    position: relative;
    cursor: pointer;
}
.s-calculator__count-item input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.s-calculator__count-item span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 52px;
    padding: 10px 12px;
    border: 1px solid rgba(88, 88, 128, 0.44);
    border-radius: 60px!important;
    background: #fffefb;
    font-size: 20px;
    font-weight: 500;
    color: var(--body-color);
    transition: border-color var(--tr), background-color var(--tr);
}

.s-calculator__count-item span:hover {
    border-color: var(--primary-color);
    background-color: rgba(255, 226, 170, 0.42);
}

.s-calculator__count-item input:checked + span {
    border-color: var(--primary-color);
    background-color: rgba(255, 226, 170, 0.42);
}
.s-calculator__count-item--wide {
    grid-column: 1 / -1;
}
.s-calculator__add-btn {
    margin-top: 16px;
}
.s-calculator__add-btn[hidden] {
    display: none !important;
}
.s-calculator__date,
.s-calculator__money {
    position: relative;
}
.s-calculator__date .ui-input__field,
.s-calculator__money .ui-input__field {
    padding-right: 44px;
}
.s-calculator__date-native {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    opacity: 0;
    pointer-events: none;
}
.s-calculator__date .ui-input__field {
    cursor: text;
}
.s-calculator__date-icon,
.s-calculator__money-suffix {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    color: rgba(88, 88, 128, 0.7);
    pointer-events: none;
    z-index: 1;
}
.s-calculator__date-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    pointer-events: auto;
}
.s-calculator__date-icon:hover {
    color: var(--primary-color);
}
.s-calculator__date-icon:focus-visible {
    outline: 2px solid var(--primary-color);
    outline-offset: 2px;
    border-radius: 8px;
}
.s-calculator__money-suffix {
    font-size: 20px;
    font-weight: 500;
}
.s-calculator__dates-block {
    margin-top: 8px;
}
.s-calculator__planning-third {
    margin-top: 8px;
}
.s-calculator__planning-third-hint {
    margin-top: 16px;
    font-size: 16px;
    line-height: 1.45;
    color: var(--color-gray-400-80);
}
.s-calculator__results-note--planning {
    color: var(--primary-color, #f26a38);
}
.s-calculator__date-row.has-error .ui-input__field,
.s-calculator__edu-block.has-error {
    border-color: #d64545;
}
.s-calculator__date-row .help-block,
.s-calculator__edu-block .help-block,
.s-calculator__education-list > .help-block {
    color: #d64545;
    font-size: 16px;
    margin-top: 8px;
}
.s-calculator__pregnancy-weeks {
    margin-top: 20px;
}
.s-calculator__income-hint {
    margin-bottom: 16px;
    font-size: 16px;
    line-height: 1.45;
    color: var(--color-gray-400-80);
}
.s-calculator__results-disclaimer {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
    padding: 14px 16px;
    border-radius: 16px;
    border: 1px solid rgba(88, 88, 128, 0.18);
    background: #f7f3e8;
    font-size: 16px;
    line-height: 1.45;
    color: var(--body-color);
}
.s-calculator__results-disclaimer-icon {
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    margin-top: 1px;
    border-radius: 50%;
    background: #8fb7d8;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    font-style: italic;
    line-height: 22px;
    text-align: center;
    font-family: Georgia, "Times New Roman", serif;
}
.s-calculator__results-disclaimer-text {
    flex: 1 1 auto;
    min-width: 0;
}
.s-calculator__results-note {
    margin-bottom: 14px;
    padding: 12px 14px;
    border-radius: 12px;
    background: rgba(202, 202, 230, 0.28);
    font-size: 16px;
    line-height: 1.45;
    color: var(--body-color);
}
.s-calculator__results-totals {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: -6px 0 16px;
}
.s-calculator__results-total {
    margin: 0;
    padding: 14px 16px;
    border-radius: 12px;
    background: rgba(237, 111, 56, 0.1);
    font-size: 18px;
    line-height: 1.4;
    color: var(--body-color);
}
.s-calculator__results-total--monthly {
    background: rgba(166, 185, 103, 0.22);
    border: 1px solid rgba(88, 120, 40, 0.22);
}
.s-calculator__results-total strong {
    font-weight: 600;
    color: var(--primary-color);
    white-space: nowrap;
}
.s-calculator__results-total--monthly strong {
    color: #5f7a2e;
}
.s-calculator__result-income {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(88, 88, 128, 0.12);
    color: var(--body-color);
    font-size: 15px;
    font-weight: 500;
}
.s-calculator__edu-block {
    padding: 18px 20px;
    margin-bottom: 16px;
    border: 1px solid rgba(88, 88, 128, 0.22);
    border-radius: 16px;
    background: #fffefb;
}
.s-calculator__edu-block:last-child {
    margin-bottom: 0;
}
.s-calculator__edu-title {
    font-size: 20px;
    font-weight: 500;
    margin-bottom: 6px;
}
.s-calculator__edu-age {
    font-size: 16px;
    color: var(--color-gray-400-80);
    margin-bottom: 12px;
}
.s-calculator__edu-empty {
    font-size: 16px;
    color: var(--color-gray-400-80);
    margin-bottom: 4px;
}
.s-calculator__edu-subtitle {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 10px;
    color: var(--color-gray-400-80);
}
.s-calculator__edu-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 40px;
    align-items: start;
}
.s-calculator__edu-block.is-study-form .s-calculator__edu-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.2fr) minmax(140px, 0.75fr);
}
.s-calculator__edu-col {
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-width: 0;
}
.s-calculator__edu-col .s-calculator__check {
    min-height: 0;
    width: 100%;
}
.s-calculator__edu-col .s-calculator__check .ui-checkbox__text {
    flex: 1 1 auto;
    min-width: 0;
    overflow-wrap: break-word;
}
.s-calculator__edu-form[hidden] {
    display: none !important;
}
.s-calculator__edu-form-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.s-calculator__results {
    max-width: 960px;
}
.s-calculator__results-count {
    margin-bottom: 16px;
    font-size: 18px;
    color: var(--color-gray-400-80);
}
.s-calculator__results-tabs {
    margin-top: 4px;
}
.s-calculator__results-tabs-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}
.s-calculator__results-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 16px;
    border: 1px solid rgba(88, 88, 128, 0.22);
    border-radius: 12px;
    background: #fffefb;
    color: var(--body-color);
    font-size: 16px;
    font-weight: 500;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}
.s-calculator__results-tab:hover {
    border-color: rgba(237, 111, 56, 0.45);
}
.s-calculator__results-tab.is-active {
    border-color: var(--primary-color);
    background: rgba(237, 111, 56, 0.1);
    color: var(--primary-color);
}
.s-calculator__results-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(88, 88, 128, 0.1);
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}
.s-calculator__results-tab.is-active .s-calculator__results-tab-count {
    background: rgba(237, 111, 56, 0.18);
}
.s-calculator__results-panel[hidden] {
    display: none !important;
}
.s-calculator__results-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 520px;
    overflow: auto;
    padding-right: 10px;
    scrollbar-width: auto;
    scrollbar-color: var(--primary-color) rgba(88, 88, 128, 0.12);
}
.s-calculator__results-list::-webkit-scrollbar {
    width: 12px;
}
.s-calculator__results-list::-webkit-scrollbar-track {
    background: rgba(88, 88, 128, 0.12);
    border-radius: 8px;
}
.s-calculator__results-list::-webkit-scrollbar-thumb {
    background: var(--primary-color);
    border-radius: 8px;
    border: 2px solid rgba(255, 255, 255, 0.6);
}
.s-calculator__results-list::-webkit-scrollbar-thumb:hover {
    background: #d45a28;
}
.s-calculator__result-card {
    background: #fffefb;
    border: 1px solid rgba(88, 88, 128, 0.2);
    border-radius: 16px;
    padding: 18px 20px;
}
.s-calculator__result-top {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin-bottom: 10px;
    align-items: start;
    flex-direction: column;
}
.s-calculator__result-type {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(237, 111, 56, 0.12);
    color: var(--primary-color);
    font-size: 15px;
    font-weight: 500;
}
.s-calculator__result-badge {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    font-size: 15px;
    font-weight: 500;
}
.s-calculator__result-badge--third {
    background: rgba(88, 88, 128, 0.12);
    color: var(--body-color);
}
.s-calculator__result-amount {
    font-size: 16px;
    font-weight: 500;
    color: var(--body-color);
}
.s-calculator__result-title {
    margin: 0 0 8px;
    font-size: 19px;
    font-weight: 500;
    line-height: 1.35;
}
.s-calculator__result-title-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}
.s-calculator__result-title-link:hover {
    color: var(--color-primary, #f26a38);
}
.s-calculator__result-legal {
    font-size: 15px;
    line-height: 1.45;
    margin-top: 10px;
    color: var(--color-gray-400-80);
}
.s-calculator__empty {
    padding: 24px;
    border-radius: 16px;
    background: rgba(202, 202, 230, 0.28);
    color: var(--color-gray-400-80);
}
.s-calculator__contacts-accept {
    margin-top: 16px;
}
.s-calculator__contacts-submit {
    margin-top: 24px;
}
.s-calculator__buttons .js-calculator-prev[hidden],
.s-calculator__buttons .js-calculator-next[hidden],
.s-calculator__buttons .js-calculator-restart[hidden],
.s-calculator.is-step-contacts .js-calculator-next {
    display: none !important;
}

/* Не анимировать layout (order/width) — иначе кнопки моргают при смене шага */
.s-calculator__buttons .ui2-button,
.s-calculator__buttons .ui2-button .ui2-button__icon,
.s-calculator__buttons .ui2-button .ui2-button__name {
    transition: background-color var(--tr), border-color var(--tr), color var(--tr), box-shadow var(--tr);
}

/* Результаты: «Получить на эл.почту» слева/сверху, «Назад» справа/снизу */
.s-calculator.is-step-results .js-calculator-next {
    order: 1;
}
.s-calculator.is-step-results .js-calculator-prev {
    order: 2;
}
.s-calculator.is-step-results .js-calculator-restart {
    order: 3;
}

/* ---- Tablet / mobile ---- */
@media (max-width: 1024.98px) {
    .s-calculator__title.f-heading-h2 {
        font-size: 28px;
        line-height: 1.2;
    }
    .s-calculator__desc {
        margin-top: 12px;
        font-size: 18px;
        line-height: 1.45;
        color: var(--body-color);
    }
    .s-calculator__body {
        min-height: 0;
        padding: 16px 0 12px;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        background-color: transparent;
        border-radius: 0;
        box-sizing: border-box;
    }
    .s-calculator__content {
        max-width: 100%;
    }
    .s-calculator__frame {
        display: flex;
        flex-direction: column;
    }
    .s-calculator__progress {
        height: 10px;
        margin-bottom: 14px;
        border-radius: 10px;
    }
    .s-calculator__progress-in {
        height: 10px;
        border-radius: 10px;
    }
    .s-calculator__pagination {
        margin-bottom: 14px;
        font-size: 17px;
        font-weight: 600;
        color: var(--body-color);
    }
    .s-calculator__qa {
        font-size: 22px;
        font-weight: 600;
        line-height: 1.3;
        color: var(--body-color);
        margin-bottom: 18px;
    }
    .s-calculator__input-sm {
        max-width: 100%;
    }
    .s-calculator__qa--sub {
        margin-top: 20px;
        margin-bottom: 12px;
        font-size: 20px;
        font-weight: 600;
        color: var(--body-color);
    }
    .s-calculator__answ--municipality {
        max-width: 100%;
    }
    .s-calculator__municipality-scroll {
        max-height: 240px;
    }
    .s-calculator__check {
        --calc-check-size: 24px;
        margin-bottom: 6px;
    }
    .s-calculator__check .ui-checkbox__label {
        gap: 12px;
        font-size: 19px;
        line-height: 1.4;
        min-height: 48px;
        align-items: center;
        color: var(--body-color);
    }
    .s-calculator__check .ui-checkbox__label::before {
        margin-top: 0;
    }
    .s-calculator__check .ui-checkbox__label::after {
        left: 4px;
        top: 50%;
        width: 15px;
        height: 24px;
        transform: translateY(-52%);
    }
    .s-calculator__check .ui-checkbox__text {
        padding-top: 0;
    }
    .s-calculator__answ--checks .ui-checkbox,
    .s-calculator__answ--checks .s-calculator__check {
        margin-bottom: 8px;
    }
    .s-calculator__count-grid {
        max-width: 100%;
        gap: 8px;
    }
    .s-calculator__count-item span {
        min-height: 50px;
        padding: 10px 12px;
        border-radius: 14px;
        font-size: 19px;
    }
    .s-calculator__edu-block {
        padding: 14px 14px 16px;
        margin-bottom: 12px;
        border-radius: 14px;
    }
    .s-calculator__edu-title {
        font-size: 19px;
        margin-bottom: 12px;
        color: var(--body-color);
    }
    .s-calculator__edu-subtitle,
    .s-calculator__edu-age,
    .s-calculator__edu-empty {
        font-size: 17px;
        color: var(--body-color);
    }
    .s-calculator__edu-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px 14px;
    }
    .s-calculator__edu-block.is-study-form .s-calculator__edu-grid {
        grid-template-columns: 1fr;
    }
    .s-calculator__edu-block.is-study-form .s-calculator__edu-form {
        padding-top: 12px;
        margin-top: 4px;
        border-top: 1px solid rgba(88, 88, 128, 0.14);
    }
    .s-calculator__edu-form-list {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 8px 20px;
    }
    .s-calculator__edu-col {
        gap: 10px;
    }
    .s-calculator__date .ui-input__field,
    .s-calculator__money .ui-input__field,
    .s-calculator__answ .ui-input--type-3 .ui-input__field {
        font-size: 16px; /* без автозума iOS */
    }
    .s-calculator .ui-input__label {
        font-size: 17px;
        color: var(--body-color);
    }
    .s-calculator__results {
        max-width: 100%;
    }
    .s-calculator__results-list {
        max-height: none;
        padding-right: 0;
        gap: 10px;
    }
    .s-calculator__result-card {
        padding: 14px 14px 16px;
        border-radius: 14px;
    }
    .s-calculator__result-title {
        font-size: 19px;
        line-height: 1.35;
        color: var(--body-color);
    }
    .s-calculator__result-type,
    .s-calculator__result-badge,
    .s-calculator__result-amount,
    .s-calculator__result-income {
        font-size: 16px;
    }
    .s-calculator__result-legal {
        font-size: 16px;
        line-height: 1.4;
    }
    .s-calculator__results-count {
        font-size: 18px;
        color: var(--body-color);
    }
    .s-calculator__results-tabs-nav {
        gap: 6px;
    }
    .s-calculator__results-tab {
        flex: 1 1 calc(33.333% - 6px);
        justify-content: center;
        min-height: 42px;
        padding: 8px 10px;
        font-size: 15px;
    }
    .s-calculator__results-note,
    .s-calculator__results-total,
    .s-calculator__results-disclaimer,
    .s-calculator__income-hint,
    .s-calculator__empty {
        font-size: 17px;
        line-height: 1.45;
        color: var(--body-color);
        padding: 12px 14px;
    }
    .s-calculator__results-disclaimer {
        gap: 10px;
        border-radius: 14px;
    }
    .s-calculator__results-totals {
        gap: 6px;
        margin: -4px 0 14px;
    }
    .s-calculator__income-hint {
        padding: 0;
        margin-bottom: 14px;
    }
    .s-calculator__empty {
        padding: 18px 14px;
    }
    .s-calculator__buttons {
        position: sticky;
        bottom: 0;
        z-index: 5;
        flex-wrap: wrap;
        gap: 8px;
        background-color: #fbf8f7;
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        width: 100%;
        border-radius: 0;
        padding-left: 0;
        padding-right: 0;
        padding-top: 16px;
        padding-bottom: calc(16px + env(safe-area-inset-bottom, 0px));
    }
    .s-calculator__buttons .ui2-button {
        flex: 1 1 calc(50% - 8px);
        min-height: 48px;
        justify-content: center;
        font-size: 19px;
    }
    .s-calculator__buttons .js-calculator-restart {
        flex: 1 1 100%;
    }
    .s-calculator__decor-1 {
        display: none;
    }
}

@media (max-width: 767.98px) {
    .s-calculator__body {
        min-height: 0;
    }
    .s-calculator__title.f-heading-h2 {
        font-size: 26px;
    }
    .s-calculator__field-row {
        margin-bottom: 14px;
    }
    .s-calculator__add-btn {
        width: 100%;
    }
    .s-calculator__add-btn .ui2-button,
    .s-calculator__add-btn.ui2-button {
        width: 100%;
        justify-content: center;
    }
    .s-calculator__contacts-submit .ui2-button {
        width: 100%;
        justify-content: center;
    }
    .s-calculator__answ .ui-checkbox--title .ui-checkbox__label {
        min-height: 48px;
        padding: 12px 14px;
        font-size: 18px;
        line-height: 1.35;
        white-space: normal;
    }
    .s-calculator__edu-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }
    .s-calculator__edu-form-list {
        flex-direction: column;
        gap: 8px;
    }
    .s-calculator__count-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
    .s-calculator__buttons .ui2-button {
        flex: 1 1 100%;
    }
}

@media (max-width: 575.98px) {
    .s__article .c-design-7 {
        width: 350px!important;
    }

    .s__article .s-hero__box-r {
        position: relative!important;
    }
}

@media (max-width: 479.98px) {
    .s-calculator__qa {
        font-size: 21px;
    }
    .s-calculator__count-item span {
        min-height: 48px;
        font-size: 18px;
        padding: 10px 8px;
        border-radius: 12px;
    }
    .s-calculator__check .ui-checkbox__label {
        font-size: 18px;
    }
    .s-calculator__result-amount {
        font-size: 16px;
        word-break: break-word;
    }
    .s-calculator__result-legal {
        font-size: 15px;
    }
}

/* Captcha — под стили полей форм */
.ui-captcha {
    display: flex;
    align-items: stretch;
    gap: 12px;
    width: 100%;
}

.ui-captcha__media {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 168px;
    height: 60px;
    min-width: 0;
    max-width: 100%;
    padding: 0 40px 0 12px;
    border-radius: 60px;
    border: 1px solid rgba(255, 255, 255, 0.35);
    background-color: #fff;
    overflow: hidden;
}

.ui-captcha__image {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    border: 0;
    border-radius: 0;
    background-color: transparent;
    cursor: pointer;
    -webkit-transition: opacity var(--tr-out, 0.2s ease);
    transition: opacity var(--tr-out, 0.2s ease);
}

.ui-captcha__image:hover {
    opacity: 0.88;
}

.ui-captcha .ui-input__field {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}

/* Одинаковая высота блока картинки и поля кода */
.ui-input--captcha {
    --ui-captcha-row-height: 60px;
}

.ui-input--captcha .ui-captcha {
    align-items: stretch;
}

.ui-input--captcha .ui-captcha__media,
.ui-input--captcha .ui-captcha .ui-input__field {
    height: var(--ui-captcha-row-height);
    min-height: var(--ui-captcha-row-height);
    max-height: var(--ui-captcha-row-height);
    box-sizing: border-box;
}

.ui-input--type-3.ui-input--captcha .ui-captcha .ui-input__field {
    padding-top: 0;
    padding-bottom: 0;
    line-height: calc(var(--ui-captcha-row-height) - 2px);
}

.ui-captcha__refresh {
    position: absolute;
    top: 50%;
    right: 6px;
    z-index: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 32px;
    height: 32px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background-color: rgba(116, 127, 88, 0.1);
    color: #4f5a3a;
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: opacity var(--tr-out, 0.2s ease), background-color var(--tr-out, 0.2s ease);
    transition: opacity var(--tr-out, 0.2s ease), background-color var(--tr-out, 0.2s ease);
}

.ui-captcha__refresh:hover {
    background-color: rgba(116, 127, 88, 0.18);
}

.ui-captcha__refresh:focus-visible {
    outline: 2px solid #747f58;
    outline-offset: 2px;
}

.ui-captcha__refresh-icon {
    display: block;
    width: 16px;
    height: 16px;
    pointer-events: none;
}

.ui-input--captcha .input-row {
    margin: 0;
}

.ui-input--captcha .help-block {
    margin-top: 8px;
}

.has-error .ui-captcha__media {
    border-color: #d64545 !important;
}

.has-error .ui-captcha .ui-input__field {
    border-color: #d64545;
}

/* type-1: история на зелёном фоне */
.ui-input--type-1 .ui-captcha__media {
    border-color: hsla(0, 0%, 100%, 0.45);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.ui-input--type-1 .ui-captcha__refresh {
    color: #4f5a3a;
    background-color: rgba(79, 90, 58, 0.1);
}

/* type-2: зелёные формы поддержки / обратной связи */
.ui-input--type-2 .ui-captcha__media {
    border-color: rgba(255, 255, 255, 0.35);
}

/* type-3: вопрос / калькулятор */
.ui-input--type-3 .ui-captcha__media {
    border-color: #747f58;
}

/* Контакты: светлая форма — белые поля с серой обводкой */
.s-form--light .ui-captcha__media {
    border-color: #cacae6;
    box-shadow: none;
}

.s-form--light .ui-input--captcha .ui-input__label {
    margin-left: 16px;
}

/* Главная: вопрос — капча на всю ширину, код + поле в одну линию */
.s-form--main .ui-input--captcha {
    margin-top: 19px;
    margin-bottom: 20px;
}

.s-form--main .ui-input--captcha .ui-input__label {
    margin-left: 20px;
}

.s-form--main .ui-captcha {
    flex-direction: row;
    align-items: stretch;
    gap: 12px;
}

.s-form--main .ui-captcha__media {
    flex: 0 0 200px;
    width: 200px;
    border-radius: 60px;
}

.s-form--main .ui-captcha .ui-input__field {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
}

.s-form--main .c-block-form__accept {
    display: flex !important;
    max-width: 420px;
}

.s-form--main .c-block-form__accept .ui2-button {
    display: flex !important;
}

@media (max-width: 1024.98px) {
    .s-form--main .c-block-form__accept {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .s-form--main .ui-input--captcha .ui-input__label {
        margin-left: 0;
    }

    .s-form--main .ui-captcha {
        flex-direction: row;
        gap: 8px;
    }

    .s-form--main .ui-input--captcha {
        --ui-captcha-row-height: 52px;
    }

    .s-form--main .ui-captcha__media {
        flex: 0 0 132px;
        width: 132px;
        border-radius: 52px;
        padding-left: 10px;
        padding-right: 34px;
    }

    .s-form--main .ui-captcha .ui-input__field {
        width: auto;
        flex: 1 1 auto;
        min-width: 0;
        padding-left: 18px;
        padding-right: 18px;
    }
}

@media (max-width: 479.98px) {
    .s-form--main .ui-input--captcha {
        --ui-captcha-row-height: 48px;
    }

    .s-form--main .ui-captcha__media {
        flex: 0 0 118px;
        width: 118px;
        border-radius: 48px;
    }
}

/* Калькулятор: высота/бордер как у соседних полей */
.s-calculator__answ .ui-input--captcha {
    --ui-captcha-row-height: 58px;
}

.s-calculator__answ .ui-captcha__media {
    width: 148px;
    border-color: rgba(88, 88, 128, 0.44);
}

/* Сетка: капча на всю ширину группы */
.c-block-form--form .c-block-form__group > .ui-input.u-width-100,
.c-block-form--form .c-block-form__group > .ui-input--captcha,
.c-block-form--feedback .c-block-form__group > .ui-input--captcha {
    grid-column: 1 / -1;
}

@media (max-width: 767.98px) {
    .ui-input--captcha {
        --ui-captcha-row-height: 52px;
    }

    .ui-captcha {
        flex-direction: column;
        gap: 10px;
    }

    .ui-captcha__media {
        width: 100%;
        border-radius: 52px;
    }

    .ui-captcha__refresh {
        width: 30px;
        height: 30px;
    }

    .ui-captcha__refresh-icon {
        width: 15px;
        height: 15px;
    }

    .ui-captcha .ui-input__field {
        width: 100%;
    }

    .ui-input--type-1 .ui-captcha .ui-input__field,
    .ui-input--type-2 .ui-captcha .ui-input__field,
    .ui-input--type-3 .ui-captcha .ui-input__field {
        padding-left: 18px;
        padding-right: 18px;
    }

    .s-calculator__answ .ui-input--captcha {
        --ui-captcha-row-height: 52px;
    }

    .s-calculator__answ .ui-captcha__media {
        width: 100%;
    }

    .s-form--light .ui-input--captcha .ui-input__label {
        margin-left: 0;
    }
}

@media (max-width: 479.98px) {
    .ui-input--captcha {
        --ui-captcha-row-height: 48px;
    }

    .ui-captcha {
        gap: 8px;
    }

    .ui-captcha__media {
        border-radius: 48px;
        padding-right: 36px;
    }

    .ui-captcha__refresh {
        width: 28px;
        height: 28px;
        right: 5px;
    }

    .ui-captcha__refresh-icon {
        width: 14px;
        height: 14px;
    }

    .ui-input--type-1 .ui-captcha .ui-input__field,
    .ui-input--type-2 .ui-captcha .ui-input__field,
    .ui-input--type-3 .ui-captcha .ui-input__field {
        padding-left: 16px;
        padding-right: 16px;
    }
}

/* Footer: hover на кликабельных элементах */
.c-footer__logotype,
.c-footer .c-social__link {
    transition: opacity var(--tr), transform var(--tr);
}

@media (any-hover: hover) {
    .c-footer__logotype:hover {
        opacity: 0.72;
    }

    .c-footer .c-menu-footer a:hover,
    .c-footer .b-contacts__item-value a:hover {
        color: var(--primary-color);
    }

    .c-footer .c-social__link:hover {
        opacity: 0.72;
        transform: scale(1.06);
    }

    .c-footer__partners .c-footer__top-note-link:hover img {
        mix-blend-mode: multiply;
    }
}

/* Footer partners: одна строка; белый фон убирается на hover */
.c-footer__top-note.c-footer__partners {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 16px;
    /*margin-top: 16px;*/
    width: 100%;
    max-width: 100%;
}

.c-footer__partners .c-footer__top-note-link {
    display: inline-flex;
    align-items: center;
    flex: 0 1 auto;
    min-width: 0;
}

.c-footer__partners img {
    display: block;
    width: auto;
    width: 100%;
    object-fit: contain;
    transition: mix-blend-mode 0s;
    mix-blend-mode: multiply;
}

/* Контакты: длинный email/телефон не раздувают карточки на узких экранах */
.c-contacts,
.c-contacts__item,
.c-contacts__item-l,
.c-contacts__item-data,
.c-contacts__item-value,
.c-contacts__address,
.c-contacts__address-box {
    min-width: 0;
    max-width: 100%;
}

.c-contacts__item-value a[href^="tel"],
.c-contacts__item-value a[href^="mailto"] {
    white-space: normal;
    overflow-wrap: anywhere;
    max-width: 100%;
}

@media (max-width: 575.98px) {
    .c-contacts__item-value {
        font-size: 20px;
        line-height: 1.25em;
    }

    .c-contacts__item--address {
        flex-direction: column;
        align-items: flex-start;
    }

    .c-contacts__social {
        width: 100%;
        justify-content: flex-start;
    }
}

/* Developer credit in footer */
.c-footer__under-grid-r {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
}

.c-footer__developer {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.c-footer__developer-label {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4em;
    color: rgba(59, 56, 56, 0.6);
    white-space: nowrap;
}

.c-footer__developer-link {
    display: flex;
    align-items: center;
    line-height: 0;
}

.c-footer__developer-logo {
    height: 32px;
    width: auto;
    display: block;
}

@media (max-width: 1024.98px) {
    .c-footer__under-grid {
        flex-wrap: wrap;
        gap: 24px;
    }

    .c-footer__under-grid-r {
        display: flex;
        width: 100%;
        align-items: flex-start;
    }

    .c-footer__under-grid-r .c-social {
        display: none;
    }
}

@media (max-width: 575.98px) {
    .c-footer__developer-logo {
        height: 28px;
    }
}
