

/* Start:/local/templates/aspro/assets/css/components/ksu/new_ksu/ksu_detail.css?17915624444538*/
:root {
    --parag-fz: 22rem;
    --parag-mb: 20rem;
    --top-content-w: 1150rem;
    --top-content-mb: 60rem;
    --text-gap: 40rem;
    --quote-pad: 40rem;
    --h2-fz: 56rem;
    --h2-mb: 40rem;
    --section-gap: 80rem;

    /* модификатор .titled для blockquote */
    --quote-title-fz: 28rem;
    --quote-title-lh: 1.6;
    --quote-title-mb: 10rem;
    --quote-text-fz: 22rem;
    --quote-text-lh: 1.5;

    /* модификатор .block_mt */
    --block-mt: 60rem;
}

blockquote {
    font-size: var(--blockquote-fz);
    line-height: 1.6;

    box-shadow: inset 4rem 0 0 var(--main-color);
    padding-left: var(--quote-pad);

    margin-bottom: var(--text-gap);
}

/* Модификатор: заголовок + текст внутри цитаты */
blockquote.titled .quote__title {
    font-size: var(--quote-title-fz);
    line-height: var(--quote-title-lh);
    margin: 0 0 var(--quote-title-mb);
    font-weight: bold;
}

blockquote.titled .quote__text {
    font-size: var(--quote-text-fz);
    line-height: var(--quote-text-lh);
    margin: 0;
}

/* Не даём section-стилям перебивать */
blockquote.titled .quote__title,
blockquote.titled .quote__text {
    max-width: none;
}

/* Модификатор: верхний отступ у любого блока */
.block_mt {
    margin-top: var(--block-mt);
}

/* @media (min-width: 1921px) {
    :root {
        --parag-fz: calc(22rem * 1.1);
        --parag-mb: calc(20rem * 1.1);
        --top-content-w: calc(1150rem * 1.1);
        --top-content-mb: calc(60rem * 1.1);
        --list-item-fz: calc(18rem * 1.1);
        --list-item-pl: calc(45rem * 1.1);
        --list-line-h: calc(3rem * 1.1);
        --list-line-w: calc(30rem * 1.1);
        --list-line-top: calc(10rem * 1.1);
        --list-title-fz: calc(28rem * 1.1);
        --list-title-mb: calc(20rem * 1.1);
        --list-gap: calc(15rem * 1.1);
    }
} */

.simpleText {
    max-width: 1110rem;
}

.topContent {
    max-width: var(--top-content-w);
    margin-bottom: var(--top-content-mb, 0);
}

ul.line-list {
    display: flex;
    flex-direction: column;
    gap: var(--list-gap);
    padding-left: 0 !important;
    margin-bottom: 0;
}

ul.line-list li {
    font-size: var(--list-item-fz, 18rem);
    line-height: var(--list-item-lh, 1.5);
    padding-left: var(--list-item-pl, 45rem);
    position: relative;
}

ul.line-list li::before {
    content: "";
    height: var(--list-line-h, 3rem);
    width: var(--list-line-w, 30rem);
    background-color: var(--main-color);
    position: absolute;
    left: 0rem;
    top: var(--list-line-top, 10rem);
}

.line-list__title {
    font-size: var(--list-title-fz, 28rem);
    line-height: var(--list-title-lh, 1.4);
    margin-bottom: var(--list-title-mb, 20rem);
    font-weight: var(--list-title-fw, bold);
}

section p {
    font-size: var(--parag-fz);
    line-height: 1.6;
}

section p:not(:last-of-type) {
    margin-bottom: var(--parag-mb);
}

section h2 {
    font-size: var(--h2-fz);
    margin-bottom: var(--h2-mb);
    line-height: 1.2;
}

@media (max-width: 1200px) {
    :root {
        --parag-fz: 20rem;
        --parag-mb: 20rem;
        --quote-pad: 30rem;
        --h2-fz: 48rem;

        /* blockquote.titled */
        --quote-text-fz: 20rem;
        --quote-title-mb: 5rem;

        /* .block_mt */
        --block-mt: 40rem;
    }

    .simpleText {
        --parag-fz: 22rem;
    }
}

@media (max-width: 1024px) {
    :root {
        --parag-fz: 18rem;
        --quote-pad: 30rem;
        --h2-fz: 32rem;
        --h2-mb: 30rem;
        --text-gap: 20rem;

        /* blockquote.titled */
        --quote-title-fz: 22rem;
        --quote-title-lh: 1.2;
        --quote-text-fz: 18rem;
        --quote-text-lh: 1.5;
        --quote-title-mb: 8rem;

        /* .block_mt */
        --block-mt: 40rem;
    }

    .simpleText {
        --parag-fz: 18rem;
    }
}

@media (max-width: 768px) {
    :root {
        --quote-pad: 20rem;
        --parag-fz: 16rem;
        --h2-fz: 28rem;
        --h2-mb: 20rem;

        /* blockquote.titled */
        --quote-title-fz: 20rem;
        --quote-title-lh: 1.2;
        --quote-text-fz: 16rem;
        --quote-text-lh: 1.5;
        --quote-title-mb: 8rem;

        /* .block_mt */
        --block-mt: 30rem;
    }
}

@media (max-width: 560px) {
    :root {
        --quote-pad: 15rem;
        --h2-fz: 24rem;
        /* --block-mt наследуется из max-width: 768px (30rem) */
    }

    .simpleText {
        --parag-fz: 16rem;
    }
}
/* End */


/* Start:/local/templates/aspro/assets/css/components/ksu/new_ksu/tab_slider.css?17893960759754*/
.tabsBtns {
    --btn-fz: 20rem;
    --btn-lh: 1.5;
    --btn-inline-p: 20rem;
    --btn-block-p: 5rem;
    --wrapper-mb: 50rem;


}

._grey {
    --top-content-mb: 60rem;

}

.tabs {
    --img-w: 720rem;
    --content-p: 50rem 50rem 60rem;

    --h3-fz: 36rem;
    --h3-lh: 1.3;
    --h3-mb: 5rem;


    --link-fz: 16rem;
    --link-lh: 1.5;
    --link-mb: 30rem;

    --text-block-mb: 30rem;
    --parag-fz: 15rem;

    --list-title-fz: 22rem;
    --list-title-lh: 1.4;
    --list-title-mb: 10rem;

    --list-gap: 15rem;
    --list-line-top: 13rem;

    --list-item-fz: 18rem;
    --list-item-lh: 1.5;
    --list-item-pl: 45rem;

    --tizer-gap: 25rem 35rem;
    --tizer-green-fz: 28rem;
    --tizer-fz: 15rem;
    --tizer-lh: 1.3;
    --parag-lh: 1.5;
    --tizer-green-mb: 10rem;
    --list-line-w: 14rem;
    --list-line-h: 2rem;
    --list-item-pl: 24rem;
    --list-item-fz: 15rem;
    --list-title-lh: 1.2;
    --list-gap: 10rem;
    --list-item-lh: 1.5;


}

* {

    --swiper-pagination-bullet-inactive-color: #DDDFE2;
    --swiper-pagination-bullet-inactive-opacity: 1;

}


@media (max-width:1200px) {
    ._grey h2 {
        --h2-fz: 36rem;
        --h2-mb: 0;
    }

    ._grey {

        --top-content-mb: 40rem;

    }

    .tabsBtns {
        --btn-fz: 16rem;
        --btn-block-p: 7rem;

        --wrapper-mb: 40rem;
    }


    .tabs {
        --img-w: 560rem;
        --content-p: 30rem 30rem 40rem;
        --tizer-green-fz: 22rem;
        --tizer-green-mb: 5rem;

        --h3-fz: 28rem;

        --link-fz: 16rem;


        --parag-fz: 14rem;
        --parag-lh: 1.4;

        --list-title-fz: 18rem;
        --list-title-mb: 5rem;
        --list-title-lh: 1.4;
        --tizer-gap: 15rem;
        --list-item-fz: 14rem;
        --list-item-lh: 1.4;

        /* --list-item-fz: 18rem; */

    }


}

@media (max-width:1024px) {
    ._grey h2 {
        --h2-fz: 32rem;
    }


    ._grey {

        --top-content-mb: 30rem;
        --list-line-w: 25rem;
        --list-line-top: 9rem;
    }

    .tabs__pagination {
        --swiper-pagination-bullet-size: 10rem;
        --swiper-pagination-bullet-horizontal-gap: 7.5rem;
        --swiper-pagination-color: var(--main-color);
        --swiper-pagination-bottom: -45rem;
    }

    .tabsBtns {
        --btn-fz: 16rem;

    }


    .tabs {
        --img-w: 560rem;
        --content-p: 30rem;
        --parag-mb: 10rem;
        --h3-lh: 1.3;
        --list-title-mb: 5rem;

        --link-fz: 16rem;

        --list-title-fz: 18rem;
        --list-title-lh: 1.2;
    }

    .tabs__text {
        --list-title-mb: 5rem;
    }
}

@media (max-width:768px) {
    ._grey h2 {
        --h2-fz: 28rem;
    }


    ._grey {
        --top-content-mb: 20rem;
    }

    .tabsBtns {
        --btn-inline-p: 15rem;
        --btn-block-p: 5rem;
        --wrapper-mb: 30rem;
    }

    .tabs {
        --h3-fz: 24rem;
        --link-fz: 16rem;
        --link-mb: 25rem;
        --text-block-mb: 25rem;
    }
}

@media (max-width:560px) {

    ._grey h2 {
        --h2-fz: 24rem;

    }

    .tabs {
        --content-p: 15rem;
        --h3-fz: 20rem;
        --list-title-mb: 10rem;
        --list-gap: 10rem;
        --link-mb: 20rem;
        --top-content-mb: 30rem;
        --text-block-mb: 20rem;


    }


    .tabs__pagination {
        --swiper-pagination-bottom: -35rem;
    }
}

/* @media (min-width: 1921px) {
    .tabsBtns {
        --btn-fz: calc(20rem * 1.1);
        --btn-inline-p: calc(20rem * 1.1);
        --btn-block-p: calc(5rem * 1.1);
        --wrapper-mb: calc(50rem * 1.1);
    }

    .tabs {
        --img-w: calc(720rem * 1.1);
        --content-p: calc(60rem * 1.1);
        --h3-fz: calc(36rem * 1.1);
        --h3-mb: calc(10rem * 1.1);
        --link-fz: calc(20rem * 1.1);
        --link-mb: calc(20rem * 1.1);
        --list-title-fz: calc(24rem * 1.1);
        --list-title-mb: calc(20rem * 1.1);
        --list-gap: calc(20rem * 1.1);
        --list-item-fz: calc(18rem * 1.1);
        --list-item-pl: calc(50rem * 1.1);
    }
} */

.tabsBtns {
    margin-bottom: var(--wrapper-mb);
    scrollbar-width: none;
    overflow: visible;
}

.tabsBtns__wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 10rem;
    /* overflow-x: auto; */
    /* scrollbar-width: none; */
    /* margin: 0 calc(var(--container-padding) * -1); */
    /* scroll-behavior: smooth; */
    transition: all .3s ease;

}

.tabsBtns button {
    width: auto;
    text-align: center;
    font-size: var(--btn-fz);
    line-height: var(--btn-lh);
    padding-inline: var(--btn-inline-p);
    padding-block: var(--btn-block-p);
    border: 1rem solid #15203733;
    border-radius: 25rem;
    font-weight: 500;
    flex-shrink: 0;
}

.tabsBtns button._active {
    background-color: var(--black-color);
    color: var(--white-color);
}

.tabsBtns button:first-child {
    /* margin-left: var(--container-padding); */
}

.tabs .swiper-slide {

    border-radius: 10rem;
    opacity: 0 !important;
    overflow: hidden;

}

.tabs__pagination {
    display: none;
    pointer-events: none;
}

.tabs .swiper-slide.swiper-slide-active {
    opacity: 1 !important;
    pointer-events: auto;
}

.tabs__content {
    display: flex;
}

.tabs__content>div {
    flex: 1 1 50%;
}

.tabs__img {
    max-width: var(--img-w);
    flex-grow: 1;
    flex-shrink: 0;
    width: 100%;
    position: relative;

}

.tabs__img img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.tabs__desc {
    padding: var(--content-p);

    background-color: var(--white-color);
}

.tabs__topTitle {
    display: flex;
    gap: 7rem;
    font-weight: 500;
    font-size: 16rem;
    height: 20rem;
    align-items: center;
    line-height: 1;
    margin-bottom: 5rem;
}

.tabs__topTitle img {
    width: 16rem;
    height: 16rem;
}

.tabs__desc h3 {
    font-size: var(--h3-fz);
    line-height: var(--h3-lh);
    margin-bottom: var(--h3-mb);
    font-weight: bold;
}

.tabs__desc ul {
    display: flex;
    flex-direction: column;
    gap: var(--list-gap);
    padding-left: 0 !important;
    margin-bottom: 0;
}

.tabs__desc p {
    line-height: var(--parag-lh);
}

.tabs__desc ul li {
    font-size: var(--list-item-fz);
    line-height: var(--list-item-lh);
    padding-left: var(--list-item-pl);
    position: relative;

}


.tabs__desc .line-list li::before {

    left: 0rem;
    top: calc(var(--list-item-fz)*var(--list-item-lh)/2);
}

.tabs__link {
    display: inline-flex;
    align-items: center;
    gap: 5rem;
    align-items: center;

    font-size: var(--link-fz);
    line-height: var(--link-lh);
    margin-bottom: var(--link-mb);
    color: var(--main-color);
}

.tab__listTitle {
    font-size: var(--list-title-fz);
    line-height: var(--list-title-lh);
    margin-bottom: var(--list-title-mb);
    font-weight: bold;
}

._grey {

    background-color: #1520370D;
    padding-top: 80rem;
    padding-bottom: 100rem;

}

._overflow-v {
    overflow: visible;
}


._grey h2 {

    line-height: 1.2;
    margin-bottom: var(--h2-mb);
}

.footerSection {
    z-index: 3;
}

.tabs__text {
    margin-bottom: var(--text-block-mb);
}

ul.tizer {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--tizer-gap);

}

ul.tizer+* {
    margin-top: var(--text-block-mb);
}

ul.tizer p {
    line-height: var(--tizer-lh);
}

.tizer__item {
    font-size: var(--tizer-green-fz);
    margin-bottom: var(--tizer-green-mb);
    font-weight: 700;
    color: var(--main-color);
    line-height: 1;
}

ul .line-list__title {
    line-height: 1.2;
}

.tabs__desc ul.tizer li::before {
    display: none;
}

.tabs__desc ul.tizer li {
    padding-left: 0;
}

@media (max-width:1200px) {
    ._grey h2 {
        line-height: 1.4;
    }

    ._grey {
        padding-top: 60rem;
        padding-bottom: 80rem;

    }

    .tabs__topTitle {
        margin-bottom: 5rem;
    }


}

@media (max-width:1120px) {
    ul.tizer {
        grid-template-columns: repeat(1, 1fr);
    }
}

@media (max-width:1024px) {
    ._grey h2 {
        line-height: 1.2;
    }

    .tabsBtns button {
        flex-shrink: 0;
    }



    ._grey {
        padding-top: 40rem;
        padding-bottom: 80rem;

    }

    .tabs__pagination {

        display: block;
    }

    .tabs__content {
        display: block
    }

    ul.tizer {
        display: flex;
        flex-wrap: wrap;
        gap: var(--tizer-gap);
        flex-direction: row;

    }

    ul.tizer li {
        flex: 1 0 206rem;
        max-width: 300rem;
    }

    .tabs__img {
        max-width: unset;
        aspect-ratio: 1/0.560;
    }

    .tabs__topTitle {
        margin-bottom: 5rem;
    }


    .tabs__desc {
        padding-bottom: calc(var(--content-p) + 5rem);
    }

    .tabs__desc ul li::before {
        width: 25rem;
    }

}

@media (max-width:768px) {
    ._grey h2 {
        --h2-fz: 28rem;
        line-height: 1.2;
    }


    ._grey {
        padding-top: 30rem;
    }


}

@media (max-width:560px) {
    ._grey {
        padding-bottom: 60rem;
    }

    .tabs__img {
        aspect-ratio: 1/0.7515;
    }

    ul.tizer {
        flex-direction: column;
    }

    ul.tizer li {
        flex: none;
    }


}
/* End */


/* Start:/local/templates/aspro/assets/css/components/ksu/new_ksu/black_text.css?17915624447570*/
.blackText {

    --section-pad: 40rem;
    --title-fz: 32rem;
    --title-lh: 1.1;
    --title-mb: 20rem;

    --text-block-mb: 40rem;
    --big-text-fz: 30rem;
    --big-text-lh: 1.5;
    --big-text-mb: 30rem;
    --big-text-w: 1120rem;

    --parag-w: 937rem;
    --parag-fz: 24rem;
    --parag-lh: 1.6;
    --parag-mb: 30rem;


    --link-fz: 18rem;
    --link-lh: 1.5;
    --link-bg: var(--main-color);
    --link-w: auto;
    --link-h: 60rem;

    border-radius: 15rem;

    background-color: #152037;
    padding: var(--section-pad);
    color: var(--white-color);
}

@media (min-width: 1921px) {
    /* .blackText {
        --section-pad: calc(40rem * 1.1);
        --title-fz: calc(32rem * 1.1);
        --title-mb: calc(20rem * 1.1);
        --text-block-mb: calc(40rem * 1.1);
        --big-text-fz: calc(30rem * 1.1);
        --big-text-mb: calc(30rem * 1.1);
        --big-text-w: calc(1120rem * 1.1);
        --parag-w: calc(937rem * 1.1);
        --parag-fz: calc(24rem * 1.1);
        --parag-mb: calc(30rem * 1.1);
        --link-fz: calc(18rem * 1.1);
        --link-h: calc(60rem * 1.1);

        border-radius: calc(15rem * 1.1);
    } */
}

@media (max-width:1200px) {
    .blackText {
        --section-pad: 40rem;

        --text-block-mb: 30rem;

        --big-text-fz: 26rem;
        --big-text-lh: 1.5;
        --big-text-mb: 25rem;
        --big-text-w: 1120rem;

        --parag-w: 100%;
        --parag-fz: 22rem;
        --parag-mb: 25rem;



        --link-h: 50rem;

    }
}

@media (max-width:1024px) {
    .blackText {
        --section-pad: 30rem;

        --title-fz: 28rem;
        --title-lh: 1.1;
        --title-mb: 20rem;

        --text-block-mb: 30rem;

        --big-text-fz: 24rem;


        --parag-w: 937rem;
        --parag-fz: 20rem;

        --link-fz: 16rem;

    }
}

@media (max-width:768px) {
    .blackText {
        --section-pad: 20rem;

        --big-text-fz: 20rem;

        --parag-fz: 18rem;

        --link-fz: 16rem;
        --link-fz: 16rem;


    }

    .blackText a.green_link {
        padding: 13rem 35rem;
    }
}

@media (max-width:560px) {
    .blackText {
        --section-pad: 20rem;

        --big-text-fz: 20rem;
        --big-text-mb: 20rem;
        margin-top: 0rem;





    }

}

.blackText__title {
    font-weight: bold;
    font-size: var(--title-fz);
    line-height: var(--title-lh);
    margin-bottom: var(--title-mb);
}

.blackText .blackText__big {
    max-width: var(--big-text-w);
    font-size: var(--big-text-fz);
    line-height: var(--big-text-lh);
    margin-bottom: var(--big-text-mb);


}

.blackText__content {
    margin-bottom: var(--text-block-mb);
}

.blackText__content p:not(.blackText__big) {
    max-width: var(--parag-w);
}

.blackText a.green_link {
    display: inline-flex;
    width: auto;
    padding: 16rem 35rem;
}

.blackText a.green_link .siteBtn__mobtext {
    display: none;
}

.siteBtn {}




@media (max-width:560px) {


    .blackText a.green_link {
        padding: 13rem 35rem;
        width: 100%;
    }

    .blackText a.green_link .siteBtn__mobtext {

        display: block;
    }

    .blackText a.green_link .siteBtn__desctext {
        display: none;

    }
}

/* ===== Модификатор _price: блок стоимости с карточками тарифов ===== */

.blackText._price {
    --section-pad: 50rem 60rem 60rem;
    --title-fz: 36rem;
    --title-mb: 30rem;

    --content-gap: 40rem;
    --big-text-mb: 0rem;
    --parag-w: 1120rem;

    --cards-gap: 30rem;
    --card-pad: 35rem 40rem;
    --card-gap: 35rem;
    --card-descr-gap: 20rem;
    --card-title-fz: 28rem;
    --card-text-fz: 22rem;
    --card-text-gap: 10rem;
    --price-fz: 28rem;
    --price-unit-fz: 20rem;
    --price-gap: 15rem;

    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.blackText._price::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -312rem;
    left: -324rem;
    width: 896rem;
    height: 627rem;
    border-radius: 50%;
    background-color: #86c5ff;
    opacity: 0.1;
    filter: blur(150rem);
    pointer-events: none;
}

.blackText._price .blackText__content {
    display: flex;
    flex-direction: column;
    gap: var(--content-gap);
    margin-bottom: 0;
}

.blackText._price .blackText__content p {
    margin: 0;
}

.blackText._price .blackText__content p:not(.blackText__big) {
    font-size: var(--parag-fz);
    line-height: var(--parag-lh);
}

.blackText__cards {
    display: flex;
    gap: var(--cards-gap);
    margin: 0;
    padding: 0 !important;
    list-style: none;
}

.blackText__card {
    display: flex;
    flex-direction: column;
    flex: 1 1 0;
    gap: var(--card-gap);
    min-width: 0;
    margin: 0;
    padding: var(--card-pad);
    border: 1rem solid rgba(216, 220, 236, 0.3);
    border-radius: 15rem;
    background-color: var(--white-color);
    color: #152037;
}

.blackText__card::before {
    content: none;
}

.blackText__cardInfo {
    display: flex;
    flex-direction: column;
    gap: var(--card-descr-gap);
}

.blackText__cardDescr {
    display: flex;
    flex-direction: column;
    gap: var(--card-text-gap);
}

.blackText__cardTitle {
    font-size: var(--card-title-fz);
    font-weight: bold;
    line-height: 1.4;
}

.blackText__cardText {
    font-size: var(--card-text-fz);
    line-height: 1.6;
}

.blackText__price {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--price-gap);
    color: var(--main-color);
}

.blackText__priceValue {
    font-size: var(--price-fz);
    font-weight: bold;
    line-height: 1.4;
}

.blackText__priceUnit {
    font-size: var(--price-unit-fz);
    line-height: 1.6;
}

.blackText._price .blackText__card a.green_link {
    justify-content: center;
    width: 100%;
    margin-top: auto;
}

@media (max-width:1200px) {
    .blackText._price {
        --section-pad: 50rem;
        --title-fz: 32rem;
        --title-mb: 20rem;

        --parag-w: 937rem;

        --card-pad: 25rem 30rem;
        --card-title-fz: 24rem;
        --card-text-fz: 20rem;
    }
}

@media (max-width:1024px) {
    .blackText._price {
        --section-pad: 40rem;
        --title-fz: 28rem;

        --content-gap: 30rem;
        --parag-w: 100%;

        --card-gap: 25rem;
        --card-title-fz: 22rem;
        --card-text-fz: 18rem;
    }

    .blackText__cards {
        flex-direction: column;
    }

    .blackText._price .blackText__card a.green_link {
        width: auto;
        align-self: flex-start;
    }
}

@media (max-width:768px) {
    .blackText._price {
        --section-pad: 30rem;
        --big-text-fz: 22rem;

        --content-gap: 20rem;

        --cards-gap: 15rem;
        --card-pad: 15rem 20rem;
        --card-gap: 15rem;
        --card-descr-gap: 10rem;
        --card-title-fz: 20rem;
        --card-text-fz: 16rem;
        --card-text-gap: 5rem;
        --price-fz: 20rem;
        --price-unit-fz: 16rem;
        --price-gap: 10rem;
    }
}

@media (max-width:560px) {
    .blackText._price {
        --section-pad: 20rem 20rem 30rem;
        --title-mb: 15rem;

        --content-gap: 30rem;

        --card-pad: 15rem;
        --card-gap: 20rem;
        --card-title-fz: 18rem;
    }

    .blackText._price .blackText__card a.green_link {
        width: 100%;
        align-self: stretch;
    }
}

@media (min-width: 1201px) {
    .blackText__cards {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--cards-gap);
    }

    .blackText__card {
        flex: none;
        width: 100%;
    }
}
/* End */


/* Start:/include/motion/motion.css?17915624937941*/
/* Общие анимации страниц aspro.imagemark.ru · v1.1 · 09.10.2026
   Исходник: Страницы/22_Общие_анимации/ (README там же). Тайминги — по правкам дизайнера на dev /seo/ 08.10.2026.
   Подключение: в <head> (Asset::addCss), вместе с motion.js. Включается атрибутом data-motion на обёртке страницы:
   <div class="seoPage" data-motion>. Без JS всё видно сразу: прячет только motion.js и только то, что ниже первого экрана.
   Тайминги — переменные ниже; страница может переопределить любую у своей обёртки. */
:root{
 --m-ease:cubic-bezier(0.23,1,0.32,1);      /* основная кривая: быстрый старт, мягкая остановка */
 --m-ease-wave:cubic-bezier(0.4,0,0.2,1);   /* «волна» тегов и табов (Material ease-in-out) */
 --m-hero-dur:1.2s;--m-hero-shift:16rem;--m-hero-step:160ms;
 --m-reveal-dur:1s;--m-reveal-shift:40rem;
 --m-wave-dur:.8s;--m-wave-step:.15s;       /* теги, кнопки-табы */
 --m-facts-dur:.8s;--m-facts-step:.5s;      /* фактоиды (крупные цифры) по очереди */
 --m-tab-dur:.75s;--m-tab-shift:40rem;      /* смена карточки по клику на таб */
 --m-press:.97;--m-press-dur:.16s;
 --m-art-dur:1.65s;--m-art-delay:.25s
}
@keyframes mIn{from{opacity:0;transform:translateY(var(--m-hero-shift))}}
@keyframes mFade{from{opacity:0}}
@keyframes mArtIn{from{opacity:0;translate:0 40rem;scale:.94}}

/* 1. Первый экран при загрузке: крошки, заголовок, текст, кнопка поднимаются по очереди.
   Сдвиг шаблона (transition: padding у .firstSection) выключен, иначе заголовок едет дважды.
   data-motion="own-hero" — у страницы свой первый экран (главная: motion_head.html), здесь он не анимируется. */
[data-motion] .firstSection{transition:none}
/* v1.1, 09.10.2026: у .firstSection в шаблоне height:100%. Пока герой лежал прямо в main, это ничего не значило;
   внутри обёртки data-motion он растягивался на высоту всей страницы, футер вставал поверх секций */
[data-motion]>.firstSection{height:auto}
[data-motion]:not([data-motion~="own-hero"]) .firstSection .breadcrumbs,[data-motion]:not([data-motion~="own-hero"]) .firstSection__title,[data-motion]:not([data-motion~="own-hero"]) .firstSection__text,
[data-motion]:not([data-motion~="own-hero"]) .firstSection .green_link,[data-motion] [data-motion-hero]{animation:mIn var(--m-hero-dur) var(--m-ease) backwards}
[data-motion]:not([data-motion~="own-hero"]) .firstSection__text{animation-delay:var(--m-hero-step)}
[data-motion]:not([data-motion~="own-hero"]) .firstSection .green_link{animation-delay:calc(var(--m-hero-step) * 2)}

/* 2. Секции ниже первого экрана проявляются при прокрутке, один раз. Секция с подложкой (._grey) едет целиком,
   у остальных — только .container, фон стоит. Класс _m-anim на обёртке и data-m-reveal ставит motion.js. */
[data-motion]._m-anim [data-m-reveal]{transition:opacity var(--m-reveal-dur) var(--m-ease),transform var(--m-reveal-dur) var(--m-ease)}
[data-motion]._m-anim [data-m-reveal]:not(._in){opacity:0;transform:translateY(var(--m-reveal-shift))}

/* 3. Пункты внутри секции проявляются по очереди, когда секция вошла в экран.
   data-motion-items (или ="wave") — теги и кнопки-табы, волна; data-motion-items="facts" — фактоиды.
   Номер пункта (--m-i) ставит motion.js. Кнопки табов (.tabsBtns__wrapper) — волной без разметки. */
[data-motion]._m-anim [data-m-reveal]:not(._in) [data-motion-items]>*{opacity:0}
[data-motion]._m-anim [data-m-reveal]._in [data-motion-items]>*{animation:mFade var(--m-wave-dur) var(--m-ease-wave) both;animation-delay:calc(var(--m-i,0) * var(--m-wave-step))}
[data-motion]._m-anim [data-m-reveal]._in [data-motion-items="facts"]>*{animation-duration:var(--m-facts-dur);animation-timing-function:var(--m-ease);animation-delay:calc(var(--m-i,0) * var(--m-facts-step))}

/* 4. Табы портфолио: новая карточка проявляется и поднимается */
[data-motion] .tabs__item{transition:opacity var(--m-tab-dur) var(--m-ease),transform var(--m-tab-dur) var(--m-ease)}
@starting-style{[data-motion] .tabs__item{opacity:0;transform:translateY(var(--m-tab-shift))}}

/* 5. Нажатие кнопок и табов — лёгкое сжатие. data-motion-press — для других кнопок страницы */
[data-motion] .tabsBtns button{transition:background-color .2s ease,color .2s ease,transform var(--m-press-dur) var(--m-ease)}
[data-motion] a.green_link{transition:background-color .2s ease-in-out,transform var(--m-press-dur) var(--m-ease)}
[data-motion] [data-motion-press]{transition:color .2s ease,background-color .2s ease,box-shadow .2s ease,transform var(--m-press-dur) var(--m-ease)}
[data-motion] .tabsBtns button:active,[data-motion] a.green_link:active,[data-motion] [data-motion-press]:active{transform:scale(var(--m-press))}

/* 6. FAQ на details/summary раскрывается по высоте там, где браузер умеет, в остальных — сразу */
[data-motion]{interpolate-size:allow-keywords}
[data-motion] details.accordionItem::details-content{height:0;overflow:clip;transition:height .25s var(--m-ease),content-visibility .25s allow-discrete}
[data-motion] details.accordionItem[open]::details-content{height:auto}

/* 7. Картинка первого экрана по слоям: обёртка data-motion-art, предмет — data-depth="16" (сдвиг за мышью, px),
   внутри него data-motion-float — проявляется. Раскладка предметов и их парение — в стилях страницы. */
[data-motion-art]._wait img{opacity:0}
[data-motion-art]._go [data-motion-float]{animation:mArtIn var(--m-art-dur) var(--m-ease) var(--m-art-delay) backwards}
[data-motion-art]._paused,[data-motion-art]._paused *{animation-play-state:paused}

@media (prefers-reduced-motion:reduce){
 [data-motion]:not([data-motion~="own-hero"]) .firstSection .breadcrumbs,[data-motion]:not([data-motion~="own-hero"]) .firstSection__title,[data-motion]:not([data-motion~="own-hero"]) .firstSection__text,
 [data-motion]:not([data-motion~="own-hero"]) .firstSection .green_link,[data-motion] [data-motion-hero]{animation:mFade .3s ease backwards}
 [data-motion]._m-anim [data-m-reveal]{transition:opacity .3s ease}
 [data-motion]._m-anim [data-m-reveal]:not(._in){transform:none}
 [data-motion]._m-anim [data-m-reveal]._in [data-motion-items]>*,
 [data-motion]._m-anim [data-m-reveal]._in [data-motion-items="facts"]>*{animation:mFade .3s ease both;animation-delay:0s}
 [data-motion] .tabs__item{transition:opacity .2s ease}
 @starting-style{[data-motion] .tabs__item{transform:none}}
 [data-motion] .tabsBtns button:active,[data-motion] a.green_link:active,[data-motion] [data-motion-press]:active{transform:none}
 [data-motion] details.accordionItem::details-content{transition:none}
 [data-motion-art]._go [data-motion-float]{animation:mFade .4s ease backwards}
}
@media print{
 [data-motion]._m-anim [data-m-reveal]:not(._in),[data-motion]._m-anim [data-m-reveal]:not(._in) [data-motion-items]>*{opacity:1;transform:none}
}

/* End */
/* /local/templates/aspro/assets/css/components/ksu/new_ksu/ksu_detail.css?17915624444538 */
/* /local/templates/aspro/assets/css/components/ksu/new_ksu/tab_slider.css?17893960759754 */
/* /local/templates/aspro/assets/css/components/ksu/new_ksu/black_text.css?17915624447570 */
/* /include/motion/motion.css?17915624937941 */
