

/* Start:/local/templates/ranepa_im2/assets2/css/program.css?1764932141158196*/
/* =============================
   Program Hero Block
   Pixel Perfect from Figma
   ============================= */

.program-hero__card {
    position: relative;
    width: 100%;
    max-width: 1326px;
    min-height: 338px;
    border-radius: 20px;
    padding: 17px;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0 auto;
    margin-top: 0;
    margin-bottom: 0;
}

.program-hero__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 3;
    border-radius: 20px;
    overflow: hidden;
}

.program-hero__bg img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    border-radius: 20px;
}

.program-hero__bg ._view2 { 
    display: none; 
}

.program-hero__bg-gradient {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(244deg, rgba(115, 27, 34, 1) 6%, rgba(48, 14, 16, 1) 100%);
    border-radius: 20px;
}

.program-hero__decor {
    position: absolute;
    inset: 0;
    z-index: 3;
    pointer-events: none;
    border-radius: 20px;
    overflow: hidden;
}

.program-hero__decor-line {
    position: absolute;
    width: 2810.87px;
    height: 1306.18px;
    left: -817.99px;
    top: -449px;
    opacity: 0.17;
}

.program-hero__content {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    height: 100%;
    flex: 1;
}

.program-hero__badge {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.2;
    color: #FFFFFF;
    margin: 0;
    margin-top: 9px;
    margin-left: 2px;
    max-width: 252px;
    height: 27px;
    display: flex;
    align-items: center;
}

.program-hero__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    margin: 0;
    margin-top: 20px;
    margin-left: 0;
    max-width: 763px;
    color: #FFFFFF;
}

.program-hero__desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    margin: 0;
    margin-top: 82px;
    margin-left: 2px;
    max-width: 688px;
    color: #FFFFFF;
}

.program-hero__bottom {
    margin-top: auto;
    padding-top: 34px;
    display: flex;
    align-items: flex-end;
    gap: 40px;
    flex-wrap: wrap;
}

/* На ПК версии: кнопка слева, иконки справа */
@media screen and (min-width: 769px) {
    .program-hero__btn {
        order: 1;
    }
    
    .program-hero__info {
        order: 2;
    }
}

.program-hero__info {
    display: flex;
    gap: 0;
    align-items: flex-end;
    flex-wrap: wrap;
}

.program-hero__info-item {
    display: flex;
    align-items: center;
    gap: 6.71px;
    position: relative;
}

.program-hero__info-item:first-child {
    margin-right: 29px;
}

.program-hero__info-item:nth-child(2) {
    margin-right: 29px;
}

.program-hero__info-item:nth-child(3) {
    margin-right: 29px;
}

.program-hero__info-item:last-child {
    margin-right: 0;
}

.program-hero__info-item img {
    width: 26.47px;
    height: 25.08px;
    display: block;
    flex-shrink: 0;
}

.program-hero__info-text {
    display: flex;
    flex-direction: column;
}

.program-hero__info-label {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 12.571428298950195px;
    line-height: 1.2;
    color: #FFFFFF;
    white-space: nowrap;
    margin-bottom: -1px;
}

.program-hero__info-sublabel {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 7.857142448425293px;
    line-height: 1.2;
    color: #FFFFFF;
    white-space: nowrap;
    margin-top: 1px;
}

.program-hero__btn {
    height: 38px;
    padding: 0;
    padding-left: 50.44565963745117px;
    padding-right: 50.44565963745117px;
    border-radius: 20.25458526611328px;
    background: #FFFFFF;
    color: #32343A;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.575000762939453px;
    line-height: 1.2;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    box-sizing: border-box;
    width: 302.67px;
    flex-shrink: 0;
}

.program-hero__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.program-hero__btn span {
    display: block;
    padding: 12px 0;
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .program-hero__card {
        max-width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-hero__title {
        font-size: 40px;
        max-width: 100%;
    }
    
    .program-hero__desc {
        max-width: 100%;
    }
    
    .program-hero__card {
        font-size: 0.9em;
    }
}

@media screen and (max-width: 768px) {
    .program-hero__badge {
        font-size: 10px;
    }
    
    .program-hero__title {
        font-size: 36px;
    }
    
    .program-hero__desc {
        font-size: 12px;
        margin-top: 24px;
    }
    
    .program-hero__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 40px;
    }
    
    .program-hero__info {
        gap: 29px;
        width: 100%;
        order: 1;
    }
    
    .program-hero__info-item {
        margin-right: 0;
    }
    
    .program-hero__btn {
        width: 100%;
        order: 2;
    }
}

@media screen and (max-width: 576px) {
    .program-hero__card {
        min-height: auto;
        padding: 12px 40px 12px 12px;
        border-radius: 14px;
    }
    
    .program-hero__bg ._view1 { 
        display: none; 
    }
    
    .program-hero__bg ._view2 { 
        display: block; 
    }
    
    .program-hero__badge {
        font-size: 10px;
    }
    
    .program-hero__title {
        font-size: 34px;
        margin-top: 8px;
    }
    
    .program-hero__desc {
        font-size: 12px;
        margin-top: 64px;
        max-width: 100%;
    }
    
    .program-hero__bottom {
        padding-top: 32px;
        gap: 24px;
    }
    
    .program-hero__info {
        flex-direction: column;
        align-items: flex-start;
        gap: 29px;
        width: 100%;
        order: 1;
    }
    
    .program-hero__info-item {
        margin-right: 0;
        gap: 5px;
    }
    
    .program-hero__info-label {
        font-size: 13px;
    }
    
    .program-hero__info-sublabel {
        font-size: 8px;
    }
    
    .program-hero__info-item img {
        width: 28px;
        height: 28px;
    }
    
    .program-hero__btn {
        width: 100%;
        height: 42px;
        font-size: 16px;
        order: 2;
    }
    
    .program-hero__decor-line {
        display: none;
    }
}

/* =============================
   Program Stats Block
   Pixel Perfect from Figma
   ============================= */

.program-stats {
    background-color: #FFFFFF;
    width: 100%;
    padding: 0;
    margin-top: 38px;
    margin-bottom: 42px;
}

/* Убираем лишние отступы у контента */
.content {
    margin: 0;
    margin-top: 20px;
    padding: 0;
}

.program-stats__list {
    display: flex;
    position: relative;
    align-items: flex-start;
    justify-content: flex-start;
    width: 100%;
    max-width: 1224px;
    margin: 0 auto;
    height: 139px;
    padding: 0;
    list-style: none;
}

.program-stats__item {
    position: relative;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: 100%;
}

/* Позиции элементов согласно Figma: x: 0, 282, 613, 939 */
.program-stats__item:nth-child(1) {
    width: 152px;
    margin-left: 0;
}

.program-stats__item:nth-child(2) {
    width: 208px;
    margin-left: 130px; /* 282 - 152 = 130px */
}

.program-stats__item:nth-child(3) {
    width: 196px;
    margin-left: 123px; /* 613 - (282 + 208) = 123px */
}

.program-stats__item:nth-child(4) {
    width: 285px;
    margin-left: 130px; /* 939 - (613 + 196) = 130px */
}

/* Вертикальные разделители на позициях: x: 217, 548, 874 */
.program-stats__list:before {
    content: "";
    position: absolute;
    left: 217px;
    top: 0;
    width: 1px;
    height: 139px;
    background: #E2E2E2;
    z-index: 1;
}

.program-stats__item:nth-child(2):after {
    content: "";
    position: absolute;
    left: 266px; /* 548 - 282 = 266px от начала второго элемента */
    top: 0;
    width: 1px;
    height: 139px;
    background: #E2E2E2;
    z-index: 1;
}

.program-stats__item:nth-child(3):after {
    content: "";
    position: absolute;
    left: 261px; /* 874 - 613 = 261px от начала третьего элемента */
    top: 0;
    width: 1px;
    height: 139px;
    background: #E2E2E2;
    z-index: 1;
}

.program-stats__value {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 29px;
    line-height: 1.2;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin: 0;
    padding: 0;
}

.program-stats__label {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-top: 21px; /* 50 - 29 = 21px от верха значения до начала метки */
    padding: 0;
}

/* Позиционирование элементов согласно Figma */
.program-stats__item:nth-child(1) .program-stats__value {
    margin-top: 0;
}

.program-stats__item:nth-child(2) .program-stats__value {
    margin-top: 0;
}

.program-stats__item:nth-child(3) .program-stats__value {
    margin-top: 0;
}

.program-stats__item:nth-child(4) .program-stats__value {
    margin-top: 0;
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .program-stats__list {
        max-width: 100%;
        flex-wrap: wrap;
        justify-content: space-between;
        height: auto;
        padding: 20px 0;
    }
    
    .program-stats__item {
        margin-left: 0 !important;
        width: auto !important;
        flex: 1;
        min-width: 150px;
        margin-bottom: 20px;
    }
    
    .program-stats__list:before,
    .program-stats__item:after {
        display: none !important;
    }
}

@media screen and (max-width: 992px) {
    .program-stats__list {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 0;
        height: auto;
        padding: 20px 0;
    }
    
    .program-stats__item {
        width: calc(50% - 20px) !important;
        margin-left: 0 !important;
        margin-right: 20px !important;
        height: auto;
        padding: 0;
        margin-bottom: 30px;
    }
    
    .program-stats__item:nth-child(even) {
        margin-right: 0 !important;
    }
    
    .program-stats__list:before,
    .program-stats__item:after {
        display: none !important;
    }
}

@media screen and (max-width: 576px) {
    .program-stats {
        padding: 0;
        margin-top: 46px;
    }
    
    .program-stats__list {
        grid-template-columns: 1fr;
        gap: 30px;
        height: auto;
        padding: 20px 0;
    }
    
    .program-stats__item {
        height: auto;
        padding-bottom: 20px;
    }
    
    .program-stats__item:not(:last-child) {
        border-bottom: 1px solid #E2E2E2;
    }
    
    .program-stats__value {
        font-size: 24px;
    }
    
    .program-stats__label {
        font-size: 14px;
        margin-top: 12px;
    }
}

/* =============================
   Program Running Line Block
   Pixel Perfect from Figma
   ============================= */

.program-running-line {
    width: 100%;
    height: 70px;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    margin-top: 0;
    margin-bottom: 0;
}

.program-running-line__container {
    width: 100%;
    height: 100%;
    position: relative;
    max-width: 1418px;
    margin: 0 auto;
}

.program-running-line__content {
    display: flex;
    align-items: center;
    height: 100%;
    white-space: nowrap;
    animation: program-running-line 40s linear infinite;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.program-running-line__text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #FFFFFF;
    margin-right: 60px;
    display: inline-block;
    padding-left: 20px;
}

/* Background pattern overlay - SVG линии */
.program-running-line::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/linerunstroke_bg_programs.svg');
    background-size: 1418px 70px;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 1;
    pointer-events: none;
}

/* Animation keyframes */
@keyframes program-running-line {
    0% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(-50%);
    }
}

/* Responsive adjustments */
@media screen and (max-width: 1200px) {
    .program-running-line__container {
        max-width: 100%;
    }
}

@media screen and (max-width: 768px) {
    .program-running-line {
        height: 56px;
    }
    
    .program-running-line__text {
        font-size: 14px;
        margin-right: 40px;
        padding-left: 15px;
    }
    
    .program-running-line__content {
        animation: program-running-line 36s linear infinite;
    }
}

@media screen and (max-width: 576px) {
    .program-running-line {
        height: 48px;
        margin-top: 45px;
    }
    
    .program-running-line__text {
        font-size: 12px;
        margin-right: 30px;
        padding-left: 12px;
    }
    
    .program-running-line__content {
        animation: program-running-line 36s linear infinite;
    }
    
    .program-running-line::before {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100%;
        background-image: url('/local/templates/ranepa_im2/assets2/css/../img/Line_stroka_master_program.svg');
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        opacity: 1;
        z-index: 1;
        pointer-events: none;
    }
}

/* =============================
   Program About Block
   Pixel Perfect from Figma
   ============================= */

.program-about {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
}

.program-about__card {
    position: relative;
    background: #FFFFFF;
    border-radius: 20px;
    padding: 40px;
    border: 1px solid #AAAAAA;
    overflow: hidden;
    max-width: 1326px;
    margin: 0 auto;
    min-height: 478px;
}

.program-about__card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bglinemba.svg') center/cover no-repeat;
    opacity: 1;
    border-radius: inherit;
    z-index: 0;
}

.program-about__layout {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 623px 604px;
    gap: 55px;
    align-items: flex-start;
}

.program-about__left {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.program-about__title {
    margin: 0;
    margin-bottom: 58px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    max-width: 589px;
}

.program-about__text {
    margin: 0;
}

.program-about__text p {
    margin: 0 0 34px 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    color: #32343A;
    max-width: 620px;
}

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

.program-about__right {
    display: flex;
    align-items: flex-end;
    margin-top: 236px; /* 276 - 40 = 236px от верха карточки */
}

.program-about__stat {
    background-color: #F5F5F5;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/bachalor_program/BG_chislo_vakansiy_bachalor_program.png');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: auto 100%;
    color: #32343A;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 162px;
    border-radius: 20px;
    padding: 18px 23px;
    width: 604px;
    position: relative;
    box-sizing: border-box;
    margin-right: 40px;
}

.program-about__stat-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    max-width: 570px;
    margin-bottom: 58px;
}

.program-about__stat-note {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    max-width: 570px;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-about__card {
        max-width: 100%;
    }
    
    .program-about__layout {
        grid-template-columns: 1fr 1fr;
        gap: 40px;
    }
    
    .program-about__stat {
        width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-about__card {
        padding: 30px;
        min-height: auto;
    }
    
    .program-about__layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .program-about__right {
        margin-top: 0;
    }
    
    .program-about__title {
        font-size: 28px;
        margin-bottom: 30px;
        max-width: 100%;
    }
    
    .program-about__text p {
        font-size: 14px;
        margin-bottom: 20px;
        max-width: 100%;
    }
    
    .program-about__stat {
        width: 100%;
        min-height: 140px;
        padding: 20px;
    }
    
    .program-about__stat-text {
        font-size: 20px;
        margin-bottom: 20px;
        max-width: 100%;
    }
    
    .program-about__stat-note {
        font-size: 14px;
        max-width: 100%;
    }
}

@media screen and (max-width: 576px) {
    .program-about {
        margin-top: 45px;
    }
    
    .program-about__card {
        padding: 13.35px 10px 13.35px 10px;
        border-radius: 14.27px;
        border: 1px solid rgba(170, 170, 170, 0.67);
        min-height: auto;
    }
    
    .program-about__layout {
        gap: 0;
        display: flex;
        flex-direction: column;
    }
    
    .program-about__left {
        width: 100%;
        max-width: 100%;
    }
    
    .program-about__right {
        width: 100%;
        margin-top: 0;
    }
    
    .program-about__title {
        font-size: 20px;
        line-height: 1.06;
        letter-spacing: -0.02em;
        margin-bottom: 29px;
        max-width: 278px;
    }
    
    .program-about__text {
        margin-bottom: 34px;
        width: 100%;
        max-width: 100%;
    }
    
    .program-about__text p {
        font-size: 12px;
        line-height: 1.2;
        letter-spacing: -0.02em;
        margin-bottom: 29px;
        max-width: 100%;
        width: 100%;
    }
    
    .program-about__text p:nth-child(2) {
        margin-bottom: 29px;
    }
    
    .program-about__text p:last-child {
        margin-bottom: 0;
    }
    
    .program-about__stat {
        min-height: 115px;
        padding: 10px 70px 10px 7px;
        border-radius: 10.6px;
        background-color: #F5F5F5;
        background-image: url('/local/templates/ranepa_im2/assets2/css/../img/bachalor_program/BG_chislo_vakansiy_bachalor_program.png');
        background-repeat: no-repeat;
        background-position: right top;
        background-size: auto 100%;
        width: 100%;
        max-width: 100%;
        margin-right: 0;
    }
    
    .program-about__stat-text {
        font-size: 14px;
        line-height: 1.06;
        letter-spacing: -0.02em;
        margin-bottom: 51px;
        max-width: 100%;
    }
    
    .program-about__stat-note {
        font-size: 10px;
        line-height: 1.06;
        letter-spacing: -0.02em;
        max-width: 100%;
    }
}

/* =============================
   Teachers Subtitle
   ============================= */

.teachers__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
    margin: 0 0 25px;
}

@media screen and (max-width: 992px) {
    .teachers__subtitle {
        font-size: 20px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 576px) {
    .teachers__subtitle {
        font-size: 16px;
        margin-bottom: 15px;
    }
}

/* =============================
   Program Partners Slider Settings
   ============================= */

.partners .partners-slider._double-row .swiper-slide {
    width: calc(25% - 20px) !important;
}

@media screen and (max-width: 992px) {
    .partners .partners-slider._double-row .swiper-slide {
        width: calc(33.333% - 20px) !important;
    }
}

@media screen and (max-width: 768px) {
    .partners .partners-slider._double-row .swiper-slide {
        width: calc(50% - 20px) !important;
    }
}

@media screen and (max-width: 576px) {
    .partners {
        margin-top: 60px;
    }
    
    .partners .info-block .h2 {
        font-size: 31px;
    }
    
    .partners .info-block .m-subtitle {
        font-size: 14px;
    }
    
    .info-block {
        gap: 25px;
    }
    
    .partners .partners-slider._double-row .swiper-slide {
        width: auto !important;
    }
}

/* =============================
   Program Admission Block
   Pixel Perfect from Figma
   ============================= */

.program-admission {
    margin-top: 62px;
    padding: 0;
}

.program-admission__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0 0 43px;
}

.program-admission__content {
    display: grid;
    grid-template-columns: 569px 747px;
    gap: 10px;
}

.program-admission__left {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.program-admission__card {
    border-radius: 20px;
}

.program-admission__card--red {
    position: relative;
    background: linear-gradient(129deg, #B23C37 21%, #330E11 100%);
    padding: 20px 15px;
    min-height: 105px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.program-admission__card--red::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/linepriemdokumentov.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 0;
}

.program-admission__card-text {
    position: relative;
    z-index: 1;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: #FFFFFF;
    margin: 0;
    text-align: left;
}

.program-admission__requirements {
    background: #F5F5F5;
    padding: 20px 15px 28px;
    min-height: 191px;
}

.program-admission__right {
    display: flex;
    flex-direction: column;
}

.program-admission__steps {
    position: relative;
    background: #F5F5F5;
    padding: 17px 25px 52px;
    overflow: hidden;
}

.program-admission__steps::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/gerbetapi_bg_master_programs.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 0;
}

.program-admission__steps > * {
    position: relative;
    z-index: 1;
}

.program-admission__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    color: #32343A;
    margin: 0 0 29px;
}

.program-admission__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 29px;
}

.program-admission__list-item {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #32343A;
    padding-left: 25px;
    position: relative;
}

.program-admission__list-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 12px;
    height: 12px;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/redsquard.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1200px) {
    .program-admission__content {
        grid-template-columns: 1fr 1.3fr;
    }
}

/* Выравнивание высоты колонок в блоке "Как поступить" на ПК */
@media screen and (min-width: 993px) {
    .program-admission__content {
        align-items: stretch;
    }

    .program-admission__left {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .program-admission__right {
        display: flex;
        flex-direction: column;
        height: 100%;
        align-self: stretch;
    }

    .program-admission__steps {
        flex: 1;
        display: flex;
        flex-direction: column;
        height: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-admission__title {
        font-size: 30px;
        margin-bottom: 30px;
    }
    
    .program-admission__content {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .program-admission__card-text {
        font-size: 20px;
    }
    
    .program-admission__list {
        gap: 20px;
    }
}

@media screen and (max-width: 576px) {
    .program-admission {
        margin-top: 40px;
    }
    
    .program-admission__title {
        font-size: 31px;
        line-height: 1.06;
        margin-bottom: 16px;
    }
    
    .program-admission__content {
        gap: 10px;
    }
    
    .program-admission__card {
        border-radius: 20px;
    }
    
    .program-admission__card--red {
        padding: 22px 9px;
        min-height: 121px;
        border-radius: 15px;
    }
    
    .program-admission__card-text {
        font-size: 20px;
        line-height: 1.2;
    }
    
    .program-admission__requirements,
    .program-admission__steps {
        padding: 25px 14px 20px;
    }
    
    .program-admission__subtitle {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 29px;
    }
    
    .program-admission__list {
        gap: 29px;
    }
    
    .program-admission__list-item {
        font-size: 16px;
        line-height: 1.2;
        padding-left: 29px;
    }
    
    .program-admission__list-item::before {
        width: 13px;
        height: 13px;
        top: 4px;
    }
}

/* =============================
   Program Admission Bachelor Block (Unique classes for bachelor program)
   ============================= */

.program-admission-bachelor {
    margin-top: 62px;
    padding: 0;
}

.program-admission-bachelor__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0 0 43px;
}

.program-admission-bachelor__content {
    display: grid;
    grid-template-columns: 569px 747px;
    gap: 10px;
}

.program-admission-bachelor__left {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.program-admission-bachelor__card {
    border-radius: 20px;
}

.program-admission-bachelor__card--red {
    position: relative;
    background: linear-gradient(129deg, #B23C37 21%, #330E11 100%);
    padding: 20px 15px;
    min-height: 105px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: hidden;
}

.program-admission-bachelor__card--red::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/linepriemdokumentov.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 0;
}

.program-admission-bachelor__card-text {
    position: relative;
    z-index: 1;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: #FFFFFF;
    margin: 0;
    text-align: left;
}

.program-admission-bachelor__requirements {
    background: #F5F5F5;
    padding: 20px 15px 28px;
    min-height: 191px;
}

.program-admission-bachelor__right {
    display: flex;
    flex-direction: column;
}

.program-admission-bachelor__steps {
    position: relative;
    background: #F5F5F5;
    padding: 17px 25px 52px;
    overflow: hidden;
}

.program-admission-bachelor__steps::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/gerbetapi_bg_master_programs.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 1;
    z-index: 0;
}

.program-admission-bachelor__steps > * {
    position: relative;
    z-index: 1;
}

.program-admission-bachelor__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    color: #32343A;
    margin: 0 0 29px;
}

.program-admission-bachelor__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 29px;
}

.program-opportunities__panel .program-admission-bachelor__list {
    gap: 10px;
    margin: 0;
    padding: 0;
    flex: 1;
    justify-content: flex-start;
    min-height: 0;
}

.program-opportunities__panel .program-admission-bachelor__list-item {
    line-height: 1.5;
    margin: 0;
}

.program-opportunities__panel .program-admission-bachelor__list-item:first-child {
    margin-top: 0;
}

.program-opportunities__panel .program-admission-bachelor__list-item:last-child {
    margin-bottom: 0;
}

.program-admission-bachelor__list-item {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.87;
    color: #32343A;
    padding-left: 25px;
    position: relative;
}

.program-admission-bachelor__list-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 4px;
    width: 12px;
    height: 12px;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/redsquard.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1200px) {
    .program-admission-bachelor__content {
        grid-template-columns: 1fr 1.3fr;
    }
}

/* Выравнивание высоты колонок в блоке "Как поступить" на ПК */
@media screen and (min-width: 993px) {
    .program-admission-bachelor__content {
        align-items: stretch;
    }

    .program-admission-bachelor__left {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .program-admission-bachelor__right {
        display: flex;
        flex-direction: column;
        height: 100%;
        align-self: stretch;
    }

    .program-admission-bachelor__steps {
        flex: 1;
        display: flex;
        flex-direction: column;
        height: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-admission-bachelor__title {
        font-size: 30px;
        margin-bottom: 30px;
    }
    
    .program-admission-bachelor__content {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .program-admission-bachelor__card-text {
        font-size: 20px;
    }
    
    .program-admission-bachelor__list {
        gap: 20px;
    }
}

@media screen and (max-width: 576px) {
    .program-admission-bachelor {
        margin-top: 60px;
    }
    
    .program-admission-bachelor__title {
        font-size: 31px;
        line-height: 1.06;
        margin-bottom: 16px;
    }
    
    .program-admission-bachelor__content {
        gap: 10px;
    }
    
    .program-admission-bachelor__card {
        border-radius: 20px;
    }
    
    .program-admission-bachelor__card--red {
        padding: 22px 9px;
        min-height: 121px;
        border-radius: 15px;
    }
    
    .program-admission-bachelor__card-text {
        font-size: 20px;
        line-height: 1.2;
    }
    
    .program-admission-bachelor__requirements,
    .program-admission-bachelor__steps {
        padding: 25px 14px 20px;
    }
    
    .program-admission-bachelor__subtitle {
        font-size: 20px;
        font-weight: 700;
        line-height: 1.2;
        margin-bottom: 29px;
    }
    
    .program-admission-bachelor__list {
        gap: 29px;
    }
    
    .program-admission-bachelor__list-item {
        font-size: 16px;
        line-height: 1.87;
        padding-left: 29px;
    }
    
    .program-admission-bachelor__list-item::before {
        width: 13px;
        height: 13px;
        top: 4px;
    }
}

/* =============================
   Program Opportunities (Возможности)
   ============================= */
.program-opportunities {
    margin-top: 62px;
}
.program-opportunities__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0 0 6px;
}
.program-opportunities__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #DADADA;
    margin: 0 0 24px;
}
.program-opportunities__grid {
    display: grid;
    grid-template-columns: 419px 1fr;
    gap: 10px;
}
.program-opportunities__image {
    border-radius: 20px;
    overflow: hidden;
    height: 192px;
    background: #F5F5F5;
}
.program-opportunities__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.program-opportunities__panel {
    background: #FAFAFA;
    border: 1px solid #E2E2E2;
    border-radius: 20px;
    padding: 17px 27px;
    height: 192px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    box-sizing: border-box;
}
.program-opportunities__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    height: 100%;
    justify-content: space-between;
}
.program-opportunities__item {
    position: relative;
    padding-left: 20px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 18px;
    color: #32343A;
}
.program-opportunities__item::before {
    content: '';
    position: absolute;
    left: 0;
    width: 12px;
    height: 12px;
    top: 50%;
    transform: translateY(-50%);
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/redsquard.svg');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
}

@media screen and (max-width: 1200px) {
    .program-opportunities__grid {
        grid-template-columns: 360px 1fr;
    }
}
@media screen and (max-width: 992px) {
    .program-opportunities__grid {
        grid-template-columns: 1fr;
    }
    .program-opportunities__image {
        height: 220px;
    }
    .program-opportunities__panel {
        height: auto;
    }
    .program-opportunities__list {
        height: auto;
        justify-content: initial;
        gap: 8px;
    }
}
@media screen and (max-width: 576px) {
    .program-opportunities {
        margin-top: 60px;
    }
    .program-opportunities__title {
        font-size: 25px;
        line-height: 1.2;
    }
    .program-opportunities__subtitle {
        font-size: 16px;
        line-height: 1.2;
        margin-bottom: 16px;
    }
    .program-opportunities__image {
        display: none;
    }
    .program-opportunities__panel {
        border-radius: 15px;
        padding: 26px 25px;
    }
    
    .program-opportunities__panel .program-admission-bachelor__list {
        gap: 10px;
    }
    
    .program-opportunities__panel .program-admission-bachelor__list-item {
        line-height: 1.5;
    }
    .program-opportunities__list {
        gap: 32px;
    }
    .program-opportunities__item {
        line-height: 18px;
        padding-left: 20px;
    }
    .program-opportunities__item::before {
        width: 11px;
        height: 11px;
        top: 50%;
        transform: translateY(-50%);
    }
}

/* =============================
   Program Oneday Block
   Pixel Perfect from Figma
   ============================= */

.program-oneday {
    margin-top: 40px;
    margin-bottom: 40px;
}

.program-oneday__card {
    position: relative;
    width: 100%;
    max-width: 1326px;
    height: 338px;
    min-height: 338px;
    border-radius: 20px;
    padding: 0;
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
    margin: 0 auto;
}

.program-oneday__bg-gradient {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    border-radius: 20px;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
}

.program-oneday__lines {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 1326px;
    height: 368px;
    z-index: 2;
    pointer-events: none;
    overflow: hidden;
}

.program-oneday__lines-svg {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.program-oneday__museum {
    position: absolute;
    left: 870px;
    top: -110px;
    width: 547px;
    height: 586px;
    z-index: 3;
    pointer-events: none;
    overflow: hidden;
}

.program-oneday__museum-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.program-oneday__content {
    position: relative;
    z-index: 4;
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 14px 17px 22px 17px;
    box-sizing: border-box;
}

.program-oneday__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 64px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    margin: 0;
    margin-bottom: 39px;
    max-width: 983px;
}

.program-oneday__desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #FFFFFF;
    margin: 0;
    margin-bottom: 27px;
    max-width: 554px;
}

.program-oneday__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 302.67px;
    height: 43.24px;
    padding: 14.413045883178711px 50.44565963745117px;
    border-radius: 20.25458526611328px;
    background: #FFFFFF;
    color: #32343A;
    text-decoration: none;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.575000762939453px;
    line-height: 1.2;
    box-sizing: border-box;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    white-space: nowrap;
    margin-top: auto;
}

.program-oneday__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.program-oneday__btn span {
    display: block;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-oneday__lines {
        left: 0px;
        top: 0px;
    }
    
    .program-oneday__museum {
        left: calc(870px * (100vw / 1326));
        width: calc(547px * (100vw / 1326));
        height: calc(586px * (100vw / 1326));
    }
}

@media screen and (max-width: 1200px) {
    .program-oneday__card {
        max-width: 100%;
    }
    
    .program-oneday__lines {
        left: 0px;
        top: 0px;
        width: 100%;
    }
    
    .program-oneday__museum {
        left: auto;
        right: -100px;
        width: 400px;
        height: auto;
    }
}

@media screen and (max-width: 992px) {
    .program-oneday__title {
        font-size: 48px;
        margin-bottom: 24px;
    }
    
    .program-oneday__desc {
        font-size: 15px;
        margin-bottom: 20px;
    }
    
    .program-oneday__museum {
        left: auto;
        right: -150px;
        width: 350px;
        opacity: 0.7;
    }
}

@media screen and (max-width: 768px) {
    .program-oneday__card {
        height: auto;
        min-height: 338px;
    }
    
    .program-oneday__title {
        font-size: 36px;
        margin-bottom: 20px;
    }
    
    .program-oneday__desc {
        font-size: 14px;
        margin-bottom: 24px;
        max-width: 100%;
    }
    
    .program-oneday__btn {
        width: 100%;
        margin-top: 0;
    }
    
    .program-oneday__museum {
        left: auto;
        right: -200px;
        width: 300px;
        opacity: 0.5;
    }
    
    .program-oneday__lines {
        left: 0px;
        top: 0px;
        opacity: 0.5;
    }
}

@media screen and (max-width: 576px) {
    .program-oneday {
        margin-top: 32px;
        margin-bottom: 32px;
    }
    
    .program-oneday__card {
        width: 100%;
        max-width: 336px;
        height: 338px;
        border-radius: 20px;
        min-height: 338px;
        position: relative;
        overflow: hidden;
        margin: 0 auto;
    }
    
    .program-oneday__bg-gradient {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        display: block;
        border-radius: 20px;
        background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    }
    
    .program-oneday__content {
        position: relative;
        z-index: 4;
        padding: 20px 16px 24px 16px;
        display: flex;
        flex-direction: column;
        height: 100%;
    }
    
    .program-oneday__title {
        font-size: 24px;
        margin-bottom: 33px;
    }
    
    .program-oneday__desc {
        font-size: 16px;
        margin-bottom: 0;
        flex: 1;
    }
    
    .program-oneday__btn {
        height: 40px;
        font-size: 15px;
        padding: 12px 40px;
        margin-top: auto;
        margin-bottom: 0;
        align-self: flex-start;
    }
    
    .program-oneday__museum {
        position: absolute;
        left: auto;
        right: -150px;
        bottom: -125px;
        top: auto;
        width: 500px;
        height: auto;
        opacity: 0.8;
        z-index: 3;
        display: block;
        pointer-events: none;
    }
    
    .program-oneday__lines {
        position: absolute;
        left: 0px;
        top: 0px;
        width: 100%;
        height: 100%;
        opacity: 0.5;
        z-index: 2;
        display: block;
        pointer-events: none;
        overflow: hidden;
    }
    
    .program-oneday__lines-svg {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
}

/* =============================
   Program Consultation Form Block
   Pixel Perfect from Figma
   ============================= */

.program-consultation {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    z-index: 2;
}

.program-consultation__card {
    position: relative;
    width: 100%;
    max-width: 1326px;
    min-height: 513px;
    border-radius: 20.14px;
    background: #FFFFFF;
    box-shadow: 0px 2px 12.7px 0px rgba(0, 0, 0, 0.09);
    margin: 0 auto;
    overflow: hidden;
}

.program-consultation__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.program-consultation__bg-image {
    position: absolute;
    top: -112px;
    left: 39px;
    width: 746px;
    height: 762px;
    object-fit: cover;
    object-position: center;
}

.program-consultation__content {
    position: relative;
    z-index: 1;
    display: flex;
    padding: 28px 31px;
    gap: 0;
    min-height: 513px;
}

.program-consultation__left {
    flex: 0 0 auto;
    width: 471px;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 28px 0 0 31px;
    min-height: 513px;
}

.program-consultation__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 40.27px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-bottom: 13px;
    max-width: 471px;
}

.program-consultation__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-bottom: 0;
    max-width: 483px;
    padding-left: 2px;
}

.program-consultation__profile-wrapper {
    margin-top: auto;
    padding-top: 60px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.program-consultation__image {
    width: 135.92px;
    height: 135.92px;
    border-radius: 15.1px;
    overflow: hidden;
    margin-bottom: 12px;
    margin-left: 0.23px;
}

.program-consultation__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.program-consultation__profile {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-left: 0.23px;
}

.program-consultation__name {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-bottom: 17px;
}

.program-consultation__position {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    max-width: 466px;
}

.program-consultation__right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: 168px;
    padding-top: 28px;
}

.program-consultation__form {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 632px;
}

.program-consultation__form-group {
    position: relative;
    margin-bottom: 0;
    padding-top: 18px;
    padding-bottom: 18px;
}

.program-consultation__form-group:not(:last-child) {
    border-bottom: 1px solid #AAAAAA;
    margin-bottom: 0;
}

.program-consultation__input,
.program-consultation__textarea {
    width: 100%;
    border: none;
    padding: 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    background: transparent;
    outline: none;
    box-sizing: border-box;
    vertical-align: middle;
}

.program-consultation__input::placeholder,
.program-consultation__textarea::placeholder {
    color: #AAAAAA;
}

.program-consultation__form-group:focus-within {
    border-bottom-color: #B23C37;
}

.program-consultation__input:focus,
.program-consultation__textarea:focus {
    border-bottom: none;
}

.program-consultation__textarea {
    resize: vertical;
    min-height: 60px;
}

.program-consultation__btn {
    margin-top: 71px;
    width: 632px;
    height: 42px;
    border-radius: 26.81px;
    background: linear-gradient(-51deg, #B23C37 21%, #330E11 100%);
    border: none;
    color: #FFFFFF;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15.1px;
    line-height: 1.2;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.program-consultation__btn:hover {
    opacity: 0.9;
}

.program-consultation__disclaimers {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.program-consultation__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    position: relative;
    margin-bottom: 12px;
}

.program-consultation__checkbox:last-of-type {
    margin-bottom: 0;
}

.program-consultation__checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.program-consultation__checkmark {
    width: 16px;
    height: 16px;
    background: #F3F3F3;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
}

.program-consultation__checkbox input[type="checkbox"]:checked + .program-consultation__checkmark {
    background: #B23C37;
}

.program-consultation__checkbox input[type="checkbox"]:checked + .program-consultation__checkmark::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 8px;
    border: solid #FFFFFF;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.program-consultation__checkbox-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 10.22px;
    line-height: 1.174;
    color: #32343A;
    flex: 1;
}

.program-consultation__required-note {
    margin-top: 10px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 10.22px;
    line-height: 1.174;
    color: #AAAAAA;
    padding-left: 16px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.program-consultation__asterisk {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 6.055px;
    line-height: 1.174;
    color: #AAAAAA;
    display: inline-flex;
    align-items: center;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-consultation__card {
        max-width: 100%;
    }
    
    .program-consultation__content {
        flex-direction: column;
        padding: 30px 20px;
    }
    
    .program-consultation__left {
        width: 100%;
        padding: 30px 20px 0;
        min-height: auto;
        margin-bottom: 30px;
    }
    
    .program-consultation__profile-wrapper {
        margin-top: 40px;
        padding-top: 0;
    }
    
    .program-consultation__right {
        padding-left: 20px;
        padding-top: 0;
    }
    
    .program-consultation__title {
        font-size: 32px;
    }
    
    .program-consultation__btn {
        width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-consultation {
        margin-top: 40px;
    }
    
    .program-consultation__card {
        min-height: auto;
    }
    
    .program-consultation__content {
        padding: 25px 20px;
    }
    
    .program-consultation__title {
        font-size: 28px;
    }
    
    .program-consultation__subtitle {
        font-size: 14px;
    }
}

@media screen and (max-width: 576px) {
    .program-consultation {
        margin-top: 30px;
    }
    
    .program-consultation__card {
        border-radius: 15px;
        min-height: auto;
    }
    
    .program-consultation__content {
        padding: 20px 16px;
        flex-direction: column;
    }
    
    .program-consultation__bg-image {
        display: none;
    }
    
    .program-consultation__left {
        padding: 0;
        margin-bottom: 0;
        display: contents;
    }
    
    .program-consultation__title {
        order: 1;
        padding: 0 0 10px 0;
        margin-bottom: 10px;
        font-size: 24px;
    }
    
    .program-consultation__subtitle {
        order: 2;
        padding: 0;
        margin-bottom: 20px;
        font-size: 13px;
    }
    
    .program-consultation__right {
        order: 3;
        padding-left: 0;
        padding-top: 0;
        display: contents;
    }
    
    .program-consultation__form {
        display: contents;
    }
    
    .program-consultation__form-group:nth-of-type(1) {
        order: 3;
    }
    
    .program-consultation__form-group:nth-of-type(2) {
        order: 4;
    }
    
    .program-consultation__form-group:nth-of-type(3) {
        order: 5;
    }
    
    .program-consultation__form-group:nth-of-type(4) {
        order: 6;
    }
    
    .program-consultation__form-group:nth-of-type(5) {
        order: 7;
    }
    
    .program-consultation__form-group:nth-of-type(6) {
        order: 8;
    }
    
    .program-consultation__profile-wrapper {
        order: 9;
        margin-top: 30px;
        padding-top: 0;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 11px;
    }
    
    .program-consultation__btn {
        order: 10;
    }
    
    .program-consultation__disclaimers {
        order: 11;
    }
    
    .program-consultation__image {
        width: 121px;
        height: 123px;
        margin-bottom: 0;
        margin-left: 0;
        flex-shrink: 0;
    }
    
    .program-consultation__profile {
        margin-left: 0;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding-top: 0;
    }
    
    .program-consultation__name {
        font-size: 16.11px;
        margin-bottom: 0;
        line-height: 1.2;
    }
    
    .program-consultation__position {
        font-size: 12px;
        line-height: 1.2;
        max-width: 178px;
    }
    
    .program-consultation__form-group {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    
    .program-consultation__input,
    .program-consultation__textarea {
        font-size: 14px;
        padding-bottom: 0;
    }
    
    .program-consultation__btn {
        width: 100%;
        height: 40px;
        font-size: 14px;
        margin-top: 20px;
    }
    
    .program-consultation__disclaimers {
        margin-top: 20px;
        gap: 10px;
    }
    
    .program-consultation__checkbox-text {
        font-size: 9px;
    }
    
    .program-consultation__required-note {
        font-size: 9px;
    }
}

/* =============================
   Program Consultation Bachelor Block (Unique classes for bachelor program)
   ============================= */

.program-consultation-bachelor {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    z-index: 2;
}

.program-consultation-bachelor__card {
    position: relative;
    width: 100%;
    max-width: 1326px;
    min-height: 513px;
    border-radius: 20.14px;
    background: #FFFFFF;
    box-shadow: 0px 2px 12.7px 0px rgba(0, 0, 0, 0.09);
    margin: 0 auto;
    overflow: hidden;
}

.program-consultation-bachelor__bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    overflow: hidden;
}

.program-consultation-bachelor__bg-image {
    position: absolute;
    top: -112px;
    left: 39px;
    width: 746px;
    height: 762px;
    object-fit: cover;
    object-position: center;
}

.program-consultation-bachelor__content {
    position: relative;
    z-index: 1;
    display: flex;
    padding: 28px 31px;
    gap: 0;
    min-height: 513px;
}

.program-consultation-bachelor__left {
    flex: 0 0 auto;
    width: 471px;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 28px 0 0 31px;
    min-height: 513px;
}

.program-consultation-bachelor__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 40.27px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-bottom: 13px;
    max-width: 471px;
}

.program-consultation-bachelor__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-bottom: 0;
    max-width: 483px;
    padding-left: 2px;
}

.program-consultation-bachelor__profile-wrapper {
    margin-top: auto;
    padding-top: 60px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.program-consultation-bachelor__image {
    width: 135.92px;
    height: 135.92px;
    border-radius: 15.1px;
    overflow: hidden;
    margin-bottom: 12px;
    margin-left: 0.23px;
}

.program-consultation-bachelor__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.program-consultation-bachelor__profile {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-left: 0.23px;
}

.program-consultation-bachelor__name {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    margin-bottom: 17px;
}

.program-consultation-bachelor__position {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    max-width: 466px;
}

.program-consultation-bachelor__right {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
    padding-left: 168px;
    padding-top: 28px;
}

.program-consultation-bachelor__form {
    display: flex;
    flex-direction: column;
    gap: 0;
    max-width: 632px;
}

.program-consultation-bachelor__form-group {
    position: relative;
    margin-bottom: 0;
    padding-top: 18px;
    padding-bottom: 18px;
}

.program-consultation-bachelor__form-group:not(:last-child) {
    border-bottom: 1px solid #AAAAAA;
    margin-bottom: 0;
}

.program-consultation-bachelor__input,
.program-consultation-bachelor__textarea {
    width: 100%;
    border: none;
    padding: 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    background: transparent;
    outline: none;
    box-sizing: border-box;
    vertical-align: middle;
}

.program-consultation-bachelor__input::placeholder,
.program-consultation-bachelor__textarea::placeholder {
    color: #AAAAAA;
}

.program-consultation-bachelor__form-group:focus-within {
    border-bottom-color: #B23C37;
}

.program-consultation-bachelor__input:focus,
.program-consultation-bachelor__textarea:focus {
    border-bottom: none;
}

.program-consultation-bachelor__textarea {
    resize: vertical;
    min-height: 60px;
}

/* Custom Select Styles */
.program-consultation-bachelor__form-group--select {
    padding: 18px 0;
}

.program-consultation-bachelor__select-wrapper {
    position: relative;
    width: 100%;
}

.program-consultation-bachelor__select-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    width: 0;
    height: 0;
}

.program-consultation-bachelor__select-trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    cursor: pointer;
    padding: 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.11px;
    line-height: 1.2;
    color: #AAAAAA;
    background: transparent;
    border: none;
    outline: none;
    user-select: none;
}

.program-consultation-bachelor__select-trigger:focus {
    color: #32343A;
}

.program-consultation-bachelor__select-text {
    display: flex;
    align-items: center;
    flex: 1;
}

.program-consultation-bachelor__select-placeholder {
    display: block;
}

.program-consultation-bachelor__select-value {
    display: none;
    color: #32343A;
}

.program-consultation-bachelor__select-arrow {
    flex-shrink: 0;
    margin-left: 10px;
    transition: transform 0.3s ease;
}

.program-consultation-bachelor__select-toggle:checked ~ .program-consultation-bachelor__select-trigger .program-consultation-bachelor__select-arrow {
    transform: rotate(180deg);
}

.program-consultation-bachelor__select-dropdown {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #FFFFFF;
    border: 1px solid #E2E2E2;
    border-radius: 8px;
    box-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
    z-index: 10;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transition: max-height 0.3s ease, opacity 0.3s ease;
}

.program-consultation-bachelor__select-toggle:checked ~ .program-consultation-bachelor__select-dropdown {
    max-height: 200px;
    opacity: 1;
}

.program-consultation-bachelor__select-option {
    display: flex;
    align-items: center;
    padding: 12px 16px;
    cursor: pointer;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.11px;
    line-height: 1.2;
    color: #32343A;
    transition: background-color 0.2s ease;
}

.program-consultation-bachelor__select-option:hover {
    background-color: #F5F5F5;
}

.program-consultation-bachelor__select-option:first-child {
    border-radius: 8px 8px 0 0;
}

.program-consultation-bachelor__select-option:last-child {
    border-radius: 0 0 8px 8px;
}

.program-consultation-bachelor__select-option input[type="radio"] {
    margin-right: 12px;
    width: 16px;
    height: 16px;
    cursor: pointer;
    accent-color: #B23C37;
    flex-shrink: 0;
}

.program-consultation-bachelor__select-option input[type="radio"]:checked + span {
    color: #B23C37;
}

/* Update trigger text when radio is selected using :has() */
.program-consultation-bachelor__select-wrapper:has(#whoAreYouParent:checked) .program-consultation-bachelor__select-placeholder {
    display: none;
}

.program-consultation-bachelor__select-wrapper:has(#whoAreYouParent:checked) .program-consultation-bachelor__select-value {
    display: block;
}

.program-consultation-bachelor__select-wrapper:has(#whoAreYouParent:checked) .program-consultation-bachelor__select-value::before {
    content: "Родитель";
}

.program-consultation-bachelor__select-wrapper:has(#whoAreYouApplicant:checked) .program-consultation-bachelor__select-placeholder {
    display: none;
}

.program-consultation-bachelor__select-wrapper:has(#whoAreYouApplicant:checked) .program-consultation-bachelor__select-value {
    display: block;
}

.program-consultation-bachelor__select-wrapper:has(#whoAreYouApplicant:checked) .program-consultation-bachelor__select-value::before {
    content: "Абитуриент";
}

/* Close dropdown when option is selected - using :has() to detect checked radio */
.program-consultation-bachelor__select-wrapper:has(#whoAreYouParent:checked) .program-consultation-bachelor__select-dropdown,
.program-consultation-bachelor__select-wrapper:has(#whoAreYouApplicant:checked) .program-consultation-bachelor__select-dropdown {
    max-height: 0;
    opacity: 0;
    pointer-events: none;
}

/* Update trigger color when value is selected */
.program-consultation-bachelor__select-wrapper:has(#whoAreYouParent:checked) .program-consultation-bachelor__select-trigger,
.program-consultation-bachelor__select-wrapper:has(#whoAreYouApplicant:checked) .program-consultation-bachelor__select-trigger {
    color: #32343A;
}

.program-consultation-bachelor__btn {
    margin-top: 71px;
    width: 632px;
    height: 42px;
    border-radius: 26.81px;
    background: linear-gradient(-51deg, #B23C37 21%, #330E11 100%);
    border: none;
    color: #FFFFFF;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15.1px;
    line-height: 1.2;
    cursor: pointer;
    transition: opacity 0.3s ease;
}

.program-consultation-bachelor__btn:hover {
    opacity: 0.9;
}

.program-consultation-bachelor__disclaimers {
    margin-top: 22px;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.program-consultation-bachelor__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    position: relative;
    margin-bottom: 12px;
}

.program-consultation-bachelor__checkbox:last-of-type {
    margin-bottom: 0;
}

.program-consultation-bachelor__checkbox input[type="checkbox"] {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}

.program-consultation-bachelor__checkmark {
    width: 16px;
    height: 16px;
    background: #F3F3F3;
    border-radius: 2px;
    flex-shrink: 0;
    margin-top: 2px;
    position: relative;
}

.program-consultation-bachelor__checkbox input[type="checkbox"]:checked + .program-consultation-bachelor__checkmark {
    background: #B23C37;
}

.program-consultation-bachelor__checkbox input[type="checkbox"]:checked + .program-consultation-bachelor__checkmark::after {
    content: '';
    position: absolute;
    left: 5px;
    top: 2px;
    width: 5px;
    height: 8px;
    border: solid #FFFFFF;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.program-consultation-bachelor__checkbox-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 10.22px;
    line-height: 1.174;
    color: #32343A;
    flex: 1;
}

.program-consultation-bachelor__required-note {
    margin-top: 10px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 10.22px;
    line-height: 1.174;
    color: #AAAAAA;
    padding-left: 16px;
    display: flex;
    align-items: center;
    gap: 4px;
}

.program-consultation-bachelor__asterisk {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 6.055px;
    line-height: 1.174;
    color: #AAAAAA;
    display: inline-flex;
    align-items: center;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-consultation-bachelor__card {
        max-width: 100%;
    }
    
    .program-consultation-bachelor__content {
        flex-direction: column;
        padding: 30px 20px;
    }
    
    .program-consultation-bachelor__left {
        width: 100%;
        padding: 30px 20px 0;
        min-height: auto;
        margin-bottom: 30px;
    }
    
    .program-consultation-bachelor__profile-wrapper {
        margin-top: 40px;
        padding-top: 0;
    }
    
    .program-consultation-bachelor__right {
        padding-left: 20px;
        padding-top: 0;
    }
    
    .program-consultation-bachelor__title {
        font-size: 32px;
    }
    
    .program-consultation-bachelor__btn {
        width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-consultation-bachelor {
        margin-top: 40px;
    }
    
    .program-consultation-bachelor__card {
        min-height: auto;
    }
    
    .program-consultation-bachelor__content {
        padding: 25px 20px;
    }
    
    .program-consultation-bachelor__title {
        font-size: 28px;
    }
    
    .program-consultation-bachelor__subtitle {
        font-size: 14px;
    }
}

@media screen and (max-width: 576px) {
    .program-consultation-bachelor {
        margin-top: 30px;
    }
    
    .program-consultation-bachelor__card {
        border-radius: 15px;
        min-height: auto;
    }
    
    .program-consultation-bachelor__content {
        padding: 20px 16px;
        flex-direction: column;
    }
    
    .program-consultation-bachelor__bg-image {
        display: none;
    }
    
    .program-consultation-bachelor__left {
        padding: 0;
        margin-bottom: 0;
        display: contents;
    }
    
    .program-consultation-bachelor__title {
        order: 1;
        padding: 0 0 10px 0;
        margin-bottom: 10px;
        font-size: 28px;
    }
    
    .program-consultation-bachelor__subtitle {
        order: 2;
        padding: 0;
        margin-bottom: 20px;
        font-size: 14px;
    }
    
    .program-consultation-bachelor__right {
        order: 3;
        padding-left: 0;
        padding-top: 0;
        display: contents;
    }
    
    .program-consultation-bachelor__form {
        display: contents;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(1) {
        order: 3;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(2) {
        order: 4;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(3) {
        order: 5;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(4) {
        order: 6;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(5) {
        order: 7;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(6) {
        order: 8;
    }
    
    .program-consultation-bachelor__form-group:nth-of-type(7) {
        order: 9;
    }
    
    .program-consultation-bachelor__profile-wrapper {
        order: 11;
        margin-top: 30px;
        padding-top: 0;
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        gap: 11px;
    }
    
    .program-consultation-bachelor__btn {
        order: 12;
    }
    
    .program-consultation-bachelor__disclaimers {
        order: 13;
    }
    
    .program-consultation-bachelor__image {
        width: 121px;
        height: 123px;
        margin-bottom: 0;
        margin-left: 0;
        flex-shrink: 0;
    }
    
    .program-consultation-bachelor__profile {
        margin-left: 0;
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding-top: 0;
    }
    
    .program-consultation-bachelor__name {
        font-size: 16.11px;
        margin-bottom: 0;
        line-height: 1.2;
    }
    
    .program-consultation-bachelor__position {
        font-size: 12px;
        line-height: 1.2;
        max-width: 178px;
    }
    
    .program-consultation-bachelor__form-group {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    
    .program-consultation-bachelor__form-group--select {
        padding-top: 20px;
        padding-bottom: 20px;
    }
    
    .program-consultation-bachelor__select-trigger {
        font-size: 14px;
    }
    
    .program-consultation-bachelor__select-option {
        font-size: 14px;
        padding: 10px 16px;
    }
    
    .program-consultation-bachelor__input,
    .program-consultation-bachelor__textarea {
        font-size: 14px;
        padding-bottom: 0;
    }
    
    .program-consultation-bachelor__btn {
        width: 100%;
        height: 40px;
        font-size: 14px;
        margin-top: 20px;
    }
    
    .program-consultation-bachelor__disclaimers {
        margin-top: 20px;
        gap: 10px;
    }
    
    .program-consultation-bachelor__checkbox-text {
        font-size: 10px;
    }
    
    .program-consultation-bachelor__required-note {
        font-size: 10px;
    }
}

/* =============================
   Program Subjects Block
   Pixel Perfect from Figma
   ============================= */

.program-subjects {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
}

.program-subjects .container {
    overflow-x: hidden;
    box-sizing: border-box;
}

.program-subjects__title {
    margin: 0 0 11px 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 31px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    max-width: 570px;
}

.program-subjects__subtitle {
    margin: 0 0 15px 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
}

.program-subjects__content {
    display: flex;
    gap: 12.62px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin-bottom: 10px;
    width: 100%;
    box-sizing: border-box;
}

.program-subjects__content::-webkit-scrollbar {
    display: none;
}

.program-subjects__scrollbar {
    width: 100%;
    max-width: 100%;
    height: 4px;
    background: #F5F5F5;
    border-radius: 13.87px;
    position: relative;
    overflow: hidden;
    --thumb-width: 208px;
    --thumb-position: 0px;
}

.program-subjects__scrollbar::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: var(--thumb-width, 208px);
    background: #AFB0B2;
    border-radius: 13.87px;
    transform: translateX(var(--thumb-position, 0px));
    transition: transform 0.1s ease-out, width 0.1s ease-out;
}

.program-subjects__average {
    flex-shrink: 0;
}

.program-subjects__column {
    flex-shrink: 0;
    position: relative;
}

.program-subjects__section-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #E2E2E2;
    margin-bottom: 1.26px;
    height: 30.26px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.program-subjects__divider {
    width: 100%;
    height: 1.26px;
    background: #E2E2E2;
    margin-bottom: 5.05px;
}

.program-subjects__cards {
    display: flex;
    gap: 12.62px;
}

.program-subjects__card {
    width: 262.27px;
    height: 50.44px;
    background: #F5F5F5;
    border-radius: 11.48px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 11.35px;
    box-sizing: border-box;
    position: relative;
}

.program-subjects__card-name {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16.34px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    flex: 1;
    display: flex;
    align-items: center;
    height: 100%;
}

.program-subjects__card-score {
    width: 60.52px;
    height: 40.35px;
    background: linear-gradient(-81deg, rgba(178, 60, 55, 1) 0%, rgba(51, 14, 17, 1) 100%);
    border-radius: 5.63px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 13.87px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    flex-shrink: 0;
}

.program-subjects__average-card {
    width: 297.58px;
    height: 50.44px;
    background: linear-gradient(238deg, rgba(178, 60, 55, 1) 55%, rgba(51, 14, 17, 1) 100%);
    border-radius: 11.48px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.program-subjects__average-score {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 17.65px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FFFFFF;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-subjects__content {
        gap: 20px;
    }
}

@media screen and (max-width: 992px) {
    .program-subjects__title {
        font-size: 28px;
    }
    
    .program-subjects__subtitle {
        font-size: 20px;
    }
    
    .program-subjects__content {
        flex-direction: column;
        gap: 30px;
        overflow-x: visible;
    }
    
    .program-subjects__cards {
        flex-wrap: wrap;
    }
    
    .program-subjects__card {
        width: calc(50% - 6.31px);
        min-width: 200px;
    }
    
    .program-subjects__average-card {
        width: 100%;
        max-width: 400px;
    }
}

@media screen and (max-width: 576px) {
    .program-subjects {
        margin-top: 40px;
    }
    
    .program-subjects__title {
        font-size: 20px;
        line-height: 1.06;
        margin-bottom: 10px;
    }
    
    .program-subjects__subtitle {
        font-size: 24px;
        margin-bottom: 0;
    }
    
    .program-subjects__content {
        gap: 45px;
        margin-bottom: 8px;
    }
    
    .program-subjects__average {
        margin-top: 50px;
    }
    
    .program-subjects__scrollbar {
        display: none;
    }
    
    .program-subjects__section-title {
        font-size: 18px;
        height: auto;
    }
    
    .program-subjects__divider {
        height: 1px;
        margin-bottom: 3px;
    }
    
    .program-subjects__cards {
        flex-direction: column;
        gap: 8px;
    }
    
    .program-subjects__card {
        width: 100%;
        height: 55px;
        border-radius: 8px;
        padding: 0 8px;
    }
    
    .program-subjects__card-name {
        font-size: 19px;
    }
    
    .program-subjects__card-score {
        width: auto;
        min-width: 50px;
        height: 45px;
        font-size: 19px;
        border-radius: 4px;
        padding: 0 8px;
    }
    
    .program-subjects__average-card {
        width: 100%;
        height: 55px;
        border-radius: 8px;
    }
    
    .program-subjects__average-score {
        font-size: 25px;
    }
}


/* =============================
   Program Audience Block
   Pixel Perfect from Figma
   ============================= */

.program-audience {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
}

.program-audience__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 43px;
    max-width: 838.29px;
}

.program-audience__content {
    display: flex;
    gap: 15px;
    align-items: flex-start;
    max-width: 1326px;
}

.program-audience__left {
    width: 564px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.program-audience__left-box {
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    border-radius: 20px;
    padding: 15px;
    min-height: 138px;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: flex-start;
}

.program-audience__left-box::before {
    content: '';
    position: absolute;
    top: -248px;
    left: -97px;
    width: 995px;
    height: 533px;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/bg linedlyakogo.svg');
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 995px 533px;
    z-index: 0;
    pointer-events: none;
}

.program-audience__left-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    color: #FFFFFF;
    margin: 0;
    position: relative;
    z-index: 1;
    max-width: 507px;
}

.program-audience__left-photo {
    width: 564px;
    height: 138px;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/Dlya_kogo_programma_master_program.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.program-audience__left-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 20px;
    position: relative;
    z-index: 0;
}

.program-audience__left-photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: rgba(50, 52, 58, 0.31);
    border-radius: inherit;
    pointer-events: none;
    z-index: 1;
}

.program-audience__right {
    width: 747px;
    background: #F5F5F5;
    border-radius: 20px;
    padding: 24px 0 24px 37px;
    box-sizing: border-box;
}

.program-audience__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
}

.program-audience__item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 0;
}

.program-audience__item:nth-child(1) {
    margin-bottom: 35px;
}

.program-audience__item:nth-child(2) {
    margin-bottom: 35px;
}

.program-audience__item:nth-child(3) {
    margin-bottom: 0;
}

.program-audience__bullet {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    margin-top: 3px;
    position: absolute;
    left: -3px;
}

.program-audience__item-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #32343A;
    margin: 0;
    padding-left: 20px;
}

.program-audience__item:nth-child(1) .program-audience__item-text {
    max-width: 685px;
}

.program-audience__item:nth-child(2) .program-audience__item-text {
    max-width: 673px;
}

.program-audience__item:nth-child(3) .program-audience__item-text {
    max-width: 627px;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-audience__content {
        max-width: 100%;
        flex-direction: column;
    }
    
    .program-audience__left {
        width: 100%;
    }
    
    .program-audience__left-photo {
        width: 100%;
    }
    
    .program-audience__right {
        width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-audience {
        margin-top: 40px;
    }
    
    .program-audience__title {
        font-size: 28px;
        margin-bottom: 30px;
        max-width: 100%;
    }
    
    .program-audience__content {
        gap: 20px;
    }
    
    .program-audience__left {
        gap: 15px;
    }
    
    .program-audience__left-box {
        min-height: auto;
        padding: 20px;
    }
    
    .program-audience__left-text {
        font-size: 20px;
        max-width: 100%;
    }
    
    .program-audience__left-photo {
        height: 160px;
    }
    
    .program-audience__right {
        padding: 20px;
    }
    
    .program-audience__item {
        margin-bottom: 20px !important;
    }
    
    .program-audience__item-text {
        font-size: 14px;
        max-width: 100% !important;
    }
}

@media screen and (max-width: 576px) {
    .program-audience {
        margin-top: 60px;
    }
    
    .program-audience__title {
        font-size: 31px;
        margin-bottom: 20px;
    }
    
    .program-audience__content {
        gap: 15px;
    }
    
    .program-audience__left {
        gap: 12px;
    }
    
    .program-audience__left-box {
        padding: 15px;
        border-radius: 14px;
        min-height: 100px;
    }
    
    .program-audience__left-box::before {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-image: url('/local/templates/ranepa_im2/assets2/css/../img/BG_Dlya_kogo_rograma_bachalor_program.svg');
        background-size: cover;
        background-position: center;
    }
    
    .program-audience__left-text {
        font-size: 16px;
    }
    
    .program-audience__left-photo {
        display: none;
    }
    
    .program-audience__right {
        padding: 16px;
        border-radius: 14px;
    }
    
    .program-audience__list {
        padding-top: 15px;
    }
    
    .program-audience__item {
        margin-bottom: 16px !important;
        gap: 8px;
    }
    
    .program-audience__bullet {
        width: 12px;
        height: 12px;
        left: -1px;
        top: 0px;
    }
    
    .program-audience__item-text {
        font-size: 16px;
        padding-left: 16px;
    }
}

/* =============================
   Program Skills Block
   Pixel Perfect from Figma
   ============================= */

.program-skills {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
}

.program-skills__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 11px;
    max-width: 838.29px;
}

.program-skills__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
    margin: 0;
    margin-bottom: 22px;
    max-width: 989px;
}

.program-skills__card {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 37px 30px 37px 30px;
    max-width: 1326px;
    min-height: 201px;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-auto-flow: row;
    gap: 18px 32px;
}

.program-skills__column {
    display: contents;
}

.program-skills__item {
    flex: 1;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    position: relative;
}

.program-skills__number {
    flex-shrink: 0;
    width: auto;
    height: 21px;
    margin-top: 11px;
}

.program-skills__text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0;
    color: #32343A;
    margin: 0;
    flex: 1;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-skills__card {
        max-width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-skills {
        margin-top: 40px;
    }
    
    .program-skills__title {
        font-size: 28px;
        margin-bottom: 15px;
        max-width: 100%;
    }
    
    .program-skills__subtitle {
        font-size: 20px;
        margin-bottom: 20px;
        max-width: 100%;
    }
    
    .program-skills__card {
        padding: 30px 20px;
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .program-skills__item {
        gap: 12px;
    }
    
    .program-skills__number {
        height: 18px;
        margin-top: 3px;
    }
    
    .program-skills__text {
        font-size: 14px;
    }
}

@media screen and (max-width: 576px) {
    .program-skills {
        margin-top: 60px;
    }
    
    .program-skills__title {
        font-size: 31px;
        line-height: 1.06;
        margin-bottom: 8px;
    }
    
    .program-skills__subtitle {
        font-size: 14px;
        line-height: 1.06;
        margin-bottom: 25px;
    }
    
    .program-skills__card {
        padding: 25px 12px;
        border-radius: 20px;
        grid-template-columns: 1fr 1fr;
        gap: 61px 9px;
    }
    
    .program-skills__item {
        gap: 9px;
        flex-direction: row;
        align-items: flex-start;
    }
    
    .program-skills__number {
        height: 21px;
        margin-top: 0;
        font-size: 29px;
        font-weight: 700;
    }
    
    .program-skills__text {
        font-size: 11px;
        line-height: 1.2;
        color: #595959;
    }
}

/* =============================
   Program Plan Block
   Pixel Perfect from Figma
   ============================= */

.program-plan {
    margin-top: 102px;
    margin-bottom: 0;
    padding: 26px;
    background: #F5F5F5;
    border-radius: 20px;
}

.program-plan__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-top: -40px;
    margin-bottom: 29px;
}

.program-plan__legend {
    display: flex;
    align-items: center;
    gap: 22px;
    flex-wrap: wrap;
    margin-bottom: 29px;
}

.program-plan__legend-item {
    display: flex;
    align-items: center;
    gap: 4px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    color: #32343A;
}

.program-plan__legend-icon {
    width: 11px;
    height: 11px;
    flex-shrink: 0;
}

.program-plan__tabs {
    margin-bottom: 29px;
}

.program-plan__tabs .tabs__items {
    display: flex;
    gap: 0;
    background: #F2F2F2;
    border-radius: 104px;
    padding: 7px;
    width: fit-content;
    box-shadow: inset 4px 2.7px 22px -6.8px rgba(0, 0, 0, 0.25);
}

.program-plan__tabs .tab {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 21px;
    line-height: 1.2;
    color: #A2A2A2;
    padding: 11px 32px;
    border-radius: 104px;
    cursor: pointer;
    transition: all 0.3s;
    text-align: center;
    min-width: 128px;
}

.program-plan__tabs .tab._active {
    background: #E63542;
    color: #FFFFFF;
}

.program-plan__content {
    padding: 0;
    max-width: 1378px;
}

.program-plan__semesters {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 10px;
}

.program-plan__semester-header {
    background: #E0E1E5;
    border-radius: 10px;
    padding: 12px 0;
    text-align: center;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.06;
    color: #32343A;
}

.program-plan__general-disciplines {
    width: 100%;
    margin-bottom: 10px;
}

.program-plan__general-disciplines-header {
    background: #AAADB2;
    border-radius: 10px;
    padding: 12px 0;
    text-align: center;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.06;
    color: #32343A;
    width: 100%;
}

.program-plan__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 20px;
}

.program-plan__column {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.program-plan__column .program-plan__semester-header {
    display: none;
}

.program-plan__item {
    background: #FFFFFF;
    border: 1px solid #A9B1BD;
    border-radius: 10px;
    padding: 21px 17px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.06;
    color: #32343A;
    min-height: 59px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

.program-plan__item--faculty-english {
    background: #E8585F;
    color: #FFFFFF;
    border: none;
}

.program-plan__item--faculty-second {
    background: #792125;
    color: #FFFFFF;
    border: none;
}

.program-plan__item--faculty {
    background: #94282D;
    color: #FFFFFF;
    border: none;
}

.program-plan__item--track {
    background: #B23A40;
    color: #FFFFFF;
    border: none;
}

.program-plan__item--elective {
    background: #B23A40;
    color: #FFFFFF;
    border: none;
}

/* Элективы для 3 и 4 курсов - белый фон с красной обводкой */
.tab-content._plan3 .program-plan__item--elective,
.tab-content._plan4 .program-plan__item--elective {
    background: #FFFFFF;
    color: #32343A;
    border: 1px solid #B23A40;
}

.program-plan__item--practice {
    background: #E8585F;
    color: #FFFFFF;
    border: none;
}

.program-plan__item--attestation {
    border-color: #5C5E64;
    gap: 10px;
}

.program-plan__item--defense {
    border-color: #5C5E64;
    gap: 10px;
}

.program-plan__item-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

/* Tab content */
.program-plan .tab-content {
    display: none;
}

.program-plan .tab-content._active {
    display: block;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-plan__content {
        max-width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-plan {
        margin-top: 40px;
    }
    
    .program-plan__title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    
    .program-plan__legend {
        gap: 15px;
        margin-bottom: 20px;
    }
    
    .program-plan__legend-item {
        font-size: 12px;
    }
    
    .program-plan__tabs {
        margin-bottom: 20px;
    }
    
    .program-plan__tabs .tab {
        font-size: 18px;
        padding: 10px 24px;
        min-width: 100px;
    }
    
    .program-plan__content {
        padding: 20px;
    }
    
    .program-plan__semesters {
        grid-template-columns: 1fr;
        gap: 10px;
        margin-bottom: 15px;
    }
    
    .program-plan__grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .program-plan__semester-header {
        padding: 10px 0;
        font-size: 14px;
    }
    
    .program-plan__general-disciplines {
        margin-bottom: 15px;
    }
    
    .program-plan__general-disciplines-header {
        padding: 10px 0;
        font-size: 14px;
    }
    
    .program-plan__item {
        padding: 16px 14px;
        font-size: 14px;
        min-height: 50px;
    }
}

@media screen and (max-width: 576px) {
    .program-plan {
        margin-top: 60px;
        padding-left: 12px;
        padding-right: 12px;
    }
    
    .program-plan__title {
        font-size: 31px;
        margin-top: 0;
        margin-bottom: 16px;
    }
    
    .program-plan__legend {
        gap: 10px;
        margin-bottom: 16px;
    }
    
    .program-plan__legend-item {
        font-size: 11px;
    }
    
    .program-plan__legend-icon {
        width: 10px;
        height: 10px;
    }
    
    .program-plan__tabs {
        margin-bottom: 16px;
    }
    
    .program-plan__tabs .tabs__items {
        padding: 5px;
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .program-plan__tabs .tabs__items::-webkit-scrollbar {
        display: none;
    }
    
    .program-plan__tabs .tab {
        font-size: 13px;
        padding: 8px 15px;
        min-width: auto;
        white-space: nowrap;
        flex-shrink: 0;
    }
    
    .program-plan__content {
        padding: 0;
        border-radius: 14px;
    }
    
    .program-plan__semesters {
        gap: 8px;
        margin-bottom: 12px;
    }
    
    .program-plan__semesters {
        display: none;
    }
    
    .program-plan__general-disciplines {
        display: none;
    }
    
    .program-plan__general-disciplines-header {
        padding: 10px 0;
        font-size: 14px;
        margin-bottom: 8px;
    }
    
    .program-plan__column .program-plan__general-disciplines-header {
        background: #AAADB2;
        border-radius: 10px;
        padding: 12px 0;
        text-align: center;
        font-family: 'Raleway', sans-serif;
        font-weight: 600;
        font-size: 14px;
        line-height: 1.06;
        color: #FFFFFF;
        margin-bottom: 8px;
    }
    
    .program-plan__grid {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    
    .program-plan__column {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
    
    .program-plan__column .program-plan__semester-header {
        display: block;
        padding: 12px 0;
        font-size: 16px;
        border-radius: 10px;
        background: #E0E1E5;
        text-align: center;
    }
    
    .program-plan__column:first-child .program-plan__semester-header {
        margin-top: 0;
    }
    
    .program-plan__column:not(:first-child) .program-plan__semester-header {
        margin-top: 15px;
    }
    
    .program-plan__item {
        padding: 14px 12px;
        font-size: 12px;
        min-height: 43px;
        border-radius: 7.37px;
    }
    
    .program-plan__item-icon {
        width: 12px;
        height: 12px;
    }
    
    .program-plan__item:empty {
        display: none;
    }
}

/* =============================
   Program Diploma Block
   Pixel Perfect from Figma
   ============================= */

.program-diploma {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
}

.program-diploma__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 6px;
}

.program-diploma__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #DADADA;
    margin: 0;
    margin-bottom: 46px;
}

.program-diploma__grid {
    display: grid;
    grid-template-columns: 653px 663px;
    grid-template-rows: auto auto;
    gap: 10px 20px;
    max-width: 1326px;
}

.program-diploma__card {
    border-radius: 20px;
    padding: 20px 16px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.program-diploma__card--graduate {
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    grid-column: 1;
    grid-row: 1;
    min-height: 103px;
}

.program-diploma__card--graduate::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/linevypysknayarabota.svg') no-repeat;
    background-size: cover;
    background-position: center;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
}

.program-diploma__text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    margin: 0;
    position: relative;
    z-index: 1;
}

.program-diploma__card--examples {
    background: #F5F5F5;
    grid-column: 1;
    grid-row: 2;
    padding: 17px;
    min-height: 247px;
}

.program-diploma__card-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin: 0;
    margin-bottom: 36px;
}

.program-diploma__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 29px;
}

.program-diploma__list li {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.02em;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    position: relative;
    padding-left: 19px;
    display: flex;
    align-items: flex-start;
    gap: 9px;
}

.program-diploma__bullet {
    width: 10px;
    height: 10px;
    flex-shrink: 0;
    position: absolute;
    left: 3px;
}

.program-diploma__card--profession {
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    grid-column: 2;
    grid-row: 1 / 3;
    padding: 23px 16px;
    min-height: 360px;
    display: flex;
    flex-direction: column;
}

.program-diploma__card--profession::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/bg_programs_pk_vashaprofessia.png') no-repeat;
    background-size: cover;
    background-position: left bottom;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
}

.program-diploma__profession-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    margin: 0;
    margin-bottom: 13px;
    position: relative;
    z-index: 1;
}

.program-diploma__profession-list {
    list-style: none;
    margin: 0;
    padding: 42px 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex: 1;
    position: relative;
    z-index: 1;
}

.program-diploma__profession-list li {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    position: relative;
    padding-left: 20px;
    display: flex;
    align-items: center;
}

.mobile-br {
    display: none;
}

.program-diploma__profession-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 13px;
    height: 13px;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/whitesquard.svg') no-repeat;
    background-size: contain;
    flex-shrink: 0;
}

.program-diploma__profession-list span {
    display: inline-block;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-diploma__grid {
        grid-template-columns: 1fr 1fr;
        max-width: 100%;
    }
}

@media screen and (max-width: 992px) {
    .program-diploma {
        margin-top: 40px;
    }
    
    .program-diploma__title {
        font-size: 28px;
        margin-bottom: 8px;
    }
    
    .program-diploma__subtitle {
        font-size: 20px;
        margin-bottom: 30px;
    }
    
    .program-diploma__grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }
    
    .program-diploma__card--graduate {
        grid-column: 1;
        grid-row: auto;
        min-height: 120px;
    }
    
    .program-diploma__card--examples {
        grid-column: 1;
        grid-row: auto;
        min-height: auto;
    }
    
    .program-diploma__card--profession {
        grid-column: 1;
        grid-row: auto;
        min-height: 347px;
    }
    
    .program-diploma__card--profession::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/vasha_professia_master_programmn.png') no-repeat;
        background-size: cover;
        background-position: center;
        pointer-events: none;
        z-index: 0;
    }
    
    .program-diploma__card-title {
        font-size: 28px;
        margin-bottom: 25px;
        position: relative;
        z-index: 1;
    }
    
    .program-diploma__list {
        gap: 25px;
    }
    
    .program-diploma__profession-title {
        font-size: 28px;
    }
}

@media screen and (max-width: 576px) {
    .program-diploma {
        margin-top: 60px;
    }
    
    .program-diploma__title {
        font-size: 29px;
        margin-bottom: 6px;
    }
    
    .program-diploma__subtitle {
        font-size: 14px;
        margin-bottom: 20px;
    }
    
    .program-diploma__grid {
        gap: 12px;
    }
    
    .program-diploma__card {
        border-radius: 14px;
        padding: 16px;
    }
    
    .program-diploma__card--graduate {
        min-height: 100px;
    }
    
    .program-diploma__card--graduate::before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/vipusk_rab._master_programm.svg') no-repeat;
        background-size: cover;
        background-position: center;
        pointer-events: none;
        z-index: 0;
    }
    
    .program-diploma__text {
        font-size: 16px;
        position: relative;
        z-index: 1;
    }
    
    .program-diploma__card-title {
        font-size: 20px;
        margin-bottom: 20px;
    }
    
    .program-diploma__list {
        gap: 20px;
    }
    
    .program-diploma__list li {
        font-size: 14px;
        padding-left: 16px;
        position: relative;
    }
    
    .program-diploma__bullet {
        display: none;
    }
    
    .program-diploma__list li::before {
        content: '';
        position: absolute;
        left: -1px;
        top: 0px;
        width: 12px;
        height: 12px;
        background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/redsquard.svg');
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center;
    }
    
    .program-diploma__profession-title {
        font-size: 24px;
        margin-bottom: 15px;
        position: relative;
        z-index: 1;
    }
    
    .program-diploma__profession-list {
        position: relative;
        z-index: 1;
        padding-top: 38px;
        padding-bottom: 38px;
        gap: 25px;
    }
    
    .program-diploma__profession-list li {
        font-size: 16px;
        line-height: 22px;
    }
    
    .mobile-br {
        display: inline;
    }
    
    .program-diploma__profession-list li::before {
        width: 10px;
        height: 10px;
    }
}

/* =============================
   Program Career Block
   Pixel Perfect from Figma
   ============================= */

.program-career {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    min-height: 512px;
    background: #FFFFFF;
}

.program-career::before {
    content: "";
    position: absolute;
    top: -505px;
    left: 0;
    width: 100%;
    height: 1363px;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/svgbg.svg') no-repeat;
    background-size: cover;
    background-position: left top;
    pointer-events: none;
    z-index: 0;
    opacity: 1;
}

.program-career .container {
    position: relative;
    z-index: 1;
}

.program-career__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 174px;
}

.program-career__grid {
    display: flex;
    gap: 15px;
    align-items: flex-start;
}

.program-career__card {
    width: 320px;
    border: 1px solid #EDEDED;
    border-radius: 24.98px;
    background: rgba(255, 255, 255, 0.11);
    backdrop-filter: blur(3.4px);
    -webkit-backdrop-filter: blur(3.4px);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    flex-shrink: 0;
}

.program-career__card::before {
    content: "";
    position: absolute;
    left: 0;
    width: 264.78px;
    height: 254.79px;
    background: rgba(44, 44, 44, 0);
    backdrop-filter: blur(2.5px);
    -webkit-backdrop-filter: blur(2.5px);
    border-radius: 24.98px;
    pointer-events: none;
    z-index: 0;
}

.program-career__card--junior {
    height: 138px;
    margin-top: 0;
}

.program-career__card--junior::before {
    top: -115.94px;
}

.program-career__card--middle {
    height: 192px;
    margin-top: -54px;
}

.program-career__card--middle::before {
    top: -61.94px;
}

.program-career__card--senior {
    height: 229px;
    margin-top: -91px;
}

.program-career__card--senior::before {
    top: -24.94px;
}

.program-career__card--info {
    height: 276px;
    margin-top: -138px;
    display: flex;
    flex-direction: column;
}

.program-career__card--info::before {
    top: 22.06px;
}

.program-career__level {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.2;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin: 0;
    padding: 0 12px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
}

.program-career__card--junior .program-career__level {
    height: 62px;
}

.program-career__card--middle .program-career__level {
    height: 62.14px;
    padding-left: 12.03px;
}

.program-career__card--senior .program-career__level {
    height: 62.14px;
    padding-left: 12.03px;
}

.program-career__salary {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.2;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin: 0;
    padding: 0 12.5px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    height: 39.97px;
}

.program-career__card--junior .program-career__salary {
    margin-top: 22px;
}

.program-career__card--middle .program-career__salary {
    margin-top: 76px;
}

.program-career__card--senior .program-career__salary {
    margin-top: 113px;
}

.program-career__info-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.2;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    margin: 0;
    padding: 14px 12.03px 0;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    height: 62.14px;
}

.program-career__info-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #AAAAAA;
    margin: 0;
    padding: 0 13px;
    margin-top: 21px;
    position: relative;
    z-index: 1;
}

.program-career__info-note {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 1.2;
    color: #AAAAAA;
    margin: 0;
    padding: 0 13px 13px;
    margin-top: auto;
    position: relative;
    z-index: 1;
}

/* Responsive */
@media screen and (max-width: 1700px) {
    .program-career__grid {
        justify-content: center;
    }
}

@media screen and (max-width: 1400px) {
    .program-career__grid {
        flex-wrap: wrap;
    }
    
    .program-career__card--middle,
    .program-career__card--senior,
    .program-career__card--info {
        margin-top: 0;
    }
}

@media screen and (max-width: 992px) {
    .program-career {
        margin-top: 40px;
        min-height: auto;
    }
    
    .program-career__title {
        font-size: 28px;
        margin-bottom: 40px;
    }
    
    .program-career__grid {
        flex-direction: column;
        gap: 20px;
    }
    
    .program-career__card {
        width: 100%;
        height: auto !important;
        margin-top: 0 !important;
        padding: 20px;
    }
    
    .program-career__card::before {
        display: none;
    }
    
    .program-career__level {
        font-size: 28px;
        height: auto !important;
        padding-left: 12px !important;
    }
    
    .program-career__salary {
        font-size: 18px;
        height: auto !important;
        margin-top: 10px !important;
    }
    
    .program-career__info-title {
        font-size: 22px;
        height: auto !important;
        padding-top: 0 !important;
    }
    
    .program-career__info-text {
        font-size: 14px;
        margin-top: 15px !important;
    }
    
    .program-career__info-note {
        font-size: 9px;
        margin-top: 15px !important;
    }
}

@media screen and (max-width: 576px) {
    .program-career {
        margin-top: 60px;
    }
    
    .program-career__title {
        font-size: 30px;
        margin-bottom: 30px;
    }
    
    .program-career__grid {
        gap: 15px;
    }
    
    .program-career__card {
        padding: 16px;
        border-radius: 20px;
    }
    
    .program-career__card--junior {
        width: 206px;
    }
    
    .program-career__card--middle {
        width: 290px;
    }
    
    .program-career__level {
        font-size: 32px;
    }
    
    .program-career__salary {
        font-size: 20px;
    }
    
    .program-career__info-title {
        font-size: 24px;
    }
    
    .program-career__info-text {
        font-size: 16px;
        background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
    }
    
    .program-career__info-note {
        font-size: 10px;
    }
}

/* =============================
   Program Competencies Block
   Pixel Perfect from Figma
   ============================= */

.program-competencies {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    background: #FFFFFF;
}

.program-competencies .container {
    position: relative;
    z-index: 2;
}

.program-competencies__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 30px;
    position: relative;
    z-index: 2;
}

.program-competencies-slider {
    position: relative;
    overflow: visible;
}

.program-competencies-slider .swiper-container {
    overflow: visible;
}

@media screen and (max-width: 576px) {
    .program-competencies-slider {
        overflow: hidden;
    }
    
    .program-competencies-slider .swiper-container {
        overflow: hidden;
    }
}

.program-competencies-slider .swiper-wrapper {
    display: flex;
    gap: 11px;
    align-items: stretch;
}

.program-competencies-slider .swiper-slide {
    width: 452px !important;
    height: auto;
    flex-shrink: 0;
    display: flex;
}

.program-competencies-card {
    background: #F5F5F5;
    border-radius: 20.26px;
    padding: 25.27px;
    height: 100%;
    min-height: 192px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.program-competencies-card__top {
    display: flex;
    flex-direction: column;
    gap: 12.64px;
}

.program-competencies-card__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
}

.program-competencies-card__desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
}

.program-competencies-card__icon {
    width: 49px;
    height: 49px;
    object-fit: contain;
    align-self: flex-end;
    margin-top: auto;
}

.program-competencies-slider .swiper-scrollbar {
    height: 0.375em;
    margin-top: 1.64em;
    border-radius: 0.87794em;
    background: #F5F5F5;
}

.program-competencies-slider .swiper-scrollbar-drag {
    border-radius: 0.87794em;
    background: #AFB0B2;
}

/* Teachers Slider (same as Competencies Slider) */
.teachers-slider {
    position: relative;
    overflow: visible;
}

.teachers-slider .swiper-container {
    overflow: visible;
}

@media screen and (max-width: 576px) {
    .teachers-slider {
        overflow: hidden;
    }
    
    .teachers-slider .swiper-container {
        overflow: hidden;
    }
}

.teachers-slider .swiper-scrollbar {
    height: 0.375em;
    margin-top: 1.64em;
    border-radius: 0.87794em;
    background: #F5F5F5;
}

.teachers-slider .swiper-scrollbar-drag {
    border-radius: 0.87794em;
    background: #AFB0B2;
}

/* =============================
   Teachers Bachelor Block (Unique classes for bachelor program)
   ============================= */

.teachers-bachelor {
    padding-top: 5.5em;
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.teachers-bachelor-slider {
    margin-top: 1.5em;
}

.teachers-bachelor-slider .swiper-slide {
    width: 13.4375em;
}

.teachers-bachelor-slider .swiper-nav {
    margin-bottom: 1.1em;
}

.teachers-bachelor__subtitle {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
    margin: 0 0 25px;
}

.teacher-card__name {
    height: calc(0.905em * 1.1 * 2);
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.1;
}

.teacher-card__desc {
    margin-top: 2.5em;
}

@media screen and (max-width: 992px) {
    .teachers-bachelor__subtitle {
        font-size: 20px;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 576px) {
    .teachers-bachelor__subtitle {
        font-size: 16px;
        margin-bottom: 15px;
    }
}

.teachers-bachelor-slider {
    position: relative;
    overflow: visible;
}

.teachers-bachelor-slider .swiper-container {
    overflow: visible;
}

@media screen and (max-width: 576px) {
    .teachers-bachelor-slider {
        overflow: hidden;
    }
    
    .teachers-bachelor-slider .swiper-container {
        overflow: hidden;
    }
}

.teachers-bachelor-slider .swiper-scrollbar {
    height: 0.375em;
    margin-top: 1.64em;
    border-radius: 0.87794em;
    background: #F5F5F5;
}

.teachers-bachelor-slider .swiper-scrollbar-drag {
    border-radius: 0.87794em;
    background: #AFB0B2;
}

.teachers-bachelor .swiper-button:hover {
    background-color: transparent !important;
    border-color: #32343A !important;
}

.teachers-bachelor .swiper-button:hover path {
    fill: #32343A !important;
}

@media screen and (max-width: 576px) {
    .teachers-bachelor {
        padding-top: 1.25em;
        margin-top: 60px;
    }
    
    .teachers-bachelor .h2 {
        font-size: 31px;
    }
    
    .teachers-bachelor__subtitle {
        display: none;
    }
    
    .teacher-card__name {
        height: calc(0.905em * 1.1 * 2);
        display: -webkit-box;
        -webkit-line-clamp: 2;
        line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        line-height: 1.1;
    }
    
    .teacher-card__desc {
        margin-top: 2.5em;
    }
    
    .teachers-bachelor-slider {
        margin-top: 1.1em;
    }
    
    .teachers-bachelor-slider .swiper-nav {
        display: none;
    }
}

/* Responsive */
@media screen and (max-width: 992px) {
    .program-competencies {
        margin-top: 40px;
    }
    
    .program-competencies__title {
        font-size: 28px;
        margin-bottom: 25px;
    }
    
    .program-competencies-slider .swiper-slide {
        width: 350px !important;
        height: auto;
    }
    
    .program-competencies-card {
        height: auto;
        padding: 20px 20px 70px;
    }
    
    .program-competencies-card__title {
        font-size: 18px;
    }
    
    .program-competencies-card__desc {
        font-size: 14px;
    }
    
    .program-competencies-card__icon {
        width: 40px;
        height: 40px;
        right: 15px;
        bottom: 15px;
    }
}

@media screen and (max-width: 576px) {
    .program-competencies {
        margin-top: 60px !important;
        overflow: hidden;
        max-width: 100vw;
    }
    
    .program-competencies .container {
        overflow: hidden;
        max-width: 100%;
    }
    
    .program-competencies__title {
        font-size: 29px;
        margin-bottom: 20px;
    }
    
    .program-competencies-slider {
        overflow: hidden;
        max-width: 100%;
    }
    
    .program-competencies-slider .swiper-slide {
        width: 289px !important;
    }
    
    .program-competencies-slider .swiper-slide:last-child {
        margin-right: 80px;
    }
    
    .program-competencies-slider .swiper-scrollbar {
        margin-top: 0.82em;
    }
    
    .teachers-slider .swiper-scrollbar {
        margin-top: 0.82em;
    }
    
    .program-competencies-card {
        padding: 19.58px;
        border-radius: 20px;
        min-height: 339px;
        position: relative;
        max-width: 100%;
        box-sizing: border-box;
    }
    
    .program-competencies-card__top {
        gap: 24px;
    }
    
    .program-competencies-card__title {
        font-size: 20px;
        line-height: 1.1em;
        min-height: 66px;
        display: flex;
        align-items: flex-start;
    }
    
    .program-competencies-card__desc {
        font-size: 15px;
        line-height: 1.1em;
    }
    
    .program-competencies-card__icon {
        width: 49.65px;
        height: 49.65px;
        position: absolute;
        right: 14.49px;
        bottom: 14.49px;
        margin: 0;
    }
}

/* =============================
   Program Tools Block
   Pixel Perfect from Figma
   ============================= */

.program-tools {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    background: #FFFFFF;
}

.program-tools::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/bg sv instrumenty.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.program-tools__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 67px;
    position: relative;
    z-index: 1;
}

.program-tools-slider .swiper-container {
    overflow: visible;
}



.program-tools-slider .swiper-scrollbar {
    display: none;
}

.program-tools__grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 0;
    border-top: none;
    position: relative;
    z-index: 1;
}

.program-tools__category {
    border-right: 1px solid #EAEAEA;
    padding: 0 8px;
    padding-top: 0px;
}

.program-tools__category:last-child {
    border-right: none;
}

.program-tools__category-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15.77px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #E2E2E2;
    margin: 0 0 7px;
    padding: 0 8px;
    min-height: 34px;
}

.program-tools__items {
    display: flex;
    flex-direction: column;
    gap: 3.24px;
    border-top: 1px solid #EAEAEA;
    padding-top: 15px;
}

.program-tools__item {
    background: #F5F5F5;
    border-radius: 9.1px;
    padding: 0 16.2px;
    height: 39.7px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: relative;
    box-sizing: border-box;
}

.program-tools__item span {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 12.96px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    flex: 1;
}

.program-tools__item::after {
    content: "";
    position: absolute;
    right: 3.24px;
    top: 50%;
    transform: translateY(-50%);
    width: 32.4px;
    height: 32.4px;
    background: #FFFFFF;
    border-radius: 4.47px;
}

.program-tools__logo {
    width: 22px;
    height: 22px;
    object-fit: contain;
    position: absolute;
    right: 8.5px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
}

/* Responsive */
@media screen and (max-width: 1400px) {
    .program-tools__grid {
        grid-template-columns: repeat(4, 1fr);
    }
    
    .program-tools__category:nth-child(4n) {
        border-right: none;
    }
    
    .program-tools__category:not(:nth-child(4n)) {
        border-right: 1px solid #EAEAEA;
    }
}

@media screen and (max-width: 992px) {
    .program-tools {
        margin-top: 40px;
    }
    
    .program-tools__title {
        font-size: 28px;
        margin-bottom: 40px;
    }
    
    .program-tools__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .program-tools__category {
        padding-top: 30px;
    }
    
    .program-tools__category:nth-child(2n) {
        border-right: none;
    }
    
    .program-tools__category:not(:nth-child(2n)) {
        border-right: 1px solid #EAEAEA;
    }
    
    .program-tools__category-title {
        font-size: 14px;
        margin-bottom: 25px;
    }
    
    .program-tools__item {
        font-size: 12px;
        height: 36px;
    }
    
    .program-tools__item::after {
        width: 28px;
        height: 28px;
    }
    
    .program-tools__logo {
        width: 18px;
        height: 18px;
        right: 8px;
    }
}

@media screen and (max-width: 576px) {
    .program-tools {
        margin-top: 60px;
        overflow: hidden;
    }
    
    .program-tools__title {
        font-size: 30px;
        margin-bottom: 30px;
    }
    
    .program-tools-slider {
        overflow: visible;
        position: relative;
    }
    
    .program-tools-slider .swiper-container {
        overflow: visible;
        position: relative;
    }
    
    .program-tools-slider .swiper-wrapper {
        display: flex;
    }
    
    .program-tools__grid {
        display: flex;
        grid-template-columns: none;
        border-top: none;
    }
    
    .program-tools-slider .swiper-slide {
        width: 205px !important;
        flex-shrink: 0;
        border-right: 1px solid #EAEAEA;
    }
    
    .program-tools-slider .swiper-slide:last-child {
        border-right: none;
    }
    
    .program-tools__category {
        padding: 0;
        padding-top: 20px;
        width: 205px;
        min-height: 191px;
        display: flex;
        flex-direction: column;
    }
    
    .program-tools__category-title {
        font-size: 17px !important;
        line-height: 1.2;
        min-height: 41.2px;
        margin-bottom: 15px;
        padding: 0 8px;
        display: flex;
        align-items: flex-start;
    }
    
    .program-tools__items {
        padding: 15px 8px 0 8px;
        width: 100%;
        box-sizing: border-box;
        border-top: 1px solid #EAEAEA;
    }
    
    .program-tools__item {
        font-size: 11px;
        height: 43px;
        border-radius: 8px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .program-tools__item span {
        font-size: 14px !important;
    }
    
    .program-tools__item::after {
        width: 24px;
        height: 24px;
        right: 4px;
    }
    
    .program-tools__logo {
        width: 32px;
        height: 32px;
        right: 8px;
    }
    
    .program-tools-slider .swiper-scrollbar {
        display: block;
        height: 0.375em;
        margin-top: 1.64em;
        border-radius: 0.87794em;
        background: #F5F5F5;
    }
    
    .program-tools-slider .swiper-scrollbar-drag {
        border-radius: 0.87794em;
        background: #AFB0B2;
    }
}

/* =============================
   Program How Block
   Pixel Perfect from Figma
   ============================= */

.program-how {
    margin-top: 102px;
    margin-bottom: 0;
    padding-bottom: 40px;
    position: relative;
    z-index: 2;
    background: #F5F5F5;
    border-radius: 20px;
}

.program-how__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0;
    margin-bottom: 29px;
    margin-top: -20px;
}

.program-how__panel {
    display: flex;
    gap: 41px;
    align-items: stretch;
}

.program-how__left {
    flex: 0 0 598px;
}

.program-how__right {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 8px;
}

.program-how__card {
    background: #FFFFFF;
    border-radius: 20px;
    overflow: hidden;
    position: relative;
    height: 450px;
}

.program-how__card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.program-how__card-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 25px 13px 27px;
    background: linear-gradient(to top, rgba(0,0,0,0.7) 0%, transparent 100%);
}

.program-how__card-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    color: #FFFFFF;
    margin-bottom: 7px;
}

.program-how__card-desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    color: #FFFFFF;
}

.program-how__facts {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.program-how__fact {
    display: flex;
    align-items: flex-start;
    gap: 5px;
}

.program-how__icon {
    width: 26px;
    height: 26px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.program-how__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.program-how__fact > span:last-child {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 18.64px;
    line-height: 1.75;
    color: #32343A;
    flex: 1;
}

.program-how__tiles {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.program-how-tile {
    background: #FFFFFF;
    border-radius: 10px;
    padding: 15px 20px;
    height: 50px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.program-how-tile--gray {
    background: #E5E5E5;
}

.program-how-tile span {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 18.64px;
    line-height: 1.2;
    color: #32343A;
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .program-how__panel {
        gap: 30px;
    }
    
    .program-how__left {
        flex: 0 0 500px;
    }
}

@media screen and (max-width: 992px) {
    .program-how {
        margin-top: 40px;
        padding: 30px 0;
    }
    
    .program-how__title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    
    .program-how__panel {
        flex-direction: column;
        gap: 30px;
    }
    
    .program-how__left {
        flex: 1 1 auto;
        width: 100%;
    }
    
    .program-how__right {
        width: 100%;
    }
    
    .program-how__card {
        height: 400px;
    }
    
    .program-how__fact > span:last-child {
        font-size: 16px;
    }
    
    .program-how-tile span {
        font-size: 16px;
    }
}

@media screen and (max-width: 576px) {
    .program-how {
        margin-top: 60px;
        padding: 20px 0;
        position: relative;
    }
    
    .program-how__title {
        font-size: 30px;
        margin-top: -20px;
        margin-bottom: 20px;
        position: relative;
        transform: translateY(-50%);
    }
    
    .program-how__panel {
        gap: 20px;
    }
    
    .program-how__right {
        display: contents;
    }
    
    .program-how__facts {
        order: 1;
        margin-bottom: 20px;
    }
    
    .program-how__left {
        order: 2;
    }
    
    .program-how__tiles {
        order: 3;
    }
    
    .program-how__card {
        height: 350px;
    }
    
    .program-how__card-title {
        font-size: 18px;
    }
    
    .program-how__card-desc {
        font-size: 14px;
    }
    
    .program-how__fact > span:last-child {
        font-size: 14px;
    }
    
    .program-how-tile {
        padding: 12px 15px;
        height: 50px;
    }
    
    .program-how-tile span {
        font-size: 14px;
    }
}

/* =============================
   Program Pay Block
   Pixel Perfect from Figma
   ============================= */

.program-pay {
    margin-top: 62px;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    background: #FFFFFF;
}

.program-pay__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.program-pay__card {
    border-radius: 20px;
    padding: 20px;
    position: relative;
    overflow: hidden;
    min-height: 312px;
    display: flex;
    flex-direction: column;
}

.program-pay__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}

.program-pay__card--left {
    background: #F5F5F5;
}

.program-pay__card--left::before {
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/price/bg_pk_programs_white_price.jpg');
    background-position: right center;
}

.program-pay__card--right {
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
}

.program-pay__card--right::before {
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/price/bg_pk_programs_red_price.svg');
}

.program-pay__left-content,
.program-pay__left-bottom,
.program-pay__title-right,
.program-pay__bullets {
    position: relative;
    z-index: 1;
}

.program-pay__caption {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    background: linear-gradient(222deg, rgba(178, 60, 55, 1) 69%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0 0 10px;
}

.program-pay__price {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 49px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    background: linear-gradient(222deg, rgba(178, 60, 55, 1) 69%, rgba(51, 14, 17, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin: 0;
}

.program-pay__left-bottom {
    margin-top: auto;
    padding-top: 20px;
}

.program-pay__subnote {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.2;
    color: #AAAAAA;
    margin: 0 0 13px;
}

.program-pay__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
    border-radius: 26.81px;
    padding: 5.36px 8.04px 5.36px 8.04px;
    min-width: 263px;
    height: 42px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15.1px;
    line-height: 1.2;
    color: #FFFFFF;
    text-decoration: none;
    transition: all 0.3s ease;
}

.program-pay__btn:hover {
    opacity: 0.9;
    transform: translateY(-2px);
}

.program-pay__title-right {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #FFFFFF;
    margin: 0 0 20px;
}

.program-pay__bullets {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 20px;
    flex-wrap: wrap;
}

.program-pay__bullet {
    position: relative;
    padding-left: 20px;
    flex: 1;
    min-width: 0;
}

.program-pay__bullet::before {
    content: "";
    position: absolute;
    left: 0;
    top: calc(13px * 1.2 / 2 - 13px / 2);
    width: 13px;
    height: 13px;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/whitesquard.svg') no-repeat;
    background-size: contain;
    flex-shrink: 0;
}

.program-pay__bullet-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.2;
    color: #FFFFFF;
    margin-bottom: 8px;
    min-height: calc(13px * 1.2 * 2);
    display: flex;
    align-items: flex-start;
}

.program-pay__bullet-text {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 8px;
    line-height: 1.2;
    color: #FFFFFF;
}

/* Responsive */
@media screen and (max-width: 992px) {
    .program-pay {
        margin-top: 40px;
    }
    
    .program-pay__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .program-pay__card {
        min-height: 280px;
    }
    
    .program-pay__card--left::before {
        background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/price/bg_mobile_programs_white_price.jpg');
    }
    
    .program-pay__card--right::before {
        background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/price/bg_mobile_programs_red_price.svg');
    }
    
    .program-pay__caption {
        font-size: 20px;
    }
    
    .program-pay__price {
        font-size: 40px;
    }
    
    .program-pay__title-right {
        font-size: 20px;
    }
}

@media screen and (max-width: 576px) {
    .program-pay {
        margin-top: 60px;
    }
    
    .program-pay__card {
        padding: 13px;
        min-height: auto;
    }
    
    .program-pay__card--left {
        height: 312px;
    }
    
    .program-pay__card--right {
        min-height: 425px;
    }
    
    .program-pay__caption {
        font-size: 16px;
        margin-bottom: 7px;
    }
    
    .program-pay__price {
        font-size: 36px;
    }
    
    .program-pay__left-bottom {
        padding-top: 0;
        position: absolute;
        bottom: 13px;
        left: 13px;
        right: 13px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    
    .program-pay__subnote {
        font-size: 13px;
        margin-bottom: 12px;
        text-align: left;
        width: 100%;
        max-width: 310px;
    }
    
    .program-pay__btn {
        width: 100%;
        max-width: 310px;
        height: 42px;
        font-size: 15.1px;
        margin: 0 auto;
    }
    
    .program-pay__title-right {
        font-size: 24px;
        line-height: 1.06;
        margin-bottom: 45px;
    }
    
    .program-pay__bullets {
        flex-direction: column;
        gap: 20px;
    }
    
    .program-pay__bullet {
        padding-left: 20px;
        margin-bottom: 0;
        flex: none;
    }
    
    .program-pay__bullet::before {
        width: 13px;
        height: 13px;
        background: url('/local/templates/ranepa_im2/assets2/css/../img/mba_program/whitesquard.svg') no-repeat;
        background-size: contain;
        border: none;
        top: calc(13px * 1.2 / 2 - 13px / 2);
        transform: none;
    }
    
    .program-pay__bullet-title {
        font-size: 13px;
        line-height: 1.2;
        margin-bottom: 8px;
        min-height: calc(13px * 1.2 * 2);
        display: flex;
        align-items: flex-start;
    }
    
    .program-pay__bullet-text {
        font-size: 11px;
        line-height: 1.2;
    }
}

/* Блок "Информация о программе" */
.program-info {
    padding: 80px 0;
}

.program-info .h2 {
    margin-bottom: 40px;
}

.program-info-slider {
    position: relative;
}

.program-info-slider .swiper-container {
    overflow: visible;
}

.program-info-slider .swiper-wrapper {
    display: flex;
    gap: 10px;
}

.program-info-slider .swiper-slide {
    width: 257px !important;
    height: 91px;
    flex-shrink: 0;
}

.program-info-card {
    display: block;
    width: 257px;
    height: 91px;
    position: relative;
    border-radius: 10px;
    background: #F5F5F6;
    overflow: hidden;
    text-decoration: none;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.program-info-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.program-info-card__bg {
    position: absolute;
    left: 3px;
    bottom:3px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    pointer-events: none;
}

.program-info-card__text {
    position: absolute;
    z-index: 2;
    top: 11px;
    left: 3px;
    right: 6px;
    padding: 0 6px 0 7px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.2;
    color: #32343A;
}

.program-info-slider .swiper-scrollbar {
    position: relative;
    margin-top: 20px;
    height: 4px;
    background: #F5F5F5;
    border-radius: 2px;
}

.program-info-slider .swiper-scrollbar-drag {
    background: #AFB0B2;
    border-radius: 2px;
    cursor: pointer;
}

/* Медиа-запросы для адаптивности блока "Информация о программе" */
@media (max-width: 768px) {
    .program-info {
        padding: 60px 0;
    }

    .program-info .h2 {
        margin-bottom: 30px;
        font-size: 28px;
    }

    .program-info-slider .swiper-slide {
        width: 240px !important;
    }

    .program-info-card {
        width: 240px;
    }

    .program-info-card__text {
        font-size: 12px;
        top: 10px;
        left: 5px;
        right: 5px;
        padding: 0 5px 0 6px;
    }

    .program-info-card__bg {
        left: 8px;
    }
}

@media (max-width: 576px) {
    .program-info {
        margin-top: 60px;
    }
    
    .program-info .h2 {
        font-size: 31px;
    }

    .program-info-card__text {
        font-size: 13px;
    }

    .program-info-slider .swiper-scrollbar {
        margin-top: 7px;
    }
}

@media (max-width: 480px) {
    .program-info {
        padding: 40px 0;
        margin-top: 60px;
    }

    .program-info .h2 {
        margin-bottom: 24px;
        font-size: 31px;
    }

    .program-info-slider .swiper-slide {
        width: 220px !important;
    }

    .program-info-card {
        width: 220px;
        height: 85px;
    }

    .program-info-card__text {
        font-size: 13px;
        top: 8px;
        left: 4px;
        right: 4px;
        padding: 0 4px 0 5px;
    }

    .program-info-card__bg {
        left: 8px;
    }
}

/* Исправление горизонтального скролла на мобильных устройствах */
@media (max-width: 768px) {
    html,
    body {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .wrapper {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .content {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .container {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    body {
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;
    }

    /* Исправление блока "Часто задаваемые вопросы" на мобильных устройствах */
    .rules {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
        touch-action: pan-y;
    }

    .rules .container {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }

    .rules__grid {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.68em;
        position: relative;
    }

    .rules__col,
    .rules__col2 {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .rules__items {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .qa-card {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .qa-card__show,
    .qa-card__hidden {
        overflow-x: hidden;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 576px) {
    .rules {
        margin-top: 60px;
    }
    
    .rules .h2 {
        font-size: 31px;
    }
    
    .qa-card__title {
        font-size: 15px;
    }
    
    .media__nav2 {
        margin-top: 18px;
    }
    
    .contacts {
        margin-top: 60px;
    }
}

@media (max-width: 480px) {
    html,
    body {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .wrapper {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .content {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .container {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    body {
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;
    }

    .rules {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
        touch-action: pan-y;
        margin-top: 60px;
    }
    
    .qa-card__title {
        font-size: 15px;
    }
    
    .media__nav2 {
        margin-top: 18px;
    }

    .rules .container {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        position: relative;
    }
    

    .rules__grid {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .rules__col,
    .rules__col2 {
        overflow-x: hidden !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .qa-card {
        box-sizing: border-box;
    }
}

/* Исправление обрезания заголовка "Как проходит обучение" на мобильных устройствах */
@media (max-width: 768px) {
    .program-how {
        overflow-x: visible !important;
        overflow: visible !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .program-how .container {
        overflow-x: visible !important;
        overflow: visible !important;
        width: 100%;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

    .program-how__title {
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-wrap: break-word;
        word-break: break-word;
        padding-right: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
        text-overflow: clip !important;
        margin-top: -20px !important;
        position: relative;
        transform: translateY(-50%);
    }
}

@media (max-width: 480px) {
    .program-how {
        overflow-x: visible !important;
        overflow: visible !important;
        width: 100%;
        max-width: 100%;
        position: relative;
    }

    .program-how .container {
        overflow-x: visible !important;
        overflow: visible !important;
        width: 100%;
        max-width: 100%;
        padding-left: 15px;
        padding-right: 15px;
        box-sizing: border-box;
    }

    .program-how__title {
        overflow: visible !important;
        width: 100% !important;
        max-width: 100% !important;
        white-space: normal !important;
        word-wrap: break-word;
        word-break: break-word;
        padding-right: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        margin-left: 0 !important;
        display: block !important;
        box-sizing: border-box !important;
        text-overflow: clip !important;
        margin-top: -20px !important;
        position: relative;
        transform: translateY(-50%);
    }
}

/* =============================
   Блок "Диплом и Отзывы" (Figma 12606:1541)
   ============================= */
.mba-diploma-reviews {
    margin-top: 30px;
}

.mba-diploma-reviews__grid {
    display: grid;
    grid-template-columns: 569px 752px;
    gap: 10px;
    align-items: stretch;
}

/* Левая карточка: Диплом */
.mba-diploma-card {
    position: relative;
    height: 328px;
    border-radius: 20px;
    overflow: hidden;
    color: #FFFFFF;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.mba-diploma-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(129deg, #B23C37 21%, #330E11 100%);
}

.mba-diploma-card__image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
}

.mba-diploma-card__image img {
    display: block;
    height: 100%;
    object-fit: contain;
}

.mba-diploma-card__title {
    position: relative;
    z-index: 2;
    margin: 0 0 8px 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.06;
    letter-spacing: -0.02em;
}

.mba-diploma-card__text {
    position: relative;
    z-index: 2;
    margin: 0;
    margin-top: 20px;
    max-width: 414px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

/* Правая карточка: Отзывы */
.mba-reviews-card {
    position: relative;
    height: 328px;
    border-radius: 20px;
    background: #FAFAFA;
    box-shadow: 0 0 0 1px #E2E2E2 inset;
    padding: 16px 16px 12px 16px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.mba-reviews-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.mba-reviews-card__title {
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.06;
    color: #32343A;
}

.mba-reviews-card__subtitle {
    margin-top: 6px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: #AAAAAA;
}

.mba-reviews-card__titles {
    display: flex;
    flex-direction: column;
}

/* Навигационные кнопки */
.reviews-nav {
    display: flex;
    align-items: center;
    gap: 14px;
}

.reviews-nav__btn {
    width: 38px;
    height: 38px;
    border-radius: 1.266em;
    display: grid;
    place-items: center;
    background: #f5f5f5;
    border: 1px solid #d7d7d8;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.reviews-nav__btn:hover {
    background: #e0e1e5;
}

.reviews-nav__btn:active {
    transform: translateY(0.5px);
}

/* Слайдер отзывов */
.reviews-slider {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: visible;
}

.reviews-slider .swiper-container {
    overflow: visible;
}

.mba-reviews-card .reviews-slider .swiper-container {
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0;
}

.reviews-slider .swiper-wrapper {
    align-items: stretch;
    justify-content: flex-start;
    padding-left: 20px;
}

.reviews-slider .swiper-slide {
    height: auto;
    width: 460px !important;
    flex-shrink: 0;
}

.reviews-slider .swiper-scrollbar {
    position: relative !important;
    height: 4px !important;
    background: #F5F5F5 !important;
    margin-top: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0;
}

.reviews-slider .swiper-scrollbar-drag {
    border-radius: 14px;
    background: #AFB0B2;
    cursor: pointer;
}

.mba-reviews-card .reviews-slider .swiper-slide {
    width: 460px !important;
    margin-right: 20px;
    box-sizing: border-box;
}

.mba-reviews-card .reviews-slider .swiper-slide:last-child {
    margin-right: 0;
}

.mba-reviews-card .review-card__text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Убеждаемся, что скроллбар всегда виден */
.mba-reviews-card .reviews-slider .swiper-scrollbar {
    position: relative !important;
    height: 4px !important;
    background: #F5F5F5 !important;
    margin-top: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0;
    z-index: 10;
}

@media screen and (max-width: 1400px) {
    .mba-diploma-reviews__grid {
        grid-template-columns: 1fr;
    }

    .mba-diploma-card,
    .mba-reviews-card {
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    .mba-reviews-card .reviews-nav {
        display: none !important;
    }

    .mba-diploma-card {
        height: 312px;
    }

    .mba-diploma-card__title {
        font-size: 24px;
    }

    .mba-diploma-card__text {
        font-size: 16px;
        line-height: 30px;
        margin-top: 36px;
        padding-right: 38px;
    }

    .mba-reviews-card__title {
        font-size: 24px;
    }
}

@media screen and (max-width: 576px) {
    .mba-diploma-card {
        height: 312px;
    }

    .mba-diploma-card__title {
        font-size: 24px;
    }

    .mba-diploma-card__text {
        font-size: 16px;
        line-height: 20px;
        margin-top: 36px;
        padding-right: 38px;
    }

    .mba-reviews-card__title {
        font-size: 24px;
    }

    .mba-reviews-card__subtitle {
        font-size: 14px;
    }

    .mba-reviews-card .reviews-nav {
        display: none !important;
    }

    .reviews-nav__btn {
        width: 38px;
        height: 38px;
        border-radius: 1.266em;
    }

    .mba-reviews-card .reviews-slider .swiper-slide {
        width: 100% !important;
        margin-right: 0;
    }

    .mba-reviews-card .review-card {
        width: 100% !important;
    }

    .mba-reviews-card .reviews-slider .swiper-wrapper {
        padding-left: 2px;
    }
}
/* =============================
   Bachelor Diploma Reviews Block (Unique classes for bachelor program)
   ============================= */

.bachelor-diploma-reviews {
    margin-top: 60px;
}

.bachelor-diploma-reviews__grid {
    display: grid;
    grid-template-columns: 569px 752px;
    gap: 10px;
    align-items: stretch;
}

/* Левая карточка: Диплом */
.bachelor-diploma-card {
    position: relative;
    height: 328px;
    border-radius: 20px;
    overflow: hidden;
    color: #FFFFFF;
    padding: 16px;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.bachelor-diploma-card::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    background: linear-gradient(129deg, #B23C37 21%, #330E11 100%);
}

.bachelor-diploma-card__image {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
    pointer-events: none;
}

.bachelor-diploma-card__image img {
    display: block;
    height: 100%;
    object-fit: contain;
}

.bachelor-diploma-card__title {
    position: relative;
    z-index: 2;
    margin: 0 0 8px 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.06;
    letter-spacing: -0.02em;
}

.bachelor-diploma-card__text {
    position: relative;
    z-index: 2;
    margin: 0;
    margin-top: 20px;
    max-width: 414px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -0.02em;
}

/* Правая карточка: Отзывы */
.bachelor-reviews-card {
    position: relative;
    height: 328px;
    border-radius: 20px;
    background: #FAFAFA;
    box-shadow: 0 0 0 1px #E2E2E2 inset;
    padding: 16px 16px 12px 16px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.bachelor-reviews-card__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.bachelor-reviews-card__title {
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 32px;
    line-height: 1.06;
    color: #32343A;
}

.bachelor-reviews-card__subtitle {
    margin-top: 6px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: #AAAAAA;
}

.bachelor-reviews-card__titles {
    display: flex;
    flex-direction: column;
}

/* Навигационные кнопки */
.bachelor-reviews-nav {
    display: flex;
    align-items: center;
    gap: 14px;
}

.bachelor-reviews-nav__btn {
    width: 38px;
    height: 38px;
    border-radius: 1.266em;
    display: grid;
    place-items: center;
    background: #f5f5f5;
    border: 1px solid #d7d7d8;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.bachelor-reviews-nav__btn:hover {
    background: #e0e1e5;
}

.bachelor-reviews-nav__btn:active {
    transform: translateY(0.5px);
}

/* Слайдер отзывов */
.bachelor-reviews-slider {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    overflow: visible;
}

.bachelor-reviews-slider .swiper-container {
    overflow: visible;
}

.bachelor-reviews-card .bachelor-reviews-slider .swiper-container {
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0;
}

.bachelor-reviews-slider .swiper-wrapper {
    align-items: stretch;
    justify-content: flex-start;
    padding-left: 20px;
}

.bachelor-reviews-slider .swiper-slide {
    height: auto;
    width: 460px !important;
    flex-shrink: 0;
}

.bachelor-reviews-slider .swiper-scrollbar {
    position: relative !important;
    height: 4px !important;
    background: #F5F5F5 !important;
    margin-top: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0;
}

.bachelor-reviews-slider .swiper-scrollbar-drag {
    border-radius: 14px;
    background: #AFB0B2;
    cursor: pointer;
}

.bachelor-reviews-card .bachelor-reviews-slider .swiper-slide {
    width: 460px !important;
    margin-right: 20px;
    box-sizing: border-box;
}

.bachelor-reviews-card .bachelor-reviews-slider .swiper-slide:last-child {
    margin-right: 0;
}

.bachelor-reviews-card .review-card__text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Убеждаемся, что скроллбар всегда виден */
.bachelor-reviews-card .bachelor-reviews-slider .swiper-scrollbar {
    position: relative !important;
    height: 4px !important;
    background: #F5F5F5 !important;
    margin-top: 10px !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    opacity: 1 !important;
    visibility: visible !important;
    left: 0 !important;
    right: 0 !important;
    bottom: auto !important;
    top: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    flex-shrink: 0;
    z-index: 10;
}

@media screen and (max-width: 1400px) {
    .bachelor-diploma-reviews__grid {
        grid-template-columns: 1fr;
    }

    .bachelor-diploma-card,
    .bachelor-reviews-card {
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    .bachelor-reviews-card .bachelor-reviews-nav {
        display: none !important;
    }

    .bachelor-diploma-card {
        height: 312px;
    }

    .bachelor-diploma-card__title {
        font-size: 24px;
    }

    .bachelor-diploma-card__text {
        font-size: 16px;
        line-height: 30px;
        margin-top: 36px;
        padding-right: 38px;
    }

    .bachelor-reviews-card__title {
        font-size: 24px;
    }
}

@media screen and (max-width: 576px) {
    .bachelor-diploma-card {
        height: 312px;
    }

    .bachelor-diploma-card__title {
        font-size: 24px;
    }

    .bachelor-diploma-card__text {
        font-size: 16px;
        line-height: 20px;
        margin-top: 36px;
        padding-right: 38px;
    }

    .bachelor-reviews-card__title {
        font-size: 24px;
    }

    .bachelor-reviews-card__subtitle {
        font-size: 14px;
    }

    .bachelor-reviews-card .bachelor-reviews-nav {
        display: none !important;
    }

    .bachelor-reviews-nav__btn {
        width: 38px;
        height: 38px;
        border-radius: 1.266em;
    }

    .bachelor-reviews-card .bachelor-reviews-slider .swiper-slide {
        width: 100% !important;
        margin-right: 0;
    }

    .bachelor-reviews-card .review-card {
        width: 100% !important;
    }

    .bachelor-reviews-card .bachelor-reviews-slider .swiper-wrapper {
        padding-left: 2px;
    }
}

/* End */


/* Start:/local/templates/ranepa_im2/assets2/css/oneday.css?176493214159913*/
/* ===== oneday page overrides ===== */
.m-page.oneday-page {
    font-size: 16px; /* Reset to base font size to prevent vw scaling issues */
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

.m-page.oneday-page .wrapper {
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Prevent horizontal scrolling */
}

.m-page.oneday-page .footer {
    margin: 0;
}

/* ===== catalog card overrides for OneDay (pixel-perfect per figma) ===== */
.mba2 .catalog-card {
	border-radius: 1.25em;
	box-shadow: 0 2px 13px rgba(0,0,0,.09);
	padding: 1em;
	height: 400px;
	display: flex;
	flex-direction: column;
	background-image: url('/local/templates/ranepa_im2/assets2/css/../img/bgcardoneday.svg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}
.mba2 .catalog-card__top { 
	margin-bottom: 1.25em; 
	color: #aaa; 
	align-self: flex-start;
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	width: 100% !important;
}
.mba2 .catalog-card__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 7px 14px;
	border-radius: 999px;
	background: linear-gradient(90deg, #B23C37 0%, #330E11 100%);
	color: #fff;
	font-size: 0.6875em; /* 11px */
	font-weight: 600;
}
.mba2 .catalog-card__type2 {
	color: #aaa;
	font-size: 0.8125em; /* 13px */
	display: flex !important;
	align-items: center !important;
	gap: 0.5em !important;
}
.mba2 .catalog-card__type2:before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	background-image: url('/local/templates/ranepa_im2/assets2/css/../img/iconfacultet.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}
.mba2 .catalog-card__title {
	font-size: 1.125em; /* 18px */
	line-height: 120%;
	font-weight: 700;
	flex-grow: 1;
	display: flex;
	align-items: center;
}
.mba2 .catalog-card__desc { 
	color: #7A7A7A; 
	font-size: 0.8125em; /* 13px */ 
	line-height: 140%; 
	flex-grow: 1;
	display: flex;
	align-items: center;
}
.mba2 .catalog-card__footer {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: auto;
	width: 100%;
}
.mba2 .catalog-card__date { 
	height: 2.5em; 
	padding: 0 1.5em; 
	border-radius: 1.25em; 
	background: linear-gradient(90deg, #B23C37 0%, #330E11 100%); 
	color: #fff; 
	display: flex;
	align-items: center;
}
.mba2 .catalog-card__date span { font-size: 0.875em; }
.mba2 .catalog-card__more { 
	color: #A6A6A6; 
	text-decoration: underline;
}
.mba2 .catalog-card__more span { 
	font-size: 0.875em;
}
.mba2 .catalog-card:hover { 
	background: white;
	background-image: url('/local/templates/ranepa_im2/assets2/css/../img/bgcardoneday.svg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color:#32343a; 
}
.mba2 .catalog-card:hover .catalog-card__date { background: linear-gradient(90deg, #B23C37 0%, #330E11 100%); color:#fff; }
.mba2 .catalog-card:hover .catalog-card__top,
.mba2 .catalog-card:hover .catalog-card__desc { color: inherit; }

/* Grid layout for 4 cards per row */
.mba2 .catalog__items {
	display: grid;
	grid-template-columns: repeat(4, calc(25% - 0.75em));
	gap: 1em;
}

/* Скрытие карточек после 8-й по умолчанию на ПК */
@media screen and (min-width: 577px) {
	.mba2 .catalog__items .catalog-card:nth-child(n+9) {
		display: none;
	}
	/* Показ всех карточек при добавлении класса show-all */
	.mba2 .catalog__items.show-all .catalog-card:nth-child(n+9) {
		display: block;
	}
}

@media screen and (max-width: 1200px) {
	.mba2 .catalog__items {
		grid-template-columns: repeat(3, calc(33.333% - 0.67em));
	}
}

@media screen and (max-width: 768px) {
	.mba2 .catalog__items {
		grid-template-columns: repeat(2, calc(50% - 0.5em));
	}
	.mba2 .catalog-card {
		height: 300px;
	}
}

@media screen and (max-width: 576px) {
	.mba2 .catalog__items {
		grid-template-columns: 100%;
	}
	.mba2 .catalog-card {
		height: auto;
		min-height: 300px;
	}
	.mba2 .catalog-card__top {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		width: 100%;
	}
	.mba2 .catalog-card__title {
		margin-bottom: 20px;
	}
	.mba2 .catalog-card__footer {
		margin-top: 20px;
	}
	/* Скрытие карточек после 3-й по умолчанию на мобильных */
	.mba2 .catalog__items .catalog-card:nth-child(n+4) {
		display: none;
	}
	/* Показ всех карточек при добавлении класса show-all */
	.mba2 .catalog__items.show-all .catalog-card:nth-child(n+4) {
		display: block;
	}
}
/* Scoped styles for oneday banner */
.oneday-banner .bachelor-card {
	min-height: 338px;
	position: relative;
	padding: 1em;
	color: #fff;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
}
.oneday-banner .bachelor-card__bg {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 1.25em;
}
.oneday-banner .bachelor-card__bg img {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	-o-object-fit: cover;
	object-fit: cover;
}
.oneday-banner .bachelor-card__bg ._view2 {
	display: none;
}
.oneday-banner .bachelor-card__title {
	font-size: 4em;
	line-height: 106%;
	letter-spacing: -0.02em;
}
.oneday-banner .bachelor-card__bottom {
	margin-top: auto;
	padding-top: 3.2em;
}
.oneday-banner .bachelor-card__desc {
	font-size: 1em;
	line-height: 120%;
	max-width: 35em;
}
.oneday-banner .bachelor-card__nav {
	display: grid;
	grid-template-columns: 19em 19em;
	gap: 0.75em;
	margin-top: 2.32em;
}
.oneday-banner .bachelor-card__btn {
	height: 2.7em;
	padding: 0;
}
.oneday-banner .bachelor-card__btn span {
	font-size: 1.03594em;
}

@media screen and (max-width: 992px) {
	.oneday-banner .bachelor-card {
		font-size: 0.75em;
		height: 21em;
	}
}

@media screen and (max-width: 576px) {
	.oneday-banner .bachelor-card {
		height: 600px;
		padding: 0.75em;
		font-size: 1em;
	}
	.oneday-banner .bachelor-card__bg {
		border-radius: 0.9em;
	}
	.oneday-banner .bachelor-card__bg ._view1 {
		display: none;
	}
	.oneday-banner .bachelor-card__bg ._view2 {
		display: block;
	}
	.oneday-banner .bachelor-card__title {
		font-size: 34px;
		padding-top: 26px;
	}
	.oneday-banner .bachelor-card__bottom {
		-webkit-box-flex: 1;
		-ms-flex-positive: 1;
		flex-grow: 1;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	.oneday-banner .bachelor-card__desc {
		font-size: 0.875em;
		max-width: 100%;
	}
	.oneday-banner .bachelor-card__nav {
		grid-template-columns: 100%;
		gap: 0.44em;
		margin-top: auto;
		width: 100%;
	}
	.oneday-banner .bachelor-card__btn {
		height: 45px;
		width: 100%;
	}
	.oneday-banner .bachelor-card__btn span {
		font-size: 0.88656em;
	}
}

/* Button override for oneday banner: white default, keep red hover */
.oneday-banner .bachelor-card__btn.m-btn-red {
	background-color: #fff;
	color: #32343a;
}
.oneday-banner .bachelor-card__btn.m-btn-red:hover {
	background-color: rgb(206.449339207, 25.550660793, 38.8370044053);
	color: #fff;
}

/* ===== oneday stats block ===== */
.oneday-stats {
	background-color: #fff;
	height: 150px;
	padding: 0;
	margin-top: 86px;
}
.oneday-stats__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 2.5em;
	position: relative;
	align-items: center;
}
.oneday-stats__item {
	position: relative;
	padding: 0px 1.5em 0 0.5em !important;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	height: 100%;
}

/* Убираем верхний отступ только у блока "Студентам" */
.contact-card--students {
	padding-top: 0 !important;
}

/* Ограничиваем высоту блока contact-group */
.contact-group {
	max-height: 100%;
	overflow: hidden;
}
.oneday-stats__item:not(:last-child):after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 139px;
	background: rgba(0, 0, 0, 0.1);
}
.oneday-stats__value {
	/* 29px = 1.8125em from 16px base */
	font-size: 1.8125em;
	line-height: 120%;
	font-weight: 700;
	font-family: Raleway, sans-serif;
	background: linear-gradient(90deg, #B23C37 0%, #330E11 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.oneday-stats__value,
.oneday-stats__label {
	text-align: left;
}
.oneday-stats__label {
	/* 10px exact gap from title to subtitle */
	margin-top: 10px;
	/* 16px = 1em from 16px base */
	font-size: 1em;
	line-height: 120%;
	color: #32343a;
	font-family: Raleway, sans-serif;
}

@media screen and (max-width: 992px) {
	.oneday-stats {
		height: auto;
		min-height: 150px;
	}
	.oneday-stats-slider .swiper-container {
		padding-bottom: 20px;
		overflow: visible;
		height: auto;
		min-height: 150px;
	}
	.oneday-stats__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5em 1em;
		padding-bottom: 20px;
		align-items: start;
	}
	.oneday-stats__item {
		min-height: auto;
		height: auto;
		overflow: visible;
	}
	.oneday-stats__item:not(:last-child):after {
		display: none;
	}
	.oneday-stats__scrollbar {
		margin-top: 10px;
		position: relative;
	}
}

@media screen and (max-width: 576px) {
	.oneday-stats { 
		padding: 0; 
		margin-top: 46px;
		overflow-x: visible;
		overflow-y: visible;
		height: auto;
		min-height: 150px;
	}
	
	.oneday-stats .container {
		overflow-x: visible;
		overflow-y: visible;
		max-width: 100%;
		position: relative;
	}
	
	.oneday-stats-slider {
		overflow-x: visible;
		overflow-y: visible;
		height: auto;
		min-height: 150px;
	}
	
	/* Let Swiper control the layout on mobile */
	.oneday-stats-slider .swiper-container {
		height: auto;
		min-height: 150px;
		padding-bottom: 16px;
		overflow: visible;
	}
	
	.oneday-stats-slider .swiper-wrapper {
		overflow: visible;
		height: auto;
		min-height: 150px;
		display: flex;
	}
	
	.oneday-stats__list {
		display: flex;
		height: auto;
		min-height: 150px;
		overflow: visible;
	}
	
	.oneday-stats__item {
		width: auto;
		min-width: calc(100vw - 48px);
		max-width: calc(100vw - 48px);
		height: auto;
		min-height: 150px;
		display: flex;
		flex-direction: column;
		flex-shrink: 0;
		overflow: visible;
		padding: 0 12px 0 0 !important;
	}
	
	.oneday-stats__value {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
		word-wrap: break-word;
		flex-shrink: 0;
	}
	
	.oneday-stats__label {
		overflow: visible;
		text-overflow: clip;
		white-space: normal;
		word-wrap: break-word;
		flex-shrink: 0;
	}
	
	.oneday-stats__scrollbar { 
		display: block;
		position: relative;
		margin-top: 10px;
	}

	/* Re-enable vertical divider on mobile */
	.oneday-stats__item:not(:last-child):after {
		display: block;
		height: 130px;
		bottom: 10px;
		top: auto;
		transform: none;
		right: 0;
	}
}

/* ===== oneday about block ===== */
.oneday-about { margin-top: 60px; }
.oneday-about__grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 1.25em;
}
.oneday-about__card {
	position: relative;
	background: #fff;
	border-radius: 1.25em;
	padding: 1.25em 1.25em 1.25em 1.25em;
	box-shadow: 0 0 0 1px rgba(0,0,0,0.06) inset;
}
.oneday-about__card:before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: url('/local/templates/ranepa_im2/assets2/css/../img/bg-about.svg') center/cover no-repeat;
	opacity: 1;
	pointer-events: none;
}
.oneday-about .h2 {
	margin-bottom: .75em;
	/* 36px requested = 2.25em from 16px base */
	font-size: 2.25em;
	font-family: Raleway, sans-serif;
	font-weight: 700;
	line-height: 110%;
	background: linear-gradient(90deg, #B23C37 0%, #330E11 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.oneday-about__content {
	position: relative;
	z-index: 1;
	color: #32343a;
	font-family: Raleway, sans-serif;
	font-weight: 600;
}
.oneday-about__content p {
	margin: 0 0 .9em;
	/* 16px requested = 1em */
	font-size: 1em;
	line-height: 120%;
}
.oneday-about__content p + p { margin-top: 1.875em; }
.oneday-about__content p:last-child { margin-bottom: 0; }
.oneday-about .gradient-text,
.oneday-about .red-text,
.oneday-about__content strong {
	background: linear-gradient(90deg, #B23C37 0%, #330E11 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.oneday-about__content strong,
.oneday-about .red-text,
.oneday-about .gradient-text { font-weight: 600; }
.oneday-about__media {
	border-radius: 1.25em;
	overflow: hidden;
	height: 300px;
}
.oneday-about__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* slider like stories */
.about-media-slider .swiper-container { width: 100%; height: 100%; }
.about-media-slider .swiper-wrapper { height: 100%; }
.about-media-slider .swiper-slide { height: 100%; }
.about-media-slider .swiper-pagination {
	position: absolute;
	left: 0; right: 0; bottom: 8px; top: auto;
	width: 100%; display: -webkit-box; display: -ms-flexbox; display: flex;
	gap: 6px; padding: 0 10px; align-items: center;
}
.about-media-slider .swiper-pagination-bullet {
	-webkit-box-flex: 1; -ms-flex-positive: 1; flex-grow: 1;
	border-radius: 999px; height: 3px; background: rgba(255,255,255,.5);
	margin: 0 !important; opacity: 1;
}
.about-media-slider .swiper-pagination-bullet-active { background: #fff; }
.about-media-slider .swiper-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* remove default right padding only in this slider */
.about-media-slider.slider .swiper-slide { padding-right: 0 !important; }

@media screen and (max-width: 992px) {
	.oneday-about__grid { grid-template-columns: 1fr; }
	.oneday-about__media { height: 400px; }
	/* Keep 36px on tablets per requirements */
	.oneday-about .h2 { font-size: 2.25em; }
}

@media screen and (max-width: 576px) {
	.oneday-about { margin-top: 40px; }
	.oneday-about__card { border-radius: .9em; padding: .9em; }
	.oneday-about__media { border-radius: .9em; height: 200px; }
	/* hide stories slider on mobile */
	.about-media-slider { display: none; }
	/* Keep 36px on mobile as well */
	.oneday-about .h2 { font-size: 2.25em; }
}

/* ===== teachers description styles ===== */
.teachers-description {
	font-size: 1.5em; /* 24px */
	margin-top: 15px;
	color: #DADADA;
	font-family: Raleway, sans-serif;
	font-weight: 600;
	line-height: 1.06;
	letter-spacing: -0.02em;
}

@media screen and (max-width: 576px) {
	.teachers-description {
		font-size: 0.8125em; /* 13px */
	}
}

/* ===== benefits block styles ===== */
.benefits {
	margin-top: 60px;
}

.benefits__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25em;
}

.benefits__card {
	position: relative;
	border-radius: 1.25em;
	padding: 1em;
	min-height: 280px;
	overflow: hidden;
}

.benefits__card--red {
	background: linear-gradient(-51deg, #B23C37 21%, #330E11 100%);
	position: relative;
}

.benefits__card--red::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('/local/templates/ranepa_im2/assets2/css/../img/oneday/bg_dlya_uchenikov.svg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.3;
	z-index: 0;
}

.benefits__card--white {
	background: #F5F5F5;
	position: relative;
}

.benefits__card--white::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('/local/templates/ranepa_im2/assets2/css/../img/oneday/bg_dlya_roditeley.svg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	opacity: 0.3;
	z-index: 0;
}

.benefits__content {
	position: relative;
	z-index: 2;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.benefits__title {
	font-family: Raleway, sans-serif;
	font-weight: 600;
	font-size: 2.25em; /* 36px */
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 0.5em 0;
}

.benefits__card--red .benefits__title {
	color: #FFFFFF;
}

.benefits__card--white .benefits__title {
	background: linear-gradient(-51deg, #B23C37 21%, #330E11 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}

.benefits__subtitle {
	font-family: Raleway, sans-serif;
	font-weight: 600;
	font-size: 0.9375em; /* 15px */
	line-height: 1.1;
	letter-spacing: -0.02em;
	margin: 0 0 1.5em 0;
}

.benefits__card--red .benefits__subtitle {
	color: #FFFFFF;
}

.benefits__card--white .benefits__subtitle {
	color: #32343A;
}

.benefits__list {
	list-style: none;
	padding: 0;
	margin: 0;
	flex-grow: 1;
}

.benefits__item {
	font-family: Raleway, sans-serif;
	font-weight: 600;
	font-size: 1em; /* 16px */
	line-height: 2.41;
	letter-spacing: -0.02em;
	position: relative;
	padding-left: 1.25em;
}

.benefits__item:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	width: 10px;
	height: 10px;
	border: 2px solid;
	border-radius: 2px;
}

.benefits__card--red .benefits__item {
	color: #FFFFFF;
}

.benefits__card--red .benefits__item:before {
	border-color: #FFFFFF;
}

.benefits__card--white .benefits__item {
	color: #32343A;
}

.benefits__card--white .benefits__item:before {
	border-color: #B23C37;
}

.benefits__decoration {
	position: absolute;
	top: -46px;
	right: -46px;
	width: 509px;
	height: 509px;
	z-index: 1;
	max-width: 100vw; /* Prevent overflow */
}

.benefits__star {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: translateX(44%);
}

.benefits__card--white .benefits__decoration {
	top: -84px;
	right: -146px;
	width: 529px;
	height: 527px;
	max-width: 100vw; /* Prevent overflow */
}

.benefits__card--white .benefits__star {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) translateX(100px);
}

@media screen and (max-width: 992px) {
	.benefits__grid {
		grid-template-columns: 1fr;
		gap: 1em;
	}
	
	.benefits__card {
		height: 360px;
	}
	
	.benefits__decoration {
		width: 300px;
		height: 300px;
		top: -30px;
		right: -30px;
	}
	
	.benefits__card--white .benefits__decoration {
		width: 320px;
		height: 320px;
		top: -50px;
		right: -30px;
	}
}

@media screen and (max-width: 576px) {
	.benefits {
		margin-top: 40px;
	}
	
	.benefits__card {
		height: 345px;
		padding: 0.75em;
	}
	
	.benefits__title {
		font-size: 36px;
	}
	
	.benefits__subtitle {
		font-size: 16px;
		margin-bottom: 36px;
	}
	
	.benefits__list {
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		flex-grow: 1;
		padding-bottom: 30px;
	}
	
	.benefits__item {
		font-size: 0.875em; /* 14px */
		line-height: 1.3;
		margin-bottom: 0;
	}
	
	.benefits__item:last-child {
		margin-bottom: 0;
	}
	
	.benefits__decoration {
		width: 200px;
		height: 200px;
		top: -20px;
		right: -20px;
	}
	
	.benefits__card--red .benefits__decoration {
		top: 0px;
		right: 60px;
	}
	
	.benefits__card--white .benefits__decoration {
		top: 0px;
		right: 60px;
	}
	
	.benefits__star {
		opacity: 0.56;
		width: 220%;
		height: 220%;
		object-fit: cover;
		transform: none;
	}
	
	.benefits__card--white .benefits__star {
		display: none;
	}
	
	.benefits__card--white .benefits__decoration::after {
		content: '';
		position: absolute;
		top: calc(50% + 10px);
		left: 50%;
		transform: translate(-50%, -50%);
		width: 110%;
		height: 110%;
		background-image: url('/local/templates/ranepa_im2/assets2/css/../img/BG_Figure_Dlya_roditeley_oneday.png');
		background-size: contain;
		background-repeat: no-repeat;
		background-position: center;
		opacity: 0.56;
	}
	
	/* Мобильные фоновые изображения для benefits карточек */
	.benefits__card--red::before {
		background-image: url('/local/templates/ranepa_im2/assets2/css/../img/oneday/bg_mb_dlyauchenikov.svg');
		background-position: calc(center + 50px) center;
	}
	
	.benefits__card--white::before {
		background-image: url('/local/templates/ranepa_im2/assets2/css/../img/oneday/bg_mb_dlyaroditeley.svg');
	}
}

/* Reviews Section */
.reviews {
	padding: 80px 0;
	background: #fff;
}

.reviews-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 40px;
}

.reviews-wrapper {
	background: #FAFAFA;
	border-radius: 26px;
	border: 1.34px solid #E2E2E2;
	padding: 40px;
	overflow: hidden;
}

.reviews-nav {
	display: flex;
	gap: 12px;
	align-items: center;
}

.reviews-mobile-text {
	display: none;
	font-size: 1em;
	font-weight: 400;
	color: #AAAAAA;
	line-height: 1.2;
	margin-right: 12px;
}

.reviews-nav__btn {
	width: 40px;
	height: 40px;
	min-width: 40px;
	min-height: 40px;
	border-radius: 50%;
	background: #F5F5F5;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	flex-shrink: 0;
}

.reviews-nav__btn:hover {
	background: #E0E0E0;
}

.reviews-slider {
	position: relative;
}

.reviews-slider .swiper-container {
	overflow: visible;
	padding-left: 0;
	padding-right: 0;
	margin-left: 0;
	margin-right: 0;
}

.reviews-slider .swiper-wrapper {
	align-items: stretch;
	justify-content: flex-start;
}

.reviews-slider .swiper-slide {
	height: auto;
	flex-shrink: 0;
}

.review-card {
	background: #fff;
	border-radius: 16px;
	padding: 24px;
	box-shadow: 0 2.68px 17.01px rgba(0, 0, 0, 0.05);
	height: 100%;
	display: flex;
	flex-direction: column;
	position: relative;
}

.review-card__header {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-bottom: 16px;
}

.review-card__avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #F5F5F5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.review-card__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.review-card__info {
	flex: 1;
}

.review-card__name {
	font-size: 18px;
	font-weight: 600;
	color: #32343A;
	margin-bottom: 4px;
	line-height: 1.3;
}

.review-card__role {
	font-size: 14px;
	color: #8A8A8A;
	line-height: 1.4;
}

.review-card__content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.review-card__rating {
	display: flex;
	gap: 4px;
	margin-bottom: 16px;
}

.review-card__rating .star {
	width: 16px;
	height: 16px;
	display: block;
}

.review-card__text {
	font-size: 0.875em;
	font-weight: 400;
	color: #32343A;
	line-height: 1.2;
	margin-bottom: 16px;
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.review-card__more {
	font-size: 0.875em;
	font-weight: 500;
	color: #32343A;
	text-decoration: underline;
	transition: color 0.3s ease;
	margin-top: auto;
}

.review-card__more:hover {
	color: #007BFF;
}

.reviews-slider .swiper-scrollbar {
	height: 0.375em;
	margin-top: 1.64em;
	border-radius: 0.87794em;
	background: #f5f5f5;
}

.reviews-slider .swiper-scrollbar-drag {
	border-radius: 0.87794em;
	background: #afb0b2;
}

/* Responsive */
@media (max-width: 768px) {
	.reviews {
		padding: 60px 0;
	}
	
	.reviews-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		margin-bottom: 30px;
	}
	
	.reviews-nav {
		align-self: flex-end;
	}
	
	.reviews-mobile-text {
		display: block;
	}
	
	.review-card {
		padding: 20px;
	}
	
	.review-card__name {
		font-size: 16px;
	}
	
	.review-card__text {
		font-size: 0.8125em;
	}
	
	.reviews-slider .swiper-scrollbar {
		margin-top: 0.82em;
	}
	
	.reviews-wrapper {
		padding: 30px 20px;
		border-radius: 20px;
	}
}

@media (max-width: 480px) {
	.reviews {
		padding: 40px 0;
	}
	
	.reviews-header {
		margin-bottom: 20px;
	}
	
	.review-card {
		padding: 16px;
	}
	
	.review-card__header {
		gap: 10px;
		margin-bottom: 12px;
	}
	
	.review-card__avatar {
		width: 40px;
		height: 40px;
	}
	
	.review-card__name {
		font-size: 15px;
	}
	
	.review-card__role {
		font-size: 13px;
	}
	
	.review-card__rating .star {
		width: 14px;
		height: 14px;
	}
	
	.review-card__text {
		font-size: 0.75em;
		-webkit-line-clamp: 2;
	}
	
	.review-card__more {
		font-size: 0.75em;
	}
	
	.reviews-wrapper {
		padding: 20px 16px;
		border-radius: 16px;
	}
}

/* Review Modal */
.review-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.review-modal.active {
	display: flex;
}

.review-modal__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
}

.review-modal__content {
	position: relative;
	background: #fff;
	border-radius: 20px;
	padding: 32px;
	max-width: 600px;
	width: 100%;
	max-height: 80vh;
	overflow-y: auto;
	box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
	animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
	from {
		opacity: 0;
		transform: translateY(-20px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.review-modal__header {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 20px;
	position: relative;
}

.review-modal__avatar {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #F5F5F5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
}

.review-modal__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.review-modal__info {
	flex: 1;
}

.review-modal__name {
	font-size: 20px;
	font-weight: 600;
	color: #32343A;
	margin-bottom: 4px;
	line-height: 1.3;
}

.review-modal__role {
	font-size: 16px;
	color: #8A8A8A;
	line-height: 1.4;
}

.review-modal__close {
	position: absolute;
	top: 20%;
	right: 0;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border: none;
	background: #F5F5F5;
	border-radius: 50%;
	font-size: 20px;
	color: #666;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease;
}

.review-modal__close:hover {
	background: #E0E0E0;
	color: #333;
}

.review-modal__rating {
	display: flex;
	gap: 6px;
	margin-bottom: 20px;
}

.review-modal__rating .star {
	width: 20px;
	height: 20px;
	display: block;
}

.review-modal__text {
	font-size: 16px;
	font-weight: 400;
	color: #32343A;
	line-height: 1.6;
}

/* Responsive */
@media (max-width: 768px) {
	.review-modal {
		padding: 16px;
	}
	
	.review-modal__content {
		padding: 24px;
		border-radius: 16px;
	}
	
	.review-modal__header {
		gap: 12px;
		margin-bottom: 16px;
	}
	
	.review-modal__avatar {
		width: 50px;
		height: 50px;
	}
	
	.review-modal__name {
		font-size: 18px;
	}
	
	.review-modal__role {
		font-size: 14px;
	}
	
	.review-modal__rating .star {
		width: 18px;
		height: 18px;
	}
	
	.review-modal__text {
		font-size: 15px;
	}
}

@media (max-width: 480px) {
	.review-modal__content {
		padding: 20px;
	}
	
	.review-modal__header {
		gap: 10px;
		margin-bottom: 12px;
	}
	
	.review-modal__avatar {
		width: 45px;
		height: 45px;
	}
	
	.review-modal__name {
		font-size: 16px;
	}
	
	.review-modal__role {
		font-size: 13px;
	}
	
	.review-modal__rating .star {
		width: 16px;
		height: 16px;
	}
	
	.review-modal__text {
		font-size: 14px;
	}
}

/* Блок заявки на студенчество */
.application-form {
	background: transparent;
	padding: 60px 0;
	position: relative;
	overflow: visible;
}

.application-form__inner {
	display: flex;
	gap: 40px;
	align-items: stretch;
	position: relative;
	z-index: 2;
	max-width: 1326px;
	margin: 0 auto;
	background: #FFFFFF;
	border-radius: 20.136672973632812px;
	box-shadow: 0px 2px 12.699999809265137px 0px rgba(0, 0, 0, 0.09);
	padding: 40px;
	box-sizing: border-box;
}

.application-form__left {
	flex: 1;
	max-width: 600px;
	position: relative;
	display: flex;
	flex-direction: column;
}

.application-form__left::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url('/local/templates/ranepa_im2/assets2/css/../img/Metallic.webp');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 120% 40%;
	opacity: 0.6;
	z-index: -1;
}

.application-form__right {
	flex: 1;
	max-width: 600px;
}

.application-form__title {
	font-family: 'Raleway', sans-serif;
	font-weight: 400;
	font-size: 40px;
	line-height: 0.9;
	color: #32343A;
	margin: 0 0 20px 0;
}

.application-form__subtitle {
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.2;
	color: #32343A;
	margin: 0 0 30px 0;
}

.application-form__profile {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: auto;
}

.application-form__avatar {
	width: 115px;
	height: 115px;
	border-radius: 15px;
	overflow: hidden;
	flex-shrink: 0;
}

.application-form__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.application-form__profile-info {
	flex: 1;
}

.application-form__name {
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
	color: #32343A;
	margin-bottom: 5px;
}

.application-form__position {
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.2;
	color: #32343A;
}

.application-form__btn {
	width: 100%;
	height: 42px;
	background: linear-gradient(260deg, #B23C37 29%, #330E11 100%);
	border: none;
	border-radius: 27px;
	color: white;
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 15px;
	cursor: pointer;
	transition: all 0.3s ease;
	margin-top: 10px;
	margin-bottom: 30px;
}

.application-form__btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(178, 60, 55, 0.3);
}

.application-form__disclaimers {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.application-form__checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.application-form__checkbox input[type="checkbox"] {
	display: none;
}

.checkmark {
	width: 14px;
	height: 14px;
	border: 1px solid #666666;
	border-radius: 4px;
	background: #F3F3F3;
	flex-shrink: 0;
	position: relative;
}

.application-form__checkbox input[type="checkbox"]:checked + .checkmark {
	background: #B23C37;
	border-color: #B23C37;
}

.application-form__checkbox input[type="checkbox"]:checked + .checkmark::after {
	content: '✓';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: white;
	font-size: 16px;
	font-weight: bold;
}

.checkbox-text {
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 10px;
	line-height: 1.17;
	color: #32343A;
}

.application-form__required-note {
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 10px;
	line-height: 1.17;
	color: #AAAAAA;
	margin-top: 5px;
}

.asterisk {
	color: #AAAAAA;
	font-size: 24px;
	line-height: 1.17;
}

/* Форма */
.application-form__form {
	display: flex;
	flex-direction: column;
}

.form-group {
	display: flex;
	flex-direction: column;
	position: relative;
}

.form-input,
.form-select,
.form-textarea {
	border: none;
	border-bottom: 1px solid #AAAAAA;
	background: transparent;
	padding: 5px 0;
	font-family: 'Raleway', sans-serif;
	font-size: 16px;
	color: #32343A;
	outline: none;
	transition: border-color 0.3s ease;
}

.form-input,
.form-select {
	padding: 12px 0;
	height: 44px;
	box-sizing: border-box;
}

.form-textarea {
	padding: 12px 0;
}

.form-input:focus,
.form-select:focus,
.form-textarea:focus {
	border-bottom-color: #B23C37;
}

.form-input::placeholder,
.form-textarea::placeholder {
	color: #AAAAAA;
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.2;
}

.form-select-wrapper {
	position: relative;
	width: 100%;
}

.form-select {
	appearance: none;
	padding-right: 30px;
	cursor: pointer;
	width: 100%;
}

.select-arrow {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	color: #A3A3A3;
	font-size: 12px;
	pointer-events: none;
	z-index: 1;
}

.form-textarea {
	resize: vertical;
	min-height: 60px;
}

/* Скрытие/показ элементов для разных устройств */
.application-form__mobile-controls {
	display: none;
}

@media (max-width: 992px) {
	.application-form__mobile-controls {
		display: block;
		margin-top: 20px;
	}
	
	.application-form__btn--mobile {
		width: 100%;
		max-width: 100%;
		margin-bottom: 20px;
	}
	
	.application-form__disclaimers--mobile {
		margin-top: 0;
	}
}

/* Адаптивность */
@media (max-width: 1200px) {
	.application-form__inner {
		gap: 30px;
	}
	
	.application-form__title {
		font-size: 36px;
	}
}

@media (max-width: 992px) {
	.application-form__inner {
		flex-direction: column;
		gap: 40px;
		max-width: calc(100% - 40px);
		padding: 30px;
	}
	
	.application-form__left,
	.application-form__right {
		max-width: 100%;
		min-width: 100%;
	}
	
	.application-form__title {
		font-size: 32px;
	}
	
	/* Скрываем оригинальные кнопки на мобильных устройствах */
	.application-form__btn:not(.application-form__btn--mobile) {
		display: none;
	}
	
	.application-form__disclaimers:not(.application-form__disclaimers--mobile) {
		display: none;
	}
}

@media (max-width: 768px) {
	.application-form {
		padding: 40px 0;
	}
	
	.application-form__inner {
		max-width: calc(100% - 20px);
		padding: 20px;
	}
	
	.application-form__title {
		font-size: 28px;
	}
	
	.application-form__subtitle {
		font-size: 16px;
	}
	
	/* Убираем фон со звездой на мобилке */
	.application-form__left::before {
		display: none;
	}
	
	/* Профиль перемещается через JavaScript под форму */
	.application-form__right .application-form__profile {
		margin: 20px 0;
	}
	
	.application-form__profile {
		flex-direction: row;
		align-items: center;
		justify-content: flex-start;
		text-align: left;
		gap: 15px;
	}
	
	/* Заменяем * на ✱ */
	.application-form__required-note .asterisk {
		font-size: 0;
		display: inline-block;
	}
	
	.application-form__required-note .asterisk::before {
		content: '✱';
		font-size: 8px;
		line-height: 1;
		vertical-align: super;
		display: inline-block;
	}
	
	.application-form__avatar {
		width: 80px;
		height: 80px;
	}
	
	.application-form__name,
	.application-form__position {
		font-size: 16px;
	}
	
	.application-form__btn {
		height: 50px;
		font-size: 16px;
	}
	
	.form-input,
	.form-select,
	.form-textarea {
		font-size: 16px;
	}
	
	.form-input::placeholder,
	.form-textarea::placeholder {
		font-size: 16px;
	}
	
	/* Контейнер формы для правильного позиционирования */
	.form-group {
		position: relative;
	}
	
	/* Исправление отображения поля даты на мобильных устройствах */
	.form-input[type="date"] {
		font-size: 16px;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		background: #fff;
		border: none;
		border-bottom: 1px solid #AAAAAA;
		padding: 12px 0;
		height: 44px;
		box-sizing: border-box;
		padding-right: 30px;
		width: 100%;
		position: relative;
		color: transparent;
		background-image: url('/local/templates/ranepa_im2/assets2/css/../img/calendar.svg');
		background-repeat: no-repeat;
		background-position: right 0 center;
		background-size: 20px 20px;
		text-indent: -9999px;
		line-height: 44px;
	}
	
	/* Когда дата выбрана, показываем её */
	.form-input[type="date"]:valid {
		color: #32343A;
		text-indent: 0;
	}
	
	/* Скрываем стандартную иконку календаря */
	.form-input[type="date"]::-webkit-calendar-picker-indicator {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: auto;
		height: auto;
		color: transparent;
		background: transparent;
		cursor: pointer;
		opacity: 0;
	}

	/* Кастомный плейсхолдер для поля даты на мобильных */
	.date-placeholder {
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		pointer-events: none;
		color: #AAAAAA;
		font-family: 'Raleway', sans-serif;
		font-weight: 600;
		font-size: 16px;
		line-height: 1.2;
		background: #fff;
		padding-right: 35px;
	}
	
	.form-input[type="date"]::-webkit-inner-spin-button,
	.form-input[type="date"]::-webkit-clear-button {
		display: none;
		-webkit-appearance: none;
	}
	
	/* Дополнительные стили для лучшего отображения поля даты */
	.form-input[type="date"]:focus {
		border-bottom-color: #B23C37;
		outline: none;
	}
	
	.form-input[type="date"]:valid {
		color: #32343A;
	}
	
	.form-input[type="date"]:invalid {
		color: #AAAAAA;
	}
}

@media (max-width: 480px) {
	.application-form__title {
		font-size: 24px;
	}
	
	.application-form__subtitle {
		font-size: 16px;
	}
	
	.application-form__btn {
		height: 45px;
		font-size: 16px;
	}
	
	.form-input,
	.form-select,
	.form-textarea {
		font-size: 16px;
	}
	
	.form-input::placeholder,
	.form-textarea::placeholder {
		font-size: 16px;
	}
	
	.application-form__name,
	.application-form__position {
		font-size: 16px;
	}
}

/* Модальное окно валидации */
.validation-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10000;
	display: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}

.validation-modal.active {
	display: flex;
	opacity: 1;
}

.validation-modal__overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	backdrop-filter: blur(4px);
}

.validation-modal__content {
	position: relative;
	margin: auto;
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
	max-width: 500px;
	width: 90%;
	max-height: 80vh;
	overflow: hidden;
	animation: modalSlideIn 0.3s ease-out;
	display: flex;
	flex-direction: column;
}

@keyframes modalSlideIn {
	from {
		opacity: 0;
		transform: translateY(-20px) scale(0.95);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.validation-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 24px 24px 0;
}

.validation-modal__title {
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	color: #32343A;
	margin: 0;
}

.validation-modal__close {
	background: none;
	border: none;
	font-size: 24px;
	color: #999;
	cursor: pointer;
	padding: 0;
	width: 32px;
	height: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	transition: background-color 0.2s ease;
}

.validation-modal__close:hover {
	background-color: #f5f5f5;
}

.validation-modal__body {
	padding: 20px 24px;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	flex: 1;
	overflow-y: auto;
}

.validation-modal__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	margin-top: 2px;
}

.validation-modal__message {
	flex: 1;
	font-family: 'Raleway', sans-serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.4;
	color: #32343A;
}

.validation-modal__message ul {
	margin: 8px 0 0 0;
	padding-left: 20px;
}

.validation-modal__message li {
	margin-bottom: 4px;
}

.validation-modal__footer {
	padding: 0 24px 24px;
	display: flex;
	justify-content: flex-end;
}

.validation-modal__btn {
	background: linear-gradient(260deg, #B23C37 29%, #330E11 100%);
	border: none;
	border-radius: 8px;
	color: #fff;
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 16px;
	padding: 12px 24px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.validation-modal__btn:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(178, 60, 55, 0.3);
}

/* Адаптивность модального окна */
@media (max-width: 768px) {
	.validation-modal {
		align-items: center;
		justify-content: center;
		padding: 20px;
	}
	
	.validation-modal__content {
		width: 100%;
		max-width: 400px;
		margin: 0;
		max-height: 90vh;
		overflow-y: auto;
	}
	
	.validation-modal__header {
		padding: 16px 16px 0;
	}
	
	.validation-modal__title {
		font-size: 16px;
	}
	
	.validation-modal__body {
		padding: 12px 16px;
	}
	
	.validation-modal__message {
		font-size: 14px;
		line-height: 1.3;
	}
	
	.validation-modal__message ul {
		margin: 6px 0 0 0;
		padding-left: 16px;
	}
	
	.validation-modal__message li {
		margin-bottom: 2px;
		font-size: 13px;
	}
	
	.validation-modal__footer {
		padding: 0 16px 16px;
	}
	
	.validation-modal__btn {
		font-size: 14px;
		padding: 10px 20px;
		width: 100%;
	}
}

@media (max-width: 480px) {
	.validation-modal {
		padding: 10px;
	}
	
	.validation-modal__content {
		max-height: 95vh;
	}
	
	.validation-modal__header {
		padding: 12px 12px 0;
	}
	
	.validation-modal__title {
		font-size: 15px;
	}
	
	.validation-modal__body {
		padding: 10px 12px;
	}
	
	.validation-modal__message {
		font-size: 13px;
	}
	
	.validation-modal__message li {
		font-size: 12px;
	}
	
	.validation-modal__footer {
		padding: 0 12px 12px;
	}
	
	.validation-modal__btn {
		font-size: 13px;
		padding: 8px 16px;
	}
}

/* Дополнительные правила для предотвращения горизонтальной прокрутки */
@media (max-width: 768px) {
	/* Убеждаемся, что все контейнеры не выходят за границы */
	/* .container {
		overflow-x: hidden;
	} */
	
	/* Исправляем проблемные элементы с отрицательными отступами */
	.benefits__decoration {
		right: max(-46px, calc(-100vw + 100%));
	}
	
	.benefits__card--white .benefits__decoration {
		right: max(-46px, calc(-100vw + 100%));
	}
	
	/* Убираем горизонтальную прокрутку у всех основных блоков */
	.oneday-banner,
	.oneday-stats,
	.oneday-about,
	.how-works,
	.benefits,
	.reviews,
	.application-form {
		overflow-x: hidden;
	}
}

/* ===== Кураторы и наставники - убираем красный цвет при наведении ===== */
.teachers .swiper-button:hover {
	background-color: transparent !important;
	border-color: #32343A !important;
}

.teachers .swiper-button:hover path {
	fill: #32343A !important;
}

/* ===== FAQ секция - скрытие/показ вопросов ===== */
.qa-card--hidden {
	display: none;
}

.qa-card--hidden.show {
	display: block;
	animation: fadeInUp 0.3s ease-out;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Стили для кнопки "Все вопросы" */
.media__nav2 {
	margin-top: 30px;
	text-align: center;
}

.media__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	text-decoration: none;
	transition: all 0.3s ease;
	height: 50px;
	padding: 0 20px;
	vertical-align: middle;
}

.media__link span {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	height: 100%;
	line-height: 1;
	vertical-align: middle;
}

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

/* Адаптивные стили для кнопки "Все вопросы" */
@media (max-width: 768px) {
	.media__link {
		height: 45px;
		padding: 0 16px;
		font-size: 14px;
	}
}

@media (max-width: 480px) {
	.media__link {
		height: 40px;
		padding: 0 12px;
		font-size: 13px;
	}
}

/* ===== Адаптивные стили для FAQ секции на мобильных устройствах ===== */
@media (max-width: 768px) {
	.rules__grid {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1em;
		margin-top: 1.4em;
	}
	
	.rules__col,
	.rules__col2 {
		width: 100%;
	}
	
	.rules__items {
		display: grid;
		grid-template-columns: 1fr;
		gap: 0.8em;
	}
	
	/* Показываем только первые 3 вопроса в каждой колонке на мобильных */
	.rules__col .qa-card:nth-child(n+4),
	.rules__col2 .qa-card:nth-child(n+4) {
		display: none;
	}
	
	/* Показываем скрытые вопросы при активации */
	.rules__col .qa-card--hidden.show,
	.rules__col2 .qa-card--hidden.show {
		display: block;
		animation: fadeInUp 0.3s ease-out;
	}
}

@media (max-width: 480px) {
	.rules__items {
		gap: 0.6em;
	}
	
	.qa-card__title {
		font-size: 14px;
		line-height: 1.3;
	}
	
	.qa-card__text {
		font-size: 13px;
		line-height: 1.4;
	}
}

/* ===== Скрытие фильтра на мобильных устройствах ===== */
@media (max-width: 768px) {
	.filter {
		display: none !important;
	}
}

/* ===== OneDay 10/90 filter row under header ===== */
.oneday-filter-row {
	/* full width row inside container */
	display: none; /* hidden on desktop/large screens */
	grid-template-columns: 10% 86%;
	align-items: center;
	gap: 5.23px; /* figma gap */
	margin: 17px 0 0px 0; /* below title */
}

.oneday-filter-row__icon,
.oneday-filter-row__reset {
	border-radius: 84.305px; /* figma radius */
	background: #F2F2F2;
	border: 1px solid #CACACB;
	padding: 0;
	height: 30.57px; /* figma height */
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}

.oneday-filter-row__icon { height: 30px; }
.oneday-filter-row__icon-img { width: 16.22px; height: 12.9px; display: block; }

.oneday-filter-row__reset {
	color: #32343A;
	font-family: Raleway, Arial, sans-serif;
	font-weight: 600;
	font-size: 19px;
	line-height: 1.2;
}

/* Hide filter popup on desktop; show only when opened on mobile */
.filter-popup { display: none; }

@media (max-width: 768px) {
	.oneday-filter-row {
		display: grid; /* visible only on mobile/tablet */
		grid-template-columns: 10% 90%;
	}
	.filter-popup._open { display: block; }
}

/* ===== Как это работает ===== */
.how-works {
	padding: 80px 0 0 0;
	background: #fff url('/local/templates/ranepa_im2/assets2/css/../img/howworksbg.svg') no-repeat center center;
	background-size: auto 100%;
	position: relative;
	overflow: hidden;
}

/* Скрыть блок how-works на планшетах */
@media (max-width: 992px) and (min-width: 769px) {
	.how-works {
		display: none;
	}
}

.how-works__content {
	text-align: left;
	position: relative;
	z-index: 2;
}

.how-works__title {
	font-size: 2.5em;
	font-weight: 700;
	color: #000;
	margin: 0 0 0.5em 0;
	line-height: 1.2;
}

.how-works__subtitle {
	font-size: 1.125em;
	color: #666;
	margin: 0 0 3em 0;
	line-height: 1.4;
}

.how-works__diagram {
	position: relative;
	width: 100%;
	height: 500px;
	margin: 0 auto;
	max-width: 1200px;
}

.how-works__bg {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.how-works__bg-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	opacity: 0.1;
}

.how-works__line {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 100%;
	height: 240px;
}

.how-works__line-image {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.how-works__step {
	position: absolute;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: pointer;
	transition: transform 0.3s ease;
}

.how-works__step:hover {
	transform: scale(1.03);
}

.how-works__step-icon {
	width: 73px;
	height: 71px;
	margin-top: 15px;
	transition: all 0.3s ease;
}

.how-works__step-icon svg {
	width: 100%;
	height: 100%;
	transition: all 0.3s ease;
}

.how-works__step-icon .step-circle {
	transition: all 0.3s ease;
}

.how-works__step-icon .step-dot {
	transition: all 0.3s ease;
}

/* Эффект наведения на иконку */
.how-works__step:hover .how-works__step-icon .step-circle {
	fill: #B23C37;
	stroke: #B23C37;
}

.how-works__step:hover .how-works__step-icon .step-dot {
	fill: #fff;
}

/* Эффект наведения на текст */
.how-works__step:hover .how-works__step-text {
	background: linear-gradient(90deg, #832B29 0%, #B13B36 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	transform: translateY(-2px);
	box-shadow: none;
}

.how-works__step-text {
	background: transparent;
	background: linear-gradient(90deg, #832B29 0%, #B13B36 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	padding: 12px 20px;
	border-radius: 8px;
	font-size: 0.875em;
	font-weight: 500;
	line-height: 1.3;
	white-space: nowrap;
	box-shadow: none;
	position: relative;
	transition: all 0.3s ease;
}

.how-works__step-text::after {
	display: none;
}

/* Стили для стрелок между текстом и иконками */
.how-works__step-arrow {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}

.how-works__arrow-image {
	width: 7px;
	height: 60px;
	object-fit: contain;
}

.how-works__arrow-image-mobile {
	display: none;
}

/* Индивидуальные высоты стрелок для каждого шага */
.how-works__step--1 .how-works__arrow-image,

.how-works__step--3 .how-works__arrow-image {
	height: 109px;
}
.how-works__step--2 .how-works__arrow-image {
	height: 79px;
}
.how-works__step--4 .how-works__arrow-image,
.how-works__step--5 .how-works__arrow-image {
	height: 182px;
}

.how-works__step--6 .how-works__arrow-image {
	height: 64px;
}

/* Позиционирование шагов относительно кружков на линии */
.how-works__step--1 {
	top: -2%;
	left: -2%;
}


.how-works__step--2 {
	top: -7%;
	left: 18%;
}


.how-works__step--3 {
	top: 5%;
	left: 30%;
}


.how-works__step--4 {
	top: 10%;
	left: 45%;
}



.how-works__step--5 {
	top: 4%;
	left: 64%;
}


.how-works__step--6 {
	top: 0%;
	left: 79%;
}


/* Адаптивность */
@media (max-width: 1200px) {
	.how-works__diagram {
		height: 350px;
	}
	
	.how-works__step-text {
		font-size: 0.8em;
		padding: 10px 16px;
	}
	
	.how-works__arrow-image {
		height: 50px;
	}
	
	/* Адаптивные высоты стрелок для каждого шага */
	.how-works__step--1 .how-works__arrow-image,
	.how-works__step--2 .how-works__arrow-image,
	.how-works__step--3 .how-works__arrow-image {
		height: 80px;
	}
	
	.how-works__step--4 .how-works__arrow-image,
	.how-works__step--5 .how-works__arrow-image {
		height: 120px;
	}
	
	.how-works__step--6 .how-works__arrow-image {
		height: 45px;
	}
}


@media (max-width: 768px) {
	.how-works {
		padding: 60px 0 0 0;
		margin-bottom: 0;
	}
	
	.how-works__title {
		font-size: 2em;
	}
	
	.how-works__subtitle {
		font-size: 1em;
		margin-bottom: 2em;
	}
	
	.how-works__diagram {
		height: 270.8vw;
		min-height: 270.8vw;
	}
	
	/* Замена линии на мобильных устройствах */
	.how-works__line {
		height: 270.8vw;
		width: 100%;
	}
	
	.how-works__line-image {
		content: url('/local/templates/ranepa_im2/assets2/css/../img/mobilelinehowtoworks.svg');
		width: 100%;
		height: 270.8vw;
		object-fit: contain;
	}
	
	.how-works__step-icon {
		width: 7.8vw;
		height: 7.6vw;
		margin-top: 1.3vw;
	}
	
	/* Специальные стили для 4-го шага на планшетах */
	
	.how-works__step-text {
		font-size: 0.75em;
		padding: 1vw 1.6vw;
		white-space: normal;
		max-width: 15.6vw;
		text-align: left;
	}
	
	.how-works__arrow-image {
		height: 5.2vw;
	}
	
	/* Адаптивные высоты стрелок для каждого шага */
	.how-works__step--1 .how-works__arrow-image,
	.how-works__step--2 .how-works__arrow-image,
	.how-works__step--3 .how-works__arrow-image {
		height: 7.8vw;
	}
	
	.how-works__step--4 .how-works__arrow-image,
	.how-works__step--5 .how-works__arrow-image {
		height: 11.7vw;
	}
	
	.how-works__step--6 .how-works__arrow-image {
		height: 4.6vw;
	}
	
	/* Адаптивное позиционирование для мобильных */
	.how-works__step--1 {
		top: 11%;
		left: 35%;
	}
	
	.how-works__step--2 {
		top: 23%;
		left: 12%;
	}
	
	.how-works__step--3 {
		top: 32%;
		left: 42%;
	}
	
	.how-works__step--4 {
		top: 52%;
		left: 28%;
	}
	
	.how-works__step--5 {
		top: 72%;
		left: 40%;
	}
	
	.how-works__step--6 {
		top: 87%;
		left: 9%;
	}
}

@media (max-width: 480px) {
	.how-works__diagram {
		height: 270.8vw;
		min-height: 270.8vw;
	}
	
	.how-works__step-icon {
		width: 10.4vw;
		height: 10vw;
		margin-top: 1.7vw;
	}
	
	
	.how-works__step-text {
		font-size: 1em;
		padding: 2.1vw 3.1vw;
		max-width: 37.5vw;
		text-align: left;
	}
	
	.how-works__arrow-image {
		height: 9.4vw;
	}
	
	/* Адаптивные высоты стрелок для каждого шага */
	.how-works__step--1 .how-works__arrow-image,
	.how-works__step--2 .how-works__arrow-image,
	.how-works__step--3 .how-works__arrow-image {
		height: 14.6vw;
	}
	
	.how-works__step--4 .how-works__arrow-image,
	.how-works__step--5 .how-works__arrow-image {
		height: 20.8vw;
	}
	
	.how-works__step--6 .how-works__arrow-image {
		height: 8.3vw;
	}
	
	/* Горизонтальный layout для первого шага на мобильных */
	.how-works__step--1 {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	.how-works__step--1 .how-works__step-icon {
		order: 1;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.how-works__step--1 .how-works__step-arrow {
		order: 2;
		margin: 0;
	}
	
	.how-works__step--1 .how-works__arrow-image {
		display: none;
	}
	
	.how-works__step--1 .how-works__arrow-image-mobile {
		display: block;
		width: 8.8vw;
		height: 1.25vw;
		object-fit: contain;
	}
	
	.how-works__step--1 .how-works__step-text {
		order: 3;
		max-width: 45.8vw;
		padding: 2.5vw 3.8vw 2.5vw 0;
		text-align: left;
	}
	
	/* Горизонтальный layout для второго шага на мобильных */
	.how-works__step--2 {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	.how-works__step--2 .how-works__step-text {
		order: 1;
		max-width: 45.8vw;
		padding: 2.5vw 0 2.5vw 3.8vw;
		text-align: left;
	}
	
	.how-works__step--2 .how-works__step-arrow {
		order: 2;
		margin: 0;
	}
	
	.how-works__step--2 .how-works__arrow-image {
		display: none;
	}
	
	.how-works__step--2 .how-works__arrow-image-mobile {
		display: block;
		width: 10.6vw;
		height: 1.25vw;
		object-fit: contain;
	}
	
	.how-works__step--2 .how-works__step-icon {
		order: 3;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	/* Горизонтальный layout для третьего шага на мобильных */
	.how-works__step--3 {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	.how-works__step--3 .how-works__step-icon {
		order: 1;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.how-works__step--3 .how-works__step-arrow {
		order: 2;
		margin: 0;
	}
	
	.how-works__step--3 .how-works__arrow-image {
		display: none;
	}
	
	.how-works__step--3 .how-works__arrow-image-mobile {
		display: block;
		width: 1.7vw;
		height: 1.25vw;
		object-fit: contain;
	}
	
	.how-works__step--3 .how-works__step-text {
		order: 3;
		max-width: 45.8vw;
		padding: 2.5vw 3.8vw 2.5vw 0 !important;
		text-align: left !important;
	}
	
	/* Горизонтальный layout для четвертого шага на мобильных */
	.how-works__step--4 {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	.how-works__step--4 .how-works__step-icon {
		order: 1;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.how-works__step--4 .how-works__step-arrow {
		order: 2;
		margin: 0;
	}
	
	.how-works__step--4 .how-works__arrow-image {
		display: none;
	}
	
	.how-works__step--4 .how-works__arrow-image-mobile {
		display: block;
		width: 8.8vw;
		height: 1.25vw;
		object-fit: contain;
	}
	
	.how-works__step--4 .how-works__step-text {
		order: 3;
		max-width: 45.8vw;
		padding: 2.5vw 3.8vw 2.5vw 0 !important;
		text-align: left !important;
	}
	
	/* Горизонтальный layout для пятого шага на мобильных */
	.how-works__step--5 {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	.how-works__step--5 .how-works__step-icon {
		order: 1;
		margin-top: 0;
		margin-bottom: 0;
	}
	
	.how-works__step--5 .how-works__step-arrow {
		order: 2;
		margin: 0;
	}
	
	.how-works__step--5 .how-works__arrow-image {
		display: none;
	}
	
	.how-works__step--5 .how-works__arrow-image-mobile {
		display: block;
		width: 8.5vw;
		height: 1.25vw;
		object-fit: contain;
	}
	
	.how-works__step--5 .how-works__step-text {
		order: 3;
		max-width: 45.8vw;
		padding: 2.5vw 3.8vw 2.5vw 0 !important;
		text-align: left !important;
	}
	
	/* Горизонтальный layout для шестого шага на мобильных */
	.how-works__step--6 {
		display: flex;
		flex-direction: row;
		align-items: center;
		gap: 10px;
	}
	
	.how-works__step--6 .how-works__step-text {
		order: 1;
		max-width: 45.8vw;
		padding: 2.5vw 0 2.5vw 3.8vw !important;
		text-align: left !important;
	}
	
	.how-works__step--6 .how-works__step-arrow {
		order: 2;
		margin: 0;
	}
	
	.how-works__step--6 .how-works__arrow-image {
		display: none;
	}
	
	.how-works__step--6 .how-works__arrow-image-mobile {
		display: block;
		width: 10.6vw;
		height: 1.25vw;
		object-fit: contain;
	}
	
	.how-works__step--6 .how-works__step-icon {
		order: 3;
		margin-top: 0;
		margin-bottom: 0;
	}
}

/* ===== Catalog Card Buttons (Figma-perfect styling) ===== */
.mba2 .catalog-card__footer {
	display: flex;
	gap: 1em;
	margin-top: auto;
	padding-top: 1em;
}

.mba2 .catalog-card__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	text-decoration: none;
	font-family: 'Raleway', sans-serif;
	font-weight: 600;
	font-size: 14.289462089538574px;
	line-height: 1.2;
	text-align: center;
	transition: all 0.3s ease;
}

.mba2 .catalog-card__btn--primary {
	width: 100px;
	height: 30px;
	background: linear-gradient(-51deg, rgba(178, 60, 55, 1) 21%, rgba(51, 14, 17, 1) 100%);
	border-radius: 20.647306442260742px;
	color: #FFFFFF;
}

.mba2 .catalog-card__btn--primary:hover {
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(178, 60, 55, 0.3);
}

.mba2 .catalog-card__btn--secondary {
	width: auto;
	height: auto;
	background: none;
	border: none;
	border-radius: 0;
	color: #AAAAAA;
	text-decoration: underline;
	font-size: 14px;
}

.mba2 .catalog-card__btn--secondary:hover {
	background: none;
	border: none;
	color: #888888;
}

.mba2 .catalog-card__btn span {
	display: block;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mba2 .catalog-card__description {
	color: #32343A;
	font-size: 13px;
	line-height: 1.4;
	margin: 1em 0;
	font-weight: 600;
}

/* Hide reviews mobile text on mobile devices */
@media (max-width: 768px) {
	.reviews-mobile-text {
		display: none !important;
	}
	
	/* Make reviews header horizontal on mobile */
	.reviews-header {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-direction: row !important;
		gap: 1em !important;
	}
	
	.reviews-header .h2 {
		margin: 0 !important;
		flex: 1 !important;
	}
	
	.reviews-nav {
		display: flex !important;
		align-items: center !important;
		gap: 0.5em !important;
		flex-shrink: 0 !important;
	}
	
	/* Application form profile - align left on mobile */
	.application-form__profile {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 1em !important;
		text-align: left !important;
	}
	
	.application-form__avatar {
		flex-shrink: 0 !important;
		text-align: left !important;
	}
	
	.application-form__profile-info {
		flex: 1 !important;
		text-align: left !important;
	}
	
	.application-form__name {
		text-align: left !important;
	}
	
	.application-form__position {
		text-align: left !important;
	}
}

/* End */
/* /local/templates/ranepa_im2/assets2/css/program.css?1764932141158196 */
/* /local/templates/ranepa_im2/assets2/css/oneday.css?176493214159913 */
