/*
Theme Name: IT-Куб Старый Оскол
Theme URI: https://itcube31.ru/
Author: IT-Куб Старый Оскол
Description: Фирменная тема сайта IT-Куб Старый Оскол
Version: 1.0
Text Domain: itcube31
*/


/* =========================================================
   1. БАЗОВЫЕ ПЕРЕМЕННЫЕ
   ========================================================= */

:root {
    --itcube-blue: #1C75BC;
    --itcube-blue-dark: #155f9a;
    --itcube-orange: #ff7a00;

    --white: #ffffff;
    --text: #10233f;
    --text-soft: #53657c;
    --line: #e4ebf2;
    --soft-bg: #f5f9fc;

    --container: 1440px;
    --radius: 18px;
}


/* =========================================================
   2. СБРОС И БАЗОВАЯ ТИПОГРАФИКА
   ========================================================= */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    padding: 0;

    font-family:
        "Montserrat",
        "Segoe UI",
        Arial,
        sans-serif;

    color: var(--text);
    background: var(--white);

    font-size: 16px;
    line-height: 1.6;

    -webkit-font-smoothing: antialiased;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
}

.site-container {
    width: min(calc(100% - 64px), var(--container));
    margin-inline: auto;
}


/* =========================================================
   3. ВЕРХНЯЯ ИНФОРМАЦИОННАЯ ПОЛОСА
   ========================================================= */

.topbar {
    background: var(--white);
    border-bottom: 1px solid var(--line);
}

.topbar__inner {
    min-height: 48px;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;
}

.topbar__project {
    color: var(--itcube-blue);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}

.topbar__contacts {
    display: flex;
    align-items: center;
    justify-content: flex-end;

    gap: 28px;
}

.topbar__item {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    color: var(--text);
    font-size: 13px;
    font-weight: 600;

    transition: color .2s ease;
}

.topbar__item:hover {
    color: var(--itcube-blue);
}

.topbar__icon {
    color: var(--itcube-blue);
    font-size: 16px;
}


/* =========================================================
   4. ОСНОВНОЕ СИНЕЕ МЕНЮ
   ========================================================= */

.main-header {
    background: var(--itcube-blue);
}

.main-header__inner {
    min-height: 88px;

    display: flex;
    align-items: center;

    gap: 38px;
}

.site-brand {
    flex: 0 0 auto;

    color: var(--white);
}

.site-brand__temporary {
    display: flex;
    flex-direction: column;
    justify-content: center;

    min-width: 190px;
}

.site-brand__name {
    font-size: 26px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .01em;
}

.site-brand__city {
    margin-top: 6px;

    font-size: 14px;
    line-height: 1;
    font-weight: 600;

    opacity: .92;
}


/* =========================================================
   5. НАВИГАЦИЯ
   ========================================================= */

.main-navigation {
    flex: 1;
}

.main-menu {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 6px;

    margin: 0;
    padding: 0;

    list-style: none;
}

.main-menu > li {
    position: relative;
}

.main-menu > li > a {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 88px;

    padding: 0 18px;

    color: var(--white);

    font-size: 15px;
    font-weight: 700;

    transition:
        background .2s ease,
        color .2s ease;
}

.main-menu > li > a::after {
    content: "";

    position: absolute;
    left: 18px;
    right: 18px;
    bottom: 18px;

    height: 3px;

    background: var(--itcube-orange);

    border-radius: 50px;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform .2s ease;
}

.main-menu > li > a:hover::after,
.main-menu > .current-menu-item > a::after {
    transform: scaleX(1);
}


/* =========================================================
   6. КНОПКА "ЗАПИСАТЬСЯ"
   ========================================================= */

.header-enroll-button {
    flex: 0 0 auto;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    min-height: 50px;

    padding: 0 25px;

    border-radius: 12px;

    background: var(--itcube-orange);
    color: var(--white);

    font-size: 15px;
    font-weight: 800;

    box-shadow: 0 8px 22px rgba(0, 0, 0, .10);

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}

.header-enroll-button:hover {
    transform: translateY(-2px);

    background: #ed7100;

    box-shadow: 0 12px 25px rgba(0, 0, 0, .15);
}


/* =========================================================
   7. МОБИЛЬНОЕ МЕНЮ — ПОКА ЗАГОТОВКА
   ========================================================= */

.mobile-menu-button {
    display: none;

    width: 46px;
    height: 46px;

    padding: 10px;

    border: 0;
    border-radius: 10px;

    background: rgba(255,255,255,.12);

    cursor: pointer;
}

.mobile-menu-button span {
    display: block;

    width: 100%;
    height: 2px;

    margin: 5px 0;

    background: var(--white);

    border-radius: 10px;
}


/* =========================================================
   8. ОСНОВНАЯ ОБЛАСТЬ
   ========================================================= */

.site-main {
    width: 100%;
}


/* =========================================================
   9. ВРЕМЕННЫЙ ЭКРАН
   Позже заменим его настоящей главной страницей.
   ========================================================= */

.temporary-home {
    position: relative;

    min-height: 520px;

    display: flex;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            110deg,
            #ffffff 0%,
            #ffffff 62%,
            #f2f8fc 62%,
            #f2f8fc 100%
        );
}

.temporary-home::after {
    content: "";

    position: absolute;
    width: 420px;
    height: 420px;

    right: -120px;
    top: -110px;

    border: 1px solid rgba(28,117,188,.16);

    transform: rotate(45deg);
}

.temporary-home .site-container {
    position: relative;
    z-index: 2;
}

.temporary-home h1 {
    max-width: 800px;

    margin: 0 0 22px;

    color: var(--text);

    font-size: clamp(46px, 6vw, 80px);
    line-height: .98;
    letter-spacing: -.035em;

    font-weight: 800;
}

.temporary-home h1::first-line {
    color: var(--itcube-blue);
}

.temporary-home p {
    margin: 0;

    color: var(--text-soft);

    font-size: 20px;
    font-weight: 500;
}


/* =========================================================
   10. ФУТЕР
   ========================================================= */

.site-footer {
    position: relative;

    overflow: hidden;

    padding: 68px 0 24px;

    background: var(--itcube-orange);
    color: var(--white);
}

.site-footer::after {
    content: "";

    position: absolute;

    width: 480px;
    height: 480px;

    right: -270px;
    bottom: -300px;

    border: 1px solid rgba(255,255,255,.25);

    transform: rotate(45deg);
}

.site-footer__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: 1.2fr 1.35fr 1fr 1fr 1.35fr;

    gap: 48px;
}

.site-footer__brand {
    padding-right: 16px;
}

.site-footer__logo-placeholder {
    display: flex;
    flex-direction: column;

    margin-bottom: 20px;
}

.site-footer__logo-placeholder strong {
    font-size: 27px;
    line-height: 1;
    font-weight: 800;
}

.site-footer__logo-placeholder span {
    margin-top: 6px;

    font-size: 14px;
    font-weight: 600;
}

.site-footer__tagline {
    margin: 0 0 22px;

    font-size: 15px;
    font-weight: 600;
}

.site-footer__socials {
    display: flex;
    gap: 9px;
}

.site-footer__socials a {
    min-width: 45px;
    height: 45px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    padding: 0 10px;

    border: 1px solid rgba(255,255,255,.55);
    border-radius: 10px;

    color: var(--white);

    font-size: 13px;
    font-weight: 800;

    transition:
        background .2s ease,
        color .2s ease;
}

.site-footer__socials a:hover {
    background: var(--white);
    color: var(--itcube-orange);
}

.site-footer__column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;

    gap: 9px;
}

.site-footer__column h3 {
    margin: 0 0 10px;

    color: var(--white);

    font-size: 16px;
    font-weight: 800;
}

.site-footer__column a,
.site-footer__column p {
    margin: 0;

    color: rgba(255,255,255,.92);

    font-size: 13px;
    line-height: 1.55;
    font-weight: 500;
}

.site-footer__column a {
    transition: opacity .2s ease;
}

.site-footer__column a:hover {
    opacity: .70;
}

.site-footer__bottom {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    margin-top: 50px;
    padding-top: 22px;

    border-top: 1px solid rgba(255,255,255,.35);

    font-size: 12px;
    font-weight: 500;
}

.site-footer__legal {
    display: flex;
    align-items: center;
    gap: 28px;
}


/* =========================================================
   11. АДАПТИВ
   ========================================================= */

@media (max-width: 1200px) {

    .topbar__project {
        display: none;
    }

    .topbar__contacts {
        width: 100%;
        justify-content: space-between;
    }

    .main-header__inner {
        gap: 20px;
    }

    .main-menu > li > a {
        padding-inline: 12px;
    }

    .site-footer__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}


@media (max-width: 900px) {

    .site-container {
        width: min(calc(100% - 36px), var(--container));
    }

    .topbar__inner {
        padding-block: 9px;
    }

    .topbar__contacts {
        flex-wrap: wrap;
        justify-content: flex-start;

        gap: 8px 20px;
    }

    .main-header__inner {
        min-height: 76px;
    }

    .main-navigation {
        display: none;
    }

    .site-brand {
        flex: 1;
    }

    .site-brand__name {
        font-size: 22px;
    }

    .header-enroll-button {
        min-height: 44px;
        padding-inline: 18px;
    }

    .mobile-menu-button {
        display: block;
    }

    .temporary-home {
        min-height: 430px;
    }

    .temporary-home h1 {
        font-size: clamp(40px, 10vw, 64px);
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .site-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
    }

    .site-footer__legal {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}


@media (max-width: 600px) {

    .topbar__contacts {
        gap: 5px;
    }

    .topbar__item {
        width: 100%;
    }

    .site-brand__temporary {
        min-width: 0;
    }

    .site-brand__city {
        display: none;
    }

    .header-enroll-button {
        font-size: 13px;
        padding-inline: 14px;
    }

    .temporary-home {
        min-height: 380px;
    }

    .temporary-home h1 {
        font-size: 42px;
    }

    .temporary-home p {
        font-size: 17px;
    }

    .site-footer {
        padding-top: 50px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
        gap: 34px;
    }
}
/* =========================================================
   ПРАВКИ ШАПКИ
   ========================================================= */

/* Нормальные SVG-иконки в верхней строке */
.topbar__svg {
    width: 17px;
    height: 17px;

    flex: 0 0 17px;

    fill: var(--itcube-blue);
}


/* Название IT-КУБ */
.site-brand__name {
    color: var(--white);
}


/* Старый Оскол — оранжевым */
.site-brand__city {
    color: var(--itcube-orange);
    opacity: 1;
}


/* Круглая / капсульная кнопка Записаться */
.header-enroll-button {
    border-radius: 999px;
    padding-left: 26px;
    padding-right: 22px;
}


/* Стрелка внутри кнопки */
.header-enroll-button__arrow {
    width: 19px;
    height: 19px;

    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
/* =========================================================
   ОРИГИНАЛЬНЫЙ ЛОГОТИП В ШАПКЕ
   ========================================================= */

.site-brand__content {
    display: flex;
    align-items: center;
    gap: 14px;
}

.site-brand__logo {
    display: block;

    width: 68px;
    height: 68px;

    object-fit: contain;
    flex: 0 0 68px;
}

.site-brand__text {
    display: flex;
    flex-direction: column;
    justify-content: center;

    white-space: nowrap;
}

.site-brand__name {
    color: #ffffff;

    font-size: 25px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: .01em;
}

.site-brand__city {
    margin-top: 7px;

    color: var(--itcube-orange);

    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}


/* Чуть увеличиваем шапку под знак */
.main-header__inner {
    min-height: 94px;
}


/* Мобильная версия */
@media (max-width: 900px) {

    .site-brand__logo {
        width: 56px;
        height: 56px;

        flex-basis: 56px;
    }

    .site-brand__name {
        font-size: 21px;
    }

    .site-brand__city {
        font-size: 12px;
    }
}


@media (max-width: 600px) {

    .site-brand__content {
        gap: 9px;
    }

    .site-brand__logo {
        width: 48px;
        height: 48px;

        flex-basis: 48px;
    }

    .site-brand__name {
        font-size: 18px;
    }

    .site-brand__city {
        display: block;
        margin-top: 5px;
        font-size: 10px;
    }
}
/* =========================================================
   ГЛАВНАЯ — ПЕРВЫЙ ЭКРАН
   ========================================================= */

.home-hero {
    position: relative;
    overflow: hidden;

    padding: 72px 0 74px;

    background:
        linear-gradient(
            115deg,
            #ffffff 0%,
            #ffffff 58%,
            #f4f9fd 58%,
            #f4f9fd 100%
        );
}

.home-hero::before {
    content: "";

    position: absolute;
    width: 520px;
    height: 520px;

    right: -220px;
    top: -180px;

    border: 1px solid rgba(28, 117, 188, .15);

    transform: rotate(45deg);
}

.home-hero::after {
    content: "";

    position: absolute;
    width: 300px;
    height: 300px;

    left: -180px;
    bottom: -210px;

    border: 1px solid rgba(255, 122, 0, .18);

    transform: rotate(45deg);
}


.home-hero__grid {
    position: relative;
    z-index: 2;

    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(430px, .92fr);

    gap: 70px;

    align-items: center;
}


/* Левая часть */

.home-hero__content {
    max-width: 760px;
}

.home-hero__eyebrow {
    display: inline-flex;
    align-items: center;

    min-height: 36px;

    margin-bottom: 24px;
    padding: 0 16px;

    border-radius: 999px;

    background: rgba(28, 117, 188, .08);
    color: var(--itcube-blue);

    font-size: 13px;
    font-weight: 800;

    letter-spacing: .035em;
    text-transform: uppercase;
}

.home-hero__title {
    margin: 0;

    font-size: clamp(58px, 7vw, 96px);
    line-height: .91;

    letter-spacing: -.05em;
    font-weight: 800;

    color: var(--text);
}

.home-hero__title span {
    color: var(--itcube-blue);
}

.home-hero__lead {
    max-width: 650px;

    margin: 30px 0 0;

    color: var(--text-soft);

    font-size: 20px;
    line-height: 1.6;
    font-weight: 500;
}

.home-hero__actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;

    gap: 14px;

    margin-top: 36px;
}

.home-hero__button {
    min-height: 58px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 13px;

    padding: 0 28px;

    border-radius: 999px;

    font-size: 15px;
    font-weight: 800;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease,
        color .2s ease,
        border-color .2s ease;
}

.home-hero__button--primary {
    background: var(--itcube-orange);
    color: var(--white);

    box-shadow: 0 12px 30px rgba(255, 122, 0, .22);
}

.home-hero__button--primary:hover {
    transform: translateY(-2px);

    background: #ed7100;

    box-shadow: 0 16px 34px rgba(255, 122, 0, .28);
}

.home-hero__button--secondary {
    border: 1px solid rgba(28, 117, 188, .28);

    background: var(--white);
    color: var(--itcube-blue);
}

.home-hero__button--secondary:hover {
    transform: translateY(-2px);

    border-color: var(--itcube-blue);
}


/* Правая часть */

.home-hero__side {
    display: flex;
    flex-direction: column;

    gap: 18px;
}

.home-hero__visual {
    position: relative;

    min-height: 360px;

    overflow: hidden;

    border-radius: 34px;

    background: var(--itcube-blue);

    box-shadow: 0 28px 70px rgba(18, 75, 120, .16);
}

.home-hero__visual::before {
    content: "";

    position: absolute;

    width: 360px;
    height: 360px;

    right: -155px;
    top: -160px;

    border: 2px solid rgba(255,255,255,.18);

    transform: rotate(45deg);
}

.home-hero__visual::after {
    content: "";

    position: absolute;

    width: 230px;
    height: 230px;

    left: -125px;
    bottom: -145px;

    border: 2px solid rgba(255,255,255,.14);

    transform: rotate(45deg);
}

.home-hero__visual-text {
    position: absolute;
    z-index: 3;

    left: 42px;
    bottom: 42px;

    display: flex;
    flex-direction: column;

    color: var(--white);
}

.home-hero__visual-small {
    margin-bottom: 5px;

    font-size: 22px;
    line-height: 1.1;

    font-weight: 600;
}

.home-hero__visual-text strong {
    color: var(--itcube-orange);

    font-size: clamp(44px, 5vw, 64px);
    line-height: .95;

    letter-spacing: -.04em;
}

.home-hero__shape {
    position: absolute;

    border: 2px solid rgba(255,255,255,.28);

    transform: rotate(45deg);
}

.home-hero__shape--one {
    width: 120px;
    height: 120px;

    right: 58px;
    top: 48px;
}

.home-hero__shape--two {
    width: 64px;
    height: 64px;

    right: 160px;
    top: 155px;

    border-color: rgba(255, 122, 0, .7);
}

.home-hero__shape--three {
    width: 38px;
    height: 38px;

    right: 84px;
    bottom: 74px;

    background: rgba(255,255,255,.08);
}


/* Таймер */

.enrollment-countdown {
    padding: 24px;

    border: 1px solid var(--line);
    border-radius: 24px;

    background: var(--white);

    box-shadow: 0 18px 46px rgba(15, 50, 82, .08);
}

.enrollment-countdown__head {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 18px;
}

.enrollment-countdown__head span {
    color: var(--text-soft);

    font-size: 13px;
    font-weight: 700;
}

.enrollment-countdown__head strong {
    color: var(--itcube-blue);

    font-size: 14px;
    font-weight: 800;
}

.countdown {
    display: grid;
    grid-template-columns: repeat(4, 1fr);

    gap: 10px;
}

.countdown__item {
    min-height: 82px;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    border-radius: 16px;

    background: var(--soft-bg);
}

.countdown__item strong {
    color: var(--itcube-blue);

    font-size: 27px;
    line-height: 1;

    font-weight: 800;
}

.countdown__item span {
    margin-top: 8px;

    color: var(--text-soft);

    font-size: 11px;
    line-height: 1;

    font-weight: 700;
}

.enrollment-countdown__opened {
    padding: 18px;

    border-radius: 16px;

    background: var(--itcube-orange);
    color: var(--white);

    text-align: center;

    font-size: 18px;
    font-weight: 800;
}


/* =========================================================
   ВРЕМЕННАЯ ЗАГОТОВКА СЛЕДУЮЩЕГО БЛОКА
   ========================================================= */

.home-section--placeholder {
    padding: 90px 0;

    background: var(--white);
}

.section-label {
    display: inline-block;

    margin-bottom: 15px;

    color: var(--itcube-orange);

    font-size: 13px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.home-section--placeholder h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(38px, 5vw, 58px);
    line-height: 1;

    letter-spacing: -.035em;
}

.home-section--placeholder p {
    margin: 20px 0 0;

    color: var(--text-soft);
}


/* =========================================================
   АДАПТИВ HERO
   ========================================================= */

@media (max-width: 1100px) {

    .home-hero__grid {
        grid-template-columns: 1fr 420px;
        gap: 42px;
    }

    .home-hero__title {
        font-size: clamp(52px, 7vw, 78px);
    }
}


@media (max-width: 900px) {

    .home-hero {
        padding: 54px 0 60px;

        background: var(--white);
    }

    .home-hero__grid {
        grid-template-columns: 1fr;
    }

    .home-hero__content {
        max-width: 760px;
    }

    .home-hero__side {
        max-width: 700px;
    }

    .home-hero__visual {
        min-height: 320px;
    }
}


@media (max-width: 600px) {

    .home-hero {
        padding-top: 38px;
    }

    .home-hero__eyebrow {
        margin-bottom: 18px;

        font-size: 10px;
    }

    .home-hero__title {
        font-size: 51px;
    }

    .home-hero__lead {
        margin-top: 22px;

        font-size: 17px;
    }

    .home-hero__actions {
        align-items: stretch;
        flex-direction: column;
    }

    .home-hero__button {
        width: 100%;
    }

    .home-hero__visual {
        min-height: 270px;
        border-radius: 25px;
    }

    .home-hero__visual-text {
        left: 26px;
        bottom: 28px;
    }

    .home-hero__visual-small {
        font-size: 17px;
    }

    .home-hero__visual-text strong {
        font-size: 44px;
    }

    .enrollment-countdown {
        padding: 16px;

        border-radius: 20px;
    }

    .enrollment-countdown__head {
        align-items: flex-start;
        flex-direction: column;

        gap: 3px;
    }

    .countdown {
        gap: 6px;
    }

    .countdown__item {
        min-height: 70px;
    }

    .countdown__item strong {
        font-size: 21px;
    }

    .countdown__item span {
        font-size: 9px;
    }
}
/* =========================================================
   ГЛАВНАЯ — ЧТО ТАКОЕ IT-КУБ
   ========================================================= */

.about-section {
    position: relative;
    overflow: hidden;

    padding: 100px 0 110px;

    background: #ffffff;
}

.about-section::before {
    content: "";

    position: absolute;
    width: 280px;
    height: 280px;

    right: -150px;
    top: 70px;

    border: 1px solid rgba(28, 117, 188, .10);

    transform: rotate(45deg);
}

.about-section__heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);

    gap: 80px;

    align-items: end;

    margin-bottom: 52px;
}

.about-section__heading h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;

    letter-spacing: -.04em;
    font-weight: 800;
}

.about-section__heading h2 span {
    color: var(--itcube-blue);
}

.about-section__heading > p {
    max-width: 720px;

    margin: 0;

    color: var(--text-soft);

    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;
}


/* Карточки */

.about-section__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.about-card {
    position: relative;

    min-height: 330px;

    overflow: hidden;

    padding: 34px;

    border: 1px solid var(--line);
    border-radius: 28px;

    background: #f8fbfe;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.about-card:hover {
    transform: translateY(-6px);

    border-color: rgba(28, 117, 188, .25);

    box-shadow: 0 24px 55px rgba(15, 50, 82, .10);
}

.about-card__number {
    position: absolute;

    right: 28px;
    top: 22px;

    color: rgba(16, 35, 63, .08);

    font-size: 66px;
    line-height: 1;

    font-weight: 800;
}

.about-card__icon {
    width: 62px;
    height: 62px;

    display: flex;
    align-items: center;
    justify-content: center;

    margin-bottom: 54px;

    border-radius: 18px;

    background: rgba(28, 117, 188, .10);
}

.about-card__icon svg {
    width: 30px;
    height: 30px;

    fill: none;
    stroke: var(--itcube-blue);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-card h3 {
    margin: 0 0 14px;

    color: var(--text);

    font-size: 25px;
    line-height: 1.15;

    letter-spacing: -.02em;
    font-weight: 800;
}

.about-card p {
    margin: 0;

    color: var(--text-soft);

    font-size: 15px;
    line-height: 1.7;
    font-weight: 500;
}


/* Синяя карточка */

.about-card--blue {
    border-color: transparent;

    background: var(--itcube-blue);
}

.about-card--blue .about-card__number {
    color: rgba(255, 255, 255, .10);
}

.about-card--blue .about-card__icon {
    background: rgba(255, 255, 255, .14);
}

.about-card--blue .about-card__icon svg {
    stroke: #ffffff;
}

.about-card--blue h3,
.about-card--blue p {
    color: #ffffff;
}

.about-card--blue p {
    opacity: .88;
}


/* Оранжевая карточка */

.about-card--orange {
    border-color: transparent;

    background: var(--itcube-orange);
}

.about-card--orange .about-card__number {
    color: rgba(255, 255, 255, .12);
}

.about-card--orange .about-card__icon {
    background: rgba(255, 255, 255, .15);
}

.about-card--orange .about-card__icon svg {
    stroke: #ffffff;
}

.about-card--orange h3,
.about-card--orange p {
    color: #ffffff;
}

.about-card--orange p {
    opacity: .9;
}


/* =========================================================
   АДАПТИВ БЛОКА ABOUT
   ========================================================= */

@media (max-width: 1000px) {

    .about-section__heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .about-section__cards {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {

    .about-section {
        padding: 74px 0 80px;
    }

    .about-section__cards {
        grid-template-columns: 1fr;
    }

    .about-card {
        min-height: 280px;
    }
}
/* =========================================================
   ГЛАВНАЯ — НОВОСТИ
   ========================================================= */

.news-section {
    position: relative;
    overflow: hidden;

    padding: 100px 0 110px;

    background: #f5f9fc;
}

.news-section__heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 48px;
}

.news-section__heading h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;

    letter-spacing: -.04em;
    font-weight: 800;
}

.news-section__heading h2 span {
    color: var(--itcube-blue);
}

.news-section__all {
    flex: 0 0 auto;

    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 0 22px;

    border: 1px solid rgba(28,117,188,.25);
    border-radius: 999px;

    background: #ffffff;
    color: var(--itcube-blue);

    font-size: 14px;
    font-weight: 800;

    transition:
        transform .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}

.news-section__all:hover {
    transform: translateY(-2px);

    border-color: var(--itcube-blue);

    box-shadow: 0 12px 30px rgba(15,50,82,.08);
}


/* Сетка */

.news-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 22px;
}


/* Карточка */

.news-card {
    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 28px;

    background: #ffffff;

    box-shadow: 0 16px 45px rgba(15,50,82,.06);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.news-card:hover {
    transform: translateY(-6px);

    box-shadow: 0 26px 60px rgba(15,50,82,.11);
}


/* Фото */

.news-card__image {
    position: relative;

    display: block;

    width: 100%;
    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: var(--itcube-blue);
}

.news-card__image img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform .4s ease;
}

.news-card:hover .news-card__image img {
    transform: scale(1.035);
}


/* Если у новости нет картинки */

.news-card__placeholder {
    width: 100%;
    height: 100%;

    display: flex;
    align-items: center;
    justify-content: center;

    background:
        linear-gradient(
            135deg,
            var(--itcube-blue),
            #2688d2
        );

    color: rgba(255,255,255,.95);
}

.news-card__placeholder span {
    font-size: 34px;
    font-weight: 800;
    letter-spacing: .03em;
}


/* Текст */

.news-card__content {
    padding: 26px 28px 30px;
}

.news-card__date {
    display: block;

    margin-bottom: 13px;

    color: var(--itcube-orange);

    font-size: 12px;
    font-weight: 800;
}

.news-card h3 {
    margin: 0 0 14px;

    color: var(--text);

    font-size: 23px;
    line-height: 1.2;

    letter-spacing: -.02em;
    font-weight: 800;
}

.news-card h3 a {
    transition: color .2s ease;
}

.news-card h3 a:hover {
    color: var(--itcube-blue);
}

.news-card__excerpt {
    min-height: 72px;

    color: var(--text-soft);

    font-size: 14px;
    line-height: 1.7;
    font-weight: 500;
}

.news-card__excerpt p {
    margin: 0;
}

.news-card__more {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-top: 22px;

    color: var(--itcube-blue);

    font-size: 14px;
    font-weight: 800;
}

.news-card__more span {
    transition: transform .2s ease;
}

.news-card__more:hover span {
    transform: translateX(4px);
}


/* Если новостей пока нет */

.news-empty {
    grid-column: 1 / -1;

    padding: 52px;

    border: 1px dashed rgba(28,117,188,.28);
    border-radius: 28px;

    background: #ffffff;

    text-align: center;
}

.news-empty strong {
    display: block;

    margin-bottom: 8px;

    color: var(--text);

    font-size: 24px;
    font-weight: 800;
}

.news-empty p {
    max-width: 620px;

    margin: 0 auto;

    color: var(--text-soft);

    font-size: 15px;
    line-height: 1.7;
}


/* Адаптив */

@media (max-width: 1000px) {

    .news-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {

    .news-section {
        padding: 76px 0 84px;
    }

    .news-section__heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .news-grid {
        grid-template-columns: 1fr;
    }

    .news-card__excerpt {
        min-height: 0;
    }
}
/* =========================================================
   ГЛАВНАЯ — НАШИ СИЛЬНЫЕ СТОРОНЫ
   ========================================================= */

.strengths-section {
    position: relative;
    overflow: hidden;

    padding: 105px 0 115px;

    background: #ffffff;
}

.strengths-section::before {
    content: "";

    position: absolute;
    width: 320px;
    height: 320px;

    left: -190px;
    top: 110px;

    border: 1px solid rgba(28, 117, 188, .10);

    transform: rotate(45deg);
}

.strengths-section__heading {
    max-width: 860px;

    margin-bottom: 52px;
}

.strengths-section__heading h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;

    letter-spacing: -.04em;
    font-weight: 800;
}

.strengths-section__heading h2 span {
    color: var(--itcube-blue);
}

.strengths-section__heading p {
    margin: 20px 0 0;

    color: var(--text-soft);

    font-size: 19px;
    line-height: 1.6;
    font-weight: 500;
}


/* Сетка */

.strengths-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}


/* Карточки */

.strength-card {
    position: relative;

    min-height: 245px;

    display: flex;
    align-items: flex-end;

    overflow: hidden;

    padding: 30px;

    border: 1px solid var(--line);
    border-radius: 26px;

    background:
        linear-gradient(
            145deg,
            #ffffff 0%,
            #f7fbfe 100%
        );

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.strength-card:hover {
    transform: translateY(-6px);

    border-color: rgba(28,117,188,.28);

    box-shadow: 0 24px 55px rgba(15,50,82,.10);
}

.strength-card::after {
    content: "";

    position: absolute;

    width: 140px;
    height: 140px;

    right: -70px;
    top: -70px;

    border: 1px solid rgba(28,117,188,.10);

    transform: rotate(45deg);
}


/* Номер */

.strength-card__number {
    position: absolute;

    top: 26px;
    left: 28px;

    color: var(--itcube-orange);

    font-size: 14px;
    line-height: 1;
    font-weight: 800;

    letter-spacing: .08em;
}


/* Текст */

.strength-card__content {
    position: relative;
    z-index: 2;
}

.strength-card h3 {
    margin: 0 0 12px;

    color: var(--text);

    font-size: 23px;
    line-height: 1.15;

    letter-spacing: -.02em;
    font-weight: 800;
}

.strength-card p {
    margin: 0;

    color: var(--text-soft);

    font-size: 14px;
    line-height: 1.7;
    font-weight: 500;
}


/* Акцентные карточки */

/* =========================================================
   ЖИВОЕ ЧЕРЕДОВАНИЕ КАРТОЧЕК
   ========================================================= */

/* 1 — светлая */
.strength-card:nth-child(1) {
    background: linear-gradient(145deg, #ffffff, #f7fbfe);
}


/* 2 — синяя */
.strength-card:nth-child(2) {
    border-color: transparent;
    background: var(--itcube-blue);
}


/* 3 — светлая */
.strength-card:nth-child(3) {
    background: linear-gradient(145deg, #ffffff, #f7fbfe);
}


/* 4 — оранжевая */
.strength-card:nth-child(4) {
    border-color: transparent;
    background: var(--itcube-orange);
}


/* 5 — светлая */
.strength-card:nth-child(5) {
    background: linear-gradient(145deg, #ffffff, #f7fbfe);
}


/* 6 — синяя */
.strength-card:nth-child(6) {
    border-color: transparent;
    background: var(--itcube-blue);
}


/* Белый текст на цветных карточках */

.strength-card:nth-child(2) h3,
.strength-card:nth-child(2) p,
.strength-card:nth-child(4) h3,
.strength-card:nth-child(4) p,
.strength-card:nth-child(6) h3,
.strength-card:nth-child(6) p {
    color: #ffffff;
}

.strength-card:nth-child(2) p,
.strength-card:nth-child(4) p,
.strength-card:nth-child(6) p {
    opacity: .90;
}


/* Номера */

.strength-card:nth-child(2) .strength-card__number,
.strength-card:nth-child(6) .strength-card__number {
    color: var(--itcube-orange);
}

.strength-card:nth-child(4) .strength-card__number {
    color: #ffffff;
}


/* Геометрия */

.strength-card:nth-child(2)::after,
.strength-card:nth-child(4)::after,
.strength-card:nth-child(6)::after {
    border-color: rgba(255,255,255,.18);
}

/* Адаптив */

@media (max-width: 1000px) {

    .strengths-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 700px) {

    .strengths-section {
        padding: 78px 0 86px;
    }

    .strengths-grid {
        grid-template-columns: 1fr;
    }

    .strength-card {
        min-height: 220px;
    }
}
/* =========================================================
   ГЛАВНАЯ — УРОВНИ ОБУЧЕНИЯ
   ========================================================= */

.levels-section {
    padding: 105px 0 115px;

    background: #f5f9fc;
}

.levels-section__heading {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr);

    gap: 80px;

    align-items: end;

    margin-bottom: 52px;
}

.levels-section__heading h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;

    letter-spacing: -.04em;
    font-weight: 800;
}

.levels-section__heading h2 span {
    color: var(--itcube-blue);
}

.levels-section__heading > p {
    margin: 0;

    color: var(--text-soft);

    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;
}


/* Карточки */

.levels-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.level-card {
    position: relative;

    min-height: 340px;

    display: flex;
    flex-direction: column;

    padding: 32px;

    overflow: hidden;

    border-radius: 28px;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.level-card:hover {
    transform: translateY(-6px);

    box-shadow: 0 26px 60px rgba(15, 50, 82, .11);
}

.level-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;
}

.level-card__number {
    font-size: 13px;
    font-weight: 800;
    letter-spacing: .08em;
}

.level-card__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 34px;

    padding: 0 14px;

    border-radius: 999px;

    font-size: 11px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .04em;
}

.level-card h3 {
    margin: 72px 0 16px;

    font-size: 29px;
    line-height: 1.08;

    letter-spacing: -.025em;
    font-weight: 800;
}

.level-card p {
    margin: 0;

    font-size: 15px;
    line-height: 1.7;
    font-weight: 500;
}

.level-card__bottom {
    margin-top: auto;
    padding-top: 28px;

    font-size: 13px;
    font-weight: 800;
}


/* Светлая */

/* =========================================================
   ЦВЕТА УРОВНЕЙ
   Белые карточки + цветовые акценты
   ========================================================= */

.level-card {
    background: #ffffff;
    color: var(--text);

    border: 1px solid var(--line);

    box-shadow: 0 14px 38px rgba(15, 50, 82, .06);
}

.level-card::before {
    content: "";

    position: absolute;
    top: 0;
    left: 0;
    right: 0;

    height: 6px;

    border-radius: 28px 28px 0 0;
}

.level-card p {
    color: var(--text-soft);
}


/* =========================
   1. ЗЕЛЁНЫЙ УРОВЕНЬ
   ========================= */

.level-card--light {
    border-color: rgba(44, 160, 86, .22);
}

.level-card--light::before {
    background: #2CA056;
}

.level-card--light .level-card__number {
    color: #2CA056;
}

.level-card--light .level-card__badge {
    background: rgba(44, 160, 86, .10);
    color: #238247;
}

.level-card--light .level-card__bottom {
    color: #238247;
}


/* =========================
   2. ОРАНЖЕВЫЙ УРОВЕНЬ
   ========================= */

.level-card--blue {
    border-color: rgba(255, 122, 0, .25);

    background: #ffffff;
    color: var(--text);
}

.level-card--blue::before {
    background: var(--itcube-orange);
}

.level-card--blue .level-card__number {
    color: var(--itcube-orange);
}

.level-card--blue .level-card__badge {
    background: rgba(255, 122, 0, .11);
    color: #d96500;
}

.level-card--blue .level-card__bottom {
    color: #d96500;
}

.level-card--blue p {
    color: var(--text-soft);
}


/* =========================
   3. КРАСНЫЙ УРОВЕНЬ
   ========================= */

.level-card--orange {
    border-color: rgba(216, 64, 64, .22);

    background: #ffffff;
    color: var(--text);
}

.level-card--orange::before {
    background: #D84040;
}

.level-card--orange .level-card__number {
    color: #D84040;
}

.level-card--orange .level-card__badge {
    background: rgba(216, 64, 64, .10);
    color: #B92F2F;
}

.level-card--orange .level-card__bottom {
    color: #B92F2F;
}

.level-card--orange p {
    color: var(--text-soft);
}


/* Более выразительное наведение */

.level-card--light:hover {
    border-color: rgba(44, 160, 86, .45);
}

.level-card--blue:hover {
    border-color: rgba(255, 122, 0, .48);
}

.level-card--orange:hover {
    border-color: rgba(216, 64, 64, .45);
}

/* Блок теста */

.levels-test {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 50px;

    margin-top: 24px;
    padding: 36px 40px;

    border-radius: 28px;

    background: #ffffff;

    box-shadow: 0 18px 46px rgba(15,50,82,.07);
}

.levels-test__label {
    display: block;

    margin-bottom: 6px;

    color: var(--itcube-orange);

    font-size: 12px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.levels-test h3 {
    margin: 0;

    color: var(--text);

    font-size: 27px;
    line-height: 1.15;

    letter-spacing: -.02em;
    font-weight: 800;
}

.levels-test p {
    margin: 10px 0 0;

    color: var(--text-soft);

    font-size: 14px;
    line-height: 1.6;
}

.levels-test__button {
    flex: 0 0 auto;

    min-height: 54px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    padding: 0 26px;

    border-radius: 999px;

    background: var(--itcube-blue);
    color: #ffffff;

    font-size: 14px;
    font-weight: 800;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.levels-test__button:hover {
    transform: translateY(-2px);

    box-shadow: 0 14px 30px rgba(28,117,188,.22);
}


/* Адаптив */

@media (max-width: 1000px) {

    .levels-section__heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .levels-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {

    .levels-section {
        padding: 78px 0 86px;
    }

    .levels-grid {
        grid-template-columns: 1fr;
    }

    .levels-test {
        align-items: flex-start;
        flex-direction: column;

        padding: 28px;
    }

    .levels-test__button {
        width: 100%;
    }
}
/* =========================================================
   ГЛАВНАЯ — 3 ШАГА К ОБУЧЕНИЮ
   ========================================================= */

.steps-section {
    padding: 105px 0 115px;
    background: #ffffff;
}

.steps-section__heading {
    max-width: 900px;
    margin-bottom: 52px;
}

.steps-section__heading h2 {
    max-width: 850px;

    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 800;
}

.steps-section__heading h2 span {
    color: var(--itcube-blue);
}

.steps-section__heading > p {
    max-width: 720px;

    margin: 22px 0 0;

    color: var(--text-soft);

    font-size: 18px;
    line-height: 1.7;
}


/* Три шага */

.steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}

.step-card {
    position: relative;

    min-height: 370px;

    display: flex;
    flex-direction: column;

    padding: 32px;

    border: 1px solid var(--line);
    border-radius: 28px;

    background: #f8fbfe;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}

.step-card:hover {
    transform: translateY(-5px);

    box-shadow: 0 24px 55px rgba(15,50,82,.09);
}

.step-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.step-card__number {
    color: var(--itcube-orange);

    font-size: 15px;
    font-weight: 800;
    letter-spacing: .08em;
}

.step-card__icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    background: rgba(28,117,188,.09);
}

.step-card__icon svg {
    width: 28px;
    height: 28px;

    fill: none;
    stroke: var(--itcube-blue);
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.step-card h3 {
    margin: 58px 0 15px;

    color: var(--text);

    font-size: 27px;
    line-height: 1.1;
    letter-spacing: -.025em;
    font-weight: 800;
}

.step-card p {
    margin: 0;

    color: var(--text-soft);

    font-size: 14px;
    line-height: 1.7;
}

.step-card__link,
.step-card__note {
    display: inline-flex;
    align-items: center;

    gap: 9px;

    margin-top: auto;
    padding-top: 28px;

    color: var(--itcube-blue);

    font-size: 13px;
    font-weight: 800;
}

.step-card__link span {
    transition: transform .2s ease;
}

.step-card__link:hover span {
    transform: translateX(4px);
}


/* Центральный шаг */

.step-card--accent {
    border-color: transparent;

    background: var(--itcube-blue);
}

.step-card--accent .step-card__number {
    color: var(--itcube-orange);
}

.step-card--accent .step-card__icon {
    background: rgba(255,255,255,.14);
}

.step-card--accent .step-card__icon svg {
    stroke: #ffffff;
}

.step-card--accent h3,
.step-card--accent p,
.step-card--accent .step-card__link {
    color: #ffffff;
}

.step-card--accent p {
    opacity: .88;
}


/* Документы */

.steps-documents {
    display: grid;
    grid-template-columns: auto 1fr auto;

    align-items: center;

    gap: 24px;

    margin-top: 22px;
    padding: 28px 32px;

    border: 1px solid var(--line);
    border-radius: 24px;

    background: #ffffff;

    box-shadow: 0 14px 40px rgba(15,50,82,.06);
}

.steps-documents__icon {
    width: 58px;
    height: 58px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 17px;

    background: rgba(255,122,0,.10);
}

.steps-documents__icon svg {
    width: 28px;
    height: 28px;

    fill: none;
    stroke: var(--itcube-orange);
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.steps-documents__content span {
    display: block;

    color: var(--itcube-orange);

    font-size: 11px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .05em;
}

.steps-documents__content strong {
    display: block;

    margin-top: 3px;

    color: var(--text);

    font-size: 20px;
    font-weight: 800;
}

.steps-documents__content p {
    margin: 5px 0 0;

    color: var(--text-soft);

    font-size: 13px;
    line-height: 1.55;
}

.steps-documents__button {
    min-height: 48px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 10px;

    padding: 0 22px;

    border-radius: 999px;

    background: var(--itcube-orange);
    color: #ffffff;

    font-size: 13px;
    font-weight: 800;
}


/* Адаптив */

@media (max-width: 900px) {

    .steps-grid {
        grid-template-columns: 1fr;
    }

    .step-card {
        min-height: 300px;
    }

    .steps-documents {
        grid-template-columns: auto 1fr;
    }

    .steps-documents__button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 600px) {

    .steps-section {
        padding: 78px 0 86px;
    }

    .steps-documents {
        grid-template-columns: 1fr;
    }

    .steps-documents__icon {
        margin-bottom: 3px;
    }

    .steps-documents__button {
        width: 100%;
    }
}
/* =========================================================
   ГЛАВНАЯ — НАШЕ ПРОСТРАНСТВО
   ========================================================= */

.space-section {
    padding: 105px 0 115px;
    background: #f5f9fc;
}

.space-section__heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(380px, .7fr);

    align-items: end;

    gap: 70px;

    margin-bottom: 50px;
}

.space-section__heading h2 {
    max-width: 850px;

    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;
    letter-spacing: -.04em;
    font-weight: 800;
}

.space-section__heading h2 span {
    color: var(--itcube-blue);
}

.space-section__heading > p {
    margin: 0;

    color: var(--text-soft);

    font-size: 17px;
    line-height: 1.7;
}


/* Галерея */

.space-gallery {
    display: grid;

    grid-template-columns: 1.35fr .65fr .65fr;
    grid-template-rows: 250px 250px;

    gap: 18px;
}

.space-photo {
    position: relative;

    overflow: hidden;

    border-radius: 26px;

    background: #ffffff;

    box-shadow: 0 16px 42px rgba(15,50,82,.07);
}

.space-photo--large {
    grid-row: 1 / 3;
}


/* Временная заглушка */

.space-photo__placeholder {
    position: absolute;
    inset: 0;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 25px;

    background:
        linear-gradient(
            145deg,
            rgba(28,117,188,.10),
            rgba(28,117,188,.03)
        );
}

.space-photo__placeholder::before {
    content: "";

    position: absolute;

    width: 160px;
    height: 160px;

    border: 1px solid rgba(28,117,188,.12);

    transform: rotate(45deg);
}

.space-photo__placeholder span {
    position: relative;
    z-index: 2;

    color: rgba(28,117,188,.55);

    font-size: 13px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}


/* Подпись */

.space-photo__caption {
    position: absolute;

    left: 18px;
    right: 18px;
    bottom: 18px;

    z-index: 3;

    display: flex;
    align-items: center;

    gap: 12px;

    padding: 13px 16px;

    border-radius: 16px;

    background: rgba(255,255,255,.92);

    backdrop-filter: blur(12px);
}

.space-photo__caption span {
    color: var(--itcube-orange);

    font-size: 11px;
    font-weight: 800;
}

.space-photo__caption strong {
    color: var(--text);

    font-size: 13px;
    font-weight: 800;
}


/* Когда добавим реальные фотографии */

.space-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .5s ease;
}

.space-photo:hover img {
    transform: scale(1.035);
}


/* Адаптив */

@media (max-width: 1000px) {

    .space-section__heading {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .space-gallery {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 420px 240px 240px;
    }

    .space-photo--large {
        grid-column: 1 / 3;
        grid-row: auto;
    }
}

@media (max-width: 650px) {

    .space-section {
        padding: 78px 0 86px;
    }

    .space-gallery {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }

    .space-photo,
    .space-photo--large {
        grid-column: auto;
        grid-row: auto;

        min-height: 250px;
    }

    .space-photo--large {
        min-height: 360px;
    }
}
/* Реальные фотографии пространства */

.space-photo::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 1;

    pointer-events: none;

    background: linear-gradient(
        to top,
        rgba(8, 28, 46, .32) 0%,
        rgba(8, 28, 46, 0) 45%
    );
}

.space-photo img {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
}

.space-photo__caption {
    z-index: 3;
}

/* Главное фото показываем максимально широко */

.space-photo--large img {
    object-position: center center;
}
/* =========================================================
   ГЛАВНАЯ — FAQ
   ========================================================= */

.faq-section {
    padding: 105px 0 115px;
    background: #ffffff;
}

.faq-section__heading {
    max-width: 860px;
    margin-bottom: 48px;
}

.faq-section__heading h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;

    letter-spacing: -.04em;
    font-weight: 800;
}

.faq-section__heading h2 span {
    color: var(--itcube-blue);
}

.faq-section__heading > p {
    max-width: 620px;

    margin: 20px 0 0;

    color: var(--text-soft);

    font-size: 17px;
    line-height: 1.7;
}


/* Список */

.faq-list {
    display: grid;
    gap: 14px;
}

.faq-item {
    overflow: hidden;

    border: 1px solid var(--line);
    border-radius: 22px;

    background: #f8fbfe;

    transition:
        border-color .2s ease,
        box-shadow .2s ease;
}

.faq-item[open] {
    border-color: rgba(28,117,188,.25);

    box-shadow: 0 16px 38px rgba(15,50,82,.07);
}


/* Заголовок */

.faq-item summary {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 30px;

    padding: 25px 28px;

    cursor: pointer;

    list-style: none;

    color: var(--text);

    font-size: 18px;
    line-height: 1.35;
    font-weight: 800;
}

.faq-item summary::-webkit-details-marker {
    display: none;
}


/* Плюс */

.faq-item__icon {
    flex: 0 0 auto;

    width: 38px;
    height: 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: var(--itcube-blue);
    color: #ffffff;

    font-size: 24px;
    line-height: 1;
    font-weight: 400;

    transition:
        transform .25s ease,
        background .25s ease;
}

.faq-item[open] .faq-item__icon {
    transform: rotate(45deg);
    background: var(--itcube-orange);
}


/* Ответ */

.faq-item__content {
    padding: 0 78px 27px 28px;
}

.faq-item__content p {
    max-width: 850px;

    margin: 0;

    color: var(--text-soft);

    font-size: 15px;
    line-height: 1.75;
}

.faq-item__content a {
    display: inline-block;

    margin-top: 14px;

    color: var(--itcube-blue);

    font-size: 14px;
    font-weight: 800;
}


/* Адаптив */

@media (max-width: 650px) {

    .faq-section {
        padding: 78px 0 86px;
    }

    .faq-item summary {
        padding: 21px 20px;

        font-size: 16px;
    }

    .faq-item__icon {
        width: 34px;
        height: 34px;
    }

    .faq-item__content {
        padding: 0 20px 22px;
    }
}
/* =========================================================
   ГЛАВНАЯ — КОНТАКТЫ
   ========================================================= */

.contacts-section {
    padding: 105px 0 115px;
    background: #f5f9fc;
}

.contacts-section__heading {
    max-width: 860px;
    margin-bottom: 48px;
}

.contacts-section__heading h2 {
    margin: 0;

    color: var(--text);

    font-size: clamp(44px, 5vw, 68px);
    line-height: .98;

    letter-spacing: -.04em;
    font-weight: 800;
}

.contacts-section__heading h2 span {
    color: var(--itcube-blue);
}

.contacts-section__heading > p {
    max-width: 620px;

    margin: 20px 0 0;

    color: var(--text-soft);

    font-size: 17px;
    line-height: 1.7;
}


/* Основная сетка */

.contacts-layout {
    display: grid;

    grid-template-columns: minmax(0, 1.65fr) minmax(360px, .75fr);

    gap: 22px;

    align-items: stretch;
}


/* Карта */

.contacts-map {
    min-height: 640px;

    overflow: hidden;

    border-radius: 28px;

    background: #ffffff;

    box-shadow: 0 18px 50px rgba(15,50,82,.08);
}

.contacts-map iframe {
    display: block;

    width: 100%;
    height: 100%;
    min-height: 640px;

    border: 0;
}


/* Правая карточка */

.contacts-panel {
    overflow: hidden;

    display: flex;
    flex-direction: column;

    border-radius: 28px;

    background: #ffffff;

    box-shadow: 0 18px 50px rgba(15,50,82,.08);
}


/* Фото здания */

.contacts-photo {
    position: relative;

    height: 215px;

    overflow: hidden;
}

.contacts-photo::after {
    content: "";

    position: absolute;
    inset: 0;

    background: linear-gradient(
        to top,
        rgba(10,32,52,.16),
        rgba(10,32,52,0)
    );
}

.contacts-photo img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}


/* Контактная информация */

.contacts-info {
    display: grid;

    gap: 23px;

    padding: 30px 30px 24px;
}

.contacts-info__item {
    padding-bottom: 22px;

    border-bottom: 1px solid var(--line);
}

.contacts-info__item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.contacts-info__label {
    display: block;

    margin-bottom: 7px;

    color: var(--itcube-orange);

    font-size: 11px;
    font-weight: 800;

    text-transform: uppercase;
    letter-spacing: .06em;
}

.contacts-info strong,
.contacts-info a {
    display: block;

    color: var(--text);

    font-size: 16px;
    line-height: 1.55;
    font-weight: 700;
}

.contacts-info a + a {
    margin-top: 4px;
}

.contacts-info a:hover {
    color: var(--itcube-blue);
}


/* Кнопки */

.contacts-actions {
    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-top: auto;

    padding: 0 30px 30px;
}

.contacts-button {
    min-height: 50px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 9px;

    padding: 0 20px;

    border-radius: 999px;

    font-size: 13px;
    font-weight: 800;

    text-align: center;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.contacts-button:hover {
    transform: translateY(-2px);
}

.contacts-button--primary {
    background: var(--itcube-blue);
    color: #ffffff;
}

.contacts-button--primary:hover {
    box-shadow: 0 12px 28px rgba(28,117,188,.22);
}

.contacts-button--secondary {
    background: var(--itcube-orange);
    color: #ffffff;
}

.contacts-button--secondary:hover {
    box-shadow: 0 12px 28px rgba(255,122,0,.20);
}


/* Адаптив */

@media (max-width: 1050px) {

    .contacts-layout {
        grid-template-columns: 1fr;
    }

    .contacts-map,
    .contacts-map iframe {
        min-height: 480px;
    }

    .contacts-panel {
        display: grid;
        grid-template-columns: .8fr 1.2fr;
    }

    .contacts-photo {
        height: 100%;
        min-height: 370px;
    }

    .contacts-actions {
        grid-column: 2;
    }
}

@media (max-width: 700px) {

    .contacts-section {
        padding: 78px 0 86px;
    }

    .contacts-map,
    .contacts-map iframe {
        min-height: 400px;
    }

    .contacts-panel {
        display: flex;
    }

    .contacts-photo {
        height: 220px;
        min-height: 0;
    }

    .contacts-actions {
        grid-template-columns: 1fr;
    }
}
/* =========================================================
   ОБНОВЛЕНИЕ 2026-09 — НАВИГАЦИЯ И ОТКРЫТАЯ ЗАПИСЬ
   ========================================================= */

/* Выпадающие разделы главного меню */
.main-menu .sub-menu {
    position: absolute;
    z-index: 50;
    top: calc(100% - 8px);
    left: 50%;

    width: 310px;
    margin: 0;
    padding: 10px;

    list-style: none;

    border: 1px solid rgba(28, 117, 188, .12);
    border-radius: 18px;

    background: #ffffff;
    box-shadow: 0 20px 48px rgba(15, 50, 82, .16);

    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, 10px);
    transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

.main-menu .menu-item-has-children:hover > .sub-menu,
.main-menu .menu-item-has-children:focus-within > .sub-menu {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.main-menu .sub-menu li {
    margin: 0;
}

.main-menu .sub-menu a {
    display: block;
    padding: 11px 13px;
    border-radius: 11px;

    color: var(--text);
    font-size: 13px;
    line-height: 1.35;
    font-weight: 700;
}

.main-menu .sub-menu a:hover {
    background: var(--soft-bg);
    color: var(--itcube-blue);
}

.main-menu > .menu-item-has-children > a {
    gap: 7px;
}

.main-menu > .menu-item-has-children > a::before {
    content: "⌄";
    order: 2;
    margin-top: -4px;
    font-size: 13px;
    opacity: .8;
}

/* Карточка открытой записи вместо обратного отсчёта */
.enrollment-open-card {
    padding: 25px 26px 26px;

    border: 1px solid var(--line);
    border-radius: 24px;

    background: #ffffff;
    box-shadow: 0 18px 46px rgba(15, 50, 82, .08);
}

.enrollment-open-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin-bottom: 15px;
}

.enrollment-open-card__label {
    color: var(--itcube-blue);
    font-size: 13px;
    line-height: 1;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.enrollment-open-card__status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 0 12px;

    border-radius: 999px;
    background: rgba(36, 173, 95, .10);
    color: #19894b;

    font-size: 12px;
    font-weight: 800;
}

.enrollment-open-card h2 {
    max-width: 480px;
    margin: 0;

    color: var(--text);
    font-size: 25px;
    line-height: 1.15;
    letter-spacing: -.025em;
}

.enrollment-open-card p {
    margin: 12px 0 0;
    color: var(--text-soft);
    font-size: 14px;
    line-height: 1.55;
}

.enrollment-open-card__actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 19px;
}

.enrollment-open-card__actions a {
    min-height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 0 15px;

    border: 1px solid rgba(28, 117, 188, .23);
    border-radius: 13px;

    color: var(--itcube-blue);
    background: #ffffff;

    text-align: center;
    font-size: 13px;
    font-weight: 800;

    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.enrollment-open-card__actions a:hover {
    transform: translateY(-2px);
    border-color: var(--itcube-blue);
}

.enrollment-open-card__actions .enrollment-open-card__primary {
    border-color: var(--itcube-orange);
    background: var(--itcube-orange);
    color: #ffffff;
    box-shadow: 0 10px 22px rgba(255, 122, 0, .18);
}

.enrollment-open-card__actions .enrollment-open-card__primary:hover {
    border-color: #ed7100;
    box-shadow: 0 13px 26px rgba(255, 122, 0, .24);
}

/* Мобильная навигация */
@media (max-width: 900px) {
    .main-header__inner {
        position: relative;
    }

    .main-navigation.is-open {
        position: absolute;
        z-index: 60;
        top: 100%;
        left: 18px;
        right: 18px;

        display: block;
        padding: 10px;

        border-radius: 0 0 18px 18px;
        background: var(--itcube-blue);
        box-shadow: 0 22px 40px rgba(15, 50, 82, .24);
    }

    .main-navigation.is-open .main-menu {
        display: block;
    }

    .main-navigation.is-open .main-menu > li > a {
        min-height: 48px;
        padding: 0 14px;
        border-radius: 10px;
    }

    .main-navigation.is-open .main-menu > li > a::after {
        display: none;
    }

    .main-navigation.is-open .main-menu > li > a:hover {
        background: rgba(255,255,255,.08);
    }

    .main-menu .sub-menu {
        position: static;
        width: auto;
        margin: 0 0 6px;
        padding: 4px 6px 7px 18px;

        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;

        opacity: 1;
        visibility: visible;
        transform: none;

        display: none;
    }

    .main-menu .submenu-open > .sub-menu {
        display: block;
    }

    .main-menu .sub-menu a {
        color: rgba(255,255,255,.92);
        padding: 9px 12px;
        font-size: 12px;
    }

    .main-menu .sub-menu a:hover {
        color: #ffffff;
        background: rgba(255,255,255,.08);
    }
}

@media (max-width: 600px) {
    .enrollment-open-card {
        padding: 20px;
        border-radius: 20px;
    }

    .enrollment-open-card h2 {
        font-size: 22px;
    }

    .enrollment-open-card__actions {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   СТРАНИЦА «НАПРАВЛЕНИЯ»
   ========================================================= */
.directions-page{background:#fff}.directions-page .site-container{width:min(var(--container),calc(100% - 48px));margin:0 auto}.directions-hero{padding:88px 0 82px;background:linear-gradient(120deg,#fff 0 56%,#f0f7fc 56% 100%);overflow:hidden}.directions-hero-grid{display:grid;grid-template-columns:1.05fr .75fr;align-items:center;gap:90px}.section-kicker{font-size:13px;letter-spacing:.08em;font-weight:900;color:var(--itcube-orange);margin-bottom:16px}.directions-hero h1,.directions-title-row h2,.directions-cta h2{margin:0;color:var(--text);font-weight:900;letter-spacing:-.045em;line-height:.98}.directions-hero h1{font-size:clamp(56px,6vw,88px)}.directions-hero h1 span{color:var(--itcube-blue)}.directions-hero p{font-size:18px;line-height:1.65;color:var(--text-soft);max-width:680px;margin:28px 0 0}.directions-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.it-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;font-weight:800;text-decoration:none!important}.it-btn-orange{background:var(--itcube-orange);color:#fff!important;box-shadow:0 12px 28px rgba(255,122,0,.18)}.it-btn-light{background:#fff;color:var(--itcube-blue)!important;border:1px solid #cbddeb}.directions-hero-card{min-height:360px;border-radius:34px;background:var(--itcube-blue);color:#fff;padding:42px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;box-shadow:0 30px 60px rgba(28,117,188,.18)}.directions-hero-card:before,.directions-hero-card:after{content:"";position:absolute;width:170px;height:170px;border:1px solid rgba(255,255,255,.2);transform:rotate(45deg);right:-35px;top:-35px}.directions-hero-card:after{width:100px;height:100px;right:105px;top:120px;border-color:rgba(255,122,0,.65)}.directions-hero-card span{font-size:14px;font-weight:900;letter-spacing:.08em}.directions-hero-card strong{font-size:34px;line-height:1.12;position:relative;z-index:1}.hero-code{font-size:22px;color:#ffb46f;font-weight:900;letter-spacing:.08em}.levels-intro{padding:76px 0 34px;background:var(--soft-bg)}.directions-title-row{display:grid;grid-template-columns:1fr .75fr;gap:70px;align-items:end}.directions-title-row h2,.directions-cta h2{font-size:clamp(38px,4vw,58px)}.directions-title-row>p{color:var(--text-soft);font-size:17px;line-height:1.6;margin:0}.mini-levels{display:flex;gap:10px;flex-wrap:wrap;margin-top:38px}.level-filter{border:1px solid var(--line);background:#fff;color:var(--text);padding:12px 17px;border-radius:999px;font-weight:800;cursor:pointer}.level-filter b{display:inline-grid;place-items:center;margin-left:7px;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:#eef3f7}.level-filter.active{background:var(--itcube-blue);border-color:var(--itcube-blue);color:#fff}.level-filter.green:not(.active){border-color:#b9dfc6}.level-filter.orange:not(.active){border-color:#ffd0a8}.level-filter.red:not(.active){border-color:#f0b6bb}.programs-section{padding:34px 0 90px;background:var(--soft-bg)}.program-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.program-card{background:#fff;border:1px solid var(--line);border-top:5px solid var(--itcube-blue);border-radius:22px;padding:25px;display:flex;flex-direction:column;min-height:460px;box-shadow:0 12px 32px rgba(18,51,84,.055);transition:.2s}.program-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(18,51,84,.1)}.program-card.level-green{border-top-color:#2eaa5e}.program-card.level-orange{border-top-color:var(--itcube-orange)}.program-card.level-red{border-top-color:#df3e49}.program-card-head{display:flex;justify-content:space-between;align-items:center}.program-no{font-size:13px;font-weight:900;color:var(--itcube-orange)}.program-level{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:7px 10px;background:#edf5fb}.level-green .program-level{background:#e9f7ee;color:#188142}.level-orange .program-level{background:#fff0e4;color:#b35400}.level-red .program-level{background:#fdebed;color:#b52935}.program-card h3{font-size:25px;line-height:1.12;margin:28px 0 9px;color:var(--text);letter-spacing:-.025em}.program-age{font-weight:900;color:var(--itcube-blue);margin-bottom:14px}.program-desc{color:var(--text-soft);line-height:1.55;margin:0 0 20px}.program-groups{margin-top:auto;border-top:1px solid var(--line)}.program-group{padding:14px 0;border-bottom:1px solid var(--line);display:grid;gap:4px;font-size:13px;color:var(--text-soft)}.program-group b{color:var(--text);font-size:14px}.program-time{color:var(--itcube-blue);font-weight:800}.program-link{display:flex;justify-content:space-between;align-items:center;margin-top:20px;padding-top:2px;color:var(--itcube-blue)!important;font-weight:900;text-decoration:none!important}.program-link span{font-size:20px}.no-programs{text-align:center;padding:50px;color:var(--text-soft)}.directions-cta{padding:80px 0;background:#fff}.directions-cta-box{background:var(--itcube-blue);border-radius:30px;padding:48px 54px;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:50px}.directions-cta .section-kicker{color:#ffb46f}.directions-cta h2{color:#fff;font-size:46px}.directions-cta p{margin:14px 0 0;max-width:650px;line-height:1.55;color:#dcecff}.directions-cta .directions-actions{margin:0;flex-shrink:0}
@media(max-width:1100px){.directions-hero-grid,.directions-title-row{grid-template-columns:1fr;gap:40px}.program-grid{grid-template-columns:repeat(2,1fr)}.directions-hero-card{min-height:280px}.directions-cta-box{align-items:flex-start;flex-direction:column}.directions-cta .directions-actions{margin-top:0}}
@media(max-width:700px){.directions-page .site-container{width:min(var(--container),calc(100% - 28px))}.directions-hero{padding:58px 0}.directions-hero h1{font-size:48px}.directions-hero-card{padding:28px;min-height:250px}.directions-hero-card strong{font-size:27px}.levels-intro{padding-top:54px}.program-grid{grid-template-columns:1fr}.program-card{min-height:0}.directions-cta{padding:55px 0}.directions-cta-box{padding:32px 25px}.directions-cta h2{font-size:36px}.it-btn{width:100%}.directions-actions{width:100%}}

/* Направления v2 — фотографии и более насыщенная фирменная подача */
.directions-page{background:#fff}
.levels-intro{background:linear-gradient(135deg,#0e5f9f 0%,#1c75bc 62%,#2688d0 100%);color:#fff;padding:72px 0 44px;position:relative;overflow:hidden}
.levels-intro:after{content:"";position:absolute;width:360px;height:360px;border:1px solid rgba(255,255,255,.13);transform:rotate(45deg);right:-150px;top:-170px}
.levels-intro .section-kicker{color:#ffb46f}.levels-intro .directions-title-row h2,.levels-intro .directions-title-row>p{color:#fff}.levels-intro .directions-title-row>p{opacity:.88}
.mini-levels{position:relative;z-index:2}.level-filter{border-color:rgba(255,255,255,.5);background:#fff}.level-filter.active{background:var(--itcube-orange);border-color:var(--itcube-orange);box-shadow:0 10px 24px rgba(0,0,0,.12)}
.programs-section{padding:52px 0 96px;background:linear-gradient(180deg,#eaf4fb 0%,#f5f9fc 48%,#fff5ec 100%)}
.program-grid{gap:26px}
.program-card{padding:0;overflow:hidden;border:0;border-radius:26px;min-height:610px;box-shadow:0 16px 42px rgba(18,51,84,.10);position:relative}
.program-card:before{content:"";position:absolute;left:0;right:0;top:0;height:6px;z-index:3;background:var(--itcube-blue)}.program-card.level-green:before{background:#2eaa5e}.program-card.level-orange:before{background:var(--itcube-orange)}.program-card.level-red:before{background:#df3e49}
.program-card:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(18,51,84,.16)}
.program-image-wrap{height:230px;position:relative;overflow:hidden;background:#dcebf6}
.program-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.program-card:hover .program-image{transform:scale(1.035)}
.program-image-wrap:after{content:"";position:absolute;inset:auto 0 0;height:38%;background:linear-gradient(transparent,rgba(4,31,57,.30))}
.program-image-level{position:absolute;right:18px;top:18px;z-index:2;background:#fff;color:var(--text);padding:8px 12px;border-radius:999px;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.level-green .program-image-level{color:#188142}.level-orange .program-image-level{color:#b35400}.level-red .program-image-level{color:#b52935}
.program-card-content{padding:24px 25px 26px;display:flex;flex-direction:column;flex:1}.program-card-head{min-height:24px}.program-card-head .program-level{display:none}.program-card h3{margin:18px 0 9px}.program-desc{min-height:72px}.program-link{margin-top:22px;border-radius:14px;padding:13px 15px;background:#edf6fc;transition:.2s}.program-link:hover{background:var(--itcube-orange);color:#fff!important}.level-orange .program-link{background:#fff1e6}.level-red .program-link{background:#fdeff0}
.directions-cta{padding:86px 0;background:linear-gradient(135deg,#fff 0 50%,#eef7fd 50%)}.directions-cta-box{background:linear-gradient(115deg,#1c75bc,#0e5f9f);box-shadow:0 25px 55px rgba(28,117,188,.20)}
@media(max-width:700px){.program-image-wrap{height:210px}.program-card{min-height:0}.program-desc{min-height:0}.levels-intro{padding-top:52px}.programs-section{padding-top:34px}}

/* =========================================================
   НАПРАВЛЕНИЯ v3 — цветовая дифференциация уровней
   ========================================================= */
/* На синем фоне фильтры должны читаться как отдельные цветовые уровни */
.levels-intro .mini-levels{gap:12px;margin-top:40px}
.levels-intro .level-filter{
    border:2px solid transparent;
    padding:12px 18px;
    box-shadow:0 8px 20px rgba(5,42,76,.16);
    transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.levels-intro .level-filter:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(5,42,76,.23)}
.levels-intro .level-filter[data-filter="all"]{
    background:#fff;
    border-color:#fff;
    color:#155f9b;
}
.levels-intro .level-filter.green{
    background:#2eaa5e;
    border-color:#67cf89;
    color:#fff;
}
.levels-intro .level-filter.orange{
    background:#ff7a00;
    border-color:#ffad61;
    color:#fff;
}
.levels-intro .level-filter.red{
    background:#df3e49;
    border-color:#f07b83;
    color:#fff;
}
.levels-intro .level-filter b{
    background:rgba(255,255,255,.92);
    color:#163653;
    font-weight:900;
}
.levels-intro .level-filter.active{
    transform:translateY(-2px);
    box-shadow:0 0 0 3px rgba(255,255,255,.82),0 12px 28px rgba(5,42,76,.28);
}
.levels-intro .level-filter[data-filter="all"].active{
    background:#fff;
    border-color:#fff;
    color:#155f9b;
}
.levels-intro .level-filter.green.active{background:#238d4c;border-color:#238d4c;color:#fff}
.levels-intro .level-filter.orange.active{background:#e96e00;border-color:#e96e00;color:#fff}
.levels-intro .level-filter.red.active{background:#c92f3a;border-color:#c92f3a;color:#fff}

/* Карточки получают не только цветную полоску, но и собственный фон/рамку уровня */
.program-card{
    border:2px solid transparent;
    background:#fff;
}
.program-card.level-green{
    border-color:#62c785;
    background:linear-gradient(180deg,#ffffff 0%,#f1fbf5 100%);
    box-shadow:0 16px 42px rgba(46,170,94,.14);
}
.program-card.level-orange{
    border-color:#ff9a3c;
    background:linear-gradient(180deg,#ffffff 0%,#fff5eb 100%);
    box-shadow:0 16px 42px rgba(255,122,0,.15);
}
.program-card.level-red{
    border-color:#ea737b;
    background:linear-gradient(180deg,#ffffff 0%,#fff1f2 100%);
    box-shadow:0 16px 42px rgba(223,62,73,.13);
}
.program-card.level-green:hover{box-shadow:0 24px 56px rgba(46,170,94,.23)}
.program-card.level-orange:hover{box-shadow:0 24px 56px rgba(255,122,0,.24)}
.program-card.level-red:hover{box-shadow:0 24px 56px rgba(223,62,73,.22)}

.program-card:before{height:9px}
.program-card.level-green .program-image-wrap{border-bottom:6px solid #2eaa5e}
.program-card.level-orange .program-image-wrap{border-bottom:6px solid #ff7a00}
.program-card.level-red .program-image-wrap{border-bottom:6px solid #df3e49}

/* Яркие плашки уровня поверх фото */
.program-image-level{color:#fff!important;border:2px solid rgba(255,255,255,.9);box-shadow:0 8px 20px rgba(0,0,0,.18)}
.level-green .program-image-level{background:#2eaa5e}
.level-orange .program-image-level{background:#ff7a00}
.level-red .program-image-level{background:#df3e49}

/* Номер, возраст, расписание и CTA поддерживают цвет своего уровня */
.level-green .program-no,.level-green .program-age,.level-green .program-time{color:#188142}
.level-orange .program-no,.level-orange .program-age,.level-orange .program-time{color:#c85d00}
.level-red .program-no,.level-red .program-age,.level-red .program-time{color:#b92e39}

.program-link{color:#fff!important;border:0;justify-content:space-between}
.level-green .program-link{background:#2eaa5e;color:#fff!important}
.level-orange .program-link{background:#ff7a00;color:#fff!important}
.level-red .program-link{background:#df3e49;color:#fff!important}
.level-green .program-link:hover{background:#238d4c}
.level-orange .program-link:hover{background:#e96e00}
.level-red .program-link:hover{background:#c92f3a}

/* Группы внутри карточки чуть лучше отделены от основного текста */
.program-groups{border-top:1px solid rgba(18,51,84,.12)}
.level-green .program-group{border-bottom-color:rgba(46,170,94,.22)}
.level-orange .program-group{border-bottom-color:rgba(255,122,0,.22)}
.level-red .program-group{border-bottom-color:rgba(223,62,73,.20)}

@media(max-width:700px){
    .levels-intro .mini-levels{display:grid;grid-template-columns:1fr 1fr}
    .levels-intro .level-filter{width:100%}
}
@media(max-width:430px){
    .levels-intro .mini-levels{grid-template-columns:1fr}
}

/* ===== Расписание ===== */
.schedule-page{background:#f4f9fd;color:#0d2747}.schedule-hero{background:linear-gradient(112deg,#fff 0 51%,#eef7fd 51% 100%);padding:82px 0 76px}.schedule-hero-grid{display:grid;grid-template-columns:1.05fr .85fr;gap:90px;align-items:center}.schedule-hero h1{font-size:clamp(54px,5.3vw,86px);line-height:.94;margin:18px 0 24px;letter-spacing:-.045em}.schedule-hero h1 span{color:#237fbd}.schedule-hero p{font-size:18px;line-height:1.65;max-width:650px;color:#526985}.schedule-hero-card{min-height:330px;border-radius:34px;padding:42px 46px;background:linear-gradient(135deg,#1769a7,#2c91d1);color:#fff;box-shadow:0 26px 55px rgba(20,92,145,.22);display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.schedule-hero-card:after{content:"";position:absolute;width:160px;height:160px;border:2px solid rgba(255,255,255,.15);transform:rotate(45deg);right:-55px;top:25px}.schedule-hero-card>span{font-weight:900;letter-spacing:.05em}.schedule-hero-card strong{font-size:42px;line-height:1.05;margin:34px 0 14px}.schedule-hero-card p{color:#eaf6ff;font-size:16px}.schedule-code{margin-top:24px;color:#ff8a16;font-size:22px;font-weight:900}.schedule-levels{background:linear-gradient(105deg,#1269a7,#2c91d1);padding:58px 0;color:#fff}.schedule-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end}.schedule-heading h2{font-size:48px;line-height:1;margin:12px 0 0}.schedule-heading p{color:#e7f5ff;line-height:1.6}.schedule-filters{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.schedule-filter{border:2px solid rgba(255,255,255,.75);border-radius:999px;padding:13px 18px;background:#fff;color:#173653;font-weight:900;cursor:pointer}.schedule-filter b{margin-left:7px;background:rgba(255,255,255,.9);color:#173653;padding:3px 8px;border-radius:99px}.schedule-filter.green{background:#2eaa5e;color:#fff;border-color:#65d28c}.schedule-filter.orange{background:#ff7a00;color:#fff;border-color:#ffad61}.schedule-filter.red{background:#df3e49;color:#fff;border-color:#f27d86}.schedule-filter.active{box-shadow:0 0 0 4px rgba(255,255,255,.55),0 10px 26px rgba(0,0,0,.18);transform:translateY(-2px)}.schedule-filter[data-filter=all].active{background:#ff7a00;color:#fff;border-color:#ff7a00}.schedule-list-section{padding:70px 0 85px}.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.schedule-card{display:flex;flex-direction:column;min-height:370px;border-radius:26px;padding:28px;background:#fff;border:2px solid;box-shadow:0 14px 35px rgba(16,57,91,.08);transition:.2s}.schedule-card:hover{transform:translateY(-4px)}.schedule-card.level-green{border-color:#59c77f;background:linear-gradient(145deg,#fff,#effbf3)}.schedule-card.level-orange{border-color:#ff9838;background:linear-gradient(145deg,#fff,#fff2e5)}.schedule-card.level-red{border-color:#ed6e77;background:linear-gradient(145deg,#fff,#fff0f1)}.schedule-card-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.schedule-badge,.schedule-age{font-weight:900;border-radius:999px;padding:8px 12px;font-size:12px;text-transform:uppercase}.level-green .schedule-badge{background:#2eaa5e;color:#fff}.level-orange .schedule-badge{background:#ff7a00;color:#fff}.level-red .schedule-badge{background:#df3e49;color:#fff}.schedule-age{background:#fff;color:#176daf;border:1px solid #d8e8f3}.schedule-card h3{font-size:26px;line-height:1.08;margin:24px 0 8px}.schedule-group-name{font-weight:900;color:#176daf}.schedule-days{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.schedule-days div{background:#fff;border-radius:16px;padding:16px;border:1px solid rgba(17,70,109,.1)}.schedule-days b{display:block;font-size:13px;text-transform:uppercase;margin-bottom:5px}.schedule-days strong{font-size:19px}.level-green .schedule-days b{color:#218e4b}.level-orange .schedule-days b{color:#d86500}.level-red .schedule-days b{color:#c8323d}.schedule-meta{border-top:1px solid rgba(16,57,91,.12);padding-top:16px;display:flex;justify-content:space-between;gap:15px;font-size:13px;color:#5c7086}.schedule-meta b{white-space:nowrap;color:#173653}.schedule-enroll{margin-top:auto;border-radius:14px;padding:14px 17px;text-decoration:none!important;color:#fff!important;font-weight:900;display:flex;justify-content:space-between}.level-green .schedule-enroll{background:#2eaa5e}.level-orange .schedule-enroll{background:#ff7a00}.level-red .schedule-enroll{background:#df3e49}.schedule-note{padding:0 0 80px;background:#fff}.schedule-note-box{border-radius:28px;padding:44px 48px;background:#1269a7;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}.schedule-note-box h2{font-size:38px;margin:10px 0}.schedule-note-box p{margin:0;color:#e6f4ff}.schedule-note-box .it-btn{flex:0 0 auto}
@media(max-width:900px){.schedule-hero-grid,.schedule-heading{grid-template-columns:1fr;gap:35px}.schedule-hero{padding:55px 0}.schedule-hero-card{min-height:260px}.schedule-grid{grid-template-columns:1fr}.schedule-heading h2{font-size:40px}.schedule-note-box{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.schedule-hero h1{font-size:52px}.schedule-hero-card{padding:30px}.schedule-hero-card strong{font-size:34px}.schedule-filters{display:grid;grid-template-columns:1fr 1fr}.schedule-filter{width:100%}.schedule-days{grid-template-columns:1fr}.schedule-meta{flex-direction:column}.schedule-note-box{padding:32px 25px}.schedule-note-box h2{font-size:31px}}

/* Расписание: недельная сетка как на платформе записи */
.week-schedule-wrap{overflow-x:auto;border-radius:26px;background:#fff;border:1px solid #d8e7f2;box-shadow:0 18px 42px rgba(16,57,91,.10)}
.week-schedule-head,.week-schedule-body{display:grid;grid-template-columns:repeat(6,minmax(185px,1fr));min-width:1160px}
.week-schedule-head{background:linear-gradient(90deg,#1269a7,#2c91d1);color:#fff;position:sticky;top:0;z-index:2}
.week-schedule-head>div{padding:18px 14px;text-align:center;border-right:1px solid rgba(255,255,255,.22)}
.week-schedule-head>div:last-child{border-right:0}.week-schedule-head b{display:block;font-size:19px}.week-schedule-head span{display:block;font-size:12px;opacity:.82;margin-top:3px}
.week-day-column{padding:14px;background:#f8fbfe;border-right:1px solid #dce8f2;display:flex;flex-direction:column;gap:12px;min-height:420px}.week-day-column:last-child{border-right:0}.week-day-column:nth-child(even){background:#f2f8fc}
.week-lesson{display:flex;flex-direction:column;min-height:205px;border-radius:17px;padding:15px;background:#fff;border:2px solid;box-shadow:0 7px 18px rgba(16,57,91,.07);transition:.18s}.week-lesson:hover{transform:translateY(-2px);box-shadow:0 11px 24px rgba(16,57,91,.12)}
.week-lesson.level-green{border-color:#50bf77;background:linear-gradient(145deg,#fff,#edf9f1)}.week-lesson.level-orange{border-color:#ff9130;background:linear-gradient(145deg,#fff,#fff1e4)}.week-lesson.level-red{border-color:#e95d68;background:linear-gradient(145deg,#fff,#ffedef)}
.week-lesson-time{font-size:18px;font-weight:950;margin-bottom:9px}.level-green .week-lesson-time{color:#218e4b}.level-orange .week-lesson-time{color:#db6500}.level-red .week-lesson-time{color:#c8323d}
.week-lesson h3{font-size:16px;line-height:1.18;margin:0 0 10px;color:#102d4b}.week-lesson-tags{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:9px}.week-lesson-tags span{font-size:10px;font-weight:900;background:#fff;border:1px solid #d9e6ef;border-radius:99px;padding:5px 7px}.week-lesson-meta{font-size:11px;line-height:1.3;color:#62758a;margin-top:auto}.week-lesson-room{font-size:11px;font-weight:850;color:#173653;margin:5px 0 10px}.week-lesson a{display:block;text-align:center;border-radius:10px;padding:8px 9px;color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:950}.level-green.week-lesson a{background:#2eaa5e}.level-orange.week-lesson a{background:#ff7a00}.level-red.week-lesson a{background:#df3e49}
.week-day-empty{display:none;text-align:center;color:#8ba0b4;padding:35px 5px;font-weight:800}.week-day-column.is-empty .week-day-empty{display:block}.week-schedule-hint{font-size:13px;color:#6b8095;margin:14px 3px 0}
@media(max-width:760px){.week-schedule-head,.week-schedule-body{grid-template-columns:repeat(6,180px);min-width:1080px}.week-day-column{padding:10px}.week-lesson{min-height:195px;padding:13px}}

/* ===== Документы для зачисления ===== */
.enroll-docs-page{background:#f5f9fc;color:#102d4b}.docs-hero{background:linear-gradient(112deg,#fff 0 52%,#eef7fd 52% 100%);padding:82px 0 76px}.docs-hero-grid{display:grid;grid-template-columns:1.05fr .85fr;gap:90px;align-items:center}.docs-hero h1{font-size:clamp(52px,5.2vw,84px);line-height:.95;letter-spacing:-.045em;margin:18px 0 24px}.docs-hero h1 span{color:#237fbd}.docs-hero p{max-width:650px;color:#526985;font-size:18px;line-height:1.65}.docs-hero-card{min-height:340px;padding:42px 46px;border-radius:34px;background:linear-gradient(135deg,#1269a7,#2c91d1);color:#fff;box-shadow:0 26px 55px rgba(20,92,145,.22);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.docs-hero-card:after{content:"";position:absolute;width:180px;height:180px;border:2px solid rgba(255,255,255,.14);transform:rotate(45deg);right:-70px;top:20px}.docs-hero-card>span{font-weight:950;letter-spacing:.08em;color:#ffad61}.docs-hero-card strong{font-size:42px;line-height:1.05;margin:30px 0 15px}.docs-hero-card p{font-size:16px;color:#eaf6ff}.docs-hero-time{margin-top:22px;align-self:flex-start;background:#ff7a00;border-radius:999px;padding:10px 15px;font-weight:950}.docs-steps{padding:76px 0;background:#fff}.docs-section-head{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:38px}.docs-section-head h2,.docs-list-main h2{font-size:48px;line-height:1;margin:12px 0}.docs-section-head p{color:#64798e;line-height:1.65}.docs-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.docs-step{border:1px solid #dce9f2;border-radius:26px;padding:28px;background:#f8fbfe;position:relative;min-height:300px}.docs-step:nth-child(2){background:#edf7fd;border-color:#bcdff2}.docs-step:nth-child(3){background:#fff4e9;border-color:#ffd0a4}.docs-step-num{font-size:13px;font-weight:950;color:#1c75bc;letter-spacing:.08em}.docs-step-icon{width:48px;height:48px;border-radius:15px;background:#1c75bc;color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900;margin:22px 0}.docs-step:nth-child(3) .docs-step-icon{background:#ff7a00}.docs-step h3{font-size:25px;margin:0 0 12px}.docs-step p{color:#60758a;line-height:1.6;margin:0}.docs-step a{display:inline-block;margin-top:18px;color:#176faf;font-weight:900;text-decoration:none}.docs-list-section{padding:78px 0}.docs-list-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:38px;align-items:start}.docs-checklist{margin-top:32px;display:grid;gap:13px}.docs-checklist>div{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid #dce8f1;border-radius:19px;padding:18px 20px}.docs-checklist>div>span{flex:0 0 38px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#e9f8ef;color:#239653;font-weight:950}.docs-checklist p{margin:0;display:flex;flex-direction:column;gap:3px}.docs-checklist b{font-size:17px}.docs-checklist small{color:#718499;font-size:13px}.docs-checklist .docs-check-accent{border-color:#ffc68e;background:#fff7ef}.docs-checklist .docs-check-accent>span{background:#ff7a00;color:#fff}.docs-info-card{border-radius:28px;padding:34px;background:linear-gradient(145deg,#1269a7,#237fbd);color:#fff;box-shadow:0 20px 45px rgba(18,105,167,.18)}.docs-info-label{font-size:12px;font-weight:950;letter-spacing:.08em;color:#ffb36b}.docs-info-card h3{font-size:34px;line-height:1.05;margin:22px 0}.docs-info-card p{line-height:1.6;color:#e9f6ff}.docs-info-card>a{color:#fff;font-weight:900;text-decoration:none}.docs-info-card hr{border:0;border-top:1px solid rgba(255,255,255,.22);margin:28px 0}.docs-contact{display:flex;flex-direction:column;gap:4px}.docs-contact small{color:#cfeafb}.docs-contact a{color:#fff!important;font-size:19px;font-weight:950;text-decoration:none}.docs-contact span{font-size:13px;color:#dceffc}.docs-note{background:#fff;padding:0 0 80px}.docs-note-box{border-radius:28px;padding:44px 48px;background:#102f50;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}.docs-note-box h2{font-size:38px;margin:10px 0}.docs-note-box p{margin:0;max-width:720px;color:#dceaf5}.docs-note-box .it-btn{flex:0 0 auto}
@media(max-width:900px){.docs-hero-grid,.docs-section-head,.docs-list-grid{grid-template-columns:1fr;gap:35px}.docs-hero{padding:55px 0}.docs-step-grid{grid-template-columns:1fr}.docs-step{min-height:0}.docs-note-box{flex-direction:column;align-items:flex-start}}
@media(max-width:600px){.docs-hero h1{font-size:49px}.docs-hero-card{padding:30px;min-height:280px}.docs-hero-card strong{font-size:34px}.docs-section-head h2,.docs-list-main h2{font-size:39px}.docs-note-box{padding:32px 25px}.docs-note-box h2{font-size:31px}}

/* ===== FAQ page ===== */
.faq-page{background:#f5f9fc;color:#102d4b}.faq-page-hero{background:linear-gradient(112deg,#fff 0 52%,#eef7fd 52% 100%);padding:82px 0 76px}.faq-page-hero__grid{display:grid;grid-template-columns:1.05fr .85fr;gap:90px;align-items:center}.faq-page-hero h1{font-size:clamp(54px,5.3vw,86px);line-height:.94;letter-spacing:-.045em;margin:18px 0 24px}.faq-page-hero h1 span{color:#237fbd}.faq-page-hero p{font-size:18px;line-height:1.65;color:#526985;max-width:650px}.faq-page-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.faq-page-hero__card{min-height:330px;border-radius:34px;padding:42px 46px;background:linear-gradient(135deg,#1269a7,#2c91d1);color:#fff;box-shadow:0 26px 55px rgba(20,92,145,.22);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.faq-page-hero__card>span{font-size:13px;font-weight:950;letter-spacing:.12em;color:#ffb36b}.faq-page-hero__card strong{font-size:40px;line-height:1.06;margin:27px 0 14px;max-width:440px}.faq-page-hero__card p{font-size:16px;color:#e9f6ff;max-width:410px}.faq-page-hero__mark{position:absolute;right:-12px;bottom:-70px;font-size:250px;line-height:1;font-weight:950;color:rgba(255,255,255,.08)}.faq-page-main{padding:78px 0 86px}.faq-page-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:36px}.faq-page-heading h2{font-size:48px;line-height:1;margin:12px 0 0}.faq-page-heading p{color:#64798e;line-height:1.6}.faq-page-list{display:grid;gap:12px}.faq-page-item{background:#fff;border:1px solid #d9e7f1;border-radius:20px;overflow:hidden;box-shadow:0 8px 20px rgba(16,57,91,.045)}.faq-page-item[open]{border-color:#8fc9e9;box-shadow:0 14px 30px rgba(18,105,167,.10)}.faq-page-item summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:52px 1fr 38px;gap:15px;align-items:center;padding:20px 22px;font-size:18px;font-weight:900}.faq-page-item summary::-webkit-details-marker{display:none}.faq-page-num{width:42px;height:42px;border-radius:13px;background:#edf6fc;color:#1c75bc;display:grid;place-items:center;font-size:12px}.faq-page-plus{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#1c75bc;color:#fff;font-size:23px;line-height:1;transition:.2s}.faq-page-item[open] .faq-page-plus{transform:rotate(45deg);background:#ff7a00}.faq-page-answer{padding:0 75px 23px 89px;color:#5d7388;line-height:1.7}.faq-page-answer p{margin:0}.faq-page-answer a{display:inline-block;margin-top:12px;color:#176faf;font-weight:900;text-decoration:none}.faq-page-contact{background:#fff;padding:0 0 80px}.faq-page-contact__box{border-radius:30px;padding:45px 48px;background:linear-gradient(120deg,#102f50,#176faa);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:40px}.faq-page-contact__box span{font-size:12px;font-weight:950;letter-spacing:.1em;color:#ffb36b}.faq-page-contact__box h2{font-size:38px;margin:10px 0}.faq-page-contact__box p{margin:0;color:#dcecf8;max-width:680px}.faq-page-contact__actions{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap}.faq-page-contact .it-btn--light{background:#fff;color:#176faf!important}.faq-page-contact .it-btn--orange{background:#ff7a00;color:#fff!important}
@media(max-width:900px){.faq-page-hero__grid,.faq-page-heading{grid-template-columns:1fr;gap:35px}.faq-page-hero{padding:55px 0}.faq-page-contact__box{flex-direction:column;align-items:flex-start}.faq-page-contact__actions{flex:1}.faq-page-answer{padding-left:89px}}
@media(max-width:600px){.faq-page-hero h1{font-size:52px}.faq-page-hero__card{padding:30px;min-height:270px}.faq-page-hero__card strong{font-size:34px}.faq-page-heading h2{font-size:39px}.faq-page-item summary{grid-template-columns:42px 1fr 34px;padding:16px 14px;gap:10px;font-size:16px}.faq-page-num{width:36px;height:36px}.faq-page-answer{padding:0 18px 20px 66px}.faq-page-contact__box{padding:32px 25px}.faq-page-contact__box h2{font-size:31px}.faq-page-contact__actions{width:100%;flex-direction:column}.faq-page-contact__actions .it-btn{width:100%;text-align:center}}

/* ===== Об образовательной организации ===== */
.about-org-page{background:#f5f9fc;color:#102d4b}.about-org-hero{background:linear-gradient(112deg,#fff 0 52%,#eef7fd 52% 100%);padding:82px 0 76px}.about-org-hero-grid{display:grid;grid-template-columns:1.08fr .82fr;gap:90px;align-items:center}.about-org-hero h1{font-size:clamp(50px,5vw,82px);line-height:.95;letter-spacing:-.045em;margin:18px 0 24px}.about-org-hero h1 span{color:#237fbd}.about-org-hero p{font-size:18px;line-height:1.65;color:#526985;max-width:690px}.about-org-hero-card{min-height:340px;padding:42px 46px;border-radius:34px;background:linear-gradient(135deg,#1269a7,#2c91d1);color:#fff;box-shadow:0 26px 55px rgba(20,92,145,.22);position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center}.about-org-hero-card:after{content:"";position:absolute;width:190px;height:190px;border:2px solid rgba(255,255,255,.14);transform:rotate(45deg);right:-75px;top:15px}.about-org-hero-card>span{font-size:13px;font-weight:950;letter-spacing:.1em;color:#ffb36b}.about-org-hero-card strong{font-size:42px;line-height:1.05;margin:30px 0 15px}.about-org-hero-card p{font-size:16px;color:#eaf6ff}.about-org-address{margin-top:20px;align-self:flex-start;padding:10px 15px;border-radius:999px;background:#ff7a00;font-weight:950}.about-org-info{padding:76px 0;background:#fff}.about-org-heading{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:38px}.about-org-heading h2,.about-org-legal h2{font-size:48px;line-height:1;margin:12px 0}.about-org-heading p{color:#64798e;line-height:1.65}.about-org-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.about-org-facts article{min-height:190px;border:1px solid #dce9f2;border-radius:23px;padding:24px;background:#f8fbfe;display:flex;flex-direction:column}.about-org-facts article:nth-child(2){background:#edf7fd}.about-org-facts article:nth-child(4){background:#fff4e9;border-color:#ffd0a4}.about-org-facts span{font-size:12px;font-weight:950;color:#1c75bc}.about-org-facts small{color:#718499;margin:25px 0 8px}.about-org-facts strong{font-size:19px;line-height:1.3}.about-org-legal{padding:78px 0}.about-org-legal-grid{display:grid;grid-template-columns:1.2fr .7fr;gap:48px;align-items:start}.about-org-name{font-size:22px;line-height:1.55;background:#fff;border-left:6px solid #1c75bc;border-radius:0 20px 20px 0;padding:24px 28px;margin:28px 0 20px;box-shadow:0 12px 30px rgba(16,57,91,.06)}.about-org-legal p{color:#60758a;line-height:1.7}.about-org-founder{border-radius:28px;padding:34px;background:linear-gradient(145deg,#1269a7,#237fbd);color:#fff;box-shadow:0 20px 45px rgba(18,105,167,.18)}.about-org-founder-label{font-size:12px;font-weight:950;letter-spacing:.09em;color:#ffb36b}.about-org-founder h3{font-size:31px;line-height:1.1;margin:24px 0 16px}.about-org-founder p{color:#e7f4fc;margin:0}.about-org-itcube{padding:78px 0;background:#fff}.about-org-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.about-org-cards article{border:1px solid #dce9f2;border-radius:25px;padding:28px;background:#f8fbfe}.about-org-cards article>div{width:50px;height:50px;border-radius:15px;background:#1c75bc;color:#fff;display:grid;place-items:center;font-weight:950;font-size:18px}.about-org-cards article:nth-child(2)>div{background:#ff7a00}.about-org-cards h3{font-size:24px;margin:22px 0 10px}.about-org-cards p{color:#62778b;line-height:1.6;margin:0}.about-org-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.about-org-links>a{display:flex;align-items:center;gap:20px;background:#102f50;color:#fff!important;text-decoration:none!important;border-radius:22px;padding:22px 26px}.about-org-links>a:last-child{background:#176faa}.about-org-links span{font-size:42px;font-weight:950;color:#ff8a16}.about-org-links div{display:flex;flex-direction:column}.about-org-links b{font-size:18px}.about-org-links small{color:#dcecf8;margin-top:4px}.about-org-note{background:#fff;padding:0 0 80px}.about-org-note-box{border-radius:28px;padding:44px 48px;background:#102f50;color:#fff;display:flex;justify-content:space-between;align-items:center;gap:35px}.about-org-note-box h2{font-size:38px;margin:10px 0}.about-org-note-box p{margin:0;max-width:720px;color:#dceaf5}.about-org-note-box .it-btn{flex:0 0 auto}
@media(max-width:900px){.about-org-hero-grid,.about-org-heading,.about-org-legal-grid{grid-template-columns:1fr;gap:35px}.about-org-facts{grid-template-columns:1fr 1fr}.about-org-cards{grid-template-columns:1fr}.about-org-note-box{flex-direction:column;align-items:flex-start}.about-org-hero{padding:55px 0}}
@media(max-width:600px){.about-org-hero h1{font-size:45px}.about-org-hero-card{padding:30px;min-height:280px}.about-org-hero-card strong{font-size:34px}.about-org-heading h2,.about-org-legal h2{font-size:39px}.about-org-facts,.about-org-links{grid-template-columns:1fr}.about-org-note-box{padding:32px 25px}.about-org-note-box h2{font-size:31px}}
/* ===== Официальные документы ===== */
.official-docs-page,.staff-page{background:#f5f9fc;color:#102d4b}.official-docs-hero,.staff-hero{padding:78px 0;background:linear-gradient(112deg,#fff 0 58%,#eef7fd 58%)}.official-docs-hero h1,.staff-hero h1{font-size:clamp(54px,5vw,82px);line-height:.96;letter-spacing:-.045em;margin:16px 0 20px}.staff-hero h1 span{color:#237fbd}.official-docs-hero p,.staff-hero p{max-width:720px;color:#60758a;font-size:18px;line-height:1.65}.official-docs-main,.staff-main{padding:70px 0 85px}.official-docs-top{display:grid;grid-template-columns:1fr 1fr;gap:18px}.official-doc-card{display:flex;gap:22px;align-items:center;background:#176faa;color:#fff!important;text-decoration:none!important;border-radius:25px;padding:28px;box-shadow:0 16px 35px rgba(23,111,170,.14)}.official-doc-card.orange{background:#ff7a00}.official-doc-card>span{width:62px;height:62px;border-radius:17px;background:rgba(255,255,255,.17);display:grid;place-items:center;font-weight:950}.official-doc-card small{font-weight:900;letter-spacing:.08em;opacity:.8}.official-doc-card h3{font-size:24px;margin:7px 0}.official-doc-card p{margin:0;color:#fff}.official-programs-head{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin:70px 0 30px}.official-programs-head h2{font-size:48px;margin:10px 0 0}.official-programs-head p{color:#64798e;line-height:1.6}.official-program-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.official-program-card{display:grid;grid-template-columns:48px 1fr auto;gap:16px;align-items:center;background:#fff;border:1px solid #dce9f2;border-radius:18px;padding:18px;color:#102d4b!important;text-decoration:none!important;transition:.2s}.official-program-card:hover{transform:translateY(-2px);border-color:#79bde4;box-shadow:0 12px 25px rgba(16,57,91,.08)}.official-program-num{font-weight:950;color:#1c75bc}.official-program-card h3{font-size:17px;margin:0 0 5px}.official-program-card p{margin:0;color:#718499;font-size:13px}.official-program-card>b{font-size:12px;color:#ff7a00}.official-docs-note{margin-top:25px;background:#edf7fd;border-left:5px solid #1c75bc;border-radius:0 16px 16px 0;padding:20px 24px;color:#526985}.staff-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.staff-card{background:#fff;border:1px solid #dce9f2;border-radius:28px;overflow:hidden;display:grid;grid-template-columns:210px 1fr;min-height:360px;box-shadow:0 12px 30px rgba(16,57,91,.06)}.staff-director{grid-column:1/-1;grid-template-columns:320px 1fr}.staff-card img{width:100%;height:100%;object-fit:cover;min-height:360px;background:#e9f2f8}.staff-body{padding:30px}.staff-body>span{font-size:11px;font-weight:950;letter-spacing:.08em;color:#1c75bc}.staff-body h2{font-size:30px;line-height:1.06;margin:13px 0 22px}.staff-director .staff-body h2{font-size:42px}.staff-body p{color:#60758a;line-height:1.55;margin:10px 0}.staff-body a{color:#176faa;text-decoration:none}.staff-badge{display:inline-block;background:#fff1e4;color:#c85d00;border:1px solid #ffd0a4;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:950;margin-bottom:10px}.text-link{color:#176faa;font-weight:900;text-decoration:none}
@media(max-width:900px){.official-docs-top,.official-programs-head,.official-program-grid,.staff-grid{grid-template-columns:1fr}.staff-director{grid-column:auto}.staff-card,.staff-director{grid-template-columns:180px 1fr}.staff-director .staff-body h2{font-size:30px}}
@media(max-width:600px){.official-docs-hero,.staff-hero{padding:55px 0}.official-programs-head h2{font-size:39px}.official-doc-card{align-items:flex-start}.official-program-card{grid-template-columns:38px 1fr}.official-program-card>b{grid-column:2}.staff-card,.staff-director{grid-template-columns:1fr}.staff-card img{height:330px;min-height:0}.staff-body{padding:24px}}

/* ===== Official information single-page layout v2 ===== */
.edu-info-page{background:#fff;color:#14213d}.edu-info-page .site-container{max-width:1180px}.edu-info-hero{padding:54px 0 44px;background:linear-gradient(135deg,#0757a6 0%,#1c75bc 72%,#eef7ff 72%)}.edu-info-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:34px;align-items:center}.edu-info-hero .section-kicker,.edu-info-hero h1,.edu-info-hero p{color:#fff}.edu-info-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.02;margin:10px 0 18px}.edu-info-hero p{font-size:18px;max-width:720px;opacity:.94}.edu-info-hero-card{background:#fff;border-radius:28px;padding:30px;box-shadow:0 18px 50px rgba(0,50,100,.18);color:#14213d}.edu-info-hero-card strong{display:block;font-size:30px;color:#1c75bc;margin:8px 0}.edu-info-section{padding:54px 0}.edu-info-section.alt{background:#f5f9ff}.edu-info-title{margin-bottom:26px}.edu-info-title h2{font-size:38px;margin:5px 0 8px}.edu-info-title p{margin:0;color:#64748b}.edu-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.edu-fact{padding:22px;border:1px solid #dbe9fb;background:linear-gradient(145deg,#fff,#f1f7ff);border-radius:20px;min-height:165px}.edu-fact-icon{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e4f1ff;color:#1769d1;font-size:22px;font-weight:800;margin-bottom:14px}.edu-fact h3{font-size:16px;margin:0 0 8px}.edu-fact p{margin:0;color:#475569;line-height:1.5}.edu-work{margin-top:18px;display:grid;grid-template-columns:2fr 1fr;gap:16px}.edu-work>div{padding:24px;border-radius:20px;background:#eaf3ff}.edu-work strong{display:block;font-size:20px;margin-bottom:8px}.edu-contact-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.edu-contact{border:1px solid #dbe9fb;border-radius:18px;padding:20px;background:#fff;min-height:175px}.edu-contact span{font-size:25px}.edu-contact h3{font-size:15px;margin:12px 0 8px}.edu-contact p,.edu-contact a{font-size:14px;line-height:1.5}.edu-doc-top{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:28px}.edu-doc-card{display:block;border:1px solid #cfe2fb;border-radius:20px;padding:22px;text-decoration:none;color:inherit;background:#fff}.edu-doc-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(28,117,188,.12)}.edu-doc-card b{display:block;font-size:18px;margin:10px 0}.edu-programs{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.edu-program{display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dbe9fb;border-radius:14px;padding:14px 16px;text-decoration:none;color:#17324d;background:#fff}.edu-program:hover{border-color:#1c75bc}.edu-program small{color:#64748b}.edu-program em{font-style:normal;color:#1c75bc;font-weight:800}.edu-staff-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.edu-person{border:1px solid #dbe9fb;border-radius:22px;overflow:hidden;background:#fff}.edu-person-photo{height:280px;background:linear-gradient(145deg,#dcecff,#f5f9ff);display:grid;place-items:center;color:#1c75bc;font-weight:800;text-align:center;padding:20px}.edu-person-body{padding:22px}.edu-person-body>span{font-size:12px;font-weight:800;color:#1c75bc}.edu-person-body h3{font-size:23px;margin:8px 0 14px}.edu-person-body p{font-size:14px;line-height:1.55;color:#475569}.edu-qual{display:inline-block;padding:7px 10px;border-radius:999px;background:#eaf7ee;color:#21884a;font-size:12px;font-weight:800;margin-bottom:8px}.edu-map-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}.edu-map-card,.edu-map-placeholder{border-radius:22px;background:#eef6ff;padding:26px}.edu-map-card .it-btn{margin-top:16px}.edu-map-placeholder{min-height:250px;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#e8f3ff,#fff);border:1px solid #dbe9fb}.edu-subnav{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.edu-subnav a{padding:9px 13px;border-radius:999px;background:rgba(255,255,255,.14);color:#fff;text-decoration:none;font-weight:700;font-size:13px}.edu-subnav a:hover{background:#fff;color:#1c75bc}@media(max-width:900px){.edu-info-hero{background:linear-gradient(135deg,#0757a6,#1c75bc)}.edu-info-hero-grid,.edu-work,.edu-map-grid{grid-template-columns:1fr}.edu-facts,.edu-doc-top,.edu-staff-grid{grid-template-columns:1fr 1fr}.edu-contact-grid{grid-template-columns:1fr 1fr}.edu-programs{grid-template-columns:1fr}}@media(max-width:620px){.edu-info-section{padding:38px 0}.edu-facts,.edu-doc-top,.edu-staff-grid,.edu-contact-grid{grid-template-columns:1fr}.edu-info-title h2{font-size:30px}.edu-person-photo{height:220px}}

/* Staff photos on education information page */
.edu-person-photo{padding:0;overflow:hidden;background:#eef4fa}.edu-person-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 24%}.edu-person:nth-child(1) .edu-person-photo img{object-position:center 25%}.edu-person:nth-child(2) .edu-person-photo img{object-position:center 30%}.edu-person:nth-child(3) .edu-person-photo img{object-position:center 22%}


/* Сведения: живая карта и точное кадрирование фото */
.edu-map-embed{min-height:320px;border-radius:22px;overflow:hidden;border:1px solid #dbe9fb;background:#eef6ff;box-shadow:0 10px 28px rgba(28,117,188,.08)}
.edu-map-embed iframe{display:block;width:100%;height:100%;min-height:320px;border:0}
.edu-person:nth-child(2) .edu-person-photo img{object-position:center 48%}
.staff-grid .staff-card:nth-child(2)>img{object-position:center 48%}
@media(max-width:620px){.edu-map-embed,.edu-map-embed iframe{min-height:280px}}

/* Contacts page */
.contacts-page{background:#fff;color:#10233f}.contacts-hero{background:linear-gradient(125deg,#0d5eaa 0%,#1c75bc 68%,#2789d0 100%);color:#fff;padding:62px 0}.contacts-hero-grid{display:grid;grid-template-columns:1.5fr .75fr;gap:42px;align-items:center}.contacts-hero h1{font-size:clamp(38px,5vw,64px);line-height:1.02;margin:10px 0 18px;max-width:760px}.contacts-hero p{font-size:19px;line-height:1.6;max-width:700px;opacity:.94}.contacts-hero .section-kicker{color:#fff;opacity:.8}.contacts-hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.contacts-light-btn{background:#fff!important;color:#1769ad!important}.contacts-address-card{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.3);border-radius:24px;padding:30px;display:flex;flex-direction:column;gap:10px;backdrop-filter:blur(8px)}.contacts-address-card small{font-weight:800;letter-spacing:.08em;opacity:.8}.contacts-address-card strong{font-size:23px;line-height:1.35}.contacts-address-card span{opacity:.9}.contacts-address-card b{margin-top:8px;color:#fff}.contacts-section{padding:64px 0}.contacts-alt{background:#f5f9ff}.contacts-title{margin-bottom:28px}.contacts-title h2{font-size:clamp(30px,4vw,44px);margin:6px 0 8px}.contacts-title p{color:#617189}.contacts-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.contact-action-card{border:1px solid #d7e6f7;border-radius:20px;padding:24px;text-decoration:none!important;color:#10233f!important;background:#fff;min-height:210px;display:flex;flex-direction:column;transition:.2s;box-shadow:0 8px 28px rgba(28,117,188,.06)}.contact-action-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgba(28,117,188,.13);border-color:#9dc9ed}.contact-icon{width:48px;height:48px;border-radius:14px;background:#e9f3ff;color:#1c75bc;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:20px;margin-bottom:22px}.contact-action-card small,.contacts-mini-grid small,.contacts-hours small{font-size:11px;font-weight:900;letter-spacing:.07em;color:#6d7e94}.contact-action-card strong{font-size:17px;line-height:1.35;margin:9px 0;overflow-wrap:anywhere}.contact-action-card em{font-style:normal;color:#1c75bc;font-weight:800;margin-top:auto}.enroll-contact-box{background:#fff;border:1px solid #d9e8f8;border-radius:24px;padding:34px;display:grid;grid-template-columns:1fr 190px;gap:35px;align-items:center;box-shadow:0 12px 35px rgba(28,117,188,.07)}.enroll-contact-box h3{font-size:27px;margin:0 0 10px}.enroll-contact-box p{color:#5d6d82;line-height:1.65;margin:0}.enroll-contact-links{display:flex;gap:18px;flex-wrap:wrap;margin-top:20px}.enroll-contact-links a{font-weight:800;color:#1c75bc}.enroll-contact-note{border-radius:20px;background:#fff4e9;padding:24px;text-align:center;color:#c85d00}.enroll-contact-note span{display:block;font-size:52px;line-height:1;font-weight:900}.enroll-contact-note b,.enroll-contact-note small{display:block}.contacts-map-grid{display:grid;grid-template-columns:360px 1fr;gap:20px}.contacts-location-card{background:#eef6ff;border:1px solid #d5e7f8;border-radius:24px;padding:28px}.contacts-location-card h3{font-size:21px;line-height:1.45}.contacts-location-card p{color:#5f7188;line-height:1.55}.contacts-hours{padding:16px 0 20px;border-top:1px solid #cfdfef;margin-top:18px}.contacts-hours strong{display:block;margin-top:5px;line-height:1.45}.contacts-map{min-height:440px;border-radius:24px;overflow:hidden;border:1px solid #d5e7f8;background:#eef6ff}.contacts-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.contacts-mini-grid>div{background:#fff;border:1px solid #dce9f6;border-radius:18px;padding:22px}.contacts-mini-grid h3{font-size:18px;margin:8px 0 12px}.contacts-mini-grid a{color:#1c75bc;font-weight:700;overflow-wrap:anywhere}@media(max-width:980px){.contacts-hero-grid,.contacts-map-grid{grid-template-columns:1fr}.contacts-cards{grid-template-columns:repeat(2,1fr)}.contacts-mini-grid{grid-template-columns:1fr}.contacts-map{min-height:380px}}@media(max-width:640px){.contacts-hero{padding:42px 0}.contacts-section{padding:44px 0}.contacts-cards{grid-template-columns:1fr}.enroll-contact-box{grid-template-columns:1fr;padding:24px}.enroll-contact-note{max-width:190px}.contacts-map{min-height:340px}.contact-action-card{min-height:180px}}

/* Contacts hero — real center photo under branded blue mask */
.contacts-hero{position:relative;isolation:isolate;background-image:linear-gradient(90deg,rgba(7,70,133,.94) 0%,rgba(17,101,176,.86) 46%,rgba(28,117,188,.68) 100%),var(--contacts-center-photo);background-size:cover;background-position:center 48%;overflow:hidden}
.contacts-hero:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,34,79,.06),rgba(0,34,79,.18));pointer-events:none}
.contacts-hero>.site-container{position:relative;z-index:1}
@media(max-width:640px){.contacts-hero{background-position:center center;background-image:linear-gradient(90deg,rgba(7,70,133,.94),rgba(28,117,188,.78)),var(--contacts-center-photo)}}

/* ===== Управляемые новости и мероприятия ===== */
.content-hub-page,.material-page,.docs-index-page{background:#f6f9fd;color:#10233f}.content-hub-hero{padding:72px 0;background:linear-gradient(125deg,#0b5fa9,#1c75bc 68%,#2d91d0);color:#fff}.content-hub-hero.event{background:linear-gradient(125deg,#0b5fa9,#1c75bc 58%,#ff7a00 145%)}.content-hub-hero h1{font-size:clamp(42px,5.5vw,72px);margin:8px 0 16px;line-height:1}.content-hub-hero p{font-size:18px;line-height:1.6;max-width:760px;opacity:.92}.content-hub-hero .section-kicker{color:#fff;opacity:.8}.content-hub-section{padding:58px 0 76px}.content-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:26px}.content-tabs a{padding:10px 16px;border-radius:999px;background:#eaf3fc;color:#1c75bc;text-decoration:none;font-weight:800}.content-tabs a.active,.content-tabs a:hover{background:#1c75bc;color:#fff}.content-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.content-card{background:#fff;border:1px solid #d9e8f7;border-radius:22px;overflow:hidden;box-shadow:0 10px 30px rgba(28,117,188,.06);display:flex;flex-direction:column}.content-card-media{height:235px;position:relative;display:block;overflow:hidden;background:#e9f3ff}.content-card-media img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}.content-card:hover .content-card-media img{transform:scale(1.025)}.content-card-placeholder{height:100%;display:grid;place-items:center;font-weight:900;font-size:30px;color:#1c75bc}.content-card-type{position:absolute;left:16px;top:16px;background:rgba(255,255,255,.94);color:#1c75bc;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:900}.content-card-body{padding:22px;display:flex;flex-direction:column;flex:1}.content-card-body time{font-size:13px;color:#ff7a00;font-weight:900}.content-card-body h2{font-size:21px;line-height:1.25;margin:9px 0}.content-card-body h2 a{color:#10233f;text-decoration:none}.content-card-body p{color:#62738a;line-height:1.55;margin:0 0 18px}.content-card-link{margin-top:auto;color:#1c75bc;font-weight:900;text-decoration:none}.content-empty{grid-column:1/-1;background:#fff;border:1px dashed #bdd7ed;border-radius:20px;padding:32px;text-align:center;color:#5b7087}.content-pagination{margin-top:32px;display:flex;justify-content:center;gap:8px}.content-pagination .page-numbers{padding:9px 12px;border-radius:10px;background:#fff;color:#1c75bc;text-decoration:none;border:1px solid #d8e7f6}.content-pagination .current{background:#1c75bc;color:#fff}.material-hero{padding:58px 0;background:linear-gradient(125deg,#0b5fa9,#1c75bc);color:#fff}.material-hero.news{background:linear-gradient(125deg,#0b5fa9,#1c75bc 75%,#55a9df)}.material-back{color:#dff1ff;text-decoration:none;font-weight:700}.material-label{display:block;margin-top:24px;color:#ffbb78;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.08em}.material-hero h1{font-size:clamp(36px,5vw,64px);line-height:1.06;margin:10px 0 14px;max-width:950px}.material-hero time{font-weight:800;opacity:.9}.material-section{padding:52px 0 76px}.material-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}.material-main,.material-news-width{max-width:920px}.material-news-width{margin:0 auto}.material-cover{border-radius:24px;overflow:hidden;margin-bottom:28px;background:#eaf3fb}.material-cover img{width:100%;height:auto;display:block}.material-content{background:#fff;border:1px solid #dce9f7;border-radius:22px;padding:30px;font-size:17px;line-height:1.75}.material-content img{max-width:100%;height:auto}.material-docbox{position:sticky;top:24px;background:#fff;border:1px solid #dce9f7;border-radius:22px;padding:24px}.material-docbox h2{margin-top:0}.material-docbox a{display:flex;justify-content:space-between;gap:15px;padding:13px 0;border-top:1px solid #e2edf7;text-decoration:none;color:#1c75bc;font-weight:800}.material-docbox a.award{color:#d76500}.docs-list{display:grid;gap:14px}.docs-row{background:#fff;border:1px solid #d9e8f7;border-radius:18px;padding:20px 22px;display:flex;justify-content:space-between;gap:20px;align-items:center}.docs-row time{font-size:12px;color:#718399;font-weight:800}.docs-row h2{font-size:19px;margin:4px 0}.docs-row h2 a{color:#10233f;text-decoration:none}.docs-row-actions{display:flex;gap:8px;flex-wrap:wrap}.docs-row-actions a,.result-links a{background:#eaf3fc;color:#1c75bc;padding:9px 12px;border-radius:10px;text-decoration:none;font-weight:800}.result-links{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto}.event-plan-list{display:grid;gap:10px}.event-plan-row{display:grid;grid-template-columns:160px 1fr auto;gap:18px;align-items:center;background:#fff;border:1px solid #d9e8f7;border-radius:16px;padding:18px 20px;text-decoration:none;color:#10233f}.event-plan-row time{font-weight:900;color:#ff7a00}.event-plan-row span{color:#1c75bc;font-weight:800}
@media(max-width:980px){.content-card-grid{grid-template-columns:repeat(2,1fr)}.material-layout{grid-template-columns:1fr}.material-docbox{position:static}.event-plan-row{grid-template-columns:1fr}.event-plan-row span{display:none}}
@media(max-width:620px){.content-hub-hero,.material-hero{padding:46px 0}.content-hub-section,.material-section{padding:38px 0 52px}.content-card-grid{grid-template-columns:1fr}.content-card-media{height:220px}.material-content{padding:22px}.docs-row{align-items:flex-start;flex-direction:column}}

/* ===== Поиск и архив новостей/мероприятий ===== */
.archive-filter{display:grid;grid-template-columns:minmax(220px,1fr) 180px 150px auto auto;gap:10px;align-items:center;background:#fff;border:1px solid #d9e8f7;border-radius:18px;padding:16px;margin:0 0 14px;box-shadow:0 8px 24px rgba(28,117,188,.05)}
.archive-filter input,.archive-filter select{width:100%;height:44px;border:1px solid #cbddec;border-radius:12px;background:#fff;padding:0 12px;color:#10233f;font:inherit}
.archive-filter input:focus,.archive-filter select:focus{outline:2px solid rgba(28,117,188,.18);border-color:#1c75bc}
.archive-filter button{height:44px;border:0;border-radius:12px;background:#1c75bc;color:#fff;padding:0 20px;font-weight:900;cursor:pointer}.archive-filter button:hover{background:#155f99}
.archive-reset{height:44px;display:flex;align-items:center;justify-content:center;padding:0 14px;border-radius:12px;background:#edf4fb;color:#1c75bc;text-decoration:none;font-weight:800}
.archive-years{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 28px}.archive-years>span{font-weight:900;color:#5e728a;margin-right:4px}.archive-years a{padding:8px 12px;border-radius:999px;background:#eaf3fc;color:#1c75bc;text-decoration:none;font-weight:800}.archive-years a.active,.archive-years a:hover{background:#1c75bc;color:#fff}
@media(max-width:980px){.archive-filter{grid-template-columns:1fr 1fr}.archive-search{grid-column:1/-1}.archive-filter button,.archive-reset{width:100%}}
@media(max-width:620px){.archive-filter{grid-template-columns:1fr}.archive-search{grid-column:auto}.archive-years{gap:6px}.archive-years a{padding:7px 10px;font-size:13px}}

/* ===== Главная: яркая фотокарусель ===== */
.home-photo-strip{
    position:relative;
    padding:72px 0 78px;
    background:
        radial-gradient(circle at 12% 15%, rgba(255,122,0,.18), transparent 28%),
        radial-gradient(circle at 88% 22%, rgba(28,117,188,.18), transparent 30%),
        linear-gradient(180deg,#ffffff 0%,#f4f9ff 100%);
    overflow:hidden;
}
.home-photo-strip__heading{display:flex;justify-content:space-between;gap:40px;align-items:end;margin-bottom:28px}
.home-photo-strip__heading h2{margin:8px 0 0;font-size:clamp(32px,4.2vw,54px);line-height:1.02;color:#0d2343;letter-spacing:-.03em}
.home-photo-strip__heading p{max-width:520px;margin:0;color:#51647f;font-size:17px;line-height:1.65}
.itcube-carousel{position:relative;border-radius:28px;overflow:hidden;box-shadow:0 26px 70px rgba(18,66,114,.18);background:#0c315a}
.itcube-carousel__viewport{overflow:hidden}
.itcube-carousel__track{display:flex;transition:transform .7s cubic-bezier(.22,.61,.36,1);will-change:transform}
.itcube-carousel__slide{position:relative;flex:0 0 100%;height:clamp(390px,54vw,650px);overflow:hidden}
.itcube-carousel__slide img{width:100%;height:100%;display:block;object-fit:cover;transform:scale(1.025);transition:transform 5s ease}
.itcube-carousel__slide.is-active img{transform:scale(1.08)}
.itcube-carousel__slide:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,27,57,.78) 0%,rgba(4,27,57,.22) 55%,rgba(4,27,57,.04) 100%)}
.itcube-carousel__caption{position:absolute;z-index:2;left:clamp(26px,5vw,64px);bottom:clamp(32px,6vw,70px);display:grid;max-width:560px;color:#fff}
.itcube-carousel__caption span{display:inline-flex;width:max-content;margin-bottom:12px;padding:7px 11px;border-radius:999px;background:#ff7a00;font-weight:800;font-size:13px}
.itcube-carousel__caption strong{font-size:clamp(30px,4vw,54px);line-height:1.02;letter-spacing:-.03em}
.itcube-carousel__caption small{margin-top:12px;font-size:clamp(15px,1.8vw,19px);opacity:.9}
.itcube-carousel__arrow{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:52px;height:52px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(255,255,255,.92);color:#1672b8;font-size:25px;line-height:1;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.14);transition:.2s}
.itcube-carousel__arrow:hover{background:#ff7a00;color:#fff;border-color:#ff7a00}
.itcube-carousel__arrow--prev{left:22px}.itcube-carousel__arrow--next{right:22px}
.itcube-carousel__dots{position:absolute;z-index:3;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:9px;padding:9px 12px;border-radius:999px;background:rgba(3,31,63,.38);backdrop-filter:blur(8px)}
.itcube-carousel__dots button{width:9px;height:9px;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.55);cursor:pointer;transition:.25s}
.itcube-carousel__dots button.is-active{width:30px;background:#ff7a00}

/* Добавляем чуть больше энергии основным блокам главной */
.about-section,.levels-section,.steps-section{position:relative}
.about-section:before,.levels-section:before,.steps-section:before{content:"";position:absolute;width:180px;height:180px;border-radius:50%;filter:blur(1px);opacity:.07;pointer-events:none}
.about-section:before{right:3%;top:8%;background:#ff7a00}
.levels-section:before{left:1%;bottom:6%;background:#1c75bc}
.steps-section:before{right:1%;top:10%;background:#ff7a00}

@media(max-width:760px){
    .home-photo-strip{padding:48px 0 54px}
    .home-photo-strip__heading{display:block}
    .home-photo-strip__heading p{margin-top:14px}
    .itcube-carousel{border-radius:20px}
    .itcube-carousel__slide{height:440px}
    .itcube-carousel__slide:after{background:linear-gradient(0deg,rgba(4,27,57,.82) 0%,rgba(4,27,57,.12) 72%)}
    .itcube-carousel__arrow{width:44px;height:44px;top:auto;bottom:19px;transform:none}
    .itcube-carousel__arrow--prev{left:18px}.itcube-carousel__arrow--next{right:18px}
    .itcube-carousel__dots{bottom:28px}
}
.legal-page{padding:54px 0 80px;background:#f6f9fc}.legal-wrap{max-width:960px}.legal-kicker{font-weight:800;color:#ff7a00;text-transform:uppercase;letter-spacing:.06em;margin-bottom:8px}.legal-wrap h1{font-size:clamp(32px,5vw,52px);line-height:1.08;color:#145b99;margin:0 0 24px}.legal-wrap h2{color:#1c75bc;margin:34px 0 10px;font-size:24px}.legal-wrap p{font-size:17px;line-height:1.72;color:#26384a}.legal-note{background:#fff3e6;border-left:5px solid #ff7a00;padding:18px 20px;border-radius:10px;margin:24px 0 30px;line-height:1.55}.cookie-consent{position:fixed;left:20px;right:20px;bottom:20px;z-index:99999;max-width:980px;margin:auto;background:#fff;border-radius:18px;box-shadow:0 14px 50px rgba(0,0,0,.22);padding:20px 22px;display:none}.cookie-consent.is-visible{display:flex;gap:22px;align-items:center}.cookie-consent__text{flex:1;line-height:1.5}.cookie-consent__actions{display:flex;gap:10px;flex-wrap:wrap}.cookie-consent button{border:0;border-radius:10px;padding:11px 16px;font-weight:800;cursor:pointer}.cookie-accept{background:#ff7a00;color:#fff}.cookie-essential{background:#e8f1f8;color:#145b99}@media(max-width:700px){.cookie-consent.is-visible{display:block}.cookie-consent__actions{margin-top:14px}.site-footer__legal{flex-wrap:wrap}}

/* =========================================================
   ГЛАВНАЯ — ФОТО-ОБЛОЖКА / КАРУСЕЛЬ
   ========================================================= */
.home-hero.home-hero--photo{
    position:relative;
    isolation:isolate;
    min-height:690px;
    padding:70px 0 92px;
    background:#0d5fa8;
}
.home-hero--photo::before,.home-hero--photo::after{display:none}
.home-hero__backgrounds{position:absolute;inset:0;z-index:-3;overflow:hidden}
.home-hero__background{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.035);transition:opacity .9s ease,transform 6s ease}
.home-hero__background.is-active{opacity:1;transform:scale(1.085)}
.home-hero__photo-overlay{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 30%,rgba(255,255,255,.63) 49%,rgba(6,42,78,.08) 66%,rgba(4,34,67,.17) 100%)}
.home-hero--photo .home-hero__grid{grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr);gap:54px}
.home-hero--photo .home-hero__content{max-width:690px}
.home-hero--photo .home-hero__title{font-size:clamp(58px,6.6vw,92px);text-shadow:0 2px 12px rgba(255,255,255,.55)}
.home-hero--photo .home-hero__lead{max-width:610px;color:#28415f;font-size:18px;font-weight:600;text-shadow:0 1px 5px rgba(255,255,255,.8)}
.home-hero--photo .home-hero__eyebrow{background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(16,61,104,.09)}
.home-hero--photo .home-hero__button--secondary{background:rgba(255,255,255,.9);backdrop-filter:blur(8px)}
.home-hero__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:34px;max-width:720px}
.home-hero__stats>div{display:flex;align-items:center;gap:9px;min-width:0}
.home-hero__stats strong{font-size:28px;line-height:1;color:#1c75bc;font-weight:900}
.home-hero__stats span{font-size:12px;line-height:1.25;color:#314c6c;font-weight:700}
.home-hero--photo .home-hero__visual{min-height:290px;background:rgba(11,111,193,.94);backdrop-filter:blur(7px);border:1px solid rgba(255,255,255,.28);box-shadow:0 24px 65px rgba(2,49,92,.24)}
.home-hero--photo .home-hero__visual-text{left:34px;top:38px;bottom:auto}
.home-hero--photo .home-hero__visual-text strong{color:#fff;font-size:clamp(42px,4vw,58px)}
.home-hero--photo .home-hero__visual-small{font-size:21px}
.home-hero__feature-row{position:absolute;z-index:3;left:34px;right:30px;bottom:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;color:#fff}
.home-hero__feature-row span{font-size:11px;line-height:1.3;font-weight:700;text-align:center;border-top:1px solid rgba(255,255,255,.36);padding-top:12px}
.home-hero--photo .enrollment-open-card{background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 24px 65px rgba(3,45,84,.18)}
.home-hero__arrow{position:absolute;z-index:5;top:50%;transform:translateY(-50%);width:50px;height:50px;border:1px solid rgba(255,255,255,.72);border-radius:50%;background:rgba(255,255,255,.92);color:#1c75bc;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.14)}
.home-hero__arrow:hover{background:#ff7a00;color:#fff;border-color:#ff7a00}
.home-hero__arrow--prev{left:26px}.home-hero__arrow--next{right:26px}
.home-hero__dots{position:absolute;z-index:5;left:50%;bottom:25px;transform:translateX(-50%);display:flex;gap:8px;padding:8px 11px;border-radius:999px;background:rgba(0,42,80,.28);backdrop-filter:blur(7px)}
.home-hero__dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.65);cursor:pointer;transition:.25s}
.home-hero__dots button.is-active{width:28px;border-radius:999px;background:#ff7a00}

@media(max-width:1100px){
 .home-hero--photo .home-hero__grid{grid-template-columns:1fr;gap:30px}
 .home-hero--photo .home-hero__content{max-width:760px}
 .home-hero__photo-overlay{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.79) 62%,rgba(255,255,255,.45))}
 .home-hero__side{max-width:760px}
 .home-hero.home-hero--photo{min-height:auto}
}
@media(max-width:720px){
 .home-hero.home-hero--photo{padding:48px 0 82px}
 .home-hero__photo-overlay{background:linear-gradient(180deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.86) 58%,rgba(255,255,255,.70) 100%)}
 .home-hero__background{background-position:center}
 .home-hero__stats{grid-template-columns:repeat(2,1fr)}
 .home-hero__feature-row{grid-template-columns:repeat(2,1fr);bottom:22px}
 .home-hero--photo .home-hero__visual{min-height:340px}
 .home-hero__arrow{width:42px;height:42px;font-size:29px;top:auto;bottom:20px;transform:none}
 .home-hero__arrow--prev{left:18px}.home-hero__arrow--next{right:18px}
 .home-hero__dots{bottom:27px}
}

/* =========================================================
   ГЛАВНАЯ — ФИНАЛЬНАЯ МАСКА HERO В СТИЛЕ УТВЕРЖДЁННОГО РЕФЕРЕНСА
   ========================================================= */
.home-hero.home-hero--photo{
    min-height:720px;
    padding:72px 0 96px;
}
.home-hero--photo .home-hero__background{
    background-position:center center;
    filter:saturate(1.04) contrast(1.02);
}
.home-hero--photo .home-hero__background--center{
    background-position:center 47%;
}
.home-hero--photo .home-hero__photo-overlay{
    background:
      linear-gradient(90deg,
        rgba(235,247,255,.97) 0%,
        rgba(241,249,255,.94) 17%,
        rgba(255,255,255,.84) 31%,
        rgba(255,255,255,.43) 46%,
        rgba(13,96,166,.12) 63%,
        rgba(6,62,116,.16) 100%);
}
.home-hero--photo .home-hero__photo-overlay:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(0deg,rgba(236,247,255,.66) 0%,transparent 28%,transparent 100%);
    pointer-events:none;
}
.home-hero--photo .home-hero__grid{
    grid-template-columns:minmax(0,1.06fr) minmax(450px,.94fr);
    gap:58px;
    align-items:center;
}
.home-hero--photo .home-hero__content{max-width:700px}
.home-hero--photo .home-hero__visual{
    background:linear-gradient(135deg,rgba(10,118,202,.97),rgba(8,94,176,.96));
    border:1px solid rgba(255,255,255,.34);
}
.home-hero--photo .home-hero__visual-text strong,
.home-hero--photo .home-hero__visual-small,
.home-hero--photo .home-hero__feature-row{color:#fff}
.home-hero--photo .home-hero__visual-text strong{color:#fff !important;text-shadow:0 2px 12px rgba(0,40,90,.14)}
.home-hero--photo .home-hero__title{letter-spacing:-.035em}
.home-hero--photo .home-hero__stats{padding:13px 16px;border-radius:18px;background:rgba(255,255,255,.55);backdrop-filter:blur(7px)}
@media(max-width:1100px){
  .home-hero--photo .home-hero__grid{grid-template-columns:1fr}
  .home-hero--photo .home-hero__photo-overlay{background:linear-gradient(90deg,rgba(239,248,255,.96),rgba(255,255,255,.76) 62%,rgba(255,255,255,.38))}
}
@media(max-width:720px){
  .home-hero.home-hero--photo{min-height:auto;padding:48px 0 82px}
  .home-hero--photo .home-hero__background--center{background-position:center center}
  .home-hero--photo .home-hero__photo-overlay{background:linear-gradient(180deg,rgba(239,248,255,.96),rgba(255,255,255,.82) 62%,rgba(255,255,255,.68))}
}



/* =========================================================
   SEASONAL HOMEPAGE DECORATION
   Appearance -> Seasonal design
   ========================================================= */

.itcube-season {
    position: fixed;
    inset: 0;
    z-index: 45;
    pointer-events: none;
    overflow: hidden;
    contain: layout paint;
}

.itcube-season__particle {
    position: absolute;
    top: -9vh;
    left: var(--season-left);
    font-size: var(--season-size);
    line-height: 1;
    opacity: .55;
    filter: drop-shadow(0 3px 4px rgba(8, 40, 74, .10));
    animation:
        itcubeSeasonFall var(--season-duration) linear var(--season-delay) infinite,
        itcubeSeasonSway 4.8s ease-in-out var(--season-delay) infinite alternate;
    will-change: transform;
}

.itcube-season--soft .itcube-season__particle {
    opacity: .38;
}

.itcube-season--autumn .itcube-season__particle:nth-child(3n) {
    opacity: .24;
}

.itcube-season--winter .itcube-season__particle {
    color: #fff;
    text-shadow: 0 1px 6px rgba(28,117,188,.35);
    opacity: .55;
}

.itcube-season--spring .itcube-season__particle,
.itcube-season--summer .itcube-season__particle {
    opacity: .34;
}

.itcube-season__hedgehog {
    position: fixed;
    left: clamp(12px, 2.2vw, 38px);
    bottom: 13px;
    font-size: clamp(30px, 3vw, 48px);
    opacity: .82;
    transform-origin: 50% 100%;
    animation: itcubeHedgehog 7s ease-in-out infinite;
}

.itcube-season__leafpile {
    position: fixed;
    left: clamp(46px, 5vw, 88px);
    bottom: 10px;
    font-size: clamp(16px, 1.6vw, 25px);
    opacity: .62;
    transform: rotate(-7deg);
}

@keyframes itcubeSeasonFall {
    0% {
        transform: translate3d(0,-12vh,0) rotate(0deg);
    }
    100% {
        transform: translate3d(5vw,116vh,0) rotate(470deg);
    }
}

@keyframes itcubeSeasonSway {
    0% { margin-left: -10px; }
    100% { margin-left: 17px; }
}

@keyframes itcubeHedgehog {
    0%, 66%, 100% { transform: translateX(0) rotate(0deg); }
    72% { transform: translateX(5px) rotate(2deg); }
    78% { transform: translateX(0) rotate(-2deg); }
    84% { transform: translateX(3px) rotate(1deg); }
}

@media (max-width: 760px) {
    .itcube-season__particle:nth-child(even) {
        display: none;
    }

    .itcube-season__hedgehog {
        font-size: 30px;
        left: 7px;
        bottom: 7px;
        opacity: .72;
    }

    .itcube-season__leafpile {
        left: 37px;
        bottom: 6px;
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .itcube-season__particle {
        display: none;
    }

    .itcube-season__hedgehog {
        animation: none;
    }
}

/* =========================================================
   HOME 2026 — BRIGHT TECH HERO + REAL PHOTO STORY
   Only real centre photos are used as imagery.
   ========================================================= */
.home-hero--tech-static {
    position: relative;
    min-height: 720px;
    overflow: hidden;
    isolation: isolate;
    background: #0d72bc;
}

.home-hero__static-photo {
    position: absolute;
    inset: 0;
    z-index: -5;
    background-size: cover;
    background-position: 58% 47%;
    transform: scale(1.015);
    filter: saturate(1.18) contrast(1.04) brightness(1.02);
}

.home-hero__static-mask {
    position: absolute;
    inset: 0;
    z-index: -4;
    background:
        linear-gradient(90deg, rgba(6,71,128,.94) 0%, rgba(10,104,174,.83) 26%, rgba(7,91,157,.40) 49%, rgba(4,49,89,.13) 71%, rgba(4,35,65,.20) 100%),
        linear-gradient(180deg, rgba(8,64,113,.06) 0%, rgba(3,37,67,.13) 68%, rgba(3,41,72,.42) 100%);
}

.home-hero--tech-static::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -3;
    background: radial-gradient(circle at 18% 40%, rgba(255,255,255,.17), transparent 31%);
    pointer-events: none;
}

.home-hero--tech-static .home-hero__grid {
    min-height: 720px;
    align-items: center;
    padding-top: 72px;
    padding-bottom: 78px;
}

.home-hero__content--bright { color: #fff; }
.home-hero__content--bright .home-hero__eyebrow {
    color: #096eb8;
    background: rgba(255,255,255,.95);
    box-shadow: 0 10px 32px rgba(0,45,84,.14);
}
.home-hero__title--contrast,
.home-hero__title--contrast span { color: #fff; }
.home-hero__title--contrast span { text-shadow: 0 8px 30px rgba(0,47,88,.18); }
.home-hero__lead--contrast { color: rgba(255,255,255,.94); text-shadow: 0 2px 16px rgba(0,45,80,.24); }
.home-hero__button--glass {
    color: #fff;
    border: 1px solid rgba(255,255,255,.72);
    background: rgba(255,255,255,.10);
    backdrop-filter: blur(12px);
}
.home-hero__button--glass:hover { background: rgba(255,255,255,.22); transform: translateY(-2px); }

.home-hero__stats--glass {
    margin-top: 32px;
    padding: 16px 18px;
    border: 1px solid rgba(255,255,255,.20);
    border-radius: 20px;
    background: rgba(4,70,124,.30);
    backdrop-filter: blur(13px);
    box-shadow: 0 18px 45px rgba(2,45,80,.14);
}
.home-hero__stats--glass strong,
.home-hero__stats--glass span { color: #fff; }
.home-hero__stats--glass span { opacity: .90; }

.home-hero__side--floating { gap: 18px; }
.home-hero__visual--tech {
    border: 1px solid rgba(255,255,255,.18);
    box-shadow: 0 28px 70px rgba(0,40,75,.30);
    background:
        linear-gradient(135deg, rgba(20,128,205,.96), rgba(0,91,171,.96));
    backdrop-filter: blur(10px);
}
.home-hero__visual--tech::before {
    opacity: .55;
}
.home-hero__feature-row--icons span {
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: center;
    text-align: center;
    line-height: 1.25;
}
.home-hero__feature-row--icons b {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    margin-bottom: 2px;
    font-size: 21px;
    font-weight: 500;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 10px;
}
.enrollment-open-card--floating { box-shadow: 0 28px 70px rgba(0,38,69,.24); }

.hero-tech-decor { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.hero-tech-decor__hex {
    position: absolute;
    width: 118px;
    aspect-ratio: 1;
    border: 2px solid rgba(255,255,255,.22);
    clip-path: polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%);
    animation: heroFloat 8s ease-in-out infinite alternate;
}
.hero-tech-decor__hex--1 { left: 1.4%; top: 10%; width: 160px; }
.hero-tech-decor__hex--2 { left: 7%; bottom: 4%; width: 74px; animation-delay: -2.5s; }
.hero-tech-decor__hex--3 { right: 1.8%; top: 12%; width: 95px; animation-delay: -4s; }
.hero-tech-decor__cube {
    position: absolute;
    width: 50px;
    height: 50px;
    border: 2px solid rgba(255,122,0,.75);
    transform: rotate(30deg) skew(-4deg,-4deg);
    animation: heroCube 9s ease-in-out infinite;
}
.hero-tech-decor__cube--1 { left: 41%; top: 17%; }
.hero-tech-decor__cube--2 { right: 5%; bottom: 16%; width: 70px; height: 70px; border-color: rgba(255,255,255,.32); animation-delay: -4s; }
.hero-tech-decor__line { position: absolute; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,.45), transparent); transform-origin: left; }
.hero-tech-decor__line--1 { left: 28%; top: 20%; width: 220px; transform: rotate(-28deg); }
.hero-tech-decor__line--2 { right: 8%; bottom: 25%; width: 180px; transform: rotate(34deg); }

.hero-scroll-hint {
    position: absolute;
    right: 28px;
    bottom: 25px;
    z-index: 4;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 7px;
    color: rgba(255,255,255,.90);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
    text-decoration: none;
}
.hero-scroll-hint span { position: relative; width: 24px; height: 38px; border: 1px solid rgba(255,255,255,.70); border-radius: 15px; }
.hero-scroll-hint span::after { content:""; position:absolute; left:50%; top:8px; width:4px; height:7px; margin-left:-2px; background:#ff7a00; border-radius:4px; animation: scrollDot 1.7s ease-in-out infinite; }

@keyframes heroFloat { from { transform: translateY(-5px) rotate(-2deg); } to { transform: translateY(12px) rotate(5deg); } }
@keyframes heroCube { 0%,100% { transform: translateY(0) rotate(30deg) skew(-4deg,-4deg); } 50% { transform: translateY(14px) rotate(47deg) skew(-4deg,-4deg); } }
@keyframes scrollDot { 0% { opacity:0; transform:translateY(0); } 35% { opacity:1; } 100% { opacity:0; transform:translateY(14px); } }

/* About / what happens inside */
.about-section--visual {
    position: relative;
    overflow: hidden;
    padding: 100px 0 96px;
    background:
        radial-gradient(circle at 7% 20%, rgba(28,117,188,.11), transparent 24%),
        radial-gradient(circle at 92% 68%, rgba(255,122,0,.09), transparent 22%),
        linear-gradient(180deg,#fff 0%,#f7fbff 48%,#fff 100%);
}
.about-tech-bg { position:absolute; inset:0; pointer-events:none; }
.about-tech-bg span { position:absolute; width:70px; aspect-ratio:1; border:1px solid rgba(28,117,188,.13); clip-path:polygon(25% 6.7%,75% 6.7%,100% 50%,75% 93.3%,25% 93.3%,0 50%); animation: aboutTechFloat 10s ease-in-out infinite alternate; }
.about-tech-bg span:nth-child(1){left:-20px;top:100px;width:115px}.about-tech-bg span:nth-child(2){right:5%;top:110px;width:70px;animation-delay:-3s}.about-tech-bg span:nth-child(3){right:-15px;bottom:170px;width:130px;border-color:rgba(255,122,0,.15);animation-delay:-5s}.about-tech-bg span:nth-child(4){left:43%;bottom:40px;width:50px;animation-delay:-2s}
@keyframes aboutTechFloat{from{transform:translateY(-4px) rotate(0)}to{transform:translateY(12px) rotate(12deg)}}

.about-showcase { display:grid; grid-template-columns:minmax(0,.82fr) minmax(480px,1.18fr); gap:68px; align-items:center; }
.about-showcase__copy h2, .home-directions-intro h2, .home-life-strip__copy h2 { margin:10px 0 18px; font-size:clamp(38px,4vw,64px); line-height:.98; letter-spacing:-.045em; color:#0b2345; }
.about-showcase__copy h2 span, .home-directions-intro h2 span, .home-life-strip__copy h2 span { color:#1c75bc; }
.about-showcase__lead { max-width:610px; margin:0; font-size:19px; line-height:1.65; color:#243d60; }
.about-showcase__note { max-width:590px; margin:14px 0 0; color:#60728c; line-height:1.65; }
.about-showcase__button { display:inline-flex; align-items:center; gap:12px; margin-top:24px; padding:14px 20px; border:1px solid rgba(28,117,188,.28); border-radius:999px; color:#0872bf; text-decoration:none; font-weight:800; background:#fff; box-shadow:0 12px 30px rgba(13,81,137,.08); transition:.25s ease; }
.about-showcase__button:hover { transform:translateY(-2px); border-color:#ff7a00; color:#e86d00; }
.about-facts { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:30px; }
.about-facts article { position:relative; min-height:132px; padding:18px 18px 16px 58px; border:1px solid rgba(28,117,188,.11); border-radius:22px; background:rgba(255,255,255,.88); box-shadow:0 16px 38px rgba(10,77,132,.07); transition:.28s ease; }
.about-facts article:hover { transform:translateY(-5px); box-shadow:0 22px 45px rgba(10,77,132,.12); }
.about-facts__icon { position:absolute; left:16px; top:18px; width:31px; height:31px; display:grid; place-items:center; border-radius:9px; color:#0c75bf; background:#edf7ff; font-size:17px; }
.about-facts strong { display:block; color:#0b2345; font-size:16px; }
.about-facts small { display:block; margin-top:5px; color:#63758e; line-height:1.4; }

.about-photo-collage { position:relative; min-height:590px; }
.about-photo { position:absolute; margin:0; overflow:hidden; border:7px solid #fff; border-radius:26px; background:#d8eaf6; box-shadow:0 28px 65px rgba(0,53,95,.20); }
.about-photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s cubic-bezier(.2,.8,.2,1); }
.about-photo:hover img { transform:scale(1.055); }
.about-photo figcaption { position:absolute; left:14px; bottom:14px; padding:8px 11px; border-radius:999px; color:#fff; font-size:12px; font-weight:800; background:rgba(4,68,119,.74); backdrop-filter:blur(10px); }
.about-photo--main { left:0; top:0; width:74%; height:360px; transform:rotate(-1.4deg); }
.about-photo--top { right:0; top:52px; width:48%; height:270px; transform:rotate(3deg); }
.about-photo--bottom { right:7%; bottom:8px; width:57%; height:300px; transform:rotate(-3deg); }
.about-photo-collage__sticker { position:absolute; left:3%; bottom:85px; z-index:5; padding:15px 20px; color:#fff; font-size:18px; line-height:1.1; font-weight:900; transform:rotate(-5deg); border-radius:18px 18px 18px 4px; background:#ff7a00; box-shadow:0 16px 35px rgba(255,122,0,.24); animation: stickerBob 4s ease-in-out infinite; }
@keyframes stickerBob{0%,100%{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-3deg) translateY(-7px)}}

.home-directions-intro { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-top:105px; padding-top:70px; border-top:1px solid rgba(28,117,188,.12); }
.home-directions-intro > div { max-width:760px; }
.home-directions-intro h2 { font-size:clamp(34px,3.4vw,52px); }
.home-directions-intro p { margin:0; color:#64768d; font-size:17px; line-height:1.6; }
.home-directions-intro > a { flex:0 0 auto; display:inline-flex; gap:11px; align-items:center; padding:14px 20px; border:1px solid rgba(28,117,188,.26); border-radius:999px; color:#0d75bd; text-decoration:none; font-weight:800; background:#fff; transition:.25s ease; }
.home-directions-intro > a:hover { color:#fff; background:#1c75bc; transform:translateY(-2px); }
.home-direction-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:32px; }
.home-direction-card { overflow:hidden; border:1px solid rgba(28,117,188,.10); border-radius:26px; background:#fff; box-shadow:0 17px 45px rgba(14,74,121,.08); transition:.28s ease; }
.home-direction-card:hover { transform:translateY(-7px); box-shadow:0 28px 60px rgba(14,74,121,.15); }
.home-direction-card__photo { height:210px; overflow:hidden; position:relative; }
.home-direction-card__photo::after { content:""; position:absolute; inset:auto 0 0; height:45%; background:linear-gradient(180deg,transparent,rgba(5,47,82,.35)); }
.home-direction-card__photo img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .65s ease; }
.home-direction-card:hover img { transform:scale(1.055); }
.home-direction-card > div:last-child { padding:22px 22px 25px; }
.home-direction-card span { color:#ff7a00; font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.home-direction-card h3 { margin:8px 0 10px; color:#0b2345; font-size:21px; line-height:1.17; }
.home-direction-card p { margin:0; color:#667890; line-height:1.55; }

.home-life-strip { margin-top:92px; padding:42px; border-radius:34px; background:linear-gradient(135deg,#0874bf,#075aa6); box-shadow:0 28px 65px rgba(4,80,142,.18); overflow:hidden; position:relative; }
.home-life-strip::before { content:""; position:absolute; width:260px; height:260px; right:-70px; top:-100px; border:1px solid rgba(255,255,255,.14); transform:rotate(30deg); }
.home-life-strip__copy { position:relative; z-index:2; max-width:760px; }
.home-life-strip__copy .section-label { color:#ffbd7a; }
.home-life-strip__copy h2 { color:#fff; font-size:clamp(31px,3vw,48px); }
.home-life-strip__copy h2 span { color:#ff9a3c; }
.home-life-strip__copy p { margin:0 0 28px; color:rgba(255,255,255,.86); font-size:16px; }
.home-life-strip__photos { display:grid; grid-template-columns:1.1fr .9fr 1fr 1.1fr; gap:12px; position:relative; z-index:2; }
.home-life-strip__photos img { width:100%; height:180px; object-fit:cover; display:block; border-radius:18px; border:2px solid rgba(255,255,255,.20); box-shadow:0 14px 30px rgba(0,29,55,.18); transition:.3s ease; }
.home-life-strip__photos img:nth-child(2), .home-life-strip__photos img:nth-child(4) { transform:translateY(13px); }
.home-life-strip__photos img:hover { transform:translateY(-5px) scale(1.02); }

/* Gentle reveal animation on modern browsers */
@keyframes homeReveal { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } }
@supports (animation-timeline: view()) {
    .about-showcase__copy,
    .about-photo-collage,
    .home-directions-intro,
    .home-direction-card,
    .home-life-strip {
        animation: homeReveal linear both;
        animation-timeline: view();
        animation-range: entry 5% cover 28%;
    }
}

@media (max-width: 1100px) {
    .home-hero--tech-static, .home-hero--tech-static .home-hero__grid { min-height: 760px; }
    .about-showcase { grid-template-columns:1fr; }
    .about-photo-collage { max-width:780px; width:100%; margin:10px auto 0; }
    .home-direction-grid { grid-template-columns:1fr 1fr; }
    .home-life-strip__photos { grid-template-columns:1fr 1fr; }
}
@media (max-width: 760px) {
    .home-hero--tech-static { min-height:auto; }
    .home-hero--tech-static .home-hero__grid { min-height:auto; padding-top:64px; padding-bottom:65px; }
    .home-hero__static-photo { background-position:64% center; }
    .home-hero__static-mask { background:linear-gradient(180deg,rgba(4,74,129,.88),rgba(4,72,125,.80) 62%,rgba(3,43,77,.72)); }
    .hero-scroll-hint { display:none; }
    .hero-tech-decor__hex--1 { left:-60px; }
    .hero-tech-decor__cube--1 { left:auto; right:9%; top:7%; }
    .home-hero__stats--glass { grid-template-columns:1fr 1fr; }
    .about-section--visual { padding:75px 0 72px; }
    .about-showcase { gap:38px; }
    .about-showcase__copy h2 { font-size:43px; }
    .about-showcase__lead { font-size:17px; }
    .about-facts { grid-template-columns:1fr; }
    .about-photo-collage { min-height:475px; }
    .about-photo--main { width:82%; height:270px; }
    .about-photo--top { width:48%; height:205px; }
    .about-photo--bottom { width:62%; height:235px; }
    .about-photo-collage__sticker { bottom:55px; font-size:14px; }
    .home-directions-intro { display:block; margin-top:75px; padding-top:55px; }
    .home-directions-intro > a { margin-top:22px; }
    .home-direction-grid { grid-template-columns:1fr; }
    .home-direction-card__photo { height:220px; }
    .home-life-strip { margin-top:65px; padding:28px 20px 34px; border-radius:26px; }
    .home-life-strip__photos { grid-template-columns:1fr 1fr; gap:8px; }
    .home-life-strip__photos img { height:130px; }
}
@media (max-width: 480px) {
    .home-life-strip__photos { grid-template-columns:1fr; }
    .home-life-strip__photos img, .home-life-strip__photos img:nth-child(2), .home-life-strip__photos img:nth-child(4) { height:180px; transform:none; }
    .about-photo-collage { min-height:420px; }
    .about-photo--main { width:86%; height:235px; }
    .about-photo--top { top:140px; width:52%; height:180px; }
    .about-photo--bottom { bottom:0; width:62%; height:190px; }
}

@media (prefers-reduced-motion: reduce) {
    .hero-tech-decor__hex,
    .hero-tech-decor__cube,
    .hero-scroll-hint span::after,
    .about-tech-bg span,
    .about-photo-collage__sticker { animation:none !important; }
}


/* ===== HOME LOGIC + REAL PHOTO REFRESH 2026-09-08 ===== */
.home-hero__visual--tech{min-height:310px;padding:38px 34px 26px;display:flex;flex-direction:column;justify-content:flex-end}
.home-hero__visual-text{position:relative;z-index:2;margin-bottom:28px}
.home-hero__visual-text .home-hero__visual-small{display:block;font-size:18px;line-height:1.2;margin-bottom:8px}
.home-hero__visual-text strong{display:block;font-size:clamp(34px,3vw,48px);line-height:1.02;color:#fff!important;white-space:nowrap}
.home-hero__feature-row--icons{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(4,1fr);gap:8px;align-items:start}
.home-hero__feature-row--icons span{font-size:11px;line-height:1.25;text-align:center;padding-top:10px;border-top:1px solid rgba(255,255,255,.36)}
.home-hero__feature-row--icons b{display:block;margin:0 auto 5px;font-size:20px}

.hero-real-composition{position:absolute;right:1.5vw;top:7%;width:min(34vw,580px);height:40%;z-index:1;pointer-events:none;opacity:.98}
.hero-real-composition__photo{position:absolute;margin:0;border:4px solid rgba(255,255,255,.92);border-radius:24px;overflow:hidden;box-shadow:0 18px 48px rgba(4,45,85,.24);background:#fff}
.hero-real-composition__photo img{width:100%;height:100%;object-fit:cover;display:block}
.hero-real-composition__photo--a{width:48%;height:58%;right:1%;top:0;transform:rotate(2deg);clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%)}
.hero-real-composition__photo--b{width:42%;height:54%;right:35%;top:28%;transform:rotate(-2deg);clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%)}
.hero-real-composition__photo--c{width:34%;height:46%;right:2%;top:57%;transform:rotate(1.5deg);clip-path:polygon(12% 0,88% 0,100% 50%,88% 100%,12% 100%,0 50%)}
.home-hero__side{position:relative;z-index:3}

.home-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.home-program-card{background:#fff;border:1px solid #e3edf7;border-radius:26px;overflow:hidden;box-shadow:0 18px 42px rgba(18,65,105,.10);transition:transform .28s ease,box-shadow .28s ease}
.home-program-card:hover{transform:translateY(-7px);box-shadow:0 26px 58px rgba(18,65,105,.16)}
.home-program-card img{width:100%;height:210px;object-fit:cover;display:block}
.home-program-card>div{padding:22px 22px 24px}
.home-program-card__level{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800;margin-bottom:12px}
.home-program-card h3{font-size:21px;line-height:1.18;margin:0 0 10px;color:#08264c}
.home-program-card p{margin:0;color:#60758f;line-height:1.55}
.home-program-card--green .home-program-card__level{background:#e2f6e8;color:#187940}
.home-program-card--orange .home-program-card__level{background:#fff0dd;color:#c96200}
.home-program-card--red .home-program-card__level{background:#ffe3e3;color:#c62828}
.home-program-card--green{border-top:4px solid #45a96b}.home-program-card--orange{border-top:4px solid #ff8a17}.home-program-card--red{border-top:4px solid #ef5252}

.about-section--visual{padding-bottom:82px}
.home-directions-intro{margin-top:86px}
.strengths-section{position:relative;background:linear-gradient(180deg,#f6fbff 0%,#fff 100%)}
.levels-section{background:linear-gradient(180deg,#fff 0%,#f7fbff 100%)}
.steps-section{background:#fff}
.space-section{background:linear-gradient(145deg,#eef7ff,#fff8ef)}
.news-section{background:#fff}

@media(max-width:1100px){.hero-real-composition{display:none}.home-program-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-hero__visual-text strong{white-space:normal}}
@media(max-width:720px){.home-program-grid{grid-template-columns:1fr}.home-program-card img{height:190px}.home-hero__visual--tech{min-height:auto}.home-hero__feature-row--icons{grid-template-columns:repeat(2,1fr)}}

/* Footer messenger brands */
.site-footer__socials.site-footer__socials--brand {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    align-items: center;
}
.site-footer__socials--brand .social-brand {
    width: auto;
    min-width: 0;
    height: auto;
    padding: 8px 11px 8px 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 14px;
    background: rgba(255,255,255,.10);
    box-shadow: none;
    text-decoration: none;
    transition: transform .2s ease, background .2s ease, border-color .2s ease;
}
.site-footer__socials--brand .social-brand:hover {
    transform: translateY(-2px);
    background: rgba(255,255,255,.18);
    border-color: rgba(255,255,255,.55);
}
.site-footer__socials--brand .social-brand img {
    width: 30px;
    height: 30px;
    display: block;
    border-radius: 9px;
}
.site-footer__socials--brand .social-brand span {
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1;
}

/* Direction cards use the same program artwork as the enrollment site */
.home-program-card > img {
    object-fit: cover;
    object-position: center;
}

/* Homepage program cards: photo-only crops from enrollment artwork */
.home-program-card > img{height:220px;object-fit:cover;object-position:center;transform:scale(1.035);transform-origin:center}
.home-program-card{isolation:isolate}
.home-program-card > div{position:relative;z-index:2;background:#fff}
@media(max-width:720px){.home-program-card > img{height:200px}}

/* Final staff photo crop: raise portraits inside cards without changing source files */
.edu-person-photo img{
  object-fit:cover;
  object-position:center 58%;
}
.edu-person:nth-child(1) .edu-person-photo img{object-position:center 55%;}
.edu-person:nth-child(2) .edu-person-photo img{object-position:center 60%;}
.edu-person:nth-child(3) .edu-person-photo img{object-position:center 58%;}
@media(max-width:620px){
  .edu-person:nth-child(1) .edu-person-photo img{object-position:center 52%;}
  .edu-person:nth-child(2) .edu-person-photo img{object-position:center 58%;}
  .edu-person:nth-child(3) .edu-person-photo img{object-position:center 56%;}
}

/* Staff portraits — final visual centering in the unified organization page.
   Higher Y focus deliberately shifts portrait content upward inside landscape cards. */
.edu-person:nth-child(1) .edu-person-photo img{object-position:center 58% !important;}
.edu-person:nth-child(2) .edu-person-photo img{object-position:center 88% !important;}
.edu-person:nth-child(3) .edu-person-photo img{object-position:center 78% !important;}
/* Legacy standalone staff template uses the same corrected framing. */
.staff-grid .staff-card:nth-child(1)>img{object-position:center 58% !important;}
.staff-grid .staff-card:nth-child(2)>img{object-position:center 88% !important;}
.staff-grid .staff-card:nth-child(3)>img{object-position:center 78% !important;}
@media(max-width:620px){
  .edu-person:nth-child(1) .edu-person-photo img{object-position:center 56% !important;}
  .edu-person:nth-child(2) .edu-person-photo img{object-position:center 82% !important;}
  .edu-person:nth-child(3) .edu-person-photo img{object-position:center 74% !important;}
}
