/*OVERRIDES AND MONKEYHACKS*/
.container {
    max-width: 1440px;
}

.container-wrapper {
    box-sizing: border-box;
    padding: 0 27px;
}

/* Шапка в потоке (как на ИНТЦ) — отступ под fixed больше не нужен */
.header-top-space {
    margin-top: 0;
}

.link.big {
    font-size: 16px;
    line-height: 22px;
    display: flex;
    align-items: center;
    padding: 3px 0;
}

.link {
    border-color: currentColor;
}

.blue-link {
    color: #148EFF;
}

/*project*/
.projects__card--bkg {
    position: relative;
}

.projects__card--bkg .bkg {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.projects__card--bkg *:not(.bkg) {
    z-index: 2;
}

.projects__card--border {
    border-color: #E1E5EF;
    border-radius: 2px;
}

.projects-list .project-item .projects__card-top {
    background: none;
    justify-content: center;
    border-color: #E1E5EF;
    max-height: 265px;
    min-height: 173px;
}

.projects-list .project-item .projects__card-top img {
    max-height: 144px;
    width: auto;
    object-fit: contain;
}

.projects__card-c {
    min-height: 154px;
}

.projects__card-link {
    font-size: 16px;
    padding-bottom: 7px;
}

.projects__card-link span {
    margin-right: 5px;
}

.projects__card--bkg .bkg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.projects-list-block { 
    width: 100%;
    padding-top: 61px;
}

.projects-list-block.small-padding {
    padding-top: 25px;
}

.projects-list-block .projects-list-block-holder { 
    display: inline-block;
    width: 100%;
    box-sizing: border-box;
    padding: 26px 32px 60px;
    border-radius: 2px 0 0 2px;
    background: var(--Grayscale-White, #FFF);
}

.projects-list-block .projects-list-block-holder>.heading { 
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 36px;
}

.projects-list-block .projects-list-block-holder .heading .text { 
    display: flex;
    gap: 14px;
    align-items: center;
}

.projects-list-block .projects-list-block-holder .heading .text h2,
.projects-list-block .projects-list-block-holder .heading .text .h2 { 
    margin: 0;
    font-family: "CanelaDeck";
    font-size: 44px;
    font-style: normal;
    font-weight: 500;
    line-height: 56px; /* 127.273% */
}

.projects-list-block .projects-list-block-holder .heading .text sub { 
    font-family: Noah;
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 28px; /* 127.273% */
    color: #A7A5A6;
}

.projects-list-block .projects-list-block-holder .heading .action { 
    transform: translateY(7px);
}

.projects-list { 
    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 8px);
    margin-left: -4px;
    row-gap: 8px;
}

.projects-list .project-item { 
    width: 25%;
    height: auto;
    box-sizing: border-box;
    padding: 0 4px;
    margin: 0;
}

.projects-list .project-item .projects__card {
    margin: 0;
    width: 100%;
    height: 100%;
    min-height: 285px;
    padding: 29px;
}

.projects__card-txt.big {
    font-family: Noah;
    font-size: 24px;
    line-height: 28px;
}

/*nav*/
.nav {
    min-height: 601px;
}

.nav__ttl {
    margin-bottom: 0;
}

.nav__mid {
    padding: 47px 0 0 17px;
}

/*BUTTON*/
.btn {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    line-height: 22px;
    padding: 15px 23px;
    border-radius: 100px;
    background-color: white;
    border: 1px solid white;
    color: #231F20;
    transition: all 400ms;
}
@media (hover: hover) {
    .btn:hover {
        background-color: #E1E5EF;
        border-color: #E1E5EF;
        transition: all 400ms;
    }
}

.btn.btn-outline {
    border-color: #E1E5EF;
}

/*END OVERRIDES AND MONKEYHACKS*/

/* Админ-панель Битрикса: остаётся видимой при прокрутке (поверх шапки) */
#bx-panel {
    position: sticky !important;
    top: 0 !important;
    z-index: 1100 !important;
}

/*HEADER — как на ИНТЦ: в документе, прилипает при скролле; не перекрывает контент.
   При #bx-panel top задаётся в header-menu.js (= высота панели), чтобы шапка была под ней. */
.header { 
    position: sticky;
    z-index: 10;
    top: 0;
    left: 0;
    width: 100%;
    min-height: 55px;
    height: auto;
    background-color: white;
}

.header.header-fixed {
    position: sticky;
}

.header .header-holder { 
    display: flex;
    align-items: center;
    gap: 40px;
    width: 100%;
    box-sizing: border-box;
    padding-left: 25px;
    padding-top: 5px;
}

.header .header-holder .logo { 

}

.header .header-holder .logo .logo-holder { 
    display: flex;
    align-items: center;
    gap: 2px;
}

.header .header-holder .logo .logo-holder .logo { 
    color: #621E9B;
}

.header .header-holder .logo .logo-holder .logo svg { 

}

.header .header-holder .logo .logo-holder .arrow { 
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #621E9B;
}

.header .header-holder .logo .logo-holder .arrow svg { 

}

.header .header-holder .menu { 
    flex-grow: 1;
}

.header .header-holder .menu nav { 

}

.header .header-holder .menu nav ul { 
    display: flex;
    gap: 17px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.header .header-holder .menu nav ul li { 
    padding: 15px 8px;
    font-family: PT Root UI VF;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    line-height: 18px;
    letter-spacing: 0%;

}

.header .header-holder .menu nav ul li a { 
    color: #262733;
    transition: all 400ms;
    display: block;
    position: relative;
}
@media (hover: hover) {
    .header .header-holder .menu nav ul li a:hover { 
        color: #8C59B7;
        transition: all 400ms;
    }
}

.header .header-holder .menu nav ul li a::after {
    content: "";
    display: block;
    width: calc(100% + 16px);
    position: absolute;
    left: -8px;
    bottom: -14px;
    border: 2px solid #8C59B7;
    opacity: 0;
    transition: all 400ms;
}

.header .header-holder .menu nav ul li a.current { 
    color: #8C59B7;
    pointer-events: none;
}

.header .header-holder .menu nav ul li a.current::after {
    opacity: 1;
    transition: all 400ms;
}

.header .header-holder .socials { 

}

/*MAIN EVENTS*/
.main-events-block { 
    width: 100%;
    box-sizing: border-box;
    padding: 99px 0 0;
}

.main-events-block .main-events-block-holder { 
    display: inline-block;
    width: 100%;
}

.main-events-block .main-events-block-holder>.heading { 
    width: 100%;
    margin-bottom: 61px;
}

.main-events-block .main-events-block-holder .heading h2,
.main-events-block .main-events-block-holder .heading .h2 { 
    font-family: "CanelaDeck";
    font-weight: 500;
    font-style: normal;
    font-size: 60px;
    line-height: 72px;
    letter-spacing: 0%;
    margin: 0;
}

.main-events-block .main-events-block-holder .main-events-list { 
    display: flex;
    flex-wrap: wrap;
    row-gap: 30px;
    width: calc(100% + 30px);
    margin-left: -15px;
    box-sizing: border-box;
    padding-right: 20px;
}

.main-events-block .main-events-block-holder .main-events-list .event-item { 
    width: 50%;
    height: auto;
    box-sizing: border-box;
    padding: 0 15px;
}

.main-events-block .event-item { 

}

.main-events-block .event-item .event-item-holder { 

}

.main-events-block .event-item .event-item-holder>.heading { 
    display: flex;
    align-items: center;
    gap: 30px;
    margin-bottom: 32px;
}

.main-events-block .event-item .event-item-holder .heading h3,
.main-events-block .event-item .event-item-holder .heading .h3 { 
    font-family: Noah;
    font-weight: 700;
    font-style: normal;
    font-size: 36px;
    line-height: 48px;
    letter-spacing: 0%;
    margin: 0;
}

.main-events-block .event-item .event-item-holder .heading .outer-link { 
    margin-top: -3px;
}

.main-events-block .event-item .event-item-holder .event-details { 
    width: 100%;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder { 
    display: flex;
    width: 100%;
    min-height: 380px;
    gap: 0;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .image { 
    width: 49%;
    height: auto;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .image .image-holder { 
    width: 100%;
    height: 100%;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .image .image-holder a { 
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .image .image-holder a img { 
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details { 
    width: 51%;
    height: auto;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder { 
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 24px 25px;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text { 
    width: 100%;
    flex-grow: 1;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text .date { 
    font-family: 'ALS SIRIUS';
    font-weight: normal;
    font-style: normal;
    font-size: 14px;
    line-height: 20px;
    letter-spacing: 0%;
    margin-bottom: 8px;
}


.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text .date.big {
    font-size: 16px;
    line-height: 22px;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text .tags {
    display: flex;
    gap: 4px;
    margin-bottom: 8px;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text .tags .tag {
    display: inline-block;
    font-size: 13px;
    line-height: 13px;
    padding: 3px 8px;
    border: 1px solid #231F20;
    border-radius: 100px;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text .name { 
    font-family: 'ALS SIRIUS';
    font-weight: normal;
    font-style: normal;
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0%;
    margin-bottom: 8px;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .text .desc { 
    font-family: 'ALS SIRIUS';
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 22px;
    letter-spacing: 0%;
}

.main-events-block .event-item .event-item-holder .event-details .event-details-holder .details .details-holder .action { 
    width: 100%;
}

/*BANNER*/

.banner-block { 
    width: 100%;
    padding: 89px 0 0;
}

.banner-block .banner-block-holder { 
    display: inline-block;
    width: 100%;
}

.banner-block .banner-block-holder a { 
    display: block;
    width: 100%;
}

.banner-block .banner-block-holder a img { 
    width: 100%;
    border-radius: 6px;
}

/*PARTNERS*/
.partners-section {
    background-color: white;
    margin-top: 94px;
}

/* Контент и слайдер — в рамках .container (1440), без вылезания карточек при скролле */
.partners-section > .container {
    max-width: 1440px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

.partners-section > .container > .container-wrapper {
    overflow-x: hidden;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.partners-block { 
    width: 100%;
    max-width: 100%;
    min-width: 0;
    padding-top: 35px;
    padding-bottom: 42px;
    box-sizing: border-box;
}

.partners-block .partners-block-holder { 
    display: block;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.partners-block .partners-block-holder .heading { 
    display: flex;
    align-items: start;
    justify-content: space-between;
    width: 100%;
    box-sizing: border-box;
    padding-left: 0;
    margin-bottom: 37px;
}

.partners-block .partners-block-holder .heading .text { 

}

.partners-block .partners-block-holder .heading .text h2,
.partners-block .partners-block-holder .heading .text .h2 { 
    font-family: "CanelaDeck";
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    line-height: 48px; 
    margin: 0;
}

.partners-block .partners-block-holder .heading .controls { 
    display: flex;
    gap: 12px;
    transform: translateY(6px);
}

.partners-block .partners-block-holder .heading .controls .prev,
.partners-block .partners-block-holder .heading .controls .next { 
    width: 47px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #148EFF;
    border-radius: 50%;
    color: #148EFF;
}

.partners-block .partners-block-holder .heading .controls .prev svg,
.partners-block .partners-block-holder .heading .controls .next svg { 
    width: 16px;
    height: 16px;
}


.partners { 
    --swiper-pagination-bullet-width: 10px;
    --swiper-pagination-bullet-size: 10px;
    --swiper-pagination-bullet-horizontal-gap: 3px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.partners .navigation  {
    width: 100%;
    margin: 14px 0 0 -4px;
}

.partners .partners-list,
.partners .partners-list.swiper {
    overflow: hidden !important;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

/* Не даём глобальному .swiper-wrapper { max-width: 90vw } ломать трек */
.partners .partners-list .partners-list-holder.swiper-wrapper {
    max-width: none;
}

.partners .partners-list .partners-list-holder .partner-item,
.partners .partners-list .partners-list-holder .partner-item.swiper-slide { 
    display: block;
    width: 320px;
    max-width: 100%;
    height: 298px;
    flex-shrink: 0;
    box-sizing: border-box;
}

.partners .partners-list .partners-list-holder .partner-item .partner-item-holder { 
    display: block;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    border: 1px solid #E1E5EF;
    border-radius: 2px;
    padding: 24px 32px;
}

.partners .partners-list .partners-list-holder .partner-item .partner-item-holder .partner-item-inner { 
    display: block;
}

.partners .partners-list .partners-list-holder .partner-item .partner-item-holder .partner-item-inner .logo { 
    display: flex;
    align-items: center;
    justify-content: center;
    height: 196px;
}

.partners .partners-list .partners-list-holder .partner-item .partner-item-holder .partner-item-inner .logo img { 
    max-height: 196px;
    min-height: 90px;
    max-width: 100%;
}

.partners .partners-list .partners-list-holder .partner-item .partner-item-holder .partner-item-inner .desc { 
    width: 100%;
    border-top: 1px solid #E1E5EF;
    margin-top: 16px;
    padding-top: 15px;
}

.partners .partners-list .partners-list-holder .partner-item .partner-item-holder .partner-item-inner .desc .name { 
    text-align: center;
    font-family: "ALS Sirius";
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 22px; /* 137.5% */
}