html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    vertical-align: baseline;
}


@font-face {
    font-family: 'Helvetica';
    src: url('../assets/fonts/Helvetica/Helvetica CE Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica';
    src: url('../assets/fonts/Helvetica/Helvetica CE Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica';
    src: url('../assets/fonts/Helvetica/Helvetica LT 35 Thin.ttf') format('truetype');
    font-weight: 100 300;
    font-style: normal;
    font-display: swap;
}

.mainHeader{
    position: relative;
    max-width: 1280px;
    margin: 0 auto;
}





.mainTextMob{
    display: none;
}
.headerBloksTextMob{
    display: none;
}

.mainTextBloks{
    display: flex;
    flex-direction: column;
    gap: 79px;
    padding-top: 190px;
}
.mainTextBloksTitle{
    font-family: "Helvetica",sans-serif;
    font-size: 32px;
    line-height: 20px;
    font-weight: 700;
    color: rgba(255, 255, 255, 1);
}
.mainTextBloksAbout {
    font-family: "Helvetica", sans-serif;
    font-weight: 700;
    color: rgba(255, 255, 255, 1);
    font-size: 55px;
    line-height: 53px;
    transition: font-size 0.3s ease, line-height 0.3s ease;
}


.hamburger-btn {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: 30px;
    height: 22px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
    position: relative;
}

.hamburger-line {
    display: block;
    width: 100%;
    height: 2px;
    background: #000000;
    border-radius: 3px;
    transition: all 0.3s ease;
    transform-origin: center;
}

/* Анимация бургера в крестик */
.hamburger-btn.active .hamburger-line:nth-child(1) {
    transform: translateY(9.5px) rotate(45deg);
}

.hamburger-btn.active .hamburger-line:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}

.hamburger-btn.active .hamburger-line:nth-child(3) {
    transform: translateY(-9.5px) rotate(-45deg);
}

/* Мобильная навигация */
.mobile-nav {
    position: fixed;
    top: 0;
    right: -200%;
    width: 100%;
    max-width: 400px;
    height: 100vh;
    background: #ffffff;
    z-index: 1000;
    transition: right 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: -10px 0 30px rgba(0, 0, 0, 0.1);
    overflow-y: auto;
    padding: 80px 30px 30px;
}

.mobile-nav.open {
    right: 0;
}

.mobile-nav-inner {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
}

.mobile-nav-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.mobile-nav-list li a {
    display: block;
    padding: 16px 20px;
    font-family: 'Helvetica', sans-serif;
    font-size: 24px;
    font-weight: 600;
    color: #143FFF;
    text-decoration: none;
    border-radius: 12px;
    transition: all 0.3s ease;
}

.mobile-nav-list li a:hover {
    background: #f0f4ff;
    transform: translateX(8px);
}

.mobile-nav-footer {
    padding: 20px 0;
    border-top: 1px solid #e5e7eb;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.mobile-nav-footer a {
    font-family: 'Helvetica', sans-serif;
    font-size: 18px;
    color: #1f2937;
    text-decoration: none;
    transition: color 0.3s ease;
}

.mobile-nav-footer a:hover {
    color: #143FFF;
}

/* Затемнение */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 999;
    opacity: 0;
    visibility: hidden;
    transition: all 0.4s ease;
}

.overlay.active {
    opacity: 1;
    visibility: visible;
}

/* ===== МОБИЛЬНАЯ ВЕРСИЯ ===== */
@media (max-width: 768px) {
    .hamburger-btn {
        display: flex; /* Показываем на мобилке */
    }

    /* Блокируем скролл при открытом меню */
    body.no-scroll {
        overflow: hidden;
    }
}






.btn{
    margin-bottom: 50px;
}
.mainBtn{
    width: 135px;
    height: 41px;
    background: rgba(0, 84, 206, 1);
    box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
    border: none;
    border-radius: 10px;
    cursor: pointer;
}
.mainBtnText {
    font-family: "Helvetica",sans-serif;
    font-size: 14px;
    line-height: 20px;
    font-weight: 700;
    color: rgba(255, 255, 255, 1);
}



.slider-container {
    position: relative;
    width: 100%;

    height: 480px;
}

.slider-track {
    display: flex;
    transition: transform 0.5s ease-in-out;
    height: 350px; /* Настройте под ваш контент */
}




.comunityMob{
    display: none;
}
.main {
    position: relative;
    max-width: 1290px;
    margin: 0 auto;
}

.headerBlockLogo {
    display: flex;
    align-items: center;
    gap: 10px;
}
.allCatigories{
    display: none;
}
.headerText {
    font-family: 'Helvetica', sans-serif;
    color: rgba(255, 255, 255, 1);
    font-weight: 600;
    font-size: 16px;
    line-height: 20px;
}
.headerBloksText{
    font-family: 'Helvetica', sans-serif;
    color: rgba(0, 62, 151, 1);
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    text-transform: uppercase;
    text-align: center;
}

.custom-select {
    position: relative;
    display: inline-block;
    color: #002147;
}
.eyeButton{
    border: none;
    background: #002147;
    padding: 10px;
    border-radius: 50%;
    cursor: pointer;
}
.eyeButton img{
    width: 16px;
    height: 10px;
}

.search{
    width: 16px;
    height: 16px;
}

.headerTextNav::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid currentColor;
    transition: transform 0.3s ease;
}
.nvt::after {
    content: '';
    position: absolute;
    right: 0;
    top: 25%;
    transform: translateY(-50%);
    width: 1px;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid currentColor;
    transition: transform 0.3s ease;
}
.nvt{
    margin-top: 20px;
}



.headerTextNav:hover::after {
    transform: translateY(-50%) rotate(180deg);
}
.custom-select select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: none;
    color: #002147;
    padding: clamp(3px, 0.5vw, 5px) clamp(10px, 1.5vw, 20px);
    font-size: 16px;
    cursor: pointer;
    outline: none;
    background: transparent;
}
.select{
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 30px;
}

.custom-select::after {
    content: '';
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid #002147;
    pointer-events: none;
}

.custom-select select::-ms-expand {
    display: none;
}

.custom-select select option {
    background: #00204F !important;
    color: white !important;
}

/* Для Webkit браузеров (Chrome, Safari) */
.custom-select select::-webkit-listbox {
    background: #00204F !important;
}

.custom-select select::-webkit-list-item {
    background: #00204F !important;
    color: white !important;
}

/* Для Firefox */
.custom-select select option {
    background: #00204F;
    color: white;
}


a {
    text-decoration: none;
    font-family: 'Helvetica', sans-serif;
    color: rgba(255, 255, 255, 1);
    font-weight: 400;
    font-size: 16px;
    line-height: 20px;
}
.headerBlocks{
    width: 220px;
    padding: 10px;
    background: rgba(255, 255, 255, 1);
    border:none;
    border-radius: 12px;
    margin-top:6rem;
}



.blockHeader {
    display: flex;
    align-items: center;
    flex-direction: row;
    padding:30px 0 0 0 ;
   justify-content: space-between;
    transition: background 0.5s ease-in-out;
}


.navHeader {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 25px;
}
.headerBlockNav{
    display: flex;
    align-items: center;
    flex-direction: row;
    gap: 160px;
}

.secondBgImg{
    background-image: url(assets/secondImgNav.png);
    padding: 11px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    display: inline-block;
}

.headerTextNav {
    color: #002147;
    font-family: "Helvetica", sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height:20px;
    position: relative;
    padding-right: 15px;
}

.hamburger {
    position: relative;
    width: 24px;
    height: 18px;
    cursor: pointer;
}


.hamburgerLine {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(215, 232, 255, 1);
    transform: translateY(-50%);
    transition: all 0.3s ease;
}

.hamburgerLine::before,
.hamburgerLine::after {
    content: '';
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background: rgba(215, 232, 255, 1);
    transition: all 0.3s ease;
}

.hamburgerLine::before {
    top: -6px;
}

.hamburgerLine::after {
    bottom: -6px;
}

/* Анимация хамбургера при открытии */
.hamburger.active .hamburgerLine {
    background: transparent;
}

.hamburger.active .hamburgerLine::before {
    top: 0;
    transform: rotate(45deg);
    background: #333;
}

.hamburger.active .hamburgerLine::after {
    bottom: 0;
    transform: rotate(-45deg);
    background: #333;
}

/* Мобильное меню */
.mobile-menu {
    position: fixed;
    top: 0;
    right: -120%;
    width: 20%;
    height: 39vh;
    background: #002B70;
    z-index: 1000;
    transition: right 0.4s ease;
    padding: 20px;
    box-shadow: -5px 0 15px rgba(0,0,0,0.1);
}

.mobile-menu.active {
    right: 0;
}

/* Шапка меню с кнопкой закрытия */
.menu-header {
    display: flex;
    justify-content: flex-end;
    padding: 20px 0;
    margin-bottom: 40px;
}

.close-menu {
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.3s ease;
}

.close-menu:hover {
    background: #f5f5f5;
}

.close-icon {
    position: relative;
    width: 20px;
    height: 20px;
}

.close-icon::before,
.close-icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2px;
    background: white;
    border-radius: 1px;
}

.close-icon::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.close-icon::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.mainTextMob{
    display: flex;
}
.headComunityTitelLink{
    align-items: center;
    display: flex;
    gap: 20px;
}
.mobile-nav {
    display: flex;
    flex-direction: column;
    gap: 15px;
    padding: 30px;
}
.hamburgerName{
    display: none;
}
.programSearc{
    display: none;
}

.hamburger-menu-btn{
    display: none;
}
.mobFutter{
    display: none;
}

.mobile-nav-link {
    font-family: 'Helvetica', sans-serif;
    font-size: 18px;
    font-weight: 500;
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
    transition: color 0.3s ease;
}
.logoTextMobile{
    display: none;
}
.mobile-nav-link:hover {
    color: #007bff;
}
.selectBlock{
    display: flex;
    flex-direction: row;
    gap: 30px;
}


/* Оверлей */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: rgba(0, 0, 0, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    z-index: 999;
}
.imagesCardFree img{
    width: 343px;
    height: 280px;
}
.menu-overlay.active {
    opacity: 1;
    visibility: visible;
}

body.menu-open {
    overflow: hidden;
}

.mainSection {
    transition: background 0.5s ease-in-out;
    background: rgba(0, 32, 79, 1);
    padding-bottom: 10px;
}

.fullscreen-slider {
    width: 100%;
    height: 490px;
    background-size: cover;
}

.imgHero{
    position: absolute;
    top: 0;
    z-index: -1;
    width: 100%;
    height: 490px;
}
.slide-bg::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(img/heroBg.png);
    background-size: cover;
}
/* Контент слайда */
.slide-content {
    position: relative;
    margin: 0 auto;
    max-width: 1280px;
    height: 100%;
    display: flex;
    align-items: center;
}


/*HERO*/

.hero{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding-top: 30px;
    max-width: 1050px;
    margin: 0 auto;
}

/*LeftSideHero*/
.heroLeftSide{
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.heroLeftSideTitleText{
    color: #143FFF;
    font-family: 'Helvetica',  Arial, sans-serif;
    font-weight: 300;
    font-size: 30px;
}
.heroLeftSideTitleText span{
    font-size: 40px;
    text-transform: uppercase;
    font-weight: 700;
}

.heroLeftSideDiscriptionText{
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    font-size: 20px;
    color: #002147;
}

.heroLeftSideButtons{
    display: flex;
    flex-direction: row;
    gap: 25px;
}

.heroLeftSideButtonsButtonBlue{
    background: #143FFF;
    width: 224px;
    height: 65px;
    color: #fff;
    border-radius: 30px;
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    cursor: pointer;

    font-size: 20px;
    font-family: 'Helvetica',  Arial, sans-serif;
    font-weight: 700;

}
.heroLeftSideButtonsButtonBlue img{
    padding: 8px;
    border-radius: 50%;
    background: #fff;
}

.heroLeftSideButtonsButtonWhite{
    background: #ffffff;
    width: 286px;
    height: 65px;
    color: #143FFF;
    border-radius: 30px;
    border: 1px solid #143FFF;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    cursor: pointer;

    font-size: 20px;
    font-family: 'Helvetica',  Arial, sans-serif;
    font-weight: 700;
}

.heroLeftSideButtonsButtonWhite img{
    padding: 8px;
    border-radius: 50%;
    background: #224BFF;
}

/*Hero Right Side*/
.heroRightSide{
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.heroRightSideBlock{
    display: flex;
    flex-direction: row;
    justify-content: space-around;

    width: 316px;
    height: 53px;
    background: #F2F2F2;
    border-radius: 30px;
    align-items: center;
    text-align: center;
}
.heroRightSideBlockTitel{
    color: #143FFF;
    font-family: 'Helvetica',  Arial, sans-serif;
    font-weight: 700;
    font-size: 35px;
}
.heroRightSideBlockDescription{
    color: #002147;
    font-family: 'Helvetica',  Arial, sans-serif;
    font-weight: 400;
    font-size: 14px;
    text-align: start;
}


/*Under block hero*/
.blocksUnderHero{
    padding:47px 0;
}

.underBlocks{
    display: flex;
    flex-direction: row;
    gap: 25px;
}

.underBlock{
    display: flex;
    flex-direction: row;
    align-items: center;
    cursor: pointer;
    border: none;
    gap: 20px;
    background: #143FFF;
    border-radius: 30px;
    padding: 20px 40px 20px 40px;
}

.underBlockTitle{
    font-family: 'Helvetica',  Arial, sans-serif;
    font-weight: bold;
    font-size: 20px;
    text-align: start;
    color: #ffffff;
}

.underBlocksImg{
    background: #ffffff;
    padding: 5px;
    border-radius: 50%;
}

/*Slider*/


/* Убираем все отступы у родительских блоков */
.slider,
.slide,
.slide-content {
    padding: 0;
    margin: 0;
    width: 100%;
    z-index: 100;
    padding-bottom: 50px;
}


.slide {
    background: linear-gradient(135deg, #d500f9 0%, #2979ff 100%);
    height: 420px; /* высота слайда */
    display: flex;
    align-items: start;
    padding: 0;
    overflow: hidden;
    position: relative; /* Для позиционирования картинки */

}

.slide-content {
    width: 100%;
    padding: 70px 0 0 0;
    display: flex;
    flex-direction: column;
}

/* Дата — синяя полоса от левого края */
.slide-date {
    color: #ffffff;
    font-family: 'Helvetica', 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 55px;
    background: #143FFF;
    display: block;
    width: 100%;
    padding: 10px 20px;
    margin-left: calc(-63vw + 25%);
    padding-left: 40px;
    text-align: end;
    box-sizing: border-box;
    letter-spacing: 2px;
    border-radius: 30px;
}

/* Заголовок */
.slide-title {
    color: #ffffff;
    font-family: 'Helvetica', 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 55px;
    text-align: left;
    padding-left: 40px;

    line-height: 1.2;
}

/* Кнопка + текст */
.slide-button {
    text-align: left;
    padding-left: 40px;
    margin-top: 30px;
    display: flex;
    align-items: center;
}

.slide-button a {
    display: flex;
    color: #ffffff;
    font-family: 'Helvetica', 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
   text-align: center;
    align-items: center;
    gap: 20px;
    background: #143FFF;
    padding:6px 30px;
    border-radius: 10px;
    border: 2px solid #ffffff;
    transition: all 0.3s ease;
    margin-right: 15px;
}



.slide-button span {
    color: #ffffff;
    font-family: 'Helvetica', 'Montserrat', sans-serif;
    font-size: 16px;
    opacity: 0.8;
}

.slide-img {
    position: absolute;
    z-index: 1;
    right: -6.5%; /* Сдвигаем вправо, чтобы часть картинки была видна */
    top: 60%;
    transform: translateY(-50%); /* Вертикальное центрирование */
}

/* Скрываем неактивные слайды */
.slide {
    display: none;
}

.slide.active {
    display: flex;
}

/* Точки */
.dots {
    position: absolute;
    bottom: 16%;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 100;
}

.dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.4);
    border: none;
    cursor: pointer;
    transition: 0.3s;
    padding: 0;
}

.dot.active {
    background: #ffffff;
    transform: scale(1.2);
}

/* Чтобы точки были поверх слайдера */
.slider {
    position: relative;
}

/*COMUNITY*/

.communityBlocksHeader{
    display: flex;
    flex-direction: row;
    justify-content: space-between;

}

.communityBlocksHeaderText{
    color: #143FFF;
    font-family: 'Helvetica',sans-serif;
    font-weight: bold;
    font-size: 50px;
    line-height: 50px;

}

.communityBlock{
    display: flex;
    flex-direction: row;
    gap: 32px;
    padding: 10px 30px;
    background: #1640FF;
    border-radius: 30px;
    align-items: center;
}

.mainComunityBlock{
    display: flex;
    flex-direction: row;
    gap: 40px;
    justify-content: space-between;
    margin: 0 40px;
    padding-top: 40px;
    align-items: center;
}

.communityBlockFirst p {
    font-family: 'Helvetica', sans-serif;
    font-weight: bold;
    color: #313131;
    font-size: 14px;
    opacity: 60%;
}

.communityBlockSecond{
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-items: start;
}
.communityBlockSecond p {
    font-family: 'Helvetica', sans-serif;
    font-weight: 300;
    color: #002147;
    font-size: 25px;
}
.foterComunity{
    display: flex;
    flex-direction: row;
    gap: 100px;
}
.foterComunity h2{
    font-family: 'Helvetica', sans-serif;
    color: #002147;
    font-size: 28px;
    font-weight: 500;
}
.foterComunity h3{
    font-family: 'Helvetica', sans-serif;
    color: #002147;
    font-size: 16px;
    font-weight: 400;
}


/*News*/

/* ===== ВАШИ ИСХОДНЫЕ СТИЛИ ===== */
.news-block {
    margin: 0 auto;
    background: #F2F2F2;
    border-radius: 60px;
    padding: 32px 40px 40px;
}

/* Tabs */
.news {
    padding-top: 67px;
}

.tabs {
    display: flex;
    justify-content: space-between;
    padding-bottom: 35px;
    padding-top: 35px;
}

.tabs a {
    text-decoration: none;
    font-family: 'Helvetica', sans-serif;
    font-weight: 700;
    font-size: 48px;
    color: #4063FC;
    opacity: 0.9;
}

.tabs a.active {
    color: #143FFF;
    font-family: 'Helvetica', sans-serif;
    font-weight: 700;
    font-size: 48px;
}

/* Grid */
.news-grid {
    display: grid;
    grid-template-columns: 1.55fr 1fr 1fr;
    gap: 16px;
    padding-top: 30px;
}

.card {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    color: inherit;
}

.thumb {
    position: relative;
    width: 100%;
    border-radius: 12px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
}

.main-card .thumb {
    aspect-ratio: 340 / 250;
}

.side-card .thumb {
    aspect-ratio: 340 / 200;
}

.thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.date-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    background: rgba(20, 20, 20, 0.55);
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 10px;
    border-radius: 20px;
    backdrop-filter: blur(2px);
}

.tag {
    display: inline-block;
    margin-top: 12px;
    color: #4063FC;
    font-size: 24px;
    font-weight: 600;
    background: #ffffff;
    padding: 10px 52px;
    border-radius: 20px;
    font-family: 'Helvetica', Arial, sans-serif;
    width: fit-content;
}

.main-card h2 {
    margin-top: 14px;
    font-size: 36px;
    line-height: 1.35;
    /* В исходном макете указан 500, но в локальном наборе Helvetica нет Medium.
       Regular слегка утолщаем, чтобы получить визуально тот же промежуточный вес,
       не переходя на слишком тяжёлый Bold 700. */
    font-weight: 400;
    color: #000000;
    font-family: 'Helvetica', sans-serif;
    letter-spacing: -0.012em;
    -webkit-text-stroke: 0.28px currentColor;
    text-rendering: optimizeLegibility;
}

.side-card p {
    margin-top: 10px;
    font-size: 26px;
    line-height: 1.05;
    color: #000000;
    font-weight: 400;
    font-family: 'Helvetica', sans-serif;
    letter-spacing: -0.008em;
    -webkit-text-stroke: 0.20px currentColor;
    text-rendering: optimizeLegibility;
}

.side-row {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.side-columns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.all-news {
    text-align: right;
    margin-top: 22px;

}

.all-news a {
    color: #4063FC;
    font-weight: 600;
    font-family: 'Helvetica', sans-serif;
    font-size: 24px;
    text-decoration: underline;
}

.main-card .overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 0.66);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.4s ease;
    border-radius: 12px;
}

.main-card:hover .overlay {
    opacity: 1;
    visibility: visible;
}

.overlay-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
    max-width: 90%;

}

.overlay-content p {
    color: #ffffff;
    font-size: 18px;
    line-height: 1.6;
    font-weight: 400;
    margin: 0;
    font-family: 'Helvetica', Arial, sans-serif;
}

.overlay-content .btn-details {
    display: inline-block;
    background: #ffffff;
    color: #143FFF;
    font-weight: 700;
    font-size: 18px;
    padding: 14px 32px;
    border-radius: 40px;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    border: none;
    cursor: pointer;
    font-family: 'Helvetica', Arial, sans-serif;
}

.overlay-content .btn-details:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.25);
}


.arrow-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 0.62);
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.3s ease;
    border-radius: 12px;
}

.side-card:hover .arrow-overlay {
    opacity: 1;
}

.arrow-icon {
    color: #ffffff;
    font-size: 20px;
    font-weight: 300;
    background: #224BFF;
    padding: 20px;
    display: flex;
    align-items: center;
    border-radius: 100%;
    transform: translateX(-10px);
    transition: transform 0.3s ease;
    font-family: 'Helvetica', Arial, sans-serif;

}

.side-card:hover .arrow-icon {
    transform: translateX(5px);
}

/* ===== АДАПТИВНОСТЬ (ВАША) ===== */
@media (max-width: 640px) {
    .news-grid {
        grid-template-columns: 1fr;
    }
    .side-columns {
        grid-template-columns: 1fr 1fr;
    }
    .tabs {
        gap: 20px;
        flex-wrap: wrap;
    }
}

/* ===== ДОПОЛНИТЕЛЬНАЯ АДАПТИВНОСТЬ ===== */
@media (max-width: 1024px) {
    .news-grid {
        grid-template-columns: 1fr 1fr;
    }
    .main-card {
        grid-column: span 2;
    }
}

@media (max-width: 640px) {
    .main-card {
        grid-column: span 1;
        padding-bottom: 10px;
    }
    .tabs a {
        font-size: 32px;
    }
    .side-card p {
        font-size: 20px;
    }
    .news-block {
        padding: 20px;
        border-radius: 30px;
    }
    .overlay-content p {
        font-size: 14px;
    }
    .overlay-content .btn-details {
        font-size: 14px;
        padding: 10px 20px;
    }
    .arrow-icon {
        font-size: 40px;
    }

    .card{
        padding: 10px 0;
    }
}


/*Line*/

.line {
    padding: 80px 0 80px 0;
}

.marquee {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    background: #ffffff;
    border-radius: 20px;
    padding: 28px 0;
}

/* fade edges */
.marquee::before,
.marquee::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 60px;
    z-index: 2;
    pointer-events: none;
}



.marquee-track {
    display: flex;
    width: max-content;
    animation: scroll 22s linear infinite;
}

/* JS wraps each logical copy in .marquee-set. Keep every set horizontal;
   otherwise the cloned statistics stack vertically on narrow screens. */
.marquee-set {
    display: flex;
    flex: 0 0 auto;
    align-items: flex-start;
}

.marquee:hover .marquee-track {
    animation-play-state: paused;
}

.stat-group {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 10px;
    white-space: nowrap;
    padding: 0 40px;
}

.stat-number {
    color: #143FFF;
    font-size: 48px;
    font-weight: 700;
    line-height: 1;
}

.stat-label {
    color: #16181d;
    font-size: 24px;
    font-weight: 500;
    white-space: nowrap;
    font-family: 'Helvetica', sans-serif;
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .marquee-track {
        animation: none;
    }
}

.learning{
    background: #F2F2F2;
    padding: 50px;
    border-radius: 60px;
}

.learningBlock{
    display: flex;
    flex-direction: row;
    justify-content: space-between;

}

.learningBlockFirst{
    background: #143FFF;
    border-radius: 30px;
    padding: 110px 16px 80px 40px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.learningBlockFirst h2 {
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    font-size: 64px;
    color: #ffffff;
    line-height: 64px;
}
.learningBlockFirst p {
    font-family: 'Helvetica', sans-serif;
    font-weight: 300;
    color: #ffffff;
    font-size: 36px;
    line-height: 36px;
}
.learningBlockFirst a {
    color: #ffffff;
    text-decoration: none;
    background: #DC36EF;
    border: none;
    border-radius: 30px;
    display: flex;
    width: 224px;
    height: 65px;
    align-items: center;
    justify-content: center;
    font-family: 'Helvetica' , sans-serif;
    font-weight: 700;
    gap: 20px;
}
.learningBlockFirst a img{
    background: #ffffff;
    padding: 6px;
    border-radius: 50%;
}

/*WHY */

.why{
    padding-top: 50px;
}

.why h2{
    font-family: 'Helvetica', sans-serif;
    font-weight: 700;
    color: #143FFF;
    font-size: 64px;
    text-align: center;
    background: #F2F2F2;
    border-radius: 30px;
    margin-bottom: 35px;
}

.whyBlocks {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 9px;
}

.whyBlocks-wrapper {
    position: relative;
}

/* Контролы слайдера - по умолчанию скрыты на десктопе */


.slider-btn {
    background:transparent;
}

.slider-btn:hover {
}

.slider-btn:active {
    transform: scale(0.95);
}

.slider-dots {
    display: flex;
    gap: 8px;
}

.slider-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: none;
    background: #d1d5db;
    cursor: pointer;
    transition: all 0.3s ease;
    padding: 0;
}

.slider-dot.active {
    background: #143FFF;
    width: 24px;
    border-radius: 5px;
}

.slider-dot:hover {
    background: #4063FC;
}

.whyBlock {
    background: #143FFF;
    padding: 40px;
    display: flex;
    flex-direction: column;
    gap: 55px;
    width: 170px;
    height: 200px;
    border-radius: 30px;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

/* Белый фон, который заполняется от курсора */
.whyBlock .fill-bg {
    position: absolute;
    border-radius: 50%;
    background: #ffffff;
    transform: translate(-50%, -50%) scale(0);
    pointer-events: none;
    z-index: 1;
}

/* Анимация заполнения */
@keyframes fillRipple {
    0% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0;
    }
    30% {
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(4);
        opacity: 1;
    }
}

.whyBlock p,
.whyBlockTitel {
    position: relative;
    z-index: 2;
    transition: color 0.4s ease;
}

.whyBlock p {
    font-family: 'Helvetica', sans-serif;
    font-weight: bold;
    color: #ffffff;
    font-size: 24px;
    margin: 0;
}

.whyBlockTitel {
    font-family: 'Helvetica', sans-serif;
    font-weight: 300;
    color: #ffffff;
    font-size: 16px;
    line-height: 120%;
    margin: 0;
}

/* При наведении текст становится синим */
.whyBlock.hovered p,
.whyBlock.hovered .whyBlockTitel {
    color: #143FFF;
}


.whyBlock:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 40px rgba(20, 63, 255, 0.2);
}

/*GOSYSLYGI*/
.gosResyrs{
    padding-top: 100px;
}

.gosResyrs h2{
    font-family: 'Helvetica', sans-serif;
    font-weight:700;
    color: #143FFF;
    font-size: 28px;
    padding-bottom: 120px;
}
.gosResyrsBlock{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
align-items: center;
    max-width: 1053px;
    margin: 0 auto;
}



/*Partner*/
.partner {
    padding-top: 150px;
}

.partner h2 {
    font-family: 'Helvetica', sans-serif;
    font-weight: bold;
    color: #143FFF;
    font-size: 28px;
    padding-bottom: 90px;
}

.partnerBlock {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

/* ===== ЛОГОТИП С ЭФФЕКТОМ ПРИ НАВЕДЕНИИ ===== */
.partner-logo {
    position: relative;
    width: 180px;
    height: 70px;
    cursor: pointer;
    flex-shrink: 0;
}

.partner-logo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: opacity 0.4s ease;
}

/* Черно-белая версия (видна по умолчанию) */
.partner-logo .logo-gray {
    opacity: 1;
}

/* Цветная версия (скрыта по умолчанию) */
.partner-logo .logo-color {
    opacity: 0;
}

/* При наведении меняем местами */
.partner-logo:hover .logo-gray {
    opacity: 0;
}

.partner-logo:hover .logo-color {
    opacity: 1;
}

/* ===== ДЛЯ БОЛЕЕ ПЛАВНОГО ЭФФЕКТА ===== */
.partner-logo .logo-gray {
    opacity: 1;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.partner-logo .logo-color {
    opacity: 0;
    transition: opacity 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.partner-logo:hover .logo-gray {
    opacity: 0;
}

.partner-logo:hover .logo-color {
    opacity: 1;
}

/* ===== ДОПОЛНИТЕЛЬНЫЙ ЭФФЕКТ УВЕЛИЧЕНИЯ ===== */
.partner-logo:hover {
    transform: scale(1.05);
    transition: transform 0.3s ease;
}

.gosResyrs-wrapper,
.partner-wrapper {
    position: relative;
}

.slider-controls {
    display: none;
    justify-content: end;
    align-items: end;
    gap: 40px;
    margin-top: 30px;
    padding: 0 50px 0 0;
}

.slider-btn {
    background: transparent;
    border: none;
}





/*COntact*/
.contact{
    background: #F2F2F2;
    border-radius: 60px;
    padding:60px 0;
    margin-top: 100px;
}
.contacts-block {
    margin: 0 auto;

    border-radius: 20px;
}

.contacts-block h1 {
    color: #143FFF;
    font-size: 28px;
    font-weight: 700;
    font-family: 'Helvetica',sans-serif;
    margin-bottom: 24px;
}

.row {
    display: grid;
    grid-template-columns: 1.15fr 1fr 1fr 1.15fr;
    gap: 60px;
    padding: 22px 0;
    border-top: 2px solid #9D9D9D;
}

.row:first-of-type {
    border-top: none;
}

.row:last-of-type {
    border-bottom: 2px solid #9D9D9D;
}

.col-title {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #1E1E1E;
    font-family: 'Helvetica', sans-serif;
    margin-bottom: 8px;
}

.col p {
    font-size: 16px;
    line-height: 1.3;
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    color: #1E1E1E;
}

.col a {
    color: #003E97;
    text-decoration: none;
    display: block;
    font-size: 18px;
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    line-height: 1.6;
}
.col a:hover { text-decoration: underline; }

.label {
    font-size: 20px;
    color: #1E1E1E66;
    margin-bottom: 4px;
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
}

.schedule-line {
    display: flex;
    align-items: baseline;
    font-size: 13.5px;
    color: #16181d;
    line-height: 1.7;
    white-space: nowrap;
}
.schedule-day {
    flex: 0 0 auto;
    font-family: 'Helvetica', sans-serif;
    font-size: 20px;
    color: #1E1E1E66;
    font-weight: 400;
}
.schedule-dots {
    flex: 1 1 auto;
    border-bottom: 1px dotted #c7cbd1;
    margin: 0 6px 4px;
    min-width: 10px;
}
.schedule-time {
    flex: 0 0 auto;
    font-family: "Helvetica", sans-serif;
    font-size: 20px;
    color: #1E1E1E;
}

.note {
    font-size: 10px;
    color: #1E1E1E;
    margin-top: 2px;
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
}


.mobile-accordion {
    display: none; /* Скрыт на десктопе */
    border-bottom: 1px solid #e5e7eb;
}

.mobile-accordion:last-child {
    border-bottom: none;
}

.accordion-header {
    cursor: pointer;
    padding: 20px 0;
    user-select: none;
    transition: background-color 0.3s ease;
}

.accordion-header:hover {
    background-color: #f8f9fa;
}

.accordion-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.accordion-title .col-title {
    margin-bottom: 0;
    font-size: 20px;
}

.accordion-icon {
    font-size: 28px;
    font-weight: 300;
    color: #143FFF;
    transition: transform 0.3s ease;
    display: inline-block;
    flex-shrink: 0;
}

.mobile-accordion.active .accordion-icon {
    transform: rotate(45deg);
}

.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1), padding 0.3s ease;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.mobile-accordion.active .accordion-content {
    max-height: 2000px;
    padding: 0 0 20px 0;
}

.accordion-content .col {
    gap: 4px;
}

.accordion-content .col p {
    font-size: 14px;
}

.accordion-content .col a {
    font-size: 14px;
}



@media (max-width: 800px) {
    .row {
        grid-template-columns: 1fr 1fr;
        row-gap: 16px;
    }
}
@media (max-width: 520px) {
    .row { grid-template-columns: 1fr; }
}

/*Qustion*/
.question{
    padding-top: 90px;
}

.questionBlock{
    background: #143FFF;
    border-radius: 60px;
    padding: 10px 60px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.questionBlock h2{
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-size: 44px;
}

.questionBlock a{
    background: #ffffff;
    color: #143FFF;
    font-family: 'Helvetica', sans-serif;
    font-size: 32px;
    text-decoration: none;
    text-align: center;
    display: flex;
    align-items: center;
    padding: 0 20px;
    border-radius: 30px;
    font-weight: 700;
}

.questionBlock img {
    padding: 20px;
    background: #ffffff;
    width: 36px;
    height: 52px;
    border-radius: 50%;
    margin: auto 0;
}
.blockQustions{
    display: flex;
    flex-direction: row;
    gap: 35px;
}

/*Version*/
.version{
    padding-top:50px;
}
.versionBlock{
    background: #F2F2F2;
    border-radius: 60px;
    padding: 10px 60px;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
}

.versionBlock h2{
    font-family: 'Helvetica', sans-serif;
    color: #143FFF;
    font-size: 44px;
    font-weight: 400;
}

.versionBlock a{
    background: #143FFF;
    color: #ffffff;
    font-family: 'Helvetica', sans-serif;
    font-size: 32px;
    text-decoration: none;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 20px;
    border-radius: 30px;
    font-weight: 400;
    width: 320px;
}

.versionBlock img {
    padding: 20px;
    background: #143FFF;
    width: 36px;
    height: 52px;
    border-radius: 50%;
    margin: auto 0;
}
.blockVersion{
    display: flex;
    flex-direction: row;
    gap: 35px;
}

/*footer*/

footer{
    background: #143FFF;
    border-radius: 30px 30px 0 0;
    margin-top: 40px;
    padding-top: 70px;
}

.mainBlockFooter{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

.mainFooterBlock{
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
}
.footerLogo{
    display: flex;
    flex-direction: row;
    gap: 30px;
    align-items: center;
}

.footerLogo h2{
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-size: 32px;
}

.footerBlockAdress{
    display: flex;
    flex-direction: column;
    gap: 24px;
}
.footerBlockAdress h2{
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-weight: 700;
    font-size: 26px;
}

.footerBlockAdress h3{
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #ffffff;
}
.footerBlockAdress p{
    font-family: 'Helvetica', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #ffffff;
}
.footerBlockAdress h4{
    font-family: 'Helvetica', sans-serif;
    font-weight: 700;
    font-size: 14px;
    color: #ffffff;
}

.footerBlockSochials{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 100px;
}

.sochialsFirst{
    display: flex;
    flex-direction: column;
    gap: 17px;
}

.sochialsFirst a {
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
}
.sochialsFirst h2{
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
}
.sochialsFirst span{
    font-family: 'Helvetica', sans-serif;
    font-weight: 700;
    font-size: 16px;
    color: #ffffff;
}

.sochialsSecond{
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.sochialsSecond a {
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
}

.mainUnderFooter{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-top: 30px;
    padding-bottom: 30px;
}

.footerLinks{
    display: flex;
    flex-direction: row;
    gap: 20px;
}

.mainUnderFooter h2{
    font-family: 'Helvetica', sans-serif;
    color: #ffffff;
    font-size: 14px;
    font-weight: 300;
    opacity: 0.6;
}
.footerAbout{
    display: flex;
    align-items: end;
}

@media (min-width: 769px) {
    .accordion-item {
        display: none;
    }

    .row {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 70px;
        padding: 30px 0;
        border-bottom: 1px solid #e5e7eb;
    }

    .row:last-child {
        border-bottom: none;
    }
}



@media (max-width: 1200px) {
    .headerBlockNav{
        display: none;
    }
    .hamburger-btn{
        display: flex;
    }
    .communityBlockThirdImg{
        display: none;
    }

    .learningBlock{
        flex-direction: column;
    }
    .blockHeader{
        padding: 0 20px;
        margin-top: 20px;
    }
    .hero{
        padding: 0 20px;
    }
    .underBlocks{
        padding: 0 20px;
        flex-wrap: wrap;
    }
    .communityBlocksHeader{
        padding: 0 20px;
    }
    .tabs{
        flex-wrap: wrap;
        gap: 20px;
    }
    .gosResyrs h2{
        padding: 0 20px;
        margin-bottom: 120px;
    }
    .gosResyrsBlock{
        padding: 0 20px;
    }
    .partner h2{
        padding: 0 20px;
        margin-bottom: 120px;
    }
    .partnerBlock{
        padding: 0 20px;
    }
    .contacts-block{
        padding: 0 20px;
    }
    .whyBlocks{
        padding: 0 20px;
    }
    .questionBlock{
        margin: 0 20px;
    }
    .slide-img{
        width: 50%;
    }
    .versionBlock{
        margin: 0 20px;
    }
    .communityBlock{
        justify-content: space-around;
    }
    .questionBlock h2{
        font-size: 30px;
    }
    .versionBlock h2{
        font-size: 30px;
    }
    .questionBlock a{
        font-size: 20px;
    }
    .versionBlock a{
        font-size: 20px;
        width: 238px;
        padding: 0;
    }
    .questionBlock img{
        width: 20px;
        height: 20px;
    }
    .versionBlock img{
        width: 20px;
        height: 20px;
    }
    .mainBlockFooter{
        padding: 0 20px;
    }
    .mainUnderFooter{
        margin-left: 20px;
    }
    .mainComunityBlock{
        flex-direction: column;
    }
    .communityBlocksHeader{
        flex-direction: column;
    }
}

@media (max-width: 768px) {

    .gosResyrs h2,
    .partner h2 {
        font-size: 32px;
    }

    .gosResyrs-wrapper {
        overflow: hidden;
        position: relative;
    }

    .gosResyrsBlock {
        display: flex;
        flex-wrap: nowrap;
        gap: 100px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        padding: 4px 16px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

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

    .gosResyrsBlock img {

        scroll-snap-align: center;
    }

    .contacts-block{
        padding: 0 20px;
    }

    /* Партнеры */
    .partner-wrapper {
        overflow: hidden;
        position: relative;
    }

    .partnerBlock {
        display: flex;
        flex-wrap: nowrap;
        gap: 20px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        padding: 4px 16px;
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

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

    .partnerBlock img {
        flex: 0 0 55%;
        min-width: 130px;
        height: 60px;
        scroll-snap-align: center;
    }

    /* Показываем контролы на мобилке */
    .slider-controls {
        display: flex;
    }


    .whyBlocks-wrapper {
        overflow: hidden;
        position: relative;
        padding: 0 0 10px 0;
    }

    .whyBlocks {
        display: flex;
        flex-wrap: nowrap;
        gap: 16px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scroll-behavior: smooth;
        padding: 4px 16px;
        /* Скрываем скроллбар */
        scrollbar-width: none;
        -ms-overflow-style: none;
    }

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

    .whyBlock {

        min-width: 200px;
    }

    .whyBlock p {
        font-size: 20px;
    }

    .whyBlockTitel {
        font-size: 14px;
    }

    /* Показываем контролы на мобилке */
    .slider-controls {
        display: flex;
    }


    .contacts-block h1 {
        font-size: 32px;
        text-align: center;
    }

    /* Скрываем обычные строки на мобилке */
    .row {
        display: none;
    }

    /* Показываем аккордеон */
    .accordion-item {
        display: block;
    }

    .accordion-content .row {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
        padding: 10px 0 0 0;
        border-bottom: none;
    }

    .accordion-content .row .col {
        gap: 4px;
    }

    .accordion-content .row .col p {
        font-size: 14px;
    }

    .accordion-content .row .col a {
        font-size: 14px;
    }

    .accordion-title .col-title {
        font-size: 18px;
    }

    .accordion-icon {
        font-size: 24px;
    }

    .schedule-day {
        font-size: 14px;
        min-width: 40px;
    }

    .schedule-time {
        font-size: 14px;
    }

}



@media (max-width: 600px) {

    .hero{
        flex-direction: column;
        padding: 0 20px;
    }

    .navHeader{
        display: none;
    }
    .blockHeader{
        justify-content: space-between;
        padding-bottom: 20px;
    }
    .headerBlockNav{
        display: none;
    }
    .heroLeftSideTitleText{
        font-size: 20px;
    }
    .heroLeftSide{
        gap: 10px;
    }

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

    .heroLeftSide span{
        font-size: 25px;
    }

    .select{
        display: none;
    }

    .heroLeftSideDiscriptionText{
        font-size: 10px;
    }
    .heroLeftSideButtonsButtonBlue{
        width: 115px;
        height: 33px;
        font-size: 13px;
    }
    .heroLeftSideButtonsButtonBlue img{
        padding: 2px;
        height: 15px;
    }

    .partner{
        padding-top: 50px;
    }

    .heroLeftSideButtonsButtonWhite{
        width: 155px;
        height: 33px;
        font-size: 13px;
    }
    .heroLeftSideButtonsButtonWhite img{
        padding: 3px;
        height: 15px;
    }

    .heroRightSide{
        position: absolute;
        right: 10px;
        bottom: -80px;
    }

    .heroRightSideBlockDescription{
        font-size: 12px;
    }
    .heroRightSideBlockDescription img{
        width: 19px;
        height: 19px;
    }

    .heroRightSideBlockTitel{
        font-size: 20px;
    }
    .heroRightSideBlock{
        width: 225px;
        height: 34px;
        padding: 4px;

    }

    .underBlocks{
        flex-wrap: wrap;
    }
.underBlock{
    margin: 0 auto;
    width: 342px;
    height: 73px;
    justify-content: space-between;
    padding: 0 30px;
}
.underBlockTitle{
    font-size: 14px;
    font-weight: 700;
}



    .slide-content{
        padding: 40% 0 0 0 ;
        align-items: start;

    }
    .slide-button{
        flex-direction: column;
        justify-content: start;
        padding-left: 20px;
        margin-top: 15%;
    }
    .slide-button a{
        font-size: 12px;
    }
    .slide-button img{
        width: 20px;
    }
    .slide-button span{
        font-size: 12px;
        line-height: 100%;
    }
    .dots{
        display: none;
    }

.slide-date{
    font-size: 25px;
}
.slide-title{
    font-size: 20px;
    margin-top: 0;
}
.slide-img{
    width: 130%;
    right: -60%;
}
.communityBlocksHeader{
    flex-direction: column;
    padding: 0;
}
.communityBlocksHeader img {
    width: 80%;
}



.community{
    padding: 0 20px;
}
.communityBlocksHeaderText{
    font-size: 22px;
    line-height: 25px;
}
.communityBlock{
    gap: 10px;
    margin-top: 20px;
}

.mainComunityBlock{
    flex-direction: column;
}
.communityBlockThirdImg{
    display: none;
}
    .communityBlockSecond p{
        font-size: 16px;
    }

    .communityBlockFirstImg{
        margin: 12px 14px 19px 25px;
        width: 351px;
    }
    .communityBlockFirst p{
        padding: 0 20px;
    }

    .gosResyrs{
        padding-top: 50px;
    }

    .foterComunity img{
        width: 20px;
        height: 16px;
    }
    .communityBlockSecondImg{
        width: 20px;
        height: 16px;
    }

    .mainComunityBlock{
        margin: 0;
    }

    .foterComunity h2{
        font-size: 20px;
    }

    .foterComunity h3{
        font-size: 14px;
    }

    .tabs{
        flex-direction: column;
    }

    .tabs a{
        font-size: 22px;

    }
    .tabs a.active{
        font-size: 22px;
        color: #143FFF;
    }

    .tag{
        display: none;
    }
    .main-card h2 {
        font-size: 18px;
        color: #000000;
        font-weight: 700;
    }

    .side-card p{
        font-size: 18px;
        color: #000000;
        font-weight: 700;
    }


    .side-row{
        gap: 0px;
    }
    .all-news{
        align-items: start;
        display: flex;
    }
    .all-news a{
        font-size: 16px;
    }
    .news-grid{
        grid-template-columns:1fr ;
        gap: 0px;
    }
    .stat-number{
        color: #143FFF;
        font-size: 22px;
    }
    .stat-label{
        color: #002147;
        font-size: 22px;
    }
    .stat-group{
        align-items: start;
    }

    .learningBlock{
        flex-direction: column;
    }
    .learningBlockFirst h2{
        font-size: 34px;
        line-height: 35px;
    }
    .learningBlockFirst p{
        font-size: 18px;
        line-height: 30px;
        padding-top: 20px;
    }
    .why h2{
        font-size: 22px;
        margin:  auto 30px;
        padding: 5px;
    }

    .learning{
        padding: 20px;
        padding-bottom: 21rem;
        margin-bottom: 50px;
    }
    .learningBlockFirst{
        padding: 20px 17px 76px 15px;
    }
    .learningBlockFirst a{
        margin-top: 50px;
        font-size: 20px;
    }
    .learningBlockImg{
        width: 80%;
        height: 83%;
        position: absolute;
        top: 87%;
        left: 10%;
    }

    .question{
        padding: 0 20px;
        margin-top: 50px;
    }

    .questionBlock h2{
        font-size: 14px;
    }
    .questionBlock a{
        font-size: 13px;
        width: 105px;
        padding: 0;
        justify-content: center;
    }

    .questionBlock img{
        width: 10px;
        height: 15px;
        padding: 10px;
    }

    .questionBlock{
        padding: 10px 15px;
        margin: 0 auto;
    }

.version{
    padding: 0 20px;
    margin-top: 40px;
}
    .versionBlock{
        padding: 10px 15px;
    }

    .versionBlock img{
        width: 10px;
        height: 15px;
        padding: 10px;
    }
    .versionBlock h2{
        font-size: 14px;
    }
    .versionBlock a{
        font-size: 13px;
        width: 105px;
        padding: 0;
    }

    .footerLogo h2{
        font-size: 20px;
    }

    .footerBlockAdress h2{
        font-size: 20px;
    }
    .footerBlockAdress h3{
        font-size: 16px;
    }
    .mainBlockFooter{
       padding: 0 40px;
    }
    .footerLogoImg{
        width: 30%;
    }
    .footerLogo{
        padding-bottom: 40px;
    }
    .footerBlockAdress{
        padding-bottom: 60px;
    }
    .footerBlockSochials{
        gap: 10px;
    }
    .sochialsSecond{
    gap: 20px;
    }
    .footerLinks{
        width: 70%;
        margin: 0 auto;
    }
    .footerLinks img{
        width: 90%;
        gap: 1px;
    }
    .footerAbout{
        align-items: center;
        justify-content: center;
        margin: 0 auto;
        padding-top: 40px;
    }
    .mainUnderFooter{
        margin-top: 80px;
    }

}

/* Для очень маленьких экранов */
@media (max-width: 480px) {

    .gosResyrs h2,
    .partner h2 {
        font-size: 26px;
    }

    .gosResyrsBlock img {
        width: 187px;
        height: 51px;
    }

    .partnerBlock img {
        flex: 0 0 65%;
        min-width: 100px;
        height: 50px;
    }

    .slider-btn {
        width: 36px;
        height: 36px;
    }

    .slider-btn svg {
        width: 18px;
        height: 18px;
    }

    .slider-dot {
        width: 8px;
        height: 8px;
    }

    .slider-dot.active {
        width: 20px;
    }



    .whyBlock p {
        font-size: 18px;
    }

    .whyBlockTitel {
        font-size: 16px;
    }

    .slider-btn {
        width: 36px;
        height: 36px;
    }

    .slider-btn svg {
        width: 18px;
        height: 18px;
    }

    .slider-dot {
        width: 8px;
        height: 8px;
    }

    .slider-dot.active {
        width: 20px;
    }


    .accordion-content .row {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .contacts-block h1 {
        font-size: 26px;
    }

    .accordion-title .col-title {
        font-size: 16px;
    }

    .accordion-icon {
        font-size: 20px;
    }

    .accordion-header {
        padding: 15px 0;
    }

    .accordion-content .row .col p {
        font-size: 13px;
    }

    .accordion-content .row .col a {
        font-size: 13px;
    }

    .schedule-day {
        font-size: 13px;
        min-width: 35px;
    }

    .schedule-time {
        font-size: 13px;
    }
}

@media (max-width: 400px) {
    .heroRightSide{
        right: 0;
    }
    .heroLeftSideButtonsButtonWhite{
        width: 117px;
    }

}

/* ==========================================================
   Bitrix integration overrides: only the new homepage
   ========================================================== */
body.sgu-home-2026 {
    margin: 0;
    background: #fff;
    color: #002147;
    font-family: 'Helvetica', Arial, sans-serif;
}
/* Do not force border-box globally: the supplied homepage layout was built
   with the browser's default content-box sizing. Several fixed-size cards
   and round arrow buttons rely on that sizing. */

body.sgu-home-2026 .fullscreen-slider {
    min-height: 650px;
    height: auto;
    overflow: visible;
}
body.sgu-home-2026 .fullscreen-slider .main-header {
    position: relative;
    inset: auto;
    background: transparent;
    z-index: 100;
}
body.sgu-home-2026 .fullscreen-slider .main-header.scrolled {
    background: rgba(255,255,255,.96);
}
body.sgu-home-2026 .headerBlockLogo img {
    width: 66px;
    height: 63px;
    object-fit: contain;
}
body.sgu-home-2026 .headerBlockNav {
    gap: clamp(24px, 5vw, 90px);
}
body.sgu-home-2026 .headerBlockNav .navHeader.menu-root {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
}
body.sgu-home-2026 .headerBlockNav .navbar-nav {
    display: flex;
    align-items: center;
    gap: clamp(18px, 2vw, 38px);
    list-style: none;
    margin: 0;
    padding: 0;
}
body.sgu-home-2026 .headerBlockNav .navbar-nav > li {
    position: relative;
}
body.sgu-home-2026 .headerTextNav {
    color: #002147;
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 14px;
    line-height: 1.2;
}
body.sgu-home-2026 .headerTextNav.dropdown-toggle::after {
    border-top-color: currentColor;
}
body.sgu-home-2026 .headerBlockNav .dropdown-menu {
    z-index: 1200;
}
body.sgu-home-2026 .eyeButton {
    background: #002147;
}
body.sgu-home-2026 .lang-selector select {
    color: #002147;
}
body.sgu-home-2026 .lang-selector::after {
    border-top-color: #002147;
}
body.sgu-home-2026 .menuHamburger > div:last-child {
    display: none;
}
body.sgu-home-2026 .menuHamburger {
    cursor: pointer;
}
body.sgu-home-2026 .hamburgerLine,
body.sgu-home-2026 .hamburgerLine::before,
body.sgu-home-2026 .hamburgerLine::after {
    background: #002147;
}

/* The Bitrix mobile menu is retained instead of the duplicate designer menu. */
body.sgu-home-2026 .mobile-menu {
    width: 100%;
    height: 100vh;
    background: #fff;
    padding: 0;
    z-index: 10001;
}
body.sgu-home-2026 .mobile-menu .menu-header {
    margin: 0;
    padding: 16px 20px;
}
body.sgu-home-2026 .menu-overlay { z-index: 10000; }

/* Bitrix admin panel must remain usable over the new design. */
body.sgu-home-2026 #panel { position: relative; z-index: 2147482000; }

/* Home Bitrix slider media */
body.sgu-home-2026 .sliders .slide-video {
    width: 50%;
    height: 100%;
    object-fit: cover;
    display: block;
}
body.sgu-home-2026 .sliders .slide[style] {
    background-color: var(--home-slide-bg, transparent);
}

/* News links are real links now; designer JS no longer blocks navigation. */
body.sgu-home-2026 .news .tabs a,
body.sgu-home-2026 .news .card,
body.sgu-home-2026 .all-news a { cursor: pointer; }

/* Make email/telephone links inherit section typography rather than global white link color. */
body.sgu-home-2026 .contact a,
body.sgu-home-2026 .question a,
body.sgu-home-2026 footer a { font-family: 'Helvetica', Arial, sans-serif; }

@media (max-width: 1220px) {
    body.sgu-home-2026 .headerBlockNav .navHeader.menu-root { display: none; }
    body.sgu-home-2026 .headerBlockNav { gap: 14px; }
    body.sgu-home-2026 .menuHamburger { display: flex; }
}

@media (max-width: 768px) {
    body.sgu-home-2026 .fullscreen-slider { min-height: 620px; }
    body.sgu-home-2026 .blockHeader { padding-left: 16px; padding-right: 16px; }
    body.sgu-home-2026 .sliders .slide-video { width: 100%; }
}

/* ==========================================================
   v2: hard isolation of the existing Bitrix mobile menu.
   On desktop it must never cover the new homepage hero.
   ========================================================== */
body.sgu-home-2026 .menuHamburger {
    display: none !important;
}

body.sgu-home-2026 .mobile-menu {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    left: auto !important;
    width: min(400px, 100vw) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    background: #fff !important;
    transform: translateX(110%) !important;
    transition: transform .3s ease !important;
    overflow: hidden !important;
    z-index: 10001 !important;
}

body.sgu-home-2026 .mobile-menu.active {
    transform: translateX(0) !important;
}

body.sgu-home-2026 .menu-overlay {
    display: none !important;
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100dvh !important;
    background: rgba(0, 0, 0, .5) !important;
    opacity: 0 !important;
    visibility: hidden !important;
    z-index: 10000 !important;
}

body.sgu-home-2026 .menu-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
}

@media (max-width: 1220px) {
    body.sgu-home-2026 .menuHamburger {
        display: flex !important;
    }

    body.sgu-home-2026 .mobile-menu {
        display: flex !important;
    }

    body.sgu-home-2026 .menu-overlay {
        display: block !important;
    }
}

/* ==========================================================
   v3: homepage hero background + safe space under overlay header
   The background image is shipped with the template and does NOT
   depend on /upload.
   ========================================================== */
body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
    position: relative;
    background-color: #eef7ff;
    background-image: url("img/heroBg.png");
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

/* On the original mockup the header sits over the hero image.
   Keep that behaviour intentionally, but reserve its height for content. */
body.sgu-home-2026 .fullscreen-slider--home .main-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: transparent;
}

body.sgu-home-2026 .fullscreen-slider--home > .main {
    position: relative;
    z-index: 2;
    padding-top: 96px;
}

body.sgu-home-2026 .fullscreen-slider--home .hero {
    position: relative;
    z-index: 2;
}

@media (max-width: 1220px) {
    body.sgu-home-2026 .fullscreen-slider--home > .main {
        padding-top: 92px;
    }
}

@media (max-width: 768px) {
    body.sgu-home-2026 .fullscreen-slider--home > .main {
        padding-top: 84px;
    }
}


/* ==========================================================
   v4: desktop proportions and legacy Bitrix banners
   ========================================================== */

/* Existing IBLOCK 3 images are predominantly ready-made panoramic banners.
   Keep them readable on large monitors instead of stretching the composition
   edge-to-edge across the viewport. */
body.sgu-home-2026 .sliders {
    width: 100%;
    padding: 0 20px;
}

body.sgu-home-2026 .home-bitrix-slider {
    width: 100%;
    max-width: 1400px;
    aspect-ratio: 1920 / 490;
    min-height: 320px;
    max-height: 420px;
    height: auto;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}

body.sgu-home-2026 .home-bitrix-slider > .slide {
    width: 100%;
    height: 100%;
    padding-bottom: 0;
}

body.sgu-home-2026 .home-bitrix-slider .slide-content {
    width: min(1280px, calc(100% - 80px));
    max-width: 1280px;
    height: 100%;
    margin: 0 auto;
    padding: 55px 0 0;
    position: relative;
    z-index: 5;
}

/* Wide images from the old homepage are complete banner compositions. */
body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-img,
body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-picture {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    transform: none;
    z-index: 1;
}

body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-picture {
    display: block;
}

body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-img {
    object-fit: cover;
    object-position: center center;
}

/* New-format, non-panoramic images keep the designer's right-side treatment. */
body.sgu-home-2026 .home-bitrix-slider .slide:not(.slide--legacy-banner) .slide-img {
    max-width: 62%;
    max-height: 118%;
    object-fit: contain;
}

body.sgu-home-2026 .home-bitrix-slider .slide-date {
    margin-left: -60px;
    width: fit-content;
    min-width: 360px;
    padding: 10px 30px 10px 60px;
    text-align: right;
}

body.sgu-home-2026 .home-bitrix-slider .slide-title,
body.sgu-home-2026 .home-bitrix-slider .slide-button {
    padding-left: 0;
    max-width: 620px;
}

body.sgu-home-2026 .home-bitrix-slider .dots {
    bottom: 18px;
}

body.sgu-home-2026 .home-slide-full-link {
    position: absolute;
    inset: 0;
    z-index: 3;
}

body.sgu-home-2026 .home-bitrix-slider .slide-content,
body.sgu-home-2026 .home-bitrix-slider .slide-button {
    pointer-events: none;
}
body.sgu-home-2026 .home-bitrix-slider .slide-button a {
    pointer-events: auto;
    position: relative;
    z-index: 6;
}

/* The original mock-up intentionally used content-box here: 170px content
   + 80px horizontal padding = 250px. Five cards then fill 1290px almost
   exactly. Our previous global border-box rule was what made them too narrow. */
body.sgu-home-2026 .whyBlock {
    box-sizing: content-box;
}

/* Tighten the oversized desktop whitespace between informational sections. */
body.sgu-home-2026 .gosResyrs {
    padding-top: 80px;
}
body.sgu-home-2026 .gosResyrs h2 {
    padding-bottom: 55px;
}
body.sgu-home-2026 .partner {
    padding-top: 95px;
}
body.sgu-home-2026 .partner h2 {
    padding-bottom: 55px;
}
body.sgu-home-2026 .contact {
    margin-top: 85px;
}
body.sgu-home-2026 .question {
    padding-top: 65px;
}

@media (max-width: 1220px) {
    body.sgu-home-2026 .home-bitrix-slider {
        min-height: 300px;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-content {
        width: calc(100% - 48px);
        padding-top: 42px;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-date {
        margin-left: -24px;
        padding-left: 24px;
    }
}

@media (max-width: 768px) {
    body.sgu-home-2026 .sliders {
        padding: 0;
    }
    body.sgu-home-2026 .home-bitrix-slider {
        aspect-ratio: auto;
        min-height: 390px;
        max-height: none;
        height: 390px;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-content {
        width: calc(100% - 40px);
        padding-top: 150px;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-date {
        min-width: 0;
        margin-left: -20px;
        padding-left: 20px;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-img {
        object-position: center center;
    }
}

/* ==========================================================
   v5: fixed desktop hero height + CTA arrow visibility
   ========================================================== */

/* The supplied homepage mock-up uses a fixed 490px first screen on desktop.
   Do not let the generic site .fullscreen-slider min-height stretch it on
   wide/high-resolution displays. */
@media (min-width: 1221px) {
    body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
        height: 490px !important;
        min-height: 490px !important;
        max-height: 490px !important;
        overflow: hidden !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home > .main {
        height: 100% !important;
        box-sizing: border-box !important;
        padding-top: 92px !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .hero {
        padding-top: 18px !important;
    }
}

/* The old global template uses border-box. The designer's arrow PNGs were
   sized as content-box elements with padding around them; with border-box the
   content area collapses and only the coloured/white oval remains visible. */
body.sgu-home-2026 .questionBlock img,
body.sgu-home-2026 .versionBlock img {
    box-sizing: content-box;
    width: 18px;
    height: 26px;
    padding: 13px 17px;
    object-fit: contain;
    object-position: center;
    flex: 0 0 auto;
    display: block;
}

body.sgu-home-2026 .questionBlock img {
    background: #fff;
}

body.sgu-home-2026 .versionBlock img {
    background: #143FFF;
}

/* ==========================================================
   v6: reproduce the supplied mock-up hero image behaviour
   ========================================================== */
/* The original HTML did not use background-size: cover here. It rendered
   heroBg.png as an absolutely positioned <img> with width:100% and
   height:490px, so the artwork was stretched to the exact hero rectangle.
   Reproduce that behaviour on desktop so the complete sailboat remains
   visible instead of being vertically cropped on wide displays. */
@media (min-width: 1221px) {
    body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
        background-size: 100% 490px !important;
        background-position: center top !important;
    }
}


/* ==========================================================
   v7: restore the original ripple hover for "Почему выбирают"
   ========================================================== */
@keyframes fillRippleReverse {
    0% {
        transform: translate(-50%, -50%) scale(4);
        opacity: 1;
    }
    70% {
        opacity: 1;
    }
    100% {
        transform: translate(-50%, -50%) scale(0);
        opacity: 0;
    }
}

/* Keep the expanding white circle behind the text and make sure legacy
   template transitions cannot override this animation. */
body.sgu-home-2026 .whyBlock .fill-bg {
    will-change: transform, opacity;
    transform-origin: center center;
}

/* On touch devices there is no useful cursor-origin hover effect. */
@media (hover: none) {
    body.sgu-home-2026 .whyBlock:hover {
        transform: none;
        box-shadow: none;
    }
}

/* ==========================================================
   v10: design feedback + quality pass + motion
   ========================================================== */

/* ---- Crisp CSS arrows: replace tiny raster arrow assets ---- */
body.sgu-home-2026 .ui-arrow-circle {
    --arrow-bg: #fff;
    --arrow-color: #143FFF;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--arrow-bg);
    color: var(--arrow-color);
    box-sizing: border-box;
    position: relative;
    z-index: 3;
    transition: background-color .35s ease, color .35s ease, transform .35s ease;
}
body.sgu-home-2026 .ui-arrow-circle::after {
    content: "";
    width: 8px;
    height: 8px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateX(-2px) rotate(45deg);
    border-radius: 1px;
}
body.sgu-home-2026 .ui-arrow-circle--white-blue { --arrow-bg: #fff; --arrow-color: #143FFF; }
body.sgu-home-2026 .ui-arrow-circle--blue-white { --arrow-bg: #143FFF; --arrow-color: #fff; }
body.sgu-home-2026 .ui-arrow-circle--white-pink { --arrow-bg: #fff; --arrow-color: #DC36EF; }
body.sgu-home-2026 .ui-arrow-circle--large {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
}
body.sgu-home-2026 .ui-arrow-circle--large::after {
    width: 11px;
    height: 11px;
    border-width: 3px 3px 0 0;
}

/* ---- Hero/header: HQ logo and full language label ---- */
body.sgu-home-2026 .headerBlockLogo img {
    width: 54px;
    height: 54px;
    object-fit: contain;
    display: block;
}
body.sgu-home-2026 .lang-selector,
body.sgu-home-2026 .lang-selector label {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    min-width: 56px;
    overflow: visible;
    white-space: nowrap;
}
body.sgu-home-2026 .lang-selector {
    margin-left: 0;
}
body.sgu-home-2026 .lang-selector select {
    width: auto;
    min-width: 56px;
    max-width: none;
    height: 28px;
    padding: 0 20px 0 4px;
    overflow: visible;
    color: #002147;
    font-size: 14px;
    line-height: 28px;
}
body.sgu-home-2026 .lang-selector::after {
    right: 5px;
    border-top-color: #002147;
}
body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
    gap: 16px;
}

/* ---- Memo cards: same smooth white fill as “Почему выбирают” ---- */
body.sgu-home-2026 .underBlock {
    position: relative;
    overflow: hidden;
    isolation: isolate;
    transition: transform .3s ease, box-shadow .3s ease;
}
body.sgu-home-2026 .underBlock .hover-fill {
    position: absolute;
    z-index: 1;
    border-radius: 50%;
    background: #fff;
    transform: translate(-50%, -50%) scale(0);
    pointer-events: none;
    will-change: transform, opacity;
}
body.sgu-home-2026 .underBlockTitle,
body.sgu-home-2026 .underBlock .ui-arrow-circle {
    position: relative;
    z-index: 2;
    transition: color .4s ease, background-color .4s ease;
}
body.sgu-home-2026 .underBlock.hovered .underBlockTitle {
    color: #143FFF;
}
body.sgu-home-2026 .underBlock.hovered .ui-arrow-circle {
    --arrow-bg: #143FFF;
    --arrow-color: #fff;
}
body.sgu-home-2026 .underBlock:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 34px rgba(20,63,255,.16);
}

/* ---- Main Bitrix banner: larger and never crop ready-made compositions ---- */
body.sgu-home-2026 .sliders {
    padding-left: 20px;
    padding-right: 20px;
}
body.sgu-home-2026 .home-bitrix-slider {
    width: 100%;
    max-width: 1600px;
    height: 420px;
    min-height: 0;
    max-height: none;
    aspect-ratio: auto;
    margin-left: auto;
    margin-right: auto;
    transition: height .35s cubic-bezier(.4,0,.2,1);
}
body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-picture,
body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-img {
    width: 100%;
    height: 100%;
}
body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-img {
    object-fit: contain !important;
    object-position: center center !important;
}
body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner {
    align-items: center;
    justify-content: center;
}

/* ---- News typography requested in feedback ---- */
body.sgu-home-2026 .main-card h2 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 34px;
    line-height: 1.16;
    font-weight: 700;
    letter-spacing: -0.018em;
    -webkit-text-stroke: 0;
}
body.sgu-home-2026 .side-card p {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 20px;
    line-height: 1.16;
    font-weight: 400;
    letter-spacing: -0.006em;
    -webkit-text-stroke: 0;
}

/* ---- Stats: absolutely no inherited frame/border ---- */
body.sgu-home-2026 section.line,
body.sgu-home-2026 section.line .marquee,
body.sgu-home-2026 section.line .marquee-track {
    border: 0;
    outline: 0;
    box-shadow: none;
}

/* ---- Supplied raster art: keep it below its intended CSS size ---- */
body.sgu-home-2026 .communityBlockThirdImg {
    width: 237px;
    max-width: 100%;
    height: auto;
    object-fit: contain;
}
body.sgu-home-2026 .learningBlockImg {
    width: min(45%, 578px);
    max-width: 578px;
    height: auto;
    object-fit: contain;
    align-self: center;
}
body.sgu-home-2026 .learningBlockFirst a {
    gap: 16px;
}

/* ---- Government resources: fixed size, grayscale -> color fill ---- */
body.sgu-home-2026 .gosResyrsBlock {
    align-items: center;
}
body.sgu-home-2026 .resource-logo {
    --reveal-x: 50%;
    --reveal-y: 50%;
    position: relative;
    display: block;
    width: 210px;
    height: 90px;
    flex: 0 0 210px;
    overflow: hidden;
    border-radius: 16px;
    background: #fff;
}
body.sgu-home-2026 .resource-logo-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    box-sizing: border-box;
}
body.sgu-home-2026 .resource-logo .logo-gray {
    filter: grayscale(1);
    opacity: .56;
}
body.sgu-home-2026 .resource-logo .logo-color {
    z-index: 2;
    clip-path: circle(0 at var(--reveal-x) var(--reveal-y));
    transition: clip-path .72s cubic-bezier(.4,0,.2,1);
}
body.sgu-home-2026 .resource-logo.hovered .logo-color {
    clip-path: circle(160% at var(--reveal-x) var(--reveal-y));
}

/* ---- Partners: one HQ artwork for both states, so the logo never jumps ---- */
body.sgu-home-2026 .partner-logo {
    --reveal-x: 50%;
    --reveal-y: 50%;
    width: 180px;
    height: 82px;
    flex: 0 0 180px;
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    transform: none;
    transition: none;
}
body.sgu-home-2026 .partner-logo:hover {
    transform: none;
}
body.sgu-home-2026 .partner-logo .partner-logo-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 9px;
    box-sizing: border-box;
    transform: none;
}
body.sgu-home-2026 .partner-logo .logo-gray {
    filter: grayscale(1);
    opacity: .48;
}
body.sgu-home-2026 .partner-logo .logo-color {
    opacity: 1;
    z-index: 2;
    clip-path: circle(0 at var(--reveal-x) var(--reveal-y));
    transition: clip-path .72s cubic-bezier(.4,0,.2,1);
}
body.sgu-home-2026 .partner-logo.hovered .logo-color {
    clip-path: circle(160% at var(--reveal-x) var(--reveal-y));
}

/* ---- Bottom CTAs: one typography system + vector arrows ---- */
body.sgu-home-2026 .questionBlock h2,
body.sgu-home-2026 .versionBlock h2 {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 44px;
    line-height: 1.15;
    font-weight: 400;
}
body.sgu-home-2026 .questionBlock h2 b {
    font-weight: 700;
}
body.sgu-home-2026 .questionBlock a,
body.sgu-home-2026 .versionBlock a {
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 32px;
    line-height: 1.1;
    font-weight: 700;
}
body.sgu-home-2026 .blockQustions,
body.sgu-home-2026 .blockVersion {
    align-items: center;
}

/* ---- Footer quality / phone / copyright ---- */
body.sgu-home-2026 footer .footerLogoImg {
    width: 118px;
    height: 112px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}
body.sgu-home-2026 footer .footerLogoDivider {
    display: block;
    width: 2px;
    height: 107px;
    flex: 0 0 2px;
    background: rgba(255,255,255,.9);
}
body.sgu-home-2026 footer .footer-phone {
    color: #fff;
    opacity: 1;
    visibility: visible;
    background: none;
    -webkit-text-fill-color: #fff;
}
body.sgu-home-2026 footer .footerAbout h2 {
    opacity: 1;
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    white-space: nowrap;
    transform: none;
    filter: none;
    text-rendering: geometricPrecision;
}
body.sgu-home-2026 footer .copyright-sign {
    display: inline;
    font-family: Arial, sans-serif;
    font-weight: 400;
    font-size: 1em;
    vertical-align: baseline;
}

/* ---- Scroll reveal: subtle, one-time, staggered via --reveal-delay ---- */
body.sgu-home-2026 .home-reveal {
    opacity: 0;
    translate: 0 34px;
    transition-property: opacity, translate;
    transition-duration: .82s;
    transition-timing-function: cubic-bezier(.22,.61,.36,1);
    transition-delay: var(--reveal-delay, 0ms);
    will-change: opacity, translate;
}
body.sgu-home-2026 .home-reveal.home-reveal--soft {
    translate: 0 20px;
}
body.sgu-home-2026 .home-reveal.is-visible {
    opacity: 1;
    translate: 0 0;
}

@media (max-width: 1220px) {
    body.sgu-home-2026 .lang-selector { display: none; }
    body.sgu-home-2026 .home-bitrix-slider {
        max-width: 100%;
    }
}

@media (max-width: 768px) {
    body.sgu-home-2026 .home-bitrix-slider {
        height: 390px;
    }
    body.sgu-home-2026 .main-card h2 {
        font-size: 24px;
    }
    body.sgu-home-2026 .side-card p {
        font-size: 16px;
    }
    body.sgu-home-2026 .resource-logo {
        width: 180px;
        height: 78px;
        flex-basis: 180px;
    }
    body.sgu-home-2026 .partner-logo {
        width: 160px;
        height: 74px;
        flex-basis: 160px;
    }
    body.sgu-home-2026 .questionBlock h2,
    body.sgu-home-2026 .versionBlock h2 {
        font-size: 28px;
    }
    body.sgu-home-2026 .questionBlock a,
    body.sgu-home-2026 .versionBlock a {
        font-size: 20px;
    }
    body.sgu-home-2026 .ui-arrow-circle--large {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.sgu-home-2026 .home-reveal,
    body.sgu-home-2026 .resource-logo .logo-color,
    body.sgu-home-2026 .partner-logo .logo-color {
        transition: none;
        opacity: 1;
        translate: none;
    }
}

/* News card hover arrow: CSS-drawn, stable and sharp on Retina. */
body.sgu-home-2026 .arrow-icon {
    width: 48px !important;
    height: 48px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    background: #224BFF !important;
    transform: none !important;
    transition: background-color .3s ease !important;
    position: relative;
}
body.sgu-home-2026 .arrow-icon::after {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: translateX(-2px) rotate(45deg);
}
body.sgu-home-2026 .side-card:hover .arrow-icon {
    transform: none;
}

/* ==========================================================
   v11: bottom CTA layout from approved reference
   ========================================================== */
body.sgu-home-2026 .question,
body.sgu-home-2026 .version {
    padding-top: 22px;
}
body.sgu-home-2026 .question {
    padding-top: 72px;
}
body.sgu-home-2026 .version {
    padding-top: 22px;
    padding-bottom: 62px;
}

/* The reference uses these two CTA rows wider than the regular 1290px
   content column. Keep equal 40px desktop gutters. */
body.sgu-home-2026 .question > .main,
body.sgu-home-2026 .version > .main {
    width: calc(100% - 80px);
    max-width: none;
    margin-left: 40px;
    margin-right: 40px;
}

body.sgu-home-2026 .questionBlock,
body.sgu-home-2026 .versionBlock {
    min-height: 164px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 48px;
    padding: 24px 95px;
    border-radius: 48px;
    background: #224BFF;
}

body.sgu-home-2026 .questionBlock h2,
body.sgu-home-2026 .versionBlock h2 {
    flex: 1 1 auto;
    min-width: 0;
    margin: 0;
    color: #fff;
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 38px;
    line-height: 1.16;
    font-weight: 400;
    letter-spacing: -0.018em;
}
body.sgu-home-2026 .questionBlock h2 b {
    font-weight: 700;
}

/* One complete clickable pill, including its arrow. */
body.sgu-home-2026 .homeCtaButton {
    width: 410px;
    height: 70px;
    flex: 0 0 410px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 0 18px 0 30px;
    margin: 0;
    border: 0;
    border-radius: 38px;
    background: #F7F7F7;
    color: #224BFF;
    text-decoration: none;
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 26px;
    line-height: 1;
    font-weight: 400;
    transition: background-color .35s ease, transform .35s ease, box-shadow .35s ease;
}
body.sgu-home-2026 .homeCtaButton__text {
    flex: 1 1 auto;
    text-align: center;
    transform: translateX(9px);
}
body.sgu-home-2026 .homeCtaButton__arrow {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    background: #224BFF;
    color: #fff;
    border-radius: 50%;
}
/* Approved reference uses a north-east arrow, not the old chevron. */
body.sgu-home-2026 .homeCtaButton__arrow::after {
    content: "↗";
    width: auto;
    height: auto;
    border: 0;
    border-radius: 0;
    transform: none;
    font-family: Arial, sans-serif;
    font-size: 18px;
    line-height: 1;
    font-weight: 400;
}
body.sgu-home-2026 .homeCtaButton:hover {
    background: #fff;
    transform: translateY(-2px);
    box-shadow: 0 10px 28px rgba(0, 31, 128, .14);
}
body.sgu-home-2026 .homeCtaButton:hover .homeCtaButton__arrow {
    transform: rotate(45deg);
}

@media (max-width: 1220px) {
    body.sgu-home-2026 .question > .main,
    body.sgu-home-2026 .version > .main {
        width: calc(100% - 48px) !important;
        margin-left: 24px !important;
        margin-right: 24px !important;
    }
    body.sgu-home-2026 .questionBlock,
    body.sgu-home-2026 .versionBlock {
        min-height: 138px;
        padding: 22px 48px;
        border-radius: 42px;
        gap: 32px;
    }
    body.sgu-home-2026 .questionBlock h2,
    body.sgu-home-2026 .versionBlock h2 {
        font-size: 32px;
    }
    body.sgu-home-2026 .homeCtaButton {
        width: 350px;
        flex-basis: 350px;
        height: 64px;
        font-size: 23px;
    }
}

@media (max-width: 768px) {
    body.sgu-home-2026 .question {
        padding-top: 24px !important;
    }
    body.sgu-home-2026 .version {
        padding-top: 12px !important;
        padding-bottom: 24px;
    }
    body.sgu-home-2026 .question > .main,
    body.sgu-home-2026 .version > .main {
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
        padding: 0;
    }
    body.sgu-home-2026 .questionBlock,
    body.sgu-home-2026 .versionBlock {
        min-height: 0;
        flex-direction: column;
        align-items: stretch;
        gap: 22px;
        padding: 28px 24px;
        border-radius: 32px;
    }
    body.sgu-home-2026 .questionBlock h2,
    body.sgu-home-2026 .versionBlock h2 {
        font-size: 28px;
    }
    body.sgu-home-2026 .homeCtaButton {
        width: 100%;
        max-width: none;
        height: 58px;
        flex: 0 0 58px;
        font-size: 20px;
        padding-left: 22px;
        padding-right: 12px;
    }
    body.sgu-home-2026 .homeCtaButton__arrow {
        width: 34px;
        height: 34px;
        flex-basis: 34px;
    }
}

/* ==========================================================
   v12: keep bottom CTA rows at the site's regular content width
   ========================================================== */
@media (min-width: 1221px) {
    body.sgu-home-2026 .question > .main,
    body.sgu-home-2026 .version > .main {
        width: auto;
        max-width: 1290px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ==========================================================
   v13: complete mobile pass (320 / 360 / 390 / 430 / 768)
   Scoped to the new homepage only. Desktop rules are untouched.
   ========================================================== */

@media (max-width: 768px) {
    /* Prevent a single oversized child from creating horizontal page scroll. */
    html,
    body.sgu-home-2026 {
        max-width: 100%;
        overflow-x: clip;
    }

    body.sgu-home-2026 .main {
        width: auto;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }

    /* ---------- Header ---------- */
    body.sgu-home-2026 .fullscreen-slider--home .main-header {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto !important;
        z-index: 5;
    }
    body.sgu-home-2026 .mainHeader {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
    }
    body.sgu-home-2026 .blockHeader {
        min-height: 64px;
        margin: 0 !important;
        padding: 10px 16px 8px !important;
        gap: 12px;
        box-sizing: border-box;
    }
    body.sgu-home-2026 .headerBlockLogo {
        flex: 0 0 auto;
    }
    body.sgu-home-2026 .headerBlockLogo img {
        width: 46px !important;
        height: 46px !important;
    }
    /* Old mock-up mobile CSS hid the whole parent, which also hid hamburger/BVI. */
    body.sgu-home-2026 .headerBlockNav {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex: 1 1 auto !important;
        min-width: 0;
        gap: 10px !important;
    }
    body.sgu-home-2026 .headerBlockNav .navHeader.menu-root {
        display: none !important;
    }
    body.sgu-home-2026 .select {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
        gap: 8px !important;
        min-width: 0;
    }
    body.sgu-home-2026 .selectBlock {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
    }
    body.sgu-home-2026 .menuHamburger {
        display: flex !important;
        align-items: center;
        width: 30px;
        height: 36px;
        padding: 0;
    }
    body.sgu-home-2026 .hamburger {
        width: 25px;
        height: 18px;
    }
    body.sgu-home-2026 .eyeButton {
        width: 36px;
        height: 36px;
        min-width: 36px;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
    }
    body.sgu-home-2026 .eyeButton img {
        width: 18px !important;
        height: 18px !important;
        object-fit: contain;
    }
    /* Keep language available on mobile; it fits next to the compact controls. */
    body.sgu-home-2026 .lang-selector {
        display: inline-flex !important;
        min-width: 48px !important;
    }
    body.sgu-home-2026 .lang-selector select {
        min-width: 48px !important;
        height: 32px !important;
        padding: 0 17px 0 2px !important;
        font-size: 12px !important;
        line-height: 32px !important;
    }
    body.sgu-home-2026 .mobile-menu {
        width: min(390px, 100vw) !important;
    }
    body.sgu-home-2026 .mobile-menu .close-icon::before,
    body.sgu-home-2026 .mobile-menu .close-icon::after {
        background: #002147 !important;
    }

    /* ---------- Hero ---------- */
    body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow: hidden !important;
        background-size: auto 100% !important;
        background-position: 66% center !important;
    }
    body.sgu-home-2026 .fullscreen-slider--home > .main {
        height: auto !important;
        padding: 18px 16px 26px !important;
    }
    body.sgu-home-2026 .fullscreen-slider--home .hero {
        display: flex !important;
        flex-direction: column !important;
        gap: 18px !important;
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        padding: 0 !important;
        box-sizing: border-box;
    }
    body.sgu-home-2026 .heroLeftSide {
        gap: 12px !important;
        min-width: 0;
    }
    body.sgu-home-2026 .heroLeftSideTitleText {
        margin: 0;
        font-size: clamp(21px, 6vw, 27px) !important;
        line-height: 1.08 !important;
    }
    body.sgu-home-2026 .heroLeftSideTitleText span,
    body.sgu-home-2026 .heroLeftSide span {
        font-size: clamp(29px, 8.2vw, 36px) !important;
        line-height: .98 !important;
    }
    body.sgu-home-2026 .heroLeftSideDiscriptionText {
        max-width: 390px;
        font-size: 14px !important;
        line-height: 1.35 !important;
    }
    /* These breaks only compose the desktop lines. On mobile the text
       should wrap naturally; HTML contains a literal space after each BR. */
    body.sgu-home-2026 .heroLeftSideDiscriptionText br {
        display: none;
    }
    body.sgu-home-2026 .heroLeftSideButtons {
        display: grid !important;
        grid-template-columns: minmax(0, .92fr) minmax(0, 1.18fr);
        gap: 10px !important;
        width: 100%;
    }
    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        width: 100% !important;
        min-width: 0 !important;
        height: 48px !important;
        padding: 0 10px !important;
        gap: 7px !important;
        box-sizing: border-box !important;
        border-radius: 24px !important;
        font-size: clamp(12px, 3.7vw, 15px) !important;
        line-height: 1 !important;
        white-space: nowrap !important;
    }
    body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle {
        width: 27px !important;
        height: 27px !important;
        flex: 0 0 27px !important;
    }
    body.sgu-home-2026 .heroRightSide {
        position: static !important;
        inset: auto !important;
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px !important;
        width: 100%;
        margin: 0 !important;
    }
    body.sgu-home-2026 .heroRightSideBlock {
        width: auto !important;
        min-width: 0;
        height: auto !important;
        min-height: 72px;
        padding: 7px 5px !important;
        box-sizing: border-box !important;
        border-radius: 18px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 1px;
    }
    body.sgu-home-2026 .heroRightSideBlock > img {
        display: none !important;
    }
    body.sgu-home-2026 .heroRightSideBlockTitel {
        font-size: clamp(18px, 5.5vw, 24px) !important;
        line-height: 1 !important;
    }
    body.sgu-home-2026 .heroRightSideBlockDescription {
        font-size: clamp(8px, 2.5vw, 10px) !important;
        line-height: 1.12 !important;
        text-align: center !important;
    }
    body.sgu-home-2026 .imgHero {
        display: none !important;
    }

    /* ---------- Memo cards ---------- */
    body.sgu-home-2026 .blocksUnderHero {
        padding: 24px 16px !important;
    }
    body.sgu-home-2026 .underBlocks {
        display: grid !important;
        grid-template-columns: 1fr;
        gap: 10px !important;
        padding: 0 !important;
    }
    body.sgu-home-2026 .underBlock {
        width: 100% !important;
        max-width: 520px;
        min-height: 70px;
        height: auto !important;
        margin: 0 auto !important;
        padding: 14px 18px !important;
        box-sizing: border-box !important;
        border-radius: 22px !important;
    }
    body.sgu-home-2026 .underBlockTitle {
        min-width: 0;
        font-size: 14px !important;
        line-height: 1.12 !important;
    }
    body.sgu-home-2026 .underBlock .ui-arrow-circle {
        width: 28px !important;
        height: 28px !important;
        flex-basis: 28px !important;
    }

    /* ---------- Bitrix main banner ---------- */
    body.sgu-home-2026 .sliders {
        padding: 0 !important;
    }
    body.sgu-home-2026 .home-bitrix-slider {
        width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        height: 300px;
        border-radius: 0;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-content {
        width: 100% !important;
        height: 100%;
        padding: 22px 18px !important;
        box-sizing: border-box !important;
        justify-content: flex-end;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-date {
        min-width: 0 !important;
        margin: 0 !important;
        padding: 7px 12px !important;
        font-size: 18px !important;
        text-align: left !important;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-title {
        max-width: 78%;
        padding: 0 !important;
        font-size: 22px !important;
        line-height: 1.02 !important;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-button {
        max-width: 82%;
        margin: 8px 0 0 !important;
        padding: 0 !important;
        flex-direction: row !important;
        align-items: center;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide-button a {
        font-size: 12px !important;
        white-space: nowrap;
    }
    body.sgu-home-2026 .home-bitrix-slider .slide--legacy-banner .slide-img {
        object-fit: contain !important;
        object-position: center center !important;
    }

    /* ---------- Community ---------- */
    body.sgu-home-2026 .community {
        padding: 28px 16px 0 !important;
    }
    body.sgu-home-2026 .communityBlocksHeader {
        padding: 0 !important;
        gap: 18px;
        align-items: stretch;
    }
    body.sgu-home-2026 .communityBlocksHeaderText {
        font-size: clamp(24px, 7vw, 28px) !important;
        line-height: 1.06 !important;
    }
    body.sgu-home-2026 .communityBlock {
        width: 100%;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        padding: 9px 6px !important;
        gap: 6px !important;
        justify-content: stretch;
        border-radius: 12px !important;
        box-sizing: border-box !important;
    }
    body.sgu-home-2026 .communityBlock a {
        min-width: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    body.sgu-home-2026 .communityBlock a img,
    body.sgu-home-2026 .communityBlocksHeader img {
        display: block;
        width: 30px !important;
        max-width: 30px;
        height: 30px !important;
        object-fit: contain;
    }
    body.sgu-home-2026 .mainComunityBlock {
        width: 100%;
        margin: 0 !important;
        padding-top: 24px !important;
        gap: 18px !important;
    }
    body.sgu-home-2026 .communityBlockFirst,
    body.sgu-home-2026 .communityBlockSecond {
        width: 100%;
        max-width: 520px;
        margin: 0 auto;
        box-sizing: border-box;
    }
    body.sgu-home-2026 .communityBlockFirstImg {
        display: block;
        width: 100% !important;
        max-width: 360px;
        height: auto !important;
        margin: 0 auto 10px !important;
        object-fit: contain;
    }
    body.sgu-home-2026 .communityBlockFirst p {
        padding: 0 !important;
    }
    body.sgu-home-2026 .communityBlockSecond {
        gap: 12px !important;
    }
    body.sgu-home-2026 .communityBlockSecond p {
        font-size: 16px !important;
        line-height: 1.35 !important;
    }
    body.sgu-home-2026 .communityBlockSecond p br {
        display: none;
    }
    body.sgu-home-2026 .foterComunity {
        width: 100%;
        gap: 16px !important;
        justify-content: space-between;
    }

    /* ---------- News ---------- */
    body.sgu-home-2026 .news {
        padding: 32px 16px 0 !important;
    }
    body.sgu-home-2026 .news-block {
        padding: 18px 16px 22px !important;
        border-radius: 28px !important;
    }
    body.sgu-home-2026 .tabs {
        width: 100%;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        gap: 22px !important;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        padding: 4px 0 16px !important;
    }
    body.sgu-home-2026 .tabs::-webkit-scrollbar {
        display: none;
    }
    body.sgu-home-2026 .tabs a,
    body.sgu-home-2026 .tabs a.active {
        flex: 0 0 auto;
        font-size: 20px !important;
        line-height: 1.1 !important;
        white-space: nowrap;
    }
    body.sgu-home-2026 .news-grid {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        padding-top: 8px !important;
    }
    body.sgu-home-2026 .side-columns {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    body.sgu-home-2026 .side-row {
        gap: 16px !important;
    }
    body.sgu-home-2026 .main-card h2 {
        font-size: 22px !important;
        line-height: 1.16 !important;
    }
    body.sgu-home-2026 .side-card p {
        font-size: 17px !important;
        line-height: 1.2 !important;
    }
    /* Hover overlays are not useful on touch; links themselves remain tappable. */
    body.sgu-home-2026 .main-card .overlay,
    body.sgu-home-2026 .side-card .arrow-overlay {
        display: none !important;
    }
    body.sgu-home-2026 .all-news {
        justify-content: flex-end;
        margin-top: 18px;
    }

    /* ---------- Stats ---------- */
    body.sgu-home-2026 section.line {
        padding: 18px 0 !important;
    }
    body.sgu-home-2026 .stat-number {
        font-size: 24px !important;
        line-height: 1 !important;
    }
    body.sgu-home-2026 .stat-label {
        font-size: 13px !important;
        line-height: 1.15 !important;
    }

    body.sgu-home-2026 section.line .marquee {
        padding: 18px 0;
        border-radius: 0;
    }
    body.sgu-home-2026 section.line .marquee-track,
    body.sgu-home-2026 section.line .marquee-set {
        align-items: flex-start;
    }
    body.sgu-home-2026 section.line .stat-group {
        gap: 5px;
        padding: 0 18px;
    }

    /* Generic site .main has bottom padding. On the homepage mobile layout it
       creates large artificial gaps between stacked sections. */
    body.sgu-home-2026 .community > .main,
    body.sgu-home-2026 .news > .main {
        padding-bottom: 0;
    }

    /* ---------- Life at SochiSU ---------- */
    body.sgu-home-2026 .learning {
        margin: 24px 16px 0 !important;
        padding: 16px !important;
        padding-bottom: 16px !important;
        border-radius: 32px !important;
    }
    body.sgu-home-2026 .learning .main {
        padding: 0 !important;
    }
    body.sgu-home-2026 .learningBlock {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px;
    }
    body.sgu-home-2026 .learningBlockFirst {
        width: 100%;
        padding: 28px 22px !important;
        border-radius: 24px !important;
        box-sizing: border-box !important;
    }
    body.sgu-home-2026 .learningBlockFirst h2 {
        font-size: clamp(32px, 10vw, 44px) !important;
        line-height: .98 !important;
    }
    body.sgu-home-2026 .learningBlockFirst p {
        padding-top: 20px !important;
        font-size: 16px !important;
        line-height: 1.35 !important;
    }
    body.sgu-home-2026 .learningBlockFirst p br {
        display: none;
    }
    body.sgu-home-2026 .learningBlockFirst a {
        width: 170px !important;
        height: 48px !important;
        margin-top: 28px !important;
        font-size: 16px !important;
    }
    body.sgu-home-2026 .learningBlockImg {
        position: static !important;
        inset: auto !important;
        display: block;
        width: min(100%, 390px) !important;
        max-width: 100% !important;
        height: auto !important;
        margin: -8px auto 0 !important;
        align-self: center !important;
    }

    /* ---------- Why / resources / partners ---------- */
    body.sgu-home-2026 .why {
        padding-top: 38px !important;
    }
    body.sgu-home-2026 .why h2 {
        margin: 0 16px 18px !important;
        padding: 10px 12px !important;
        font-size: 28px !important;
        line-height: 1.05 !important;
        border-radius: 22px !important;
    }
    body.sgu-home-2026 .whyBlocks {
        padding: 4px 16px 8px !important;
        gap: 12px !important;
    }
    body.sgu-home-2026 .whyBlock {
        box-sizing: border-box !important;
        flex: 0 0 min(78vw, 270px) !important;
        min-width: 0 !important;
        width: min(78vw, 270px) !important;
        height: 250px !important;
        padding: 26px !important;
        gap: 36px !important;
        border-radius: 26px !important;
        scroll-snap-align: center;
    }
    body.sgu-home-2026 .whyBlock p {
        font-size: 22px !important;
    }
    body.sgu-home-2026 .whyBlockTitel {
        font-size: 16px !important;
    }
    body.sgu-home-2026 .gosResyrs,
    body.sgu-home-2026 .partner {
        padding-top: 52px !important;
    }
    body.sgu-home-2026 .gosResyrs h2,
    body.sgu-home-2026 .partner h2 {
        margin: 0 !important;
        padding: 0 16px 24px !important;
        font-size: 28px !important;
    }
    body.sgu-home-2026 .gosResyrsBlock,
    body.sgu-home-2026 .partnerBlock {
        gap: 14px !important;
        padding: 4px 16px !important;
    }
    body.sgu-home-2026 .resource-logo {
        width: 180px !important;
        height: 78px !important;
        flex: 0 0 180px !important;
    }
    body.sgu-home-2026 .partner-logo {
        width: 160px !important;
        height: 74px !important;
        flex: 0 0 160px !important;
    }
    /* Touch screens have no hover: show the useful colour artwork immediately. */
    body.sgu-home-2026 .resource-logo .logo-gray,
    body.sgu-home-2026 .partner-logo .logo-gray {
        opacity: 0 !important;
    }
    body.sgu-home-2026 .resource-logo .logo-color,
    body.sgu-home-2026 .partner-logo .logo-color {
        clip-path: none !important;
        opacity: 1 !important;
    }
    body.sgu-home-2026 .slider-controls {
        margin-top: 16px !important;
        padding-right: 16px !important;
        gap: 18px !important;
    }

    /* ---------- Contacts ---------- */
    body.sgu-home-2026 .contact {
        margin-top: 52px !important;
        padding: 34px 0 !important;
        border-radius: 32px !important;
    }
    body.sgu-home-2026 .contacts-block {
        padding: 0 16px !important;
    }
    body.sgu-home-2026 .contacts-block h1 {
        margin-bottom: 12px !important;
        font-size: 30px !important;
        text-align: left !important;
    }
    body.sgu-home-2026 .accordion-header {
        padding: 16px 0 !important;
    }
    body.sgu-home-2026 .accordion-title .col-title {
        padding-right: 12px;
        font-size: 16px !important;
        line-height: 1.2;
        letter-spacing: .3px;
    }
    body.sgu-home-2026 .accordion-content .col a,
    body.sgu-home-2026 .accordion-content .col p {
        overflow-wrap: anywhere;
        word-break: normal;
    }
    body.sgu-home-2026 .accordion-content .row {
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    /* ---------- CTA ---------- */
    body.sgu-home-2026 .question > .main,
    body.sgu-home-2026 .version > .main {
        width: calc(100% - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
    }
    body.sgu-home-2026 .questionBlock,
    body.sgu-home-2026 .versionBlock {
        padding: 20px 18px !important;
        gap: 14px !important;
        border-radius: 24px !important;
    }
    body.sgu-home-2026 .questionBlock h2,
    body.sgu-home-2026 .versionBlock h2 {
        font-size: 24px !important;
        line-height: 1.08 !important;
    }
    body.sgu-home-2026 .homeCtaButton {
        height: 50px !important;
        flex-basis: 50px !important;
        font-family: var(--font-neue);
        font-size: 16px !important;
        font-weight: 400;
        line-height: 24px;
    }

    /* ---------- Footer ---------- */
    body.sgu-home-2026 footer {
        margin-top: 28px !important;
        padding-top: 34px !important;
        border-radius: 28px 28px 0 0 !important;
    }
    body.sgu-home-2026 footer > .main {
        padding: 0 20px !important;
    }
    body.sgu-home-2026 footer .mainBlockFooter {
        display: flex !important;
        flex-direction: column !important;
        gap: 34px;
        padding: 0 !important;
    }
    body.sgu-home-2026 footer .mainFooterBlock {
        width: 100%;
    }
    body.sgu-home-2026 footer .footerLogo {
        width: 100%;
        display: grid !important;
        grid-template-columns: 64px 1px minmax(0, 1fr);
        gap: 14px !important;
        align-items: center;
        padding-bottom: 26px !important;
    }
    body.sgu-home-2026 footer .footerLogoImg {
        width: 64px !important;
        height: 64px !important;
    }
    body.sgu-home-2026 footer .footerLogo > img:nth-child(2) {
        width: 1px !important;
        height: 62px !important;
        object-fit: cover;
    }
    body.sgu-home-2026 footer .footerLogo h2 {
        min-width: 0;
        font-size: 20px !important;
        line-height: 1.08;
    }
    body.sgu-home-2026 footer .footerBlockAdress {
        gap: 14px !important;
        padding-bottom: 0 !important;
    }
    body.sgu-home-2026 footer .footerBlockAdress h2 {
        font-size: 20px !important;
        line-height: 1.15;
    }
    body.sgu-home-2026 footer .footerBlockAdress h3,
    body.sgu-home-2026 footer .footerBlockAdress p,
    body.sgu-home-2026 footer .footerBlockAdress h4 {
        font-size: 13px !important;
        line-height: 1.35;
    }
    body.sgu-home-2026 footer .footerBlockAdress h3 br {
        display: none;
    }
    body.sgu-home-2026 footer .footerBlockSochials {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 26px 18px !important;
    }
    body.sgu-home-2026 footer .sochialsFirst,
    body.sgu-home-2026 footer .sochialsSecond {
        gap: 10px !important;
        min-width: 0;
    }
    body.sgu-home-2026 footer .sochialsFirst a,
    body.sgu-home-2026 footer .sochialsSecond a,
    body.sgu-home-2026 footer .sochialsFirst h2 {
        font-size: 12px !important;
        line-height: 1.25 !important;
        overflow-wrap: anywhere;
    }
    body.sgu-home-2026 footer .mainUnderFooter {
        margin: 0 !important;
        padding: 28px 0 22px !important;
        flex-direction: column !important;
        gap: 22px;
    }
    body.sgu-home-2026 footer .footerLinks {
        width: 100% !important;
        margin: 0 !important;
        display: grid !important;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 8px !important;
    }
    body.sgu-home-2026 footer .footerLinks a,
    body.sgu-home-2026 footer .footerLinks img {
        width: 100% !important;
        min-width: 0;
        height: auto !important;
    }
    body.sgu-home-2026 footer .footerAbout {
        justify-content: flex-start !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    body.sgu-home-2026 footer .footerAbout h2 {
        font-size: 12px !important;
        white-space: normal !important;
    }

    /* Mobile scroll reveals should be subtle enough not to feel sluggish. */
    body.sgu-home-2026 .home-reveal {
        translate: 0 18px;
        transition-duration: .68s;
    }
}

@media (max-width: 430px) {
    body.sgu-home-2026 .blockHeader {
        padding-left: 12px;
        padding-right: 12px;
    }
    body.sgu-home-2026 .fullscreen-slider--home > .main {
        padding-left: 12px;
        padding-right: 12px;
    }
    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        font-size: 13px;
    }
    body.sgu-home-2026 .community,
    body.sgu-home-2026 .news {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }
    body.sgu-home-2026 .why h2 {
        margin-left: 12px;
        margin-right: 12px;
    }
}

@media (max-width: 360px) {
    body.sgu-home-2026 .headerBlockLogo img {
        width: 42px;
        height: 42px;
    }
    body.sgu-home-2026 .selectBlock {
        gap: 7px !important;
    }
    body.sgu-home-2026 .eyeButton {
        width: 32px;
        height: 32px;
        min-width: 32px;
    }
    body.sgu-home-2026 .lang-selector,
    body.sgu-home-2026 .lang-selector select {
        min-width: 43px;
    }
    body.sgu-home-2026 .heroLeftSideButtons {
        grid-template-columns: 1fr;
    }
    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        max-width: none;
        height: 46px;
        font-size: 14px;
    }
    body.sgu-home-2026 .heroRightSideBlock {
        min-height: 68px;
    }
    body.sgu-home-2026 .communityBlock a img,
    body.sgu-home-2026 .communityBlocksHeader img {
        max-width: 28px;
        height: 28px;
    }
    body.sgu-home-2026 footer .footerBlockSochials {
        grid-template-columns: 1fr !important;
    }
}

/* ==========================================================
   v16 — rector/design update from 20.08.2026 SVG reference
   ========================================================== */

/* ---------- Hero: proportions measured from the 1440px SVG ---------- */
body.sgu-home-2026 .heroLeftSideTitleText {
    margin: 0;
    color: #143FFF;
    font-family: "Helvetica Neue", "HelveticaNeue", 'Helvetica', Arial, sans-serif;
    font-weight: 700;
    font-size: 40px;
    line-height: 1.2;
    letter-spacing: 0;
    text-transform: uppercase;
}
body.sgu-home-2026 .heroLeftSideTitleText span {
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
}

/* ---------- Four rector memo cards: SVG = 1244px row / 25px gap / ~88px high ---------- */
body.sgu-home-2026 .blocksUnderHero {
    padding: 36px 0;
}
body.sgu-home-2026 .blocksUnderHero > .main {
    max-width: 1244px;
}
body.sgu-home-2026 .underBlocks {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 25px;
}
body.sgu-home-2026 .underBlock {
    width: auto;
    min-width: 0;
    min-height: 88px;
    box-sizing: border-box;
    justify-content: space-between;
    gap: 18px;
    padding: 14px 30px 14px 32px;
    border-radius: 12px;
    background: linear-gradient(180deg, #657BFF 0%, #143FFF 100%);
}
body.sgu-home-2026 .underBlockTitle {
    font-family: "Helvetica Neue", "HelveticaNeue", 'Helvetica', Arial, sans-serif;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: 0;
}
body.sgu-home-2026 .underBlock .ui-arrow-circle {
    width: 58px;
    height: 58px;
    flex: 0 0 58px;
}
/* Memo cards use the diagonal north-east arrow from the SVG, not a chevron. */
body.sgu-home-2026 .underBlock .ui-arrow-circle::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
    transform: rotate(-45deg);
}
body.sgu-home-2026 .underBlock .ui-arrow-circle::after {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    border: 0;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    border-radius: 0;
    transform: translate(5px, -5px);
}

/* ---------- Community: new full blue header strip ---------- */
body.sgu-home-2026 .communityBlocksHeader {
    box-sizing: border-box;
    width: 100%;
    min-height: 116px;
    padding: 24px 48px;
    align-items: center;
    gap: 32px;
    background: linear-gradient(180deg, #607BFF 0%, #143FFF 100%);
    border-radius: 0;
}
body.sgu-home-2026 .communityBlocksHeaderText {
    margin: 0;
    color: #fff;
    font-size: 44px;
    line-height: .98;
    font-weight: 700;
}
body.sgu-home-2026 .communityBlock {
    padding: 0;
    gap: 18px;
    background: transparent;
    border-radius: 0;
}
body.sgu-home-2026 .communityBlock a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
body.sgu-home-2026 .communityBlock img {
    width: 44px;
    height: 44px;
    object-fit: contain;
}
body.sgu-home-2026 .mainComunityBlock {
    padding-top: 34px;
    padding-bottom: 20px;
}

/* ---------- News: rector typography/alignment ---------- */
body.sgu-home-2026 .news-grid {
    align-items: stretch;
}
body.sgu-home-2026 .side-row {
    display: grid;
    grid-template-rows: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-height: 0;
}
body.sgu-home-2026 .side-card {
    min-height: 0;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    align-content: stretch;
}
body.sgu-home-2026 .main-card h2 {
    margin-top: 10px;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -0.012em;
}
body.sgu-home-2026 .side-card p {
    margin: 6px 0 0;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 400;
    letter-spacing: -0.008em;
}
body.sgu-home-2026 .date-badge {
    top: 8px;
    right: 8px;
    z-index: 4;
    padding: 5px 9px;
    border-radius: 7px;
    background: rgba(255,255,255,.96);
    color: #143FFF;
    font-family: 'Helvetica', Arial, sans-serif;
    font-size: 13px;
    line-height: 1;
    font-weight: 700;
    box-shadow: none;
    backdrop-filter: none;
}
body.sgu-home-2026 .tag {
    padding: 5px 24px;
    margin-top: 8px;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1;
    text-transform: lowercase;
}

/* ---------- Life in SochiSU: reduce excessive rounding ---------- */
body.sgu-home-2026 .learningBlockFirst {
    border-radius: 12px;
}
body.sgu-home-2026 .learningBlockFirst a {
    border-radius: 12px;
}

/* ---------- Why SochiSU: rector size and 12px corners ---------- */
body.sgu-home-2026 .why h2 {
    font-size: 46px;
    line-height: 1.12;
    border-radius: 12px;
    padding: 14px 24px;
}
body.sgu-home-2026 .whyBlock {
    border-radius: 12px;
}

/* ---------- Bottom CTA rows: approved content, no row rounding ---------- */
body.sgu-home-2026 .questionBlock,
body.sgu-home-2026 .versionBlock {
    border-radius: 0;
}

@media (max-width: 1220px) {
    body.sgu-home-2026 .heroLeftSideTitleText {
        font-size: 36px;
        line-height: 1.18;
    }
    body.sgu-home-2026 .blocksUnderHero > .main {
        max-width: 900px;
    }
    body.sgu-home-2026 .underBlocks {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    body.sgu-home-2026 .communityBlocksHeaderText {
        font-size: 38px;
    }
}

@media (max-width: 768px) {
    body.sgu-home-2026 .heroLeftSideTitleText {
        font-size: clamp(27px, 8vw, 35px);
        line-height: 1;
    }
    body.sgu-home-2026 .underBlocks {
        grid-template-columns: 1fr;
    }
    body.sgu-home-2026 .underBlock {
        border-radius: 12px;
    }
    body.sgu-home-2026 .communityBlocksHeader {
        min-height: 0;
        flex-direction: column;
        align-items: flex-start;
        padding: 24px 20px;
        gap: 20px;
    }
    body.sgu-home-2026 .communityBlocksHeaderText {
        font-size: 32px;
        line-height: 1.02;
    }
    body.sgu-home-2026 .communityBlock {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        gap: 8px;
    }
    body.sgu-home-2026 .communityBlock img {
        width: 36px;
        height: 36px;
    }
    body.sgu-home-2026 .main-card h2 {
        font-size: 22px;
        line-height: 1.2;
    }
    body.sgu-home-2026 .side-card p {
        font-size: 17px;
        line-height: 1.2;
    }
    body.sgu-home-2026 .why h2 {
        font-size: 30px;
        border-radius: 12px;
        padding: 12px 14px;
    }
    body.sgu-home-2026 .whyBlock,
    body.sgu-home-2026 .learningBlockFirst,
    body.sgu-home-2026 .learningBlockFirst a {
        border-radius: 12px;
    }
    body.sgu-home-2026 .questionBlock,
    body.sgu-home-2026 .versionBlock {
        border-radius: 0;
    }
}

/* ==========================================================
   v27 — final mobile geometry repair
   1) keep the mobile header in its own row at the top of hero;
   2) force both bottom CTA cards to exactly the same footprint.
   Desktop is untouched.
   ========================================================== */
@media (max-width: 768px) {
    /* The service/test banner is outside .fullscreen-slider, therefore an
       absolute header anchored to the hero always starts below that banner.
       Reserve the header row inside hero content so it cannot overlap H1. */
    body.sgu-home-2026 .fullscreen-slider--home {
        position: relative;
    }
    body.sgu-home-2026 .fullscreen-slider--home .main-header {
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        height: 70px !important;
        min-height: 70px;
        z-index: 20;
    }
    body.sgu-home-2026 .fullscreen-slider--home .mainHeader,
    body.sgu-home-2026 .fullscreen-slider--home .blockHeader {
        height: 70px;
        min-height: 70px;
    }
    body.sgu-home-2026 .fullscreen-slider--home .blockHeader {
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    body.sgu-home-2026 .fullscreen-slider--home > .main {
        padding-top: 86px !important;
    }

    /* Bottom CTA cards: legacy mobile rules leave horizontal padding on the
       sections themselves, which can make the two .main wrappers resolve to
       different visual widths. Reset the sections and give both one footprint. */
    body.sgu-home-2026 section.question,
    body.sgu-home-2026 section.version {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.sgu-home-2026 section.question > .main,
    body.sgu-home-2026 section.version > .main {
        box-sizing: border-box;
        width: calc(100% - 48px) !important;
        max-width: 560px;
        margin-left: auto !important;
        margin-right: auto !important;
        padding: 0 !important;
    }
    body.sgu-home-2026 section.question .questionBlock,
    body.sgu-home-2026 section.version .versionBlock {
        box-sizing: border-box;
        width: 100% !important;
        height: 164px;
        min-height: 164px;
        margin: 0;
        padding: 20px 18px !important;
        gap: 14px !important;
        border-radius: 32px !important;
    }
}

@media (max-width: 360px) {
    body.sgu-home-2026 section.question > .main,
    body.sgu-home-2026 section.version > .main {
        width: calc(100% - 32px) !important;
    }
}
