/* Собрано из assets/css/main.css: 60 файлов, версия 1787764775 */
/* GENERAL */
    
/* base.css */
/* HEADER */
/* index */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Переменные */
:root{
    /* ЦВЕТА */
    --dark-color: #201541;
    --violet-color: #680AFF;
    --important-color: rgba(160, 142, 247, 0.22);
    --gray-light-color: #F0EEF2;
    --red-color: #FF332A;
    --violet-light-color: #C6AEFF;
    --label-color: #201541;
    --new-bg-color: #F6F6FB;
    --tag-color: #8EA7F7;

    /* line-height */
    --lineright-110: 1.1;
    --lineright-100: 1.0;
    /* Использовался в staff.css, но нигде не был объявлен — интервал падал на normal. */
    --lineright-140: 1.4;

    /* Типографика (Шкала размеров) */
    --fs-h1: clamp(50px, 7vw, 80px);
    --fs-h2: 50px;
    --fs-h22: clamp(50px, 7vw, 80px);
    --fs-h3: 25px;
    --fs-body: 16px;
    --fs-caption: clamp(12px, 0.95vw, 14px);

    /* Мобильная шкала */
    --fs-h1-mob: 50px;
    --fs-h2-mob: 30px;
    --fs-h3-mob: 25px;
    --fs-body-mob: 14px;
    --fs-caption-mob: 12px;

    /* Старые переменные (для совместимости на время перехода) */
    --title-1-size: var(--fs-h1);
    --title-2-size: var(--fs-h2);
    --title-3-size: var(--fs-h3);
    --body-size: var(--fs-body);
    --big-card-size: 25px;
    --medium-card-size: var(--fs-h3);
    --fio-staff-size: var(--fs-body);
    --link-size: var(--fs-body);
    --link-card-size: var(--fs-body-mob);
    --sign-size: var(--fs-caption);
    --body-card-size: var(--fs-body-mob);

    --body-mob-size: var(--fs-body-mob);
    --title-1-mob-size: var(--fs-h1-mob);
    --title-2-mob-size: var(--fs-h2-mob);
    --title-3-mob-size: 20px;
    --text2-2-mob-size: var(--fs-h2-mob);
    --section-mob-size: var(--fs-h2-mob);

    /* Теги */
    --gray-tag: #4C558C;
    --red-tag: #FF332A;
    --pink-tag: #E239A6;
    --green-tag: #5AFB6A;
    --light-violet-tag: #A694FF;
    --violet-tag: #680AFF;
    --dark-violet-tag: #201541;
    --blue-tag: #001AFF;
    --yellow-tag: #FFD21E;
    --skyblue-tag: #B2E5FE;
    --brightviolet-tag: #A100FF;

}

/* Переменные */

html {
    scroll-behavior: smooth;
    scroll-padding-top: 100px;
}

body {
    line-height: 1.6;
    color: #000;
    font-family: 'Onest';
    font-style: normal;
    font-size: var(--fs-body);
    background-color: var(--new-bg-color);
    line-height: 140%;
    overflow-x: hidden;
}

.home-page__title {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: var(--lineright-110);
}

a {
    text-decoration: none;
    color: inherit;
}

img {
    max-width: 100%;
    display: block;
}

.news-card__title,
.news-card__text,
.news-card__content p {
    overflow-wrap: normal; /* Обычный перенос */
    word-break: normal; /* Не рвать слова на части */
    hyphens: none; /* Отключить дефисы */
}

@media (max-width: 834px) {
    :root {
        --fs-body: var(--fs-body-mob);
    }

    body{
        font-size: var(--fs-body-mob);
    }
}


    
/* fonts.css */
/* font-display: swap у каждого начертания: пока шрифт качается,
   текст рисуется системным, а не остаётся невидимым. */

/* Onest */

@font-face {
    font-display: swap;
    font-family: 'Onest';
    font-style: normal;
    font-weight: 300;
    src: local('Onest'), 
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Onest-Light.ttf?v=acd8c7be9a5b');
}

@font-face {
    font-display: swap;
    font-family: 'Onest';
    font-style: normal;
    font-weight: normal;
    src: local('Onest'), 
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Onest-Regular.ttf?v=acd8c7be9a5b');
}

@font-face {
    font-display: swap;
    font-family: 'Onest';
    font-style: normal;
    font-weight: 500;
    src: local('Onest'), 
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Onest-Medium.ttf?v=acd8c7be9a5b');
}

@font-face {
    font-display: swap;
    font-family: 'Onest';
    font-style: normal;
    font-weight: 700;
    src: local('Onest'), 
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Onest-Bold.ttf?v=acd8c7be9a5b');
}


/* Inter */
@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-weight: normal;
    font-style: normal;
    src: local('Inter'), 
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Inter-Regular.ttf?v=acd8c7be9a5b');
} 

@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    src: local('Inter'),
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Inter-Medium.ttf?v=acd8c7be9a5b');
}

@font-face {
    font-display: swap;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 700;
    src: local('Inter'),
        url('https://dat.sutd.ru/wp-content/themes/daat_theme/assets/css/fonts/Inter-Bold.ttf?v=acd8c7be9a5b');
}


    
/* swiper.min.css */
/**
 * Swiper 11.2.10
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: June 28, 2025
 */

@font-face {
    font-family: swiper-icons;
    src: url('data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA');
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

:host {
    position: relative;
    display: block;
    margin-left: auto;
    margin-right: auto;
    z-index: 1
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1;
    display: block
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0px, 0, 0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform;
    display: block
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide {
    transform-style: preserve-3d
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-css-mode.swiper-horizontal>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-css-mode.swiper-vertical>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper {
    scroll-snap-type: none
}

.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: none
}

.swiper-css-mode.swiper-centered>.swiper-wrapper::before {
    content: '';
    flex-shrink: 0;
    order: 9999
}

.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center;
    scroll-snap-stop: always
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: var(--swiper-navigation-top-offset, 50%);
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - (var(--swiper-navigation-size)/ 2));
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next svg,
.swiper-button-prev svg {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transform-origin: center
}

.swiper-rtl .swiper-button-next svg,
.swiper-rtl .swiper-button-prev svg {
    transform: rotate(180deg)
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: var(--swiper-navigation-sides-offset, 10px);
    right: auto
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-lock {
    display: none
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: 'prev'
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: var(--swiper-navigation-sides-offset, 10px);
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: 'next'
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: var(--swiper-pagination-bottom, 8px);
    top: var(--swiper-pagination-top, auto);
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

.swiper-pagination-bullet-active {
    opacity: var(--swiper-pagination-bullet-opacity, 1);
    background: var(--swiper-pagination-color, var(--swiper-theme-color))
}

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    right: var(--swiper-pagination-right, 8px);
    left: var(--swiper-pagination-left, auto);
    top: 50%;
    transform: translate3d(0px, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-fraction {
    color: var(--swiper-pagination-fraction-color, inherit)
}

.swiper-pagination-progressbar {
    background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, .25));
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: var(--swiper-pagination-progressbar-size, 4px);
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    width: var(--swiper-pagination-progressbar-size, 4px);
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    position: relative;
    touch-action: none;
    background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, .1))
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: var(--swiper-scrollbar-sides-offset, 1%);
    bottom: var(--swiper-scrollbar-bottom, 4px);
    top: var(--swiper-scrollbar-top, auto);
    z-index: 50;
    height: var(--swiper-scrollbar-size, 4px);
    width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    left: var(--swiper-scrollbar-left, auto);
    right: var(--swiper-scrollbar-right, 4px);
    top: var(--swiper-scrollbar-sides-offset, 1%);
    z-index: 50;
    width: var(--swiper-scrollbar-size, 4px);
    height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%))
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, .5));
    border-radius: var(--swiper-scrollbar-border-radius, 10px);
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move;
    touch-action: none
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active {
    pointer-events: auto
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: '';
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-cube .swiper-slide-next+.swiper-slide {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

    

    /* header */
    
/* header.css */
.header {
    position: relative;
    position: fixed;
    background-color: #fff;
    width: 100%;
    z-index: 100;
}

.header__inner {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    align-items: center;
    padding: 32px 0;
}

.header__logo {
    grid-column: span 3;
    display: flex;
    align-items: center;
    min-height: 29px;
    min-width: 200px;
}

.header__logo-img {
    max-width: 100%;
    height: auto;
    max-height: 60px;
}

.header__menu {
    grid-column: 7 / span 6;
}

.nav-menu {
    list-style: none;
    display: flex;
    justify-content: flex-end;
    gap: 40px;
}

.nav-menu a {
    white-space: nowrap;
    transition: transform 0.2s ease, color 0.2s ease;
    display: inline-block;
    position: relative;
}

.nav-menu a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 0;
    height: 2px;
    background-color: currentColor;
    transition: width 0.3s ease;
}

.nav-menu a:hover {
    transform: scale(1.05);
    color: #680AFF;
}

.nav-menu .current-menu-item>a,
.nav-menu .current-menu-ancestor>a {
    font-weight: 600;
    color: #680AFF;
}

.nav-menu .current-menu-item>a::after,
.nav-menu .current-menu-ancestor>a::after {
    width: 100%;
}


.header__burger {
    display: none;
    position: relative;
    flex-direction: column;
    justify-content: center;
    gap: 6px;
    width: 32px;
    height: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    justify-self: end;
}

.header__burger span {
    width: 100%;
    height: 3px;
    background-color: rgb(0, 0, 0);
    border-radius: 10px;
    transform-origin: center;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

@media (max-width: 1194px) {

    .nav-menu {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-color: #201541;
        z-index: 9;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        transform: translate3d(100%, 0, 0);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: none;
        color: #fff;
    }

    .nav-menu.is-active {
        transform: translate3d(0, 0, 0);
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transition: transform 0.3s ease, opacity 0.2s ease;
    }

    /* Reset and configure underlines for mobile menu */
    .nav-menu a::after {
        width: 0;
        transition: width 0.08s ease-out;
    }

    /* Tapped/pressed link in burger menu gets underline */
    .nav-menu a.is-touch-filled::after {
        width: 100% !important;
    }

    /* Active page in burger menu has NO underline */
    .nav-menu .current-menu-item>a::after,
    .nav-menu .current-menu-ancestor>a::after {
        width: 0 !important;
    }

    .nav-menu .current-menu-item>a,
    .nav-menu .current-menu-ancestor>a {
        color: #fff;
        font-weight: bold;
        position: relative;
    }

    /* Indicate open page with an arrow in burger menu */
    .nav-menu .current-menu-item>a::before,
    .nav-menu .current-menu-ancestor>a::before {
        content: '→';
        position: absolute;
        right: 100%;
        margin-right: 12px;
        font-weight: bold;
    }

    .nav-menu.is-active a:hover {
        color: #fff;
        transform: none;
    }

    .header__inner {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
        align-items: center;
        padding: 15px 0;
    }

    .header__burger {
        display: flex;
        align-items: center;
        z-index: 20;
    }

    .header__burger.is-active span {
        background-color: #fff;
    }

    .header__burger.is-active span:first-child {
        transform: translateY(4.5px) rotate(45deg);
    }

    .header__burger.is-active span:last-child {
        transform: translateY(-4.5px) rotate(-45deg);
    }

    .menu-item {
        font-size: var(--fs-h3-mob);
    }
}

/* HEADER */

/* Ссылка «Перейти к содержимому»: видна только при переходе с клавиатуры. */
.skip-link {
    background: var(--dark-color);
    border-radius: 0 0 5px 0;
    color: #fff;
    left: 0;
    padding: 12px 20px;
    position: fixed;
    text-decoration: none;
    top: 0;
    transform: translateY(-120%);
    z-index: 100;
}

.skip-link:focus {
    transform: translateY(0);
    outline: 2px solid #fff;
    outline-offset: -6px;
}

/* Пока открыто мобильное меню, страница под ним не прокручивается. */
html.has-menu-open,
html.has-menu-open body {
    overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
    .skip-link {
        transition: none;
    }
}


    /* footer */
    
/* footer.css */
.footer {
    padding-bottom: 32px;
    margin-top: 160px;
    /* background-color: #F8F9FD; */
}

.footer__container {
    max-width: 1440px;
    margin: 0 auto;
}

.footer__wrapper {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 16px;
    row-gap: 48px;
    margin-bottom: 80px;
    align-items: start;
}

.footer-logo {
    grid-column: 1 / span 2;
    min-width: 120px;
}

.footer-logo__img {
    max-width: 100%;
    height: auto;
    display: block;
}

.footer__menus {
    grid-column: 5 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    column-gap: 16px;
    row-gap: 48px;
    align-items: start;
}

.footer__menu-col {
    min-width: 0;
}


.footer__menu-title {
    font-size: var(--fs-body);
    font-weight: 700;
    line-height: 1.2;
    color: #1A123D;
    margin-bottom: 24px;
}

.footer__menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer__menu-item {
    margin-bottom: 16px;
}

.footer__menu-item:last-child {
    margin-bottom: 0;
}

.footer__menu-link {
    font-size: var(--fs-body);
    color: #1A123D;
    text-decoration: none;
    transition: color 0.3s ease;
}

.footer__menu-link:hover {
    color: #6259FF;
}

.footer__bottom {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 16px;
    row-gap: 24px;
    align-items: end;
}

.footer__bottom-left {
    grid-column: 1 / span 4;
    min-width: 0;
}

.footer__bottom-center {
    grid-column: 5 / span 3;
    min-width: 0;
}

.footer__bottom-right {
    grid-column: 11 / span 2;
    min-width: 0;
}

.footer__copyright {
    font-size: 12px;
    color: rgba(26, 18, 61, 0.4);
    margin: 0;
}

/* Ссылки на правовые документы под копирайтом */
.footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 16px;
    margin-top: 8px;
}

.footer__legal-link {
    font-size: 12px;
    color: rgba(26, 18, 61, 0.4);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .footer__legal-link:hover {
        color: #6259FF;
    }
}

.footer__legal-link:focus-visible {
    outline: 2px solid #6259FF;
    outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
    .footer__legal-link {
        transition: none;
    }
}

.footer__univ-link {
    font-size: 12px;
    color: #4C5AFF;
    text-align: left;
    display: block;
}

.footer__univ-link:hover {
    text-decoration: none;
}

.footer__info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 16px;
}

.footer__socials {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}

.footer__social-img {
    width: 32px;
    height: 32px;
}

.footer__info-adress {
    font-size: var(--fs-body-mob);
    font-style: normal;
    color: #1A123D;
    text-align: left;
    line-height: 1.4;
}

.footer-address-link {
    text-align: left;
}


/* Переопределение после базовых стилей: на 1200px нижние блоки в левой колонке */
@media (max-width: 1440px) {
    .footer__wrapper {
        grid-template-columns: repeat(4, 1fr);
    }

    .footer-logo {
        grid-column: 1 / span 2;
    }

    .footer__menus {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .footer__menu-col {
        grid-column: span 2;
    }

    .footer__menu-col:last-child:nth-child(odd) {
        grid-column: span 4;
    }

    .footer__bottom {
        grid-template-columns: repeat(12, 1fr);
        align-items: start;
    }

    .footer__bottom-right {
        grid-column: 1 / span 4;
        grid-row: 1;
    }

    .footer__bottom-center {
        grid-column: 1 / span 4;
        grid-row: 2;
    }

    .footer__bottom-left {
        grid-column: 1 / span 4;
        grid-row: 3;
    }
}


@media (max-width: 1440px) {
    .footer__wrapper {
        grid-template-columns: repeat(4, 1fr);
    }

    .footer-logo {
        grid-column: 1 / span 2;
    }

    .footer__menus {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .footer__menu-col {
        grid-column: span 2;
    }

    .footer__menu-col:last-child:nth-child(odd) {
        grid-column: span 4;
    }

    .footer__bottom {
        grid-template-columns: repeat(12, 1fr);
        align-items: start;
    }

    .footer__bottom-right {
        grid-column: 1 / span 4;
        grid-row: 1;
    }

    .footer__bottom-center {
        grid-column: 1 / span 4;
        grid-row: 2;
    }

    .footer__bottom-left {
        grid-column: 1 / span 4;
        grid-row: 3;
    }
}


@media (max-width: 1194px) {
    .footer__menus {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 48px;
    }

    .footer__menu-col {
        grid-column: span 2;
    }

    .footer__menu-col:last-child:nth-child(odd) {
        grid-column: span 4;
    }

    .footer__bottom {
        grid-template-columns: repeat(4, 1fr);
        align-items: start;
    }

    .footer__bottom-right {
        grid-column: 1 / span 4;
        grid-row: 1;
    }

    .footer__bottom-center {
        grid-column: 1 / span 4;
        grid-row: 2;
    }

    .footer__bottom-left {
        grid-column: 1 / span 4;
        grid-row: 3;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .footer {
        margin-top: 80px;
    }

    .footer__wrapper {
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
        row-gap: 48px;
        margin-bottom: 48px;
    }

    .footer-logo {
        grid-column: span 2;
    }

    .footer__menus {
        grid-column: 1 / -1;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        row-gap: 48px;
    }

    .footer__menu-col {
        grid-column: span 2;
    }

    .footer__menu-col:last-child:nth-child(odd) {
        grid-column: span 4;
    }

    .footer__menu-title {
        margin-bottom: 16px;
    }

    .footer__bottom {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 8px;
        row-gap: 24px;
    }

    .footer__bottom-left,
    .footer__bottom-center,
    .footer__bottom-right {
        text-align: left;
    }

    .footer__bottom-right {
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .footer__bottom-center {
        grid-column: 1 / -1;
        grid-row: 2;
    }

    .footer__bottom-left {
        grid-column: 1 / -1;
        grid-row: 3;
    }

    .footer__univ-link {
        text-align: left;
    }

    .footer__info {
        align-items: flex-start;
    }

    .footer__info-adress {
        text-align: left;
    }

    .footer__bottom-right,
    .footer__bottom-center,
    .footer__bottom-left {
        min-width: 0;
    }
}



    /* ЗАГОЛОВКИ */
    
/* page-title.css */
/* Названия страниц */
.page-header {
    margin-top: 64px;
}

.page-header .page-title,
.page-header .contacts__page-title {
    margin-top: 0;
}

.page-title {
    font-size: var(--fs-h1);
    font-weight: 400;
    margin-bottom: 64px;
    line-height: var(--lineright-110);
    margin-top: 64px;
}


@media (max-width: 1194px) {
    .page-header {
        margin-top: 0;
    }

    .page-title {
        font-size: var(--fs-h1-mob);
        margin-top: 32px;
    }

    .page-header .page-title,
    .page-header .contacts__page-title {
        margin-top: 0;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .page-header {
        margin-top: 0;
    }

    .page-title {
        font-size: var(--fs-h1-mob);
        margin-top: 32px;
    }

    .page-header .page-title,
    .page-header .contacts__page-title {
        margin-top: 0;
    }
}


    
/* promo-title.css */
/* Промо, привлекающие внимания приятные ключевые фразы */
.promo-wrapper {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    min-height: auto;
    margin-bottom: 80px;
    grid-column: span 12;
    gap: 8px;
}

.promo-wrapper__title {
    display: flex;
    align-items: center;
    font-weight: 500;
    font-size: clamp(30px, calc(10.89px + 2.29vw), 50px);
    line-height: var(--lineright-110);
    color: var(--dark-color);
    grid-column: span 9;

}

@media (max-width: 1194px) {
    .promo-wrapper__title {
        grid-column: span 12;
        font-size: clamp(25px, calc(16.16px + 2.36vw), 30px);
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .promo-wrapper {
        grid-template-columns: repeat(4, 1fr);
        min-height: auto;
    }

    .promo-wrapper__title {
        grid-column: span 4;
        max-width: none;
        font-size: 25px;
    }
}

    
/* page-subtitle.css */
/* Сотрудники, Полезное */
.section-title--big {
    font-size: clamp(30px, calc(-8.22px + 4.59vw), 80px);
    line-height: var(--lineright-110);
    max-width: 1500px;
    color: #000;
    font-weight: 400;
    margin-bottom: 64px;
}

.section-title--big--study {
    margin-bottom: 0;
}

.section-title--big__meta {
    margin-top: 16px;
    margin-bottom: 0;
    font-size: 20px;
    line-height: var(--lineright-110);
    color: #000;
    opacity: 50%;
}

.useful-promo .navigation__big-links {
    gap: 0;
}

@media (max-width: 1194px) {
    .section-title--big {
        font-size: 30px;
    }
}


    
/* section-title.css */
/* Названия разделов на страницах */
.section-title {
    font-size: var(--fs-h3-mob);
    line-height: var(--lineright-110);
    font-weight: 500;
}

.divide .section-title {
    grid-column: span 4;
}

.events-all__subtitle {
    font-size: var(--fs-h3-mob);
    font-weight: 500;
    line-height: var(--lineright-110);
}

.events-important .events-all__subtitle {
    grid-column: 1 / -1;
    margin-bottom: 8px;
}

.events-all__filters-container .events-all__subtitle {
    margin-bottom: 16px;
}

@media (max-width: 1194px) {
    .section-title {
        margin-bottom: 32px;
    }
}

@media (max-width: 834px) {
    .divide .section-title {
        grid-column: 1 / -1;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    /*
     * Размер здесь не переопределяем. Раньше стояло --fs-h2-mob (30px) —
     * подзаголовок на самых узких экранах становился крупнее (25px → 30px),
     * чем на всех остальных.
     */
    .section-title {
        font-weight: 500;
    }

    /* Занимает всю ширину */
    .divide .section-title {
        grid-column: 1 / -1;
    }
}


    
/* info-title.css */
/* Подзаголовки в полезное в разделах */
.devide__group-title {
    font-size: var(--fs-h3);
    line-height: 130%;
    font-weight: 400;
    margin-bottom: 52px;
    max-width: 840px;
}

/* Мобильные */
@media (max-width: 834px) {
    .devide__group-title {
        font-size: 20px;
    }
}


    
/* info-important-title.css */
/* Цитата фиолетовая */
.info__title--important{
    font-size: var(--fs-h3) !important;
    line-height: var(--lineright-110) !important;
    color: var(--violet-color) !important;
    max-width: 100% !important;
    width: 672px;
    font-weight: 500;
}

/* Мобильные */
@media (max-width:375px) {
    .info__title--important{
        font-size: var(--fs-h3-mob) !important;
    }
}


    /* ./ЗАГОЛОВКИ */

     /* СЕТКИ и контейнеры */
    
/* container.css */
.main-content {
    padding-top: 104px;
}

.container {
    width: 100%;
    max-width: calc(100% - 80px);
    /* 40px margin с каждой стороны */
    margin: 0 auto;
}

/* Глобальные отступы для блоков */
.field-stud,
.news,
.partners,
.useful-promo,
.event,
.new,
.applicant-info,
.contacts__page-title {
    margin-top: 64px;
    margin-bottom: 0;
}

.contacts__page-title {
    margin-bottom: 128px;
}

.event {
    padding-bottom: 128px;
}

/* Планшеты */
@media (max-width: 1194px) {
    .main-content {
        padding-top: 91px;
    }

    .field-stud,
    .news,
    .partners,
    .useful-promo,
    .event,
    .new,
    .applicant-info,
    .contacts__page-title {
        margin-top: 64px;
    }

    .contacts__page-title {
        margin-bottom: 80px;
    }

    .event {
        padding-bottom: 80px;
    }

    .main-content>.useful-promo,
    .main-content>.event,
    .main-content>.new,
    .main-content>.staff__hero {
        margin-top: 0 !important;
    }
}

/* Мобильные */
@media (max-width: 834px) {
    .container {
        width: 100%;
        max-width: calc(100% - 24px);
        /* 12px margin с каждой стороны */
    }

    .field-stud,
    .news,
    .partners,
    .useful-promo,
    .event,
    .new,
    .applicant-info,
    .contacts__page-title {
        margin-top: 64px;
    }

    .contacts__page-title {
        margin-bottom: 64px;
    }

    .event {
        padding-bottom: 64px;
    }

    .main-content>.useful-promo,
    .main-content>.event,
    .main-content>.new,
    .main-content>.staff__hero {
        margin-top: 0 !important;
    }
}

    
/* divide.css */
.divide_grid {
    grid-column: span 8;
    grid-template-columns: repeat(8, 1fr);
    display: grid;
    gap: 8px;
    min-width: 0;
}

.divide_grid .field-stud-card {
    grid-column: span 4;
    transition: all 0.6s;
}

.divide_grid .field-stud-card:hover {
    background-color: #fff;
}

#program .devide__group__text {
    grid-column: span 8;
}

#program .useful-info-link {
    grid-column: span 4;
    margin-top: 64px;
}

.divide {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    position: relative;
    padding-top: 48px;
    margin-top: 128px;
    min-width: 0;
}

.useful-promo ~ .container .divide {
    margin-top: 0;
}

.divide::before {
    content: '';
    position: absolute;
    display: block;
    width: 100vw;
    height: 1px;
    background-color: #9e9e9e;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    z-index: -1;
}

/* Планшеты */
@media (max-width: 1194px) {
    #program .useful-info-link {
        gap: 24px;
        margin-top: 48px;
    }

    #program .useful-info-link p {
        font-size: 20px;
    }
    .divide {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
        margin-top: 80px;
        padding-top: 48px;
    }

    /* карточки в абит и студенту */
    .divide_grid {
        grid-template-columns: repeat(8, 1fr);
    }

    .divide_grid .field-stud-card {
        grid-column: span 4;
    }

    /* Популярные направления (ссылки): если карточек четное число суммарно (смещено из-за h2), последняя занимает всю ширину (8 колонок) */
    .divide_grid a.field-stud-card:nth-of-type(even):last-of-type {
        grid-column: span 4;
    }

}

@media (max-width: 834px) {
    .divide_grid .field-stud-card {
        grid-column: span 8;
        min-height: 0;
    }

    #program .devide__group__text {
        grid-column: span 8;
    }

    #program .useful-info-link {
        grid-column: span 8;
    }

    /* Популярные направления (ссылки): если карточек четное число суммарно (смещено из-за h2), последняя занимает всю ширину (8 колонок) */
    .divide_grid a.field-stud-card:nth-of-type(even):last-of-type {
        grid-column: span 8;
    }
}

@media (max-width: 834px) {
    .divide_grid .field-stud-card {
        grid-column: span 8;
    }

    /* Популярные направления (ссылки): если карточек четное число суммарно (смещено из-за h2), последняя занимает всю ширину (8 колонок) */
    .divide_grid a.field-stud-card:nth-of-type(even):last-of-type {
        grid-column: span 8;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .divide {
        display: grid;
        margin-top: 64px;
        padding-top: 32px;
    }

    .divide_grid {
        grid-column: 1 / -1;
    }

    .divide_grid .field-stud-card {
        grid-column: 1 / -1;
        min-height: 0;
    }

    #program .devide__group__text {
        grid-column: 1 / -1;
    }

    #program .useful-info-link {
        grid-column: 1 / -1;
        gap: 16px;
        margin-top: 32px;
    }

    #program .useful-info-link p {
        font-size: 18px;
    }

    .divide_grid a.field-stud-card:nth-of-type(even):last-of-type {
        grid-column: 1 / -1;
    }
}


    
/* news-cards.css */
.news-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
}

.news-article {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
}

.news-article:first-child {
    grid-column: 5 / span 8;
}


/* РћР±С‹С‡РЅР°СЏ РєР°СЂС‚РѕС‡РєР° (4 РєРѕР»РѕРЅРєРё) */
.news-card:not(.large-card):not(.news-card--all-events) {
    grid-column: span 4;
}

.large-card {
    grid-column: span 8;
}



/* СЃС‚Р°РЅРґР°СЂС‚РЅР°СЏ РєР°СЂС‚РѕС‡РєР° */
.news-card {
    background: white;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    transition: transform 0.3s, box-shadow 0.3s;
    text-decoration: none;
    color: inherit;
    display: flex;
    align-items: stretch;
    padding-top: 0;
    padding-bottom: 0;
    flex-grow: 1;
    height: 100%;
}

/* РљР°СЂС‚РѕС‡РєР° "Р’СЃРµ СЃРѕР±С‹С‚РёСЏ" (4 РєРѕР»РѕРЅРєРё) */
.news-card--all-events {
    grid-column: span 4;
    order: 99;
    background-color: #fff;
    color: var(--dark-color);
    text-transform: none;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    text-align: left;
    font-size: var(--fs-h3);
    margin: 0;
    padding: 24px;
}

.news-card--all-events .news-card__title {
    color: inherit;
    margin-bottom: 0;
    order: 0;
    display: block;
    -webkit-line-clamp: unset;
    -webkit-box-orient: unset;
    overflow: visible;
    max-height: none;
}

.news-card--all-events::after {
    content: none;
}

.news-card--all-events:hover {
    transition: all 0.3s;
}

/* ./РљР°СЂС‚РѕС‡РєР° "Р’СЃРµ СЃРѕР±С‹С‚РёСЏ" (4 РєРѕР»РѕРЅРєРё) */


.news-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    transition: all 0.3s;
}

.news-card__img {
    width: 40%;
    height: 100%;
    flex-shrink: 0;
    object-fit: contain;
    background-color: rgba(32, 21, 65, 0.04);
}

.non-preview {
    display: none;
}

.news-card__content {
    padding-top: 24px;
    padding-right: 24px;
    padding-bottom: 24px;
    width: 100%;
    min-width: 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.news-card:not(.large-card) .news-card__content {
    padding: 24px;
}


.news-card__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    /* Р Р°Р·СЂРµС€Р°РµРј РїРµСЂРµРЅРѕСЃ РїРѕРґ РґР°С‚Сѓ */
    gap: 16px;
    /* РћС‚СЃС‚СѓРї РјРµР¶РґСѓ РґР°С‚РѕР№ Рё С‚РµРіР°РјРё РїСЂРё РїРµСЂРµРЅРѕСЃРµ */
    margin-bottom: 16px;
}

.news-card__date {
    font-size: var(--fs-body);
    color: rgba(0, 0, 0, 0.29);
    white-space: nowrap;
    flex-shrink: 0;
}

.news-card__date--short {
    display: none;
    font-size: 20px;
}

.news-card__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
}

.news-card__tag {
    font-size: var(--fs-caption);
    color: #fff;
    border-radius: 5px;
    padding: 4px 8px;
    line-height: 1.2;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.news-card__tag:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(32, 21, 65, 0.18);
}

.news-card__tag:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(32, 21, 65, 0.14);
}

.news-card__tag.news-card__tag--gray {
    background: var(--gray-tag);
    color: #FFFFFF;
}

.news-card__tag.news-card__tag--red {
    background: var(--red-tag);
    color: #FFFFFF;
}

.news-card__tag.news-card__tag--pink {
    background: var(--pink-tag);
    color: #FFFFFF;
}

.news-card__tag.news-card__tag--green {
    background: var(--green-tag);
    color: #1F1440;
}

.news-card__tag.news-card__tag--light-violet {
    background: var(--light-violet-tag);
    color: #201541;
}

.news-card__tag.news-card__tag--violet {
    background: var(--violet-tag);
    color: #FFFFFF;
}

.news-card__tag.news-card__tag--dark-violet {
    background: var(--dark-violet-tag);
    color: #FFFFFF;
}

.news-card__tag.news-card__tag--blue {
    background: var(--blue-tag);
    color: #FFFFFF;
}

.news-card__tag.news-card__tag--yellow {
    background: var(--yellow-tag);
    color: #1F1440;
}

.news-card__tag.news-card__tag--skyblue {
    background: var(--skyblue-tag);
    color: #201541;
}

.news-card__tag.news-card__tag--brightviolet {
    background: var(--brightviolet-tag);
    color: #FFFFFF;
}

.news-card.news-card--event .news-card__title {
    max-width: 375px;
}

.news-card__title {
    font-weight: 500;
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    margin-bottom: 64px;
    /* max-width: 300px; */
    color: inherit;
}

/* РћРіСЂР°РЅРёС‡РµРЅРёРµ РІС‹СЃРѕС‚С‹ РґРІСѓРјСЏ СЃС‚СЂРѕС‡РєР°РјРё */
.news-card__title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.1;
}

.news-card--all-events .news-card__title {
    margin-bottom: 0;
}

.news-card__text {
    font-size: var(--fs-body);
    color: inherit;
    max-width: 100%;
    margin-top: auto;
}

.news-card__content p {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.4;
}

.news-card.news-card--event {
    background: var(--violet-color);
    color: #fff;
}

.news-card--event .news-card__date {
    color: #fff;
}

/* РќРѕСѓС‚С‹ */
@media (max-width:1440px) {
    .news-card:not(.news-card--all-events) .news-card__title {
        /* min-height: 96px; */
    }

    .news-card--all-events {
        grid-column: span 4;
        padding: 24px;
    }
}

@media (max-width:1440px) {
    .news-card__title {
        margin-bottom: 32px;
    }

    .news-article {
        grid-column: span 6;
    }

    .news-card--all-events {
        grid-column: span 6;
        padding: 32px;
    }

}

/* РџР»Р°РЅС€РµС‚С‹ */
@media (max-width: 1194px) {
    .news-grid {
        display: grid;
        grid-template-columns: repeat(8, 1fr);
    }

    .news-article:first-child {
        grid-column: 4 / span 6;
    }

    .news-article {
        grid-column: span 4;
    }

    .large-card {
        grid-column: span 4;
    }

    .news-card--all-events {
        grid-column: span 8;
        padding: 24px;
    }

    .news-card:not(.large-card) .news-card__content {
        padding: 24px;
    }
}


@media (max-width: 1194px) {
    .news .section-title {
        margin-bottom: 16px;
    }

    .news-card__title {
        font-size: 20px;
    }

    .news-card__content p {
        font-size: var(--fs-body-mob);
    }

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

    .news-article:first-child {
        grid-column: span 8;
    }

    .news-article {
        grid-column: span 8;
    }

    .large-card {
        grid-column: span 8;
    }

    .news-card--all-events {
        grid-column: span 8;
        height: auto;
    }

    .news-card:not(.large-card) .news-card__content {
        padding: 24px;
    }
}

@media (max-width: 834px) {
    .news-article {
        grid-column: span 8;
    }

    .large-card {
        order: 1;
    }

    .news-card__img {
        max-width: 40%;
    }

    .news-article.large-card .news-card__content {
        padding-left: 0;
    }

    .news-card--all-events {
        grid-column: span 8;
        order: 99;
        background-color: var(--violet-color);
        color: #fff;
        gap: 10px;
        align-items: center;
        display: flex;
        justify-content: space-between;
        text-align: left;
        padding: 24px 16px 24px 24px;
    }

    .news-card--all-events .news-card__title {
        font-size: 20px;
    }

    .news-card:not(.large-card) .news-card__content {
        padding: 24px;
    }
}

/* РњРѕР±РёР»СЊРЅС‹Рµ */
@media (max-width: 375px) {
    .news-grid {
        gap: 0;
        /* Р Р°СЃС‚СЏРіРёРІР°РµРј СЃРµС‚РєСѓ Р·Р° РїСЂРµРґРµР»С‹ РєРѕРЅС‚РµР№РЅРµСЂР° (СѓР±РёСЂР°РµРј padding Сѓ container = 20px) */
        margin-left: -20px;
        margin-right: -20px;
    }

    .news-card:not(.news-card--all-events):not(.news-card--event) {
        background-color: transparent !important;
        box-shadow: none !important;
        border-bottom: 1px solid #E0E0E0;
        border-radius: 0;
        /* Р’РѕР·РІСЂР°С‰Р°РµРј РІРЅСѓС‚СЂРµРЅРЅРёРµ РѕС‚СЃС‚СѓРїС‹, С‚Р°Рє РєР°Рє РјС‹ СЃРґРµР»Р°Р»Рё СЃРµС‚РєСѓ С€РёСЂРµ СЌРєСЂР°РЅР° */
        padding-left: 20px;
        padding-right: 20px;
    }


    /* Р”РѕР±Р°РІР»СЏРµРј РІРµСЂС…РЅРёР№ Р±РѕСЂРґРµСЂ С‚РѕР»СЊРєРѕ РїРµСЂРІРѕР№ РєР°СЂС‚РѕС‡РєРµ */
    .news-article:first-child .news-card:not(.news-card--all-events):not(.news-card--event) {
        border-top: 1px solid #E0E0E0;
    }

    /* РћС‚СЃС‚СѓРїС‹ РІРЅСѓС‚СЂРё РєР°СЂС‚РѕС‡РєРё, С‡С‚РѕР±С‹ РєРѕРјРїРµРЅСЃРёСЂРѕРІР°С‚СЊ РѕС‚СЃСѓС‚СЃС‚РІРёРµ gap */
    .news-card__content {
        position: relative;
        padding: 0;
        padding-top: 16px;
        padding-bottom: 16px;
        height: 100%;
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    /* РљР°СЂС‚РѕС‡РєР° Р±РµР· РёР·РѕР±СЂР°Р¶РµРЅРёСЏ: СѓР±РёСЂР°РµРј РўРћР›Р¬РљРћ РІРЅСѓС‚СЂРµРЅРЅРёР№ padding content-Р°.
       Р’РЅРµС€РЅРёР№ padding-left: 20px РєР°СЂС‚РѕС‡РєРё РѕСЃС‚Р°С‘С‚СЃСЏ РґР»СЏ РєРѕСЂСЂРµРєС‚РЅРѕРіРѕ СЂРµРЅРґРµСЂР° Р±РѕСЂРґРµСЂР°. */
    .news-card:not(.news-card--all-events):not(.news-card--event):not(:has(.news-card__img)) .news-card__content {
        padding-left: 0 !important;
    }

    /* 1. "Р Р°СЃС‚РІРѕСЂСЏРµРј" РєРѕРЅС‚РµР№РЅРµСЂ С€Р°РїРєРё */
    .news-card__header {
        display: contents;
    }

    /* 2. Р”РђРўРђ (РёРґРµС‚ РїРѕСЃР»РµРґРЅРµР№ — РІРЅРёР·Сѓ РєР°СЂС‚РѕС‡РєС‹) */
    .news-card__date {
        order: 99;
        margin-bottom: 0;
        margin-top: auto;
        font-size: var(--fs-caption);
    }

    .news-card__date--full {
        display: none;
    }

    .news-card__date--short {
        display: block;
        font-size: 20px;
    }

    /* 3. Р—РђР“РћР›РћР’РћРљ */
    .news-card:not(.news-card--all-events) .news-card__title {
        order: 1;
        min-height: 0px;
        margin-bottom: 32px;
        font-size: 20px;
    }

    /* 4. РўР•Р“Р (РёРґСѓС‚ РїРµСЂРІС‹РјРё — РІРІРµСЂС…Сѓ) */
    .news-card__tags {
        order: 0;
        position: static !important;
        margin-top: 0;
        margin-bottom: 16px;
        justify-content: flex-start;
    }


    /* РџСЂРёРЅСѓРґРёС‚РµР»СЊРЅРѕ РїРѕРєР°Р·С‹РІР°РµРј С‚РµРіРё РґР»СЏ РІСЃРµС… РєР°СЂС‚РѕС‡РµРє */
    .news-card:not(.large-card) .news-card__tags,
    .news-article:not(.large-card) .news-card__tags,
    .news-card.large-card .news-card__tags,
    .news-article.large-card .news-card__tags {
        display: flex;
    }

    /* 5. РћРџРРЎРђРќРР• (РїРѕР»РЅРѕСЃС‚СЊСЋ СЃРєСЂС‹РІР°РµРј) */
    .news-card__text,
    .news-card__content p {
        display: none !important;
    }

    /* --- РЎРўРР›Р РЎРџР•Р¦РР¤РР§РќР«РҐ РљРђР РўРћР§Р•Рљ --- */

    .news-card.news-card--event {
        background-color: var(--important-color);
        color: #000;
        box-shadow: none !important;
    }

    .news-card.news-card--event .news-card__date {
        color: rgba(0, 0, 0, 0.5);
        font-size: var(--fs-caption-mob);
    }

    .news-card--all-events {
        grid-column: span 8;
        order: 5;
        background-color: var(--violet-color);
        color: #fff;
        gap: 10px;
        align-items: center;
        display: flex;
        justify-content: center;
        text-align: center;
        height: auto;
        margin-left: 20px;
        margin-right: 20px;
        margin-top: 32px;
        border-radius: 0;
    }

    .news-card--all-events .news-card__title {
        font-size: 20px;
        margin-bottom: 0;
    }

    .news-card:not(.large-card) .news-card__content {
        padding: 16px;
    }

    .news-card:hover {
        transform: translateX(5px);
    }
}

@media (min-width: 1195px) {
    .news-article--middle {
        grid-column: span 6;
    }

    .news-card--all-events {
    }
}

/* Homepage news cards: visual style like events-all__card */
@media (max-width: 1194px) {
.news-grid {
    align-items: stretch;
}

.news-article,
.news-article:first-child,
.news-article.large-card,
.large-card {
    grid-column: span 4;
    position: relative;
    display: flex;
    flex-direction: column;
    transition: all 0.3s;
    order: initial;
}

.news-article:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    transition: all 0.3s;
}

.news-card,
.news-card.news-card--event {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    height: 100%;
    flex-grow: 1;
    background: #fff;
    color: var(--dark-color);
    box-shadow: none;
    padding: 0;
}

.news-card:hover {
    transform: none;
    box-shadow: none;
}

.news-card__img {
    width: 100%;
    max-width: none;
    height: auto;
    flex-shrink: 0;
    object-fit: cover;
    background-color: #f5f5f5;
    box-sizing: border-box;
    aspect-ratio: 16 / 9;
}

.news-card__content,
.news-card:not(.large-card) .news-card__content,
.news-article.large-card .news-card__content {
    padding: 24px;
    background: #fff;
    width: 100%;
    min-width: 0;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.news-card__header {
    display: contents;
}

.news-card__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 8px;
    order: 0;
    margin-bottom: 16px;
}

.news-card__tag {
    border-radius: 5px;
    padding: 4px 8px;
    font-size: var(--fs-caption);
    line-height: 1.2;
}

.news-card__title,
.news-card.news-card--event .news-card__title,
.news-card:not(.news-card--all-events) .news-card__title {
    font-weight: 500;
    font-size: var(--fs-h3);
    line-height: 1.2;
    color: var(--dark-color);
    max-height: calc(1.4em * 3);
    margin-bottom: 16px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    order: 1;
}

.news-card__text,
.news-card__content p.news-card__text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: var(--fs-body);
    line-height: 1.4;
    color: var(--dark-color);
    max-width: 100%;
    margin: 0 0 32px;
    order: 2;
}

.news-card__date,
.news-card--event .news-card__date,
.news-card.news-card--event .news-card__date {
    order: 99;
    margin-top: auto;
    margin-bottom: 0;
    font-weight: 300;
    font-size: var(--fs-body);
    color: var(--dark-color);
    white-space: normal;
}

.news-card__date--full {
    display: none;
}

.news-card__date--short {
    display: block;
    font-size: 20px;
}

.news-card--all-events {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
    padding-left: 24px;
    padding-right: 16px;
    min-height: auto;
}

.news-card--all-events:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.news-card--all-events::after {
    content: '';
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

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

    .news-article,
    .news-article:first-child,
    .news-article.large-card,
    .news-article--middle,
    .large-card {
        grid-column: span 6;
    }

    .news-card--all-events {
        grid-column: span 12;
        min-height: auto;
        height: auto;
    }
}

@media (max-width: 834px) {
    .news-article,
    .news-article:first-child,
    .news-article.large-card,
    .large-card,
    .news-card--all-events {
        grid-column: 1 / -1;
        min-height: auto;
        margin: 0;
    }
}

.news-card--all-events {
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 24px;
    color: var(--dark-color);
    text-align: center;
}

.news-card--all-events .news-card__title {
    position: relative;
    z-index: 1;
    color: currentColor;
}

.news-card--all-events::after {
    content: none;
}

@media (max-width: 1194px) {
    .news-card--all-events {
        justify-content: center;
        padding: 24px;
        text-align: center;
        text-transform: none;
    }

    .news-card--all-events::after {
        content: '';
        display: block;
        flex-shrink: 0;
        width: 10px;
        height: 10px;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        transform: rotate(45deg);
    }
}

@media (max-width: 834px) {
    .news-card--all-events {
        justify-content: space-between;
        text-align: left;
    }
}

@media (max-width: 375px) {
    .news-grid {
        gap: 8px;
        margin-left: 0;
        margin-right: 0;
    }

    .news-card:not(.news-card--all-events):not(.news-card--event),
    .news-card.news-card--event {
        background-color: #fff !important;
        border-bottom: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .news-card__content,
    .news-card:not(.large-card) .news-card__content,
    .news-article.large-card .news-card__content {
        padding: 24px;
    }

    .news-card__header {
        display: contents;
    }

    .news-card__date {
        order: 99;
        font-size: var(--fs-body);
        margin-bottom: 0;
    }

    .news-card__date--full {
        display: none;
    }

    .news-card__date--short {
        display: block;
        font-size: 20px;
    }

    .news-card:not(.news-card--all-events) .news-card__title {
        order: 1;
        margin-bottom: 16px;
        font-size: var(--fs-h3);
    }

    .news-card__tags {
        order: 0;
        margin-top: 0;
        margin-bottom: 16px;
    }

    .news-card__text,
    .news-card__content p.news-card__text {
        display: -webkit-box !important;
    }

    .news-card--all-events {
        height: 57px;
        margin: 0;
        background-color: #fff;
        color: var(--dark-color);
        border-radius: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        text-align: left;
        padding: 24px;
    }

    .news-card:hover {
        transform: none;
    }

    .news-article:hover,
    .news-card--all-events:hover {
        transform: translateY(-5px);
    }
}

/* --- BUTTON FILL EFFECT SYSTEM --- */
a.news-card--all-events,
a.field-stud-card {
    position: relative;
    overflow: hidden;
    -webkit-tap-highlight-color: transparent;
}

/* Base overlay style */
.btn-fill-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    background-color: var(--violet-color);
    color: #fff;
    pointer-events: none;
    z-index: 5;
    
    /* Use clip-path for left-to-right filling to avoid width-padding visual issues */
    clip-path: inset(0 100% 0 0);
    transition: clip-path 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    
    /* Inherit layout properties to align the duplicate content exactly */
    display: flex;
    flex-direction: inherit;
    align-items: inherit;
    justify-content: inherit;
    padding: inherit;
    box-sizing: border-box;
}

/* Trigger fill on hover (desktop only) */
@media (hover: hover) {
    a.news-card--all-events:hover .btn-fill-overlay,
    a.field-stud-card:hover .btn-fill-overlay {
        clip-path: inset(0 0% 0 0);
    }
}

/* Trigger fill on active/touch-filled (for touchscreens via JS) */
a.news-card--all-events.is-touch-filled .btn-fill-overlay,
a.field-stud-card.is-touch-filled .btn-fill-overlay {
    clip-path: inset(0 0% 0 0);
    transition: clip-path 0.15s ease-out;
}


/* Duplicate content alignment */
.btn-fill-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    box-sizing: border-box;
    text-transform: inherit;
    
    display: flex;
    flex-direction: inherit;
    align-items: inherit;
    justify-content: inherit;
    padding: inherit;
}

/* Force elements inside overlay content to be white */
.btn-fill-content,
.btn-fill-content * {
    color: #fff !important;
}

/* Style tags inside the overlay content to be readable on the violet background */
.btn-fill-content .field-stud-tag {
    background: transparent !important;
    border: 1px solid currentColor !important;
}

.btn-fill-content .field-stud-card__code {
    color: #fff !important;
    opacity: 0.8 !important;
}

/* Duplicate the pseudo-arrows for all events card */
@media (max-width: 1194px) {
    .news-card--all-events .btn-fill-content::after {
        content: '';
        display: block;
        flex-shrink: 0;
        width: 10px;
        height: 10px;
        border-top: 2px solid currentColor;
        border-right: 2px solid currentColor;
        transform: rotate(45deg);
    }
}

/* Tablet arrow alignment: name on left, arrow on right */
@media (max-width: 1194px) {
    a.news-card--all-events,
    a.field-stud-card--all {
        justify-content: space-between !important;
        text-align: left !important;
    }
}

/* Red fill overlay for main action buttons */
a.news-card--all-events .btn-fill-overlay,
a.field-stud-card--all .btn-fill-overlay {
    background-color: var(--red-color);
}

/* Disable hover-lift on touch devices to prevent sticky hover */
@media (hover: none) and (pointer: coarse) {
    .news-card:hover,
    .news-article:hover,
    .news-card--all-events:hover {
        transform: none;
        box-shadow: none;
    }

    .news-card:active,
    .news-article:active {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    }

    .news-card--all-events:active {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    }
}

/* Растянутая ссылка карточки новости.
   Настоящая ссылка одна — на заголовке, её ::after накрывает карточку.
   Метки при этом остаются обычными ссылками: доступны с клавиатуры,
   открываются в новой вкладке и видны поисковикам. */
.news-card {
    position: relative;
}

.news-card__title-link {
    color: inherit;
    text-decoration: none;
}

.news-card__title-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.news-card__title-link:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 3px;
}

.news-card__tags {
    position: relative;
    z-index: 2;
}

.news-card__tag {
    text-decoration: none;
}

.news-card__tag:focus-visible {
    outline: 2px solid var(--dark-color);
    outline-offset: 2px;
}


    
/* field-card.css */
.field-stud-card {
    display: flex;
    position: relative;
    flex-direction: column;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    min-height: 100%;
    padding: 24px;
    background-color: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease, background-color 0.3s ease;
}

.field-stud-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.field-stud-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-bottom: 0;
    min-width: 0;
    width: 100%;
}

.field-stud-card__title {
    position: relative;
    line-height: var(--lineright-110);
    font-size: var(--fs-h3);
    flex: 1;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
    text-wrap: balance;
    color: currentColor;
}

.field-stud-card__arrow {
    flex-shrink: 0;
    margin-left: 16px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.field-stud-card__arrow img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.field-stud-card__arrow-icon {
    display: block;
    width: 100%;
    height: 100%;
    background-color: currentColor;
    -webkit-mask: var(--daat-icon-url) center / contain no-repeat;
    mask: var(--daat-icon-url) center / contain no-repeat;
}

.field-stud-card__subtitle {
    font-size: 20px;
    line-height: var(--lineright-110);
    margin-top: 16px;
    margin-bottom: 0;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: none;
    padding-right: 48px;
}

/* .field-stud-card__subtitle--hidden{
    display: none;
} */

.field-stud-card__code {
    font-size: 20px;
    line-height: var(--lineright-110);
    margin-top: 16px;
    margin-bottom: 0;
    opacity: 0.5;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: none;
    padding-right: 48px;
}

.field-stud-tags {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    gap: 8px;
    margin-top: 24px;
    margin-bottom: 48px;
}

.navigation__big-links>.field-stud-tags {
    margin-bottom: 32px;
}

.field-stud-tag {
    background: transparent;
    border: 1px solid currentColor;
    padding: 1.5px 9px;
    border-radius: 5px;
    font-size: var(--fs-caption);
    color: var(--dark-color);
}

.field-stud-text {
    margin-top: auto;
    line-height: 1.4;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: none;
}

.field-stud-card__header + .field-stud-text {
    margin-top: 16px;
}

.field-stud-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
}

/* Карточки занимают 4 колонки */
.field-stud-card {
    grid-column: span 4;
}


.field-stud-card--study:hover {
    transform: none !important;
    box-shadow: none !important;
}

.field-stud-card--study p {
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
}

.field-stud-card--study .text-accent {
    color: #680AFF;
}

/* Ноуты */
@media (max-width:1440px) {
    .field-stud-tags {
        margin-bottom: 48px;
    }
}

@media (max-width: 1440px) {
    .field-stud-card__title {
        font-size: var(--fs-h3);
    }

    .field-stud-card__subtitle,
    .field-stud-card__code {
        font-size: 20px;
        padding-right: 40px;
    }

    .field-stud-card__arrow {
        width: 24px;
        height: 24px;
    }

    .field-stud-tags {
        margin-bottom: 48px;
    }
}

.field-stud-card--all {
    background: #fff;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    color: var(--dark-color);
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    font-weight: 500;
    transition: all 0.3s;
}

.field-stud-card--all:hover {
    background-color: #fff;
}

.field-stud-card--all::after {
    content: '';
    display: none;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(0px) rotate(45deg);
}

.field-stud-card__title--all {
    font-weight: 450;
    display: flex;
    align-items: center;
    font-size: var(--fs-h3);
    flex: none;
    text-align: center;
}

@media (max-width: 1194px) {
    .field-stud-card--all {
        justify-content: center;
        padding: 24px;
        text-transform: capitalize;
        font-size: var(--fs-h3);
    }

    .field-stud-card--all::after {
        display: block;
    }
}

@media (max-width: 834px) {

    .field-stud-card--study p {
        font-weight: 500;
        font-size: 20px;
        line-height: 120%;
    }

    .field-stud-card__arrow {
        width: 24px;
        height: 24px;
    }

    .field-stud-card {
        grid-column: span 6;
    }

    .field-stud-card--all {
        max-height: 80px;
        min-height: 0;
        background-color: #fff;
        color: var(--dark-color);
        gap: 8px;
        align-items: center;
        justify-content: space-between;
        padding: 24px;
        font-size: 20px;
    }

    .field-stud-card--all:hover {
        background-color: #fff;
    }

    .field-stud-card--all::after {
        display: block;
    }
}

@media (max-width: 834px) {
    .field-stud-card__title--all {
        font-weight: 450;
        display: flex;
        align-items: center;
        font-size: 20px;
    }
}


@media (max-width: 375px) {

    .field-stud-card__title,
    .field-stud-card--all {
        font-size: 20px;
    }

    .field-stud-card__subtitle,
    .field-stud-card__code,
    .field-stud-card--study p,
    .field-stud-card__title--all {
        font-size: 18px;
    }

    .field-stud-card--study p {
        font-size: 18px;
    }

    .field-stud-card__arrow {
        width: 24px;
        height: 24px;
    }

    .field-stud-card--all {
        height: 57px;
        padding: 24px;
    }

    .field-stud-card__title--all {
        display: flex;
        align-items: center;
        font-weight: 450;
        font-size: 20px;
    }

    .field-stud-card__title--all {
        display: flex;
        align-items: center;
        font-weight: 450;
        font-size: 20px;
    }

    .field-stud-card__subtitle,
    .field-stud-card__code {
        font-size: 18px;
    }

    .field-stud-tags {
        flex-wrap: wrap;
    }


}

/* --- BUTTON FILL EFFECT FOR FIELD-STUD-CARD --- */
.field-stud-card--all {
    position: relative !important;
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent;
}

/* Duplicate arrow for applicant card overlay */
.field-stud-card--all .btn-fill-content::after {
    content: '';
    display: none;
    position: relative;
    z-index: 1;
    flex-shrink: 0;
    width: 10px;
    height: 10px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: translateY(0px) rotate(45deg);
}

@media (max-width: 1194px) {
    .field-stud-card--all .btn-fill-content::after {
        display: block;
    }
}

@media (hover: none) and (pointer: coarse) {
    .field-stud-card:hover {
        transform: none;
        box-shadow: none;
    }

    .field-stud-card:active {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    }
}


    
/* direction-cards.css */
.direction-cards .divide {
    padding-top: 48px;
    margin-top: 128px;
}

.direction-cards-title,
.direction-cards > .section-title {
    grid-column: 1 / span 4;
    grid-row: 1;
}

.direction-cards > a.field-stud-card:nth-of-type(1) {
    grid-column: 5 / span 4;
    grid-row: 1;
}

.direction-cards > a.field-stud-card:nth-of-type(2) {
    grid-column: 9 / span 4;
    grid-row: 1;
}

.direction-cards > a.field-stud-card:nth-of-type(n + 3) {
    grid-row: auto;
}

/* Цвет-акцент из WYSIWYG редактора */
.text-accent {
    color: #680AFF;
}

/* Чему учатся студенты (Шахматный порядок: 3 колонки x 3 ряда) */
.direction-cards .field-stud-card--study {
    grid-column: span 4;
}

.direction-cards .field-stud-card--study:nth-of-type(4n + 1) {
    grid-column: 5 / span 4;
}

.direction-cards .field-stud-card--study:nth-of-type(4n + 2) {
    grid-column: 9 / span 4;
}

.direction-cards .field-stud-card--study:nth-of-type(4n + 3) {
    grid-column: 1 / span 4;
}

.direction-cards .field-stud-card--study:nth-of-type(4n + 4) {
    grid-column: 5 / span 4;
}

/* Планшеты (8 колонок) */
@media (max-width: 1194px) {
    .direction-cards-title,
    .direction-cards > .section-title {
        grid-column: 1 / span 8;
        grid-row: auto;
    }

    .direction-cards > a.field-stud-card:nth-of-type(n) {
        grid-column: span 4;
        grid-row: auto;
    }

    .direction-cards > a.field-stud-card.field-stud-card--all:nth-of-type(n) {
        grid-column: 1 / -1;
    }

    .direction-cards .field-stud-card--study:nth-of-type(n) {
        grid-column: span 4;
        grid-row: auto;
    }

    /* Популярные направления (ссылки): если карточек четное число суммарно (смещено из-за h2), последняя занимает всю ширину (8 колонок) */
    .direction-cards a.field-stud-card:nth-of-type(even):last-of-type {
        grid-column: span 8;
    }
}

@media (max-width: 834px) {
    .direction-cards {
        grid-template-columns: repeat(8, 1fr);
        gap: 8px;
    }

    .direction-cards-title,
    .direction-cards > .section-title,
    .direction-cards > a.field-stud-card,
    .direction-cards > a.field-stud-card:nth-of-type(n),
    .direction-cards > .field-stud-card,
    .direction-cards .field-stud-card:first-child,
    .direction-cards .field-stud-card,
    .direction-cards .field-stud-card--study:nth-of-type(n),
    .direction-cards a.field-stud-card:nth-of-type(even):last-of-type {
        grid-column: 1 / -1;
        grid-row: auto;
        justify-self: stretch;
        width: 100%;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .direction-cards {
        grid-template-columns: repeat(4, 1fr);
    }

    .direction-cards .field-stud-card:first-child {
        grid-column: 1 / -1;
        margin-top: 64px;
        padding-top: 32px;
    }
    .direction-cards .field-stud-card--study:nth-of-type(n) {
        grid-column: 1 / -1;
        grid-row: auto;
    }
    .direction-cards .field-stud-card {
        grid-column: 1 / -1;
    }
}

    
/* partners-card.css */
.partners__card {
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-user-drag: none;
    user-select: none;
}

.partners__card-img {
    max-width: 160px;
    height: auto;
    object-fit: contain;
}

.partners__card-text {
    font-size: 16px;
    color: #000;
    text-align: center;
    white-space: nowrap;
}

@media (max-width: 1194px) {
    .partners__card-img {
        max-width: 140px;
    }
}

@media (max-width: 834px) {
    .partners__card-img {
        max-width: 120px;
    }
}

@media (max-width: 375px) {
    .partners__card-img {
        max-width: 100px;
    }
}


    
/* attention_cards.css */
/* ВАЖНОЕ Карточки */
.events-important__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
}

.events-important__grid--slider {
    row-gap: 0;
}

.events-important__slider {
    --events-important-gap: 8px;
    --events-important-slide-width: calc((100% - (var(--events-important-gap) * 2)) / 3);
    --slider-progress-color: var(--violet-color);
    --slider-progress-track-color: rgba(32, 21, 65, 0.16);
    --slider-progress-height: 8px;
    --slider-progress-gap: 8px;
    grid-column: 1 / -1;
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    overflow: hidden;
    padding-top: 16px;
    margin-top: -16px;
    padding-bottom: 16px;
    margin-bottom: -16px;
}

/* Pre-initialization styles for active slider modes (to prevent flash of grid layout) */
.events-important__slider[data-slide-count]:not(.swiper-initialized):not([data-slide-count="2"]):not([data-slide-count="3"]) .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    gap: var(--events-important-gap);
}

.events-important__slider[data-slide-count]:not(.swiper-initialized):not([data-slide-count="2"]):not([data-slide-count="3"]) .swiper-slide {
    display: flex;
    flex-shrink: 0;
    width: var(--events-important-slide-width);
}

.events-important__slider .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--events-important-gap);
    align-items: stretch;
    height: auto !important;
    margin-bottom: 8px;
}

.events-important__slider.swiper-initialized .swiper-wrapper {
    display: flex;
    gap: 0;
}

.events-important__slider .swiper-slide {
    display: flex;
    grid-column: span 4;
    width: auto;
    height: auto !important;
}

.events-important__slider.swiper-initialized .swiper-slide {
    width: var(--events-important-slide-width);
}

.events-important__slider .events-important__card {
    min-height: 0;
    height: 100%;
    width: 100%;
}

.events-important__card {
    grid-template-rows: repeat(4, 1fr);
    grid-column: span 4;
}


.events-page-title {
    margin-top: 64px;
    margin-bottom: 64px !important;
    line-height: var(--lineright-110);
}

.events-important {
    padding-bottom: 64px;
}



.events-important__card {
    position: relative;
    overflow: hidden;
    background-color: var(--violet-color);
    padding: 24px;
    transition: transform 0.3s, box-shadow 0.3s;
}

.events-important__slider--fill-enabled .events-important__card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: calc(var(--slide-progress, 0) * 100%);
    background-color: rgba(255, 255, 255, 0.12);
    pointer-events: none;
    z-index: 1;
}

.events-important__link {
    position: relative;
    z-index: 2;
    display: block;
    height: 100%;
    user-select: none;
    -webkit-user-drag: none;
}

.events-important__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px rgba(138, 43, 226, 0.4);
    transition: transform 0.3s, box-shadow 0.3s;
}

.events-important__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.events-important__tag {
    font-size: var(--fs-caption-mob);
    color: #000;
    padding: 6px 12px;
    background-color: #fff;
    border-radius: 5px;
    display: none;
}

.events-important__date {
    font-size: 24px;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 5px;
    line-height: 1.4;
}

.events-important__title {
    font-size: var(--medium-card-size);
    line-height: var(--lineright-110);
    color: #fff;
    margin-bottom: 64px;

    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.2;
    max-height: calc(1.4em * 3);
}

.events-important__text {
    color: #fff;
    max-width: 100%;
}

.events-important__slider .slider-progress {
    position: relative;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    display: flex;
    width: 100%;
    margin-top: 0;
    z-index: 2;
}

.events-important__slider[data-slide-count="2"] .slider-progress,
.events-important__slider[data-slide-count="3"] .slider-progress {
    display: none;
}

.events-important__slider--static .slider-progress {
    display: none;
}

.events-important__slider.swiper-initialized[data-slide-count] .slider-progress {
    display: flex;
}

.events-important__slider .slider-progress__group {
    display: flex;
    gap: var(--slider-progress-gap);
    width: 100%;
    min-width: 100%;
    height: var(--slider-progress-height);
}

.events-important__slider .slider-progress__item {
    display: block;
    min-height: var(--slider-progress-height);
    height: var(--slider-progress-height);
    background-color: var(--slider-progress-track-color);
}

/* ./ВАЖНОЕ */

@media (max-width: 1194px) {
    .events-important__slider {
        --events-important-slide-width: calc(((100% - var(--events-important-gap)) / 12) * 10);
    }

    .events-important__slider .swiper-slide {
        grid-column: span 10;
    }

    .events-important__slider[data-slide-count="3"]:not(.swiper-initialized) .swiper-wrapper {
        display: flex;
        flex-wrap: nowrap;
        gap: var(--events-important-gap);
    }

    .events-important__slider[data-slide-count="3"]:not(.swiper-initialized) .swiper-slide {
        display: flex;
        flex-shrink: 0;
        width: var(--events-important-slide-width);
    }

    .events-important__card {
        grid-column: span 10;
    }

    .events-important__date {
        font-size: 20px;
    }

    .events-important__slider--desktop-progress .swiper-wrapper {
        display: flex;
        gap: 0;
    }

    .events-important__slider--desktop-progress .swiper-slide {
        flex: 0 0 var(--events-important-slide-width);
        width: var(--events-important-slide-width);
    }

    .events-important__slider--desktop-progress .slider-progress {
        display: flex;
    }
}

@media (max-width: 834px) {
    .events-important__slider {
        --events-important-slide-width: 100%;
        --slider-progress-gap: 4px;
    }

    .events-important__slider .swiper-slide {
        grid-column: 1 / -1;
    }

    .events-important__slider[data-slide-count="2"]:not(.swiper-initialized) .swiper-wrapper,
    .events-important__slider[data-slide-count="3"]:not(.swiper-initialized) .swiper-wrapper {
        display: flex;
        flex-wrap: nowrap;
        gap: var(--events-important-gap);
    }

    .events-important__slider[data-slide-count="2"]:not(.swiper-initialized) .swiper-slide,
    .events-important__slider[data-slide-count="3"]:not(.swiper-initialized) .swiper-slide {
        display: flex;
        flex-shrink: 0;
        width: var(--events-important-slide-width);
    }

    .events-important__card {
        grid-column: 1 / -1;
    }

    .events-important__card:only-of-type {
        grid-column: 1 / -1;
    }

    .events-important__slider[data-slide-count="2"] .swiper-wrapper {
        display: flex;
        gap: 0;
    }

    .events-important__slider[data-slide-count="2"] .swiper-slide {
        flex: 0 0 var(--events-important-slide-width);
        width: var(--events-important-slide-width);
    }

    .events-important__slider[data-slide-count="2"] .slider-progress {
        display: flex;
    }
}

@media (hover: none) and (pointer: coarse) {
    .events-important__card:hover {
        transform: none;
        box-shadow: none;
    }

    .events-important__card:active {
        transform: translateY(-5px);
        box-shadow: 0 8px 16px rgba(138, 43, 226, 0.4);
    }
}


    
/* events_cards.css */
.events-all__grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
}

.events-all__card {
    grid-column: span 4;
    position: relative;
    transition: all 0.3s;
}

.events-all__card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    transition: all 0.3s;
}

.events-all-link {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.events-all__img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    background-color: rgba(255, 255, 255);
    box-sizing: border-box;
}

.events-all__main-tags {
    gap: 8px;
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 16px;
}

.events-all__main-tag {
    background-color: var(--violet-color);
    border-radius: 5px;
    padding: 4px 8px;
    font-size: var(--fs-caption);
    color: #fff;
    line-height: 1.2;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.events-important__tag,
.events-all__main-tag,
.events-all__tag {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.events-important__tag:hover,
.events-all__main-tag:hover,
.events-all__tag:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(32, 21, 65, 0.18);
}

.events-important__tag:active,
.events-all__main-tag:active,
.events-all__tag:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(32, 21, 65, 0.14);
}

.events-all__content {
    padding: 24px;
    background: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.events-all__title {
    font-weight: 500;
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    color: var(--dark-color);
    max-width: 330px;
    margin-bottom: 64px;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.2;
    max-height: calc(1.4em * 3);
}

.events-all__date {
    font-weight: 300;
    font-size: 24px;
    color: var(--dark-color);
    margin-top: auto;
}

.events-all__img--placeholder {
    width: 100%;
    aspect-ratio: 16 / 9;
    background-color: var(--violet-color);
}

.events-all__card--important .events-all__content {
    background-color: var(--violet-color);
}

.events-all__card--important .events-all__title {
    color: #fff;
}

.events-all__card--important .events-all__date {
    color: rgba(255, 255, 255, 0.7);
}

.events-all__card--important .events-all__tag {
    background-color: #fff;
    color: #000;
}

.events-all__card--important:hover {
    box-shadow: 0 8px 16px rgba(138, 43, 226, 0.4);
}

.events-all__tags {
    display: none;
}

.events-all__text-cards {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
    height: 100%;
    grid-column: span 4;
}

.events-all__text-card {
    height: 100%;
    flex-basis: 50%;
}

.events-all__text-card .events-all__content {
    height: 100%;
}

.events-all__text-card:first-child .events-all__tag {
    bottom: 24px;
    top: auto;
}

/* ./EVENTS ALL */

/* EVENTS LAST */
.events__last .section-subtitle {
    display: block;
    font-size: var(--fs-h2);
}


.events-no-results {
    grid-column: 1 / -1;
    width: 100%;
    text-align: center;
    white-space: nowrap;
    font-weight: 500;
    font-size: 20px;
    line-height: var(--lineright-110);
    color: var(--dark-color);
}

/* РџСЂРµР»РѕР°РґРµСЂ РґР»СЏ СЃРѕР±С‹С‚РёР№ */
.events-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 64px 24px;
    grid-column: 1 / -1;
}

.events-loader__spinner {
    width: 48px;
    height: 48px;
    border: 4px solid #f3f3f3;
    border-top: 4px solid #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}




@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

.events-loader__text {
    margin-left: 15px;
    font-size: var(--fs-body);
    color: #666;
}

/* WP Admin Dynamic Tag Colors */
.events-important__tag--gray,
.events-all__main-tag--gray,
.events-all__tag--gray {
    background-color: var(--gray-tag) !important;
    color: #FFFFFF !important;
}

.events-important__tag--red,
.events-all__main-tag--red,
.events-all__tag--red {
    background-color: var(--red-tag) !important;
    color: #FFFFFF !important;
}

.events-important__tag--pink,
.events-all__main-tag--pink,
.events-all__tag--pink {
    background-color: var(--pink-tag) !important;
    color: #FFFFFF !important;
}

.events-important__tag--green,
.events-all__main-tag--green,
.events-all__tag--green {
    background-color: var(--green-tag) !important;
    color: #1F1440 !important;
}

.events-important__tag--light-violet,
.events-all__main-tag--light-violet,
.events-all__tag--light-violet {
    background-color: var(--light-violet-tag) !important;
    color: #201541 !important;
}

.events-important__tag--violet,
.events-all__main-tag--violet,
.events-all__tag--violet {
    background-color: var(--violet-tag) !important;
    color: #FFFFFF !important;
}

.events-important__tag--dark-violet,
.events-all__main-tag--dark-violet,
.events-all__tag--dark-violet {
    background-color: var(--dark-violet-tag) !important;
    color: #FFFFFF !important;
}

.events-important__tag--blue,
.events-all__main-tag--blue,
.events-all__tag--blue {
    background-color: var(--blue-tag) !important;
    color: #FFFFFF !important;
}

.events-important__tag--yellow,
.events-all__main-tag--yellow,
.events-all__tag--yellow {
    background-color: var(--yellow-tag) !important;
    color: #1F1440 !important;
}

.events-important__tag--skyblue,
.events-all__main-tag--skyblue,
.events-all__tag--skyblue {
    background-color: var(--skyblue-tag) !important;
    color: #201541 !important;
}

.events-important__tag--brightviolet,
.events-all__main-tag--brightviolet,
.events-all__tag--brightviolet {
    background-color: var(--brightviolet-tag) !important;
    color: #FFFFFF !important;
}

@media (max-width: 1440px) {
    .events-all__card .events-all__content {
        height: 100%;
    }

    .events-all__text-card .events-all__main-tag {
        bottom: 20px;
        top: auto;
    }
}

@media (max-width: 1194px) {
    .events-all__card {
        grid-column: span 6;
    }

    .events-all__text-cards {
        grid-column: span 6;
    }

    .events-all__date {
        font-size: 20px;
    }
}

@media (max-width: 834px) {
    .events-all__grid>.events-all__card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 375px) {
    .events-all__card {
        grid-column: span 10;
    }

    .events-all__text-cards {
        grid-column: span 10;
    }
}

@media (max-width: 375px) {
    .events-all__card {
        grid-column: span 12;
    }

    .events-all__text-cards {
        grid-column: span 12;
    }
}

@media (hover: none) and (pointer: coarse) {
    .events-all__card:hover {
        transform: none;
        box-shadow: none;
    }

    .events-all__card:active {
        transform: translateY(-5px);
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
    }
}

/* Растянутая ссылка карточки.
   Ссылка на запись одна — на заголовке, её ::after накрывает всю карточку.
   Благодаря этому метки внутри карточки остаются обычными ссылками:
   доступны с клавиатуры, открываются в новой вкладке и видны поисковикам. */
.events-all__title-link {
    color: inherit;
    text-decoration: none;
}

.events-all__title-link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.events-all__title-link:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 3px;
}

.events-all__main-tags {
    position: relative;
    z-index: 2;
}

.events-all__main-tag {
    text-decoration: none;
}

.events-all__main-tag:focus-visible {
    outline: 2px solid var(--dark-color);
    outline-offset: 2px;
}

/* Кнопка «Показать ещё» под сеткой событий */
.events-all__more {
    display: flex;
    justify-content: center;
    margin-top: 40px;
}

.events-all__more[hidden] {
    display: none;
}

.events-all__more-btn {
    appearance: none;
    background: transparent;
    border: 1px solid var(--dark-color);
    border-radius: 5px;
    color: var(--dark-color);
    cursor: pointer;
    font: inherit;
    padding: 14px 32px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.events-all__more-btn:hover,
.events-all__more-btn:focus-visible {
    background-color: var(--dark-color);
    color: #fff;
}

.events-all__more-btn:disabled {
    cursor: default;
    opacity: 0.6;
}

@media (prefers-reduced-motion: reduce) {
    .events-all__more-btn {
        transition: none;
    }
}


    
/* curator_card.css */
.curator-cards {
    container-type: inline-size;
}

.curator-card {
    grid-column: span 4;
    container-type: inline-size;
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 1fr);
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 100%;
    overflow: hidden;
    background-color: var(--dark-color);
    color: #fff;
}

.curator-card__picture {
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    overflow: hidden;
}

.curator-img {
    display: block;
    object-fit: cover;
    object-position: center top;
    width: 100%;
    max-width: 100%;
    height: 100%;
}

.curator-card__info {
    box-sizing: border-box;
    padding: clamp(14px, 3.6cqi, 22px);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 24px;
    min-width: 0;
}

.curator-card__header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(8px, 2.5cqi, 16px);
    align-items: flex-start;
    width: 100%;
    min-width: 0;
}

.curator-card__title,
.curator__card__title {
    margin: 0;
    font-weight: 500;
    font-size: clamp(18px, 4.2cqi, 23px);
    line-height: var(--lineright-110);
    max-width: none;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

.curator-card__arrow {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.curator-card__arrow img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.curator-card__tags {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.curator-card__tag {
    padding: 4px 8px;
    display: inline-flex;
    max-width: 100%;
    box-sizing: border-box;
    border-radius: 5px;
    font-size: clamp(14px, 3.6cqi, 16px);
    line-height: var(--lineright-110);
    color: #000;
    background-color: #cec7ff;
    overflow-wrap: normal;
    word-break: normal;
}

.curator-card__tags__row {
    display: contents;
}

@container (max-width: 1200px) {
    .curator-card {
        grid-template-columns: 1fr;
    }

    .curator-card__picture,
    .curator-card__info {
        width: 100%;
    }

    .curator-card__picture {
        aspect-ratio: 1 / 1.4;
    }

    .curator-img {
        width: 100%;
        height: 100%;
        max-height: none;
        object-position: center 14%;
    }

    .curator-card__info {
        gap: 32px;
    }

    .curator-card__title,
    .curator__card__title {
        font-size: clamp(20px, 6.4cqi, 25px);
    }

    .curator-card__tags {
        width: 100%;
    }
}

@media (max-width: 834px) {
    .curator-cards {
        grid-column: 1 / -1;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
        width: 100%;
    }

    .curator-cards .curator-card {
        grid-column: auto;
        grid-template-columns: 1fr;
        align-items: stretch;
        width: 100%;
        max-width: none;
    }

    .curator-card__picture {
        aspect-ratio: 1 / 1.4;
    }

    .curator-img {
        width: 100%;
        height: 100%;
        max-height: none;
        object-position: center 14%;
    }

    .curator-card__picture,
    .curator-card__info {
        width: 100%;
    }

    .curator-card__info {
        position: relative;
        justify-content: flex-end;
        align-self: stretch;
        height: 100%;
        gap: 16px;
        padding: 16px 16px 16px 16px;
    }

    .curator-card__header {
        display: block;
        gap: 0;
        margin-top: auto;
    }

    .curator-card__title,
    .curator__card__title {
        flex: 1 1 auto;
        min-width: 0;
        max-width: none;
    }

    .curator-card__tag {
        font-size: 14px;
    }

    .curator-card__arrow {
        position: absolute;
        top: 16px;
        right: 16px;
        flex: 0 0 auto;
    }

    .curator-card__tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        width: 100%;
        max-width: none;
    }

    .curator-card__tags__row {
        flex-basis: auto;
    }
}


    
/* full-screen-card.css */
.full-screen-cards{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-column: span 12;
    gap: 10px;
}

.full-screen__card{
    grid-column: span 4;
    background-color: #fff;
    padding: 30px 17px 30px 30px;
}

.full-screen__card-title{
    font-weight: 500;
    font-size: var(--big-card-size);
    line-height: var(--lineright-110);
    margin-bottom: 35px;
}

.full-screen__card-subtitle{
    font-weight: 500;
    font-size: 20px;
    line-height: 120%;
    max-width: 294px;
    margin-bottom: 8px;
    font-style: normal;
}

.full-screen__card-caption{
    font-size: var(--fs-body);
    line-height: 1.4;
    color: var(--violet-color);
    margin-bottom: 64px;
}

.full-screen__card-info{
    max-width: 440px;
    font-size: var(--fs-body);
}

.full-screen__card-group{
    margin-bottom: 30px;
}


@media (max-width: 1440px) {
    .full-screen__card-title{
        font-size: var(--fs-h2-mob);
    }
    .full-screen__card-subtitle{
        font-size: 20px;
    }
}

/* РїР»Р°РЅС€РµС‚С‹ */
@media (max-width: 1194px) {
    .full-screen-cards {
        grid-template-columns: repeat(8, 1fr);
    }
}

@media (max-width: 834px) {
    .full-screen__card{
        grid-column: 1 / -1;
    }
    .full-screen__card-title {
        font-size: 25px;
        margin-bottom: 15px;
    }

    .full-screen__card-caption {
        margin-bottom: 32px;
    }
}

@media (max-width: 375px) {
    .full-screen-cards {
        grid-template-columns: repeat(4, 1fr);
    }
    .full-screen__card {
        grid-column: span 4;
    }
    .full-screen__card-title{
        font-size: 25px;
    }
    .full-screen__card-subtitle{
        font-size: 18px;
    }
}


    
/* big-card-info1.css */
/* Р’РѕРµРЅРєРѕРјР°С‚ */

.devide__group__big-card {
    background-color: #fff;
    padding: 24px;
    margin-bottom: 64px;
    min-width: 0;
}

.big-card__title {
    font-size: var(--big-card-size);
    line-height: var(--lineright-110);
    margin-bottom: 16px;
}

.big-card__caption {
    font-size: var(--fs-body);
    line-height: 1.2;
    margin-bottom: 64px;
}

.big-card__work-hours {
    font-weight: 500;
    font-size: 20px;
    color: var(--dark-color);
    line-height: 1.2;
}

.big-card__info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px;
    align-items: start;
}

.big-card__info-text {
    font-size: 20px;
    color: var(--dark-color);
    line-height: 1.2;
    min-width: 0;
}

.big-card__info-text--phones {
    align-self: start;
}

.big-card__info-text .important {
    color: var(--violet-color)
}

.big-card__work-hours p,
.big-card__info-text p,
.big-card-support p,
.big-card__addresses p,
.big-card__phones p {
    line-height: 1.2;
    margin: 0;
}

.big-card__work-hours p + p,
.big-card-support p + p,
.big-card__addresses p + p,
.big-card__phones p + p {
    margin-top: 4px;
}

.big-card__work-hours + .big-card__addresses {
    margin-top: 48px;
}

.big-card__info a,
.big-card-support a,
.middle-card-info a {
    color: inherit;
    text-decoration: none;
}

@media (max-width: 834px) {
    .big-card__title {
        font-size: 25px;
    }

    .big-card__info {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .big-card__caption {
        margin-bottom: 32px;
    }

    .big-card__info-text {
        margin-bottom: 20px;
    }

    .big-card__info-text--phones {
        align-self: start;
    }
}

@media (max-width: 375px) {
    .big-card__title {
        font-size: 25px;
    }

    .big-card__work-hours {
        font-size: 18px;
    }
}


    
/* small-card-info.css */
.middle-card{
    padding: 24px;
    background-color: #fff;
    margin-bottom: 64px;
    min-width: 0;
}

.middle-card__title{
    font-weight: 500;
    font-size: var(--big-card-size);
    line-height: var(--lineright-110);
    margin-bottom: 64px;
}

.middle-card-subtitle{
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    margin-bottom: 28px;
}

.middle-card-info,
.middle-card-info p {
    line-height: 1.2;
}

@media (max-width: 834px) {
    .middle-card{
        max-width: none;
    }

    .middle-card__title{
        font-size: 25px;
    }
}

@media (max-width: 375px) {
    .middle-card__title{
        font-size: 25px;
    }
    .middle-card-subtitle{
        font-size: 18px;
    }
}


    
/* big-card-info2.css */

.devide__group__big-card--second-template .big-card__title{
    margin-bottom: 64px;
}

.devide__group__big-card--second-template .big-card__info{
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 48px;
    row-gap: 32px;
    align-items: start;
}

.devide__group__big-card--second-template .big-card__info--matrix {
    grid-template-areas:
        "name addresses"
        "hours support";
}

.big-card__matrix-item--name {
    grid-area: name;
}

.big-card__matrix-item--hours {
    grid-area: hours;
}

.big-card__matrix-item--support {
    grid-area: support;
}

.big-card__matrix-item--addresses {
    grid-area: addresses;
}

.devide__group__big-card--second-template .big-card-info-name{
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    color: #000;
    max-width: 302px;
}

.devide__group__big-card--second-template .big-card-support{
    color: var(--dark-color)
}

.devide__group__big-card--second-template .big-card__info-text{
    display: flex;
    flex-direction: column;
    gap: 32px;
    min-width: 0;
}

.devide__group__big-card--second-template .big-card__work-hours{
    display: block;
    min-width: 0;
}

.devide__group__big-card--second-template .big-card__addresses {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.devide__group__big-card--second-template .big-card__work-hours-adress{
    font-weight: 400;
    font-size: 20px;
    line-height: 1.2;
    color: var(--dark-color);
}

@media (max-width: 834px) {
    .devide__group__big-card--second-template .big-card__title {
        font-size: 25px;
    }

    .devide__group__big-card--second-template .big-card__info{
        grid-template-columns: 1fr;
        grid-template-areas:
            "name"
            "hours"
            "addresses"
            "support";
        gap: 24px;
    }

    .devide__group__big-card--second-template .big-card__info-text,
    .devide__group__big-card--second-template .big-card__work-hours{
        gap: 24px;
    }
}

@media (max-width: 375px) {
    .devide__group__big-card--second-template .big-card__title {
        font-size: 25px;
    }
    .devide__group__big-card--second-template .big-card-info-name{
        font-size: 18px;
    }
    .big-card-support, .big-card__work-hours, .big-card__work-hours-adress{
        font-size: 18px;
    }
    .devide__group__big-card--second-template .big-card__work-hours-adress{
        font-size: var(--fs-body);
    }
}


    
/* employers-card.css */
.employess-cards {
    grid-column: span 12;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    row-gap: 48px;
}

.employess_card {
    grid-column: span 2;
    width: 100%;
    text-decoration: none;
    color: inherit;
    display: block;
    position: relative;
    transition: transform 0.3s ease;
}

.employess_card::before {
    content: "";
    position: absolute;
    left: 8px;
    right: 8px;
    top: -4px;
    height: 8px;
    border-radius: 50%;
    background: transparent;
    filter: blur(6px);
    transition: background 0.25s ease;
    z-index: -1;
}

@media (hover: hover) and (pointer: fine) {
    .employess_card:hover {
        transform: translateY(-5px);
    }

    .employess_card:hover::before {
        background: rgba(0, 0, 0, 0.12);
    }
}

.employess_card:active {
    transform: scale(0.98);
}

.employess_card-img {
    display: block;
    width: 100%;
    aspect-ratio: 1 / 1.45;
    height: auto;
    object-fit: cover;
    object-position: center top;
    margin-bottom: 8px;
}

.employess_card-title {
    font-size: clamp(16px, calc(14.47px + 0.19vw), 18px);
    line-height: var(--lineright-110);
    color: #000;
    font-weight: 500;
    margin-bottom: 8px;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: normal;
    word-break: keep-all;
    hyphens: none;
}

.employess_card-title-word {
    display: inline-block;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    hyphens: none;
}

.employess_card-text {
    font-size: var(--fs-caption);
    line-height: var(--lineright-110);
    color: #000000a8;
}

.employess_card-match {
    color: #fff;
    background-color: var(--violet-color);
    font-weight: 500;
    padding: 0 1px 0 2px;
    border-radius: 2px;
}


.employess-cards .no-results,
#staffLoading {
    grid-column: 1 / -1;
    width: 100%;
    text-align: center;
    color: rgba(32, 21, 65, 0.5);
}

.employess-cards .no-results,
#staffLoading p {
    font-size: var(--fs-body);
    line-height: var(--lineright-110);
}

#staffLoading {
    padding: 32px 0;
}

#staffLoading p {
    margin: 0;
}

@media (max-width: 1440px) {
    .employess_card {
        grid-column: span 3;
    }
}

@media (max-width: 1194px) {
    .employess_card {
        grid-column: span 4;
    }

    .employess_card-img {
        aspect-ratio: 1 / 1.5;
    }
}

@media (max-width: 834px) {
    .employess_card {
        grid-column: span 6;
    }

    .employess_card-img {
        aspect-ratio: 1 / 1.45;
    }
}

@media (max-width: 375px) {
    .employess_card-title {
        font-size: 16px;
    }
}


    
/* area-study-cards.css */
.divide-areasStudy {
    display: block;
}

.divide-areasStudy .section-title {
    grid-column: 1 / span 4;
    grid-row: 1;
    margin: 0;
    align-self: start;
    position: relative;
    z-index: 1;
}

.area-study {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 8px;
    row-gap: 0;
    margin-bottom: 96px;
}

.area-study .events-all__img {
    object-position: top;
}

.area-study__title {
    grid-column: 5 / span 8;
    max-width: 583px;
    font-size: var(--fs-h2-mob);
    line-height: var(--lineright-110);
    color: #000;
    margin: 0;
}

.area-study__title--with-section {
    grid-column: 5 / span 8;
}

.area-cards {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    row-gap: 16px;
    width: 100%;
}

.area-card {
    grid-column: span 4;
    width: 100%;
}

.area-card--first {
    grid-column: 5 / span 4;
}

.area-card__content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.area-card__img {
    width: 100%;
    aspect-ratio: 1 / 0.65;
    object-fit: cover;
    margin-bottom: 8px;
}

.area-card__group {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.area-card__title {
    font-weight: 500;
    font-size: var(--fio-staff-size);
    line-height: var(--lineright-110);
    margin: 0;
}

.area-card__date {
    font-size: var(--fs-body);
    line-height: var(--lineright-110);
    color: #9e9e9e;
    white-space: nowrap;
}


.useful-info-link {
    grid-column: span 6;
    max-width: 562px;
    background-color: #680AFF;
    color: #fff;
    padding: 24px;
    display: flex;
    gap: 48px;
    align-items: start;
}

.useful-info-link p {
    font-weight: 500;
    font-size: var(--medium-card-size);
    line-height: var(--lineright-110);
}

.study-info-link {
    width: 327px;
    margin-top: 64px;
    background-color: #680AFF;
    color: #fff;
    padding: 24px;
    display: flex;
    gap: 16px;
    align-items: start;
    font-size: var(--title-2-size);
}

@media (max-width: 1194px) {
    .area-study__title {
        font-size: var(--fs-h3);
    }

    .area-study {
        margin-bottom: 80px;
    }

    .divide-areasStudy .section-title {
        grid-column: 1 / -1;
        grid-row: auto;
        margin-bottom: 32px;
    }

    .area-cards {
        grid-column: 1 / -1;
        grid-row: auto;
        grid-template-columns: 1fr;
        margin-top: 0;
    }

    .area-card {
        grid-column: 1 / -1;
    }

    .area-card--first {
        grid-column: 1 / -1;
    }
}

@media (max-width: 834px) {
    .area-cards {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }

    .area-card {
        grid-column: 1 / -1;
    }

    .area-card--first {
        grid-column: 1 / -1;
    }

    .area-study__title {
        grid-column: span 12;
    }

    .divide-areasStudy .section-title {
        margin-bottom: 32px;
    }
}

@media (max-width: 375px) {
    .area-study__title {
        grid-column: span 12;
        max-width: none;
        width: 100%;
        font-size: 20px;
    }

    .divide-areasStudy .section-title {
        margin-bottom: 32px;
    }

    .area-study {
        margin-bottom: 64px;
    }

    .area-cards {
        grid-column: 1 / -1;
        margin-top: 0;
    }

    .area-card {
        grid-column: 1 / -1;
    }

    .area-card--first {
        grid-column: 1 / -1;
    }
}

/* Horizontal card layout ONLY on horizontal tablets */
@media (min-width: 835px) and (max-width: 1194px) {
    .area-study .events-all-link {
        flex-direction: row;
        align-items: stretch;
        background: #fff;
    }

    .area-study .events-all__img {
        width: 50%;
        height: auto;
        align-self: stretch;
        aspect-ratio: auto;
        object-fit: cover;
        display: block;
        background: #eee;
    }

    .area-study .events-all__content {
        width: 50%;
        display: flex;
        flex-direction: column;
        justify-content: center;
        padding: 24px;
    }
}


    
/* study-cards.css */
.study-info-group {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
}

.study-info-card,
.study-info-link {
    grid-column: 5 / span 8;
}

.study-info-card {
    margin-top: 64px;
    background-color: #fff;
    padding: 24px;
}

.study-info-card h3 {
    max-width: 555px;
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    font-weight: 550;
    margin-bottom: 64px;

}

.study-info-card--violet {
    background-color: rgba(160, 142, 247, 0.22);
}

@media screen and (max-width: 1194px) {
    .study-info-card,
    .study-info-link {
        grid-column: 1 / -1;
    }
    .study-info-card h3 {
        font-size: var(--fs-h3);
        font-weight: 550;
        margin-bottom: 32px;
    }

    .study-info-group {
        grid-template-columns: repeat(8, 1fr);
    }
}

@media screen and (max-width: 834px) {

    .study-info-card {
        grid-column: 1 / span 12;
    }
}

@media (max-width: 375px) {
    .study-info-card {
        grid-column: span 12;
    }
    .study-info-card h3 {
        font-size: 20px;
        font-weight: 550;
        margin-bottom: 32px;
    
    }
}



    /* ./КАРТОЧКИ  */

    /* SlIDERS */
    
/* slider-main.css */
.swiper {
    width: 100%;
    min-height: 250px;
    height: 800px;
    position: relative;
}

.applicant-info .daat-slider-section > .container,
.student-info .daat-slider-section > .container,
.department_info .daat-slider-section > .container {
    width: 100%;
    max-width: 100%;
}

.hero {
    --hero-content-bg: rgba(104, 10, 255, 0.88);
    --hero-content-padding-block: 24px;
    --hero-content-padding-inline: 28px;
    --hero-content-radius: 0px;
    --hero-content-reveal-duration: 0.35s;
    --hero-content-reveal-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

.swiper-slide {
    width: 100%;
    position: relative;
}

.slider-image-link {
    display: block;
    width: 100%;
    height: 100%;
}

.swiper-slide img {
    margin-top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    object-fit: cover;
}

.hero__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    color: var(--new-bg-color);
    font-size: var(--fs-h2);
    line-height: 110%;
    white-space: pre-line;
    font-weight: bold;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    margin: 0;
    padding: var(--hero-content-padding-block) var(--hero-content-padding-inline);
    background: var(--hero-content-bg);
    border-radius: var(--hero-content-radius);
    box-sizing: border-box;
    z-index: 2;
    transition: transform var(--hero-content-reveal-duration) var(--hero-content-reveal-ease),
        opacity var(--hero-content-reveal-duration) ease;
    will-change: transform, opacity;
}

.hero[data-hero-reveal-on-hover="1"] .swiper-slide {
    overflow: hidden;
}

@media (hover: hover) and (pointer: fine) {
    .hero[data-hero-reveal-on-hover="1"] .hero__content {
        transform: translateY(100%);
        opacity: 0.98;
    }

    .hero[data-hero-reveal-on-hover="1"] .daat-swiper:hover .swiper-slide-active .hero__content,
    .hero[data-hero-reveal-on-hover="1"] .daat-swiper:focus-within .swiper-slide-active .hero__content {
        transform: translateY(0);
        opacity: 1;
    }
}

.daat-swiper {
    --slider-progress-color: var(--violet-color);
    --slider-progress-track-color: rgba(32, 21, 65, 0.16);
    --slider-progress-duration: 5000ms;
    --slider-progress-height: 14px;
    --slider-progress-offset-bottom: 0px;
    --slider-progress-bottom-space: 8px;
    --slider-progress-gap: 4px;
    --slider-nav-size: 72px;
    --slider-nav-offset: 24px;
    --slider-nav-reveal-distance: 18px;
}

.daat-swiper:not(.events-important__slider) {
    box-sizing: border-box;
    padding-bottom: calc(var(--slider-progress-height) + var(--slider-progress-bottom-space));
}

.slider-progress {
    position: absolute;
    left: 0;
    right: 0;
    top: auto;
    bottom: var(--slider-progress-offset-bottom);
    z-index: 3;
    display: flex;
    align-items: stretch;
    gap: 0;
}

.slider-progress__bar {
    display: none;
}

.slider-progress__bar::after {
    content: none;
}

.slider-progress__fill {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    width: 0;
    background: var(--slider-progress-color);
    opacity: 0;
    will-change: width, opacity;
}

.slider-progress__group {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: var(--slider-progress-gap);
    width: 100%;
    min-width: 100%;
}

.slider-nav {
    appearance: none;
    position: absolute;
    top: 50%;
    z-index: 4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: var(--slider-nav-size);
    height: var(--slider-nav-size);
    padding: 0;
    border: 0;
    border-radius: 0;
    background: var(--new-bg-color);
    color: var(--dark-color);
    box-shadow: none;
    cursor: pointer;
    transform: translateY(-50%);
    transition: transform 0.24s ease, opacity 0.24s ease, background-color 0.2s ease, color 0.2s ease;
}

.slider-nav--prev {
    left: var(--slider-nav-offset);
}

.slider-nav--next {
    right: var(--slider-nav-offset);
}

.slider-nav:hover {
    transform: translateY(calc(-50% - 2px));
    color: var(--violet-color);
}

.slider-nav:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 3px;
}

.slider-nav:active {
    transform: translateY(-50%);
    background: var(--red-color);
    box-shadow: none;
    color: var(--new-bg-color);
}

.slider-nav__icon {
    width: 16px;
    height: 16px;
    border-left: 3px solid currentColor;
    border-bottom: 3px solid currentColor;
    transform: translateX(3px) rotate(45deg);
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.slider-nav--next .slider-nav__icon {
    transform: translateX(-3px) rotate(225deg);
}

@media (hover: hover) and (pointer: fine) {
    .daat-swiper .slider-nav {
        opacity: 0;
        pointer-events: none;
    }

    .daat-swiper .slider-nav--prev {
        transform: translate(calc(var(--slider-nav-reveal-distance) * -1), -50%);
    }

    .daat-swiper .slider-nav--next {
        transform: translate(var(--slider-nav-reveal-distance), -50%);
    }

    .daat-swiper:hover .slider-nav,
    .daat-swiper:focus-within .slider-nav {
        opacity: 1;
        pointer-events: auto;
    }

    .daat-swiper:hover .slider-nav--prev,
    .daat-swiper:focus-within .slider-nav--prev,
    .daat-swiper:hover .slider-nav--next,
    .daat-swiper:focus-within .slider-nav--next {
        transform: translate(0, -50%);
    }

    .daat-swiper:hover .slider-nav:hover,
    .daat-swiper:focus-within .slider-nav:hover {
        transform: translateY(calc(-50% - 2px));
    }

    .daat-swiper:hover .slider-nav:active,
    .daat-swiper:focus-within .slider-nav:active {
        transform: translateY(-50%);
    }
}

@media (max-width: 1194px), (hover: none), (pointer: coarse) {
    .daat-swiper .slider-nav {
        display: inline-flex;
        opacity: 1;
        pointer-events: auto;
    }

    .daat-swiper {
        --slider-nav-size: 58px;
        --slider-nav-offset: 14px;
    }
}

.slider-progress__item {
    appearance: none;
    border: 0;
    padding: 0;
    height: var(--slider-progress-height);
    flex: 1 1 0;
    background: var(--slider-progress-track-color);
    border-radius: 0;
    cursor: pointer;
    position: relative;
    overflow: hidden;
    transition: transform 0.2s ease, filter 0.2s ease, opacity 0.2s ease;
}

.slider-progress__item:hover {
    background: color-mix(in srgb, var(--slider-progress-color) 25%, transparent);
    transform: none;
}

.slider-progress__item:active {
    filter: brightness(0.9);
    transform: translateY(0);
}

.slider-progress__item + .slider-progress__item::before {
    content: none;
}

.swiper-applicant {
    --slider-progress-offset-bottom: 0px;
}

.swiper-pagination {
    display: none;
}

@media (max-width: 1440px) {
    .hero__content {
        left: 0;
    }
}

@media (max-width: 1440px) {
    .swiper {
        min-height: 250px;
        height: 600px;
    }

    .daat-swiper {
        --slider-nav-size: 62px;
        --slider-nav-offset: 18px;
    }

    .hero__content {
        left: 0;
        bottom: 0;
        font-size: var(--fs-h2-mob);
    }
}

@media (max-width: 1194px) {
    .swiper {
        min-height: 250px;
        height: 500px;
    }
    .hero__content {
        font-size: var(--fs-h3);
    }
}

@media (max-width: 1194px), (hover: none), (pointer: coarse) {
    .hero .swiper {
        min-height: auto;
        height: auto;
        overflow: hidden;
    }

    .hero .swiper-wrapper {
        height: auto;
        align-items: stretch;
    }

    .hero .swiper-slide {
        display: flex;
        flex-direction: column;
        height: auto;
        min-height: 100%;
    }

    .hero .slider-image-link {
        height: auto;
    }

    .hero .swiper-slide img {
        height: 500px;
    }

    .hero__content {
        position: static;
        left: auto;
        right: auto;
        bottom: auto;
        display: flex;
        align-items: flex-end;
        flex: 1 1 auto;
        width: 100%;
        max-width: none;
        margin-top: 0;
        transform: none;
        opacity: 1;
        will-change: auto;
    }

    .hero[data-hero-reveal-on-hover="1"] .hero__content {
        transform: none;
        opacity: 1;
    }
}

@media (max-width: 834px) {
    .swiper {
        min-height: 250px;
    }
}

@media (max-width: 834px) {

    .swiper {
        min-height: 250px;
        height: 350px;
    }

    .daat-swiper {
        --slider-progress-height: 11px;
        --slider-nav-size: 54px;
        --slider-nav-offset: 14px;
    }

    .hero__content {
        /* Подпись слайда на телефонах — 20px, отдельно от шкалы заголовков:
           25px в этой ширине занимали почти весь экран. Ниже 375px
           продолжает действовать 14px из мобильной шкалы. */
        font-size: 20px;
        padding: 18px 20px;
    }
}


@media (max-width: 375px) {
    .hero {
        margin-bottom: 40px;
    }

    .daat-swiper {
        --slider-progress-height: 9px;
        --slider-nav-size: 48px;
        --slider-nav-offset: 10px;
    }

    .swiper {
        min-height: 250px;
        height: 300px;
    }

    .hero .swiper-slide img {
        height: 300px;
    }

    .hero__content {
        font-size: var(--fs-body);
        padding: 16px 18px;
    }

    .slider-nav__icon {
        width: 14px;
        height: 14px;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .swiper {
        min-height: 250px;
        height: 300px;
    }
}

@media (max-width: 375px) {
    .daat-swiper {
        --slider-progress-height: 7px;
        --slider-nav-size: 42px;
        --slider-nav-offset: 8px;
    }

    .swiper {
        min-height: auto;
        height: 280px;
    }

    .swiper-slide {
        display: flex;
        flex-direction: column;
    }

    .swiper-slide img {
        position: static;
        max-height: none;
    }

    .hero .swiper-slide img {
        height: 280px;
    }

    .hero__content {
        padding: 14px 16px;
        font-size: var(--fs-body);
    }

}


    
/* slider-mobile.css */
/* только мобильные (слайдер) */

.section-subtitle{
    font-weight: 600;
    font-size: var(--section-mob-size);
    line-height: var(--lineright-110);
    margin-bottom: 15px;
    display: none;
}


.swiper-events{
    /* Переменная использовалась в gap и в расчёте ширины карточки,
       но нигде не была объявлена — оба свойства становились недействительными. */
    --events-slider-gap: 16px;
    min-height: 250px;
    height: 100%;
    max-width: 100%;
    overflow-x: hidden;
    margin-bottom: 56px;
    display: none;
    position: relative;
}

.swiper-events .swiper-scrollbar{
    display: none;
}

.swiper-events .swiper-wrapper{
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: var(--events-slider-gap);
    height: 100%;
    min-height: 250px;
    margin-bottom: 20px;
    width: 100%;
    padding: 0;
    max-width: none;
    box-sizing: border-box;
}

.swiper-events.swiper-initialized .swiper-wrapper{
    display: flex;
    gap: 0;
}

.swiper-events .swiper-wrapper .swiper-slide{
    grid-column: span 4;
    width: auto;
    height: auto;
    background-color: #fff;
    box-sizing: border-box;
}

.swiper-events.swiper-initialized .swiper-wrapper .swiper-slide{
    width: var(--events-slider-card-width);
}

.swiper-events .events-slider__card,
.swiper-events .events-slider__link{
    display: flex;
    flex-direction: column;
    height: 100%;
}

.swiper-events .events-swiper__img{
    position: static;
    width: 100%;
    aspect-ratio: 16 / 9;
    height: auto;
    max-height: none;
    margin-top: 0;
    margin-bottom: 0;
    object-fit: cover;
}

.swiper-events__content{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    padding: 20px 23px 20px 20px;
    background-color: #fff;
}

.swiper-events__date{
    font-weight: 300;
    font-size: 24px;
    line-height: 110%;
    color: var(--dark-color);
    margin-bottom: 8px;
}

.swiper-events__title{
    font-weight: 500;
    font-size: var(--text2-2-mob-size);
    line-height: var(--lineright-110);
    margin-bottom: 92px;
    max-width: 100%;
}

.events-slider__info{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: auto;
}

.swiper-events .slider-progress{
    position: static;
    left: auto;
    right: auto;
    top: auto;
    bottom: auto;
    margin: 0;
}

.swiper-events .slider-progress__group{
    height: var(--slider-progress-height);
}

.swiper-events .slider-progress__item{
    min-height: var(--slider-progress-height);
    height: var(--slider-progress-height);
    background-color: var(--slider-progress-track-color);
}

@media (max-width: 1193.98px) {
    .swiper-events{
        --events-slider-card-width: calc((100% - var(--events-slider-gap)) / 2);
    }

    .swiper-events .swiper-wrapper .swiper-slide{
        grid-column: span 6;
    }

    .swiper-events__date{
        font-size: 20px;
    }
}

@media (max-width: 834px) {
    .swiper-events{
        --events-slider-card-width: calc(((100% - var(--events-slider-gap)) / 12) * 11);
    }

    .swiper-events .swiper-wrapper .swiper-slide{
        grid-column: span 11;
    }
}
/* только мобильные */



    
/* slider-preview.css */
/* slider */

.aplicant-slider {
    width: 100%;
    position: relative;
    margin-bottom: 100px;
    overflow: hidden;
}

.aplicant-slider .container{
    margin-right: 0;
    width: 100%;
    max-width: 100%;
}

.swiper-applicant{
    min-height: 250px;
    height: 566px;
    width: 100%;
    position: relative;
}

.swiper-applicant .swiper-wrapper{
    height: 100%;
    align-items: stretch;
}

.swiper-applicant .swiper-slide{
    width: 80%;
    max-width: 942px;
    height: 100%;
    display: flex;
    opacity: 0.2;
    background: transparent;
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    overflow: visible;
    transform: scale(0.92);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0);
}

.swiper-applicant .swiper-slide::after {
    content: none;
}

.swiper-applicant .swiper-slide-prev {
    transform: scale(0.92) translateX(38px);
}

.swiper-applicant .swiper-slide-next {
    transform: scale(0.92) translateX(-38px);
}

.swiper-applicant .swiper-slide-active {
    opacity: 1;
    z-index: 2;
    transform: scale(1) translateX(0);
    box-shadow: 0 -15px 25px -10px rgba(0, 0, 0, 0.15), 
                -12px -5px 20px -10px rgba(0, 0, 0, 0.12), 
                12px -5px 20px -10px rgba(0, 0, 0, 0.12);
}

.swiper-applicant .swiper-slide-active::after {
    opacity: 0;
}

.swiper-applicant .applicant-slider__img{
    object-fit: cover;
    width: 100%;
    height: 100%;
    margin-top: 0;
    display: block;
}

.swiper-pagination {
    position: absolute;
    bottom: -40px !important;
    z-index: 2;
}

.swiper-applicant .slider-progress {
    left: 0;
    right: 0;
    top: auto;
    bottom: 0;
    width: auto;
    z-index: 4;
}

.swiper-applicant .slider-progress__item {
    background: var(--slider-progress-track-color);
    backdrop-filter: none;
}

.swiper-applicant .slider-progress__item:hover {
    background: color-mix(in srgb, var(--slider-progress-color) 25%, transparent);
}

.swiper-applicant .slider-progress__item:active {
    filter: brightness(0.9);
    transform: translateY(0);
}

@media (max-width: 1194px) {
    .swiper-applicant .swiper-slide {
        width: 100%;
        max-width: 100%;
        transform: none;
        box-shadow: none;
    }
    .swiper-applicant .swiper-slide-prev,
    .swiper-applicant .swiper-slide-next,
    .swiper-applicant .swiper-slide-active {
        transform: none;
        box-shadow: none;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .swiper-applicant {
        min-height: 250px;
        height: 386px;
    }
    .swiper-applicant .swiper-slide img {
        max-height: none;
    }
}

/* slider */


    /* ./SlIDERS */

    /* ACCORDIONS */
    
/* accordion-main.css */
/* Общие стили для контейнеров */
.applicant-accordion-wrapper, 
.templates-accordion-wrapper {
    --accordion-inline-padding: 32px;
    --accordion-block-padding: 48px;
    --accordion-content-bottom-padding: 40px;
    grid-column: span 8;
    list-style: none;
}

/* Общие стили для списков аккордеонов */
.applicant-accordion, 
.nested-main-accordion {
    list-style: none;
    padding: 0;
    margin: 0;
}

/* Общие стили для элементов */
.accordion__item, 
.nested-main-item,
.nested-inner-item {
    border-bottom: 0.5px solid #9e9e9e;
}

/* Общие стили для заголовков */
.accordion__header,
.nested-main-header,
.nested-inner-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding-top: var(--accordion-block-padding);
    padding-bottom: var(--accordion-block-padding);
    padding-left: var(--accordion-inline-padding);
    padding-right: 0;
    line-height: var(--lineright-110);
    font-size: var(--medium-card-size);
    cursor: pointer;
    transition: background-color 0.3s ease;
}

/* Общие стили для заголовков */
.accordion__title,
.nested-main-title {
    margin: 0;
    font-size: var(--medium-card-size);
    font-weight: 600;
    min-width: 0;
}

/* Общие стили для иконок */
.accordion__header-icon {
    position: relative;
    display: block;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    color: currentColor;
}

.accordion__header-icon::before,
.accordion__header-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background-color: currentColor;
    transform-origin: center;
    transition: transform 0.32s ease, width 0.32s ease;
}

.accordion__header-icon::before {
    transform: translate(calc(-50% - 5px), -50%) rotate(45deg);
}

.accordion__header-icon::after {
    transform: translate(calc(-50% + 5px), -50%) rotate(-45deg);
}

.accordion__header-icon--active::before,
.acc_active .accordion__header-icon::before,
.nested-main-active > .nested-main-header .accordion__header-icon::before,
.nested-inner-active > .nested-inner-header .accordion__header-icon::before {
    width: 25px;
    transform: translate(-50%, -50%) rotate(45deg);
}

.accordion__header-icon--active::after,
.acc_active .accordion__header-icon::after,
.nested-main-active > .nested-main-header .accordion__header-icon::after,
.nested-inner-active > .nested-inner-header .accordion__header-icon::after {
    width: 25px;
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* ===== ПРОСТОЙ АККОРДЕОН ===== */

/* Стили тела для простого аккордеона */
.simple-accordion .accordion__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.45s ease;
    padding: 0;
    will-change: max-height;
}

/* Активное состояние для простого аккордеона */
.simple-accordion .acc_active .accordion__body {
    padding-bottom: 0;
}

.simple-accordion .acc_active .accordion__body .accordion__text {
    opacity: 1;
    transform: translateY(0);
}

/* ===== ВЛОЖЕННЫЙ АККОРДЕОН ===== */

/* Стили для ОСНОВНОГО вложенного аккордеона */
.nested-main-accordion .nested-main-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.45s ease;
    padding: 0;
    will-change: max-height;
}

.nested-main-accordion .nested-main-item.nested-main-active .nested-main-body {
    /* padding-bottom: 40px; */
}

/* Стили для ВНУТРЕННЕГО вложенного аккордеона */
.nested-inner-accordion .nested-inner-body {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.45s ease;
    padding: 0;
    will-change: max-height;
}

.nested-inner-accordion .nested-inner-item.nested-inner-active .nested-inner-body {
    padding-bottom: 0;
}

/* Специфичные стили для вложенного аккордеона */
.nested-inner-accordion .nested-inner-header {
    font-size: 20px;
    color: var(--dark-color);
}

.nested-inner-accordion .nested-inner-item:last-child {
    border-bottom: none;
}

.nested-main-accordion .nested-main-body {
    padding-bottom: 0;
}

.nested-inner-accordion .nested-inner-item.nested-inner-active .nested-inner-body {
    padding-bottom: 0;
}

.nested-main-accordion .nested-main-header {
    gap: 16px;
}

/* .nested-main-accordion .nested-main-body .nested-inner-active {
    background-color: #fff;
} */

/* ===== ОБЩИЕ СТИЛИ ДЛЯ КОНТЕНТА ===== */

.accordion__text {
    font-size: var(--body-size);
    line-height: 1.4;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 0.5s ease, transform 0.5s ease;
}

.simple-accordion .accordion__text {
    padding-left: var(--accordion-inline-padding);
    padding-right: var(--accordion-inline-padding);
    padding-bottom: var(--accordion-block-padding);
}

/* Стили для контента внутри аккордеона */
.accordion__text p {
    margin-bottom: 16px;
}

.accordion__text p:last-child {
    margin-bottom: 0;
}

.accordion__text ul,
.accordion__text ol {
    margin-bottom: 16px;
    padding-left: 20px;
}

.accordion__text ul:last-child,
.accordion__text ol:last-child {
    margin-bottom: 0;
}

.accordion__text li {
    margin-bottom: 8px;
}

.accordion__text li:last-child {
    margin-bottom: 0;
}

.accordion__text a {
    color: #0066cc;
    text-decoration: underline;
}

.accordion__text a:hover {
    color: #004499;
}

.accordion__text strong {
    font-weight: 600;
}

.accordion__text em {
    font-style: italic;
}

/* Стили для templates__download (контент вложенного аккордеона) */
.templates__download {
    padding-left: var(--accordion-inline-padding);
    padding-right: var(--accordion-inline-padding);
    padding-bottom: var(--accordion-content-bottom-padding);
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.templates__download-group {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.templates__download-item a {
    display: flex;
    align-items: center;
    gap: 8px;
}

.templates__download-item a span {
    text-decoration: underline;
    text-decoration-skip-ink: none;
    font-size: var(--fs-body);
    color: #000;
}

.templates__download__all {
    background: #d9d9d9;
    padding: 24px 32px;
    font-weight: 600;
    font-size: var(--fs-body);
    color: #000;
}

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

@media (max-width: 834px) {
    .applicant-accordion-wrapper, 
    .templates-accordion-wrapper {
        --accordion-inline-padding: 8px;
        --accordion-block-padding: 40px;
        --accordion-content-bottom-padding: 40px;
    }

    .accordion__header, 
    .nested-main-header {
        font-size: var(--fs-h3-mob);
    }
}

@media (max-width: 834px) {
    .templates__download {
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
    }
}

@media (max-width: 375px) {
    .applicant-accordion-wrapper, 
    .templates-accordion-wrapper {
        --accordion-inline-padding: 8px;
        --accordion-block-padding: 32px;
        --accordion-content-bottom-padding: var(--accordion-block-padding);
    }

    .accordion__header, 
    .nested-main-header {
        font-size: var(--section-mob-size);
    }
}

@media (max-width: 375px) {
    .nested-main-accordion .nested-main-header {
        font-size: var(--fs-h3-mob);
        gap: 8px;
    }
}

/* ===== ФАЙЛЫ, ПРИКРЕПЛЁННЫЕ К ОТВЕТУ ===== */

.faq-files {
    list-style: none;
    margin: 18px 0 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.faq-files__item {
    margin: 0;
}

.faq-files__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    max-width: 100%;
    padding: 8px 12px;
    border: 1px solid #DCDCE0;
    background: #fff;
    color: inherit;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease;
}

.faq-files__link:hover,
.faq-files__link:focus-visible {
    border-color: var(--violet-color);
    color: var(--violet-color);
}

.faq-files__ext {
    flex: 0 0 auto;
    min-width: 46px;
    padding: 3px 8px;
    background: #F0EEF2;
    color: #554A70;
    font-size: 11px;
    font-weight: 700;
    text-align: center;
}

.faq-files__name {
    font-size: var(--fs-body-mob);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

/* Кнопка внутри заголовка аккордеона.
   Её создаёт accordion.js: заголовок остаётся заголовком (h3), а управление
   становится настоящей кнопкой — берёт фокус и реагирует на Enter/Пробел.
   Сброс нужен, чтобы кнопка не отличалась от прежнего текста. */
.accordion__toggle {
    appearance: none;
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: block;
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    margin: 0;
    padding: 0;
    text-align: inherit;
    text-transform: inherit;
    width: 100%;
}

.accordion__toggle:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 4px;
}


    
/* accordion-templates.css */
/* nested accordion */

.nested-inner-accordion .nested-inner-header {
    font-size: 20px;
    color: var(--dark-color)
}

.nested-inner-accordion .nested-inner-item:last-child{
    border-bottom: none;
}

.nested-main-accordion .nested-main-body{
    padding-bottom: 0;
}

.nested-inner-accordion .nested-inner-item.nested-inner-active .nested-inner-body{
    padding-bottom: 0;
}

/* .nested-main-accordion .nested-main-body .nested-inner-active{
    background-color: #fff;
} */

.nested-main-accordion .nested-main-body .nested-inner-active .nested-inner-body{
    /* стили для контента активного подраздела */
}

.nested-inner-item .nested-inner-header{
    padding-top: 40px;
    padding-bottom: 40px;
}

.nested-inner-item .nested-inner-header .accordion__title{
    font-weight: 400;
    font-size: 20px;
    line-height: var(--lineright-110);
    color: var(--dark-color);
}

.templates__download{
    padding-bottom: var(--accordion-content-bottom-padding);
}

.templates__download {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.templates__download-group{
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.templates__download-item a{
    display: flex;
    align-items: center;
    gap: 8px;
}

.templates__download-item a span{
    text-decoration: underline;
    text-decoration-skip-ink: none;
    font-size: var(--fs-body);
    color: #000;
}

.templates__download__all{
    background: #d9d9d9;
    padding: 24px 32px;
    font-weight: 600;
    font-size: var(--fs-body);
    color: #000;
}

@media (max-width: 834px) {
    .templates__download{
        flex-direction: column;
        align-items: flex-start;
        gap: 32px;
    }
}

@media (max-width: 375px) {
    .nested-inner-item .nested-inner-header{
        padding-top: var(--accordion-block-padding);
        padding-bottom: var(--accordion-block-padding);
    }

    .nested-main-accordion .nested-main-header{
        font-size: var(--fs-h3-mob);
        gap: 8px;
    }
}


    /* ./ACCORDIONS */

    /* FILTERS */
    
/* filter-tags.css */
.events-all__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin-bottom: 32px;
    column-gap: 64px;
    row-gap: 24px;
    flex-wrap: wrap;
}

.events-all__filters {
    display: flex;
    flex-wrap: wrap;
    column-gap: 8px;
    row-gap: 10px;
    align-items: center;
}

.events-all__filter {
    background-color: transparent;
    border: 1px solid rgba(32, 21, 65, 0.28);
    padding: 6px 12px;
    border-radius: 5px;
    font-size: var(--fs-body-mob);
    color: var(--dark-color);
    line-height: 1.2;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.events-all__filter--all {
    margin-right: 10px;
    border-color: var(--dark-color);
    font-weight: 500;
    position: relative;
}

.events-all__filter--all::after {
    content: '';
    position: absolute;
    top: 50%;
    right: -11px;
    width: 1px;
    height: 20px;
    background: rgba(32, 21, 65, 0.24);
    transform: translateY(-50%);
}

.events-all__filter--active {
    background-color: var(--dark-color);
    border-color: var(--dark-color);
    color: #fff;
}

.events-all__filter:hover {
    background-color: rgba(32, 21, 65, 0.08);
    border-color: var(--dark-color);
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(32, 21, 65, 0.12);
}

.events-all__filter--active:hover {
    background-color: var(--dark-color);
    color: #fff;
}

.events-all__filter:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(32, 21, 65, 0.1);
}

.events-all__pagination {
    display: flex;
    align-items: center;
    gap: 24px;
}

.events-all__years {
    display: flex;
    gap: 16px;
    align-items: center;
}

.events-all__year {
    font-size: var(--fs-body);
    line-height: var(--lineright-110);
    color: #adadad;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
}

.events-all__years--source {
    display: none;
}

.events-all__year--active {
    text-decoration: underline;
    text-decoration-skip-ink: none;
    color: var(--dark-color);
}

.events-all__month-nav {
    display: flex;
    align-items: center;
    gap: 12px;
    position: relative;
}

.events-all__month-label {
    font-family: 'Onest', sans-serif;
    font-weight: 700;
    font-size: var(--fs-body);
    line-height: var(--lineright-110);
    color: #000;
    text-align: center;
    border: none;
    background: none;
    padding: 0;
    cursor: pointer;
    position: relative;
    z-index: 2;
    white-space: nowrap;
}

.events-all__native-date {
    display: none;
    font-family: 'Onest', sans-serif;
}

.events-all__button {
    border-radius: 6px;
    width: 34px;
    height: 34px;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    cursor: pointer;
    transition: background 0.2s;
    -webkit-appearance: none;
    appearance: none;
}

.events-all__button svg {
    width: 14px;
    height: 14px;
    fill: currentColor;
    color: var(--violet-color);
    transition: color 0.2s;
}

/* При наведении — фиолетовый фон, белая иконка */
.events-all__button:hover {
    background: var(--violet-color);
}

.events-all__button:hover svg {
    color: #fff;
}

/* Disabled state */
.events-all__button--disabled {
    opacity: 0.3;
    cursor: not-allowed;
    pointer-events: none;
}

/* ── Month picker popup ── */
.events-month-picker {
    font-family: 'Onest', sans-serif;
    position: absolute;
    top: calc(100% + 10px);
    left: 0;
    z-index: 90;
    width: 290px;
    max-width: calc(100vw - 32px);
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
    padding: 16px;
}

.events-month-picker__body {
    display: flex;
    gap: 12px;
    max-height: min(240px, calc(100vh - 200px));
}

.events-month-picker__years::-webkit-scrollbar,
.events-month-picker__list::-webkit-scrollbar {
    width: 4px;
}

.events-month-picker__years::-webkit-scrollbar-track,
.events-month-picker__list::-webkit-scrollbar-track {
    background: transparent;
    margin: 4px 0;
}

.events-month-picker__years::-webkit-scrollbar-thumb,
.events-month-picker__list::-webkit-scrollbar-thumb {
    background-color: rgba(32, 21, 65, 0.2);
    border-radius: 10px;
}

.events-month-picker__years::-webkit-scrollbar-thumb:hover,
.events-month-picker__list::-webkit-scrollbar-thumb:hover {
    background-color: rgba(32, 21, 65, 0.4);
}

.events-month-picker__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.events-month-picker__title {
    font-family: 'Onest', sans-serif;
    font-weight: 500;
    font-size: var(--fs-body-mob);
    line-height: var(--lineright-110);
    color: var(--dark-color);
}

.events-month-picker__close {
    flex: 0 0 auto;
    background: none;
    border: none;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: var(--dark-color);
    opacity: 0.5;
    padding: 0;
    transition: opacity 0.2s;
}

.events-month-picker__close:hover {
    opacity: 1;
}

.events-month-picker__years {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 0 0 120px;
    overflow-y: auto;
    padding-right: 6px;
}

.events-month-picker__years::-webkit-scrollbar {
    height: 4px;
}

.events-month-picker__years::-webkit-scrollbar-track {
    background: transparent;
}

.events-month-picker__years::-webkit-scrollbar-thumb {
    background-color: rgba(32, 21, 65, 0.2);
    border-radius: 10px;
}

.events-month-picker__years::-webkit-scrollbar-thumb:hover {
    background-color: rgba(32, 21, 65, 0.4);
}

.events-month-picker__year {
    font-family: 'Onest', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: none;
    border-radius: 6px;
    background: rgba(32, 21, 65, 0.07);
    color: var(--dark-color);
    cursor: pointer;
    font-size: var(--fs-body-mob);
    padding: 10px 12px;
    transition: background 0.2s, color 0.2s;
}

.events-month-picker__year:hover,
.events-month-picker__year--active {
    background: var(--violet-color);
    color: #fff;
}

.events-month-picker__list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    overflow-y: auto;
    padding-right: 6px;
}

.events-month-picker__item {
    font-family: 'Onest', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 10px 12px;
    border: none;
    border-radius: 6px;
    background: rgba(32, 21, 65, 0.07);
    cursor: pointer;
    font-size: var(--fs-body-mob);
    color: var(--dark-color);
    transition: background 0.2s, color 0.2s;
    text-align: left;
}

.events-month-picker__item:hover {
    background: rgba(32, 21, 65, 0.18);
}

.events-month-picker__item--active {
    background: var(--violet-color);
    color: #fff;
}

.events-month-picker__item--empty {
    opacity: 0.45;
}

.events-month-picker__alltime {
    font-family: 'Onest', sans-serif;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    border: none;
    border-radius: 6px;
    background: rgba(32, 21, 65, 0.07);
    color: var(--dark-color);
    cursor: pointer;
    font-size: var(--fs-body-mob);
    padding: 10px 12px;
    transition: background 0.2s, color 0.2s;
}

.events-month-picker__alltime:hover,
.events-month-picker__alltime--active {
    background: var(--violet-color);
    color: #fff;
}

@media (max-width: 1440px) {

    /* Когда элементы переносятся на новую строку, добавим немного пространства */
    .events-all__pagination {
        margin-top: 10px;
    }
}



@media (max-width: 834px) {
    .events-all__filters {
        flex-wrap: wrap;
    }
}

/* Firefox scrollbar fallback */
@supports (-moz-appearance: none) {

    .events-month-picker__list,
    .events-month-picker__years {
        scrollbar-width: thin;
        scrollbar-color: rgba(32, 21, 65, 0.2) transparent;
    }
}


    
/* filter-search.css */
.employess-header {
    grid-column: span 12;
    margin-bottom: 40px;
}

.employess_form {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-areas:
        "title title title title title title title title title title title title"
        "main main main main main . . . tags tags tags tags";
    column-gap: 8px;
    row-gap: 16px;
    align-items: start;
}

.employess_form .section-title {
    grid-area: title;
    margin-bottom: 0;
}

.employess_form-main {
    grid-area: main;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 0;
}

.employess_form-search-wrap {
    position: relative;
    width: 100%;
}

.employess_form-search-wrap::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 18px;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='8.75' cy='8.75' r='5.75' stroke='%23201541' stroke-width='1.5'/%3E%3Cpath d='M13 13L17 17' stroke='%23201541' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px 20px;
    pointer-events: none;
    transform: translateY(-50%);
    transition: transform 0.3s ease;
}

.employess_form-search-wrap:has(.employess_form-search:active)::after {
    transform: translateY(-50%) scale(0.85);
}

.employess_form-search {
    width: 100%;
    border: 1px solid rgba(32, 21, 65, 0.28);
    border-radius: 0;
    background-color: #fff;
    font-size: var(--fs-body);
    line-height: var(--lineright-110);
    color: var(--dark-color);
    min-height: 56px;
    padding: 16px 56px 16px 20px;
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.employess_form-search::-webkit-search-cancel-button,
.employess_form-search::-webkit-search-decoration,
.employess_form-search::-webkit-search-results-button,
.employess_form-search::-webkit-search-results-decoration {
    -webkit-appearance: none;
    appearance: none;
    display: none;
}

.employess_form-search::-ms-clear,
.employess_form-search::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

.employess_form-search::placeholder {
    color: rgba(32, 21, 65, 0.55);
    text-transform: lowercase;
}

@media (hover: hover) and (pointer: fine) {
    .employess_form-search:hover {
        border-color: var(--violet-color);
    }
}

.employess_form-search:focus {
    border-color: var(--violet-color);
    box-shadow: none;
}

.employess_form-search:active {
    transform: scale(0.99);
}

.employess_form-params {
    grid-area: tags;
    width: 100%;
    justify-self: end;
    min-width: 0;
    align-self: start;
}

.employess_form-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 0;
}

.employess_form-category {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 0.50px solid rgba(32, 21, 65, 0.35);
    border-radius: 8px;
    padding: 8px 12px;

    font-weight: 500;
    font-size: var(--fs-caption);
    line-height: 1.2;
    color: var(--dark-color);
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .employess_form-category:hover {
        background-color: rgba(32, 21, 65, 0.08);
        border-color: var(--dark-color);
        transform: translateY(-2px);
        box-shadow: 0 6px 14px rgba(32, 21, 65, 0.12);
    }

    .employess_form-category--active:hover,
    .employess_form-category.active:hover {
        background-color: var(--dark-color);
        color: #fff;
    }
}

.employess_form-category:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(32, 21, 65, 0.1);
}

.employess_form-category--active,
.employess_form-category.active {
    background: var(--dark-color);
    border-color: var(--dark-color);
    color: #fff;
}

.employess_form-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    align-content: flex-start;
    align-items: center;
}

.employess_form-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(32, 21, 65, 0.14);
    border: none;
    border-radius: 5px;
    padding: 8px 12px;
    font-size: var(--fs-body-mob);
    font-weight: 400;
    line-height: 1.2;
    color: var(--dark-color);
    text-decoration: none;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.15s ease;
}

@media (hover: hover) and (pointer: fine) {
    .employess_form-tag:hover {
        background-color: var(--dark-color);
        color: #fff;
    }
}

.employess_form-tag:active {
    transform: scale(0.95);
}

.employess_form-tag--active {
    background-color: var(--dark-color);
    color: #fff;
}

.employess_form__params-button {
    visibility: hidden;
}

@media (max-width: 1194px) {
    .employess-header {
        margin-bottom: 32px;
    }

    .employess_form {
        grid-template-columns: repeat(8, minmax(0, 1fr));
        grid-template-areas:
            "title title title title title title title title"
            "main main main main . tags tags tags";
        column-gap: 8px;
        row-gap: 16px;
    }

    .employess_form-params {
        max-width: none;
    }
}

@media (max-width: 834px) {
    .employess_form {
        grid-template-columns: 1fr;
        grid-template-areas:
            "title"
            "main"
            "tags";
        gap: 20px;
    }

    .employess_form-main,
    .employess_form-params {
        grid-column: 1;
        width: 100%;
        max-width: none;
        justify-self: stretch;
    }

    .employess_form-search-wrap {
        width: 100%;
    }
}

@media (max-width: 375px) {
    .employess-header {
        margin-bottom: 32px;
    }

    .employess_form-search-wrap,
    .employess_form-search {
        width: 100%;
    }

    .employess_form-search {
        min-height: 52px;
        padding-left: 16px;
        padding-right: 48px;
    }

    .employess_form-category,
    .employess_form-tag {
        padding-left: 12px;
        padding-right: 12px;
    }

}


    /* ./FILTERS */

    
/* breadcrumbs.css */
.breadcrumbs {
    margin-bottom: 32px;
    color: rgba(32, 21, 65, 0.46);
}

.breadcrumbs__list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    min-width: max-content;
}

.breadcrumbs__item {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    font-size: var(--fs-body-mob);
    line-height: 110%;
    color: rgba(32, 21, 65, 0.46);
    white-space: nowrap;
}

.breadcrumbs__item + .breadcrumbs__item::before {
    content: "";
    width: 10px;
    height: 10px;
    margin: 0 10px;
    background-color: currentColor;
    -webkit-mask: center / contain no-repeat url("https://dat.sutd.ru/wp-content/themes/daat_theme/assets/img/icons/arrow-right-mono.svg?v=acd8c7be9a5b");
    mask: center / contain no-repeat url("https://dat.sutd.ru/wp-content/themes/daat_theme/assets/img/icons/arrow-right-mono.svg?v=acd8c7be9a5b");
}

.breadcrumbs__link,
.breadcrumbs__back-link,
.section__back-link {
    color: inherit;
    text-decoration: none;
}

.breadcrumbs__link:hover,
.breadcrumbs__back-link:hover,
.section__back-link:hover {
    color: inherit;
}

.breadcrumbs__current {
    color: inherit;
    text-decoration: none;
}

.breadcrumbs__back-link {
    display: none;
    align-items: center;
    gap: 8px;
    width: fit-content;
    max-width: 100%;
    min-width: 0;
}

.breadcrumbs__back-icon {
    display: inline-block;
    flex: 0 0 auto;
    width: 10px;
    height: 10px;
    transform: translateY(-1px);
    background-color: currentColor;
    -webkit-mask: center / contain no-repeat url("https://dat.sutd.ru/wp-content/themes/daat_theme/assets/img/icons/arrow-left-mono.svg?v=acd8c7be9a5b");
    mask: center / contain no-repeat url("https://dat.sutd.ru/wp-content/themes/daat_theme/assets/img/icons/arrow-left-mono.svg?v=acd8c7be9a5b");
}

.breadcrumbs__back-text {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 834px), (max-width: 1194px) and (orientation: portrait) {
    .breadcrumbs {
        overflow: hidden;
    }

    .breadcrumbs__list {
        display: none;
    }

    .breadcrumbs__back-link {
        display: inline-flex;
    }
}

/* Постраничная навигация архивов (the_posts_pagination). */
.daat-pagination {
    margin-top: 48px;
}

.daat-pagination .nav-links {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.daat-pagination .page-numbers {
    border: 1px solid var(--gray-light-color);
    border-radius: 5px;
    color: var(--dark-color);
    display: inline-block;
    line-height: 1;
    min-width: 44px;
    padding: 13px 12px;
    text-align: center;
    text-decoration: none;
}

.daat-pagination a.page-numbers:hover,
.daat-pagination a.page-numbers:focus-visible {
    background-color: var(--gray-light-color);
}

.daat-pagination .page-numbers.current {
    background-color: var(--dark-color);
    border-color: var(--dark-color);
    color: #fff;
}

.daat-pagination .page-numbers.dots {
    border-color: transparent;
    min-width: 0;
}

.daat-pagination .screen-reader-text {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}


    
/* table.css */
.event__table {
    margin-bottom: 80px;
}

.event__table tbody {
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.event__table-attribute {
    font-size: var(--fs-body);
    color: #000;
    min-width: 128px;
    max-width: 128px;
    flex-shrink: 0;
}

.event__table tr {
    display: flex;
    align-items: flex-start;
    gap: 64px;
}

.event__table-text {
    font-weight: 600;
    font-size: var(--fs-h3-mob);
    width: 100%;
    line-height: 1.4;
}

.event__registration {
    display: flex;
    gap: 16px;
    align-items: center;
}

.event__registration-link {
    font-weight: 500;
    font-size: var(--fs-body);
    text-align: center;
    padding: 14px 64px;
    color: #fff;
    background-color: var(--violet-color);
}

.event__registration-text {
    max-width: 254px;
    font-size: var(--body-size);
    line-height: 1.4;
    color: #000;
}

@media (max-width: 1440px) {
    .event__registration {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start;
    }
}

@media (max-width: 375px) {
    .event__table tr {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 16px;
    }
}

    
/* article.css */
/* События и новости */
.activity__content {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 8px;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: start;
}

.activity__media-container {
    grid-column: 1 / 5;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.activity__img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: opacity 0.15s ease-in-out;
    background: var(--gray-light-color, #f0f0f0);
}

.activity__gallery {
    display: flex;
    gap: 4px;
    margin-top: 8px;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    cursor: grab;
    scrollbar-width: none;
    -ms-overflow-style: none;
    user-select: none;
    -webkit-overflow-scrolling: touch;
}

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

.activity__gallery.is-dragging {
    cursor: grabbing;
    scroll-behavior: auto;
}

.activity__gallery.is-dragging .activity__gallery-item {
    pointer-events: none;
}

.activity__gallery-item {
    flex: 0 0 calc((100% - 18px) / 4.5);
    aspect-ratio: 1;
    cursor: pointer;
    overflow: hidden;
    /* Отметка выбранного — outline внутрь, а не border: рамка сдвигала
       пометки типа на два пикселя от края плитки. */
    outline: 2px solid transparent;
    outline-offset: -2px;
    transition: outline-color 0.2s ease, opacity 0.2s ease;
    background: var(--gray-light-color);
    position: relative;
}

.activity__gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    pointer-events: none;
    -webkit-user-drag: none;
}

.activity__gallery-item.is-active {
    outline-color: var(--violet-color);
}

/* Цвет рамки в галерее означает «выбранный элемент» (is-active), поэтому
   у плиток документа и видео своего цвета рамки нет — тип файла
   показывает пометка в углу. */
.activity__gallery-item--pdf {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

/* Превью страницы вертикальное — кадрируем по верхнему краю, там заглавие */
.activity__gallery-item--pdf img {
    object-position: top center;
}

/* Документ в главной области занимает ту же рамку, что и фото (высоту
   ставит скрипт), поэтому переключение между фото и документом не дёргает
   вёрстку. Страница вписывается в рамку целиком, сохраняя пропорции. */
.activity__main-doc {
    display: none;
    align-items: center;
    justify-content: center;
    width: 100%;
    box-sizing: border-box;
    background: var(--gray-light-color, #f0f0f0);
    text-decoration: none;
    cursor: pointer;
}

.activity__main-doc-page {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.activity__main-doc-empty {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 160px;
    background: var(--gray-light-color, #f0f0f0);
}

/* Видеофайл из медиатеки: родной плеер вместо главного фото */
.activity__main-videofile {
    /* Рамка такая же, как у фото и документа (высоту ставит скрипт):
       кадр вписывается целиком, переключение не дёргает вёрстку. */
    display: none;
    width: 100%;
    max-height: 70vh;
    object-fit: contain;
    background: #000;
}

/* Плитка видеофайла в галерее */
.activity__gallery-item--videofile {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #201541;
}

.activity__gallery-play {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.activity__gallery-play svg {
    width: 24px;
    height: 24px;
    fill: #fff;
    filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.6));
}

/* Замена превью, когда WordPress его не сделал (на сервере нет Imagick) */
.activity__gallery-doc {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: #D63638;
    pointer-events: none;
}

.activity__gallery-badge {
    position: absolute;
    left: 0;
    bottom: 0;
    /* Надпись без выносных элементов вниз, поэтому при равных отступах
       кажется сдвинутой вверх — сверху добавлен пиксель. */
    padding: 3px 5px 2px;
    background: #D63638;
    color: #fff;
    font-size: 9px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.02em;
    pointer-events: none;
}

.activity__gallery-item:hover:not(.is-active) {
    opacity: 0.8;
}

.activity__important {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.activity__info {
    grid-column: 6 / 13;
    /* колонки 6-12 (7 колонок), 5-я — отступ */
    min-width: 0;
    width: 100%;
}

/* Если нет картинки — инфо занимает всю ширину */
.activity__content:not(:has(.activity__img)) .activity__info {
    grid-column: 1 / -1;
}

.activity__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    margin-bottom: 32px;
}

/* Если тегов нет — убираем отступ, чтобы контент прижался к верху */
.activity__tags:empty,
.activity__tags:not(:has(.activity__tag)) {
    margin-bottom: 0;
}

.activity__tags .activity__tag {
    background: var(--dark-color);
    border-radius: 8px;
    padding: 4px 12px;
    font-size: var(--fs-body-mob);
    color: var(--new-bg-color);
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.activity__tags a.activity__tag {
    cursor: pointer;
}

.activity__tags a.activity__tag:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 14px rgba(32, 21, 65, 0.18);
}

.activity__tags a.activity__tag:active {
    transform: translateY(0);
    box-shadow: 0 3px 8px rgba(32, 21, 65, 0.14);
}

.activity__tags .activity__tag.activity__tag--gray {
    background: var(--gray-tag);
    color: #FFFFFF;
}

.activity__tags .activity__tag.activity__tag--red {
    background: var(--red-tag);
    color: #FFFFFF;
}

.activity__tags .activity__tag.activity__tag--pink {
    background: var(--pink-tag);
    color: #FFFFFF;
}

.activity__tags .activity__tag.activity__tag--green {
    background: var(--green-tag);
    color: #1F1440;
}

.activity__tags .activity__tag.activity__tag--light-violet {
    background: var(--light-violet-tag);
    color: #201541;
}

.activity__tags .activity__tag.activity__tag--violet {
    background: var(--violet-tag);
    color: #FFFFFF;
}

.activity__tags .activity__tag.activity__tag--dark-violet {
    background: var(--dark-violet-tag);
    color: #FFFFFF;
}

.activity__tags .activity__tag.activity__tag--blue {
    background: var(--blue-tag);
    color: #FFFFFF;
}

.activity__tags .activity__tag.activity__tag--yellow {
    background: var(--yellow-tag);
    color: #1F1440;
}

.activity__tags .activity__tag.activity__tag--skyblue {
    background: var(--skyblue-tag);
    color: #201541;
}

.activity__tags .activity__tag.activity__tag--brightviolet {
    background: var(--brightviolet-tag);
    color: #FFFFFF;
}

@media (max-width: 1194px) {
    .activity__content {
        display: flex;
        flex-direction: column;
    }

    .activity__media-container {
        max-width: 100%;
        width: 100%;
        grid-column: unset;
        margin-bottom: 32px;
    }

    .activity__img {
        max-width: 100%;
        width: 100%;
    }

    .activity__info {
        grid-column: unset;
        width: 100%;
    }

    .activity__gallery-item {
        flex: 0 0 72px;
    }
}

@media (max-width: 834px) {
    .activity__media-container {
        width: 100%;
    }

    .activity__gallery-item {
        flex: 0 0 60px;
    }
}

/* Кастомная кнопка из визуального редактора */
.daat-custom-button {
    display: inline-block;
    font-weight: 500;
    font-size: var(--fs-body);
    text-align: center;
    padding: 14px 64px;
    color: #fff !important;
    background-color: var(--violet-color);
    text-decoration: none;
    transition: background-color 0.2s ease;
    border-radius: 4px;
    margin: 15px 0;
}

.daat-custom-button:hover {
    background-color: #5507cc;
    color: #fff !important;
}

/* Липкое изображение обложки при скролле (события и новости) */
@media (min-width: 1195px) {

    .event .activity__media-container,
    .new .activity__media-container {
        position: sticky;
        top: 146px;
        align-self: start;
    }
}


    
/* gallery.css */
.new__gallery{
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 10px;
    padding-top: 137px;
    justify-items: center
}

.gallery-img{
    grid-template-rows: repeat(3, 1fr);
    grid-column: span 3;
    object-fit: cover;
    max-width: 100%;
    width: 100%;
    padding-bottom: 72px;
}

@media (max-width: 834px) {
    .gallery-img{
        grid-column: span 4;
        padding-bottom: 0;
    }
    .gallery-img:last-child{
        padding-bottom: 70px;
    }
}

@media (max-width: 834px) {
    .gallery-img{
        grid-column: span 6;
    }
}

@media (max-width: 375px) {
    .gallery-img{
        grid-column: span 12;
    }
}

    
/* image-lightbox.css */
body.image-lightbox-open {
    overflow: hidden;
}

.image-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: stretch;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.image-lightbox.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.image-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 14, 0.92);
}

.image-lightbox__panel {
    position: relative;
    display: grid;
    grid-template-rows: 1fr auto;
    min-width: 0;
    min-height: 0;
    padding: 24px;
}

.image-lightbox__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    cursor: default;
    touch-action: none;
    user-select: none;
}

.image-lightbox__nav-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40%;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.image-lightbox.has-multiple-images:not(.is-zoomed) .image-lightbox__nav-overlay {
    pointer-events: auto;
}

.image-lightbox__nav-overlay--prev {
    left: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.25) 0%, transparent 100%);
    cursor: pointer;
}

.image-lightbox__nav-overlay--next {
    right: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.25) 0%, transparent 100%);
    cursor: pointer;
}

.image-lightbox.has-multiple-images:not(.is-zoomed) .image-lightbox__nav-overlay:hover {
    opacity: 1;
}

.image-lightbox__img-wrapper {
    position: relative;
    transform: translate3d(0, 0, 0) scale(1);
    transform-origin: center center;
    will-change: transform;
    transition: transform 0.12s ease-out;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    background: #ffffff;
    max-width: 100%;
    max-height: 100%;
}

.image-lightbox__stage.is-moving .image-lightbox__img-wrapper {
    transition: none;
}

.image-lightbox__img {
    max-width: 100%;
    max-height: 90vh;
    display: block;
    object-fit: contain;
    cursor: zoom-in;
    -webkit-user-drag: none;
}

.image-lightbox__img.is-zoomed {
    cursor: grab;
}

.image-lightbox__stage:active .image-lightbox__img.is-zoomed {
    cursor: grabbing;
}

.image-lightbox__counter {
    position: absolute;
    left: 32px;
    top: 24px;
    z-index: 3;
    color: var(--violet-color);
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
    background: var(--new-bg-color);
    padding: 6px 16px;
    border-radius: 0;
    border: 1px solid rgba(104, 10, 255, 0.15);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.image-lightbox__toolbar {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: flex;
    gap: 8px;
    align-items: center;
    z-index: 3;
    /* Без подложки: у самих кнопок уже есть фон и рамка, и общая рамка
       вокруг них давала вторую, лишнюю. */
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.image-lightbox__button {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: auto;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border: 1px solid rgba(104, 10, 255, 0.2);
    border-radius: 0;
    background: var(--new-bg-color);
    color: var(--violet-color);
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.image-lightbox__button:hover,
.image-lightbox__button:focus-visible {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #ffffff;
}

.image-lightbox__button:active {
    transform: scale(0.96);
}

.image-lightbox__button--close {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 3;
    padding: 0;
}

.image-lightbox__button--zoom-in::before,
.image-lightbox__button--zoom-in::after,
.image-lightbox__button--zoom-out::before,
.image-lightbox__button--close::before,
.image-lightbox__button--close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    height: 2px;
    background: currentColor;
}

.image-lightbox__button--zoom-in::before,
.image-lightbox__button--zoom-out::before {
    width: 18px;
    transform: translate(-50%, -50%);
}

.image-lightbox__button--zoom-in::after {
    width: 18px;
    transform: translate(-50%, -50%) rotate(90deg);
}

.image-lightbox__button--close::before,
.image-lightbox__button--close::after {
    width: 20px;
}

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

.image-lightbox__button--close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

@media (hover: hover) {
    main img.is-lightbox-ready {
        cursor: zoom-in;
    }
}

@media (max-width: 1194px) {
    .image-lightbox__counter {
        left: 20px;
        top: 20px;
        font-size: 20px;
    }

    .image-lightbox__button--close {
        top: 20px;
        right: 20px;
    }
}

@media (max-width: 834px) {
    /* Масштаб на телефоне меняют пальцами, поэтому в общем ряду остаётся
       только «поделиться» — кнопки увеличения прячем. */
    .image-lightbox__button--zoom-in,
    .image-lightbox__button--zoom-out,
    .image-lightbox__toolbar [data-lightbox-reset] {
        display: none;
    }

    .image-lightbox__toolbar {
        gap: 6px;
    }

    .image-lightbox__button {
        width: 38px;
        min-width: 38px;
        height: 38px;
        font-size: 14px;
    }

    .image-lightbox__button--zoom-in::before,
    .image-lightbox__button--zoom-in::after,
    .image-lightbox__button--zoom-out::before {
        width: 15px;
    }

    .image-lightbox__button--close::before,
    .image-lightbox__button--close::after {
        width: 17px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .image-lightbox,
    .image-lightbox__img-wrapper,
    .image-lightbox__button {
        transition: none;
    }
}

/* Обёртка нижних кнопок. На широком экране её не существует для раскладки
   (display: contents), и кнопки по-прежнему позиционируются от панели. */
.image-lightbox__controls {
    display: contents;
}

/* Page Navigation Overlay Buttons */
.image-lightbox__nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    background: var(--new-bg-color);
    border: 1px solid rgba(104, 10, 255, 0.15);
    color: var(--violet-color);
    border-radius: 0;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, opacity 0.2s, transform 0.2s;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.image-lightbox.has-multiple-images .image-lightbox__nav-btn {
    display: flex;
}

.image-lightbox__nav-btn:hover,
.image-lightbox__nav-btn:focus-visible {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #ffffff;
}

.image-lightbox__nav-btn:active {
    transform: translateY(-50%) scale(0.92);
}

.image-lightbox__nav-btn--prev {
    left: 24px;
}

.image-lightbox__nav-btn--next {
    right: 24px;
}

.image-lightbox__nav-btn::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
}

.image-lightbox__nav-btn--prev::after {
    transform: rotate(-45deg) translate(2px, 2px);
}

.image-lightbox__nav-btn--next::after {
    transform: rotate(135deg) translate(2px, 2px);
}

.image-lightbox__nav-btn:disabled {
    opacity: 0.15;
    cursor: not-allowed;
}

/* Responsive Rules for Nav Buttons */
/* На планшетах и телефонах стрелки и панель инструментов уезжают под
   фотографию и выстраиваются в один ряд по центру: по бокам они перекрывали
   снимок, а до края экрана большим пальцем не дотянуться. */
@media (max-width: 1194px) {
    .image-lightbox__controls {
        display: flex;
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: 16px;
        z-index: 3;
        align-items: center;
        gap: 10px;
    }

    /* Стрелки прижаты к краям экрана, панель инструментов держится центра
       автополями — она остаётся посередине, даже если стрелок нет. */
    .image-lightbox__toolbar {
        margin-left: auto;
        margin-right: auto;
    }

    .image-lightbox__nav-btn,
    .image-lightbox__toolbar {
        position: static;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        transform: none;
    }

    .image-lightbox__nav-btn {
        width: 48px;
        height: 48px;
        flex: 0 0 auto;
    }

    .image-lightbox__nav-btn:active {
        transform: scale(0.92);
    }

    /* Место под ряд кнопок, чтобы фотография не пряталась под ними. */
    .image-lightbox__panel {
        padding-bottom: 88px;
    }

    .image-lightbox__img {
        max-height: calc(100vh - 112px);
    }

    /* Полупрозрачные зоны по краям снимка живут только на мыши: там их
       подсвечивает :hover. На тач-экране такая зона невидима, и обычное
       касание фотографии молча перелистывало галерею. */
    .image-lightbox__nav-overlay {
        display: none;
    }
}

@media (max-width: 834px) {
    .image-lightbox__controls {
        left: 8px;
        right: 8px;
        bottom: 12px;
        gap: 8px;
    }

    .image-lightbox__nav-btn {
        width: 44px;
        height: 44px;
    }

    .image-lightbox__nav-btn::after {
        width: 10px;
        height: 10px;
    }

    .image-lightbox__panel {
        padding: 12px 12px 76px;
    }

    .image-lightbox__img {
        max-height: calc(100vh - 88px);
    }
}


    
/* pdf-lightbox.css */
/* Layout alignment for the templates page list */
.templates__download-item-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 16px;
}

.templates__preview-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: none;
    border: none;
    padding: 0;
    color: #666666;
    cursor: pointer;
    transition: color 0.2s ease, transform 0.2s ease;
    border-radius: 50%;
}

.templates__preview-btn:hover,
.templates__preview-btn:focus-visible {
    color: #000000;
    background: rgba(0, 0, 0, 0.05);
}

.templates__preview-btn:active {
    transform: scale(0.92);
}

.templates__preview-icon {
    display: block;
}

/* Lightbox styles */
body.pdf-lightbox-open {
    overflow: hidden;
}

.pdf-lightbox {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: stretch;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.pdf-lightbox.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.pdf-lightbox__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 14, 0.95);
    backdrop-filter: blur(10px);
}

.pdf-lightbox__panel {
    position: relative;
    display: grid;
    grid-template-rows: 1fr;
    min-width: 0;
    min-height: 0;
    padding: 24px;
}

.pdf-lightbox__stage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    overscroll-behavior: contain;
    cursor: default;
    touch-action: none;
    user-select: none;
}

.pdf-lightbox__canvas-wrapper {
    position: relative;
    max-width: none;
    max-height: none;
    transform: translate3d(0, 0, 0) scale(1);
    transform-origin: center center;
    will-change: transform;
    transition: transform 0.12s ease-out;
    display: block;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5);
    background: #ffffff;
}

.pdf-lightbox__stage.is-moving .pdf-lightbox__canvas-wrapper {
    transition: none;
}

.pdf-lightbox__canvas {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
    max-width: none;
    max-height: none;
    display: block;
}

/* Spinner loader */
.pdf-lightbox__spinner {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 50px;
    height: 50px;
    margin: -25px 0 0 -25px;
    border: 3px solid rgba(104, 10, 255, 0.15);
    border-radius: 50%;
    border-top-color: var(--violet-color);
    animation: pdf-spin 0.8s ease-in-out infinite;
    z-index: 5;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.15s ease;
}

.pdf-lightbox.is-loading .pdf-lightbox__spinner {
    opacity: 1;
}

@keyframes pdf-spin {
    to { transform: rotate(360deg); }
}

/* Toolbar & controls */
.pdf-lightbox__counter {
    position: absolute;
    left: 32px;
    top: 24px;
    z-index: 2;
    color: var(--violet-color);
    font-weight: 500;
    font-size: 18px;
    line-height: 1;
    background: var(--new-bg-color);
    padding: 6px 16px;
    border-radius: 0;
    border: 1px solid rgba(104, 10, 255, 0.15);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

.pdf-lightbox__toolbar {
    position: absolute;
    right: 24px;
    bottom: 24px;
    display: flex;
    gap: 8px;
    align-items: center;
    z-index: 2;
    /* Без подложки: у самих кнопок уже есть фон и рамка, и общая рамка
       вокруг них давала вторую, лишнюю. */
    padding: 0;
    background: none;
    border: 0;
    box-shadow: none;
}

.pdf-lightbox__button {
    position: relative;
    display: inline-grid;
    place-items: center;
    width: auto;
    min-width: 44px;
    height: 44px;
    padding: 0 8px;
    border: 1px solid rgba(104, 10, 255, 0.2);
    background: var(--new-bg-color);
    color: var(--violet-color);
    font: inherit;
    line-height: 1;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
    border-radius: 0;
    font-weight: 500;
    text-decoration: none;
}

.pdf-lightbox__button:hover,
.pdf-lightbox__button:focus-visible {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #ffffff;
}

.pdf-lightbox__button:active {
    transform: scale(0.96);
}

.pdf-lightbox__button--close {
    position: absolute;
    top: 24px;
    right: 24px;
    z-index: 2;
    padding: 0;
    width: 44px;
    height: 44px;
}

.pdf-lightbox__button--close::before,
.pdf-lightbox__button--close::after,
.pdf-lightbox__button--zoom-in::before,
.pdf-lightbox__button--zoom-in::after,
.pdf-lightbox__button--zoom-out::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    height: 2px;
    background: currentColor;
}

.pdf-lightbox__button--zoom-in::before,
.pdf-lightbox__button--zoom-out::before {
    width: 16px;
    transform: translate(-50%, -50%);
}

.pdf-lightbox__button--zoom-in::after {
    width: 16px;
    transform: translate(-50%, -50%) rotate(90deg);
}

.pdf-lightbox__button--close::before,
.pdf-lightbox__button--close::after {
    width: 20px;
}

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

.pdf-lightbox__button--close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.pdf-lightbox__button--download {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    font-size: 14px;
    padding: 0;
}

.pdf-lightbox__button--rotate {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 14px;
}

.pdf-lightbox__button--rotate svg,
.pdf-lightbox__button--download svg {
    flex: 0 0 auto;
}

/* Обёртка нижних кнопок. На широком экране её не существует для раскладки
   (display: contents), и кнопки по-прежнему позиционируются от панели. */
.pdf-lightbox__controls {
    display: contents;
}

/* Page Navigation Overlay Buttons */
.pdf-lightbox__nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 56px;
    height: 56px;
    background: var(--new-bg-color);
    border: 1px solid rgba(104, 10, 255, 0.15);
    color: var(--violet-color);
    border-radius: 0;
    cursor: pointer;
    display: none;
    align-items: center;
    justify-content: center;
    z-index: 3;
    transition: background-color 0.2s, border-color 0.2s, color 0.2s, opacity 0.2s, transform 0.2s;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.pdf-lightbox.has-multiple-pages .pdf-lightbox__nav-btn {
    display: flex;
}

.pdf-lightbox__nav-btn:hover,
.pdf-lightbox__nav-btn:focus-visible {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #ffffff;
}

.pdf-lightbox__nav-btn:active {
    transform: translateY(-50%) scale(0.92);
}

.pdf-lightbox__nav-btn--prev {
    left: 24px;
}

.pdf-lightbox__nav-btn--next {
    right: 24px;
}

.pdf-lightbox__nav-btn::after {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 2px solid currentColor;
    border-left: 2px solid currentColor;
}

.pdf-lightbox__nav-btn--prev::after {
    transform: rotate(-45deg) translate(2px, 2px);
}

.pdf-lightbox__nav-btn--next::after {
    transform: rotate(135deg) translate(2px, 2px);
}

.pdf-lightbox__nav-btn:disabled {
    opacity: 0.15;
    cursor: not-allowed;
}

/* Responsive Rules */
/* На планшетах и телефонах стрелки и панель инструментов уходят под документ
   и выстраиваются в один ряд по центру: по бокам стрелки перекрывали страницу,
   а большим пальцем до края экрана не дотянуться. */
@media (max-width: 1194px) {
    .pdf-lightbox__controls {
        display: flex;
        position: absolute;
        left: 12px;
        right: 12px;
        bottom: 16px;
        z-index: 3;
        align-items: center;
        gap: 10px;
    }

    /* Стрелки прижаты к краям экрана, панель инструментов держится центра
       автополями — она остаётся посередине, даже если стрелок нет. */
    .pdf-lightbox__toolbar {
        margin-left: auto;
        margin-right: auto;
    }

    .pdf-lightbox__nav-btn,
    .pdf-lightbox__toolbar {
        position: static;
        top: auto;
        right: auto;
        bottom: auto;
        left: auto;
        transform: none;
    }

    .pdf-lightbox__nav-btn {
        width: 48px;
        height: 48px;
        flex: 0 0 auto;
    }

    .pdf-lightbox__nav-btn:active {
        transform: scale(0.92);
    }

    .pdf-lightbox__panel {
        padding-bottom: 88px;
    }

    /* Зоны листания по краям страницы подсвечиваются только на :hover,
       поэтому на тач-экране это невидимая ловушка: касание страницы
       перелистывало документ. Свайп и кнопки снизу остаются. */
    .pdf-lightbox__nav-overlay {
        display: none;
    }
}

@media (max-width: 834px) {
    .pdf-lightbox__controls {
        left: 8px;
        right: 8px;
        bottom: 12px;
        gap: 8px;
    }

    .pdf-lightbox__toolbar {
        display: flex;
        max-width: calc(100vw - 16px);
        gap: 6px;
    }

    .pdf-lightbox__button--zoom-out,
    .pdf-lightbox__button--zoom-in,
    .pdf-lightbox__toolbar [data-pdf-reset] {
        display: none;
    }

    /* Листать можно и свайпом, но кнопки нужны: на увеличенной странице
       свайп тянет сам документ, а не перелистывает. */
    .pdf-lightbox__nav-btn {
        width: 44px;
        height: 44px;
    }

    .pdf-lightbox__nav-btn::after {
        width: 10px;
        height: 10px;
    }

    .pdf-lightbox__panel {
        padding: 12px 12px 76px;
    }

    .pdf-lightbox__counter {
        left: 16px;
        top: 16px;
        font-size: 16px;
    }

    .pdf-lightbox__button--close {
        top: 16px;
        right: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .pdf-lightbox,
    .pdf-lightbox__canvas-wrapper,
    .pdf-lightbox__button {
        transition: none;
    }
}

/* Navigation overlays restricted to the PDF canvas */
.pdf-lightbox__nav-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 40%;
    z-index: 2;
    opacity: 0;
    transition: opacity 0.25s ease;
    pointer-events: none;
}

.pdf-lightbox.has-multiple-pages:not(.is-zoomed) .pdf-lightbox__nav-overlay {
    pointer-events: auto;
}

.pdf-lightbox__nav-overlay--prev {
    left: 0;
    background: linear-gradient(to right, rgba(0, 0, 0, 0.25) 0%, transparent 100%);
    cursor: pointer;
}

.pdf-lightbox__nav-overlay--next {
    right: 0;
    background: linear-gradient(to left, rgba(0, 0, 0, 0.25) 0%, transparent 100%);
    cursor: pointer;
}

.pdf-lightbox.has-multiple-pages:not(.is-zoomed) .pdf-lightbox__nav-overlay:hover {
    opacity: 1;
}


    
/* doc-share.css */
/* Поп-ап «поделиться»: QR-код и ссылка на документ или фотографию */

.pdf-lightbox__button--share,
.image-lightbox__button--share {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    min-width: 44px;
    padding: 0;
}

.pdf-lightbox__button--share svg,
.image-lightbox__button--share svg {
    flex: 0 0 auto;
}

body.daat-share-open {
    overflow: hidden;
}

.daat-share {
    position: fixed;
    inset: 0;
    z-index: 10050;
    display: grid;
    place-items: center;
    padding: 24px;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.18s ease, visibility 0.18s ease;
}

.daat-share.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.daat-share__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 14, 0.72);
    backdrop-filter: blur(6px);
}

.daat-share__panel {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    width: min(420px, 100%);
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    padding: 28px;
    background: var(--new-bg-color, #ffffff);
    border: 1px solid rgba(104, 10, 255, 0.15);
    box-shadow: 0 18px 50px rgba(0, 0, 0, 0.25);
}

.daat-share__close {
    position: absolute;
    /* Сама кнопка шире крестика на 10px с каждой стороны, поэтому
       отступ 20px ставит крестик ровно по паддингу панели (28px). */
    top: 20px;
    right: 20px;
    width: 36px;
    height: 36px;
    padding: 0;
    border: 1px solid rgba(104, 10, 255, 0.2);
    background: var(--new-bg-color, #ffffff);
    color: var(--violet-color);
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.daat-share__close:hover,
.daat-share__close:focus-visible {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #ffffff;
}

.daat-share__close::before,
.daat-share__close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    background: currentColor;
}

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

.daat-share__close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.daat-share__title {
    margin: 0;
    padding-right: 52px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--violet-color);
}

.daat-share__subtitle {
    margin: -8px 0 0;
    padding-right: 8px;
    font-size: 14px;
    line-height: 1.4;
    color: #666666;
    overflow-wrap: anywhere;
}

.daat-share__qr {
    display: flex;
    justify-content: center;
    padding: 12px;
    background: #ffffff;
    border: 1px solid rgba(104, 10, 255, 0.15);
}

/* Собственный display перебивает браузерный [hidden], возвращаем скрытие. */
.daat-share__qr[hidden],
.daat-share__link[hidden] {
    display: none;
}

.daat-qr__svg {
    display: block;
    width: 100%;
    max-width: 240px;
    height: auto;
}

.daat-share__note {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    color: #666666;
}

.daat-share__link {
    display: flex;
    gap: 8px;
    align-items: stretch;
}

.daat-share__input {
    flex: 1 1 auto;
    min-width: 0;
    height: 44px;
    padding: 0 12px;
    border: 1px solid rgba(104, 10, 255, 0.2);
    background: #ffffff;
    color: #1a1a1a;
    font: inherit;
    font-size: 14px;
    border-radius: 0;
}

.daat-share__input:focus-visible {
    outline: none;
    border-color: var(--violet-color);
}

.daat-share__copy,
.daat-share__native {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    flex: 0 0 auto;
    height: 44px;
    padding: 0 16px;
    border: 1px solid var(--violet-color);
    background: var(--violet-color);
    color: #ffffff;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    cursor: pointer;
    border-radius: 0;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.daat-share__native {
    background: var(--new-bg-color, #ffffff);
    color: var(--violet-color);
}

.daat-share__copy:hover,
.daat-share__copy:focus-visible,
.daat-share__native:hover,
.daat-share__native:focus-visible {
    background: #4a06b8;
    border-color: #4a06b8;
    color: #ffffff;
}

.daat-share__copy:active,
.daat-share__native:active {
    transform: scale(0.97);
}

.daat-share__copy.is-done {
    background: #0f8a4a;
    border-color: #0f8a4a;
}

.daat-share__icon,
.daat-share__native svg {
    flex: 0 0 auto;
}

/* Галочка появляется вместо иконки копирования после удачного копирования */
.daat-share__icon--check,
.daat-share__copy.is-done .daat-share__icon--copy {
    display: none;
}

.daat-share__copy.is-done .daat-share__icon--check {
    display: block;
}

/* На мобильных панель просмотра фотографии скрыта целиком — оставляем в ней
   только «поделиться»: масштаб там всё равно меняют щипком. */
@media (max-width: 834px) {
    .image-lightbox__toolbar {
        display: flex;
    }

    .image-lightbox__toolbar .image-lightbox__button:not(.image-lightbox__button--share) {
        display: none;
    }

    .image-lightbox__button--share {
        width: 38px;
        min-width: 38px;
        height: 38px;
    }
}

@media (max-width: 600px) {
    .daat-share {
        padding: 12px;
    }

    .daat-share__panel {
        padding: 20px;
        max-height: calc(100vh - 24px);
    }

    .daat-share__close {
        top: 12px;
        right: 12px;
    }

    .daat-share__title {
        padding-right: 44px;
        font-size: 20px;
    }

    .daat-share__link {
        flex-direction: column;
    }

    .daat-share__copy,
    .daat-share__native {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .daat-share,
    .daat-share__close,
    .daat-share__copy,
    .daat-share__native {
        transition: none;
    }
}


    
/* navigation-promo.css */
/* Абитуриенту и студенту (общее) */
.navigation-promo__group {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    gap: 8px;
}

.navigation__big-links {
    grid-column: span 4;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.navigation__main-link {
    position: relative;
    overflow: hidden;
    --navigation-main-link-fill: rgba(246, 246, 251, 0.16);
    font-size: var(--medium-card-size);
    color: var(--new-bg-color);
    background-color: var(--dark-color);
    line-height: var(--lineright-110);
    padding: 64px 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    height: 50%;
    width: 100%;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.navigation__main-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: var(--navigation-main-link-fill);
    transform: translateX(-101%);
    transition: transform 0.35s ease;
}

.navigation__main-link-text,
.navigation__main-link-img {
    position: relative;
    z-index: 1;
    transition: transform 0.25s ease;
    top: 2px;
    text-wrap: nowrap;
}

.navigation__main-link-img {
    display: block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: var(--daat-icon-url) center / contain no-repeat;
    mask: var(--daat-icon-url) center / contain no-repeat;
    top: 2px;
}

@media (hover: hover) and (pointer: fine) {
    .navigation__main-link:hover {
        color: var(--new-bg-color);
        transform: translateY(-3px);
    }

    .navigation__main-link:hover::before {
        transform: translateX(0);
    }

    .navigation__main-link:hover .navigation__main-link-text {
        transform: translateX(-4px);
    }

    .navigation__main-link:hover .navigation__main-link-img {
        transform: translateX(6px);
    }
}

.navigation__main-link:active,
.navigation__main-link.navigation__main-link--active,
.navigation__main-link[aria-current="true"],
.navigation__main-link[aria-current="page"] {
    background-color: var(--violet-color);
    color: var(--new-bg-color);
    transform: translateY(0) scale(0.98);
}

.navigation__main-link:active::before,
.navigation__main-link.navigation__main-link--active::before,
.navigation__main-link[aria-current="true"]::before,
.navigation__main-link[aria-current="page"]::before {
    transform: translateX(0);
}

.navigation__main-link:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 4px;
}



.navigation__links {
    grid-column: span 8;
}

.navigation__link {
    display: flex;
    position: relative;
    align-items: center;
    gap: 32px;
    overflow: hidden;
    padding-top: 48px;
    padding-bottom: 48px;
    border-bottom: 0.5px solid #9e9e9e;
    padding-left: 32px;
    font-weight: 400;
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    color: #000;
    transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.2s ease;
}

.navigation__link::before {
    content: '';
    position: absolute;
    inset: 0;
    background-color: var(--violet-light-color);
    transform: scaleX(0);
    transform-origin: left center;
    transition: transform 0.35s ease;
    z-index: 0;
}

.navigation__link > * {
    position: relative;
    z-index: 1;
}

.navigation__link-icon {
    display: block;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
    background-color: currentColor;
    -webkit-mask: var(--daat-icon-url) center / contain no-repeat;
    mask: var(--daat-icon-url) center / contain no-repeat;
}

.navigation__link:first-child {
    border-top: 0.5px solid #9e9e9e;
}

@media (hover: hover) and (pointer: fine) {
    .navigation__link:hover {
        border-color: var(--violet-color);
        color: var(--dark-color);
    }

    .navigation__link:hover::before {
        transform: scaleX(1);
    }
}

.navigation__link:active {
    transform: translateX(4px);
}

.navigation__link:active::before {
    transform: scaleX(0);
}

.navigation__link.navigation__link--active,
.navigation__link[aria-current="true"],
.navigation__link[aria-current="page"] {
    background-color: var(--violet-color);
    border-color: var(--violet-color);
    color: var(--new-bg-color);
}

.navigation__link.navigation__link--active::before,
.navigation__link[aria-current="true"]::before,
.navigation__link[aria-current="page"]::before {
    transform: scaleX(0);
}

.navigation__link:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 4px;
}

.useful-promo__navigation-promo__group .navigation__links {
    grid-column: span 12;
}

/* student */
.student-promo .navigation__big-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.student-promo .navigation__main-link {
    min-height: 0;
    height: auto;
    padding-top: 48px;
    padding-bottom: 48px;
}

.student-promo .navigation__main-link:first-child {
    background-color: var(--violet-color);
    font-weight: 500;
    flex: 0 0 calc(66.666% - 4px);
}

.student-promo .navigation__main-link:last-child {
    --navigation-main-link-fill: rgba(104, 10, 255, 0.18);
    background-color: var(--violet-light-color);
    color: var(--dark-color);
    font-weight: 500;
    text-wrap: nowrap;
    flex: 0 0 calc(33.333% - 4px);
}

.student-info .field-stud-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

/* department */
.department_promo__group {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    margin-bottom: 100px;
    gap: 8px;
}

.department_promo_img {
    grid-column: span 7;
    position: relative;
    min-height: 0;
}

.department_promo_img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    object-position: center;
}

.department_promo__navigation-promo__group {
    grid-column: span 5;
}

.department_promo__navigation-promo__group .navigation__links {
    grid-column: span 12;
}

.department-text-group {
    grid-column: span 8;
}

@media (max-width: 1440px) {
    .navigation__big-links {
        grid-column: span 5;
    }

    .navigation__links {
        grid-column: span 7;
    }
}

@media (max-width: 1194px) {
    .department_promo_img {
        grid-column: span 12;
        position: static;
    }

    .department_promo_img img {
        position: static;
        height: auto;
    }

    .department_promo__navigation-promo__group {
        grid-column: span 12;
    }

    .department_promo__navigation-promo__group .navigation__link:first-child {
        border-top: 0;
    }

    .department_promo__navigation-promo__group .navigation__link:last-child {
        border-bottom: 0;
    }
}

@media (max-width: 1194px) {
    .navigation__big-links {
        grid-column: span 6;
    }

    .navigation__links {
        grid-column: span 6;
    }
}

@media (max-width: 1194px) {
    .navigation-promo__group {
        grid-template-columns: repeat(1, 1fr);
    }

    .useful-promo__navigation-promo__group .navigation__links {
        grid-column: span 8;
    }

    .navigation__big-links {
        grid-column: span 6;
        display: flex;
        width: 100%;
    }

    .navigation__main-link {
        height: auto;
    }

    .student-promo .navigation__big-links {
        display: flex;
        width: 100%;
        flex-direction: row;
        height: auto;
    }

    .student-promo .navigation__main-link {
        flex: 1;
    }

    .navigation__big-links + .navigation__links .navigation__link:first-child {
        border-top: 0;
    }

    .navigation__big-links + .navigation__links .navigation__link:last-child {
        border-bottom: 0;
    }

}

@media (max-width: 834px) {
    .navigation__big-links {
        flex-wrap: wrap;
    }

    .navigation__link {
        gap: 24px;
        padding-top: 32px;
        padding-bottom: 32px;
        padding-left: 16px;
    }

    .navigation__link-icon {
        width: 20px;
        height: 20px;
    }

    .student-promo .navigation__big-links {
        flex-direction: column;
    }

    .student-promo .navigation__main-link,
    .student-promo .navigation__main-link:first-child,
    .student-promo .navigation__main-link:last-child {
        width: 100%;
        flex: none;
        padding-left: 24px;
        padding-right: 24px;
    }

    .student-promo .navigation__main-link {
        height: auto !important;
    }
}

@media (max-width: 834px) {
    .navigation__big-links {
        grid-column: span 8;
    }

    .navigation__links {
        grid-column: span 8;
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .navigation-promo__group {
        grid-template-columns: repeat(4, 1fr);
    }

    .navigation__big-links {
        grid-column: span 4;
        flex-wrap: wrap;
        font-size: var(--fs-h3-mob);
    }

    .navigation__main-link {
        font-size: var(--fs-h3-mob);
    }

    .navigation__main-link-text,
    .navigation__link-text {
        font-size: 20px;
    }

    .student-promo .navigation__main-link {
        height: auto !important;
        font-size: var(--fs-h3-mob);
    }

    .navigation__links {
        grid-column: span 4;
    }

    .navigation__link {
        font-size: var(--fs-h3-mob);
    }
}


    
/* cookie-notice.css */
/*
 * Уведомление о файлах cookie внизу окна.
 * Разметку отдаёт functions/legal.php скрытой (атрибут hidden), показывает
 * assets/js/cookie-notice.js — поэтому по умолчанию блок не занимает места
 * и не мигает у тех, кто уже согласился.
 * z-index выше шапки (100), но ниже просмотрщиков фото и PDF (10000).
 */
.cookie-notice {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 500;
    padding-top: 20px;
    padding-bottom: max(20px, env(safe-area-inset-bottom));
    background-color: var(--dark-color);
    color: var(--new-bg-color);
    transform: translateY(100%);
    transition: transform 0.35s ease;
}

.cookie-notice[hidden] {
    display: none;
}

.cookie-notice.is-visible {
    transform: translateY(0);
}

.cookie-notice__container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.cookie-notice__body {
    min-width: 0;
}

.cookie-notice__title {
    margin-bottom: 4px;
    font-size: var(--fs-body);
    font-weight: 700;
    line-height: 1.2;
}

.cookie-notice__text {
    max-width: 90ch;
    font-size: var(--fs-body-mob);
    line-height: 1.4;
    color: rgba(246, 246, 251, 0.8);
}

.cookie-notice__docs {
    display: inline;
}

.cookie-notice__link {
    color: var(--new-bg-color);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    transition: color 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .cookie-notice__link:hover {
        color: var(--violet-light-color);
    }
}

.cookie-notice__link:focus-visible {
    outline: 2px solid var(--violet-light-color);
    outline-offset: 3px;
}

.cookie-notice__button {
    flex: 0 0 auto;
    min-height: 48px;
    padding: 12px 40px;
    border: 0;
    background-color: var(--new-bg-color);
    color: var(--dark-color);
    font-family: inherit;
    font-size: var(--fs-body);
    font-weight: 500;
    line-height: var(--lineright-110);
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .cookie-notice__button:hover {
        background-color: var(--violet-color);
        color: var(--new-bg-color);
        transform: translateY(-2px);
    }
}

.cookie-notice__button:focus-visible {
    outline: 2px solid var(--violet-light-color);
    outline-offset: 3px;
}

.cookie-notice__button:active {
    transform: translateY(0);
}

/* Планшеты */
@media (max-width: 1194px) {
    .cookie-notice__container {
        gap: 24px;
    }
}

/* Мобильные: текст и кнопка друг под другом, кнопка на всю ширину */
@media (max-width: 834px) {
    .cookie-notice {
        padding-top: 16px;
        padding-bottom: max(16px, env(safe-area-inset-bottom));
        max-height: 80vh;
        overflow-y: auto;
    }

    .cookie-notice__container {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
    }

    /* Кегль мельче основного текста: иначе уведомление занимает
       треть экрана телефона. */
    .cookie-notice__text {
        font-size: var(--fs-caption-mob);
    }

    .cookie-notice__button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cookie-notice,
    .cookie-notice__button,
    .cookie-notice__link {
        transition: none;
    }
}


    
/* legal-document.css */
/*
 * Правовые документы: политика обработки персональных данных и политика
 * использования cookie. Только текст — картинок в таких документах нет.
 * Слева липкое содержание, справа сам документ шириной в 7 колонок:
 * длинная строка в юридическом тексте читается плохо.
 */
.legal-doc {
    padding-bottom: 128px;
}

/* Полное название документа в шесть слов при 80px не помещается в экран,
   поэтому шкала здесь ниже, чем у обычного .page-title. */
.legal-doc__page-title {
    max-width: 20ch;
    font-size: clamp(32px, 4.6vw, 50px);
}

.legal-doc__layout {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    column-gap: 8px;
    row-gap: 48px;
    align-items: start;
}

.legal-doc__aside {
    grid-column: 1 / span 4;
    position: sticky;
    top: 146px;
    align-self: start;
}

.legal-doc__date {
    margin-bottom: 24px;
    color: rgba(32, 21, 65, 0.46);
    font-size: var(--fs-body-mob);
    line-height: 1.4;
}

.legal-doc__toc-title {
    margin-bottom: 16px;
    color: var(--dark-color);
    font-size: var(--fs-body);
    font-weight: 700;
    line-height: 1.2;
}

.legal-doc__toc-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.legal-doc__toc-item {
    margin-bottom: 12px;
}

.legal-doc__toc-item:last-child {
    margin-bottom: 0;
}

.legal-doc__toc-link {
    color: var(--dark-color);
    font-size: var(--fs-body-mob);
    line-height: 1.35;
    transition: color 0.2s ease;
}

/* Номера разделов считаются при выводе, поэтому вынесены в отдельный
   элемент: цифры не должны перебивать название раздела. */
.legal-doc__toc-number,
.legal-doc__section-number {
    color: rgba(32, 21, 65, 0.46);
    font-variant-numeric: tabular-nums;
}

@media (hover: hover) and (pointer: fine) {
    .legal-doc__toc-link:hover {
        color: var(--violet-color);
    }
}

.legal-doc__toc-link:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 3px;
}

.legal-doc__content {
    grid-column: 6 / -1;
    min-width: 0;
}

.legal-doc__section {
    margin-bottom: 64px;
    /* Глобального scroll-padding-top (100px) ровно на высоту шапки, поэтому
       переход по содержанию упирал заголовок раздела в её нижнюю кромку. */
    scroll-margin-top: 32px;
}

.legal-doc__section:last-child {
    margin-bottom: 0;
}

.legal-doc__section-title {
    margin-bottom: 24px;
    color: var(--dark-color);
    font-size: var(--fs-h3);
    font-weight: 500;
    line-height: var(--lineright-110);
}

.legal-doc__empty {
    color: rgba(32, 21, 65, 0.6);
    font-size: var(--fs-body);
}

.legal-doc__section-body {
    font-size: var(--fs-body);
    line-height: 1.5;
}

.legal-doc__section-body > * + * {
    margin-top: 16px;
}

.legal-doc__section-body p {
    /* Юридический текст не выравниваем по ширине: в узкой колонке
       появляются разрежённые строки. */
    text-align: left;
    hyphens: none;
}

.legal-doc__section-body ul,
.legal-doc__section-body ol {
    padding-left: 24px;
}

.legal-doc__section-body li + li {
    margin-top: 8px;
}

.legal-doc__section-body a {
    color: var(--violet-color);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    overflow-wrap: anywhere;
}

@media (hover: hover) and (pointer: fine) {
    .legal-doc__section-body a:hover {
        text-decoration: none;
    }
}

.legal-doc__section-body a:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 3px;
}

.legal-doc__section-body code {
    padding: 2px 6px;
    background-color: var(--gray-light-color);
    font-family: 'Inter', monospace;
    font-size: var(--fs-caption-mob);
    overflow-wrap: anywhere;
}

/* Реквизиты оператора: две колонки «название — значение» */
.legal-doc__specs {
    display: grid;
    row-gap: 16px;
    margin: 0;
}

.legal-doc__spec {
    display: grid;
    grid-template-columns: minmax(0, 200px) minmax(0, 1fr);
    column-gap: 24px;
    row-gap: 4px;
}

.legal-doc__spec dt {
    color: rgba(32, 21, 65, 0.6);
    font-size: var(--fs-body-mob);
    line-height: 1.4;
}

.legal-doc__spec dd {
    margin: 0;
    line-height: 1.4;
}

/* Таблица файлов cookie: на узких экранах прокручивается сама,
   страница по горизонтали не едет. */
.legal-doc__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.legal-doc__table {
    width: 100%;
    min-width: 640px;
    border-collapse: collapse;
    font-size: var(--fs-body-mob);
}

.legal-doc__table th,
.legal-doc__table td {
    padding: 12px 16px;
    border-bottom: 1px solid rgba(32, 21, 65, 0.14);
    text-align: left;
    vertical-align: top;
    line-height: 1.4;
}

.legal-doc__table th {
    color: var(--dark-color);
    font-weight: 700;
    white-space: nowrap;
}

.legal-doc__table tbody tr:last-child td {
    border-bottom: 0;
}

/* Планшеты: содержание превращается в обычный блок над текстом */
@media (max-width: 1194px) {
    .legal-doc {
        padding-bottom: 80px;
    }

    .legal-doc__layout {
        grid-template-columns: repeat(8, 1fr);
        row-gap: 40px;
    }

    .legal-doc__aside {
        position: static;
        grid-column: 1 / -1;
    }

    .legal-doc__content {
        grid-column: 1 / -1;
    }

    .legal-doc__toc-list {
        columns: 2;
        column-gap: 24px;
    }

    .legal-doc__section {
        margin-bottom: 48px;
    }
}

/* Мобильные */
@media (max-width: 834px) {
    .legal-doc {
        padding-bottom: 64px;
    }

    .legal-doc__page-title {
        max-width: none;
    }

    .legal-doc__toc-list {
        columns: 1;
    }

    .legal-doc__spec {
        grid-template-columns: minmax(0, 1fr);
        row-gap: 2px;
    }
}


    
/* week-counter.css */
body.week-counter-open {
    overflow: hidden;
}

.week-counter {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: grid;
    place-items: stretch;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease, visibility 0.2s ease;
}

.week-counter.is-open {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

.week-counter__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(8, 8, 14, 0.92);
}

.week-counter__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px;
    overflow-y: auto;
    overscroll-behavior: contain;
}

.week-counter__dialog {
    position: relative;
    box-sizing: border-box;
    width: 100%;
    max-width: 600px;
    max-height: calc(100dvh - 48px);
    background: #fff;
    padding: 40px 48px;
    overflow-y: auto;
    overscroll-behavior: contain;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
}

.week-counter__button--close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 2;
    display: inline-grid;
    place-items: center;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 1px solid rgba(32, 21, 65, 0.18);
    background: transparent;
    color: var(--dark-color);
    font: inherit;
    cursor: pointer;
    transition: background-color 0.18s ease, border-color 0.18s ease;
}

.week-counter__button--close:hover,
.week-counter__button--close:focus-visible {
    background: var(--gray-light-color);
    border-color: var(--dark-color);
}

.week-counter__button--close:active {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #fff;
}

.week-counter__button--close::before,
.week-counter__button--close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 18px;
    height: 2px;
    background: currentColor;
}

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

.week-counter__button--close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.week-counter__title {
    font-family: 'Onest', sans-serif;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.2;
    color: var(--dark-color);
    margin-bottom: 8px;
}

.week-counter__subtitle {
    font-size: var(--fs-body);
    color: rgba(32, 21, 65, 0.5);
    margin-bottom: 64px;
}

.week-counter__info {
    margin-bottom: 24px;
}

.week-counter__current-value {
    font-size: var(--fs-h3);
    font-weight: 700;
    color: var(--dark-color);
    line-height: 1.2;
    margin-bottom: 4px;
}

.week-counter__current-detail {
    font-size: var(--fs-body);
    color: rgba(32, 21, 65, 0.6);
}

/* Кнопка «Сегодня»: возвращает календарь на текущий день. Стоит на месте
   прежнего переключателя учебного года — листание осталось помесячным. */
.week-counter__todaynav {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 8px;
}

.week-counter__today-btn {
    height: 40px;
    padding: 0 18px;
    border: 1px solid var(--dark-color);
    border-radius: 0;
    background: #fff;
    color: var(--dark-color);
    font: inherit;
    font-size: var(--fs-body);
    cursor: pointer;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.week-counter__today-btn:hover {
    background: var(--gray-light-color);
}

.week-counter__today-btn:active {
    background: var(--violet-color);
    border-color: var(--violet-color);
    color: #fff;
}

.week-counter__today-btn:focus-visible {
    outline-offset: 2px;
}

.week-counter__nav {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 0;
    padding-top: 8px;
    width: 100%;
    border: none;
}

.week-counter__calendar-wrap {
    order: -1;
    width: 100%;
    flex: 0 0 100%;
    overflow: hidden;
}

.week-counter__nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    height: 40px;
    border: 1px solid var(--dark-color);
    background: #fff;
    color: var(--dark-color);
    cursor: pointer;
    transition: background-color 0.15s ease;
}

.week-counter__nav-btn:hover:not(:disabled) {
    background: var(--gray-light-color);
}

.week-counter__nav-btn:focus-visible {
    outline-offset: 2px;
}

.week-counter__nav-btn:active:not(:disabled) {
    background: var(--violet-color);
    color: #fff;
}

.week-counter__nav-btn:disabled {
    opacity: 0.3;
    cursor: default;
}

.week-counter__table {
    width: 100%;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 13px;
    line-height: 1;
    text-align: center;
}

.week-counter__table th,
.week-counter__table td {
    border: 1px solid rgba(32, 21, 65, 0.1);
    padding: 6px 4px;
    vertical-align: middle;
    overflow: hidden;
}

.week-counter__corner {
    width: 44px;
    white-space: nowrap;
    border: 1px solid rgba(32, 21, 65, 0.1);
    font-size: var(--fs-caption);
    font-weight: 500;
    color: rgba(32, 21, 65, 0.5);
    text-transform: lowercase;
}

.week-counter__table thead th {
    background: var(--dark-color);
    color: #fff;
    font-weight: 600;
    font-size: var(--fs-body);
    padding: 10px 8px;
    border-color: rgba(255, 255, 255, 0.1);
}

.week-counter__table thead th.week-counter__month-header {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.week-counter__day-label {
    background: var(--new-bg-color);
    font-weight: 500;
    font-size: var(--fs-body);
    color: var(--dark-color);
    white-space: nowrap;
    width: 44px;
    padding: 6px 4px;
}

.week-counter__day {
    position: relative;
    font-size: var(--fs-body);
    height: 40px;
    padding: 6px 4px;
}

.week-counter__day--empty {
    background: var(--new-bg-color);
}

.week-counter__day--numerator {
    background: var(--new-bg-color);
}

.week-counter__day--denominator {
    background: rgba(104, 10, 255, 0.10);
}

.week-counter__day--today {
    background: var(--violet-color);
    color: #fff;
    font-weight: 700;
}

.week-counter__day--today.week-counter__day--numerator,
.week-counter__day--today.week-counter__day--denominator {
    background: var(--violet-color);
    color: #fff;
}

.week-counter__gap-row td {
    height: 8px;
    padding: 0;
    border: none;
}

.week-counter__info-label {
    background: var(--dark-color);
    color: #fff;
    font-weight: 600;
    font-size: var(--fs-caption);
    width: 44px;
    padding: 6px 4px;
    border-color: rgba(255, 255, 255, 0.1);
}

.week-counter__week-num {
    background: var(--dark-color);
    color: #fff;
    font-weight: 600;
    font-size: var(--fs-body);
    padding: 6px 4px;
    border-color: rgba(255, 255, 255, 0.1);
}

/* Неделя следующего учебного года в чужом месяце: последние дни августа
   уже относятся к новому году и нумеруются с первой недели */
.week-counter__week-num--next-year {
    background: rgba(255, 255, 255, 0.16);
}

.week-counter__week-type {
    font-size: var(--fs-caption);
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    padding: 6px 4px;
}

.week-counter__legend {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: center;
    font-size: var(--fs-body);
    color: var(--dark-color);
    margin-top: 16px;
}

.week-counter__legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
}

.week-counter__legend-swatch {
    display: inline-block;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(32, 21, 65, 0.1);
}

.week-counter__legend-swatch--numerator {
    background: var(--new-bg-color);
}

.week-counter__legend-swatch--denominator {
    background: rgba(104, 10, 255, 0.20);
}

.week-counter__legend-swatch--current {
    background: var(--violet-color);
}

@media (max-width: 1194px) {
    .week-counter__panel {
        padding: 16px;
    }

    .week-counter__dialog {
        padding: 32px 24px;
        max-height: calc(100dvh - 32px);
    }
}

@media (max-width: 834px) {
    .week-counter__dialog {
        padding: 24px 16px;
        max-width: 100%;
        max-height: calc(100dvh - 32px);
    }

    .week-counter__title {
        font-size: 18px;
        padding-right: 84px;
    }

    .week-counter__table {
        font-size: 12px;
    }

    .week-counter__table th,
    .week-counter__table td {
        padding-left: 3px;
        padding-right: 3px;
    }

    .week-counter__day {
        height: 36px;
        font-size: var(--fs-body-mob);
        padding-left: 3px;
        padding-right: 3px;
    }

    .week-counter__day-label {
        font-size: var(--fs-caption-mob);
        width: 38px;
    }

    .week-counter__corner {
        width: 38px;
    }

    .week-counter__info-label {
        width: 38px;
    }


    .week-counter__legend {
        gap: 12px;
        font-size: var(--fs-body-mob);
    }

}

@media (max-width: 500px) {
    .week-counter__panel {
        align-items: stretch;
        justify-content: flex-start;
        padding: 12px;
    }

    .week-counter__dialog {
        padding: 20px 10px;
        max-height: calc(100dvh - 24px);
    }

    .week-counter__title {
        font-size: 16px;
        padding-right: 84px;
    }

    .week-counter__subtitle {
        font-size: 12px;
        margin-bottom: 32px;
    }

    .week-counter__table {
        font-size: 11px;
    }

    .week-counter__table th,
    .week-counter__table td {
        padding-left: 2px;
        padding-right: 2px;
    }

    .week-counter__table thead th {
        font-size: 12px;
        padding: 8px 2px;
    }

    .week-counter__day {
        height: 32px;
        font-size: 12px;
    }

    .week-counter__day-label,
    .week-counter__corner,
    .week-counter__info-label {
        width: 32px;
        font-size: 11px;
    }

    .week-counter__week-num {
        font-size: 12px;
    }

    .week-counter__week-type {
        font-size: 10px;
    }

    .week-counter__legend {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .week-counter__today-btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .week-counter,
    .week-counter__button--close,
    .week-counter__nav-btn,
    .week-counter__today-btn {
        transition: none;
    }
}


    
/* staff.css */
.staff__hero {
    margin-top: 64px;
    --staff-screen-bottom-gap: 32px;
    --staff-stack-gap: 32px;
    padding-bottom: var(--staff-screen-bottom-gap);
    box-sizing: border-box;
}

.staff__hero .container {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
        "breadcrumbs breadcrumbs"
        "content picture";
    column-gap: 32px;
    row-gap: 0;
    margin-top: 0;
    align-items: stretch;
}

.staff__breadcrumbs {
    grid-area: breadcrumbs;
}

.staff__hero-group {
    grid-area: content;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    max-width: 44vw;
    min-width: 0;
}

.staff__hero .section-title--big {
    font-size: clamp(30px, 4.17vw, 80px);
    font-weight: 700;
    margin-bottom: 32px;
}

.staff-position {
    font-weight: 400;
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    margin-bottom: 16px;
}

.staff__hero__contacts-title {
    /* margin-bottom: 16px; */
    font-weight: 600;
    font-size: var(--fs-body);
}

.staff__hero__contacts-email,
.staff__hero__contacts-adress {
    font-size: var(--fs-body);
}

.staff__hero__contacts-address address {
    font-style: normal;
}

.staff__hero__contacts-email {
    display: flex;
    gap: 5px;
    align-items: center;
}

.staff__contacts-link {
    text-decoration: underline;
    text-decoration-skip-ink: none;
}

.staff__hero-picture {
    grid-area: picture;
    flex: 0 0 auto;
    display: flex;
    justify-content: flex-end;
    align-self: stretch;
    align-items: flex-start;
    width: min(35vw, 520px);
    max-width: 520px;
    aspect-ratio: 3 / 4;
    overflow: hidden;
}

.staff__hero-picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    display: block;
}

/* Информация о сотруднике */
.staff__info .section-title {
    grid-column: span 4;
}

.staff-section__group {
    grid-column: 5 / span 8;
}

.staff-questionnaire .staff-section__group {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    column-gap: 8px;
}

.staff-questionnaire__content-inner {
    grid-column: 2 / span 7;
    min-width: 0;
}

.staff-questionnaire__content-inner:has(.timeline) {
    grid-column: 1 / -1;
}


.staff-questionnaire--teaching-experience .timeline__year,
.staff-questionnaire--teaching-experience .staff-questionnaire__text {
    font-weight: 500;
    font-size: var(--fs-h2);
    line-height: var(--lineright-110);
}

.staff-quote {
    position: relative;
    grid-column: 5 / span 7;
    margin-bottom: 32px;
}

.staff-quote::before {
    content: '';
    position: absolute;
    display: block;
    width: 100vw;
    height: 1px;
    background-color: #9e9e9e;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    z-index: -1;
}

.staff-quote__text {
    margin: 0;
    padding: 32px 0 0;
}

.staff-quote + .divide {
    margin-top: 0;
}

.staff-quote__paragraph {
    margin: 0;
    font-weight: 500;
    font-style: italic;
    font-size: clamp(24px, 2.1vw, 40px);
    line-height: var(--lineright-110);
    overflow-wrap: anywhere;
}

.staff-quote__paragraph + .staff-quote__paragraph {
    margin-top: 16px;
}

.staff-questionnaire__content {
    min-width: 0;
    overflow-wrap: anywhere;
}

.staff-questionnaire__text {
    margin: 0;
    font-size: var(--fs-body);
    line-height: var(--lineright-140);
    white-space: normal;
}

.staff-questionnaire__text + .staff-questionnaire__text {
    margin-top: 16px;
}

.staff-publications {
    margin: 0;
    padding-left: 1.35em;
    font-size: var(--fs-body);
    line-height: var(--lineright-140);
}

.staff-publications__item {
    padding-left: 0.25em;
    overflow-wrap: anywhere;
}

.staff-publications__item + .staff-publications__item {
    margin-top: 18px;
}

.divide__group__subjects .staff-subjects__heading,
.divide__group__subjects .staff-subjects__text {
    font-size: 16px;
    line-height: var(--lineright-140);
}

.divide__group__subjects .staff-subjects__heading {
    font-weight: 600;
    color: var(--dark-color);
}

.divide__group__subjects .timeline {
    gap: 16px;
}

.divide__group__subjects .timeline__item--has-year:not(:first-child),
.staff-questionnaire--project-activity .timeline__item--has-year:not(:first-child) {
    margin-top: 32px;
}

.staff-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 32px;
}


.staff-tag {
    background: var(--dark-color);
    border-radius: 8px;
    padding: 4px 12px;
    font-size: var(--fs-body-mob);
    color: var(--new-bg-color);
    display: inline-block;
}

/* Планшеты */
@media (max-width: 1194px) {
    .staff__info .section-title {
        grid-column: span 8;
        margin-bottom: 40px;
    }

    .staff-section__group {
        grid-column: span 8;
    }

    .staff-questionnaire .staff-section__group {
        display: block;
    }

    .staff-questionnaire__content-inner {
        grid-column: auto;
    }

    .staff-quote {
        grid-column: span 8;
    }
}

@media (max-width: 834px) {
    .staff__hero {
        --staff-screen-bottom-gap: 24px;
        --staff-stack-gap: 24px;
    }

    .staff__hero .section-title--big {
        font-size: clamp(30px, 6.7vw, 80px);
        font-weight: 700;
    }

    .staff-position {
        font-size: var(--fs-h3);
    }
}

@media (max-width: 834px) {
    .staff__hero .container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .staff__hero-group {
        display: contents;
    }

    .staff__breadcrumbs {
        order: 1;
    }

    .staff__header {
        order: 2;
    }

    .staff__hero-picture {
        order: 3;
        justify-content: start;
        align-self: auto;
        width: 100%;
        max-width: 100%;
        margin-top: 24px;
        margin-bottom: 0;
    }

    .staff__hero-picture img {
        width: 100%;
        height: 100%;
    }

    .staff__hero__contacts {
        order: 4;
        margin-top: var(--staff-stack-gap);
    }

    .staff-position {
        margin-bottom: 16px;
        font-size: var(--fs-h3-mob);
    }


    .staff-tags {
        margin-bottom: 0;
    }

    .staff__hero .section-title--big {
        font-size: clamp(30px, 11vw, 64px);
        margin-bottom: 16px;
    }
}

@media (max-width: 834px) {
    .staff__hero-group {
        flex-direction: column;
    }

    .staff-questionnaire--teaching-experience .timeline__year,
    .staff-questionnaire--teaching-experience .staff-questionnaire__text {
        font-size: clamp(34px, 9.6vw, 44px);
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .staff__hero {
        --staff-screen-bottom-gap: 16px;
        --staff-stack-gap: 16px;
    }

    .staff-position {
        font-size: 20px;
        margin-bottom: 0;
    }

    .staff-position + .staff-tags {
        margin-top: 16px;
    }

    .staff__hero-picture {
        margin-top: 24px;
    }

    .staff-quote {
        margin-bottom: 32px;
    }

    .staff-quote__paragraph {
        font-size: 22px;
    }

    .staff__hero .section-title--big {
        font-size: var(--fs-h2-mob);
    }

    .staff-questionnaire--teaching-experience .timeline__year,
    .staff-questionnaire--teaching-experience .staff-questionnaire__text {
        font-size: clamp(34px, 9.6vw, 40px);
    }
}

/* Портфолио - Кликабельные кнопки */
.staff-portfolio-buttons {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
    width: 100%;
    margin-top: 0;
}

.portfolio-card-btn {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: var(--violet-color, #680AFF);
    color: var(--new-bg-color, #ffffff);
    text-decoration: none;
    padding-top: 48px;
    padding-bottom: 48px;
    padding-left: 24px;
    padding-right: 24px;
    border-radius: 0;
    transition: background-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
    box-sizing: border-box;
    text-align: center;
}

.portfolio-card-btn::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(246, 246, 251, 0.16);
    transform: translateX(-101%);
    transition: transform 0.35s ease;
    z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
    .portfolio-card-btn:hover {
        color: var(--new-bg-color, #ffffff);
        transform: translateY(-3px);
    }

    .portfolio-card-btn:hover::before {
        transform: translateX(0);
    }
}

.portfolio-card-btn:active {
    transform: translateY(0) scale(0.98);
    background-color: var(--violet-color, #680AFF);
}

.portfolio-card-btn__title {
    position: relative;
    z-index: 2;
    font-size: var(--medium-card-size);
    font-weight: 500;
    line-height: 1.4;
    word-break: break-word;
}

@media (max-width: 834px) {
    .staff-portfolio-buttons {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    
    .portfolio-card-btn {
        padding-top: 36px;
        padding-bottom: 36px;
        padding-left: 16px;
        padding-right: 16px;
    }
}


    
/* timeline.css */
.timeline {
    list-style: none;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.timeline__item {
    display: grid;
    grid-template-columns: minmax(115px, 1fr) repeat(7, 1fr);
    column-gap: 8px;
}

.timeline__year {
    font-size: var(--body-size);
    line-height: 1.4;
    grid-column: span 1;
}

.timeline__text {
    grid-column: 2 / span 7;
    font-weight: 500;
    font-size: var(--fs-h3-mob);
    line-height: 1.2;
    overflow-wrap: anywhere;
    min-width: 0;
}

.staff-education .timeline__text,
.staff-questionnaire--project-activity .timeline__text {
    font-size: 20px;
}

.staff__info .devide_summary {
    grid-column: 7 / span 6;
    margin-top: 60px;
    font-size: var(--fs-h3-mob);
    line-height: 1.1;
    color: var(--violet-color);
}



/* Планшеты */
@media (max-width: 1194px) {
    .staff__info .devide_summary {
        grid-column: span 8;
    }

    .timeline__item:not(:has(.timeline__year)) .timeline__text {
        grid-column: 1 / -1;
    }

    .timeline__year {
        grid-column: 1 / -1;
        margin-bottom: 5px;
    }

    .timeline__text {
        grid-column: 1 / -1;
    }

    .divide__group__subjects .staff-subjects__heading {
        font-size: 18px;
        margin-bottom: 8px;
    }
}

@media (max-width: 834px) {
    .timeline__text,
    .staff-education .timeline__text,
    .staff-questionnaire--project-activity .timeline__text {
        font-size: var(--fs-body);
    }
}

/* Мобильные */
@media (max-width: 375px) {
    .timeline__text {
        font-size: var(--fs-body);
    }

    .devide_summary p {
        font-size: var(--fs-h3-mob);
    }
}

@media (max-width: 375px) {
    .devide_summary p {
        font-size: var(--fs-body);
    }
}

@media (max-width: 375px) {
    .devide_summary p {
        font-size: var(--fs-body-mob);
        font-weight: 500;
    }
}

    
/* infographics.css */
.divide--infographics {
    padding-top: 64px;
    margin-top: 0;
}

.divide--infographics::before {
    display: none !important;
}

.infographics {
    padding-bottom: 0;
}

.promo-wrapper {
    margin-bottom: 64px;
    /* Default desktop spacing */
}

.infographics__cards {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    grid-column: 1 / -1;
}

.infographics__card {
    grid-column: span 4;
    background-color: #fff;
    padding: 32px;
    display: flex;
    flex-direction: column;
    overflow-wrap: normal;
    word-wrap: normal;
    word-break: normal;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: none;
    min-width: 0;
}

.infographics__card-body {
    display: flex;
    flex-direction: column;
    height: 100%;
    flex: 1;
}

.infographics__card-title {
    font-weight: 500;
    font-size: clamp(50px, 7vw, 80px);
    line-height: var(--lineright-110);
    color: #000;
    margin: 0;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s linear, transform 0.4s linear;
}

.infographics__card-title[data-animated="true"] {
    opacity: 1;
    transform: translateY(0);
}

.infographics__card-subtitle {
    font-weight: 500;
    font-size: 50px;
    line-height: var(--lineright-110);
    color: #000;
    margin: 0;
}

.infographics__card-header {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.infographics__card--has-footer .infographics__card-header {
    margin-bottom: 24px;
}

.infographics__card-footer {
    display: flex;
    align-items: flex-end;
    /* Выравнивание иконки и текста по нижнему краю */
    justify-content: space-between;
    gap: 24px;
    margin-top: 0;
}

.infographics__card-text {
    font-weight: 400;
    font-size: var(--fs-body);
    line-height: 1.4;
    color: #444;
    flex: 1;
    margin: 0;
    /* Убираем лишние отступы у параграфа */
}

.infographics__card-text-line {
    display: block;
}

.infographics__card-direction-code {
    margin-top: 8px;
    opacity: 0.5;
}

.infographics__card-text:empty {
    display: none;
}

.infographics__card-icon-box {
    flex-shrink: 0;
    display: flex;
    align-items: flex-end;
    margin-bottom: 4px;
    /* Всегда прижимаем иконку вправо, если она одна в строке */
    margin-left: auto;
}

.infographics__card-icon {
    width: 24px;
    height: 24px;
    display: block;
    object-fit: contain;
}

/* Динамическая ширина карточек для десктопа */
.infographics__card--w1 {
    grid-column: span 4;
}

.infographics__card--w2 {
    grid-column: span 8;
}

.infographics__card--w3 {
    grid-column: span 12;
}

/* Адаптивность */

/* Большие мониторы и ноутбуки (до 1440px) */
@media (max-width: 1440px) {
    .infographics__card-title {
        font-size: clamp(50px, 7vw, 80px);
    }

    .infographics__card-subtitle {
        font-size: 25px;
    }
}

/* Планшеты (переход на 2 колонки) */
@media (max-width: 1194px) {
    .divide--infographics.divide {
        padding-top: 80px !important;
        /* Отступ между блоками */
        grid-template-columns: repeat(12, 1fr);
    }

    .promo-wrapper {
        margin-bottom: 64px !important;
        /* Отступ между заголовком и карточками */
    }

    .infographics__card {
        grid-column: span 6 !important;
        /* Форсируем 2 колонки */
        padding: 24px;
    }

    .infographics__cards > .infographics__card:last-child:nth-child(odd),
    .infographics__card--w3 {
        grid-column: span 12 !important;
    }

    .infographics__card-title {
        font-size: clamp(50px, 7vw, 80px);
    }

    .infographics__card-subtitle {
        font-size: 28px;
    }

}

/* Мобильные (переход на 1 колонку) */
@media (max-width: 834px) {
    .divide--infographics.divide {
        padding-top: 64px !important;
        /* Отступ между блоками на мобилке */
    }

    .promo-wrapper {
        margin-bottom: 48px !important;
        /* Отступ между заголовком и карточками на мобилке */
    }

    .divide--infographics .infographics__cards {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }

    .divide--infographics .infographics__card,
    .divide--infographics .infographics__card--w1,
    .divide--infographics .infographics__card--w2,
    .divide--infographics .infographics__card--w3,
    .divide--infographics .infographics__cards > .infographics__card:last-child:nth-child(odd) {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        padding: 24px;
    }

    .infographics__card-title {
        font-size: 50px;
    }

    .infographics__card-subtitle {
        font-size: 28px;
    }

    .infographics {
        padding-bottom: 64px;
    }
}

/* Фикс ширины на мобилках до 550px для перекрытия divide.css */
@media (max-width: 375px) {
    .divide--infographics.divide {
        display: block !important;
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .divide--infographics .infographics__cards {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        width: 100% !important;
        margin: 0 !important;
        gap: 8px !important;
    }

    .divide--infographics .infographics__card,
    .divide--infographics .infographics__card--w1,
    .divide--infographics .infographics__card--w2,
    .divide--infographics .infographics__card--w3 {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
}


    
/* banner.css */
.info__banner {
    margin-top: 128px;
    margin-bottom: 128px;
}

@media (max-width: 1194px) {
    .info__banner {
        margin-top: 80px;
        margin-bottom: 80px;
    }
}

@media (max-width: 834px) {
    .info__banner {
        margin-top: 64px;
        margin-bottom: 64px;
    }
}

.info__banner img {
    object-fit: cover;
    width: 100%;
    max-height: 786px;
}

    
/* projects.css */
/* Блок проектов на странице "Наша кафедра" */

.divide-projects {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 8px;
    position: relative;
    padding-top: 48px;
    margin-top: 128px;
}

.divide-projects .section-title {
    grid-column: 1 / span 4;
    grid-row: 1;
    margin: 0;
    align-self: start;
}

.projects-container {
    grid-column: 5 / -1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    width: 100%;
}

.projects__title {
    font-size: var(--fs-h2-mob);
    line-height: var(--lineright-110);
    color: #000;
    margin: 0 0 32px 0;
}

.projects__description {
    font-size: var(--fs-body);
    line-height: 1.5;
    color: #333;
    margin-bottom: 0;
}

.projects__description p {
    margin: 0 0 16px 0;
}

.projects__description p:last-child {
    margin-bottom: 0;
}

.projects-cards {
    grid-column: 1 / -1;
    grid-row: 2;
    /* Размещаем ниже заголовков */
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    /* 12 колонок для выравнивания */
    gap: 8px;
    row-gap: 32px;
    width: 100%;
    margin-top: 64px;
}

.project-card {
    grid-column: span 4;
    /* Каждая карточка занимает ровно 4 колонки (3 в ряд) */
    width: 100%;
    position: relative;
    transition: transform 0.3s ease;
}

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

.project-card__content-wrap {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.project-card__img-link {
    display: block;
    text-decoration: none;
    cursor: pointer !important;
    overflow: hidden;
    margin-bottom: 4px;
}

.project-card__img-wrap {
    position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    /* Пропорции 1к1 */
    overflow: hidden;
    background-color: #eeeeee;
    /* Простой серый плейсхолдер */
    transition: box-shadow 0.3s ease;
    cursor: pointer !important;
}

.project-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    cursor: pointer !important;
}

.project-card__details {
    padding-top: 4px;
}

.project-card__group {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 12px;
}

.project-card__title {
    font-weight: 500;
    font-size: clamp(16px, calc(14.47px + 0.19vw), 18px);
    line-height: var(--lineright-110);
    margin: 0;
    color: #000;
}

.project-card__date {
    font-size: var(--fs-body);
    line-height: var(--lineright-110);
    color: #9e9e9e;
    white-space: nowrap;
}

/* Эффекты при наведении */
.project-card:hover .project-card__img-wrap {
    box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.08), -8px 0 20px rgba(0, 0, 0, 0.08), 8px 0 20px rgba(0, 0, 0, 0.08);
}

@media (hover: none) and (pointer: coarse) {
    .project-card:hover {
        transform: none;
    }

    .project-card:hover .project-card__img-wrap {
        box-shadow: none;
    }

    .project-card:active {
        transform: translateY(-5px);
    }

    .project-card:active .project-card__img-wrap {
        box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.08), -8px 0 20px rgba(0, 0, 0, 0.08), 8px 0 20px rgba(0, 0, 0, 0.08);
    }
}

.no-projects {
    grid-column: 5 / -1;
    grid-row: 2;
    font-size: var(--fs-body);
    color: #9e9e9e;
    margin: 0;
}

/* Планшетные устройства */
@media (max-width: 1194px) {
    .divide-projects {
        grid-template-columns: repeat(8, 1fr);
        margin-top: 80px;
        padding-top: 48px;
    }

    .divide-projects .section-title {
        grid-column: 1 / -1;
        grid-row: auto;
        margin-bottom: 32px;
    }

    .projects-container {
        grid-column: 1 / -1;
        grid-row: auto;
    }

    .projects__title {
        font-size: var(--fs-h3);
    }

    .projects-cards {
        grid-column: 1 / -1;
        grid-row: auto;
        grid-template-columns: repeat(8, 1fr);
        /* 8 колонок на планшете */
        gap: 8px;
        row-gap: 32px;
        margin-top: 32px;
    }

    .project-card {
        grid-column: span 4;
        /* По 2 в ряд на планшете */
    }
}

/* Мобильные телефоны */
@media (max-width: 768px) {
    .projects-cards {
        grid-template-columns: 1fr;
    }

    .project-card {
        grid-column: 1 / -1;
    }
}

@media (max-width: 375px) {
    .divide-projects {
        margin-top: 64px;
        padding-top: 32px;
    }

    .projects__title {
        font-size: 20px;
    }

    .project-card__title {
        font-size: 16px;
    }

    .divide-projects .section-title {
        margin-bottom: 32px;
    }

    .projects-cards {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }
}




/* GENERAL */

/* index */

/* hero.css */
.hero{
    margin-bottom: 128px;
}

@media (max-width: 1194px) {
    .hero {
        margin-bottom: 80px;
    }
}

@media (max-width: 834px) {
    .hero {
        margin-bottom: 64px;
    }
}



/* partners.css */
.divide.partners {
    display: block;
    padding-top: 48px;
}

.partners {
    background: none;
    padding: 0;
}

.partners__title {
    font-weight: 500;
    font-size: var(--fs-h3-mob);
    line-height: var(--lineright-110);
    color: #000;
    margin-bottom: 64px;
}

.partners__carousel {
    overflow: hidden;
    width: calc(100% + 80px);
    margin-left: -40px;
    margin-right: -40px;
    touch-action: pan-y;
    user-select: none;
}

.partners__carousel img {
    -webkit-user-drag: none;
    user-select: none;
}

.partners__track {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 64px;
    width: max-content;
    will-change: transform;
}

.partners__empty {
    color: #666;
    font-size: 16px;
}

/* Ноуты */
@media (max-width: 1440px) {
    .partners__title {
        font-size: var(--fs-h3-mob);
        font-weight: 500;
    }
}

/* Планшеты */
@media (max-width: 1194px) {
    .partners__title {
        margin-bottom: 40px;
    }

    .partners__track {
        gap: 48px;
    }
}

/* Мобильные */
@media (max-width: 834px) {
    .divide.partners {
        padding-top: 32px;
    }

    .partners__title {
        font-weight: 600;
        font-size: 20px;
        margin-bottom: 32px;
    }

    .partners__carousel {
        width: calc(100% + 24px);
        margin-left: -12px;
        margin-right: -12px;
    }

    .partners__track {
        gap: 32px;
    }
}

@media (max-width: 375px) {
    .partners__title {
        font-size: var(--section-mob-size);
        margin-bottom: 32px;
    }
}



/* home.css */
/* Вертикальный ритм главной страницы.

   Шаг между разделами задаёт только обёртка .home-block: у самих блоков
   отступы разные (слайдер отмерял 64px снизу, партнёры — 64px сверху плюс
   32px внутри, события и направления — 64px сверху), из-за чего расстояния
   между разделами не совпадали. Значения те же, что у .divide на остальных
   страницах, поэтому главная попадает в общий ритм сайта. */

.home-block {
    --home-section-gap: 128px;
    --home-section-lead: 48px;
}

/* Первый раздел идёт сразу под шапкой — ни отступа, ни линии ему не нужно. */
.home-block + .home-block {
    position: relative;
    margin-top: var(--home-section-gap);
    padding-top: var(--home-section-lead);
}

/* Разделительная линия во всю ширину окна — тот же приём, что у .divide. */
.home-block + .home-block::before {
    content: '';
    position: absolute;
    display: block;
    width: 100vw;
    height: 1px;
    background-color: #9e9e9e;
    left: 50%;
    transform: translateX(-50%);
    top: 0;
    z-index: -1;
}

/* Собственные вертикальные отступы разделов обнуляем — иначе они
   складывались бы с шагом обёртки. */
.home-block > .hero,
.home-block > .news,
.home-block > .field-stud {
    margin-top: 0;
    margin-bottom: 0;
}

/* Только у раздела, который сам начинается с .divide (партнёры): внутренние
   .divide вроде «Популярные направления» — это подразделы, их ритм свой. */
.home-block > .container > .divide {
    margin-top: 0;
    padding-top: 0;
}

/* Линия у вложенного .divide больше не нужна: её рисует обёртка. */
.home-block > .container > .divide::before {
    display: none;
}

@media (max-width: 1194px) {
    .home-block {
        --home-section-gap: 80px;
        --home-section-lead: 48px;
    }
}

@media (max-width: 834px) {
    .home-block {
        --home-section-gap: 72px;
        --home-section-lead: 40px;
    }
}

@media (max-width: 375px) {
    .home-block {
        --home-section-gap: 64px;
        --home-section-lead: 32px;
    }
}


/* ./index */

/* events, event, new*/

/* event.css */
.event__description {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

@media (max-width: 1194px) {
    .main-content > .event {
        margin-top: 0 !important;
    }
}

.event__description {
    line-height: 1.4 !important;
    color: #000;
    max-width: 100%;
    /* text-align: justify; */
    padding-top: 95px;
    font-size: var(--fs-body) !important;
}

/* Делаем iframe адаптивными */
.event__description iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}

.event__description--important {
    padding-top: 0 !important;
}

.event__description-list li {
    margin-left: 30px;
}

.event__description-link,
.event__contacts-link {
    text-decoration: underline;
    text-decoration-skip-ink: none;
}

@media (max-width: 1440px) {
    .event__description {
        font-size: var(--fs-body) !important;
    }
}

@media (max-width: 1194px) {
    .event__description {
        font-size: var(--fs-body) !important;
    }
}

@media (max-width: 375px) {
    .event__description {
        font-size: var(--fs-body) !important;
    }
}

@media (max-width: 375px) {
    .event .section-title--big {
        font-size: var(--fs-h2-mob);
    }

    .event__description {
        font-size: var(--fs-body-mob) !important;
    }
}


    
/* new.css */
.new__intro {
    font-size: var(--fs-body);
    line-height: 1.4;
    color: #000;
    font-weight: 500;
    /* text-align: justify; */
    margin-bottom: 32px;
}

.new__content-text {
    display: flex;
    flex-direction: column;
    line-height: 1.4;
    text-align: justify;
    gap: 32px;
    font-size: var(--fs-body);
}

/* Делаем iframe (видео) адаптивными на страницах новостей */
.new__content-text iframe {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}



@media (max-width: 1440px) {
    .new__content-text {
        font-size: var(--fs-body);
    }
}

@media (max-width: 1194px) {
    .new__content-text {
        font-size: var(--fs-body);
    }
}

@media (max-width: 375px) {
    .new__content-text {
        font-size: var(--fs-body-mob);
    }

    .new__intro {
        font-size: var(--fs-body-mob);
    }

}

@media (max-width: 375px) {
    .new__content-text {
        font-size: var(--fs-body-mob);
    }

    .new__intro {
        font-size: var(--fs-body-mob);
    }

}

    
/* not-found.css */
/*
 * Страница 404.
 * Верхний отступ задаёт .main-content (шапка фиксированная), поэтому здесь
 * нельзя использовать сокращение padding-block — оно обнулит этот отступ
 * и цифры «404» уедут под шапку.
 * Кнопки разделов используют компонент .navigation__link из
 * components/navigation-promo.css — те же иконки и анимация, что в разделах.
 */
.not-found {
    padding-bottom: 128px;
}

.not-found__group {
    align-items: start;
    margin-top: 64px;
    margin-bottom: 0;
}

.not-found__content {
    grid-column: span 5;
}

.not-found__nav {
    grid-column: 7 / span 6;
}

.not-found__code {
    margin-bottom: 16px;
    color: var(--violet-color);
    font-size: clamp(96px, 14vw, 200px);
    font-weight: 500;
    line-height: var(--lineright-100);
    letter-spacing: -0.02em;
    font-variant-numeric: tabular-nums;
}

.not-found__title {
    margin-bottom: 24px;
    color: var(--dark-color);
    font-size: var(--fs-h1);
    font-weight: 400;
    line-height: var(--lineright-110);
}

.not-found__text {
    max-width: 640px;
    margin-bottom: 40px;
    color: var(--dark-color);
    font-size: var(--fs-h3);
    line-height: 1.35;
}

.not-found__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.not-found__link {
    display: inline-flex;
    min-height: 72px;
    padding: 20px 40px;
    align-items: center;
    justify-content: center;
    color: var(--new-bg-color);
    background-color: var(--dark-color);
    /* Кегль как у крупных кнопок разделов (.navigation__main-link). */
    font-size: var(--fs-h3);
    line-height: var(--lineright-110);
    font-weight: 500;
    transition: background-color 0.2s ease, transform 0.2s ease;
}

@media (hover: hover) and (pointer: fine) {
    .not-found__link:hover {
        background-color: var(--violet-color);
        transform: translateY(-2px);
    }
}

.not-found__link:focus-visible {
    outline: 2px solid var(--violet-color);
    outline-offset: 4px;
}

.not-found__link:active {
    transform: translateY(0);
}

/* Кегль и насыщенность берём у компонента .section-title (25px). */
.not-found__nav-title {
    margin-bottom: 24px;
    color: var(--dark-color);
}

/* Планшеты: сетка промо-блока превращается в одну колонку */
@media (max-width: 1194px) {
    .not-found {
        padding-bottom: 80px;
    }

    .not-found__group {
        margin-top: 32px;
    }

    .not-found__content,
    .not-found__nav {
        grid-column: 1 / -1;
    }

    .not-found__nav {
        margin-top: 64px;
    }

    .not-found__title {
        font-size: var(--fs-h1-mob);
    }
}

/* Мобильные */
@media (max-width: 834px) {
    .not-found {
        padding-bottom: 64px;
    }

    .not-found__nav {
        margin-top: 48px;
    }

    .not-found__code {
        font-size: clamp(80px, 26vw, 120px);
    }

    .not-found__text {
        margin-bottom: 32px;
        font-size: var(--fs-h3-mob);
    }

    .not-found__link {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .not-found__link {
        transition: none;
    }
}


    /* events */

/* useful */

/* useful.css */
.divide__group{
    grid-column: span 8;
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 8px;
    min-width: 0;
}

.useful-info .devide__group__big-card,
.useful-info .middle-card {
    grid-column: span var(--useful-card-span, 8);
}

.divide__group--card-span-4 {
    --useful-card-span: 4;
}

.divide__group--card-span-6 {
    --useful-card-span: 6;
}

.divide__group--card-span-8 {
    --useful-card-span: 8;
}

.useful-info .devide__group-title,
.useful-info .devide__group__text {
    grid-column: span 8;
}

.useful-info .big-card__title,
.useful-info .middle-card__title,
.useful-info .full-screen__card-title {
    font-size: var(--fs-h2-mob);
}

.useful-info .useful-contact-link {
    color: var(--violet-color);
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.useful-info .useful-contact-link:hover {
    color: var(--dark-color);
}

.useful-info .full-screen-cards--directorate {
    grid-column: 5 / -1;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.useful-info .full-screen-cards--directorate .full-screen__card {
    grid-column: span 4;
    align-self: start;
    padding: 32px 30px;
}

.useful-info .full-screen-cards--directorate .full-screen__card-title {
    margin-bottom: 40px;
}

.useful-info .full-screen-cards--directorate .full-screen__card-subtitle {
    margin-bottom: 24px;
}

.useful-info .full-screen-cards--directorate .full-screen__card-subtitle .useful-contact-link {
    display: inline-block;
}

.useful-info .full-screen-cards--directorate .full-screen__card-caption {
    margin-bottom: 0;
}

.useful-info .full-screen__card-caption p {
    margin: 0;
}

.useful-info .full-screen-cards--directorate .full-screen__card-caption p + p {
    margin-top: 8px;
}

.useful-info .full-screen-cards--directorate .full-screen__card-info {
    margin-top: 24px;
}

.useful-info .big-card__phones {
    font-size: var(--fs-body);
}

.useful-info .big-card__phones p + p,
.useful-info .middle-card-info p + p,
.useful-info .big-card-support p + p,
.useful-info .full-screen__card-caption p + p {
    margin-top: 8px;
}

.useful-info .big-card__addresses,
.useful-info .middle-card-info p:first-child,
.useful-info .big-card__work-hours-adress,
.useful-info .full-screen__card-subtitle {
    font-size: 20px;
}

@media (max-width: 1194px) {
    .useful-info .section-title,
    .useful-info .divide_grid {
        grid-column: 1 / -1;
    }

    .useful-info .big-card__title,
    .useful-info .middle-card__title,
    .useful-info .full-screen__card-title {
        font-size: 25px;
    }

    .useful-info .full-screen-cards--directorate .full-screen__card {
        grid-column: 1 / -1;
    }

    .useful-info #rectorate .section-title {
        grid-column: span 4;
        margin-bottom: 0;
    }

    .useful-info #rectorate .full-screen-cards--directorate {
        grid-column: 5 / -1;
    }
}

@media (max-width: 834px) {
    .useful-info .divide {
        display: block;
    }

    .useful-info .divide_grid {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .useful-info .section-title {
        width: 100%;
    }

    .useful-info #rectorate .section-title {
        margin-bottom: 32px;
    }

    .useful-info .divide__group,
    .useful-info .devide__group__text,
    .useful-info .divide__group__text,
    .useful-info .divide__text {
        box-sizing: border-box;
        display: block;
        grid-column: 1 / -1;
        width: 100%;
        max-width: none;
        min-width: 0;
    }

    .useful-info .divide__text > *,
    .useful-info .devide__group__text > *,
    .useful-info .divide__group__text > * {
        max-width: 100%;
    }

    .useful-info .full-screen-cards--directorate {
        grid-column: 1 / -1;
        grid-template-columns: repeat(8, minmax(0, 1fr));
        width: 100%;
    }

    .useful-info .full-screen-cards--directorate .full-screen__card {
        grid-column: 1 / -1;
    }
}

.devide__group__text .devide__group-p,
.divide__group__text .divide__group-p {
    font-size: var(--fs-body);
    margin-bottom: 30px;
}


.devide__group__text p,
.divide__group__text p {
    font-size: var(--fs-body);
    margin-bottom: 30px;
}

.devide__group__text p:last-child,
.divide__group__text p:last-child {
    margin-bottom: 0;
}


/* иностранные студенты */


/* useful */

/* department */

/* department.css */
.department-text,
.department-text-group p {
    line-height: 1.4;
    color: var(--dark-color);
    font-size: var(--fs-body);
}

.department-subtitle {
    font-weight: 500;
    font-size: var(--fs-h2);
    line-height: var(--lineright-110);
    color: var(--dark-color);
    max-width: 903px;
    margin-bottom: 143px;
}


.column-divide {
    row-gap: 0;
}

.quote {
    grid-column: 1 / span 12;
    font-style: normal;
    font-size: var(--fs-h3);
    color: var(--dark-color);
    line-height: var(--lineright-110);
    max-width: 1012px;
    margin-bottom: 128px;
}

.headDepartment-group {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.headDepartment-group .headDepartment_img {
    grid-column: 3 / span 4;
    width: 100%;
    display: block;
    height: auto;
    max-height: none;
    aspect-ratio: 1 / 1.2;
    object-fit: cover;
    align-self: start;
}

.headDepartment__textGroup {
    grid-column: 7 / span 4;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    align-self: stretch;
    min-width: 0;
}

.headDepartment-title {
    font-weight: 500;
    font-size: var(--fs-h2);
    margin-bottom: 16px;
    line-height: var(--lineright-110);
    color: var(--dark-color);
    min-width: 0;
    overflow-wrap: break-word;
    word-break: normal;
    hyphens: auto;
}

.headDepartment-title p {
    margin: 0;
}

.headDepartment-text {
    font-size: var(--fs-body);
    color: var(--label-color);
}


@media (max-width: 1440px) {
    .headDepartment-title {
        font-size: var(--fs-h2);
    }

    .headDepartment__textGroup {
        grid-column: 7 / span 6;
    }
}

@media (max-width: 1194px) {
    .department-text,
.department-text-group p {
        font-size: var(--fs-body);
    }

    .quote {
        grid-column: 1 / span 8;
    }

    .headDepartment-group {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .headDepartment-group .headDepartment_img {
        grid-column: 1 / span 4;
    }

    .headDepartment__textGroup {
        grid-column: 5 / span 4;
    }

    .headDepartment-text {
        font-size: var(--fs-body);
    }

    .quote {
        font-size: 25px;
        line-height: 1.2;
        margin-bottom: 64px;
    }
}

@media (max-width: 834px) {
    .quote {
        font-size: 20px;
        line-height: 1.2;
    }

    .headDepartment-group {
        grid-template-columns: repeat(8, minmax(0, 1fr));
    }

    .headDepartment-group .headDepartment_img {
        grid-column: 1 / -1;
    }

    .headDepartment__textGroup {
        grid-column: 1 / -1;
        justify-content: flex-start;
        gap: 16px;
    }

    .headDepartment-title {
        font-size: clamp(34px, 9.6vw, 44px);
        margin-bottom: 0;
    }
}

@media (max-width: 375px) {
    .headDepartment-group {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
    }

    .headDepartment-group .headDepartment_img {
        grid-column: 1 / -1;
    }

    .headDepartment__textGroup {
        grid-column: 1 / -1;
    }

    .headDepartment__textGroup {
        justify-content: flex-start;
        gap: 16px;
    }

    .headDepartment-title {
        font-size: clamp(34px, 9.6vw, 40px);
    }

    .headDepartment-text {
        font-size: var(--fs-body-mob);
    }


    .quote {
        font-size: 20px;
        line-height: 1.2;
        max-width: none;
        margin-bottom: 64px;
    }

    .department-text,
.department-text-group p {
        font-size: var(--fs-body);
    }
}


/* department */

/* contacts */

/* contacts.css */
.contacts__page-title {
    line-height: var(--lineright-110);
}

.contacts__layout {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 8px;
    align-items: stretch;
}

.contacts__info {
    grid-column: 1 / span 5;
    font-weight: 600;
    font-size: var(--fs-h3);
    color: var(--violet-color);
    line-height: 1.4;
    display: flex;
    flex-direction: column;
    gap: 32px;
}

.contacts__info-adress {
    font-style: normal;
}

.contacts__item {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.contacts__item-label {
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--dark-color);
    opacity: 0.8;
}

.contacts__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
}

.contacts__info-link,
.contacts-address-link {
    color: var(--violet-color);
    text-decoration: none;
    transition: color 0.2s ease, opacity 0.2s ease;
}

.contacts__info-link:hover,
.contacts-address-link:hover {
    color: var(--dark-color);
}

.contacts__info-email .contacts__info-link,
.contacts-address-link {
    text-decoration-skip-ink: none;
}

.contacts__map {
    grid-column: 7 / span 6;
    min-height: 430px;
    overflow: hidden;
    position: relative;
    background:
        linear-gradient(135deg, rgba(100, 0, 255, 0.12), rgba(20, 16, 48, 0.04)),
        #f1eef8;
}

.contacts__map::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.65), transparent),
        repeating-linear-gradient(0deg, rgba(100, 0, 255, 0.12) 0 1px, transparent 1px 48px),
        repeating-linear-gradient(90deg, rgba(100, 0, 255, 0.12) 0 1px, transparent 1px 48px);
    background-size: 180px 100%, auto, auto;
    opacity: 0;
    transform: translateX(-100%);
}

.contacts__map--loading::before {
    opacity: 1;
    animation: contacts-map-shimmer 1.6s ease-in-out infinite;
}

.contacts__map-loader {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: var(--violet-color);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.2;
    background: rgba(241, 238, 248, 0.82);
    transition: opacity 0.25s ease, visibility 0.25s ease;
}

.contacts__map:not(.contacts__map--loading) .contacts__map-loader {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.contacts__map-loader-dot {
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background-color: var(--violet-color);
    box-shadow: 0 0 0 0 rgba(100, 0, 255, 0.35);
    animation: contacts-map-pulse 1.2s ease-in-out infinite;
}

.contacts__map iframe {
    position: relative;
    z-index: 0;
    display: block;
    width: 100%;
    height: 100%;
    min-height: 430px;
    border: 0;
}

@keyframes contacts-map-shimmer {
    0% {
        transform: translateX(-100%);
    }

    100% {
        transform: translateX(100%);
    }
}

@keyframes contacts-map-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 0 rgba(100, 0, 255, 0.35);
        transform: scale(1);
    }

    50% {
        box-shadow: 0 0 0 8px rgba(100, 0, 255, 0);
        transform: scale(0.86);
    }
}

/* Ноуты */
@media (max-width: 1440px) {
    .contacts {
        padding-bottom: 128px;
    }

    .contacts__page-title {
        margin-bottom: 64px;
        font-size: var(--fs-h1-mob);
    }

    .contacts__info {
        font-size: var(--fs-h3-mob);
    }
}

/* Планшеты */
@media (max-width: 1194px) {
    .contacts__page-title {
            margin-bottom: 64px;
    }

    .contacts__layout {
        grid-template-columns: repeat(12, minmax(0, 1fr));
        row-gap: 48px;
    }

    .contacts__info,
    .contacts__map {
        grid-column: 1 / -1;
    }
}

/* Мобильные */
@media (max-width: 767px) {
    .contacts {
        padding-bottom: 80px;
    }

    .contacts__page-title {
        font-size: var(--fs-h1-mob);
        margin-bottom: 48px;
    }

    .contacts__info {
        font-size: var(--fs-h3-mob);
        gap: 24px;
    }

    .contacts__item-label {
        font-size: 14px;
    }

    .contacts__links {
        gap: 8px;
    }

    .contacts__map,
    .contacts__map iframe {
        min-height: 320px;
    }
}

.contacts__floor-map-btn.navigation__main-link {
    background-color: var(--violet-color);
    font-weight: 500;
    min-height: 0;
    height: auto;
    padding-top: 48px;
    padding-bottom: 48px;
    border: none;
    cursor: pointer;
}

.contacts__info-floor-map {
    width: calc(((100% - 32px) / 5 * 4) + 24px);
}

.contacts__floor-map-btn.navigation__main-link:hover {
    background-color: var(--violet-color);
}

@media (max-width: 1194px) {
    .contacts__info-floor-map {
        width: 100%;
    }
}


/* ./contacts */
