/* TOP */
.top{
    background: linear-gradient(180deg, #EAF0FC 0%, #D4E3FA 50%, #FDE1E3 100%);
    padding: 30px 0;
}
.top_img--mobile{
    display: none;
}
.top_container{
    display: grid;
    grid-template-columns: 1fr 430px;
    align-items: center;
    column-gap: 80px;
    row-gap: 24px;
}

.top_img{
    width: 100%;
    object-fit: contain;
}
.top_title{
    font-family: 'Lato', sans-serif;
    font-weight: 600;
    font-size: 44px;
}
.top_subtitle{
    margin: 1em 0 0 0;
    font-size: 20px;
    line-height: 1.2em;
}
.top_txt{
    margin: 12px 0 0 0;
    line-height: 1.3em;
}
.top_payline{
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px 0;
}

.top_payline-label{
    font-size: 16px;
    color: #666666;
}

.top_payline-value{
    font-size: 16px;
    color: #0C8771;
    border: 1px solid #0C8771;
    background: #CEE7E3;
    border-radius: 6px;
    padding: 4px 10px;
    line-height: 1.2;
    font-weight: 500;
}

.top_list{
    margin: 16px 0 0 0;
    padding: 0;
    list-style: none;
    display: grid;
    grid-template-columns: 100%;
    gap: 10px;

    li{
        display: flex;
        align-items: flex-start;
        gap: 10px;
        line-height: 1.25em;
        color: #111;

        &:before{
            content: '';
            margin: 0.45em 0 0 0;
            width: 6px;
            aspect-ratio: 1/1;
            border-radius: 50%;
            flex-shrink: 0;
            background: #0C8771;
        }
    }
}

.top_bottom{
    margin-top: 24px;
}

.top_form{
    margin: 20px 0 0 0;
}
.consultation-form--top .consultation-form_input-list{
    margin: 14px 0 0 0;
    display: flex;
    gap: 16px;
    align-items: flex-end;
}
.consultation-form--top .consultation-form_input-wrapper{
    flex: 1 1 0;
    min-width: 0;
}

.consultation-form--top .consultation-form_bottom{
    flex: 0 0 450px;
    width: 450px;
}

.consultation-form--top .consultation_send{
    width: 100%;
    margin: 0;
}
.howto{
    background: #F8FAFC;
    padding: 56px 0;
}

.howto_title{
    margin: 0;
    font-size: 24px;
    color: #111111;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
}

.howto_steps{
    margin: 24px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 16px;
}

.howto_step{
    background: #ffffff;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
}

.howto_step-title{
    display: flex;
    gap: 8px;
    align-items: baseline;
    font-size: 20px;
    color: #111111;
}

.howto_step-num{
    color: #0A37AA;
}

.howto_step-text{
    margin: 8px 0 0 0;
    font-size: 16px;
    color: #666666;
    line-height: 1.35;
}

.howto_step-btn{
    margin: 14px 0 0 0;
    border: none;
    background: #F0F5FA;
    color: #0A37AA;
    font-size: 16px;
    border-radius: 8px;
    padding: 12px 18px;
    cursor: pointer;
}

.howto_step-pill{
    margin: 12px 0 0 0;
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 999px;
    font-size: 16px;
    color: #0A37AA;
    background: linear-gradient(90deg, #E7F0FF 0%, #F9E5EA 100%);
}

.howto_step-pill svg{
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.howto_form{
    margin: 18px 0 0 0;
}

.howto .consultation-form--top{
    padding: 20px 24px;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
}

.howto .consultation-form_head{
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.howto .consultation-form_title-row{
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.howto .consultation-form_title{
    font-size: 20px;
    color: #111111;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
}

.howto .consultation-form_hint{
    font-size: 14px;
    color: #666666;
    line-height: 1.2;
    margin-top: 2px;
    text-align: right;
    max-width: 420px;
}

.howto .consultation-form_badges{
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.howto .consultation-badge{
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border-radius: 999px;
    font-size: 14px;
    color: #0C8771;
    background: linear-gradient(90deg, #E7F0FF 0%, #DFF6E8 100%);
}

.howto .consultation-badge svg{
    flex: 0 0 16px;
    width: 16px;
    height: 16px;
}

.howto .consultation-form_input-list{
    margin: 14px 0 0 0;
    display: flex;
    gap: 16px;
    align-items: flex-end;
}

.howto .consultation-form_input-wrapper{
    flex: 1 1 0;
    min-width: 0;
}

.howto .consultation-form_bottom{
    flex: 0 0 450px;
    width: 450px;
}

.howto .consultation_send{
    width: 100%;
    margin: 0;
}

/* MOBILE */
@media (max-width: 1024px){
    .howto{
        padding: 40px 0;
    }

    .howto_title{
        font-size: 20px;
    }

    .howto_step-title{
        font-size: 16px;
    }

    .howto_step-text{
        font-size: 14px;
    }

    .howto_step-btn{
        font-size: 14px;
    }

    .howto_step-pill{
        font-size: 14px;
    }

    .howto .consultation-form_head{
        flex-direction: column;
        align-items: flex-start;
    }

    .howto .consultation-form_hint{
        text-align: left;
        max-width: none;
    }

    .howto .consultation-form_input-list{
        flex-direction: column;
        align-items: stretch;
    }

    .howto .consultation-form_bottom{
        flex: 0 0 auto;
        width: 100%;
    }
}

/* ADVANTAGES */
.advantages{
    margin: 55px 0 0 0;
}
.advantages_list{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 40px;
}
.advantage-card{
    border-radius: 12px;
    padding: 16px 20px 20px 20px;
    background: radial-gradient(50% 157.97% at 100% 0%, #DEF6E6 0%, #F0F5FF 100%);
    display: grid;
    grid-template-columns: 1fr 110px;
    gap: 12px;
    align-items: flex-start;
    grid-template-areas: 'content img';
}
.advantage-card_label{
    font-size: 14px;
    color: #666666;
    line-height: 1.2;
}

.advantage-card:nth-child(3n){
    background: radial-gradient(50% 157.97% at 100% 0%, #FBF9E4 0%, #F0F5FF 100%);
}
.advantage-card:nth-child(3n+2){
    background: radial-gradient(50% 157.97% at 100% 0%, #E9E4FF 0%, #F0F5FF 100%);
}

.advantage-card_content{
    grid-area: content;
}
.advantage-card_title{
    font-weight: 600;
    font-size: 20px;
    font-family: 'Lato', sans-serif;
}
.advantage-card_txt{
    margin: .5em 0 0 0;
    color: var(--gray);
    line-height: 1.3em;
}
.advantage-card_img{
    grid-area: img;
    width: 100%;
    object-fit: contain;
}
.advantage-card_extra{
    grid-area: extra;
    margin: 12px 0 0 0;
    color: var(--blue);
    display: flex;
    align-items: center;
    gap: .5em;
    &:before{
        content: '';
        width: 6px;
        aspect-ratio: 1/1;
        border-radius: 50%;
        flex-shrink: 0;
        background: currentColor;
    }
}
.advantage-card:first-child .advantage-card_extra{
    align-items: flex-start;
}
.advantage-card:first-child .advantage-card_extra::before{
    position: relative;
    top: 0.3em;
}
.advantages_label{
    font-size: 16px;
    color: #666666;
}

.consultation-form--top{
    padding: 20px 24px;
    border-radius: 12px;
    box-shadow: 0px 2px 2px 0px #0F10530D;
}

.consultation-form--top .consultation-form_head{
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
}

.consultation-form--top .consultation-form_title{
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.consultation-form--top .consultation-form_hint{
    color: #666666;
    font-size: 14px;
    line-height: 1.2;
}

.consultation-form--top .consultation-form_row{
    margin: 14px 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr 320px;
    gap: 16px;
    align-items: end;
}

.consultation-form--top .consultation_send{
    margin: 0;
    width: 100%;
}
.consultation-form--top .consultation-form_policy{
    margin: 10px 0 0 0;
}


.consultation-form--top .consultation_send{
    margin: 0;
    width: 100%;
}

/* ADVANTAGES MENU */
.advantages_menu{
    margin: 30px 0 44px 0;
    display: grid;
    /* 4 колонки одинаковой ширины */
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    touch-action: pan-x;
}

.advantages_menu::-webkit-scrollbar{
    display: none;
}

.advantages_menu-item{
    border-radius: 40px;
    white-space: nowrap;
    flex: 0 0 auto;
    padding: 16px 38px;
}
.advantages_menu,
.advantages_menu *{
    -webkit-user-select: none;
    user-select: none;
}

.advantages_menu a,
.advantages_menu button{
    -webkit-user-drag: none;
}

.advantages_menu a{
    -webkit-touch-callout: none;
}

.service-conditions{
    margin: 32px 0 0 0;
}

.service-conditions_title{
    margin: 0 0 32px 0;
    font-size: 24px;
    color: #111111;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
}

.service-conditions_grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 40px;
    row-gap: 20px;
}

.service-conditions_card{
    height: 150px;
    border: 1px solid #AABEF0;
    border-radius: 12px;
    background: #ffffff;
    padding: 18px 20px;
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 16px;
    align-items: center;
}

.service-conditions_ic{
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-conditions_svg{
    width: 48px;
    height: 48px;
    display: block;
}


/* CTA */
.cta {
    margin: 30px 0 0 0;
    .container {
        background: var(--brightest-blue);
        border-radius: 12px;
        padding: 24px 30px;
        display: flex;
        align-items: center;
        gap: 40px;
        margin-bottom: 64px;
    }
}
.cta_tel{
    font-weight: 600;
    font-size: 32px;
    font-family: 'Lato', sans-serif;
    color: var(--blue);
}
.cta_title{
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.cta_explanation{
    color: var(--gray);
}
.cta_btn{
    margin: 0 0 0 auto;
}

/* PAYMENTS */
.payments_txt{
    margin: .8em 0 0 0;
    color: var(--gray);
    font-size: 20px;
    max-width: 825px;
}
.payments#fed-pay .faq-item .payment-composition{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px 40px;
}

.payments#fed-pay .faq-item .payment-chunk_value{
    color: #3C6ED2;
}

.payments-intro{
    background: linear-gradient(180deg, #EAF0FC 0%, #D4E3FA 100%);
    border-radius: 12px;
    padding: 24px 28px;
    margin: 0 0 94px 0;
}

.payments-intro_title{
    font-size: 24px;
    color: #111111;
    font-family: 'Lato', sans-serif;
    font-weight: 600;
}

.payments-intro_txt{
    margin: 10px 0 0 0;
    font-size: 20px;
    color: #666666;
    line-height: 1.25;
}

.payment-list{
    margin: 40px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 20px;
}
.payment-composition{
    display: grid;
    grid-template-columns: 100%;
    gap: 24px;
}
.payments#fed-pay .faq-item_answer p > strong{
    color: #3C6ED2;
}
.payment-chunk_value{
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
    color: black;
}
.payments-after-note{
    background: #F0F5FA;
    color: #3C6ED2;
    font-size: 16px;
    line-height: 1.35;
    padding: 18px 20px;
    border-radius: 12px;
}

.payment-chunk_source{
    margin: .5em 0 0 0;
    font-size: 20px;
    color: var(--gray);
}
.payment-compare{
    background: white;
    margin: 0;
    padding: 0 0;
}
.payment-compare-search{
    margin: 30px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    align-items: center;
}
.payment-compare-search_input{
    grid-area: 1/1;
    background: white;
    box-shadow: 0px 2px 2px 0px #0F10530D;
    padding: .875em 1.25em;
    border: none;
    border-radius: 8px;
    &::placeholder{
        color: var(--gray);
    }
}
.payment-compare-search_send{
    grid-area: 1/1;
    margin: 0 18px 0 0;
    justify-self: flex-end;
    width: 20px;
    max-height: 20px;
    background: transparent;
    border: none;
    padding: 0;
    & :where(img, svg){
        width: 100%;
        height: 100%;
        object-fit: contain;
    }
    path{
        fill: #AABEF0;
    }
}
.payment-compare-table{
    margin: 16px 0 0 0;
    border-collapse: collapse;
    overflow: auto;
    --columns: minmax(220px, 400px) minmax(205px, 1fr) minmax(205px, 1fr) minmax(205px, 1fr);
}
.payment-region-name-wrapper{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.payment-region_name{
    position: relative;
    display: flex;
    align-items: center;
    gap: .375em;
    width: fit-content;
    &:before{
        content: '';
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        height: 2px;
        background: var(--gray);
    }
    & :where(img, svg){
        width: 8px;
        height: auto;
        object-fit: contain;
    }
    path{
        fill: currentColor;
    }
}
.payment-region_tag{
    border: 1px solid var(--green);
    background: var(--light-green);
    font-size: 14px;
    border-radius: 4px;
    padding: 4px 8px;
    color: var(--green);
    font-family: 'Arial', sans-serif;
    font-weight: 400;
}
.payment-compare_note{
    margin: 1em 0 0 0;
    color: var(--gray);
}

/* BENEFITS */
.benefits-tabs{
    margin: 40px 0 0 0;
    display: flex;
    gap: 8px;
}

.benefits-tab{
    height: 44px;
    padding: 0 18px;
    border: none;
    border-radius: 10px;
    background: #E8EEFA;
    color: #111111;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
}

.benefits-tab.is-active{
    background: #F0F5FA;
    color: #3C6ED2;
}

.benefits-panels{
    margin: 24px 0 0 0;
}

.benefits-panels .benefit-card{
    display: none;
}

.benefits-panels .benefit-card.is-active{
    display: block;
}

.benefits_txt{
    margin: 16px 0 0 0;
    color: var(--gray);
    max-width: 825px;
    font-size: 20px;
    line-height: 1.2em;
}
.benefits-list{
    margin: 40px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 40px;
}
.benefit-card{
    padding: 24px 32px;
    border-radius: 16px;
    background: radial-gradient(50% 157.97% at 100% 0%, var(--color, #F0F5FF) 0%, #F0F5FF 100%);
}
.benefit-card_icon{
    border-radius: 8px;
    background: white;
    width: 50px;
    aspect-ratio: 1/1;
    display: flex;
    align-items: center;
    justify-content: center;
    & :where(img, svg){
        width: 50%;
        height: auto;
        object-fit: contain;
    }

}
.benefit-card_title{
    margin: 12px 0 0 0;
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.benefit-card_subtitle{
    margin: .5em 0 0 0;
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.benefit-card_list{
    margin: 20px 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 55px;
    row-gap: 16px;
    align-items: flex-start;
    gap: 16px;
    color: var(--gray);
    overflow: auto;
}
.benefit-card_list-column{
    display: grid;
    grid-template-columns: 100%;
    gap: 16px;
}
.benefit-card_list-item{
    display: flex;
    align-items: flex-start;
    gap: .75em;
    &:before{
        content: '';
        margin: calc(.5em - 3px) 0 0 0;
        width: 6px;
        aspect-ratio: 1/1;
        flex-shrink: 0;
        border-radius: 50%;
        background: var(--light-blue);
    }
}
div#benefits {
    margin-bottom: 94px;
}
/* CONSULTATION */

.section-inner.consultation{
    background: #F8FAFC;
}
.section-inner.consultation{
    margin: 0;
}
.consultation-form{
    padding: 24px 34px;
    background: white;
    border-radius: 12px;
}
.consultation-form_txt{
    margin: .5em 0 0 0;
    line-height: 1.3em;
    max-width: 400px;
    color: var(--gray);
}
.consultation-form_input-list{
    margin: 24px 0 0 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.consultation-form_input-wrapper:last-child{
    grid-area: auto / span 2;
}
.consultation-form_policy{
    margin: 8px 0 0 0;
}
.region-payments-switch{
    margin: 32px 0 56px 0;
}

.region-payments-tabs{
    display: flex;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
    margin-bottom: 24px;
}

.region-payments-tab{
    flex: 1 1 0;
    min-width: 0;
    height: 44px;
    padding: 0 18px;
    border: none;
    border-radius: 10px;
    background: #E8EEFA;
    color: #111111;
    font-size: 16px;
    font-weight: 400;
    cursor: pointer;
    text-align: center;
}
.region-payments-head{
    margin: 0 0 16px 0;
}

.region-payments-title{
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.region-payments-subtitle{
    margin: 10px 0 0 0;
    font-size: 16px;
    color: #666666;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.region-payments-date{
    color: #0A37AA;
    background: #AABEF0;
    border-radius: 6px;
    padding: 2px 8px;
    display: inline-flex;
    align-items: center;
}

.region-payments-cards{
    margin: 16px 0 0 0;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.region-payments-card{
    border-radius: 12px;
    padding: 16px 18px;
    display: grid;
    grid-template-columns: 1fr 80px;
    align-items: center;
    gap: 12px;
    min-height: 80px;
}

.region-payments-card_value{
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
    color: #111111;
}

.region-payments-card_txt{
    margin: 6px 0 0 0;
    font-size: 16px;
    color: #666666;
    line-height: 1.25;
}

.region-payments-card_ic{
    display: flex;
    align-items: center;
    justify-content: center;
}

.region-payments-card_ic svg{
    width: 56px;
    height: 56px;
    display: block;
}

.region-payments-card--green{
    background: radial-gradient(50% 157.97% at 100% 0%, #E6F7F1 0%, #F0F5FF 100%);
}

.region-payments-card--mint{
    background: radial-gradient(50% 157.97% at 100% 0%, #DFF6EA 0%, #F0F5FF 100%);
}

.region-payments-card--sand{
    background: radial-gradient(50% 157.97% at 100% 0%, #FBF9E4 0%, #F0F5FF 100%);
}

.region-payments-tab.is-active{
    background: #F0F5FA;
    color: #3C6ED2;
}

.region-payments-panel{
    display: none;
}

.region-payments-panel.is-active{
    display: block;
}
/* step CTA  */
.service-steps{
    margin: 32px 0 0 0;
    background: #F8FAFC;
    padding: 40px 0;
}

.service-steps_title{
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.service-steps_subtitle{
    margin: 12px 0 0 0;
    font-size: 20px;
    color: #666666;
    line-height: 1.25;
    max-width: 980px;
}

.service-steps_list{
    margin: 24px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 16px;
}

.service-step{
    background: #FFFFFF;
    border-radius: 12px;
    padding: 18px 20px;
    box-shadow: 0px 2px 2px 0px #0F10530D;
}

.service-step_head{
    display: flex;
    align-items: baseline;
    gap: 8px;
}

.service-step_num{
    color: #3C6ED2;
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.service-step_name{
    color: #111111;
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.service-step_txt{
    margin: 6px 0 0 0;
    color: #666666;
    font-size: 16px;
    line-height: 1.25;
}

.step-cta{
    margin: 24px 0 0 0;
    background: radial-gradient(50% 157.97% at 100% 0%, #DEF6E6 0%, #F0F5FF 100%);
    border-radius: 12px;
    padding: 24px 32px;
    display: grid;
    grid-template-columns: 110px 1fr auto;
    align-items: center;
    gap: 30px;
}

.step-cta_img{
    width: 100%;
    object-fit: contain;
}

.step-cta_title{
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.step-cta_txt{
    margin: .5em 0 0 0;
    font-size: 20px;
    color: #666666;
}

section#vacancylist {
    padding: 94px 0 56px 0;
    background: #F8FAFC;
}

/* Rev + CTA  */
.reviews-with-cta{
    padding: 56px 0 94px 0;
}

.reviews_head{
    margin: 0 0 24px 0;
}

.reviews_title{
    margin: 0;
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}

.reviews_subtitle{
    margin: 8px 0 0 0;
    font-size: 20px;
    color: #666666;
    line-height: 1.25;
}

.reviews_grid{
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 40px;
    row-gap: 20px;
    align-items: stretch;
}

.review-card{
    background: #F8FAFC;
    border-radius: 12px;
    padding: 16px 18px;
    box-shadow: 0px 2px 2px 0px #0F10530D;
    min-height: 175px;
    height: 100%;
    display: flex;
    flex-direction: column;
}

.review-card_top{
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 12px;
    align-items: center;
}

.review-card_icon{
    width: 48px;
    height: 48px;
    border-radius: 10px;
    overflow: hidden;
    background: #E8EEFA;
    display: flex;
    align-items: center;
    justify-content: center;
}

.review-card_icon :where(svg, img){
    width: 100%;
    height: 100%;
    display: block;
}

.review-card_name{
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
    color: #111111;
    line-height: 1.2;
}

.review-card_role{
    margin: 2px 0 0 0;
    color: #666666;
    font-size: 14px;
    line-height: 1.2;
}

.review-card_text{
    margin: 12px 0 0 0;
    font-size: 16px;
    line-height: 1.25;
    color: #111111;
}

div#news {
    padding: 56px 0 0 0;
}
/* NEWS CTA + LIST */
.news-cta{
    margin: 40px 0 0 0;
    background: radial-gradient(50% 157.97% at 100% 0%, #DEF6E6 0%, #F0F5FF 100%);
    border-radius: 12px;
    padding: 24px 32px;
    display: grid;
    grid-template-columns: 110px 1fr auto;
    align-items: center;
    gap: 30px;
}
.news-cta_img{
    width: 100%;
    object-fit: contain;
}
.news-cta_content{
    max-width: 640px;
}
.news-cta_title{
    font-size: 24px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.news-cta_txt{
    margin: .5em 0 0 0;
    font-size: 20px;
    color: var(--gray);
}
.news_list{
    margin: 30px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    gap: 20px;
    line-height: 1.2em;
}

/* FAQ */
.faq_title{
    text-align: center;
    font-size: 32px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.faq-groups{
    margin: 40px 0 0 0;
    --display-active: grid;
}
.faq-groups_group-label-list{
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
.faq_group-label{
    color: var(--light-blue);
    background: white;
    border: 1px solid var(--brightest-blue);
    padding: .75em;
    border-radius: 8px;
}
.faq_group-label.active{
    background: #AABEF033;
    color: black;
}
.faq-groups_group-list{
    margin: 16px 0 0 0;
}
.faq-group{
    grid-template-columns: 100%;
    gap: 20px;
}
.faq-cta{
    margin: 24px 0 0 0;
    box-shadow: 0px 2px 2px 0px #0F10530D;
    background: white;
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
}
.faq-cta_title{
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.faq-cta_txt{
    margin: .5em 0 0 0;
    color: var(--gray);
}

/* MILITARY LIST TABLE */
.military-list_table{
    background: #FFFFFF;
    border-radius: 12px;
    overflow: hidden;
}
.military-list_table-inner{
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.military-list_table-inner table{
    width: 100%;
    min-width: 600px;
    border-collapse: collapse;
    font-size: 16px;
    border: 1px solid #E0E5EB;
    border-radius: 12px;
}
.military-list_table thead tr{
    background-color: #F0F5FA;
}
.military-list_table thead th{
    color: #666666;
    font-weight: 500;
}
.military-list_table th,
.military-list_table td{
    padding: 12px 16px;
    border-bottom: 1px solid #E0E5EB;
    text-align: left;
}
.military-list_table tbody td{
    color: #000000;
}
.military-list .section_title{
    margin-bottom: 24px;
}

/* OTHER ARTICLES SLIDER */
.other-articles{
    margin-bottom: 40px;
    margin-top: 0px;
}
.other-articles-slider-wrapper{
    margin: 40px 0 0 0;
    display: grid;
    grid-template-columns: 100%;
    align-items: center;
}
.other-articles-slider_nav-btn{
    grid-area: 1/1;
    width: 30px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #F0F5FA;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    &:before{
        content: '';
        width: 8px;
        aspect-ratio: 1/1;
        border-right: 2px solid var(--light-blue);
        border-bottom: 2px solid var(--light-blue);
        translate: -17% 0;
        rotate: -45deg;
    }
}
.other-articles-slider_nav-btn.prev{
    translate: calc(-100% - 20px);
    justify-self: flex-start;
    scale: -1 1;
}
.other-articles-slider_nav-btn.next{
    translate: calc(100% + 20px);
    justify-self: flex-end;
}
.other-articles-slider{
    grid-area: 1/1;
    margin-bottom: 40px;
}
.other-articles-slider_explanation{
    margin: 12px auto 0 auto;
    color: var(--gray);
    display: none;
    align-items: center;
    gap: .5em;
    & :where(img, svg){
        width: 20px;
        height: auto;
        object-fit: contain;
    }
    path{
        fill: var(--light-blue);
    }
}
.other-articles-slider .swiper-wrapper{
    align-items: stretch;
}
.other-articles-slider .swiper-slide{
    height: auto;
    display: flex;
}
.other-articles-slider .swiper-slide > .vacancy-card{
    height: 100%;
    width: 100%;
}

/* OTHER ARTICLES REGION VARIANT */
.other-articles--regions .other-articles-slider-wrapper{
    margin: 24px 0 0 0;
    position: relative;
    display: block;
}
.other-articles--regions .other-articles-slider_nav-btn{
    position: absolute;
    top: -56px;
    width: 30px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: #F0F5FA;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    padding: 0;
    z-index: 10;
}
.other-articles--regions .other-articles-slider_nav-btn:before{
    content: '';
    width: 8px;
    aspect-ratio: 1/1;
    border-right: 2px solid var(--light-blue);
    border-bottom: 2px solid var(--light-blue);
    translate: -17% 0;
    rotate: -45deg;
}
.other-articles--regions .other-articles-slider_nav-btn.prev{
    right: 5px;
    scale: -1 1;
}
.other-articles--regions .other-articles-slider_nav-btn.next{
    right: 53px;
}

/* VACANCY CARD (slider) */
.vacancy-card{
    background: #F8FAFC;
    border: 1px solid var(--brightest-blue);
    border-radius: 12px;
    padding: 30px;
    display: grid;
    grid-template-columns: 50px 1fr;
    column-gap: 16px;
    row-gap: 24px;
    align-items: center;
}
.vacancy-card_icon{
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: contain;
    padding: 12px;
    background: var(--brightest-blue);
    border-radius: 8px;
}
.vacancy-card_salary{
    grid-area: auto / span 2;
}
.vacancy-card_salary-title{
    color: var(--gray);
    font-size: 20px;
}
.vacancy-card_salary-txt{
    font-size: 20px;
    font-weight: 600;
    font-family: 'Lato', sans-serif;
}
.vacancy-card_title{
    font-size: 20px;
    line-height: 1.25;
}

/* FR VACANCIES */
.fr-vacancies{
    padding: 56px 0;
}
.fr-vacancies__title{
    margin: 0 0 10px 0;
    font-size: 24px;
    color: #111111;
}
.fr-vacancies__grid{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-bottom: 24px;
}
.fr-vacancy-card{
    background: #ffffff;
    border-radius: 12px;
    min-height: 120px;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
    padding: 24px;
}
.fr-vacancies__cta{
    background: #ffffff;
    border-radius: 12px;
    padding: 18px 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    box-shadow: 0 10px 24px rgba(17, 24, 39, 0.08);
    position: relative;
    overflow: hidden;
}
.fr-vacancies__cta::before{
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #3C6ED2;
}
.fr-vacancies__cta-content{
    padding-left: 10px;
}
.fr-vacancies__cta-title{
    font-size: 20px;
    font-weight: 600;
    color: #111111;
}
.fr-vacancies__cta-txt{
    margin-top: 4px;
    font-size: 16px;
    color: #666666;
}

/* VL VACANCY LIST */
.vl-vacancylist__title{
    margin: 0 0 10px 0;
    font-size: 24px;
    color: #111111;
}
.vl-vacancylist__grid{
    display:grid;
    grid-template-columns: repeat(3, 1fr);
    gap:24px;
    margin: 32px 0 32px 0;
}
.vl-vacancylist__card{
    background:#fff;
    border-radius:12px;
    box-shadow: 0 10px 24px rgba(17,24,39,0.08);
    padding:16px;
    height:153px;
}
.vl-vacancylist__link{
    display:block;
    text-decoration:none;
    color:inherit;
}
.vl-vacancylist-card{
    display:flex;
    flex-direction:column;
    gap:10px;
    height:100%;
}
.vl-vacancylist-card__ic{
    width:40px;
    height:40px;
    display:grid;
    place-items:center;
}
.vl-vacancylist-card__icon{
    width:40px;
    height:40px;
    display:block;
    object-fit:contain;
}
.vl-vacancylist-card__content{
    display:flex;
    flex-direction:column;
    gap:8px;
    min-width:0;
}
.vl-vacancylist-card__title{
    font-size:20px;
    line-height:1.2;
    color:#111;
}
.vl-vacancylist-card__salary-title{
    font-size:14px;
    font-weight:400;
    color:#666;
}
.vl-vacancylist-card__salary-txt{
    margin-top:4px;
    font-size:16px;
    color:#111;
}
.vl-vacancylist__cta{
    width:100%;
    background:#fff;
    border-radius:12px;
    padding:18px 20px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    box-shadow: 0 10px 24px rgba(17,24,39,0.08);
    position:relative;
    overflow:hidden;
}
.vl-vacancylist__cta::before{
    content:"";
    position:absolute;
    left:0; top:0; bottom:0;
    width:4px;
    background:#3C6ED2;
}
.vl-vacancylist__cta-content{
    padding-left:10px;
}
.vl-vacancylist__cta-title{
    font-size:18px;
    font-weight:600;
    color:#111;
}
.vl-vacancylist__cta-txt{
    margin-top:4px;
    font-size:14px;
    color:#666;
}

/* =========================
   MOBILE / TABLET
========================= */

@media (max-width: 1024px){
    .top .container{
        display: grid;
        grid-template-columns: 100%;
    }
    .top_img{
        max-height: 190px;
    }
    .top_title{
        font-size: 32px;
    }
    .top_subtitle{
        margin: 20px 0 0 0;
        font-size: 16px;
    }

    .advantages{
        margin: 40px 0 0 0;
    }
    .advantages_list{
        grid-template-columns: 100%;
        gap: 20px;
    }
    .advantage-card{
        padding: 16px;
        grid-template-columns: 1fr 55px;
    }
    .advantage-card_title{
        font-size: 16px;
    }


    .cta{
        margin: 20px 0 0 0;
        .container{
            border-radius: 8px;
            padding: 20px;
            flex-direction: column;
            gap: 0;
            align-items: flex-start;
        }
    }
    .cta_content{
        margin: 12px 0 0 0;
    }
    .cta_tel{
        font-size: 24px;
    }
    .cta_title{
        font-size: 20px;
    }
    .cta_btn{
        margin: 20px 0 0 0;
    }

    .payments_txt{
        font-size: 16px;
    }
    .payment-list{
        margin: 32px 0 0 0;
        gap: 20px;
    }
    .payment-region_tag{
        font-size: 12px;
    }

    .benefits_txt{
        font-size: 16px;
    }
    .benefits-list{
        margin: 30px 0 0 0;
        gap: 20px;
    }
    .benefit-card{
        padding: 20px;
        border-radius: 8px;
    }
    .benefit-card_icon{
        width: 40px;
    }
    .benefit-card_title{
        font-size: 20px;
    }
    .benefit-card_subtitle{
        font-size: 16px;
    }
    .benefit-card_list{
        margin: 16px 0 0 0;
        grid-template-columns: 100%;
    }

    .news-cta{
        margin: 30px 0 0 0;
        padding: 20px;
        border-radius: 8px;
        grid-template-columns: 100%;
        gap: 20px;
    }
    .news-cta_img{
        width: 55px;
    }
    .news-cta_title{
        font-size: 20px;
    }
    .news-cta_txt{
        font-size: 16px;
    }
    .news_list{
        margin: 24px 0 0 0;
    }

    .vacancy-card{
        padding: 20px;
        grid-template-columns: 40px 1fr;
    }
    .vacancy-card_salary-title{
        font-size: 16px;
    }
    .vacancy-card_salary-txt{
        font-size: 16px;
    }
    .other-articles-slider_nav-btn{
        display: none;
    }
    .other-articles-slider_explanation{
        display: flex;
    }
}

@media (max-width: 1023px){
    .fr-vacancies__grid{
        grid-template-columns: repeat(2, 1fr);
    }
    .vl-vacancylist__grid{
        grid-template-columns:repeat(2, 1fr);
        gap:12px;
    }
}

@media (max-width: 767px){
    .fr-vacancies__grid{
        grid-template-columns: repeat(2, 1fr);
    }
    .fr-vacancies__cta{
        flex-direction: column;
        align-items: stretch;
    }

    .vl-vacancylist__grid{
        grid-template-columns:repeat(2, 1fr);
        gap:12px;
    }
    .vl-vacancylist__card{
        height:160px;
        padding:12px;
    }
    .vl-vacancylist-card{
        gap:8px;
    }
    .vl-vacancylist-card__ic{
        width:24px;
        height:24px;
    }
    .vl-vacancylist-card__icon{
        width:24px;
        height:24px;
    }
    .vl-vacancylist-card__title{
        font-size:16px;
        min-height: 58px;
    }
    .vl-vacancylist-card__salary-title{
        font-size:12px;
    }
    .vl-vacancylist-card__salary-txt{
        font-size:14px;
        font-weight:400;
    }
    .vl-vacancylist__cta{
        flex-direction:column;
        align-items:stretch;
        width:100%;
    }
    .vl-vacancylist__cta .btn{
        width:100%;
    }
}

@media (max-width: 600px){
    .consultation-form{
        padding: 20px;
    }
    .consultation-form_input-list{
        grid-template-columns: 100%;
        gap: 12px;
    }
    .consultation-form_input-wrapper:last-child{
        grid-area: auto;
    }
    .consultation-form_policy{
        font-size: 12px;
    }
    .faq-groups_group-label-list{
        grid-template-columns: 100%;
    }
}


@media(max-width: 1024px){
        .other-articles--regions .other-articles-slider_nav-btn{
        display:none;
    }
    .other-articles--regions .other-articles-slider_explanation{
        display:flex;
    }
    .top_container{
        grid-template-columns: 100%;
    }

    .top_payline-label{
        font-size: 14px;
    }

    .top_payline-value{
        font-size: 14px;
    }

    .advantage-card_label{
        font-size: 12px;
    }

    .consultation-form--top .consultation-form_head{
        flex-direction: column;
        align-items: flex-start;
    }

    .consultation-form--top .consultation-form_input-list{
        grid-template-columns: 100%;
    }

    .consultation-form--top .consultation-form_bottom{
        grid-template-columns: 100%;
    }
      .consultation-form--top .consultation-form_input-list{
        flex-direction: column;
        align-items: stretch;
    }

    .consultation-form--top .consultation-form_bottom{
        flex: 0 0 auto;
        width: 100%;
    }
        .advantages_label{
        font-size: 14px;
    }
        .consultation-form--top .consultation-form_row{
        grid-template-columns: 100%;
    }  
        .payments-intro{
        padding: 20px;
        margin-bottom: 40px;
    }

    .payments-intro_title{
        font-size: 20px;
    }

    .payments-intro_txt{
        font-size: 16px;
    }
        .payments#fed-pay .faq-item .payment-composition{
        grid-template-columns: 100%;
        gap: 16px;
    }
        .payments-after-note{
        font-size: 14px;
        padding: 16px;
    }
        .service-conditions_title{
        font-size: 20px;
    }

    .service-conditions_grid{
        grid-template-columns: 100%;
        row-gap: 16px;
        column-gap: 0;
    }

    .service-conditions_card{
        height: auto;
        min-height: 111px;
        padding: 16px;
        grid-template-columns: 48px 1fr;
        gap: 14px;
    }

    .service-conditions_txt{
        font-size: 14px;
    }
        .cta_btn{
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        align-self: stretch;
    }
        .benefits-tabs{
        flex-direction: column;
    }

    .benefits-tab{
        height: 40px;
        font-size: 14px;
        width: 100%;
    }

    .benefits-panels{
        margin-top: 24px;
    }
        .region-payments-tab{
        height: 40px;
        font-size: 14px;
        width: 100%;
    }

    .region-payments-tabs{
        flex-direction: column;
    }
        .region-payments-title{
        font-size: 20px;
    }

    .region-payments-subtitle{
        font-size: 14px;
    }

    .region-payments-cards{
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .region-payments-card_value{
        font-size: 16px;
    }

    .region-payments-card_txt{
        font-size: 14px;
    }
        .service-steps{
        padding: 30px 0;
    }

    .service-steps_title{
        font-size: 20px;
    }

    .service-steps_subtitle{
        font-size: 16px;
    }

    .service-step_num,
    .service-step_name{
        font-size: 16px;
    }

    .service-step_txt{
        font-size: 14px;
    }

    .step-cta{
        padding: 20px;
        border-radius: 8px;
        grid-template-columns: 100%;
        gap: 20px;
    }

    .step-cta_img{
        width: 55px;
    }

    .step-cta_title{
        font-size: 20px;
    }

    .step-cta_txt{
        font-size: 16px;
    }

    .step-cta .news-cta_btn{
        width: 100%;
    }
        svg.step-cta_img{
        width: 56px;
        height: 44px;
        display: block;
    }
        section#vacancylist{
        padding: 32px 0;
    }
        .reviews-with-cta{
        padding: 32px 0;
    }

    .reviews_title{
        font-size: 20px;
    }

    .reviews_subtitle{
        font-size: 16px;
    }

    .reviews_grid{
        grid-template-columns: 100%;
        row-gap: 16px;
    }

    .review-card{
        min-height: 153px;
    }

    .review-card_top{
        grid-template-columns: 32px 1fr;
    }

    .review-card_icon{
        width: 32px;
        height: 32px;
        border-radius: 8px;
    }

    .review-card_name{
        font-size: 16px;
    }

    .review-card_role{
        font-size: 12px;
    }

    .review-card_text{
        font-size: 14px;
    }
    div#news {
    padding: 32px 0 0 0;
    }
    .region-payments-tabs{
        width: auto;
    }
    
    .region-payments-tab{
        flex: 0 0 auto;
        width: 100%;
    }
    .payment-chunk_value {
    font-size: 16px;}
    .payment-chunk_source {
    font-size: 16px;}
    .payments#fed-pay .faq-item_answer p > strong {
    font-weight: 400;}
    .top_img{
    display: none;
}

.top_img--mobile{
    display: block;
    width: 100%;
    max-width: 360px;
    height: auto;
    margin: 24px auto 0 auto;
}
.vl-vacancylist__grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.vl-vacancylist__link,
.vl-vacancylist__card{
    min-width: 0;
}

.vacancy-card{
    padding: 14px;
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: 12px;
    row-gap: 14px;
    min-width: 0;
    overflow: hidden;
}

.vacancy-card_icon{
    padding: 8px;
    min-width: 0;
}

.section_title.vacancy-card_title{
    font-size: 16px;
    line-height: 1.2;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    min-width: 0;
}
.region-payments-panel[data-rp-panel="tiles"] .vacancy-card_title-prefix:after{
    content: "\A";
    white-space: pre;
}
.region-payments-panel[data-rp-panel="tiles"] .vacancy-card_title{
    white-space: normal;
}

}
.vl-vacancylist--regions .vl-vacancylist__card{
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    height: auto !important;
    border-radius: 0 !important;
}
