
/* ==== hero2 BACKGROUND ==== */

.hero2 {
    background: linear-gradient(90deg, #0b6efd 0%, #074196 100%);
    padding: 80px 0 0px;
    color: #fff;
    position: relative;
    overflow: hidden;
}

@media (max-width: 1024px) {
    .hero2 {
        padding: 36px 0 0px;
    }
}

.hero2__decor1{
    position: absolute;
    z-index: 0;
    left: 0%;
    top: 0%;
}

.hero2__decor2{
    position: absolute;
    z-index: 0;
    right: 0%;
    top: 0%;
}

.hero2__decor3{ 
    position: absolute;
    z-index: 0;
    left: 37%;
    top: -8%;
}

.hero2__decor4{ 
    display: none;
}

@media (max-width: 1024px) {
.hero2__decor1{
    display: none;
}

.hero2__decor2{
    display: none;
}

.hero2__decor3{ 
    display: none;
}

.hero2__decor4{ 
    display: block;
    position: absolute;
    z-index: 0;
    right: 0%;
    bottom: 10%;
}
}

/* ==== CONTAINER ==== */

.hero2__content {
    display: flex;
    justify-content: space-between;    
    /*align-items: flex-end;*/
}

@media (max-width: 1024px) {
    .hero2__content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap: 28px;
    }
}

/* ==== LEFT SIDE ==== */

.hero2__left {
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 80px;
}


@media (max-width: 1024px) {
    .hero2__left {
        max-width: 560px;
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
}

.hero2__logo {
    width: 185px;
    margin-bottom: 25px;
}

.hero2__title {
    font: 700 50px/1.1 'Proxima Nova'Bold;
    margin-bottom: 20px;
}

.hero2__subtitle {
    font-weight: 700;
    font-size: 32px;
    line-height: 110%;
    color: #FFFFFF;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero2__subtitle {
        font-size: 24px;
        line-height: 110%;
    }
}

.hero2__lower {
    display: flex;
    margin-top: 54px;
    justify-content: center;
    height: 67px;
    width: 100%;
    background: linear-gradient(90deg, #0853bf 0%, rgb(0 0 0 / 0%) 100%);

    align-items: center;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero2__lower {
        display: none;
    }
}

.hero2__menu {
    display: flex;
    gap: 32px;
    z-index: 1;
}

.hero2__menu a {
    font: 400 20px 'Proxima Nova';
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

.hero2__menu a:hover {
    opacity: 1;
}

/* ==== RIGHT SIDE CARD ==== */

/*.hero2__right {
    flex: 0 0 380px;
}*/

@media (max-width: 567px) {
    .hero2__right {
        flex: 0 0 0px;
    }
}

.hero2-card{
    position: relative;
}
.hero2-card img,
.hero3-card img{
    position: relative;
    z-index: 1;
}

/* Оранжевый стикер «Цены прошлого года» поверх монитора */
.hero2-sticker{
    position: absolute;
    top: -13%;
    left: -36%;
    z-index: 0;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    background: #fb7a47;
    color: #2f3441;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    pointer-events: none;
}
.hero2-sticker__t1{
    text-align: center;
    font-size: 30px;
    line-height: 28px;
    font-weight: 800;
    margin-bottom: 16px;
    max-width: 150px;
    letter-spacing: -.01em;
}
.hero2-sticker__t2{
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 150px;
}
.hero2-sticker__accent{
    font-size: 26px;
    line-height: 26px;
    font-weight: 800;
    letter-spacing: -.01em;
}
.hero2-sticker__sub{
    font-size: 15px;
    line-height: 16px;
    font-weight: 500;
    margin-top: 4px;
}
@media (max-width: 1200px){
    .hero2-sticker{
        transform: scale(.8);
        transform-origin: top left;
        left: -100px;
    }
}

.hero3__right,.hero2__right {
    position: relative;
    padding-top: 0;
}


.man_dl{
    font-size: 14px;
    line-height: 1em;
    font-weight: 600;
    color: #e5f2ff;
    width: 100%;
    max-width: 256px;
    text-align: right;
    position: absolute;
    bottom: 5px;
    left: 24px;
}
@media (max-width:1024px) {
.man_dl {
    max-width: 160px;
        font-size: 1.5vw;
        text-align: left;

}
}
@media (max-width:700px) {
.man_dl {
        font-size: 12px;
    bottom: 10px;
    left:0;
}
}
@media (max-width:400px) {
.man_dl {
        bottom: 11px;
}
}

.hero2-card-mob {
    display: none;
}

@media (max-width: 567px) {
    .hero2-card,
    .hero3-card {
        position: relative;
        max-width: 80%;
        margin: 40px auto;
        padding-left: 70px;
    }
    .hero2-sticker {
        left: -50px;
        top: -60px;
    }
}

@media (max-width: 479px) {
    .hero2-card,
    .hero3-card {
        max-width: 100%;
        padding-left: 30px;
        padding-top: 40px;
    }
    .hero2-sticker {
        left: -20px;
        top: -100px;
    }
}


.main_img_mob {
        display: none;
    }
@media (max-width: 567px) {
    .main_img_desc {
        display: none;
    }
    .main_img_mob {
        display: block;
    }
}










.hero3 {
    background: linear-gradient(90deg, #0b6efd 0%, #074196 100%);
    padding: 80px 0 0px;
    color: #fff;
    position: relative;
}

@media (max-width: 1024px) {
    .hero3 {
        padding: 36px 0 0px;
    }
}

.hero3__decor1{
    position: absolute;
    z-index: 0;
    left: 0%;
    top: 0%;
}

.hero3__decor2{
    position: absolute;
    z-index: 0;
    right: 0%;
    top: 0%;
}

.hero3__decor3{ 
    position: absolute;
    z-index: 0;
    left: 37%;
    top: -8%;
}

.hero3__decor4{ 
    display: none;
}

@media (max-width: 1024px) {
.hero3__decor1{
    display: none;
}

.hero3__decor2{
    display: none;
}

.hero3__decor3{ 
    display: none;
}

.hero3__decor4{ 
    display: block;
    position: absolute;
    z-index: 0;
    right: 0%;
    bottom: 10%;
}
}

/* ==== CONTAINER ==== */

.hero3__content {
    display: flex;
    justify-content: space-between;   
    align-items: flex-start;
}

@media (max-width: 1024px) {
    .hero3__content {
        display: flex;
        justify-content: space-between;
        align-items: center;
        flex-direction: column;
        gap: 28px;
    }
}

/* ==== LEFT SIDE ==== */

.hero3__left {
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}


@media (max-width: 1024px) {
    .hero3__left {
        max-width: 560px;
        display: flex;
        flex-direction: column;
        gap: 28px;
    }
}


.hero3__title {
    margin-bottom: 0;
}

.hero3__title {
    font-weight: 700;
    font-size: 54px;
    line-height: 100%;
    color: #FFFFFF;
    position:relative;
    z-index:1;
}
.hero3__subtitle {
    color: #FFFFFF;
    font-size: 24px;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero3__subtitle {
        font-size: 24px;
        line-height: 110%;
    }
}

.hero3__lower {
    display: flex;
    margin-top: 54px;
    justify-content: center;
    height: 67px;
    width: 100%;
    background: linear-gradient(90deg, #0853bf 0%, rgb(0 0 0 / 0%) 100%);

    align-items: center;
    position:relative;
    z-index:1;
}

@media (max-width: 567px) {
    .hero3__lower {
        display: none;
    }
.hero3__title {
    font-size:32px;
    line-height: 100%;
}
    .hero3__left {
        gap: 18px;
    }
    .tarif_biblioteka_hiden{display:none!important;}
    .tarif_biblioteka{width:100%;}
}
.hero3__menu {
    display: flex;
    gap: 32px;
    z-index: 1;
}

.hero3__menu a {
    font: 400 20px 'Proxima Nova';
    color: #fff;
    text-decoration: none;
    opacity: 0.9;
}

.hero3__menu a:hover {
    opacity: 1;
}

/* ==== RIGHT SIDE CARD ==== */

/*.hero3__right {
    flex: 0 0 380px;
}*/

@media (max-width: 567px) {
    .hero3__right {
        flex: 0 0 0px;
    }
}

.hero3-card{
    position: relative;
}


.hero3-card-mob {
    display: none;
}

@media (max-width: 567px) {
/*    .hero3-card {
        display: none;
    }

    .hero3-card-mob {
        padding-bottom: 35px;

        display: block;
    }*/
}

/* ============================================
   Промо-баннер «−50%, осенний листоценопад, только в октябре» — в первом экране (hero2)
   и в секции тарифов (hero3)
   Подложка: images/promo_oct.jpg (широкая) и promo_oct_portrait.jpg (портретная)
   Типографика внутри масштабируется от ширины баннера (cqw)
   ============================================ */
/* колонки должны уметь сжиматься: иначе широкий баннер не помещается
   в строку и вылезает за .container */
.hero2__left, .hero3__left,
.hero2__right, .hero3__right { min-width: 0; }
.hero2__right .promo,
.hero3__right .promo {
    position: relative;
    z-index: 1;
    width: 500px;
    max-width: 100%;
    aspect-ratio: 1.22 / 1;
    container-type: inline-size;
    border-radius: 14px;
    overflow: hidden;
    background: #EAF2FB;
    box-shadow: 0 22px 46px -20px rgba(3, 24, 60, .45);
}
/* подложка собрана ровно под пропорцию карточки, поэтому cover ничего не режет */
.hero2__right .promo::before,
.hero3__right .promo::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: url(../images/20102026ito2.png) center / cover no-repeat;
}
.promo__inner {
    position: relative;
    z-index: 2;
    height: 100%;
    padding: 5cqw 4.6cqw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--text-color);
    line-height: 1.15;
    gap: 4px;
}

/* «Только в октябре» */
.promo__kicker {
    display: block;
    font-family: 'BebasNeue', "Proxima Nova", sans-serif;
    font-size: 5cqw;
    font-weight: 400;
    line-height: 1;
    letter-spacing: .04em;
    /* у BebasNeue нет жирного начертания, синтетический bold рвёт штрихи —
       плотность добираем обводкой в цвет текста */
    -webkit-text-stroke: .05em currentColor;
    text-transform: uppercase;
    color: #0B4FC5;
}
/* «−50%» */
.promo__sale {
    display: block;
    margin: 1cqw 0 2cqw;
    font-family: 'BebasNeue', "Proxima Nova", sans-serif;
    font-size: 20cqw;
    font-weight: 400;
    line-height: .9;
    letter-spacing: .01em;
    -webkit-text-stroke: .03em currentColor;
    color: #E02A22;
}

/* «Осенний листоценопад» */
/* селектор с .hero2/.hero3 — глобальный `p` в style.css задаёт большой margin-bottom */
.hero2__right .promo .promo__claim,
.hero3__right .promo .promo__claim {
    margin: 0;
    font-family: 'BebasNeue', "Proxima Nova", sans-serif;
    font-size: 6.6cqw;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: .02em;
    -webkit-text-stroke: .05em currentColor;
    text-transform: uppercase;
}
.promo__claim_blue { color: #0B4FC5; }
.promo__claim_red { color: #E02A22; }
.promo__claim span { display: block; }
/* «листо» — перечёркнутое, как в сообщении заказчика */
.promo__claim s {
    color: #0B4FC5;
    text-decoration: line-through;
    text-decoration-color: #E02A22;
    text-decoration-thickness: .09em;
}

/* кнопка — один в один с CTA формы (.main_form_sec .btn_std):
   16px/600, паддинги 20x40, без скругления и без капса, поэтому в px, а не в cqw */
.promo__btn {
    position: relative;
    overflow: hidden;
    align-self: center;
    flex: none;
    margin-top: 3.4cqw;
    padding: 20px 40px;
    border-radius: 0;
    background: #F1361D;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    line-height: .8em;
    letter-spacing: -.02em;
    text-decoration: none;
    transition: all 0.3s;
}
.promo__btn:hover { background: #fe5a45; color: #fff; }

/* хиро схлопывается в колонку — карточка по центру.
   До 1200 баннер в строке слишком узкий для широкого формата — портретный вид */
@media (max-width: 1200px) {
    .hero2__right, .hero3__right { padding-top: 0; }
    .hero2__right .promo,
    .hero3__right .promo {
        width: 400px;
        margin: 0 auto;
        aspect-ratio: 1 / 1.14;
    }
    /* на узком экране карточка портретная — под неё собрана отдельная подложка */
    .hero2__right .promo::before,
    .hero3__right .promo::before { background-image: url(../images/20102026itopor2.png); }
    .promo__inner { padding: 7cqw 6cqw; }
    .promo__kicker { font-size: 6.8cqw; }
    .promo__sale { font-size: 26cqw; margin: 2cqw 0 3cqw; }
    .hero2__right .promo .promo__claim,
    .hero3__right .promo .promo__claim { font-size: 8.6cqw; }
    .promo__btn { margin-top: 6cqw; }
}
/* .hero2__right / .hero3__right на этой ширине схлопнуты в flex: 0 0 0 — возвращаем ширину */
@media (max-width: 567px) {
    .hero2__right, .hero3__right { flex: 0 1 auto; width: 100%; }
    .hero2__right .promo,
    .hero3__right .promo { width: 340px; aspect-ratio: 1 / 1.22; }
    /* карточка ужимается до ширины контейнера — кнопка с паддингами формы упиралась в края */
    .promo__btn { padding: 16px 28px; font-size: 15px; }
    /* меню hero2__lower на этой ширине скрыто — без него карточка упирается в низ хиро */
    .hero2 { padding-bottom: 40px; }
}
