/* ==========================================================
   SochiSU homepage — exact desktop styles from Figma
   Source: D82aPoYNdcVTrknf3F3D98 / desktop frame 169:221
   This file intentionally contains no !important declarations.
   ========================================================== */

/* Exact families used by the Figma file. The HelveticaNeue and Inter
   files come from the original designer archive day.zip. If they are
   not present yet, the browser gracefully falls back to system fonts. */
@font-face {
    font-family: 'HelveticaNeue';
    src: url('../assets/fonts/HelveticaNeue/HelveticaNeue-Thin.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaNeue';
    src: url('../assets/fonts/HelveticaNeue/HelveticaNeue-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaNeue';
    src: url('../assets/fonts/HelveticaNeue/HelveticaNeue-Roman.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaNeue';
    src: url('../assets/fonts/HelveticaNeue/HelveticaNeue-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaNeue';
    src: url('../assets/fonts/HelveticaNeue/HelveticaNeue-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'InterFigma';
    src: url('../assets/fonts/Inter/Inter-VariableFont_opsz,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}


/* Figma uses the macOS Helvetica family for layers named Helvetica.
   Prefer the real local face when it exists (macOS), then fall back to the
   bundled CE files on other systems. This avoids the slightly heavier CE cut
   on the designer's/reference Mac while keeping cross-platform fallback. */
@font-face {
    font-family: 'HelveticaFigma';
    src: local('Helvetica'), url('../assets/fonts/Helvetica/Helvetica CE Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaFigma';
    src: local('Helvetica Bold'), url('../assets/fonts/Helvetica/Helvetica CE Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaFigma';
    src: local('Helvetica Light'), url('../assets/fonts/Helvetica/Helvetica LT 35 Thin.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'HelveticaFigma';
    src: local('Helvetica Light Oblique'), local('Helvetica Oblique');
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

body.sgu-home-2026 {
    --figma-blue: #143fff;
    --figma-dark-blue: #002147;
    --figma-cream: #f2f2f2;
    --figma-pink: #dc36ef;
    --font-helvetica: 'HelveticaFigma', 'Helvetica', Arial, sans-serif;
    --font-neue: 'HelveticaNeue', 'Helvetica Neue', 'Helvetica', Arial, sans-serif;
    --font-inter: 'InterFigma', Inter, Arial, sans-serif;
}

body.sgu-home-2026 .heroLeftSideTitleText,
body.sgu-home-2026 .heroLeftSideDiscriptionText,
body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
body.sgu-home-2026 .heroLeftSideButtonsButtonWhite,
body.sgu-home-2026 .heroRightSideBlockTitel,
body.sgu-home-2026 .heroRightSideBlockDescription,
body.sgu-home-2026 .underBlockTitle,
body.sgu-home-2026 .communityBlocksHeaderText,
body.sgu-home-2026 .communityBlockSecond p,
body.sgu-home-2026 .foterComunity h2,
body.sgu-home-2026 .foterComunity h3,
body.sgu-home-2026 .tabs a,
body.sgu-home-2026 .main-card h2,
body.sgu-home-2026 .side-card p,
body.sgu-home-2026 .stat-number,
body.sgu-home-2026 .stat-label,
body.sgu-home-2026 .learningBlockFirst h2,
body.sgu-home-2026 .learningBlockFirst p,
body.sgu-home-2026 .learningBlockFirst a,
body.sgu-home-2026 .why h2,
body.sgu-home-2026 .whyBlock p,
body.sgu-home-2026 .whyBlockTitel {
    font-synthesis: none;
}

@media (min-width: 769px) {
    /* ---------- HERO: Figma node 169:223 ---------- */
    body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
        height: 558px;
        min-height: 558px;
        background-size: 100% 558px;
        background-position: center top;
        background-repeat: no-repeat;
    }

    body.sgu-home-2026 .fullscreen-slider--home .main-header {
        height: 130px;
    }

    body.sgu-home-2026 .fullscreen-slider--home .mainHeader {
        width: min(1280px, calc(100% - 40px));
        max-width: 1280px;
        margin: 0 auto;
    }

    body.sgu-home-2026 .fullscreen-slider--home .blockHeader {
        box-sizing: border-box;
        padding: 51px 0 0;
        align-items: center;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockLogo img {
        display: block;
        width: 66px;
        height: 62px;
        object-fit: contain;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockNav {
        gap: 28px;
        align-items: center;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockNav .navHeader.menu-root {
        flex: 0 1 auto;
        gap: 0;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockNav .navbar-nav {
        gap: 29px;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerTextNav {
        margin: 0;
        padding: 0 10px 0 0;
        color: var(--figma-blue);
        font-family: var(--font-helvetica);
        font-size: 14px;
        font-weight: 400;
        line-height: 15px;
    }

    body.sgu-home-2026 .fullscreen-slider--home .nav-item.dropdown > .headerTextNav {
        margin: 0;
        padding: 0 10px 0 0;
        border-radius: 0;
    }

    body.sgu-home-2026 .fullscreen-slider--home .nav-item.dropdown:not(.show):hover > .headerTextNav {
        background: transparent;
        color: var(--figma-blue);
    }

    body.sgu-home-2026 .fullscreen-slider--home .nav-item.dropdown > .dropdown-toggle::after {
        right: 0;
        border-left-width: 3px;
        border-right-width: 3px;
        border-top: 5px solid currentColor;
    }

    body.sgu-home-2026 .fullscreen-slider--home .eyeButton {
        width: 28px;
        height: 28px;
        color: var(--figma-blue);
    }

    body.sgu-home-2026 .fullscreen-slider--home .lang-selector,
    body.sgu-home-2026 .fullscreen-slider--home .lang-selector label {
        min-width: 58px;
        overflow: visible;
    }

    body.sgu-home-2026 .fullscreen-slider--home .lang-selector select {
        min-width: 58px;
        padding: 0 18px 0 0;
        color: var(--figma-blue);
        font-family: var(--font-inter);
        font-size: 14px;
        font-weight: 400;
        line-height: 20px;
    }

    body.sgu-home-2026 .fullscreen-slider--home .lang-selector::after {
        right: 1px;
        border-top-color: var(--figma-blue);
    }

    body.sgu-home-2026 .fullscreen-slider--home > .main {
        box-sizing: border-box;
        height: 558px;
        padding-top: 0;
    }

    body.sgu-home-2026 .fullscreen-slider--home .hero {
        position: relative;
        display: block;
        width: min(1050px, calc(100% - 40px));
        max-width: 1050px;
        height: 558px;
        margin: 0 auto;
        padding: 0;
    }

    body.sgu-home-2026 .heroLeftSide {
        position: absolute;
        top: 152px;
        left: 0;
        display: block;
        width: 675px;
    }

    body.sgu-home-2026 .heroLeftSideTitleText {
        margin: 0;
        color: var(--figma-blue);
        font-family: var(--font-neue);
        font-size: 40px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    body.sgu-home-2026 .heroLeftSideDiscriptionText {
        width: 675px;
        margin: 16px 0 0;
        color: var(--figma-dark-blue);
        font-family: var(--font-helvetica);
        font-size: 20px;
        font-weight: 400;
        line-height: 20px;
        letter-spacing: 0;
    }

    body.sgu-home-2026 .heroLeftSideButtons {
        display: flex;
        gap: 24px;
        margin-top: 39px;
    }

    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        box-sizing: border-box;
        height: 65px;
        padding: 20px 40px;
        border-radius: 30px;
        gap: 20px;
        font-family: var(--font-neue);
        font-size: 20px;
        font-weight: 700;
        line-height: 1.307;
        white-space: nowrap;
    }

    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue {
        width: 224px;
    }

    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        width: 286px;
        border-width: 1px;
    }

    body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle {
        width: 40px;
        height: 40px;
        flex: 0 0 40px;
    }

    body.sgu-home-2026 .heroRightSide {
        position: absolute;
        top: 155px;
        left: 734px;
        display: flex;
        width: 316px;
        gap: 11px;
    }

    body.sgu-home-2026 .heroRightSideBlock {
        box-sizing: border-box;
        display: flex;
        justify-content: flex-start;
        width: 316px;
        height: 53px;
        padding: 5px 20px;
        gap: 20px;
        border-radius: 30px;
        background: var(--figma-cream);
        text-align: left;
    }

    body.sgu-home-2026 .heroRightSideBlock:nth-child(3) {
        height: 52px;
    }

    body.sgu-home-2026 .heroRightSideBlock img {
        flex: 0 0 auto;
        object-fit: contain;
        opacity: .58;
    }

    body.sgu-home-2026 .heroRightSideBlock:nth-child(1) img { width: 27px; height: 27px; }
    body.sgu-home-2026 .heroRightSideBlock:nth-child(2) img { width: 20px; height: 27px; }
    body.sgu-home-2026 .heroRightSideBlock:nth-child(3) img { width: 38px; height: 38px; margin-left: -6px; }

    body.sgu-home-2026 .heroRightSideBlockTitel {
        flex: 0 0 auto;
        margin: 0;
        color: var(--figma-blue);
        font-family: var(--font-neue);
        font-size: 35px;
        font-weight: 700;
        line-height: normal;
        letter-spacing: -.35px;
        white-space: nowrap;
    }

    body.sgu-home-2026 .heroRightSideBlockDescription {
        margin: 0;
        color: var(--figma-dark-blue);
        font-family: var(--font-neue);
        font-size: 14px;
        font-weight: 400;
        line-height: 1;
        letter-spacing: -.14px;
        text-align: left;
    }

    /* ---------- MEMO CARDS: Figma nodes 272:189–205 ---------- */
    body.sgu-home-2026 .blocksUnderHero {
        box-sizing: border-box;
        height: 158px;
        padding: 35px 0 36px;
    }

    body.sgu-home-2026 .blocksUnderHero > .main {
        width: min(1245px, calc(100% - 40px));
        max-width: 1245px;
    }

    body.sgu-home-2026 .underBlocks {
        display: flex;
        justify-content: space-between;
        gap: 0;
        width: 100%;
    }

    body.sgu-home-2026 .underBlock {
        position: relative;
        box-sizing: border-box;
        display: block;
        flex: 0 0 291px;
        width: 291px;
        min-width: 291px;
        min-height: 0;
        height: 87px;
        padding: 0;
        border-radius: 12px;
        background: linear-gradient(180deg, rgba(20,63,255,.6) 0%, #143fff 100%);
    }

    body.sgu-home-2026 .underBlockTitle {
        position: absolute;
        z-index: 2;
        top: 14px;
        left: 33px;
        width: 198px;
        margin: 0;
        color: #fff;
        font-family: var(--font-helvetica);
        font-size: 18px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0;
    }

    body.sgu-home-2026 .underBlock .ui-arrow-circle {
        position: absolute;
        z-index: 2;
        top: 14px;
        left: 196px;
        width: 60px;
        height: 60px;
        flex: none;
        border-radius: 0;
        background: transparent url('assets/figma-arrow-ne-blue.svg') center/60px 60px no-repeat;
    }

    body.sgu-home-2026 .underBlock .ui-arrow-circle::before,
    body.sgu-home-2026 .underBlock .ui-arrow-circle::after {
        display: none;
    }

    body.sgu-home-2026 .underBlock.hovered .ui-arrow-circle {
        background-image: url('assets/figma-arrow-ne-white.svg');
    }

    /* ---------- BITRIX PROMO SLIDER: Figma node 169:293 ---------- */
    body.sgu-home-2026 .sliders {
        padding: 0;
    }

    body.sgu-home-2026 .home-bitrix-slider {
        width: min(1440px, 100%);
        max-width: 1440px;
        height: 420px;
        margin: 0 auto;
    }

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

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

    body.sgu-home-2026 .home-bitrix-slider .dot {
        width: 16px;
        height: 16px;
        background: transparent;
        border: 1.5px solid #fff;
    }

    body.sgu-home-2026 .home-bitrix-slider .dot.active {
        background: #fff;
        transform: none;
    }

    /* ---------- COMMUNITY BAND + RECTOR: Figma nodes 272:255, 169:321 ---------- */
    body.sgu-home-2026 .community {
        width: 100%;
        padding: 26px 0 0;
    }

    body.sgu-home-2026 .community > .main {
        max-width: none;
    }

    body.sgu-home-2026 .communityBlocksHeader {
        position: relative;
        box-sizing: border-box;
        display: block;
        width: 100%;
        height: 190px;
        min-height: 190px;
        padding: 0;
        background: linear-gradient(180deg, rgba(20,63,255,.6) 0%, #143fff 100%);
        border-radius: 0;
    }

    body.sgu-home-2026 .communityBlocksHeaderText {
        position: absolute;
        top: 45px;
        left: calc(50% - 578px);
        width: 564px;
        margin: 0;
        color: #fff;
        font-family: var(--font-helvetica);
        font-size: 46px;
        font-weight: 700;
        line-height: 50px;
        letter-spacing: .3901px;
    }

    body.sgu-home-2026 .communityBlock {
        position: absolute;
        top: 72px;
        left: calc(50% + 76px);
        display: flex;
        width: 468px;
        height: 64px;
        padding: 0;
        gap: 16px;
        background: transparent;
        border-radius: 0;
    }

    body.sgu-home-2026 .communityBlock a {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 64px;
        height: 64px;
        flex: 0 0 64px;
        border: 1px solid #fff;
        border-radius: 50%;
    }

    body.sgu-home-2026 .communityBlock img {
        display: block;
        width: 36px;
        max-width: 36px;
        height: 36px;
        object-fit: contain;
    }

    body.sgu-home-2026 .mainComunityBlock {
        position: relative;
        box-sizing: border-box;
        display: block;
        width: min(1280px, calc(100% - 40px));
        max-width: 1280px;
        height: 460px;
        margin: 0 auto;
        padding: 0;
    }

    body.sgu-home-2026 .communityBlockFirst {
        position: absolute;
        top: 41px;
        left: 52px;
        width: 411px;
    }

    body.sgu-home-2026 .communityBlockFirstImg {
        display: block;
        width: 411px;
        height: 352px;
        object-fit: cover;
        border-radius: 50px;
    }

    body.sgu-home-2026 .communityBlockFirst p {
        margin-top: 10px;
        color: #313131;
        font-family: var(--font-helvetica);
        font-size: 14px;
        font-weight: 400;
        line-height: 16px;
        letter-spacing: -.42px;
        opacity: .6;
    }

    body.sgu-home-2026 .communityBlockSecond {
        position: absolute;
        top: 61px;
        left: 506px;
        display: block;
        width: 433px;
    }

    body.sgu-home-2026 .communityBlockSecondImg {
        display: block;
        width: 52px;
        height: 42px;
        object-fit: contain;
    }

    body.sgu-home-2026 .communityBlockSecond > p {
        width: 433px;
        margin: 44px 0 0;
        color: var(--figma-dark-blue);
        font-family: var(--font-helvetica);
        font-size: 25px;
        font-style: italic;
        font-weight: 300;
        line-height: 1;
        letter-spacing: 0;
    }

    body.sgu-home-2026 .foterComunity {
        display: flex;
        justify-content: space-between;
        width: 409px;
        margin-top: 18px;
        gap: 0;
    }

    body.sgu-home-2026 .foterComunity h2 {
        margin: 0;
        color: var(--figma-dark-blue);
        font-family: var(--font-neue);
        font-size: 28px;
        font-weight: 500;
        line-height: normal;
        letter-spacing: -.84px;
    }

    body.sgu-home-2026 .foterComunity h3 {
        margin: 5px 0 0;
        color: var(--figma-dark-blue);
        font-family: var(--font-helvetica);
        font-size: 16px;
        font-weight: 400;
        line-height: normal;
        letter-spacing: -.48px;
    }

    body.sgu-home-2026 .foterComunity img {
        width: 52px;
        height: 42px;
        object-fit: contain;
        transform: rotate(180deg);
    }

    body.sgu-home-2026 .communityBlockThirdImg {
        position: absolute;
        top: 87px;
        left: 971px;
        display: block;
        width: 237px;
        max-width: none;
        height: 248px;
        object-fit: contain;
    }

    /* ---------- NEWS: Figma node 169:1741 ---------- */
    body.sgu-home-2026 .news {
        box-sizing: border-box;
        padding-top: 0;
    }

    body.sgu-home-2026 .news-block {
        box-sizing: border-box;
      /*  width: min(1440px, 100%); */
        height: 922px;
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        border-radius: 60px;
        background: var(--figma-cream);
    }

    body.sgu-home-2026 .news-block > .main {
        width: min(1270px, calc(100% - 40px));
        max-width: 1270px;
    }

    body.sgu-home-2026 .tabs {
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        height: 208px;
        padding: 63px 0 0;
    }

    body.sgu-home-2026 .tabs a,
    body.sgu-home-2026 .tabs a.active {
        color: #4063fc;
        font-family: var(--font-helvetica);
        font-size: 48px;
        font-weight: 700;
        line-height: normal;
        opacity: .5;
    }

    body.sgu-home-2026 .tabs a.active {
        color: var(--figma-blue);
        opacity: 1;
    }

    body.sgu-home-2026 .news-grid {
        display: grid;
        grid-template-columns: minmax(0, 601fr) minmax(0, 316fr) minmax(0, 316fr);
        gap: 18px;
        width: 100%;
        height: 629px;
        padding: 0;
        align-items: start;
    }

    body.sgu-home-2026 .main-card {
        display: block;
        height: 629px;
        min-height: 0;
    }

    body.sgu-home-2026 .main-card .thumb {
        width: 100%;
        height: 453px;
        aspect-ratio: auto;
        border-radius: 30px;
    }

    body.sgu-home-2026 .main-card .date-badge {
        top: 27px;
        right: 27px;
        padding: 7px 14px;
        border-radius: 10px;
        background: #fff;
        color: var(--figma-blue);
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 700;
        line-height: normal;
    }

    body.sgu-home-2026 .tag {
        box-sizing: border-box;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 187px;
        height: 38px;
        margin-top: 12px;
        padding: 0 20px;
        border-radius: 10px;
        background: #fff;
        color: #4063fc;
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 700;
        line-height: normal;
        text-transform: lowercase;
    }

    body.sgu-home-2026 .main-card h2 {
        width: 100%;
        margin: 6px 0 0;
        color: #000;
        font-family: var(--font-neue);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
        -webkit-text-stroke: 0;
    }

    body.sgu-home-2026 .side-row {
        display: grid;
        grid-template-rows: 297px 297px;
        gap: 7px;
        height: 601px;
    }

    body.sgu-home-2026 .side-card {
        display: block;
        height: 297px;
        min-height: 297px;
    }

    body.sgu-home-2026 .side-card .thumb {
        width: 100%;
        height: 216px;
        aspect-ratio: auto;
        border-radius: 15px;
    }

    body.sgu-home-2026 .side-card .date-badge {
        top: 15px;
        right: 15px;
        padding: 5px 8px;
        border-radius: 5px;
        background: #fff;
        color: var(--figma-blue);
        font-family: var(--font-helvetica);
        font-size: 16px;
        font-weight: 700;
        line-height: normal;
    }

    body.sgu-home-2026 .side-card p {
        width: 100%;
        min-height: 74px;
        margin: 7px 0 0;
        color: #000;
        font-family: var(--font-helvetica);
        font-size: 18px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0;
        -webkit-text-stroke: 0;
    }

    body.sgu-home-2026 .all-news {
        margin-top: 15px;
        text-align: right;
    }

    body.sgu-home-2026 .all-news a {
        color: #4063fc;
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 700;
        line-height: normal;
        text-decoration: underline;
        text-underline-position: from-font;
    }

    /* ---------- STATS: Figma node 169:424 ---------- */
    body.sgu-home-2026 section.line {
        box-sizing: border-box;
        height: 245px;
        padding: 72px 0 0;
        background: #fff;
    }

    body.sgu-home-2026 .marquee {
        padding: 0;
        border-radius: 0;
        background: #fff;
    }

    body.sgu-home-2026 .stat-group {
        gap: 0;
        padding: 0 40px;
    }

    body.sgu-home-2026 .stat-number {
        color: var(--figma-blue);
        font-family: var(--font-helvetica);
        font-size: 48px;
        font-weight: 700;
        line-height: normal;
    }

    body.sgu-home-2026 .stat-label {
        color: var(--figma-dark-blue);
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 400;
        line-height: normal;
    }

    /* ---------- LIFE IN SOCHISU: Figma node 169:438 ---------- */
    body.sgu-home-2026 .learning {
        position: relative;
        box-sizing: border-box;
      /*  width: min(1440px, 100%); */
        height: 922px;
        margin: 0 auto;
        padding: 0;
        overflow: hidden;
        border-radius: 60px;
        background: var(--figma-cream);
    }

    body.sgu-home-2026 .learning > .main {
        width: min(1290px, calc(100% - 40px));
        max-width: 1290px;
        height: 922px;
    }

    body.sgu-home-2026 .learningBlock {
        position: relative;
        display: block;
        width: 100%;
        height: 922px;
    }

    body.sgu-home-2026 .learningBlockFirst {
        position: absolute;
        top: 51px;
        left: 6px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 668px;
        height: 811px;
        padding: 120px 40px 40px;
        border-radius: 12px;
        background: var(--figma-blue);
    }

    body.sgu-home-2026 .learningBlockFirst h2 {
        width: 690px;
        margin: 0;
        color: #fff;
        font-family: var(--font-helvetica);
        font-size: 64px;
        font-weight: 400;
        line-height: 64px;
        letter-spacing: 0;
    }

    body.sgu-home-2026 .learningBlockFirst h2 b {
        font-weight: 700;
    }

    body.sgu-home-2026 .learningBlockFirst p {
        width: 655px;
        margin: 0;
        color: #fff;
        font-family: var(--font-neue);
        font-size: 36px;
        font-weight: 300;
        line-height: 36px;
        letter-spacing: 1.8px;
    }

    body.sgu-home-2026 .learningBlockFirst a {
        position: relative;
        box-sizing: border-box;
        display: block;
        width: 291px;
        height: 87px;
        padding: 14px 33px 13px;
        border-radius: 12px;
        background: var(--figma-pink);
        color: #fff;
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
    }

    body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle {
        position: absolute;
        top: 14px;
        left: 196px;
        width: 60px;
        height: 60px;
        border-radius: 0;
        background: transparent url('assets/figma-arrow-ne-pink.svg') center/60px 60px no-repeat;
    }

    body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle::before,
    body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle::after {
        display: none;
    }

    body.sgu-home-2026 .learningBlockImg {
        position: absolute;
        top: 13px;
        left: 701px;
        display: block;
        width: 578px;
        max-width: 578px;
        height: 832px;
        object-fit: contain;
    }

    /* ---------- WHY SOCHISU: Figma node 169:464 ---------- */
    body.sgu-home-2026 .why {
        box-sizing: border-box;
        width: min(1440px, 100%);
        height: 522px;
        margin: 0 auto;
        padding: 33px 0 0;
    }

    body.sgu-home-2026 .why > .main {
        width: min(1259px, calc(100% - 40px));
        max-width: 1259px;
    }

    body.sgu-home-2026 .why h2 {
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 1259px;
        max-width: 100%;
        height: 112px;
        margin: 0 0 35px;
        padding: 20px 100px;
        border-radius: 12px;
        background: var(--figma-cream);
        color: var(--figma-blue);
        font-family: var(--font-helvetica);
        font-size: 46px;
        font-weight: 700;
        line-height: 64px;
        text-align: center;
    }

    body.sgu-home-2026 .whyBlocks {
        display: flex;
        flex-wrap: nowrap;
        width: 100%;
        gap: 9px;
    }

    body.sgu-home-2026 .whyBlock {
        box-sizing: border-box;
        display: flex;
        flex: 1 1 0;
        flex-direction: column;
        justify-content: space-between;
        width: auto;
        height: 280px;
        padding: 40px;
        gap: 0;
        border-radius: 12px;
        background: var(--figma-blue);
    }

    body.sgu-home-2026 .whyBlock p {
        width: 100%;
        margin: 0;
        color: #fff;
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 700;
        line-height: 25px;
    }

    body.sgu-home-2026 .whyBlock:nth-child(3) p {
        font-size: 22px;
    }

    body.sgu-home-2026 .whyBlockTitel {
        width: 100%;
        margin: 0;
        color: #fff;
        font-family: var(--font-neue);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: -.48px;
    }

    body.sgu-home-2026 .whyBlock:first-child .whyBlockTitel {
        font-family: var(--font-neue);
        font-weight: 300;
        letter-spacing: .8px;
    }

    body.sgu-home-2026 .whyBlock:hover {
        transform: none;
        box-shadow: none;
    }

    /* ---------- GOVERNMENT + PARTNERS: geometry from desktop frame metadata ---------- */
    body.sgu-home-2026 .gosResyrs,
    body.sgu-home-2026 .partner {
        box-sizing: border-box;
        width: min(1440px, 100%);
        height: 334px;
        margin: 0 auto;
        padding: 35px 0 0;
    }

    body.sgu-home-2026 .gosResyrs h2,
    body.sgu-home-2026 .partner h2 {
        margin: 0;
        padding: 0;
        color: var(--figma-blue);
        font-family: var(--font-helvetica);
        font-size: 28px;
        font-weight: 700;
        line-height: 36px;
    }

    body.sgu-home-2026 .gosResyrsBlock {
        display: flex;
        justify-content: space-between;
        width: 1053px;
        max-width: 100%;
        margin: 48px auto 0;
    }

    body.sgu-home-2026 .resource-logo {
        box-sizing: border-box;
        width: 207px;
        height: 160px;
        flex: 0 0 207px;
        border-radius: 0;
        background: transparent;
    }

    body.sgu-home-2026 .resource-logo-img {
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        padding: 28px 16px;
        object-fit: contain;
    }

    body.sgu-home-2026 .partnerBlock {
        display: flex;
        justify-content: space-between;
        width: 1260px;
        max-width: 100%;
        margin: 37px auto 0;
        gap: 3px;
    }

    body.sgu-home-2026 .partner-logo {
        box-sizing: border-box;
        width: 207px;
        height: 160px;
        flex: 0 0 207px;
        border-radius: 0;
    }

    body.sgu-home-2026 .partner-logo .partner-logo-img {
        box-sizing: border-box;
        width: 100%;
        height: 100%;
        padding: 28px 18px;
        object-fit: contain;
    }

    /* ---------- CONTACTS: preserve Figma 1440×1043 section proportions ---------- */
    body.sgu-home-2026 .contact {
        box-sizing: border-box;
       /* width: min(1440px, 100%); */
        min-height: 1043px;
        margin: 0 auto;
        padding: 60px 0;
        border-radius: 60px;
        background: var(--figma-cream);
    }

    /* ---------- CTA rows: final rector reference, square outer rows ---------- */
    body.sgu-home-2026 .question,
    body.sgu-home-2026 .version {
        padding-left: 0;
        padding-right: 0;
    }

    body.sgu-home-2026 .questionBlock,
    body.sgu-home-2026 .versionBlock {
        border-radius: 0;
    }
}

/* On tablet/mobile we keep the dedicated responsive layout from style.css,
   but use the exact font families where those families exist. */
@media (max-width: 768px) {
    body.sgu-home-2026 .heroLeftSideTitleText,
    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite,
    body.sgu-home-2026 .heroRightSideBlockTitel,
    body.sgu-home-2026 .heroRightSideBlockDescription {
        font-family: var(--font-neue);
    }

    body.sgu-home-2026 .underBlockTitle,
    body.sgu-home-2026 .communityBlocksHeaderText,
    body.sgu-home-2026 .tabs a,
    body.sgu-home-2026 .side-card p,
    body.sgu-home-2026 .stat-number,
    body.sgu-home-2026 .stat-label,
    body.sgu-home-2026 .why h2,
    body.sgu-home-2026 .whyBlock p {
        font-family: var(--font-helvetica);
    }

    body.sgu-home-2026 .underBlock .ui-arrow-circle {
        background: transparent url('assets/figma-arrow-ne-blue.svg') center/100% 100% no-repeat;
    }

    body.sgu-home-2026 .underBlock .ui-arrow-circle::before,
    body.sgu-home-2026 .underBlock .ui-arrow-circle::after {
        display: none;
    }

    body.sgu-home-2026 .underBlock.hovered .ui-arrow-circle {
        background-image: url('assets/figma-arrow-ne-white.svg');
    }
}

/* ==========================================================
   v19 — desktop top lock
   The desktop Figma frame is 1440px wide. Values below are derived from
   that frame and scale only up to 1440px. Wider monitors keep the exact
   1440px composition centered instead of enlarging it indefinitely.

   This block intentionally wins over the older v5 490px desktop rules.
   Mobile/tablet rules remain untouched.
   ========================================================== */
@media (min-width: 1221px) {
    /* First screen: Figma 1440 × 558. */
    body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
        height: min(38.75vw, 558px) !important;          /* 558 / 1440 */
        min-height: min(38.75vw, 558px) !important;
        max-height: min(38.75vw, 558px) !important;
        overflow: hidden !important;
        background-size: 100% 100% !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
    }

    /* ---------- Header: Figma node 169:223 ---------- */
    body.sgu-home-2026 .fullscreen-slider--home .main-header {
        position: absolute !important;
        inset: 0 0 auto 0 !important;
        width: 100% !important;
        height: min(9.0277778vw, 130px) !important;       /* 130 / 1440 */
        z-index: 1000 !important;
        background: transparent !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .mainHeader {
        width: min(89.0277778vw, 1282px) !important;       /* 1282 / 1440 */
        max-width: none !important;
        margin: 0 auto !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .blockHeader {
        box-sizing: content-box !important;
        width: min(87.2916667vw, 1257px) !important;       /* 1257 / 1440 */
        height: min(5.1388889vw, 74px) !important;       /* 74 / 1440 */
        margin: 0 0 0 min(.9027778vw, 13px) !important; /* 13 / 1440 */
        padding: min(3.5416667vw, 51px) 0 0 !important;  /* y = 51 */
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockLogo {
        flex: 0 0 auto !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockLogo img {
        width: min(4.5506944vw, 65.53px) !important;         /* 65.53 / 1440 */
        height: min(4.3304167vw, 62.358px) !important;        /* 62.358 / 1440 */
        object-fit: contain !important;
    }

    /* The whole right header group starts at design x=122 inside 169:223.
       Keeping its design width fixes the regression where the menu moved
       toward the right after the v18 gap override. */
    body.sgu-home-2026 .fullscreen-slider--home .headerBlockNav {
        width: min(79.7222222vw, 1148px) !important;        /* 1148 / 1440 */
        flex: 0 0 min(79.7222222vw, 1100px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0 !important;
        min-width: 0 !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockNav .navHeader.menu-root {
        width: min(61.3194444vw, 883px) !important;        /* ~883 / 1440 */
        flex: 0 0 min(61.3194444vw, 883px) !important;
        min-width: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerBlockNav .navbar-nav {
        display: flex !important;
        align-items: center !important;
        gap: min(2.0138889vw, 29px) !important;           /* 29 / 1440 */
        margin: 0 !important;
        padding: 0 !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .headerTextNav {
        margin: 0 !important;
        padding: 0 min(.6944444vw, 10px) 0 0 !important; /* 10 / 1440 */
        color: var(--figma-blue) !important;
        font-family: var(--font-helvetica) !important;
        font-size: min(.9722222vw, 14px) !important;      /* 14 / 1440 */
        font-weight: 400 !important;
        line-height: min(1.0416667vw, 15px) !important;   /* 15 / 1440 */
        white-space: nowrap;
    }

    body.sgu-home-2026 .fullscreen-slider--home .select {
        width: min(9.2361111vw, 133px) !important;         /* 133 / 1440 */
        flex: 0 0 min(9.2361111vw, 133px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 0 !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .selectBlock {
        gap: 0 !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .eyeButton {
        box-sizing: border-box !important;
        width: min(1.9444444vw, 28px) !important;         /* 28 / 1440 */
        height: min(1.9444444vw, 28px) !important;
        min-width: min(1.9444444vw, 28px) !important;
        padding: 0 !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border-radius: 50% !important;
        background: var(--figma-blue) !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .eyeButton img {
        width: min(1.1111111vw, 16px) !important;         /* 16 / 1440 */
        height: min(.6944444vw, 10px) !important;         /* 10 / 1440 */
        object-fit: contain !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .lang-selector,
    body.sgu-home-2026 .fullscreen-slider--home .lang-selector label {
        min-width: min(4.2361111vw, 61px) !important;
        overflow: visible !important;
        white-space: nowrap !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .lang-selector select {
        width: auto !important;
        min-width: min(4.2361111vw, 61px) !important;
        height: min(1.9444444vw, 28px) !important;
        padding: 0 min(1.25vw, 18px) 0 0 !important;
        color: var(--figma-blue) !important;
        font-family: var(--font-inter) !important;
        font-size: min(.9722222vw, 14px) !important;      /* 14 / 1440 */
        font-weight: 400 !important;
        line-height: min(1.3888889vw, 20px) !important;   /* 20 / 1440 */
    }

    /* ---------- Hero content ---------- */
    body.sgu-home-2026 .fullscreen-slider--home > .main {
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: none !important;
        height: min(38.75vw, 558px) !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    body.sgu-home-2026 .fullscreen-slider--home .hero {
        position: relative !important;
        display: block !important;
        box-sizing: border-box !important;
        width: min(89.0277778vw, 1282px) !important;        /* 1282 / 1440 */
        max-width: none !important;
        height: min(38.75vw, 558px) !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    body.sgu-home-2026 .heroLeftSide {
        position: absolute !important;
        top: min(10.5555556vw, 152px) !important;          /* 152 / 1440 */
        left: min(8.4722222vw, 122px) !important;          /* 122 / 1440 */
        display: block !important;
        width: min(46.875vw, 675px) !important;            /* 675 / 1440 */
        min-width: 0 !important;
    }

    body.sgu-home-2026 .heroLeftSideTitleText {
        margin: 0 !important;
        color: var(--figma-blue) !important;
        font-family: var(--font-neue) !important;
        font-size: min(2.7777778vw, 40px) !important;      /* 40 / 1440 */
        font-weight: 700 !important;
        line-height: 1.2 !important;
        letter-spacing: 0 !important;
        text-transform: uppercase !important;
    }

    body.sgu-home-2026 .heroLeftSideDiscriptionText {
        width: min(46.875vw, 675px) !important;            /* 675 / 1440 */
        margin: min(1.1111111vw, 16px) 0 0 !important;   /* 16 / 1440 */
        color: var(--figma-dark-blue) !important;
        font-family: var(--font-helvetica) !important;
        font-size: min(1.3888889vw, 20px) !important;     /* 20 / 1440 */
        font-weight: 400 !important;
        line-height: min(1.3888889vw, 20px) !important;   /* 20 / 1440 */
        letter-spacing: 0 !important;
    }

    body.sgu-home-2026 .heroLeftSideButtons {
        display: flex !important;
        flex-direction: row !important;
        width: auto !important;
        margin-top: min(2.7083333vw, 39px) !important;    /* 39 / 1440 */
        gap: min(1.6666667vw, 24px) !important;           /* 24 / 1440 */
    }

    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue,
    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        box-sizing: border-box !important;
        height: min(4.5138889vw, 65px) !important;        /* 65 / 1440 */
        padding: min(1.3888889vw, 20px) min(2.7777778vw, 40px) !important;
        border-radius: min(2.0833333vw, 30px) !important; /* 30 / 1440 */
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        gap: min(1.3888889vw, 20px) !important;           /* 20 / 1440 */
        font-family: var(--font-neue) !important;
        font-size: min(1.3888889vw, 20px) !important;     /* 20 / 1440 */
        font-weight: 700 !important;
        line-height: 1.307 !important;
        white-space: nowrap !important;
    }

    body.sgu-home-2026 .heroLeftSideButtonsButtonBlue {
        width: min(15.5555556vw, 224px) !important;        /* 224 / 1440 */
    }

    body.sgu-home-2026 .heroLeftSideButtonsButtonWhite {
        width: min(19.8611111vw, 286px) !important;        /* 286 / 1440 */
        border-width: min(.0694444vw, 1px) !important;   /* 1 / 1440 */
    }

    body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle {
        width: min(2.7934028vw, 40.225px) !important;         /* 40.225 / 1440 */
        height: min(2.7934028vw, 40.225px) !important;
        flex: 0 0 min(2.7934028vw, 40.225px) !important;
    }

    body.sgu-home-2026 .heroRightSide {
        position: absolute !important;
        top: min(10.7638889vw, 155px) !important;          /* 155 / 1440 */
        left: min(59.4444444vw, 856px) !important;         /* 856 / 1440 */
        display: flex !important;
        flex-direction: column !important;
        width: min(21.9444444vw, 316px) !important;        /* 316 / 1440 */
        gap: min(.7638889vw, 11px) !important;            /* 11 / 1440 */
        margin: 0 !important;
    }

    body.sgu-home-2026 .heroRightSideBlock {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: flex-start !important;
        width: min(21.9444444vw, 316px) !important;        /* 316 / 1440 */
        min-width: 0 !important;
        height: min(3.6805556vw, 53px) !important;        /* 53 / 1440 */
        min-height: 0 !important;
        padding: min(.3472222vw, 5px) min(1.3888889vw, 20px) !important; /* 5 20 */
        gap: min(1.3888889vw, 20px) !important;           /* 20 / 1440 */
        border-radius: min(2.0833333vw, 30px) !important; /* 30 / 1440 */
        background: var(--figma-cream) !important;
        text-align: left !important;
    }

    body.sgu-home-2026 .heroRightSideBlock:nth-child(3) {
        height: min(3.6111111vw, 52px) !important;        /* 52 / 1440 */
    }

    body.sgu-home-2026 .heroRightSideBlock > img {
        display: block !important;
        flex: 0 0 auto !important;
        object-fit: contain !important;
        opacity: .58 !important;
    }

    body.sgu-home-2026 .heroRightSideBlock:nth-child(1) > img {
        width: min(1.875vw, 27px) !important;
        height: min(1.875vw, 27px) !important;
    }
    body.sgu-home-2026 .heroRightSideBlock:nth-child(2) > img {
        width: min(1.3888889vw, 20px) !important;
        height: min(1.875vw, 27px) !important;
    }
    body.sgu-home-2026 .heroRightSideBlock:nth-child(3) > img {
        width: min(2.6388889vw, 38px) !important;
        height: min(2.6388889vw, 38px) !important;
        margin-left: max(-.4166667vw, -6px) !important;
    }

    body.sgu-home-2026 .heroRightSideBlockTitel {
        flex: 0 0 auto !important;
        margin: 0 !important;
        color: var(--figma-blue) !important;
        font-family: var(--font-neue) !important;
        font-size: min(2.4305556vw, 35px) !important;      /* 35 / 1440 */
        font-weight: 700 !important;
        line-height: normal !important;
        letter-spacing: max(-.0243056vw, -0.35px) !important;
        white-space: nowrap !important;
    }

    body.sgu-home-2026 .heroRightSideBlockDescription {
        margin: 0 !important;
        color: var(--figma-dark-blue) !important;
        font-family: var(--font-neue) !important;
        font-size: min(.9722222vw, 14px) !important;      /* 14 / 1440 */
        font-weight: 400 !important;
        line-height: 1 !important;
        letter-spacing: max(-.0097222vw, -0.14px) !important;
        text-align: left !important;
    }
}

/* ==========================================================
   v21 — 1440px desktop cap + white side background
   The hero artwork stays at its native 1440 × 558 size on wider screens.
   The extra viewport space is intentionally plain white, matching the rest
   of the page instead of trying to continue the image with gradients.
   ========================================================== */
@media (min-width: 1441px) {
    body.sgu-home-2026 .fullscreen-slider.fullscreen-slider--home {
        background-color: #fff !important;
        background-image: url("img/heroBg.png") !important;
        background-size: 1440px 558px !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
    }
}


/* ==========================================================
   v22 — typography/arrow/marquee/contact polish
   Checked against the Figma values already retrieved for nodes
   104:73/78, 169:1741, 169:424, 169:438, 169:464, 169:1754,
   256:164 and 272:189/228. No new !important declarations.
   ========================================================== */
body.sgu-home-2026 {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: geometricPrecision;
}

@media (min-width: 769px) {
    /* 1. Hero buttons: Figma uses a filled straight right arrow, not the
       thin CSS chevron used by the generic UI arrow. */
    body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle {
        border-radius: 50%;
        background: var(--arrow-bg);
        color: var(--arrow-color);
    }
    body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle::before {
        display: none;
    }
    body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle::after {
        content: "";
        display: block;
        width: 13px;
        height: 18px;
        border: 0;
        border-radius: 0;
        background: currentColor;
        clip-path: polygon(0 0, 100% 50%, 0 100%, 23% 58%, 23% 42%);
        transform: none;
    }

    /* 2. Memo cards: center the text group vertically. Figma's fourth card
       is explicitly two lines: "Единое / окно". */
    body.sgu-home-2026 .underBlockTitle {
        top: 0;
        bottom: auto;
        display: flex;
        align-items: center;
        width: 163px;
        height: 87px;
        font-family: var(--font-helvetica);
        font-size: 18px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0;
    }

    /* 3. News typography — restated explicitly from Figma so older news
       component rules cannot visually leak in. */
    body.sgu-home-2026 .tabs a,
    body.sgu-home-2026 .tabs a.active {
        font-family: var(--font-helvetica);
        font-size: 48px;
        font-weight: 700;
        line-height: normal;
        letter-spacing: 0;
    }
    body.sgu-home-2026 .main-card h2 {
        font-family: var(--font-neue);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
    }
    body.sgu-home-2026 .side-card p {
        font-family: var(--font-helvetica);
        font-size: 18px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0;
    }

    /* 4. A marquee set is generated wide enough to cover the viewport,
       then duplicated once. -50% therefore lands on an identical set. */
    body.sgu-home-2026 .marquee-track {
        display: flex;
        width: max-content;
        gap: 0;
        animation-duration: 44s;
        will-change: transform;
    }
    body.sgu-home-2026 .marquee-set {
        display: flex;
        flex: 0 0 auto;
        width: max-content;
    }

    /* 5. Life block: Figma node 169:462 is Helvetica Light, not
       Helvetica Neue Light. The pink CTA uses a straight right arrow. */
    body.sgu-home-2026 .learningBlockFirst p {
        font-family: var(--font-helvetica);
        font-size: 36px;
        font-weight: 300;
        line-height: 36px;
        letter-spacing: 1.8px;
    }
    body.sgu-home-2026 .learningBlockFirst a {
        display: flex;
        align-items: center;
        width: 291px;
        height: 87px;
        padding: 0 33px;
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
    }
    body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle {
        top: 14px;
        left: 196px;
        width: 60px;
        height: 60px;
        border-radius: 50%;
        background: #fff;
        color: var(--figma-pink);
    }
    body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle::before {
        display: none;
    }
    body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle::after {
        content: "";
        display: block;
        width: 13px;
        height: 18px;
        border: 0;
        border-radius: 0;
        background: currentColor;
        clip-path: polygon(0 0, 100% 50%, 0 100%, 23% 58%, 23% 42%);
        transform: none;
    }

    /* 6. Why SochiSU: exact Figma text boxes/weights. The widths matter:
       they determine the same wrapping as the design. */
    body.sgu-home-2026 .whyBlock:nth-child(1) > p { width: 165px; }
    body.sgu-home-2026 .whyBlock:nth-child(2) > p { width: 183px; }
    body.sgu-home-2026 .whyBlock:nth-child(3) > p { width: 188px; }
    body.sgu-home-2026 .whyBlock:nth-child(4) > p { width: 164px; }
    body.sgu-home-2026 .whyBlock:nth-child(5) > p { width: 165px; }

    body.sgu-home-2026 .whyBlock:nth-child(1) .whyBlockTitel {
        width: 184px;
        font-family: var(--font-helvetica);
        font-weight: 300;
        letter-spacing: .8px;
    }
    body.sgu-home-2026 .whyBlock:nth-child(2) .whyBlockTitel { width: 168px; }
    body.sgu-home-2026 .whyBlock:nth-child(3) .whyBlockTitel { width: 163px; }
    body.sgu-home-2026 .whyBlock:nth-child(4) .whyBlockTitel { width: 165px; }
    body.sgu-home-2026 .whyBlock:nth-child(5) .whyBlockTitel { width: 146px; }

    body.sgu-home-2026 .whyBlock:nth-child(n+2) .whyBlockTitel {
        font-family: var(--font-neue);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: -.48px;
    }

    /* 7. Contacts: Figma uses four near-equal columns with ~30px gaps.
       The old 60px gaps squeezed the middle columns and caused extra wraps. */
    body.sgu-home-2026 .contact > .main {
        width: min(1260px, calc(100% - 40px));
        max-width: 1260px;
        margin: 0 auto;
    }
    body.sgu-home-2026 .contacts-block h1 {
        margin: 0 0 20px;
        color: var(--figma-blue);
        font-family: var(--font-neue);
        font-size: 28px;
        font-weight: 700;
        line-height: 36px;
        letter-spacing: 0;
    }
    body.sgu-home-2026 .contacts-block .row {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 30px;
    }
    body.sgu-home-2026 .contacts-block .col {
        min-width: 0;
    }
    body.sgu-home-2026 .contacts-block .col-title {
        margin-bottom: 8px;
        font-family: var(--font-helvetica);
        font-size: 20px;
        font-weight: 700;
        line-height: 26px;
        letter-spacing: .8px;
    }
    body.sgu-home-2026 .contacts-block .col p {
        font-family: var(--font-helvetica);
        font-size: 16px;
        font-weight: 400;
        line-height: 1.3;
        letter-spacing: 0;
    }
    body.sgu-home-2026 .contacts-block .col a {
        font-family: var(--font-helvetica);
        font-size: 18px;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: 0;
    }
    body.sgu-home-2026 .contacts-block .label,
    body.sgu-home-2026 .contacts-block .schedule-day,
    body.sgu-home-2026 .contacts-block .schedule-time {
        font-family: var(--font-helvetica);
        font-size: 20px;
        font-weight: 400;
        line-height: 26px;
        letter-spacing: 0;
    }

    /* 8. Bottom CTA rows: exact 1440-frame geometry from Figma node 256:164.
       The two rows are only 14px apart; text is much smaller than the old
       38/44px implementation, and the action pill is 264×48 with a 22px icon. */
    body.sgu-home-2026 .question,
    body.sgu-home-2026 .version {
        box-sizing: border-box;
        width: min(1440px, 100%);
        margin: 0 auto;
    }
    body.sgu-home-2026 .question {
        padding-top: 74px;
    }
    body.sgu-home-2026 .version {
        padding-top: 14px;
        padding-bottom: 19px;
    }
    body.sgu-home-2026 .question > .main,
    body.sgu-home-2026 .version > .main {
        width: min(1256px, calc(100% - 40px));
        max-width: 1256px;
        margin: 0 auto;
    }
    body.sgu-home-2026 .questionBlock,
    body.sgu-home-2026 .versionBlock {
        box-sizing: border-box;
        width: 100%;
        min-height: 0;
        height: 105px;
        padding: 0 60px;
        gap: 40px;
        border-radius: 0;
        background: var(--figma-blue);
    }
    body.sgu-home-2026 .questionBlock h2,
    body.sgu-home-2026 .versionBlock h2 {
        width: 562px;
        flex: 0 1 562px;
        margin: 0;
        color: #fff;
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 400;
        line-height: 23px;
        letter-spacing: 0;
    }
    body.sgu-home-2026 .questionBlock h2 b {
        font-weight: 700;
    }
    body.sgu-home-2026 .versionBlock h2 {
        line-height: 24px;
    }
    body.sgu-home-2026 .homeCtaButton {
        width: 264px;
        height: 48px;
        flex: 0 0 264px;
        padding: 0 14px 0 24px;
        gap: 12px;
        border-radius: 30px;
        background: var(--figma-cream);
        color: var(--figma-blue);
        font-family: var(--font-neue);
        font-size: 20px;
        font-weight: 700;
        line-height: 24px;
        box-shadow: none;
        transform: none;
    }
    body.sgu-home-2026 .homeCtaButton__text {
        text-align: center;
        transform: none;
    }
    body.sgu-home-2026 .homeCtaButton__arrow {
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
        background: var(--figma-blue);
        color: #fff;
    }
    body.sgu-home-2026 .homeCtaButton__arrow::after {
        font-size: 12px;
        line-height: 1;
    }
    body.sgu-home-2026 .homeCtaButton:hover {
        background: var(--figma-cream);
        box-shadow: none;
        transform: none;
    }
    body.sgu-home-2026 .homeCtaButton:hover .homeCtaButton__arrow {
        transform: none;
    }
}

/* ==========================================================
   v23 — final desktop micro-polish
   Targeted corrections from the 20.08 review. No !important.
   ========================================================== */
@media (min-width: 769px) {
    /* Main news headline: keep Figma size/leading, use the visually light
       Regular cut requested in the approved reference. */
    body.sgu-home-2026 .news .main-card h2 {
        font-family: var(--font-helvetica);
        font-size: 24px;
        font-weight: 400;
        line-height: 1.2;
        letter-spacing: 0;
    }

    /* Pink "Вступить" CTA: old layout still contributed justify-content:center,
       which pushed the text underneath the absolutely positioned 60px icon. */
    body.sgu-home-2026 .learningBlockFirst > a {
        justify-content: flex-start;
        align-items: center;
        padding: 0 33px;
        text-align: left;
    }
    body.sgu-home-2026 .learningBlockFirst > a .ui-arrow-circle {
        top: 14px;
        left: 196px;
    }

    /* White ripple must also switch both text layers to blue. The previous
       body-scoped Figma colour rules were more specific than the legacy
       .hovered selector, leaving the heading white on white. */
    body.sgu-home-2026 .whyBlock.hovered > p,
    body.sgu-home-2026 .whyBlock.hovered .whyBlockTitel {
        color: var(--figma-blue);
    }

    /* Bottom CTA: Figma/reference uses a regular action label, not Bold. */
    body.sgu-home-2026 .homeCtaButton {
        font-family: var(--font-helvetica);
        font-size: 18px;
        font-weight: 400;
        line-height: 24px;
    }

    /* The Figma rows are separated by exactly 14px. Explicit element
       specificity prevents the old .version { padding-top:50px } rule from
       leaking back in on desktop builds/caches. */
    body.sgu-home-2026 section.question {
        margin: 0 auto;
        padding-top: 74px;
    }
    body.sgu-home-2026 section.version {
        margin: 0 auto;
        padding-top: 14px;
        padding-bottom: 19px;
    }
}

/* ==========================================================
   v24 — exact typography + CTA row spacing
   Confirmed against Figma inspector screenshots from 20.08.
   No !important declarations.
   ========================================================== */
@media (min-width: 769px) {
    /* Figma: main news title = Helvetica Neue Bold, 24px / 120%, 0 tracking. */
    body.sgu-home-2026 .news .main-card h2 {
        font-family: var(--font-neue);
        font-size: 24px;
        font-weight: 700;
        line-height: 1.2;
        letter-spacing: 0;
    }

    /* Figma inspector: CTA action labels = Helvetica Neue Regular,
       16px / 24px, letter-spacing 0. */
    body.sgu-home-2026 .homeCtaButton {
        font-family: var(--font-neue);
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        letter-spacing: 0;
    }

    /* The generic site .main contributes 40px bottom padding in the live
       template (DevTools: 1256x145 around a 105px CTA row). Reset it here;
       the intentional distance between the rows is then only the Figma
       14px padding-top on .version. */
    body.sgu-home-2026 .question > .main,
    body.sgu-home-2026 .version > .main {
        padding: 0;
    }
}

/* ==========================================================
   v25 — CTA specificity fix
   The legacy selectors body.sgu-home-2026 .questionBlock a /
   .versionBlock a are more specific than .homeCtaButton, so explicitly
   target the button inside each CTA row. No !important declarations.
   ========================================================== */
@media (min-width: 769px) {
    body.sgu-home-2026 .questionBlock a.homeCtaButton,
    body.sgu-home-2026 .versionBlock a.homeCtaButton {
        position: relative;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        justify-content: center;
        width: 264px;
        height: 48px;
        flex: 0 0 264px;
        margin: 0;
        padding: 0 44px;
        gap: 0;
        border: 0;
        border-radius: 30px;
        background: var(--figma-cream);
        color: var(--figma-blue);
        font-family: var(--font-neue);
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        letter-spacing: 0;
        text-align: center;
        text-decoration: none;
        box-shadow: none;
        transform: none;
    }

    body.sgu-home-2026 .questionBlock a.homeCtaButton .homeCtaButton__text,
    body.sgu-home-2026 .versionBlock a.homeCtaButton .homeCtaButton__text {
        flex: 0 0 auto;
        margin: 0;
        padding: 0;
        font: inherit;
        color: inherit;
        line-height: inherit;
        letter-spacing: inherit;
        text-align: center;
        transform: none;
    }

    body.sgu-home-2026 .questionBlock a.homeCtaButton .homeCtaButton__arrow,
    body.sgu-home-2026 .versionBlock a.homeCtaButton .homeCtaButton__arrow {
        position: absolute;
        top: 50%;
        right: 12px;
        width: 22px;
        height: 22px;
        flex: 0 0 22px;
        margin: 0;
        transform: translateY(-50%);
    }

    body.sgu-home-2026 .questionBlock a.homeCtaButton:hover,
    body.sgu-home-2026 .versionBlock a.homeCtaButton:hover {
        background: var(--figma-cream);
        box-shadow: none;
        transform: none;
    }

    body.sgu-home-2026 .questionBlock a.homeCtaButton:hover .homeCtaButton__arrow,
    body.sgu-home-2026 .versionBlock a.homeCtaButton:hover .homeCtaButton__arrow {
        transform: translateY(-50%);
    }
}

/* ==========================================================
   v28 — full-bleed Why heading + unified action arrows
   Based on the current production candidate supplied 26.08.
   No !important declarations.
   ========================================================== */

/* The Why heading lives inside the 1259px content container. Keep the
   text/container geometry intact, but extend only its cream background
   to the viewport edges. */
@media (min-width: 769px) {
    body.sgu-home-2026 .why h2 {
        background: var(--figma-cream);
        box-shadow: 0 0 0 100vmax var(--figma-cream);
        clip-path: inset(0 -100vmax);
    }
}

/* One arrow glyph for every action/link arrow on the homepage.
   It is the exact north-east arrow geometry used by the "Единое окно"
   cards. The circle colours still follow the button contrast variant. */
body.sgu-home-2026 .ui-arrow-circle {
    border-radius: 50%;
    background: var(--arrow-bg);
    color: var(--arrow-color);
    background-image: none;
}

body.sgu-home-2026 .ui-arrow-circle::before {
    content: none;
    display: none;
}

body.sgu-home-2026 .ui-arrow-circle::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: currentColor;
    -webkit-mask: url('assets/figma-arrow-ne-glyph.svg') center / 100% 100% no-repeat;
    mask: url('assets/figma-arrow-ne-glyph.svg') center / 100% 100% no-repeat;
    transform: none;
}

/* White circles use the same Sochi-blue arrow, including the pink CTA. */
body.sgu-home-2026 .ui-arrow-circle--white-blue,
body.sgu-home-2026 .ui-arrow-circle--white-pink {
    --arrow-bg: #fff;
    --arrow-color: var(--figma-blue);
}

/* Blue circles keep a white arrow for contrast. */
body.sgu-home-2026 .ui-arrow-circle--blue-white {
    --arrow-bg: var(--figma-blue);
    --arrow-color: #fff;
}

/* Older Figma-exact rules used complete SVG circle assets in these blocks.
   Return them to the common circle + common glyph implementation. */
body.sgu-home-2026 .underBlock .ui-arrow-circle,
body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle,
body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle,
body.sgu-home-2026 .questionBlock a.homeCtaButton .ui-arrow-circle,
body.sgu-home-2026 .versionBlock a.homeCtaButton .ui-arrow-circle {
    border-radius: 50%;
    background: var(--arrow-bg);
    color: var(--arrow-color);
    background-image: none;
}

body.sgu-home-2026 .underBlock .ui-arrow-circle::before,
body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle::before,
body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle::before,
body.sgu-home-2026 .questionBlock a.homeCtaButton .ui-arrow-circle::before,
body.sgu-home-2026 .versionBlock a.homeCtaButton .ui-arrow-circle::before {
    content: none;
    display: none;
}

body.sgu-home-2026 .underBlock .ui-arrow-circle::after,
body.sgu-home-2026 .heroLeftSideButtons .ui-arrow-circle::after,
body.sgu-home-2026 .learningBlockFirst a .ui-arrow-circle::after,
body.sgu-home-2026 .questionBlock a.homeCtaButton .ui-arrow-circle::after,
body.sgu-home-2026 .versionBlock a.homeCtaButton .ui-arrow-circle::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: currentColor;
    -webkit-mask: url('assets/figma-arrow-ne-glyph.svg') center / 100% 100% no-repeat;
    mask: url('assets/figma-arrow-ne-glyph.svg') center / 100% 100% no-repeat;
    clip-path: none;
    transform: none;
}

body.sgu-home-2026 .underBlock.hovered .ui-arrow-circle {
    --arrow-bg: var(--figma-blue);
    --arrow-color: #fff;
    background: var(--arrow-bg);
    color: var(--arrow-color);
}

/* News hover link uses the same glyph. Carousel prev/next controls remain
   directional arrows because they communicate navigation, not an outbound link. */
body.sgu-home-2026 .arrow-icon {
    color: #fff;
    font-size: 0;
}

body.sgu-home-2026 .arrow-icon::before {
    content: none;
    display: none;
}

body.sgu-home-2026 .arrow-icon::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
    background: currentColor;
    -webkit-mask: url('assets/figma-arrow-ne-glyph.svg') center / 100% 100% no-repeat;
    mask: url('assets/figma-arrow-ne-glyph.svg') center / 100% 100% no-repeat;
    transform: none;
}
