@import url('https://fonts.googleapis.com/css2?family=Golos+Text:wght@400;500;600;700&family=Geom:wght@700&display=swap');

:root {
    --brand: #674173;
    --brand-dark: #5a3864;
    --brand-muted: #bfa5c7;
    --accent: #ffb126;
    --accent-light: #ffc660;
    --accent-pale: #ffefc8;
    --accent-dark: #e69d15;
    --text: #3b323a;
    --font: 'Golos Text', sans-serif;
    --font-display: 'Geom', sans-serif;
    --h2-size: clamp(28px, 4vw, 44px);
    --h1-size: clamp(33px, 4.6vw, 52px);
    --slider-title-size: clamp(32px, calc(4vw + 4px), 48px);
}

body {
    height: 100%;
    margin: 0;
    font-family: var(--font);
}

#page {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

#main {
    flex: 1;
}

.ui-dialog {
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: calc(100% - 20px);
    max-height: calc(100% - 20px);
}
img{
    max-width: 100%;
    height: auto;
}
/*HEADER STYLES*/
#footer .ajax-progress,
#header .ajax-progress {
    display: none;
}

.site-header {
    position: relative;
    z-index: 100;
    font-family: var(--font);
}

.site-header .container {
    max-width: 1170px;
}

.header-top {
    background: var(--brand);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 10px 0;
    color: #fff;
    --mc-search-fg: #fff;
    --mc-search-bg: var(--brand);
}

.header-top__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    min-height: 24px;
}

.header-top__inner:has(.region-search.active) {
    min-height: 2.85rem;
}

.header-top__contacts {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 20px;
    min-width: 0;
    flex: 1 1 auto;
}

.header-top__item {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

.header-top__item:hover,
.header-top__item:focus-visible {
    color: var(--brand-muted);
    opacity: 1;
}

.header-top__item img {
    flex-shrink: 0;
    display: block;
    max-width: none;
    width: 20px;
    height: 20px;
}

.header-top__item--geo {
    white-space: normal;
}

.header-top__aside {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-shrink: 0;
}

.header-top .col-search {
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.header-top .wr-search {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    height: auto;
    overflow: visible;
}

.header-top__social {
    display: flex;
    align-items: center;
    gap: 14px;
    height: 24px;
}

.header-top__social-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    line-height: 0;
    opacity: 1;
    transition: opacity 0.2s ease;
}

.header-top__social-link:hover {
    opacity: 0.75;
}

.header-top__social-link img {
    display: block;
    max-width: none;
    width: 24px;
    height: 24px;
}

.header-top__social-link img[height="20"] {
    height: 20px;
}

.header-bottom {
    background: var(--brand);
    padding: 12px 0;
    min-height: 72px;
    color: #fff;
}

.header-bottom__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-height: 44px;
}

.header-bottom__logo {
    flex: 0 0 385px;
    width: 385px;
    max-width: 385px;
}

.header-bottom__logo a {
    display: block;
    color: #fff;
    font-family: var(--font);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2;
    text-decoration: none;
}

.header-bottom__logo a:hover,
.header-bottom__logo a:focus-visible {
    color: var(--brand-muted);
    opacity: 1;
}

.page.not-front .header-bottom__logo a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page.not-front .header-bottom__logo a:hover,
.page.not-front .header-bottom__logo a:focus-visible {
    text-decoration: none;
}

.header-bottom__logo img {
    display: block;
    max-width: 100%;
    max-height: 50px;
    width: auto;
    height: auto;
}

.header-bottom__nav {
    flex: 0 1 auto;
    min-width: 0;
}

.header-bottom__nav > nav,
.header-bottom__nav .block-menu {
    width: auto;
    display: block;
}

.header-bottom__nav .navbar-nav {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-bottom__nav .navbar-nav .nav-link {
    padding: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 13px;
    line-height: 1.2;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
    white-space: nowrap;
}

.header-bottom__nav .navbar-nav .nav-link:hover,
.header-bottom__nav .navbar-nav .nav-link:focus-visible {
    color: var(--brand-muted);
    text-decoration: none;
}

.header-bottom__nav .block-title,
.header-bottom__nav h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.header-bottom__nav .site-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.header-bottom__nav .site-nav__item {
    position: relative;
    margin: 0;
    padding: 0;
}

.header-bottom__nav .site-nav__link {
    display: inline-block;
    padding: 0;
    border: 0;
    background: none;
    font-family: var(--font);
    font-weight: 500;
    font-size: 13px;
    line-height: 1.2;
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 3px;
    cursor: pointer;
    white-space: nowrap;
}

.header-bottom__nav .site-nav__link:hover,
.header-bottom__nav .site-nav__link:focus,
.header-bottom__nav .site-nav__link:focus-visible {
    color: var(--brand-muted);
    opacity: 1;
    text-decoration: none;
}

.header-bottom__nav .site-nav__link.is-active,
.header-bottom__nav .site-nav__link.active,
.header-bottom__nav .site-nav__link[aria-current="page"],
.header-bottom__nav .site-nav__item.is-active > .site-nav__link {
    color: #fff;
    opacity: 1;
    text-decoration: none;
}

.header-bottom__nav .site-nav__dropdown {
    margin-top: 8px;
    padding: 8px 0;
    border: 0;
    border-radius: 12px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.header-bottom__actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex: 0 0 auto;
    flex-shrink: 0;
}

.header-bottom__callback {
    flex-shrink: 0;
}

.header-bottom__callback-btn {
    border: 0;
    background: var(--accent);
    min-width: 168px;
    width: 168px;
    min-height: 44px;
    height: 44px;
    padding: 10px 16px;
    font-size: 18px;
    white-space: nowrap;
}

.header-bottom__callback-btn:hover,
.header-bottom__callback-btn:focus-visible {
    background: var(--accent-dark);
    color: #fff;
}

.header-bottom__cart .cart-block--summary {
    color: #fff;
}

.header-bottom__cart .cart-block--summary a {
    color: #fff;
}

.header-bottom__cart .cart-block--summary a:hover,
.header-bottom__cart .cart-block--summary a:focus-visible {
    color: var(--brand-muted);
}

.header-bottom__cart .cart-block--summary__count {
    border-color: var(--brand);
    background: var(--accent);
}

#header .header-search__submit-icon {
    color: #fff;
}

.toolbar .toolbar-tab .toolbar-icon {
    padding: 0.75em 1.5em 0.75em 2.5em;
}
.path-admin .messages--error {
    display: none;
}
/* *** contextual-region *** */
.contextual-region .contextual {
    display: none;
    top: -8px;
    right: 8px;
}

.contextual-region .contextual-region .contextual {
    top: 8px;
}

.contextual-region:hover .contextual {
    display: block;
}

.contextual-region .contextual .trigger {
    width: 22px !important;
    height: 22px !important;
    background-size: 14px 14px;
}

.cart-block--summary .cart-block--summary__count {
    position: absolute;
    width: 18px;
    height: 18px;
    border: 2px solid #fff;
    background: #ccc;
    color: #fff;
    top: -3px;
    right: -9px;
    border-radius: 50%;
    font-size: 10px;
    font-weight: 500;
}

#header-mob {
    top: 0;
    width: 100%;
    background: var(--brand);
    color: #fff;
    padding: 8px 12px;
    z-index: 50;
}

#header-mob > * {
    padding: 0 8px;
}

#header-mob a {
    color: #fff;
    text-decoration: none;
}

#header-mob a:hover,
#header-mob a:focus-visible {
    color: var(--brand-muted);
}

#header-mob .col-logo {
    flex: 1;
    min-width: 0;
    padding: 0 4px;
    text-align: center;
}

#header-mob .col-logo a,
.offcanvas .logo a {
    display: block;
    max-width: 100%;
}

.page.not-front #header-mob .col-logo a,
.page.not-front .offcanvas .logo a {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.page.not-front #header-mob .col-logo a:hover,
.page.not-front #header-mob .col-logo a:focus-visible,
.page.not-front .offcanvas .logo a:hover,
.page.not-front .offcanvas .logo a:focus-visible {
    text-decoration: none;
}

#header-mob .col-logo img,
.offcanvas .logo img {
    display: block;
    width: auto;
    height: clamp(20px, 5.5vw, 31px);
    max-width: 100%;
    margin: 0 auto;
    object-fit: contain;
}

.offcanvas .logo img {
    height: clamp(22px, 6vw, 31px);
    margin: 0;
}

#header-mob .col-phone {
    flex-shrink: 0;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
}

#header-mob .col-callback {
    display: none;
    flex: 1;
    min-width: 0;
    padding: 0 4px;
    text-align: center;
}

.header-mob__callback-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    min-height: 36px;
    padding: 8px 14px;
    border: 0;
    border-radius: 999px;
    background: var(--accent);
    color: #fff;
    font-family: var(--font);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.2;
    white-space: nowrap;
    cursor: pointer;
}

.header-mob__callback-btn:hover,
.header-mob__callback-btn:focus-visible {
    background: var(--accent-dark);
    color: #fff;
}

#header-mob .header-mob__phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#header-mob .header-mob__phone img {
    flex-shrink: 0;
    display: block;
    width: 20px;
    height: 20px;
    object-fit: contain;
}

@media screen and (max-width: 767px) {
    #header-mob {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 8px;
        align-items: center;
        padding: 8px 10px;
    }

    #header-mob > * {
        padding: 0;
    }

    #header-mob .col-nav {
        order: 1;
    }

    #header-mob .col-callback {
        display: block;
        order: 2;
    }

    #header-mob .col-phone {
        order: 3;
        margin-left: 0;
    }

    #header-mob .col-logo,
    #header-mob .col-cart {
        display: none;
    }

    #header-mob .col-phone,
    #header-mob .header-mob__phone,
    #header-mob .header-mob__phone span {
        font-size: 12px;
    }

    .header-mob__callback-btn {
        width: 100%;
        max-width: 180px;
        min-height: 34px;
        padding: 7px 10px;
        font-size: 13px;
    }
}

@media screen and (max-width: 575px) {
    #header-mob .col-logo {
        display: none;
    }

    #header-mob .col-phone {
        margin-left: auto;
    }
    #header-mob .header-mob__phone,
    #header-mob .header-mob__phone span {
        font-size: 12px;
    }

    #header-mob .header-mob__phone img {
        width: 16px;
        height: 16px;
    }
}

/* BURGER */
.nav-burger {
    position: relative;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.nav-burger span,
.nav-burger span::before,
.nav-burger span::after {
    position: absolute;
    left: 9px;
    width: 22px;
    height: 2px;
    background: #fff;
    transition: transform 0.25s ease, opacity 0.25s ease;
}

.nav-burger span {
    top: 50%;
    transform: translateY(-50%);
}

.nav-burger span::before {
    content: '';
    top: -7px;
    left: 0;
}

.nav-burger span::after {
    content: '';
    top: 7px;
    left: 0;
}

.nav-burger.is-active span {
    background: transparent;
}

.nav-burger.is-active span::before {
    transform: translateY(7px) rotate(45deg);
}

.nav-burger.is-active span::after {
    transform: translateY(-7px) rotate(-45deg);
}

/* OFFCANVAS */
.offcanvas {
    --bs-offcanvas-bg: var(--brand);
    --bs-offcanvas-color: #fff;
    --bs-offcanvas-width: min(320px, 85vw);
}

.offcanvas.show:not(.hiding) {
    transform: none;
    transition: none;
}

.offcanvas.show:not(.hiding) .offcanvas-header,
.offcanvas.show:not(.hiding) .offcanvas-body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.site-logo-text {
    display: block;
    color: #fff;
    font-family: var(--font);
    font-weight: 600;
    font-size: 15px;
    line-height: 1.25;
    text-decoration: none;
}

.site-logo-text:hover,
.site-logo-text:focus-visible {
    color: var(--brand-muted);
}

.offcanvas .offcanvas-header .logo {
    flex: 1;
    min-width: 0;
}

.offcanvas .site-logo-text {
    padding-right: 8px;
}

.offcanvas .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.offcanvas .offcanvas-title {
    color: #fff;
    text-transform: uppercase;
    font-size: 20px;
    font-weight: 500;
}

.offcanvas .block-title,
.offcanvas h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.offcanvas .site-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    margin: 12px 0 0;
    padding: 0;
    list-style: none;
}

.offcanvas .site-nav__item {
    width: 100%;
    margin: 0;
    padding: 0;
}

.offcanvas .site-nav__link {
    display: block;
    padding: 10px 0;
    color: #fff;
    font-weight: 500;
    font-size: 18px;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.offcanvas .site-nav__link:hover,
.offcanvas .site-nav__link:focus-visible {
    color: var(--brand-muted);
}

.offcanvas .site-nav__link.is-active,
.offcanvas .site-nav__link[aria-current="page"] {
    color: var(--accent);
}

.offcanvas .site-nav__dropdown {
    position: static;
    display: block;
    margin: 0 0 0 14px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    list-style: none;
}

.offcanvas-callback {
    margin: 16px 0 0;
}

.offcanvas-callback .header-bottom__callback-btn {
    width: 100%;
}

.offcanvas-contacts {
    margin-top: 30px;
    text-align: center;
}

.offcanvas-contacts .contact-item {
    margin-top: 12px;
    font-size: 14px;
    line-height: 1.3;
}

.offcanvas-contacts .contact-item-label {
    font-weight: 500;
    color: var(--brand-muted);
}

.offcanvas-contacts .contact-item-el a {
    color: #fff;
}

.offcanvas-contacts .contact-item-el a:hover,
.offcanvas-contacts .contact-item-el a:focus-visible {
    color: var(--brand-muted);
}

.offcanvas-contacts .contact-item-label.w-100,
.offcanvas-contacts > .contact-item-label:has(+ .offcanvas-social) {
    display: none;
}

.offcanvas-contacts .site-footer__social {
    justify-content: center;
    margin-top: 8px;
}

.header-bottom__nav .site-nav__item.dropdown:hover > .site-nav__dropdown {
    display: block;
    top: 100%;
    left: 0;
}

/* SLIDER */
#slider-block {
    position: relative;
    --benefits-card-stack: 208px;
    --benefits-card-height: 208px;
    --benefits-card-width: clamp(260px, 28vw, 370px);
    --benefits-icon-size: clamp(60px, 5.5vw, 82px);
    --benefits-gap: clamp(16px, 2.2vw, 30px);
    --benefits-shift: clamp(24px, 2.5vw, 40px);
    --benefits-to-steps: 110px;
    margin-bottom: calc(var(--benefits-card-stack) / 2 + var(--benefits-shift) + var(--benefits-to-steps));
}

#slider-block .view-slayder .view-content {
    margin: 0;
}

#slider-block .view-content:not(.slick-initialized) .views-row {
    display: none;
}

#slider-block .view-content:not(.slick-initialized) .views-row:first-child {
    display: block;
}

#slider-block .slick-list,
#slider-block .slick-track,
#slider-block .slick-slide,
#slider-block .views-row {
    height: clamp(360px, 33vw, 640px);
}

#slider-block .slick-slide > div,
#slider-block .views-row {
    height: 100%;
}

#slider-block .node--type-slide,
#slider-block .node--type-slide .node__content,
#slider-block .slide-item {
    height: 100%;
    min-height: clamp(360px, 33vw, 640px);
}

#slider-block .node--type-slide,
#slider-block .slide-item {
    position: relative;
    overflow: hidden;
}

#slider-block .slide-item__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

#slider-block .slide-item__media .field,
#slider-block .slide-item__media .field__item {
    height: 100%;
}

#slider-block .slide-item__media img {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: 72% center;
}

#slider-block .slide-item__content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

#slider-block .slide-item__content > .container {
    width: 100%;
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

#slider-block .slide-item__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    max-width: 769px;
    margin: 0;
    text-align: left;
    color: #fff;
}

#slider-block .slide-item__text .field-group-html-element,
#slider-block .slide-item__text .group-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 100%;
    max-width: none;
    padding: 0;
    margin: 0;
}

#slider-block .slide-item__text .field {
    margin: 0;
}

#slider-block .slide-item__title,
#slider-block .slide-item__title .field__item,
#slider-block .slide-item__text .field--name-field-slide-title,
#slider-block .slide-item__text .field--name-field-slide-title .field__item,
#slider-block .slide-item__text .field--name-field-slide-title .text-formatted,
#slider-block h1.slide-item__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 700;
    font-size: var(--slider-title-size);
    line-height: 1.2;
    color: #fff;
}

#slider-block .slide-item__body,
#slider-block .slide-item__body .field__item,
#slider-block .slide-item__body p,
#slider-block .slide-item__text .field--name-body,
#slider-block .slide-item__text .field--name-body .field__item,
#slider-block .slide-item__text .field--name-body p {
    margin: 0;
    font-family: var(--font);
    font-weight: 400;
    font-size: clamp(16px, 1.5vw, 22px);
    line-height: 1.2;
    color: #fff;
}

#slider-block .slide-item__text .field--name-body strong,
#slider-block .slide-item__text .field--name-body b {
    font-weight: 400;
}

#slider-block .slide-item__text .field--name-body p + p {
    margin-top: 16px;
}

#slider-block .field--name-field-slide-link,
#slider-block .field--name-field-metatags {
    display: none !important;
}

#slider-block .slick-prev,
#slider-block .slick-next {
    z-index: 3;
    width: 30px;
    height: 30px;
}

#slider-block button.slick-prev.slick-arrow {
    left: 24px;
}

#slider-block button.slick-next.slick-arrow {
    right: 24px;
}

#slider-block ul.slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 18px;
    z-index: 3;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    gap: 8px;
    list-style: none;
}

#slider-block ul.slick-dots li button {
    width: 10px;
    height: 10px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.45);
    font-size: 0;
}

#slider-block ul.slick-dots li button::before {
    display: none;
}

#slider-block ul.slick-dots li.slick-active button {
    background: #fff;
}

/* SLICK GLOBAL */
.slick-prev, .slick-next {
    font-size: 0;
    line-height: 0;
    position: absolute;
    top: calc(50% - 10px);
    display: block;
    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}

button.slick-prev.slick-arrow {
    left: 25px;
}

button.slick-next.slick-arrow {
    right: 25px;
}

ul.slick-dots {
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    list-style: none;
    margin: 10px 0;
}

ul.slick-dots li button {
    background: #686868;
    border-radius: 50%;
    border: none;
    padding: 0;
    width: 10px;
    font-size: 0;
    height: 10px;
    display: block;
}

ul.slick-dots li button::before {
    display: none;
}

ul.slick-dots li.slick-active button {
    background: #272727;
}

button.slick-arrow {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 10;
}

button.slick-arrow::before {
    content: '';
    display: block;
    position: relative;
    width: 30px;
    height: 30px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    font-size: 0;
}

button.slick-prev.slick-arrow::before {
    background-image: url("../image/arrow-top.svg");
    transform: rotate(-90deg);
}

button.slick-next.slick-arrow::before {
    background-image: url("../image/arrow-top.svg");
    transform: rotate(90deg);
}

#slider-block button.slick-prev.slick-arrow::before,
#slider-block button.slick-next.slick-arrow::before {
    filter: brightness(0) invert(1);
}

#scrollToTop {
    width: 40px;
    height: 40px;
    background: #fff;
    text-indent: 0;
    font-size: 0;
    border: 0;
    outline: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    bottom: 108px;
    cursor: pointer;
    position: fixed;
    right: 24px;
    z-index: 10;
    border-radius: 8px;
    padding: 0;
    transition: opacity 0.2s ease;
}

#scrollToTop::before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background: url("../image/svg/arrow-up.svg") center / contain no-repeat;
}

#scrollToTop:hover,
#scrollToTop:focus {
    background: #fff;
    opacity: 0.85;
}

@media (max-width: 991px) {
    #scrollToTop {
        right: 16px;
        bottom: 96px;
        width: 36px;
        height: 36px;
    }

    #scrollToTop::before {
        width: 18px;
        height: 18px;
    }
}

/* FOOTER */
.site-footer {
    background: var(--brand);
    color: #fff;
    font-family: var(--font);
    padding: 48px 0 20px;
}

.site-footer .container {
    max-width: 1170px;
}

.site-footer a {
    color: #fff;
    text-decoration: none;
    cursor: pointer;
}

.site-footer__nav .site-footer-menu__link.is-active,
.site-footer__nav .site-footer-menu__link[aria-current="page"],
.site-footer__nav .site-footer-menu__item.is-active > .site-footer-menu__link {
    color: #bfa5c7;
    color: var(--brand-muted);
    opacity: 1;
}

.site-footer a:hover,
.site-footer a:focus,
.site-footer a:focus-visible {
    color: var(--brand-muted);
    opacity: 1;
}

.site-footer__inner {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.site-footer__brand {
    text-align: center;
}

.site-footer__brand a {
    display: inline-block;
    font-weight: 600;
    font-size: clamp(22px, 2.2vw, 30px);
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
}

.site-footer__brand img {
    display: block;
    width: 641px;
    height: 36px;
    max-width: 100%;
    margin: 0 auto;
    object-fit: contain;
}

.site-footer__brand a:hover,
.site-footer__brand a:focus,
.site-footer__brand a:focus-visible {
    color: var(--brand-muted);
    opacity: 1;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.12fr) minmax(0, 1fr);
    column-gap: 28px;
    row-gap: 24px;
    align-items: start;
}

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

.site-footer__nav .block-title,
.site-footer__nav h2 {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.site-footer__nav--main .site-nav,
.site-footer-menu {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__nav--main .site-nav__item,
.site-footer-menu__item {
    margin: 0;
    padding: 0;
}

.site-footer__nav--main .site-nav__link,
.site-footer-menu__link,
.site-footer__nav--extra a,
.site-footer__nav--catalog a {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
}

.site-footer__nav--main .site-nav__link:hover,
.site-footer__nav--main .site-nav__link:focus-visible,
.site-footer-menu__link:hover,
.site-footer-menu__link:focus-visible,
.site-footer__nav--extra a:hover,
.site-footer__nav--extra a:focus-visible,
.site-footer__nav--catalog a:hover,
.site-footer__nav--catalog a:focus-visible {
    color: var(--brand-muted);
    opacity: 1;
}

.site-footer__nav--main .site-nav__link.is-active,
.site-footer__nav--main .site-nav__link.active,
.site-footer__nav--main .site-nav__link[aria-current="page"],
.site-footer__nav--main .site-nav__item.is-active > .site-nav__link {
    color: #bfa5c7;
    color: var(--brand-muted);
    opacity: 1;
}

.site-footer__nav--main .site-nav__dropdown {
    display: none;
}

.site-footer__nav--catalog .item-list ul,
.site-footer__nav--catalog .views-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__nav--catalog .item-list li,
.site-footer__nav--catalog .views-row {
    margin: 0;
    padding: 0;
}

.site-footer__nav--catalog .field--name-field-catalog-image,
.site-footer__nav--catalog img {
    display: none;
}

.site-footer__requisites {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.site-footer__requisites-title {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
}

.site-footer__requisites-line {
    width: 100%;
    max-width: 210px;
    margin: 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.45);
}

.site-footer__requisites-item {
    font-weight: 400;
    font-size: 16px;
    line-height: 1.2;
}

.site-footer__contacts {
    display: flex;
    flex-direction: column;
    gap: 10px;
    font-weight: 400;
    font-size: 14px;
}

.site-footer__contact {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    color: #fff;
}

.site-footer__contact a,
.site-footer__contact span {
    font-weight: 400;
    font-size: 14px;
}

.site-footer__contact img {
    flex: 0 0 20px;
    margin-top: 1px;
}

.site-footer__address {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.site-footer__address-line {
    display: block;
}

.site-footer__aside {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
}

.site-footer__social {
    display: flex;
    gap: 10px;
}

.site-footer__social-link {
    display: block;
    line-height: 0;
}

.site-footer__social-link img {
    display: block;
    width: 36px;
    height: 36px;
    border-radius: 8px;
}

.site-footer__legal {
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
}

.site-footer__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.12fr) minmax(0, 1fr);
    column-gap: 28px;
    align-items: center;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
}

.site-footer__bottom-link--policy {
    grid-column: 1 / 3;
    white-space: nowrap;
}

.site-footer__bottom-link--vesta {
    grid-column: 3;
}

@media screen and (min-width: 992px) {
    #slider-block .slide-item__content {
        padding-bottom: calc(var(--benefits-card-stack) / 2 + var(--benefits-shift) + 16px);
        box-sizing: border-box;
    }
}

@media screen and (max-width: 1199px) and (min-width: 992px) {
    #slider-block {
        --benefits-shift: calc(clamp(24px, 2.5vw, 40px) + 20px);
    }

    #slider-block .slick-list,
    #slider-block .slick-track,
    #slider-block .slick-slide,
    #slider-block .views-row,
    #slider-block .node--type-slide,
    #slider-block .node--type-slide .node__content,
    #slider-block .slide-item {
        height: clamp(400px, 36vw, 640px);
        min-height: clamp(400px, 36vw, 640px);
    }

    .site-footer {
        padding: clamp(32px, 4vw, 48px) 0 clamp(16px, 2vw, 20px);
    }

    .site-footer__inner {
        gap: 30px;
    }

    .site-footer__grid,
    .site-footer__bottom {
        column-gap: clamp(18px, 2.5vw, 28px);
    }

    .site-footer__grid {
        row-gap: clamp(16px, 2vw, 24px);
    }

    .site-footer__brand img {
        width: clamp(480px, 54vw, 641px);
        height: auto;
    }

    .site-footer-menu,
    .site-footer__nav--catalog .item-list ul,
    .site-footer__nav--catalog .views-row {
        gap: clamp(10px, 1.2vw, 14px);
    }

    .site-footer__nav--main .site-nav__link,
    .site-footer-menu__link,
    .site-footer__nav--extra a,
    .site-footer__nav--catalog a,
    .site-footer__requisites-title,
    .site-footer__requisites-item {
        font-size: clamp(13px, 1.35vw, 16px);
    }

    .site-footer__contact,
    .site-footer__contact a,
    .site-footer__contact span,
    .site-footer__legal,
    .site-footer__bottom {
        font-size: clamp(12px, 1.2vw, 14px);
    }

    .site-footer__social-link img {
        width: clamp(28px, 3vw, 36px);
        height: clamp(28px, 3vw, 36px);
    }

    .site-footer__contact img {
        flex-basis: clamp(16px, 1.6vw, 20px);
        width: clamp(16px, 1.6vw, 20px);
        height: clamp(16px, 1.6vw, 20px);
    }
}

@media screen and (max-width: 991px) {
    .site-footer {
        padding: 32px 0 16px;
    }

    .site-footer__inner {
        gap: 28px;
    }

    .site-footer__grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-areas:
            "nav requisites"
            "catalog contacts";
        column-gap: clamp(20px, 5vw, 40px);
        row-gap: 24px;
        align-items: start;
    }

    .site-footer__col--nav {
        grid-area: nav;
    }

    .site-footer__col--catalog {
        grid-area: catalog;
    }

    .site-footer__col--requisites {
        grid-area: requisites;
    }

    .site-footer__col--contacts {
        grid-area: contacts;
    }

    .site-footer__col--aside {
        display: none;
    }

    .site-footer__bottom {
        grid-template-columns: 1fr 1fr;
        column-gap: 24px;
    }

    .site-footer__bottom-link--policy,
    .site-footer__bottom-link--vesta {
        grid-column: auto;
    }
}

@media screen and (max-width: 575px) {
    .site-footer {
        padding: 28px 0 16px;
    }

    .site-footer__inner {
        gap: 24px;
    }

    .site-footer__brand,
    .site-footer__col--nav,
    .site-footer__col--catalog,
    .site-footer__col--requisites {
        display: none;
    }

    .site-footer__grid {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 20px;
    }

    .site-footer__col--contacts {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        text-align: center;
    }

    .site-footer__contacts {
        align-items: center;
        width: 100%;
    }

    .site-footer__contact {
        justify-content: center;
        text-align: center;
    }

    .site-footer__contact--geo {
        flex-direction: row;
        align-items: flex-start;
        justify-content: center;
        text-align: left;
    }

    .site-footer__address {
        align-items: flex-start;
        text-align: left;
    }

    .site-footer__col--aside {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        gap: 16px;
        text-align: center;
    }

    .site-footer__social {
        justify-content: center;
    }

    .site-footer__legal {
        max-width: 280px;
    }

    .site-footer__bottom {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 12px;
        text-align: center;
    }

    .site-footer__bottom-link--policy {
        white-space: normal;
    }

    .site-footer__bottom-link--policy,
    .site-footer__bottom-link--vesta {
        grid-column: auto;
    }
}

/* PRODUCT PAGE */
.product-teaser {
    display: flex;
    gap: 50px;
}

.product-teaser .product-teaser-image {
    max-width: 500px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider {
    margin: 0 0 10px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .current-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 500px;
    min-width: 500px;
    max-height: 500px;
    min-height: 500px;
    object-fit: cover;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable {
    margin: 0 -5px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide {
    margin: 0 5px;
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
}

.product-teaser .product-teaser-image .field.field--name-field-variation-image.field--type-image .elements .nav-slide.slick-initialized.slick-slider .slick-list.draggable .slick-track .element.slick-slide img {
    max-width: 118px;
    min-width: 118px;
    max-height: 118px;
    min-height: 118px;
    object-fit: cover;
}

.product-teaser .product-teaser-info {
    max-width: 500px;
}

.product-view-full button.slick-prev.slick-arrow {
    left: -25px;
}

.product-view-full button.slick-next.slick-arrow {
    right: -25px;
}


.node--view-mode-full .field--name-body img {
    margin: 0 10px;
}

/* COOKIE DISCLAIMER */
.vpa-container.vpa-short {
    font-family: var(--font);
    position: relative;
    z-index: 10050;
}

.vpa-container.vpa-short #vpa-short-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    position: fixed;
    left: auto;
    right: max(20px, calc((100vw - 1140px) / 2));
    bottom: 16px;
    width: min(840px, calc(100vw - 300px));
    max-width: 840px;
    margin: 0;
    padding: 10px 20px;
    background: #fff;
    border-radius: 20px;
    border-top: 0;
    box-shadow: 0 2px 16px rgba(59, 50, 58, 0.1);
    color: var(--text);
    will-change: auto;
    backface-visibility: visible;
    -webkit-font-smoothing: subpixel-antialiased;
    z-index: 10050;
}

.vpa-container.vpa-short #vpa-short-wrapper.vpa-slide,
.vpa-container.vpa-short #vpa-short-wrapper.vpa-visible {
    transform: none;
}

.vpa-container.vpa-short #vpa-short-wrapper.vpa-visible {
    transition: opacity 0.25s ease, bottom 0.25s ease;
    opacity: 1;
    bottom: 16px;
}

.vpa-container.vpa-short #vpa-short-wrapper .vpa-content,
.vpa-container.vpa-short #vpa-short-wrapper .vpa-content p {
    flex: 1 1 0;
    min-width: 0;
    max-width: none;
    margin: 0;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
    color: var(--text);
}

.vpa-container.vpa-short #vpa-short-wrapper .vpa-content a {
    color: var(--text);
    text-decoration: none;
}

.vpa-container.vpa-short #vpa-short-wrapper .vpa-content a:hover {
    color: var(--brand);
    text-decoration: none;
}

.vpa-container.vpa-short .vpa-actions {
    flex: none;
    margin: 0;
}

.vpa-container.vpa-short #vpa-btn-ok {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-width: 115px;
    height: 42px;
    padding: 10px 22px;
    border: 0;
    border-radius: 30px;
    background: var(--accent);
    font-family: var(--font);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease;
}

.vpa-container.vpa-short #vpa-btn-ok:hover,
.vpa-container.vpa-short #vpa-btn-ok:focus {
    background: var(--accent-dark);
    color: #fff;
    border-color: transparent;
}


/* *** ADAPTIVE *** */
@media screen and (max-width: 1199px) {
    .header-top__contacts {
        gap: 14px;
    }

    .header-top__item {
        font-size: 14px;
    }

    .header-top__item--geo {
        display: none;
    }

    .header-bottom__inner {
        gap: 16px;
    }

    .header-bottom__logo {
        flex-basis: 280px;
        width: 280px;
        max-width: 280px;
    }

    .header-bottom__logo a {
        font-size: 18px;
    }

    .header-bottom__nav .site-nav,
    .header-bottom__nav .navbar-nav {
        gap: 10px;
    }

    .header-bottom__nav .site-nav__link,
    .header-bottom__nav .navbar-nav .nav-link {
        font-size: 12px;
    }

    .header-bottom__callback-btn {
        min-width: 0;
        width: auto;
        min-height: 40px;
        height: auto;
        padding: 10px 14px;
        font-size: 14px;
    }
}

@media screen and (max-width: 767px) {
    .vpa-container.vpa-short #vpa-short-wrapper {
        flex-direction: column;
        align-items: stretch;
        gap: 16px;
        left: 12px;
        right: 12px;
        width: auto;
        max-width: none;
        padding: 16px 20px 20px;
    }

    .vpa-container.vpa-short #vpa-short-wrapper.vpa-visible {
        bottom: 12px;
    }

    .vpa-container.vpa-short #vpa-short-wrapper .vpa-content {
        max-width: none;
    }

    .vpa-container.vpa-short #vpa-btn-ok {
        width: 100%;
    }
}

/* MODAL */
.modal {
    --bs-form-check-input-checked-bg-color: var(--brand);
    --bs-form-check-input-checked-border-color: var(--brand);
    --bs-form-check-input-focus-border: var(--brand);
    --bs-form-check-input-focus-box-shadow: 0 0 0 0.2rem rgba(103, 65, 115, 0.2);
}

.modal-backdrop.show {
    background-color: rgba(103, 65, 115, 0.58);
    backdrop-filter: blur(6px);
}

.modal-content {
    border: 1px solid #ebe3ef;
    border-radius: 12px;
    box-shadow: 0 18px 48px rgba(59, 50, 58, 0.18);
    overflow: hidden;
}

body .modal-dialog:not(.modal-sm):not(.modal-lg):not(.modal-xl) {
    max-width: 600px;
}

.modal-header {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 20px 48px 16px 24px;
    border-bottom: none;
    background: #fff;
}

.modal-title,
.modal-header .modal-title {
    width: 100%;
    margin: 0;
    text-align: center;
    font-family: var(--font);
    font-size: 30px;
    font-weight: 500;
    line-height: 1.2;
    color: var(--text);
}

.modal-header .btn-close,
.modal-header .close {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    margin: 0;
}

.modal .btn-close {
    padding: 8px;
    opacity: 0.45;
}

.modal .btn-close:hover,
.modal .btn-close:focus {
    opacity: 0.9;
    box-shadow: none;
}

.modal-body {
    padding: 16px 24px 24px;
    font-family: var(--font);
    font-size: 18px;
    line-height: 1.2;
    color: var(--text);
    background: #fff;
}

.modal .webform-confirmation,
.modal .webform-confirmation__message,
.modal .webform-confirmation__message p {
    text-align: center;
}

.modal-body .form-item label,
.modal-body .webform-submission-form .form-item:not(.form-type-checkbox) label {
    font-family: var(--font);
    font-weight: 500;
    font-size: 18px;
    color: var(--text);
    margin-bottom: 6px;
}

.modal-body .form-text,
.modal-body .form-email,
.modal-body .form-tel,
.modal-body .form-number,
.modal-body input[type="text"],
.modal-body input[type="email"],
.modal-body input[type="tel"],
.modal-body textarea {
    border: 1px solid var(--brand-muted);
    border-radius: 8px;
    padding: 10px 14px;
    font-family: var(--font);
    font-size: 18px;
    color: var(--text);
    background: #fff;
}

.modal-body .form-text:focus,
.modal-body .form-email:focus,
.modal-body .form-tel:focus,
.modal-body input[type="text"]:focus,
.modal-body input[type="email"]:focus,
.modal-body input[type="tel"]:focus,
.modal-body textarea:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 0.2rem rgba(103, 65, 115, 0.2);
    outline: 0;
}

.modal-body textarea {
    min-height: 96px;
    resize: vertical;
}

.modal-body .form-item {
    margin-bottom: 16px;
}

.modal-body .form-item.form-type-checkbox {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    flex-wrap: wrap;
}

.modal-body .form-item.form-type-checkbox > input[type="checkbox"],
.modal-body .form-item.form-type-checkbox > .form-checkbox,
.modal .form-check-input,
.modal input[type="checkbox"] {
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    margin-top: 2px;
    margin-left: 0;
    border: 1px solid var(--brand-muted);
    border-radius: 4px;
    accent-color: var(--brand);
    cursor: pointer;
    appearance: auto;
}

.modal-body .form-item.form-type-checkbox > input[type="checkbox"]:checked,
.modal .form-check-input:checked,
.modal input[type="checkbox"]:checked {
    background-color: var(--brand);
    border-color: var(--brand);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 14px 14px;
}

.modal-body .form-item.form-type-checkbox > input[type="checkbox"]:focus,
.modal .form-check-input:focus,
.modal input[type="checkbox"]:focus {
    border-color: var(--brand);
    box-shadow: 0 0 0 0.2rem rgba(103, 65, 115, 0.2);
    outline: 0;
}

.modal-body .form-item.form-type-checkbox > label,
.modal-body .form-item.form-type-checkbox label.option,
.modal-body .form-check-label,
.modal-body .form-item.form-type-checkbox > .description {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
    font-size: 18px;
    line-height: 1.2;
    font-weight: 400;
    color: var(--text);
}

.modal-body .form-check {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    padding-left: 0;
    margin: 0;
}

.modal-body a {
    color: var(--text);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.modal-body a:hover,
.modal-body a:focus {
    color: var(--brand);
}

.modal-footer {
    padding: 0 24px 24px;
    border-top: none;
    background: #fff;
    justify-content: stretch;
}

.modal .btn-primary,
.modal .button--primary,
.modal .webform-button--submit,
.modal .form-actions input.button--primary,
.modal .form-actions input[type="submit"].button,
.modal .form-actions button.button,
.modal .form-actions input.form-submit {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: none;
    padding: 14px 22px;
    min-height: 50px;
    border-radius: 30px;
    font-family: var(--font);
    font-size: 18px;
    font-weight: 500;
    line-height: 1.2;
    background: var(--accent);
    border: 0;
    color: #fff;
    cursor: pointer;
    transition: background 0.2s ease;
}

.modal .btn-primary:hover,
.modal .btn-primary:focus,
.modal .button--primary:hover,
.modal .button--primary:focus,
.modal .webform-button--submit:hover,
.modal .webform-button--submit:focus,
.modal .form-actions input[type="submit"].button:hover,
.modal .form-actions input[type="submit"].button:focus,
.modal .form-actions button.button:hover,
.modal .form-actions button.button:focus,
.modal .form-actions input.form-submit:hover,
.modal .form-actions input.form-submit:focus {
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    color: #fff;
}

.modal .form-item--error-message,
.modal strong.error.form-item--error-message {
    color: #d9578a;
    font-weight: 400;
    font-size: 12px;
    line-height: 1.25;
}

.modal-body .form-item--error-message {
    margin-top: 6px;
}

.modal .form-actions {
    width: 100%;
    margin-top: 16px;
    margin-bottom: 0;
}

.modal-body .form-item.form-type-checkbox .form-item--error-message,
.modal-body .form-item.form-type-checkbox > strong.error.form-item--error-message {
    flex: 1 1 100%;
    width: 100%;
    margin: 4px 0 0;
    order: 10;
}

/* BUTTONS */
.header-bottom__callback-btn,
.universities-section__more,
.services-section__more,
.about-section__btn,
.program-card__btn,
.services-card__btn,
.universities-card__btn,
.feedback-panel__lead a,
.feedback-panel__btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 14px 22px;
    border-radius: 30px;
    font-family: var(--font);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
}

.site-header .header-bottom__callback-btn {
    min-height: 44px;
    height: 44px;
    min-width: 168px;
    width: 168px;
    padding: 10px 16px;
    font-size: 18px;
}

/* BENEFITS */
#slider-block .benefits-section {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    padding: 0;
    transform: translateY(calc(50% + var(--benefits-shift)));
    pointer-events: none;
}

#slider-block .benefits-section .container {
    pointer-events: auto;
}

.benefits-section > .container {
    position: relative;
}

.page.front #slider-block + .wr_front_content {
    padding-top: 24px;
}

.benefits-section {
    padding: clamp(32px, 5vw, 56px) 0;
}

.benefits-cards {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: center;
    gap: var(--benefits-gap);
    width: 100%;
    max-width: 1170px;
    margin: 0 auto;
}

.benefits-card {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-self: stretch;
    isolation: isolate;
    flex: 0 1 var(--benefits-card-width);
    width: 100%;
    max-width: var(--benefits-card-width);
    height: auto;
    padding: clamp(12px, 1.2vw, 14px) clamp(10px, 1vw, 14px) clamp(8px, 0.8vw, 10px);
    background: #fff;
    border: 2px solid var(--accent);
    border-radius: clamp(20px, 2vw, 30px);
    overflow: hidden;
}

.benefits-card__decor {
    position: absolute;
    top: 0;
    right: 0;
    width: clamp(72px, 7vw, 102px);
    height: clamp(68px, 6.6vw, 97px);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    pointer-events: none;
    z-index: 0;
}

.benefits-card__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(8px, 0.9vw, 10px);
    width: 100%;
    min-height: 0;
}

.benefits-card__icon {
    display: block;
    flex-shrink: 0;
    width: var(--benefits-icon-size);
    height: var(--benefits-icon-size);
    object-fit: contain;
}

.benefits-card__text {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: clamp(13px, 1.1vw, 16px);
    line-height: 1.25;
    text-align: center;
    color: var(--text);
}

.benefits-cards--drupal .view-content,
.benefits-cards--drupal .field__items {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: center;
    gap: var(--benefits-gap);
    width: 100%;
}

.benefits-cards--drupal .views-row,
.benefits-cards--drupal .field__item {
    display: flex;
    align-self: stretch;
    flex: 0 1 var(--benefits-card-width);
    max-width: var(--benefits-card-width);
    margin: 0;
}

.benefits-cards--drupal .views-row > *,
.benefits-cards--drupal .field__item > * {
    flex: 1;
    width: 100%;
    height: 100%;
}

@media screen and (min-width: 992px) {
    .benefits-card {
        padding: 20px 14px clamp(16px, 2vw, 24px);
    }

    .benefits-card__inner {
        gap: 10px;
    }

    .benefits-card__icon {
        width: 95px;
        height: 95px;
    }

    .benefits-card__text {
        font-size: 18px;
        line-height: 1.2;
    }
}

@media screen and (max-width: 991px) {
    #slider-block {
        display: flex;
        flex-direction: column;
        margin-bottom: 24px;
    }

    #slider-block .benefits-section {
        position: static;
        order: 2;
        transform: none;
        margin-top: 0;
        padding: 16px 0 0;
        pointer-events: auto;
    }

    .benefits-cards,
    .benefits-cards--drupal .view-content,
    .benefits-cards--drupal .field__items {
        flex-wrap: wrap;
        align-items: stretch;
        justify-content: center;
    }

    .benefits-card {
        flex: 1 1 calc((100% - 2 * var(--benefits-gap)) / 3);
        max-width: calc((100% - 2 * var(--benefits-gap)) / 3);
        width: auto;
    }

    .benefits-cards--drupal .views-row,
    .benefits-cards--drupal .field__item {
        flex: 1 1 calc((100% - 2 * var(--benefits-gap)) / 3);
        max-width: calc((100% - 2 * var(--benefits-gap)) / 3);
    }
}

@media screen and (max-width: 575px) {
    .benefits-cards--drupal .views-row,
    .benefits-cards--drupal .field__item {
        flex: 1 1 100%;
        max-width: none;
    }
}

@media screen and (max-width: 767px) {
    #slider-block {
        --benefits-gap: 10px;
        --benefits-icon-size: 52px;
        --benefits-shift: 54px;
        --benefits-to-steps: 48px;
        --benefits-hang: 108px;
        display: block;
        margin-bottom: calc(var(--benefits-hang) + var(--benefits-shift) + var(--benefits-to-steps));
    }

    #slider-block .view-slayder,
    #slider-block .view-content,
    #slider-block .slick-list,
    #slider-block .slick-track {
        overflow: hidden;
    }

    #slider-block .slick-list,
    #slider-block .slick-track,
    #slider-block .slick-slide,
    #slider-block .views-row,
    #slider-block .node--type-slide,
    #slider-block .node--type-slide .node__content,
    #slider-block .slide-item {
        height: clamp(340px, 93vw, 480px);
        min-height: clamp(340px, 93vw, 480px);
    }

    #slider-block .slide-item::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: rgba(103, 65, 115, 0.52);
    }

    #slider-block .slide-item {
        background: var(--brand);
        overflow: hidden;
    }

    #slider-block .slide-item__media {
        inset: 0;
        width: auto;
        z-index: 0;
        overflow: hidden;
    }

    #slider-block .slide-item__media .field,
    #slider-block .slide-item__media .field__item {
        height: 100%;
        overflow: hidden;
    }

    #slider-block .slide-item__media img {
        display: block;
        width: 100%;
        height: 100%;
        max-width: none;
        object-fit: cover;
        object-position: 95% 15%;
        transform: none;
    }

    #slider-block .slide-item__title,
    #slider-block h1.slide-item__title,
    #slider-block .slide-item__text .field--name-field-slide-title,
    #slider-block .slide-item__text .field--name-field-slide-title .field__item {
        margin: 0;
        font-family: var(--font);
        font-weight: 700;
        font-size: clamp(24px, 6.8vw, 30px);
        line-height: 1.15;
        color: #fff;
        text-align: left;
    }

    #slider-block .slide-item__body,
    #slider-block .slide-item__text .field--name-body,
    #slider-block .slide-item__text .field--name-body .field__item {
        color: #fff;
    }

    #slider-block .slide-item__body p,
    #slider-block .slide-item__text .field--name-body p {
        margin: 0;
        font-family: var(--font);
        font-weight: 400;
        font-size: clamp(14px, 3.8vw, 16px);
        line-height: 1.35;
        color: #fff;
        text-align: left;
    }

    #slider-block .slide-item__body p:first-child,
    #slider-block .slide-item__text .field--name-body p:first-child {
        font-size: clamp(15px, 4.2vw, 18px);
        font-weight: 500;
        line-height: 1.3;
    }

    #slider-block .slide-item__text .field--name-body p + p {
        margin-top: 10px;
    }

    #slider-block .slide-item__content {
        align-items: flex-start;
        justify-content: flex-start;
        box-sizing: border-box;
        padding: 20px 16px 0;
        z-index: 2;
    }

    #slider-block .slide-item__content > .container {
        padding: 0 4px;
        width: 100%;
        box-sizing: border-box;
    }

    #slider-block .slide-item__text,
    #slider-block .slide-item__text .field-group-html-element,
    #slider-block .slide-item__text .group-content {
        align-items: flex-start;
        gap: 10px;
        max-width: 92%;
        margin: 0;
        padding-left: 4px;
        text-align: left;
        color: #fff;
    }

    #slider-block .slide-item__text .field--name-body strong,
    #slider-block .slide-item__text .field--name-body b {
        font-weight: 500;
    }

    #slider-block .slick-prev,
    #slider-block .slick-next {
        display: none !important;
    }

    #slider-block .benefits-section {
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 3;
        order: unset;
        margin-top: 0;
        padding: 0 0 2px;
        transform: translateY(calc(50% + var(--benefits-shift)));
        pointer-events: none;
    }

    #slider-block .benefits-section .container {
        pointer-events: auto;
        padding-left: 12px;
        padding-right: 12px;
    }

    #slider-block ul.slick-dots {
        bottom: calc(var(--benefits-hang) + 6px);
    }

    .benefits-cards,
    .benefits-cards--drupal .view-content,
    .benefits-cards--drupal .field__items {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--benefits-gap);
    }

    .benefits-card,
    .benefits-cards--drupal .views-row,
    .benefits-cards--drupal .field__item {
        flex: none;
        width: auto;
        max-width: none;
    }

    .benefits-card:nth-child(3),
    .benefits-cards--drupal .views-row:nth-child(3),
    .benefits-cards--drupal .field__item:nth-child(3) {
        grid-column: 1 / -1;
    }

    .benefits-card {
        min-height: 0;
        padding: 10px 8px 8px;
        border-radius: 18px;
        border-width: 1.5px;
    }

    .benefits-card__decor {
        width: clamp(56px, 16vw, 72px);
        height: clamp(52px, 15vw, 68px);
    }

    .benefits-card__icon {
        width: var(--benefits-icon-size);
        height: var(--benefits-icon-size);
    }

    .benefits-card__text {
        font-size: clamp(12px, 3vw, 13px);
        line-height: 1.2;
    }

    .page.front .steps-section {
        padding-top: 0;
        padding-bottom: 40px;
    }

    .steps-section__title {
        margin-top: 24px;
        margin-bottom: 24px;
        font-size: clamp(22px, 5.5vw, 28px);
    }

    .steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    .steps-grid__item--01 { grid-column: 1; grid-row: 1; }
    .steps-grid__item--02 { grid-column: 2; grid-row: 1; }
    .steps-grid__item--03 { grid-column: 1; grid-row: 2; }
    .steps-grid__item--photo-1 { grid-column: 2; grid-row: 2; }
    .steps-grid__item--04 { grid-column: 1; grid-row: 3; }
    .steps-grid__item--05 { grid-column: 2; grid-row: 3; }
    .steps-grid__item--photo-2 { grid-column: 1; grid-row: 4; }
    .steps-grid__item--06 { grid-column: 2; grid-row: 4; }
    .steps-grid__item--07 { grid-column: 1; grid-row: 5; }
    .steps-grid__item--photo-3 { grid-column: 2; grid-row: 5; }
    .steps-grid__item--mission { grid-column: 1 / -1; grid-row: 6; }

    .steps-card {
        min-height: 0;
        gap: 10px;
        padding: 12px;
        border-radius: 20px;
    }

    .steps-photo {
        min-height: 0;
        border-radius: 20px;
    }

    .steps-photo img {
        min-height: 140px;
        aspect-ratio: 276 / 245;
    }
}

.steps-section,
.about-section,
.feedback-section {
    position: relative;
}

/* STEPS */
.page.front .wr_front_content .region-step {
    display: none;
}

.steps-section {
    padding: clamp(40px, 6vw, 72px) 0;
}

.page.front .steps-section {
    padding-top: 0;
    padding-bottom: 110px;
}

.page.front .universities-section {
    margin-top: 0;
    margin-bottom: 0;
}

.page.front .universities-section + .about-section {
    padding-top: 110px;
}

.page.front .universities-section + .about-section .about-section__content {
    padding-top: 0;
}

.page.front .services-section {
    margin-bottom: 0;
}

.page.front .services-section + .feedback-section {
    padding-top: 110px;
}

.page.front .feedback-section {
    padding-top: 0;
    padding-bottom: 110px;
    margin-bottom: 0;
}

.steps-section__title {
    max-width: 1170px;
    margin: 0 auto 30px;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 22px;
    max-width: 1170px;
    margin: 0 auto;
}

.steps-grid__item--01 { grid-column: 1; grid-row: 1; }
.steps-grid__item--02 { grid-column: 2; grid-row: 1; }
.steps-grid__item--03 { grid-column: 3; grid-row: 1; }
.steps-grid__item--photo-1 { grid-column: 4; grid-row: 1; }
.steps-grid__item--04 { grid-column: 1; grid-row: 2; }
.steps-grid__item--05 { grid-column: 2; grid-row: 2; }
.steps-grid__item--photo-2 { grid-column: 3; grid-row: 2; }
.steps-grid__item--06 { grid-column: 4; grid-row: 2; }
.steps-grid__item--07 { grid-column: 1; grid-row: 3; }
.steps-grid__item--photo-3 { grid-column: 2; grid-row: 3; }
.steps-grid__item--mission { grid-column: 3 / span 2; grid-row: 3; }

@media screen and (max-width: 1199px) and (min-width: 992px) {
    .steps-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .steps-grid__item--01 { grid-column: 1; grid-row: 1; }
    .steps-grid__item--02 { grid-column: 2; grid-row: 1; }
    .steps-grid__item--photo-1 { grid-column: 3; grid-row: 1; }
    .steps-grid__item--03 { grid-column: 1; grid-row: 2; }
    .steps-grid__item--photo-2 { grid-column: 2; grid-row: 2; }
    .steps-grid__item--04 { grid-column: 3; grid-row: 2; }
    .steps-grid__item--photo-3 { grid-column: 1; grid-row: 3; }
    .steps-grid__item--05 { grid-column: 2; grid-row: 3; }
    .steps-grid__item--06 { grid-column: 3; grid-row: 3; }
    .steps-grid__item--07 { grid-column: 1; grid-row: 4; }
    .steps-grid__item--mission { grid-column: 2 / span 2; grid-row: 4; }

    .steps-mission__decor {
        left: 28%;
        width: min(489px, 72%);
        height: auto;
    }

    .steps-mission__title {
        font-size: clamp(40px, 5vw, 62px);
    }

    .steps-card__num {
        font-size: clamp(48px, 6vw, 62px);
    }

    .program-card__btn {
        font-size: 17px;
    }
}

.steps-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    min-height: 245px;
    padding: 14px;
    background: var(--accent-light);
    border-radius: 30px;
}

.steps-card__num {
    font-family: var(--font-display);
    font-weight: 700;
    font-size: 62px;
    line-height: 1;
    letter-spacing: 0;
    text-transform: uppercase;
    color: var(--accent-pale);
    font-variant-numeric: tabular-nums;
}

.steps-card__body {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.steps-card__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    color: var(--text);
}

.steps-card__text {
    margin: 0;
    font-family: var(--font);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    color: var(--text);
}

@media screen and (max-width: 767px) {
    .steps-card__num {
        font-size: 38px;
    }

    .steps-card__title {
        font-size: 18px;
    }

    .steps-card__text {
        font-size: 12px;
        line-height: 1.25;
    }
}

.steps-photo {
    margin: 0;
    min-height: 245px;
    border-radius: 30px;
    overflow: hidden;
}

.steps-photo img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 245px;
    object-fit: cover;
}

.steps-mission {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 245px;
    min-height: 245px;
    padding: 29px 20px;
    border-radius: 30px;
    overflow: hidden;
}

.steps-mission__bg {
    position: absolute;
    inset: 0;
    background: var(--accent);
    border-radius: 30px;
    z-index: 0;
}

.steps-mission__decor {
    position: absolute;
    left: 161px;
    top: 20px;
    width: 489px;
    height: 300px;
    max-width: none;
    object-fit: contain;
    object-position: left top;
    pointer-events: none;
    z-index: 0;
}

.steps-mission__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    max-width: 534px;
}

.steps-mission__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 700;
    font-size: 62px;
    line-height: 1;
    text-transform: uppercase;
    color: var(--accent-pale);
}

.steps-mission__texts {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.steps-mission__texts p {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    color: #fff;
}

.steps-mission__texts .steps-mission__drupal,
.steps-mission__texts .steps-mission__drupal p {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 16px;
    line-height: 1.2;
    color: #fff;
}

@media screen and (max-width: 991px) {
    .steps-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .steps-grid__item--01 { grid-column: 1; grid-row: 1; }
    .steps-grid__item--02 { grid-column: 2; grid-row: 1; }
    .steps-grid__item--03 { grid-column: 1; grid-row: 2; }
    .steps-grid__item--photo-1 { grid-column: 2; grid-row: 2; }
    .steps-grid__item--04 { grid-column: 1; grid-row: 3; }
    .steps-grid__item--05 { grid-column: 2; grid-row: 3; }
    .steps-grid__item--photo-2 { grid-column: 1; grid-row: 4; }
    .steps-grid__item--06 { grid-column: 2; grid-row: 4; }
    .steps-grid__item--07 { grid-column: 1; grid-row: 5; }
    .steps-grid__item--photo-3 { grid-column: 2; grid-row: 5; }
    .steps-grid__item--mission { grid-column: 1 / span 2; grid-row: 6; }

    .steps-mission__decor {
        left: 28%;
        width: min(489px, 72%);
        height: auto;
    }

    .steps-mission__title {
        font-size: clamp(40px, 6vw, 62px);
    }

    .steps-card__num {
        font-size: clamp(48px, 8vw, 62px);
    }
}

@media screen and (max-width: 575px) {
    .steps-section__title {
        font-size: 22px;
    }

    .steps-grid {
        gap: 10px;
    }

    .steps-card__title {
        font-size: 16px;
    }

    .steps-mission {
        min-height: 0;
        height: auto;
        max-height: 180px;
        padding: 16px 14px;
        border-radius: 20px;
    }

    .steps-mission__content {
        gap: 10px;
    }

    .steps-mission__title {
        font-size: clamp(28px, 8vw, 40px);
    }

    .steps-mission__texts p {
        font-size: 12px;
    }

    .steps-mission__texts .steps-mission__drupal p {
        font-size: 13px;
    }
}

@media screen and (max-width: 767px) {
    .steps-mission__decor {
        left: auto;
        right: -12%;
        top: 12px;
        width: 78%;
        height: auto;
    }
}

@media screen and (max-width: 767px) and (min-width: 576px) {
    .steps-mission {
        height: auto;
        min-height: 245px;
    }

    .steps-mission__title {
        font-size: clamp(32px, 10vw, 48px);
    }

    .steps-card__num {
        font-size: clamp(42px, 12vw, 62px);
    }
}

/* UNIVERSITIES */
.universities-section {
    position: relative;
    padding: clamp(40px, 5vw, 60px) 0;
    margin: clamp(24px, 4vw, 40px) 0;
}

.universities-section__bg {
    position: absolute;
    inset: 0;
    max-width: min(1700px, calc(100% - 32px));
    margin: 0 auto;
    left: 0;
    right: 0;
    border-radius: 30px;
    background: url('../image/jpeg/fon_block_university.jpg') center / cover no-repeat;
    overflow: hidden;
    z-index: 0;
}

.universities-section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 1170px;
}

.universities-section:not(.universities-section--page) .universities-section__head + .universities-section__body,
.universities-section:not(.universities-section--page) .universities-section__body + .universities-contacts {
    margin-top: 40px;
}

.universities-section--page .universities-section__body + .universities-contacts {
    margin-top: 40px;
}

.universities-section__body,
.universities-section__body > :last-child,
.universities-section__body .region-content,
.universities-section__body .views-element-container,
.universities-section__body .programs-view,
.universities-section__body .programs-view .view {
    margin-bottom: 0;
}

.universities-section__body .region:not(:has(*)),
.universities-section__body .views-element-container:not(:has(*)),
.universities-section__body .block:not(:has(*)),
.universities-section__body .programs-view .view-footer,
.universities-section__body .programs-view .pager,
.universities-section__body .universities-view .view-footer,
.universities-section__body .universities-view .pager {
    display: none;
    margin: 0;
}

.universities-section__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 30px;
}

.universities-section__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

.universities-section__more {
    background: var(--accent);
}

.universities-section__more:hover {
    color: #fff;
    background: var(--accent-light);
}

.universities-section__body {
    display: flex;
    flex-direction: column;
    gap: 0;
    overflow: visible;
}

.universities-section__body .region-university + .region-content,
.universities-section__body .block:has(.programs-view):not(:first-child),
.universities-section__body .universities-view + .programs-view {
    margin-top: 40px;
}

.universities-section .programs-view .view,
.universities-section .programs-view .view-content {
    overflow: visible;
}

.universities-section .programs-view .view-content {
    padding-top: 0;
    align-items: stretch;
    justify-items: stretch;
}

.universities-section .programs-view .views-row {
    height: auto;
    justify-content: center;
    align-self: stretch;
}

.universities-section .programs-view .views-row > article,
.universities-section .programs-view .views-row > .node--type-programmy {
    width: 370px;
    max-width: 100%;
    height: 100%;
}

.universities-section__body .block {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.universities-section__body .block-title,
.universities-section__body .programs-view .view-header,
.universities-section__body .programs-view .view > h2,
.universities-section__body .programs-view .view > h3 {
    display: none;
}

.universities-section .universities-view .view-header {
    display: block;
    margin: 0 0 30px;
}

.universities-section .universities-view .gh-space__head {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 30px;
    margin: 0;
}

.universities-section .universities-view .gh-space__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

.universities-section .universities-view .gh-btn {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 14px 22px;
    border-radius: 30px;
    border: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease;
    background: var(--accent);
}

.universities-section .universities-view .gh-btn:hover,
.universities-section .universities-view .gh-btn:focus {
    color: #fff;
    background: var(--accent-light);
}

.universities-section__body .view {
    width: 100%;
}

.universities-section__body .view-content {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 40px;
    width: 100%;
    align-items: stretch;
    overflow: visible;
}

.universities-section__body .views-row {
    display: flex;
    min-width: 0;
    margin: 0;
    overflow: visible;
    height: 100%;
}

.universities-section__body .views-row > article {
    width: 100%;
    margin: 0;
    height: 100%;
}

.universities-section__body .block {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    box-shadow: none;
}

.universities-section .views-row > .universities-card,
.universities-section .views-row > .node--type-universitety.node--view-mode-teaser,
.universities-section .universities-view .views-row > :is(article, .node--type-universitety):not(.program-card) {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 20px 16px;
    background: #fff;
    border-radius: 30px;
    filter: drop-shadow(2px 2px 8px rgba(113, 55, 136, 0.25));
}

.page.front .universities-section:not(.universities-section--page) .views-row > .universities-card,
.page.front .universities-section:not(.universities-section--page) .views-row > .node--type-universitety.node--view-mode-teaser,
.page.front .universities-section:not(.universities-section--page) .universities-view .views-row > :is(article, .node--type-universitety):not(.program-card) {
    min-height: 571px;
}

.universities-card {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px 16px;
    background: #fff;
    border-radius: 30px;
    filter: drop-shadow(2px 2px 8px rgba(113, 55, 136, 0.25));
}

.page.front .universities-section:not(.universities-section--page) .universities-card {
    height: 100%;
    min-height: 571px;
}

.universities-card__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 26px;
    line-height: 1.2;
    color: var(--text);
}

.universities-card__title h2,
.universities-card__title h3,
.universities-card__title .field__item {
    margin: 0;
    font: inherit;
    color: inherit;
}

.universities-card__title a {
    color: inherit;
    text-decoration: none;
}

.universities-card__title a:hover {
    color: var(--brand);
}

.universities-section .node--type-universitety:not(.universities-card) .field--name-title,
.universities-section .node--type-universitety:not(.universities-card) .field-node-title {
    padding-bottom: 16px;
    margin: 0 0 16px;
    border-bottom: 1px solid var(--brand);
}

.universities-section .node--type-universitety:not(.universities-card) .field--name-title h2,
.universities-section .node--type-universitety:not(.universities-card) .field--name-title h3,
.universities-section .node--type-universitety:not(.universities-card) .field-node-title h2,
.universities-section .node--type-universitety:not(.universities-card) .field-node-title h3 {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 26px;
    line-height: 1.2;
    color: var(--text);
}

.universities-card__line {
    width: 100%;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    background-color: var(--brand);
    opacity: 1;
}

.universities-card__body {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex: 1;
    font-family: var(--font);
    font-weight: 400;
    font-size: 14px;
    line-height: 1.2;
    color: var(--text);
}

.universities-card__body .field,
.universities-card__body .field__item {
    margin: 0;
}

.universities-card__body .field__label {
    display: none;
}

.universities-card__body p {
    margin: 0;
}

.universities-card__body ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.universities-card__body ul li {
    position: relative;
    padding-left: 16px;
    margin-bottom: 8px;
}

.universities-card__body ul li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.45em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent);
}

.universities-card__body .field--type-link,
.universities-card__body .node__links,
.universities-card__body .links {
    display: none;
}

.universities-card:has(.universities-card__btn) .universities-card__body a {
    display: none;
}

.universities-card__btn {
    align-self: flex-start;
    flex-shrink: 0;
    margin-top: auto;
    min-width: 146px;
    border: 2px solid var(--accent);
    background: transparent;
    color: var(--accent);
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.universities-card__btn:hover,
.universities-card__btn:focus-visible {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    text-decoration: none;
}

.universities-card__btn:visited {
    color: var(--accent);
}

.universities-card__btn:visited:hover,
.universities-card__btn:visited:focus-visible {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.program-card,
.universities-section .views-row > .node--type-programmy.node--view-mode-teaser,
.universities-section .programs-view .views-row > :is(article, .node--type-programmy):not(.universities-card) {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    max-width: 370px;
    height: 100%;
    min-height: 303px;
    max-height: none;
    padding: 25px 21px;
    border: 0;
    border-radius: 30px;
    overflow: hidden;
    isolation: isolate;
    background: radial-gradient(194.22% 194.22% at 50% 50%, var(--accent) 0%, #fff 100%);
    box-shadow: 2px 2px 8px rgba(113, 55, 136, 0.25);
}

.program-card__media {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    width: 108px;
    height: 115px;
    pointer-events: none;
}

.program-card__media--language,
.program-card__media--degree {
    top: 0;
    right: 0;
    width: 108px;
    height: 115px;
}

.program-card__media .field,
.program-card__media .field__item,
.program-card__media .media,
.program-card__media .blazy,
.program-card__media .media--blazy {
    margin: 0;
}

.program-card__media .field__label {
    display: none;
}

.program-card__media img,
.program-card__media .media__element {
    display: block;
    width: 108px;
    height: 115px;
    object-fit: contain;
    object-position: right top;
}

.program-card__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    gap: 23px;
    width: 100%;
    min-height: 0;
    overflow: hidden;
}

.program-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    gap: 12px;
    width: 100%;
    box-sizing: border-box;
}

.program-card__title {
    margin: 0;
    width: 100%;
    font-family: var(--font);
    font-weight: 600;
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
}

.program-card__title h2,
.program-card__title h3,
.program-card__title .field__item {
    margin: 0;
    font: inherit;
    color: inherit;
}

.program-card__title a {
    color: inherit;
    text-decoration: none;
}

.program-card__body {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
    width: 100%;
    overflow: hidden;
}

.program-card__body .field,
.program-card__body .field__item {
    margin: 0;
}

.program-card__body .field__label {
    display: none;
}

.program-card__body p {
    margin: 0 0 8px;
}

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

.program-card__body p:empty {
    display: none;
    margin: 0;
}

.program-card__body ul,
.program-card__body ol {
    margin: 0 0 8px;
    padding-left: 1.2em;
}

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

.program-card__body .field--type-link,
.program-card__body .node__links,
.program-card__body .links,
.program-card__body a {
    display: none;
}

.program-card__btn {
    position: relative;
    z-index: 3;
    align-self: flex-start;
    flex-shrink: 0;
    min-width: 249px;
    margin-top: auto;
    color: var(--accent);
    background: #fff;
    border: 2px solid #fff;
    box-shadow: none;
    pointer-events: auto;
    text-align: center;
    justify-content: center;
    transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.program-card__btn:hover,
.program-card__btn:focus-visible {
    color: #fff;
    text-decoration: none;
    background: var(--accent-dark);
    border-color: var(--accent-dark);
    box-shadow: none;
}

.program-card__btn:visited {
    color: var(--accent);
}

.program-card__btn:visited:hover,
.program-card__btn:visited:focus-visible {
    color: #fff;
}

.universities-section .node--type-programmy.node--view-mode-teaser:not(.program-card) .program-card__btn,
.universities-section .node--type-programmy .program-card__btn {
    display: inline-flex;
}

@media screen and (min-width: 576px) {
    .program-card__inner {
        flex: 1;
    }

    .program-card__btn {
        margin-top: auto;
    }
}

.universities-section .node--type-programmy:not(.program-card) .node__links,
.universities-section .node--type-programmy:not(.program-card) .links,
.universities-section .node--type-programmy:not(.program-card) .field--type-link,
.universities-section .node--type-programmy:not(.program-card) .program-card__body a {
    display: none;
}

.universities-section .node--type-programmy:not(.program-card) .field--name-title,
.universities-section .node--type-programmy:not(.program-card) .field-node-title {
    margin: 0;
    font-family: var(--font);
    font-weight: 600;
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
}

.universities-section .node--type-programmy:not(.program-card) .field--name-title h2,
.universities-section .node--type-programmy:not(.program-card) .field--name-title h3,
.universities-section .node--type-programmy:not(.program-card) .field-node-title h2,
.universities-section .node--type-programmy:not(.program-card) .field-node-title h3 {
    margin: 0;
    font: inherit;
    color: inherit;
}

.universities-section .programs-view .views-row > article:not(.universities-card) h2,
.universities-section .programs-view .views-row > article:not(.universities-card) h3,
.universities-section .programs-view .views-row > article:not(.universities-card) .node__content {
    color: #fff;
    font-family: var(--font);
}

.universities-section .programs-view .views-row > article:not(.universities-card) h2,
.universities-section .programs-view .views-row > article:not(.universities-card) h3 {
    font-weight: 600;
    font-size: 30px;
    line-height: 1.2;
    margin: 0 0 12px;
}

.universities-section .programs-view .views-row > article:not(.universities-card) .node__content {
    font-weight: 500;
    font-size: 18px;
    line-height: 1.2;
}

.universities-section .universities-view .views-row > article:not(.program-card) h2,
.universities-section .universities-view .views-row > article:not(.program-card) h3 {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 26px;
    line-height: 1.2;
    color: var(--text);
}

.universities-section .universities-view .views-row > article:not(.program-card) h2 a,
.universities-section .universities-view .views-row > article:not(.program-card) h3 a {
    color: inherit;
    text-decoration: none;
}

.universities-section .universities-view .views-row > article:not(.program-card) .node__content {
    font-size: 14px;
    line-height: 1.2;
    color: var(--text);
}

.universities-contacts {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 20px;
    width: 100%;
    max-width: 1170px;
    min-height: 156px;
    height: 156px;
    margin: 0 auto;
    padding: 0 29px;
    background: #fff;
    border-radius: 30px;
    box-shadow: 2px 2px 8px rgba(113, 55, 136, 0.25);
}

.universities-contacts__title {
    margin: 0;
    width: 100%;
    font-family: var(--font);
    font-weight: 500;
    font-size: 30px;
    line-height: 1.2;
    color: var(--text);
}

.universities-contacts__list {
    display: flex;
    width: 100%;
    flex-wrap: nowrap;
    align-items: center;
    gap: 32px;
}

.universities-contacts__item {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
    font-family: var(--font);
    font-weight: 400;
    font-size: 22px;
    line-height: 1.2;
    color: var(--text);
    text-decoration: none;
    white-space: nowrap;
}

.universities-contacts__item:hover {
    color: var(--brand);
}

.universities-contacts__item img {
    flex-shrink: 0;
    width: 30px;
    height: 30px;
}

@media screen and (max-width: 1199px) {
    .universities-section__inner,
    .services-section__inner {
        padding-left: 32px;
        padding-right: 32px;
    }

    .universities-contacts {
        height: auto;
        min-height: 0;
        padding: 24px 24px;
    }

    .universities-contacts__title {
        font-size: clamp(22px, 3vw, 28px);
    }

    .universities-contacts__list {
        flex-wrap: wrap;
        gap: 20px 24px;
    }

    .universities-contacts__item {
        font-size: clamp(16px, 2.2vw, 20px);
        white-space: normal;
    }

    .universities-contacts__item img {
        width: 26px;
        height: 26px;
    }
}

@media screen and (max-width: 991px) {
    .universities-section .universities-view .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .page.front .universities-section:not(.universities-section--page) .universities-view .view-content > .views-row:nth-child(3) {
        display: none;
    }

    .universities-section .programs-view .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .universities-contacts {
        padding: 20px 18px;
        gap: 16px;
    }

    .universities-contacts__list {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .universities-contacts__item {
        width: 100%;
        font-size: 18px;
        gap: 12px;
    }

    .universities-contacts__item img {
        width: 24px;
        height: 24px;
    }
}

@media screen and (max-width: 991px) and (min-width: 576px) {
    .page.front .universities-section:not(.universities-section--page) .universities-card,
    .page.front .universities-section:not(.universities-section--page) .universities-view .views-row > article:not(.program-card) {
        min-height: 420px;
    }
}

@media screen and (max-width: 575px) {
    .universities-section__inner {
        padding-left: 15px;
        padding-right: 15px;
    }

    .universities-section__bg {
        display: none;
    }

    .universities-section .universities-view .view-content {
        grid-row: 2;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .universities-section .universities-view {
        display: grid;
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .universities-section .universities-view .view-header {
        display: contents;
        margin: 0;
    }

    .universities-section .universities-view .gh-space__head {
        display: contents;
    }

    .universities-section .universities-view .gh-space__title {
        grid-row: 1;
        margin: 0;
    }

    .universities-section .universities-view .gh-btn {
        grid-row: 3;
        justify-self: center;
        margin: 0;
    }

    .universities-card__title,
    .universities-card__title h2,
    .universities-card__title h3,
    .universities-card__title .field__item,
    .universities-section .node--type-universitety:not(.universities-card) .field--name-title h2,
    .universities-section .node--type-universitety:not(.universities-card) .field--name-title h3,
    .universities-section .node--type-universitety:not(.universities-card) .field-node-title h2,
    .universities-section .node--type-universitety:not(.universities-card) .field-node-title h3 {
        font-size: 15px;
    }

    .universities-section__body .views-row > article:not(.universities-card):not(.node--type-universitety) {
        height: auto;
        min-height: 0;
        max-height: none;
        align-self: start;
    }

    .page.front .universities-section:not(.universities-section--page) .universities-view .view-content > .views-row:nth-child(3) {
        display: block;
        grid-column: 1 / -1;
    }

    .universities-section .universities-view .views-row {
        height: 100%;
        align-self: stretch;
        min-width: 0;
    }

    .universities-section .views-row > .universities-card,
    .universities-section .views-row > .node--type-universitety.node--view-mode-teaser,
    .universities-section .universities-view .views-row > :is(article, .node--type-universitety):not(.program-card),
    .page.front .universities-section:not(.universities-section--page) .views-row > .universities-card,
    .page.front .universities-section:not(.universities-section--page) .views-row > .node--type-universitety.node--view-mode-teaser,
    .page.front .universities-section:not(.universities-section--page) .universities-view .views-row > :is(article, .node--type-universitety):not(.program-card),
    .page.front .universities-section:not(.universities-section--page) .universities-card,
    .page.front .universities-section:not(.universities-section--page) .universities-view .views-row > article:not(.program-card) {
        height: auto;
        min-height: 0;
        max-height: none;
        min-width: 0;
    }

    .universities-card {
        display: flex;
        flex-direction: column;
        overflow: visible;
        padding: 12px 10px;
        gap: 8px;
    }

    .universities-card__title,
    .universities-card__title h2,
    .universities-card__title h3,
    .universities-card__title .field__item,
    .universities-section .node--type-universitety.universities-card .field--name-title,
    .universities-section .node--type-universitety.universities-card .field-node-title {
        flex-shrink: 0;
        display: block;
        overflow: visible;
        -webkit-line-clamp: unset;
        line-clamp: unset;
    }

    .universities-card__line {
        flex-shrink: 0;
        margin: 0;
    }

    .universities-card__body,
    .universities-card__body .field__item,
    .universities-section .node--type-universitety.universities-card .field--name-body,
    .universities-section .node--type-universitety.universities-card .node__content {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        font-size: 12px;
        line-height: 1.2;
    }

    .universities-card__body p:not(:first-child),
    .universities-card__body ul {
        display: none;
    }

    .universities-card__body p:first-child,
    .universities-card__body .field__item > :first-child {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
        line-clamp: 6;
    }

    .universities-card__body p,
    .universities-card__body li {
        margin: 0;
    }

    .universities-card__btn {
        flex-shrink: 0;
        align-self: stretch;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 36px;
        margin-top: auto;
        padding: 8px 10px;
        text-align: center;
        justify-content: center;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .universities-section .programs-view .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.program-card) > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.node--type-programmy) > .views-row:nth-child(3) {
        grid-column: 1 / -1;
    }

    .universities-section .programs-view .views-row {
        height: 100%;
        align-self: stretch;
    }

    .program-card,
    .universities-section .views-row > .node--type-programmy.node--view-mode-teaser,
    .universities-section .programs-view .views-row > .node--type-programmy,
    .universities-section .programs-view .program-card,
    .universities-section .programs-view .views-row > .node--type-programmy.node--view-mode-teaser {
        height: 100%;
        min-height: 235px;
    }

    .program-card__inner {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
        gap: 10px;
    }

    .program-card__content {
        flex: 1 1 auto;
        display: flex;
        flex-direction: column;
        min-height: 0;
        gap: 8px;
        width: 100%;
        overflow: hidden;
    }

    .program-card__btn {
        align-self: stretch;
        width: 100%;
        min-width: 0;
        min-height: 0;
        margin-top: auto;
        flex-shrink: 0;
        padding: 7px 10px;
        font-size: 12px;
        text-align: center;
        justify-content: center;
    }

    .program-card__title,
    .program-card__title h2,
    .program-card__title h3,
    .program-card__title .field__item,
    .universities-section .programs-view .views-row > article:not(.universities-card) h2,
    .universities-section .programs-view .views-row > article:not(.universities-card) h3 {
        flex-shrink: 0;
        margin: 0;
        min-height: 0;
        font-size: 16px;
        line-height: 1.2;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: manual;
    }

    .page.front .universities-section:not(.universities-section--page) .universities-card {
        height: auto;
        min-height: 0;
    }

    .program-card__body,
    .universities-section .programs-view .views-row > article:not(.universities-card) .node__content {
        flex: 1 1 auto;
        min-height: 0;
        width: 100%;
        overflow: hidden;
    }

    .program-card__body .field,
    .universities-section .programs-view .views-row > article:not(.universities-card) .node__content {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        min-height: 0;
        margin: 0;
        font-size: 12px;
        line-height: 1.3;
    }

    .program-card__body .field__item,
    .program-card__body .text-formatted,
    .universities-section .programs-view .views-row > article:not(.universities-card) .node__content {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 7;
        line-clamp: 7;
    }

    .program-card__body p,
    .program-card__body li,
    .universities-section .programs-view .views-row > article:not(.universities-card) .node__content p,
    .universities-section .programs-view .views-row > article:not(.universities-card) .node__content li {
        margin: 0;
    }

    .program-card__body ul,
    .universities-section .programs-view .views-row > article:not(.universities-card) .node__content ul {
        margin: 0;
        padding-left: 14px;
    }

    .universities-section .programs-view .view-content > .views-row:nth-child(3) .program-card__body .field__item,
    .universities-section .programs-view .view-content > .views-row:nth-child(3) .program-card__body .text-formatted {
        -webkit-line-clamp: 10;
        line-clamp: 10;
    }

    .page.front .steps-section {
        padding-bottom: 50px;
    }

    .page.front .universities-section + .about-section {
        padding-top: 30px;
    }

    .page.front .about-section {
        padding-bottom: 20px;
    }

    .page.front .services-section {
        margin-top: 4px;
    }

    .page.front .services-section + .feedback-section {
        padding-top: 50px;
    }

    .page.front .feedback-section {
        padding-bottom: 50px;
    }

    .universities-contacts__title {
        font-size: 18px;
    }

    .universities-contacts__item {
        font-size: 15px;
    }
}

@media screen and (max-width: 768px) and (min-width: 575px) {
    .universities-card__title,
    .universities-section .node--type-universitety:not(.universities-card) .field--name-title h2,
    .universities-section .node--type-universitety:not(.universities-card) .field--name-title h3,
    .universities-section .node--type-universitety:not(.universities-card) .field-node-title h2,
    .universities-section .node--type-universitety:not(.universities-card) .field-node-title h3 {
        font-size: 22px;
    }

    .universities-section .programs-view .view-content,
    .universities-section__body .view-content:has(.program-card),
    .universities-section__body .view-content:has(.node--type-programmy) {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .page-programs .universities-section--page .universities-section__body .view-content {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .page.front .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.program-card) > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.node--type-programmy) > .views-row:nth-child(3) {
        grid-column: 1 / -1;
    }

    .program-card,
    .universities-section .programs-view .views-row > .node--type-programmy,
    .universities-section .programs-view .program-card,
    .universities-section .programs-view .views-row > .node--type-programmy.node--view-mode-teaser,
    .universities-section__body .view-content:has(.program-card) .program-card,
    .universities-section__body .view-content:has(.node--type-programmy) .program-card {
        width: 100%;
        max-width: none;
    }
}

@media screen and (max-width: 767px) {
    .universities-card,
    .universities-section .universities-view .views-row > article:not(.program-card) {
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
        max-height: none;
    }

    .program-card,
    .universities-section .views-row > .node--type-programmy.node--view-mode-teaser,
    .universities-section .programs-view .views-row > .node--type-programmy {
        width: 100%;
        max-width: none;
        height: auto;
        min-height: 0;
    }

    .program-card__media,
    .program-card__media--language,
    .program-card__media--degree {
        top: 0;
        right: 0;
        width: 108px;
        height: 115px;
    }

    .program-card__btn {
        min-width: 0;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
}

@media screen and (max-width: 575px) {
    .program-card__media,
    .program-card__media--language,
    .program-card__media--degree {
        width: 65px;
        height: 65px;
    }

    .program-card__media img,
    .program-card__media .media__element {
        width: 65px;
        height: 65px;
        opacity: 0.4;
    }
}

@media screen and (max-width: 767px) and (min-width: 575px) {
    .program-card,
    .universities-section .views-row > .node--type-programmy.node--view-mode-teaser,
    .universities-section .programs-view .views-row > .node--type-programmy {
        height: 100%;
        min-height: 303px;
    }

    .program-card__btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        width: 100%;
    }
}

/* ABOUT SECTION */
.about-section {
    padding: clamp(40px, 6vw, 72px) 0;
    overflow-x: clip;
}

.about-section > .container {
    max-width: 1170px;
}

.about-section__layout {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

.about-section__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    flex: 0 0 570px;
    width: 570px;
    max-width: 570px;
    min-width: 0;
    min-height: 490px;
    padding-top: 0;
}

.about-section__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

.about-section__text {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

.about-section__text .field,
.about-section__text .field__item,
.about-section__text .text-formatted {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.about-section__text p {
    margin: 0;
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--text);
}

.about-section__text ul {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.about-section__text li {
    position: relative;
    padding-left: 30px;
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--text);
}

.about-section__text li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 3px;
    width: 20px;
    height: 20px;
    background: url('../image/svg/access.svg') center / contain no-repeat;
}

.about-section__text p:empty {
    display: none;
}

.about-section__text a {
    display: none;
}

.about-section__text img,
.about-section__text figure,
.about-section__text .field--name-field-image,
.about-section__text .field--type-image {
    display: none;
}

.about-section__features {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
}

.about-section__feature {
    display: flex;
    align-items: center;
    gap: 10px;
}

.about-section__feature-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
}

.about-section__feature span {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: var(--text);
}

.about-section__btn {
    min-width: 146px;
    border: 2px solid var(--accent);
    background: transparent;
    color: var(--accent);
}

.about-section__btn:hover {
    background: var(--accent);
    color: #fff;
}

.about-section__media {
    flex: 0 0 750px;
    width: 750px;
    max-width: 750px;
    min-width: 0;
    margin: 0;
}

.about-section__media img {
    display: block;
    width: 750px;
    height: 520px;
    max-width: 100%;
    object-fit: contain;
}

@media screen and (max-width: 1529px) {
    .about-section__media {
        flex: 0 1 750px;
        width: auto;
    }

    .about-section__media img {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 991px) {
    .about-section__layout {
        flex-direction: column;
        align-items: stretch;
        gap: clamp(16px, 3vw, 24px);
    }

    .about-section__content,
    .about-section__media {
        flex: 1 1 auto;
        width: auto;
        max-width: 100%;
        min-height: 0;
    }

    .about-section__text p,
    .about-section__text li {
        font-size: clamp(13px, 3.5vw, 16px);
        line-height: 1.4;
    }

    .about-section__text li {
        padding-left: clamp(22px, 6vw, 30px);
    }

    .about-section__text li::before {
        top: 2px;
        width: clamp(16px, 4.5vw, 20px);
        height: clamp(16px, 4.5vw, 20px);
    }

    .about-section__btn {
        min-width: clamp(120px, 32vw, 146px);
        min-height: clamp(40px, 10vw, 50px);
        padding: clamp(10px, 2.5vw, 14px) clamp(18px, 4vw, 22px);
        font-size: clamp(14px, 3.6vw, 18px);
    }

    .about-section__media img {
        width: 100%;
        max-width: min(750px, 100%);
        height: auto;
        aspect-ratio: 750 / 520;
        object-fit: contain;
        margin: 0 auto;
    }

    .about-section__features {
        max-width: 100%;
    }
}

/* FEEDBACK SECTION */
.feedback-section {
    padding: clamp(40px, 6vw, 72px) 0;
}

.feedback-section__inner {
    max-width: 1170px;
}

.feedback-panel {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 470px;
    padding: 91px 42px;
    border-radius: 30px;
    overflow: hidden;
    background: var(--accent-light) url('../image/jpeg/img_ФОС.jpg') center / cover no-repeat;
}

.feedback-panel__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 30px;
    width: 100%;
    max-width: 567px;
}

.feedback-panel__text {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 100%;
    max-width: 521px;
}

.feedback-panel__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 600;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.2;
    color: #fff;
}

.feedback-panel__title-accent {
    color: #9455e2;
}

.feedback-panel__lead {
    width: 100%;
    max-width: 521px;
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: var(--text);
}

.feedback-panel__lead p {
    margin: 0;
}

.feedback-panel__lead a,
.feedback-panel__btn {
    color: var(--accent);
    background: #fff;
}

.feedback-panel__lead a:hover,
.feedback-panel__btn:hover {
    color: var(--accent);
    background: var(--accent-pale);
}

@media screen and (max-width: 991px) {
    .feedback-panel {
        min-height: 360px;
        padding: 48px 24px;
    }

    .feedback-panel__content {
        max-width: 100%;
    }
}

@media screen and (max-width: 767px) {
    .feedback-panel {
        min-height: 320px;
        padding: 36px 20px;
    }
}

@media screen and (max-width: 575px) {
    .feedback-panel {
        min-height: 280px;
        padding: 28px 18px;
        background-color: var(--accent-light);
        background-image: none;
    }

    .feedback-panel__title {
        font-size: var(--h2-size);
    }

    .feedback-panel__lead {
        font-size: clamp(14px, 4vw, 18px);
    }
}

/* SERVICES SECTION */
.services-section {
    position: relative;
    padding: clamp(40px, 5vw, 60px) 0;
    margin: clamp(24px, 4vw, 40px) 0;
}

.services-section__bg {
    position: absolute;
    inset: 0;
    max-width: min(1700px, calc(100% - 32px));
    margin: 0 auto;
    left: 0;
    right: 0;
    border-radius: 30px;
    background: url('../image/jpeg/fon_block_uslugi.jpg') center / cover no-repeat;
    overflow: hidden;
    z-index: 0;
}

.services-section__inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    gap: 20px;
    max-width: 1170px;
}

.services-section__head {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 20px;
    align-items: start;
}

.services-section__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    grid-column: 1;
    min-width: 0;
}

.services-section__lead {
    max-width: 100%;
    margin: 0;
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: var(--text);
}

.services-section__lead p {
    margin: 0;
}

.services-section__lead > * {
    margin-top: 0;
}

.services-section__lead p + p {
    margin-top: 8px;
}

.services-section__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1;
    color: var(--text);
}

.services-section__title + .services-section__lead {
    margin-top: 20px;
}

.services-section__more {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: start;
    background: var(--accent);
}

.services-section__more:hover {
    color: #fff;
    background: var(--accent-light);
}

.services-section__body .block,
.services-section__body .view {
    margin: 0;
    width: 100%;
}

.services-section__body > .region,
.services-section__body .region {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 20px;
    width: 100%;
}

.services-section--has-intro .services-section__body .region > .block:not(:has(.view)),
.services-section--has-intro .services-section__body > .block:not(:has(.view)) {
    display: none;
}

.services-section__body .region > .block:has(.view),
.services-section__body > .block:has(.view) {
    grid-column: 1 / -1;
}

.services-section__body .block:not(:has(.view)) .field--name-body {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: var(--text);
}

.services-section__body .block:not(:has(.view)) .field--name-body p {
    margin: 0;
}

.services-section__body .block:not(:has(.view)) .field--name-body p + p {
    margin-top: 8px;
}

.services-section__body .block-title,
.services-section__body .view > h2,
.services-section__body .view > h3,
.services-section__body .view-header,
.services-section__body .view-footer {
    display: none;
}

.services-section__body .view-content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    align-items: stretch;
    margin-top: 0;
}

.services-section__body .views-row {
    display: contents;
}

.services-card {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    min-height: 300px;
    padding: 25px 21px;
    gap: 10px;
    background: radial-gradient(194.22% 194.22% at 50% 50%, #a06dce 0%, #fff 100%);
    border: 2px solid rgba(255, 255, 255, 0.8);
    border-radius: 30px;
    overflow: hidden;
}

.services-card__inner {
    position: relative;
    z-index: 2;
    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    align-self: stretch;
    gap: 40px;
    min-height: 0;
    width: 100%;
}

.services-card__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    align-self: stretch;
    gap: 12px;
}

.services-card__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 600;
    font-size: 30px;
    line-height: 1.2;
    color: #fff;
}

.services-card__title a {
    color: inherit;
    text-decoration: none;
}

.services-card__body {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.2;
    color: #fff;
}

.services-card__body .field__label {
    display: none;
}

.services-card__body p {
    margin: 0 0 8px;
}

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

.services-card__body a {
    display: none;
}

.services-card__btn {
    position: relative;
    z-index: 2;
    align-self: flex-start;
    flex-shrink: 0;
    min-width: 144px;
    color: var(--accent);
    background: #fff;
    border: 2px solid #fff;
}

.services-card__btn:hover,
.services-card__btn:focus-visible {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
    text-decoration: none;
}

.services-card__btn:visited:hover,
.services-card__btn:visited:focus-visible {
    background: var(--accent);
    border-color: var(--accent);
    color: #fff;
}

.services-card__btn:visited {
    color: var(--accent);
}

.services-card__media {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    width: 213px;
    height: 150px;
    pointer-events: none;
}

.services-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: right bottom;
}

@media screen and (max-width: 991px) {
    .services-section {
        margin: 24px 0;
        padding: 32px 0;
    }

    .services-section__bg {
        display: none;
    }

    .services-section__head {
        display: contents;
    }

    .services-section__intro {
        grid-column: 1;
        grid-row: 1;
    }

    .services-section__more {
        grid-column: 1;
        grid-row: 3;
        justify-self: center;
    }

    .services-section__body {
        grid-row: 2;
    }

    .services-section__inner {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .services-section--page .services-section__inner,
    .page-service-catalog .services-section__inner {
        gap: 20px;
        padding-left: clamp(15px, 4vw, 32px);
        padding-right: clamp(15px, 4vw, 32px);
    }

    .services-section__body .region > .block:not(:has(.view)),
    .services-section__body > .block:not(:has(.view)) {
        grid-column: 1 / -1;
    }

    .services-section__body .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px;
    }

    .services-card {
        min-height: 220px;
        padding: 18px 16px;
        overflow: hidden;
    }

    .services-card__inner {
        gap: 24px;
    }

    .services-card__title {
        font-size: clamp(18px, 4.2vw, 24px);
    }

    .services-card__body {
        font-size: clamp(14px, 3.5vw, 16px);
    }

    .services-card__media {
        width: clamp(100px, 28vw, 160px);
        height: clamp(70px, 20vw, 112px);
    }
}

@media screen and (max-width: 767px) {
    .services-section__body .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .services-card {
        min-height: 200px;
        padding: 14px 12px;
    }

    .services-card__inner {
        gap: 16px;
    }

    .services-card__title {
        font-size: clamp(16px, 4vw, 20px);
    }

    .services-card__body {
        font-size: clamp(12px, 3.2vw, 14px);
    }

    .services-card__media {
        width: clamp(72px, 22vw, 100px);
        height: clamp(52px, 16vw, 72px);
    }
}

/* CONTACTS PAGE */
.contacts-page {
    padding: clamp(24px, 4vw, 48px) 0 clamp(40px, 6vw, 72px);
}

.contacts-page__head {
    margin-bottom: clamp(20px, 3vw, 32px);
}

.contacts-page__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

.contacts-page__panel {
    margin-bottom: 40px;
    padding: 32px 36px;
    background: #fff;
    border-radius: 30px;
    box-shadow: 2px 2px 8px rgba(113, 55, 136, 0.25);
}

.contacts-page__list {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.contacts-page__item {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.3;
    color: var(--text);
    text-decoration: none;
}

a.contacts-page__item:hover {
    color: var(--brand);
}

.contacts-page__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: var(--brand);
}

.contacts-page__icon img {
    display: block;
    width: 20px;
    height: 20px;
}

.contacts-page__address {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.contacts-page__content .block-title {
    display: none;
}

.contacts-page__content .block {
    margin-bottom: 0;
}

.contacts-page__map {
    margin-bottom: 40px;
}

.contacts-page__map .mapContainer {
    min-height: 400px;
    border-radius: 30px;
    overflow: hidden;
}

.header-bottom__nav .block:not(.block-menu),
.region-callback,
.block-vesta-theme-knopkaostavitzayavku,
.site-footer__nav--main .block:not(.block-menu) {
    display: none;
}

@media screen and (max-width: 767px) {
    .contacts-page {
        padding: 28px 0 40px;
    }

    .contacts-page__panel {
        padding: 24px 20px;
    }

    .contacts-page__item {
        font-size: 18px;
    }
}

/* SECTION PAGES */
.page-service-catalog-item .wr_content > .container {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

.page-service-catalog-item .node--type-uslugi.node--view-mode-full .field--name-node-title {
    display: none;
}

.page-service-catalog-item .node--type-uslugi .field--name-node-link,
.page-service-catalog-item .node--type-uslugi .services-card__btn,
.page-service-catalog-item .node--type-uslugi .field--name-field-podrobnee {
    display: none;
}

.page.not-front .wr_content:not(.wr_content--section):not(.contacts-page) {
    padding: 40px 0 60px;
}

.wr_content--section {
    padding-bottom: 0;
}

.section-page__top {
    padding-top: 28px;
    padding-bottom: 8px;
}

.wr_content--section .section-page__top.container,
.wr_content--section .program-page.container,
.wr_content--section .university-page.container,
.wr_content--section .faq-page__inner.container,
.wr_content--section .gallery-section__inner.container,
.wr_content--section .about-section__inner.container,
.wr_content--section .universities-section__inner.container,
.wr_content--section .services-section__inner.container,
.contacts-page > .container {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

.section-page__top .breadcrumb {
    margin: 0;
}

/* Внутренние страницы — ритм как /photogallery */
.wr_content--section .gallery-section,
.about-section.about-section--page,
.universities-section.universities-section--page,
.services-section.services-section--page {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: clamp(24px, 4vw, 48px);
    padding-bottom: clamp(40px, 6vw, 72px);
}

.wr_content--section .program-page,
.wr_content--section .university-page {
    padding-top: clamp(24px, 4vw, 48px);
    padding-bottom: clamp(40px, 6vw, 72px);
}

.gallery-section__head,
.faq-page__head,
.contacts-page__head,
.universities-section--page .universities-section__head,
.services-section--page .services-section__head {
    margin-bottom: clamp(20px, 3vw, 32px);
}

.gallery-section__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

.about-section--page .about-section__content {
    gap: clamp(20px, 3vw, 32px);
}

@media screen and (min-width: 992px) {
    .services-section--page .services-section__inner {
        gap: 0;
    }
}

.page-programs .universities-section__body .universities-view {
    display: none;
}

.page-programs .universities-section__body .block:has(.programs-view),
.page-programs .universities-section__body .programs-view,
.page-programs .universities-section__body .programs-view .view,
.page-programs .universities-section__body .universities-view + .programs-view {
    margin-top: 0;
}

.universities-section--page .universities-section__body .view-content {
    grid-template-columns: 1fr;
    row-gap: 24px;
    align-items: start;
}

.page-universities .universities-section__body .views-row,
.page-universities .universities-section__body .views-row > *,
.page-universities .universities-section__body .views-field,
.page-universities .universities-section__body .field-content,
.page-universities .universities-section .universities-card,
.page-universities .universities-section .views-row .universities-card,
.page-universities .universities-section .views-row > .node--type-universitety,
.page-universities .universities-section .universities-view .views-row > :is(article, .node--type-universitety):not(.program-card) {
    width: 100%;
    max-width: none;
    height: auto;
    min-height: unset;
    max-height: none;
}

.page-universities .universities-section--page .universities-view .view-header {
    display: none;
}

.page-universities .universities-section .universities-card__body {
    flex: none;
    height: auto;
}

.page-programs .universities-section--page .universities-section__body .view-content {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 22px;
    row-gap: 40px;
    align-items: stretch;
}

.page-programs .universities-section--page .programs-view .view-header {
    display: none;
}

.page-programs .universities-section .programs-view .views-row > article,
.page-programs .universities-section .programs-view .views-row > .node--type-programmy,
.page-programs .universities-section .programs-view .program-card,
.page-programs .universities-section .programs-view .views-row > .node--type-programmy.node--view-mode-teaser {
    width: 100%;
    max-width: none;
    height: 100%;
}

@media screen and (max-width: 991px) {
    .page-programs .universities-section--page .universities-section__body .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 768px) {
    .page-programs .universities-section--page .universities-section__body .view-content {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .page-programs .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .page-programs .universities-section__body .view-content:has(.program-card) > .views-row:nth-child(3),
    .page-programs .universities-section__body .view-content:has(.node--type-programmy) > .views-row:nth-child(3),
    .page-programs .universities-section--page .universities-section__body .view-content > .views-row:nth-child(3) {
        grid-column: auto;
    }

    .page-programs .universities-section .programs-view .view-content > .views-row:last-child:nth-child(odd),
    .page-programs .universities-section__body .view-content > .views-row:last-child:nth-child(odd),
    .page-programs .universities-section--page .universities-section__body .view-content > .views-row:last-child:nth-child(odd) {
        grid-column: 1 / -1;
    }
}

@media screen and (max-width: 575px) {
    .page-programs .universities-section--page .universities-section__body .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .page-programs .universities-section .programs-view .views-row {
        height: 100%;
        align-self: stretch;
    }

    .page-programs .universities-section .programs-view .views-row > article,
    .page-programs .universities-section .programs-view .views-row > .node--type-programmy,
    .page-programs .universities-section .programs-view .program-card {
        height: auto;
        min-height: 0;
    }
}

@media screen and (max-width: 575px) {
    #page,
    #main {
        max-width: 100%;
        overflow-x: clip;
    }

    #header-mob {
        grid-template-columns: auto minmax(0, 1fr) minmax(0, auto);
        gap: 6px;
        max-width: 100%;
        box-sizing: border-box;
    }

    #header-mob .col-phone {
        margin-left: 0;
        min-width: 0;
        max-width: 100%;
    }

    .header-mob__callback-btn {
        max-width: min(180px, 42vw);
        padding: 7px 8px;
    }

    #header-mob .header-mob__phone {
        min-width: 0;
        max-width: 100%;
    }

    #header-mob .header-mob__phone span {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    #slider-block {
        width: 100%;
        max-width: 100%;
        overflow-x: clip;
        --benefits-hang: 140px;
        --benefits-to-steps: 48px;
        --slider-text-safe: clamp(158px, 36vw + 48px, 206px);
        margin-bottom: calc(var(--benefits-hang) + var(--benefits-shift) + var(--benefits-to-steps));
    }

    #slider-block .view-slayder,
    #slider-block .view-slayder .view-content,
    #slider-block .slick-list {
        max-width: 100%;
    }

    #slider-block .slick-list,
    #slider-block .slick-track,
    #slider-block .slick-slide,
    #slider-block .views-row,
    #slider-block .node--type-slide,
    #slider-block .node--type-slide .node__content,
    #slider-block .slide-item {
        height: min(480px, 93vw);
        min-height: min(480px, 93vw);
    }

    #slider-block .slide-item__media {
        width: 100%;
    }

    #slider-block .slide-item__media img {
        object-position: clamp(90%, 18vw + 34%, 100%) 15%;
    }

    #slider-block .slide-item__title,
    #slider-block h1.slide-item__title,
    #slider-block .slide-item__text .field--name-field-slide-title,
    #slider-block .slide-item__text .field--name-field-slide-title .field__item {
        font-size: clamp(20px, 5.4vw, 26px);
    }

    #slider-block .slide-item__body p,
    #slider-block .slide-item__text .field--name-body p {
        font-size: clamp(12px, 3.2vw, 14px);
        line-height: 1.32;
    }

    #slider-block .slide-item__body p:first-child,
    #slider-block .slide-item__text .field--name-body p:first-child {
        font-size: clamp(13px, 3.5vw, 15px);
    }

    #slider-block .slide-item__text .field--name-body p + p {
        margin-top: 8px;
    }

    #slider-block .slide-item__content {
        padding: 16px 16px var(--slider-text-safe);
    }

    #slider-block .slide-item__text,
    #slider-block .slide-item__text .field-group-html-element,
    #slider-block .slide-item__text .group-content {
        gap: 8px;
    }

    #slider-block .benefits-section {
        width: 100%;
        max-width: 100%;
    }

    #slider-block .benefits-section .container {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
        box-sizing: border-box;
    }

    .benefits-card,
    .benefits-cards--drupal .views-row,
    .benefits-cards--drupal .field__item {
        min-width: 0;
    }

    .benefits-card__text {
        width: 100%;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 5;
        line-clamp: 5;
        overflow-wrap: anywhere;
    }

    .program-card,
    .universities-section .views-row > .node--type-programmy.node--view-mode-teaser,
    .universities-section .programs-view .views-row > .node--type-programmy,
    .universities-section .programs-view .program-card,
    .universities-section .programs-view .views-row > .node--type-programmy.node--view-mode-teaser {
        min-height: 235px;
        padding: 16px 14px 14px;
    }

    .services-section__body .view-content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        align-items: stretch;
        min-width: 0;
    }

    .services-section__inner {
        padding-left: 15px;
        padding-right: 15px;
        gap: 10px;
        min-width: 0;
        max-width: 100%;
    }

    .services-section--page .services-section__inner,
    .page-service-catalog .services-section__inner {
        gap: 20px;
        padding-left: 15px;
        padding-right: 15px;
    }

    .services-section__body {
        min-width: 0;
        max-width: 100%;
    }

    .services-card {
        box-sizing: border-box;
        min-width: 0;
        min-height: 215px;
        height: 100%;
        padding: 12px 10px 10px;
        gap: 8px;
        justify-content: flex-start;
        overflow: hidden;
    }

    .services-card__inner {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        gap: 8px;
        justify-content: flex-start;
        width: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .services-card__content {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
        gap: 6px;
        min-height: 0;
        width: 100%;
        overflow: hidden;
    }

    .services-card__title {
        flex-shrink: 0;
        margin: 0;
        min-height: calc(3 * 1.2em);
        font-size: 15px;
        line-height: 1.2;
        overflow: visible;
        display: block;
        overflow-wrap: normal;
        word-break: normal;
        hyphens: manual;
    }

    .services-card__body {
        flex: 0 0 auto;
        width: 100%;
        max-height: calc(7 * 1.3em);
        font-size: 12px;
        line-height: 1.3;
        color: #fff;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 7;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .services-card__body * {
        display: inline;
        margin: 0;
        padding: 0;
    }

    .services-card__body p + p::before {
        content: ' ';
    }

    .services-card__body ul,
    .services-card__body ol,
    .services-card__body br,
    .services-card__body a,
    .services-card__body .field__label {
        display: none;
    }

    .services-card__media {
        width: 64px;
        height: 46px;
    }

    .services-card__btn {
        align-self: stretch;
        width: 100%;
        min-width: 0;
        min-height: 32px;
        margin-top: auto;
        flex-shrink: 0;
        padding: 6px 8px;
        font-size: 12px;
        text-align: center;
        justify-content: center;
    }
}

.program-page__title,
h1.program-page__title {
    margin: 0 0 clamp(20px, 3vw, 32px);
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h1-size);
    line-height: 1.2;
    color: var(--text);
}

.program-page .region-content,
.program-page .block,
.program-page .node--type-programmy.node--view-mode-full {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.program-page .node--type-programmy.node--view-mode-full,
.program-page .node--type-programmy.node--view-mode-full .text-formatted {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--text);
}

.program-page .node--type-programmy.node--view-mode-full h1,
.program-page .node--type-programmy.node--view-mode-full .field--name-title,
.program-page .node--type-programmy.node--view-mode-full .field-node-title,
.program-page .node--type-programmy.node--view-mode-full .field--name-node-title,
.program-page .program-card__btn {
    display: none;
}

.program-page .node--type-programmy.node--view-mode-full .field--name-body,
.program-page .node--type-programmy.node--view-mode-full .field--name-field-opisanie {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--text);
}

.university-page .universities-card__btn {
    display: none;
}

.university-page .node--type-universitety.node--view-mode-full,
.university-page .node--type-universitety.node--view-mode-full .text-formatted {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--text);
}

.university-page .node--type-universitety.node--view-mode-full h1,
.university-page .node--type-universitety.node--view-mode-full .field--name-title h1 {
    margin: 0 0 clamp(20px, 3vw, 32px);
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h1-size);
    line-height: 1.2;
    color: var(--text);
}

.university-page .node--type-universitety.node--view-mode-full .field--name-body,
.university-page .node--type-universitety.node--view-mode-full .field--name-field-opisanie {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.4;
    color: var(--text);
}

.universities-section--page .universities-section__more,
.services-section--page .services-section__more,
.about-section--page .about-section__btn {
    display: none;
}

.services-section--page .services-section__head {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 22px;
}

.about-section--page .view > h2,
.about-section--page .view > h3,
.universities-section--page .view > h2,
.universities-section--page .view > h3,
.services-section--page .view > h2,
.services-section--page .view > h3,
.about-section--page .block-title,
.universities-section--page .block-title,
.services-section--page .block-title,
.about-section--page .view-header,
.universities-section--page .view-header,
.services-section--page .view-header {
    display: none;
}

.page-service-catalog .services-section__body .webform-submission-form,
.page-service-catalog .services-section__body .webform-submission-data,
.page-service-catalog .services-section__body .webform-confirmation {
    display: none;
}

.about-section--page .node--type-about.node--view-mode-full > h2,
.about-section--page .node--type-about.node--view-mode-full .node__title {
    display: none;
}

/* FAQ PAGE */
.wr_content--section.faq-page {
    padding: 40px 0 60px;
}

.faq-page__head {
    margin-bottom: clamp(20px, 3vw, 32px);
}

.faq-page__title {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: var(--h2-size);
    line-height: 1.2;
    color: var(--text);
}

h1.contacts-page__title,
h1.about-section__title,
h1.universities-section__title,
h1.gallery-section__title,
h1.program-page__title,
h1.services-section__title,
h1.faq-page__title {
    font-size: var(--h1-size);
}

.faq-page__body .block-title,
.faq-page__body .view > h2,
.faq-page__body .view > h3,
.faq-page__body .view-header,
.faq-page__body .tabs,
.faq-page__body nav.tabs {
    display: none;
}

.faq-accordion {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
    max-width: min(730px, 78%);
    margin-left: 0;
    margin-right: auto;
}

.faq-accordion__item {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: 2px 2px 8px rgba(113, 55, 136, 0.15);
}

.faq-accordion__header {
    margin: 0;
}

.faq-accordion__button {
    padding: 18px 52px 18px 20px;
    font-family: var(--font);
    font-weight: 600;
    font-size: 18px;
    line-height: 1.3;
    color: var(--text);
    background: #fff;
    box-shadow: none;
}

.faq-accordion__button:not(.collapsed) {
    color: var(--brand);
    background: #f3eef8;
    border-bottom: 1px solid rgba(103, 65, 115, 0.16);
}

.faq-accordion__button:focus {
    border-color: transparent;
    box-shadow: none;
}

.faq-accordion__button::after {
    background-size: 16px;
    opacity: 0.7;
}

.faq-accordion__body {
    padding: 12px 16px 16px;
    background: #f3eef8;
}

.faq-accordion__answer {
    padding: 16px 18px;
    background: #fff;
    border-left: 4px solid var(--accent);
    border-radius: 12px;
    box-shadow: inset 0 0 0 1px rgba(103, 65, 115, 0.08);
}

.faq-accordion__answer,
.faq-accordion__answer .field,
.faq-accordion__answer .field__item,
.faq-accordion__answer .text-formatted {
    font-family: var(--font);
    font-weight: 400;
    font-size: 18px;
    line-height: 1.45;
    color: var(--text);
}

.faq-accordion__answer p {
    margin: 0 0 10px;
}

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

@media screen and (max-width: 767px) {
    .wr_content--section.faq-page {
        padding: 28px 0 40px;
    }

    .faq-accordion {
        max-width: 100%;
        margin-left: 0;
    }

    .faq-accordion__button {
        font-size: 18px;
        padding: 16px 44px 16px 16px;
    }
}

@media screen and (max-width: 575px) {
    :root {
        --h1-size: 32px;
        --h2-size: 22px;
    }

    h1 {
        font-size: var(--h1-size);
        line-height: 1.2;
    }

    h2 {
        font-size: var(--h2-size);
        line-height: 1.2;
    }

    .page.not-front .program-page .node--type-programmy.node--view-mode-full,
    .page.not-front .program-page .node--type-programmy.node--view-mode-full .text-formatted,
    .page.not-front .program-page .node--type-programmy.node--view-mode-full .field--name-body,
    .page.not-front .program-page .node--type-programmy.node--view-mode-full .field--name-field-opisanie,
    .page.not-front .university-page .node--type-universitety.node--view-mode-full,
    .page.not-front .university-page .node--type-universitety.node--view-mode-full .text-formatted,
    .page.not-front .university-page .node--type-universitety.node--view-mode-full .field--name-body,
    .page.not-front .university-page .node--type-universitety.node--view-mode-full .field--name-field-opisanie,
    .page.not-front .about-section--page .about-section__text p,
    .page.not-front .about-section--page .about-section__text li,
    .page.not-front .services-section--page .services-section__lead,
    .page.not-front .services-section--page .services-section__lead p,
    .page.not-front .faq-accordion__answer,
    .page.not-front .faq-accordion__answer .text-formatted,
    .page.not-front .contacts-page__item,
    .page.not-front .page-service-catalog-item .node--type-uslugi.node--view-mode-full .text-formatted,
    .page.not-front .page-service-catalog-item .node--type-uslugi.node--view-mode-full .field--name-body,
    .page.not-front .wr_content:not(.wr_content--section) .text-formatted,
    .page.not-front .wr_content:not(.wr_content--section) .field--name-body {
        font-size: 14px;
    }

    .services-section--page .services-section__title,
    .page-service-catalog .services-section__title {
        font-size: var(--h1-size);
        white-space: normal;
    }

    .services-section__lead,
    .services-section__lead p {
        font-size: 14px;
    }

    .header-bottom__callback-btn,
    .offcanvas-callback .header-bottom__callback-btn,
    .header-mob__callback-btn,
    .universities-section__more,
    .universities-section .universities-view .gh-btn,
    .services-section__more,
    .about-section__btn,
    .universities-card__btn,
    .feedback-panel__lead a,
    .feedback-panel__btn,
    .modal .btn-primary,
    .modal .button--primary,
    .modal .webform-button--submit,
    .modal .form-actions input.button--primary,
    .modal .form-actions input[type="submit"].button,
    .modal .form-actions button.button,
    .modal .form-actions input.form-submit,
    #main .btn:not(.btn-close),
    #main .button:not(.btn-close),
    #main input.form-submit,
    #main input[type="submit"].button,
    #main button.button--primary,
    #main .webform-button--submit,
    .vpa-container.vpa-short #vpa-btn-ok {
        font-size: 14px;
    }
}

/* PHOTOGALLERY */
.page-photogallery .gallery-section__body > .block,
.page-photogallery .gallery-section__body > .region {
    margin: 0;
}

.page-photogallery .gallery-section__body .node--type-photogallery {
    margin: 0;
}

.page-photogallery .gallery-section__body .field__label {
    display: none;
}

.page-photogallery .gallery-section__body .field__items,
.page-photogallery .gallery-section__body .blazy.b-nativegrid,
.page-photogallery .gallery-section__body .is-b-nativegrid,
.page-photogallery .gallery-section__body .b-nativegrid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-auto-rows: auto;
    gap: 14px;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    overflow: visible;
    list-style: none;
}

.page-photogallery .gallery-section__body .blazy.b-nativegrid > .grid,
.page-photogallery .gallery-section__body .is-b-nativegrid > .grid,
.page-photogallery .gallery-section__body .b-nativegrid > .grid,
.page-photogallery .gallery-section__body .field__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
    max-width: 100%;
    margin: 0 !important;
    min-height: 0;
    min-width: 0;
}

.page-photogallery .gallery-section__body .grid__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
}

.page-photogallery .gallery-section__body .media--blazy,
.page-photogallery .gallery-section__body .blazy--on,
.page-photogallery .gallery-section__body .media,
.page-photogallery .gallery-section__body .media__wrapper,
.page-photogallery .gallery-section__body .litebox,
.page-photogallery .gallery-section__body a[data-b-blur] {
    width: 100%;
    max-width: 270px;
    border-radius: 30px;
    overflow: hidden;
}

.page-photogallery .gallery-section__body .field img:not(.pswp__img),
.page-photogallery .gallery-section__body .media__element {
    display: block;
    width: 100%;
    max-width: 270px;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 30px;
}

.page-photogallery .gallery-section__body .media--switch img {
    visibility: visible;
    opacity: 1;
    position: static;
    z-index: auto;
}

.page-photogallery .gallery-section__body .blazy__caption {
    width: 100%;
    max-width: 270px;
    margin: 0;
    padding: 0 4px;
    text-align: center;
}

.page-photogallery .gallery-section__body .blazy__caption--title,
.page-photogallery .gallery-section__body .blazy__caption h2 {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 20px;
    line-height: 1.35;
    color: var(--text);
    text-align: center;
    text-transform: none;
}

.page-photogallery .gallery-section__body .blazy__caption--alt,
.page-photogallery .gallery-section__body .blazy__caption p {
    margin: 0;
    font-family: var(--font);
    font-weight: 500;
    font-size: 20px;
    line-height: 1.35;
    color: var(--text);
}

@media screen and (min-width: 576px) {
    .page-photogallery .gallery-section__body .field__items,
    .page-photogallery .gallery-section__body .blazy.b-nativegrid,
    .page-photogallery .gallery-section__body .is-b-nativegrid,
    .page-photogallery .gallery-section__body .b-nativegrid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 18px;
    }
}

@media screen and (min-width: 992px) {
    .page-photogallery .gallery-section__body .field__items,
    .page-photogallery .gallery-section__body .blazy.b-nativegrid,
    .page-photogallery .gallery-section__body .is-b-nativegrid,
    .page-photogallery .gallery-section__body .b-nativegrid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 22px;
    }
}

@media screen and (max-width: 575px) {
    .page-photogallery .gallery-section__body .blazy__caption--title,
    .page-photogallery .gallery-section__body .blazy__caption h2 {
        font-size: 22px;
    }

    .page-photogallery .gallery-section__body .blazy__caption--alt,
    .page-photogallery .gallery-section__body .blazy__caption p {
        font-size: 16px;
    }
}

@media screen and (min-width: 575px) and (max-width: 768px) {
    .universities-section .programs-view .view-content,
    .universities-section__body .view-content:has(.program-card),
    .universities-section__body .view-content:has(.node--type-programmy),
    .page-programs .universities-section--page .universities-section__body .view-content {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 12px;
        row-gap: 16px;
        align-items: stretch;
    }

    .page.front .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.program-card) > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.node--type-programmy) > .views-row:nth-child(3) {
        grid-column: 1 / -1;
    }

    .universities-section .programs-view .views-row,
    .universities-section__body .view-content:has(.program-card) .views-row {
        min-width: 0;
    }

    .universities-section .programs-view .views-row > .program-card,
    .universities-section .programs-view .views-row > article.node--type-programmy,
    .universities-section__body .view-content:has(.program-card) .program-card,
    .universities-section__body .view-content:has(.node--type-programmy) .program-card,
    .page-programs .universities-section .programs-view .program-card {
        width: 100%;
        max-width: none;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 574px) {
    .universities-section .programs-view .view-content > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.program-card) > .views-row:nth-child(3),
    .universities-section__body .view-content:has(.node--type-programmy) > .views-row:nth-child(3) {
        grid-column: 1 / -1;
    }
}
