

/* 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 */


/* Start:/local/templates/ranepa_im2/assets2/css/improffessional.css?176493214141695*/
.impro-text-gradient {
    background: linear-gradient(90deg, #634EA2 0%, #9774FF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}

/* Override gradients to use the previously used purple */
.oneday-about .gradient-text,
.oneday-about .red-text,
.oneday-about__content strong,
.oneday-stats__value.impro-text-gradient {
    background: linear-gradient(90deg, #634EA2 0%, #9774FF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
}


/* ===== How-Works (Impro) — Figma matching ===== */
.impro-howworks .how-works__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}

.impro-howworks .how-works__diagram {
    max-width: 1325px;
    height: 586px;
}

.impro-howworks .how-works__bg-image { opacity: 1; }

/* Tooltip with two rows (title + date) */
.impro-howworks .how-works__step-text {
    display: flex;
    flex-direction: column;
    gap: 6px;
    background: transparent;
    box-shadow: none;
    padding: 0;
    transition: transform 0.25s ease;
}

/* Prevent icon from shrinking in flex rows */
.impro-howworks .how-works__step-icon { flex: 0 0 auto; }

.impro-howworks .how-works__step-text::after { display: none; }

.impro-howworks .impro-step-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    background: linear-gradient(90deg, #634EA2 0%, #9774FF 100%);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}

.impro-howworks .impro-step-date {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A !important;
    opacity: 1;
    display: block;
    margin-top: 8px;
    position: relative;
    z-index: 10;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: #32343A !important;
}

/* Hover: keep background as-is, just scale a bit */
.impro-howworks .how-works__step:hover .how-works__step-text {
    background: transparent !important;
    box-shadow: none !important;
    transform: scale(1.06);
}

/* Ensure dates don't get affected by hover gradients */
.impro-howworks .how-works__step:hover .impro-step-date {
    color: #32343A !important;
    background: none !important;
    -webkit-background-clip: unset !important;
    background-clip: unset !important;
    -webkit-text-fill-color: #32343A !important;
}

/* Positions tuned to match Figma frame (desktop) */
.impro-howworks .how-works__step--1 { top: 25%; left: 6%; }
.impro-howworks .how-works__step--2 { top: 0%; left: 22%; }
.impro-howworks .how-works__step--3 { top: 11%; left: 31.3%; }
.impro-howworks .how-works__step--4 { top: 37%; left: 45.7%; }
.impro-howworks .how-works__step--5 { top: 26.5%; left: 64.5%; }
.impro-howworks .how-works__step--6 { top: 18%; left: 79%; }

/* Circle and dot colors on hover keep purple accent */
.impro-howworks .how-works__step:hover .how-works__step-icon .step-circle {
    stroke: #7D61E6;
    fill: #7D61E6;
}
.impro-howworks .how-works__step:hover .how-works__step-icon .step-dot { fill: #fff; }

/* Mobile/tablet adjustments */
@media (max-width: 1200px) {
    .impro-howworks .how-works__diagram { height: 520px; }
}

@media (max-width: 768px) {
    .impro-howworks .how-works__diagram { height: 820px; }
    .impro-howworks .impro-step-title { font-size: 14px; }
    .impro-howworks .impro-step-date { font-size: 12px; }
    /* keep original icon size on tablet */
    .impro-howworks .how-works__step-icon { width: 60px; height: 58px; }
    
    /* Замена линии на планшетах */
    .impro-howworks .how-works__line {
        height: 1338.74px;
        width: 100%;
    }
    
    .impro-howworks .how-works__line-image {
        content: url('/local/templates/ranepa_im2/assets2/css/../img/proffesional/line_mobile_proffesional.svg');
        width: 100%;
        height: 1338.74px;
        object-fit: contain;
    }
}

@media (max-width: 480px) {
    .impro-howworks .how-works__diagram { height: 1400px; }
    .impro-howworks .impro-step-title { font-size: 15px; }
    .impro-howworks .impro-step-date { font-size: 13px; margin-top: 0; }
    /* Размер иконки 69x69px в vw для всех шагов */
    .impro-howworks .how-works__step-icon { 
        width: 18vw; 
        height: 18vw; 
        max-width: 69px; 
        max-height: 69px; 
    }
    
    /* Размер изображений 100x100px в vw */
    .impro-alla__photo,
    .impro-alla-horizontal__photo {
        width: 25vw;
        height: 25vw;
        max-width: 100px;
        max-height: 100px;
    }
}

/* Vertical arrow between text and icon */
.impro-howworks .how-works__step-arrow {
    display: flex;
    align-items: center;
    justify-content: center;
}

.impro-howworks .how-works__step-arrow img {
    display: block;
    width: 7px;
    height: var(--arrow-h, 100px);
    object-fit: fill;
}

/* Specific heights from Figma for desktop */
.impro-howworks .how-works__step--1 .how-works__step-arrow img { --arrow-h: 78px; }
.impro-howworks .how-works__step--2 .how-works__step-arrow img { --arrow-h: 131px; }
.impro-howworks .how-works__step--3 .how-works__step-arrow img { --arrow-h: 114px; }
.impro-howworks .how-works__step--4 .how-works__step-arrow img { --arrow-h: 85px; }
.impro-howworks .how-works__step--5 .how-works__step-arrow img { --arrow-h: 115px; }
.impro-howworks .how-works__step--6 .how-works__step-arrow img { --arrow-h: 143px; }

@media (max-width: 768px) {
    .impro-howworks .how-works__step-arrow img { --arrow-h: 90px; }
}

/* ===== Mobile horizontal layout rules ===== */
@media (max-width: 480px) {
    /* Замена линии на мобильных устройствах */
    .impro-howworks .how-works__line {
        height: 1338.74px;
        width: 100%;
    }
    
    .impro-howworks .how-works__line-image {
        content: url('/local/templates/ranepa_im2/assets2/css/../img/proffesional/line_mobile_proffesional.svg');
        width: 100%;
        height: 1338.74px;
        object-fit: contain;
    }

    .impro-howworks .how-works__step {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
    }

        /* Абсолютные координаты шагов на мобилке */
        .impro-howworks .how-works__step--1 { top: 13%; left: 20%; }
        .impro-howworks .how-works__step--2 { top: 22.4%; left: 14%; }
        .impro-howworks .how-works__step--3 { top: 35%; left: 37%; }
        .impro-howworks .how-works__step--4 { top: 51.5%; left: 18%; }
        .impro-howworks .how-works__step--5 { top: 71%; left: 32%; }
        .impro-howworks .how-works__step--6 { top: 90%; left: 18%; }
      
    /* Hide vertical arrow image; use horizontal arrow sprite instead */
    .impro-howworks .how-works__step-arrow img { display: none !important; }

    .impro-howworks .how-works__step-arrow {
        width: var(--arrow-w, 24px);
        height: 6px;
        position: relative;
        flex: 0 0 auto;
    }

    .impro-howworks .how-works__step-arrow::before {
        content: '';
        position: relative;
        display: block;
        width: 100%;
        height: 100%;
        background: url('/local/templates/ranepa_im2/assets2/css/../img/proffesional/arrowmobile.svg') no-repeat center / contain;
        transform: scaleX(var(--arrow-scale, 1));
    }
    
    /* Step 1: специальная стрелочка */
    .impro-howworks .how-works__step--1 .how-works__step-arrow::before {
        background: url('/local/templates/ranepa_im2/assets2/css/../img/proffesional/arrowstep1improffesional.svg') no-repeat center / contain;
    }
    
    /* Step 2: специальная стрелочка */
    .impro-howworks .how-works__step--2 .how-works__step-arrow::before {
        background: url('/local/templates/ranepa_im2/assets2/css/../img/proffesional/Linestep2proffesional.svg') no-repeat center / contain;
    }
    
    /* Step 3: специальная стрелочка */
    .impro-howworks .how-works__step--3 .how-works__step-arrow::before {
        background: url('/local/templates/ranepa_im2/assets2/css/../img/proffesional/line3proffesional.svg') no-repeat center / contain;
    }

    /* Step 1: circle → arrow(24) → text */
    .impro-howworks .how-works__step--1 .how-works__step-icon { order: 1; }
    .impro-howworks .how-works__step--1 .how-works__step-arrow { 
        order: 2; 
        --arrow-w: 24px; 
        --arrow-scale: 1; 
      
    }
    .impro-howworks .how-works__step--1 .how-works__step-text { order: 3; max-width: 50vw; }

    /* Step 2: text → arrow(45) → circle (arrow points left) */
    .impro-howworks .how-works__step--2 .how-works__step-text { order: 1; }
    .impro-howworks .how-works__step--2 .how-works__step-arrow { 
        order: 2; 
        --arrow-w: 12vw; 
        --arrow-scale: 1; 
        max-width: 45px;
    }
    .impro-howworks .how-works__step--2 .how-works__step-icon { order: 3; }

    /* Step 3: circle ← arrow(8) ← text */
    .impro-howworks .how-works__step--3 .how-works__step-icon { order: 1; }
    .impro-howworks .how-works__step--3 .how-works__step-arrow { 
        order: 2; 
        --arrow-w: 2.1vw; 
        --arrow-scale: 1; 
        max-width: 16px;
    }
    .impro-howworks .how-works__step--3 .how-works__step-text { order: 3; padding-right: 0px !important; }

    /* Step 4: circle ← arrow(41) ← text */
    .impro-howworks .how-works__step--4 .how-works__step-icon { order: 1; }
    .impro-howworks .how-works__step--4 .how-works__step-arrow { order: 2; --arrow-w: 41px; --arrow-scale: 1; }
    .impro-howworks .how-works__step--4 .how-works__step-text { order: 3; }

    /* Step 5: circle ← arrow(39) ← text */
    .impro-howworks .how-works__step--5 .how-works__step-icon { order: 1; }
    .impro-howworks .how-works__step--5 .how-works__step-arrow { order: 2; --arrow-w: 39px; --arrow-scale: 1; }
    .impro-howworks .how-works__step--5 .how-works__step-text { order: 3; }

    /* Step 6: text → arrow(60, right) → circle */
    .impro-howworks .how-works__step--6 .how-works__step-text { order: 1; }
    .impro-howworks .how-works__step--6 .how-works__step-arrow { order: 2; --arrow-w: 60px; --arrow-scale: -1; }
    .impro-howworks .how-works__step--6 .how-works__step-icon { order: 3; }
}

/* ===== Catalog cards (Impro) — Figma matching ===== */
.catalog-card {
    position: relative;
    background: #FFFFFF;
    border: 1px solid #EDEDED;
    border-radius: 20px;
    padding: 20px;
    width: 320px;
    height: 397px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
    transition: all 0.3s ease;
}

.catalog-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
}

.catalog-card__content {
    margin-bottom: 0px;
    flex-grow: 1;
    align-self: flex-start;
}

.catalog-card__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.17;
    color: #32343A;
    margin-bottom: 20px;
    margin-top: 8px;
}

.catalog-card__description {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 13px;
    line-height: 1.17;
    color: #32343A;
    margin-bottom: 0px;
    flex-grow: 1;
}

.catalog-card__bottom {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 14px;
    align-self: flex-end;
    width: 100%;
}

.catalog-card__info {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin-bottom: 0;
}

.catalog-card__icon {
    width: 12px;
    height: auto;
    flex-shrink: 0;
    align-self: flex-start;
    margin-top: 2px;
}

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

.catalog-card__footer {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 0px !important;
    margin-bottom: 14px;
}

.catalog-card__button {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    border: none;
    cursor: pointer;
    transition: all 0.3s ease;
    border-radius: 21px;
    height: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.catalog-card__button--primary {
    background: linear-gradient(90deg, #634EA2 0%, #9774FF 100%);
    color: #FFFFFF;
    padding: 0 24px;
    flex: 0 0 146px;
}

.catalog-card__button--primary:hover {
    filter: brightness(0.95);
}

.catalog-card__button--secondary {
    background: transparent;
    color: #AAAAAA;
    padding: 0;
    flex: 0 0 112px;
}

.catalog-card__button--secondary:hover {
    color: #7D61E6;
}

/* Background pattern for cards */
.catalog-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: radial-gradient(ellipse at 95% 8%, rgba(125, 97, 230, 0.07) 0%, rgba(125, 97, 230, 0) 60%);
    border-radius: 20px;
    pointer-events: none;
    z-index: 0;
}

.catalog-card > * {
    position: relative;
    z-index: 1;
}

/* Grid layout for catalog items */
.catalog__items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 24px;
    justify-items: center;
}

@media (max-width: 768px) {
    .catalog__items {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 0px;
    }
    
    .catalog-card {
        width: 100%;
        max-width: none;
        min-height: 360px !important;
    }
}

@media (max-width: 480px) {
    .catalog__items {
        padding: 0px;
        gap: 12px;
    }
    
    .catalog-card {
        width: 100%;
        padding: 16px;
        min-height: 360px;
    }
}

/* ===== Alla Tabachnikova quote block ===== */
.impro-alla {
    position: relative;
    padding: 56px 0;
    background: #fff;
}
.impro-alla::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/bgalla.svg') no-repeat left top / cover;
    opacity: 1;
    pointer-events: none;
}
.impro-alla .container { position: relative; z-index: 1; }
.impro-alla__wrap {
    display: flex;
    align-items: center;
    gap: 40px;
    min-height: 230px;
}
.impro-alla__top {
    display: flex;
    align-items: center;
    gap: 16px;
}
.impro-alla__photo {
    flex: 0 0 100px;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 4px solid #7D61E6;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.impro-alla__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.impro-alla__content { max-width: 460px; }
.impro-alla__name {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 1.5em; /* 24px */
    line-height: 1.2;
    color: #32343A;
    margin-bottom: 6px;
}
.impro-alla__subtitle {
    color: #DADADA;
    font-size: 1em; 
    font-weight: 500;
    line-height: 1.2;
    margin-bottom: 10px;
}
.impro-alla__quote { font-weight: 600; font-size: 1em; line-height: 1.35; color: #32343A; flex: 1; margin-left: 80px; }
@media (max-width: 768px) {
    .impro-alla { padding: 36px 0; }
    .impro-alla__wrap { gap: 24px; }
}
@media (max-width: 560px) {
    .impro-alla__wrap { 
        flex-direction: column; 
        align-items: flex-start; 
        gap: 16px; 
        min-height: auto; 
    }
    .impro-alla__top { 
        display: flex; 
        align-items: flex-start; 
        gap: 16px; 
        width: 100%; 
        padding-top: 40px;
    }
    .impro-alla__photo { 
        width: 25vw; 
        height: 25vw; 
        max-width: 100px;
        max-height: 100px;
        flex-basis: auto; 
        flex-shrink: 0; 
    }
    .impro-alla__content { 
        max-width: none; 
        flex: 1; 
    }
    .impro-alla__name { margin-bottom: 2px; }
    .impro-alla__subtitle { margin-bottom: 4px; }
    .impro-alla__quote { 
        max-width: none; 
        width: 100%; 
        margin-left: 0;
    }
}

/* ===== Alla Tabachnikova horizontal quote block ===== */
.impro-alla-horizontal {
    position: relative;
    padding: 56px 0;
    background: #fff;
}
.impro-alla-horizontal::before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/bgalla.svg') no-repeat left top / cover;
    opacity: 1;
    pointer-events: none;
}
.impro-alla-horizontal .container { position: relative; z-index: 1; }
.impro-alla-horizontal__wrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    min-height: 230px;
}
.impro-alla-horizontal__quote {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #32343A;
    max-width: 825px;
    text-align: right;
    flex: 1;
}
.impro-alla-horizontal__author {
    display: flex;
    align-items: center;
    gap: 0;
    flex: 0 0 auto;
}
.impro-alla-horizontal__photo {
    flex: 0 0 92px;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    border: 2px solid transparent;
    background: linear-gradient(90deg, #634EA2 0%, #9774FF 100%);
    padding: 2px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0,0,0,0.06);
}
.impro-alla-horizontal__photo img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    display: block; 
    border-radius: 50%;
}
.impro-alla-horizontal__content { 
    max-width: 408px;
    flex: 1;
    margin-right: 12px;
}
.impro-alla-horizontal__name {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 1.5em; /* 24px */
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
    margin-bottom: 6px;
}
.impro-alla-horizontal__subtitle {
    color: #DADADA;
    font-size: 1em; /* 16px */
    line-height: 1.4;
    margin: 0;
}

/* Mobile responsive for horizontal layout */
@media (max-width: 1200px) {
    .impro-alla-horizontal__wrap {
        gap: 30px;
    }
    .impro-alla-horizontal__quote {
        font-size: 15px;
        max-width: 600px;
    }
    .impro-alla-horizontal__name {
        font-size: 1.33em; /* 32px */
    }
    .impro-alla-horizontal__photo {
        width: 80px;
        height: 80px;
        flex: 0 0 80px;
    }
}

@media (max-width: 768px) {
    .impro-alla-horizontal { 
        padding: 36px 0; 
    }
    .impro-alla-horizontal__wrap { 
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        min-height: auto;
    }
    .impro-alla-horizontal__author {
        order: 1;
        width: 100%;
        justify-content: flex-start;
    }
    .impro-alla-horizontal__quote {
        order: 2;
        text-align: left;
        max-width: none;
        font-size: 14px;
    }
    .impro-alla-horizontal__photo {
        width: 25vw;
        height: 25vw;
        max-width: 100px;
        max-height: 100px;
        flex: 0 0 auto;
    }
    .impro-alla-horizontal__name {
        font-size: 1.5em; /* 24px */
    }
    .impro-alla-horizontal__content {
        max-width: none;
    }
}

@media (max-width: 480px) {
    .impro-alla-horizontal__wrap {
        padding-top: 40px;
    }
    .impro-alla-horizontal__author {
        flex-direction: row;
        align-items: center;
        gap: 16px;
        flex-wrap: nowrap;
    }
    .impro-alla-horizontal__content {
        margin-left: 0;
        margin-top: 0;
        flex: 1;
    }
    .impro-alla-horizontal__photo {
        width: 25vw;
        height: 25vw;
        max-width: 100px;
        max-height: 100px;
        flex: 0 0 auto;
    }
    .impro-alla-horizontal__name {
        font-size: 1.25em; /* 20px */
    }
}

/* ===== Prizes section ===== */
.impro-prizes {
    padding: 80px 0;
    background: #fff;
}

.impro-prizes__table {
    width: 100%;
    max-width: 1327px;
    margin: 0 auto;
}

.impro-prizes__header {
    display: grid;
    grid-template-columns: 455px repeat(5, 1fr);
    gap: 0;
    margin-bottom: 28px;
    border-bottom: 1px solid #CACACB;
    padding-bottom: 28px;
    align-items: end;
}

.impro-prizes__title-cell {
    display: flex;
    align-items: flex-end;
    padding-right: 20px;
}

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

.impro-prizes__category {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 10px;
}

.impro-prizes__icon {
    width: 76px;
    height: 76px;
    margin-bottom: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.impro-prizes__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.impro-prizes__category-name {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    text-align: center;
}

.impro-prizes__rows {
    display: flex;
    flex-direction: column;
}

.impro-prizes__row {
    display: grid;
    grid-template-columns: 455px repeat(5, 1fr);
    gap: 0;
    border-bottom: 1px solid #CACACB;
    padding: 28px 0;
    align-items: start;
}

.impro-prizes__row:last-child {
    border-bottom: none;
}

.impro-prizes__benefit {
    padding-right: 20px;
}

.impro-prizes__benefit-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
    margin: 0 0 8px 0;
}

.impro-prizes__benefit-desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.4;
    color: #32343A;
    margin: 0;
}

.impro-prizes__cell {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 10px;
    min-height: 40px;
}

.impro-prizes__check {
    width: 40px;
    height: 27px;
    object-fit: contain;
}

.impro-prizes__amount {
    font-family: 'Raleway', sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #686868;
    text-align: center;
}

.impro-prizes__dash {
    width: 41px;
    height: 2px;
    object-fit: contain;
}

/* Mobile responsive */
@media (max-width: 1200px) {
    .impro-prizes__table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    
    .impro-prizes__header,
    .impro-prizes__row {
        min-width: 800px;
        display: grid;
        grid-template-columns: 300px 100px 100px 100px 100px 100px;
        gap: 0;
    }
    
    .impro-prizes__header {
        margin-bottom: 28px;
        border-bottom: 1px solid #CACACB;
        padding-bottom: 28px;
        align-items: end;
    }
    
    .impro-prizes__title-cell {
        padding-right: 20px;
    }
    
    .impro-prizes__title {
        font-size: 36px;
    }
    
    .impro-prizes__category {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 0 10px;
    }
    
    .impro-prizes__row {
        align-items: center;
        padding: 20px 0;
        border-bottom: 1px solid #F0F0F0;
    }
    
    .impro-prizes__benefit {
        padding-right: 20px;
    }
    
    .impro-prizes__cell {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 10px;
    }
}

@media (max-width: 768px) {
    .impro-prizes {
        padding: 60px 0;
    }
    
    .impro-prizes__header,
    .impro-prizes__row {
        min-width: 700px;
        grid-template-columns: 250px 90px 90px 90px 90px 90px;
    }
    
    .impro-prizes__title {
        font-size: 28px;
    }
    
    .impro-prizes__icon {
        width: 60px;
        height: 60px;
        margin-bottom: 8px;
    }
    
    .impro-prizes__category-name {
        font-size: 12px;
    }
    
    .impro-prizes__benefit-title {
        font-size: 14px;
    }
    
    .impro-prizes__benefit-desc {
        font-size: 13px;
    }
    
    .impro-prizes__amount {
        font-size: 14px;
    }
    
    .impro-prizes__dash {
        width: 35px;
        height: 2px;
    }
}

@media (max-width: 480px) {
    .impro-prizes__header,
    .impro-prizes__row {
        min-width: 600px;
        grid-template-columns: 200px 80px 80px 80px 80px 80px;
    }
    
    .impro-prizes__title {
        font-size: 24px;
    }
    
    .impro-prizes__icon {
        width: 50px;
        height: 50px;
        margin-bottom: 6px;
    }
    
    .impro-prizes__category-name {
        font-size: 11px;
    }
    
    .impro-prizes__benefit-title {
        font-size: 13px;
    }
    
    .impro-prizes__benefit-desc {
        font-size: 12px;
    }
    
    .impro-prizes__amount {
        font-size: 12px;
    }
}

/* ===== Application Steps section ===== */
.impro-application {
    padding: 80px 0;
    background: #fff;
}

.impro-application__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    color: #32343A;
    margin-bottom: 40px;
}

.impro-application__steps {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 40px 60px;
    max-width: 1293px;
    margin: 0;
    padding: 0;
}

.impro-application__step {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

/* Step positioning in grid */
.impro-application__step:nth-child(1) {
    grid-column: 1;
    grid-row: 1;
}

.impro-application__step:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
}

.impro-application__step:nth-child(3) {
    grid-column: 3;
    grid-row: 1;
}

.impro-application__step:nth-child(4) {
    grid-column: 1;
    grid-row: 2;
}

.impro-application__step:nth-child(5) {
    grid-column: 2;
    grid-row: 2;
}

.impro-application__step:nth-child(6) {
    grid-column: 3;
    grid-row: 2;
}

.impro-application__icon {
    margin-bottom: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Icon sizes based on Figma data */
.impro-application__step:nth-child(1) .impro-application__icon {
    width: 63.48px;
    height: 59.67px;
}

.impro-application__step:nth-child(2) .impro-application__icon {
    width: 64px;
    height: 60px;
}

.impro-application__step:nth-child(3) .impro-application__icon {
    width: 46px;
    height: 62px;
}

.impro-application__step:nth-child(4) .impro-application__icon {
    width: 69px;
    height: 62px;
}

.impro-application__step:nth-child(5) .impro-application__icon {
    width: 59px;
    height: 59px;
}

.impro-application__step:nth-child(6) .impro-application__icon {
    width: 38px;
    height: 58px;
}

.impro-application__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.impro-application__content {
    flex: 1;
}

.impro-application__step-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.06;
    color: #32343A;
    margin: 0 0 14px 0;
}

.impro-application__step-desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.06;
    color: #32343A;
    margin: 0;
}

/* Mobile responsive */
@media (max-width: 1200px) {
    .impro-application__steps {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px 40px;
    }
}

@media (max-width: 768px) {
    .impro-application {
        padding: 60px 0;
    }
    
    .impro-application__title {
        font-size: 28px;
        margin-bottom: 40px;
    }
    
    .impro-application__steps {
        display: flex;
        flex-direction: column;
        gap: 30px;
        max-width: 100vw;
        margin: 0;
        padding: 0;
    }
    
    .impro-application__step {
        padding: 20px;
        width: 100%;
        box-sizing: border-box;
    }
    
    .impro-application__icon {
        margin-bottom: 15px;
    }
    
    /* Unified icon size for mobile */
    .impro-application__step:nth-child(1) .impro-application__icon,
    .impro-application__step:nth-child(2) .impro-application__icon,
    .impro-application__step:nth-child(3) .impro-application__icon,
    .impro-application__step:nth-child(4) .impro-application__icon,
    .impro-application__step:nth-child(5) .impro-application__icon,
    .impro-application__step:nth-child(6) .impro-application__icon {
        width: 60px;
        height: 56px;
    }
    
    .impro-application__step-title {
        font-size: 20px;
    }
    
    .impro-application__step-desc {
        font-size: 13px;
    }
}

@media (max-width: 480px) {
    .impro-application__title {
        font-size: 24px;
        margin-bottom: 20px;
    }
    
    .impro-application__steps {
        gap: 25px;
    }
    
    .impro-application__step {
        padding: 15px;
    }
    
    /* Unified icon size for small mobile */
    .impro-application__step:nth-child(1) .impro-application__icon,
    .impro-application__step:nth-child(2) .impro-application__icon,
    .impro-application__step:nth-child(3) .impro-application__icon,
    .impro-application__step:nth-child(4) .impro-application__icon,
    .impro-application__step:nth-child(5) .impro-application__icon,
    .impro-application__step:nth-child(6) .impro-application__icon {
        width: 50px;
        height: 46px;
    }
    
    .impro-application__step-title {
        font-size: 18px;
    }
    
    .impro-application__step-desc {
        font-size: 12px;
    }
}

/* ===== Olympiad stages section ===== */
.impro-olympiad {
    padding: 0px 0;
    background: #fff;
}

.impro-olympiad__header {
    text-align: left;
    margin-bottom: 60px;
}

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

.impro-olympiad__subtitle {
    font-size: 18px;
    line-height: 1.4;
    color: #6B6E76;
    max-width: 600px;
    margin: 0;
}

.impro-olympiad__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    width: 100%;
    margin: 0;
}

.impro-olympiad__card {
    background: #F8F9FA;
    border-radius: 16px;
    padding: 15px;
    text-align: center;
    position: relative;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.impro-olympiad__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}

.impro-olympiad__card-icon {
    margin: 0 auto 4px;
    width: 60px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.impro-olympiad__card-title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 1.3;
    color: #7D61E6;
    margin-bottom: 4px;
}

.impro-olympiad__card-desc {
    font-size: 1em;
    line-height: 1.5;
    color: #32343A;
    margin-bottom: 15px;
    text-align: left;
}

.impro-olympiad__card-details {
    display: flex;
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
}

.impro-olympiad__detail {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    color: #32343A;
}

.impro-olympiad__detail svg {
    flex-shrink: 0;
}

/* Progress circle animations */
@keyframes progress-1 {
    0% { stroke-dashoffset: 157.08; }
    100% { stroke-dashoffset: 104.72; }
}

@keyframes progress-2 {
    0% { stroke-dashoffset: 157.08; }
    100% { stroke-dashoffset: 52.36; }
}

@keyframes progress-3 {
    0% { stroke-dashoffset: 157.08; }
    100% { stroke-dashoffset: 0; }
}

.progress-circle-1 {
    stroke-dashoffset: 157.08;
    transition: stroke-dashoffset 2s ease-out;
}

.progress-circle-2 {
    stroke-dashoffset: 157.08;
    transition: stroke-dashoffset 2s ease-out;
}

.progress-circle-3 {
    stroke-dashoffset: 157.08;
    transition: stroke-dashoffset 2s ease-out;
}

.impro-olympiad.animate .progress-circle-1 {
    stroke-dashoffset: 104.72;
}

.impro-olympiad.animate .progress-circle-2 {
    stroke-dashoffset: 52.36;
}

.impro-olympiad.animate .progress-circle-3 {
    stroke-dashoffset: 0;
}

/* Mobile responsive */
@media (max-width: 1024px) {
    .impro-olympiad__cards {
        grid-template-columns: 1fr;
        gap: 24px;
        max-width: 500px;
    }
}

@media (max-width: 768px) {
    .impro-olympiad {
        padding: 60px 0;
    }
    
    .impro-olympiad__header {
        margin-bottom: 40px;
    }
    
    .impro-olympiad__title {
        font-size: 28px;
    }
    
    .impro-olympiad__subtitle {
        font-size: 16px;
    }
    
    .impro-olympiad__card {
        padding: 24px 20px;
    }
    
    .impro-olympiad__card-title {
        font-size: 18px;
    }
    
    .impro-olympiad__card-desc {
        font-size: 15px;
    }
}

/* ===== Consultation Form (Figma matching) ===== */
.consultation-form {
    position: relative;
    padding: 80px 0;
    background: #fff;
}

.consultation-form__inner {
    display: flex;
    gap: 40px;
    max-width: 1326px;
    margin: 0 auto;
    background: #FFFFFF;
    border-radius: 20px;
    box-shadow: 0px 2px 12.7px 0px rgba(0, 0, 0, 0.09);
    padding: 40px;
    position: relative;
    overflow: hidden;
}

/* Background decorative elements */
.consultation-form__inner::before {
    content: '';
    position: absolute;
    top: -112px;
    left: 39px;
    width: 746px;
    height: 762px;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/consult-bg.svg') no-repeat center / contain;
    opacity: 0.1;
    pointer-events: none;
    z-index: 0;
}

.consultation-form__inner::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 100%;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/3D-Black-Chrome-Shape.webp') no-repeat left center / contain;
    opacity: 0.4;
    pointer-events: none;
    z-index: 0;
}

.consultation-form__left {
    flex: 0 0 45%;
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.consultation-form__content {
    flex: 0 0 auto;
}

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

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

.consultation-form__profile {
    display: block;
    align-items: center;
    gap: 20px;
    flex: 0 0 auto;
    margin-top: auto;
}

/* Скрыть мобильный профиль на десктопе */
.consultation-form__profile--mobile {
    display: none;
}

.consultation-form__avatar {
    flex: 0 0 136px;
    width: 136px;
    height: 136px;
    border-radius: 15px;
    overflow: hidden;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.06);
}

.consultation-form__avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 15px;
}

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

.consultation-form__name {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #32343A;
    margin: 15px 0 6px 0;
}

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

.consultation-form__right {
    flex: 1;
    position: relative;
    z-index: 1;
}

.consultation-form__form {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.form-group {
    position: relative;
}

.form-input,
.form-textarea {
    width: 100%;
    border: none;
    border-bottom: 1px solid #AAAAAA;
    background: transparent;
    padding: 12px 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #32343A;
    outline: none;
    transition: border-color 0.3s ease;
}

.form-input::placeholder,
.form-textarea::placeholder {
    color: #AAAAAA;
    font-weight: 600;
}

.form-input:focus,
.form-textarea:focus {
    border-bottom-color: #634EA2;
}

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

.form-select-wrapper {
    position: relative;
}

.form-select {
    width: 100%;
    border: none;
    border-bottom: 1px solid #AAAAAA;
    background: transparent;
    padding: 12px 30px 12px 0;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #AAAAAA !important;
    outline: none;
    appearance: none;
    cursor: pointer;
    transition: border-color 0.3s ease;
}

.form-select:focus {
    border-bottom-color: #634EA2;
}

.form-select:not([value=""]) {
    color: #32343A;
}

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

.consultation-form__btn {
    width: 100%;
    height: 42px;
    background: linear-gradient(256deg, #9AB1D5 4.16%, #4B4E55 146.18%);
    border: none;
    border-radius: 27px;
    color: #FFFFFF;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 20px;
}

.consultation-form__btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(75, 78, 85, 0.25);
}

.consultation-form__disclaimers {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.consultation-form__checkbox {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    cursor: pointer;
    position: relative;
}

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

.checkmark {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    background: #F3F3F3;
    border-radius: 4px;
    position: relative;
    margin-top: 2px;
}

.consultation-form__checkbox input[type="checkbox"]:checked + .checkmark {
    background: #634EA2;
}

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

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

.consultation-form__required-note {
    margin-top: 8px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 10px;
    line-height: 1.17;
    color: #AAAAAA;
}

.asterisk {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 1.17;
    color: #AAAAAA;
}


/* Mobile responsive */
@media (max-width: 1200px) {
    .consultation-form__inner {
        flex-direction: column;
        gap: 30px;
        padding: 30px;
    }
    
    .consultation-form__left {
        flex: none;
    }
    
    .consultation-form__title {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    .consultation-form {
        padding: 60px 0;
    }
    
    /* prevent box-shadow clipping on mobile */
    .consultation-form__inner {
        overflow: visible;
    }
    
    .consultation-form__title {
        font-size: 28px;
        margin-bottom: 20px;
    }
    
    .consultation-form__subtitle {
        font-size: 14px;
    }
    
    /* Скрыть оригинальный профиль на мобильных устройствах */
    .consultation-form__profile {
        display: none;
    }
    
    /* Показать мобильный профиль */
    .consultation-form__profile--mobile {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 16px;
        margin: 40px 0 0 0;
        padding: 0;
        background: none;
        border-radius: 0;
    }
    
    .consultation-form__profile--mobile .consultation-form__avatar {
        width: 30vw;
        height: 30vw;
        max-width: 115px;
        max-height: 115px;
        flex: 0 0 auto;
    }
    
    .consultation-form__profile--mobile .consultation-form__name {
        font-size: clamp(14px, 4.2vw, 16px);
        margin: 0 0 4px 0;
        font-weight: 600;
    }
    
    .consultation-form__profile--mobile .consultation-form__position {
        font-size: clamp(10px, 3.2vw, 12px);
        margin: 0;
        font-weight: 500;
    }
    
    .form-input,
    .form-textarea,
    .form-select {
        font-size: 14px;
    }
    
    /* Уровень образования на мобильных устройствах */
    .consultation-form__form .form-select {
        font-size: 16px;
    }
    
    .consultation-form__btn {
        height: 48px;
        font-size: 14px;
    }
    
    .checkbox-text {
        font-size: 12px;
    }
}

@media (max-width: 480px) {
    .consultation-form__title {
        font-size: 24px;
    }
    
    .consultation-form__subtitle {
        font-size: 13px;
    }
    
    .consultation-form__avatar {
        width: 80px;
        height: 80px;
        flex: 0 0 80px;
    }
    
    .consultation-form__name {
        font-size: 14px;
    }
    
    .consultation-form__position {
        font-size: 13px;
    }
    
    .form-input,
    .form-textarea,
    .form-select {
        font-size: 13px;
        padding: 10px 0;
    }
    
    .consultation-form__btn {
        height: 44px;
        font-size: 13px;
    }
}


/* End */


/* Start:/local/templates/ranepa_im2/assets2/css/mba.css?176493214156807*/
/* =============================
   MBA page — hero block only
   Scoped styles to avoid conflicts
   ============================= */

.mba-page .mba-hero__card {
    position: relative;
    min-height: 338px; /* Figma frame height */
    max-height: 388px;
    border-radius: 20px;
    padding: 17px; /* Figma left/top padding */
    color: #FFFFFF;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    overflow: hidden;
}

.mba-page .mba-hero__bg {
    position: absolute;
    inset: 0;
    z-index: -1;
    border-radius: 20px;
}

.mba-page .mba-hero__bg img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.mba-page .mba-hero__bg ._view2 { display: none; }

.mba-page .mba-hero__title {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 48px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    margin: 0;
    max-width: 735px; /* from Figma */
}

.mba-page .mba-hero__bottom {
    margin-top: auto; /* push to bottom */
    padding-top: 20px;
}

.mba-page .mba-hero__desc {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    margin: 0;
    max-width: 492px; /* from Figma */
}

.mba-page .mba-hero__nav {
    display: grid;
    grid-template-columns: 303px 1fr; /* button width from Figma */
    align-items: center;
    gap: 14px;
    margin-top: 18px;
}

.mba-page .mba-hero__btn {
    height: 43px; /* Figma: 43.24 */
    border-radius: 22px; /* Figma: 22.5 */
    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: 16px; /* Figma: 16.6 */
    line-height: 1.2;
    transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

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

/* Facts row (duration, cost, start) */
.mba-page .mba-hero__facts {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
}

.mba-page .mba-hero__fact {
    display: grid;
    grid-template-columns: 22px auto;
    align-items: center;
    column-gap: 10px;
}

.mba-page .mba-hero__fact img {
    width: 28px;
    height: 28px;
    display: block;
}

.mba-page .mba-hero__fact-value {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 12.6px; /* Figma: 12.57 */
    line-height: 1.2;
}

.mba-page .mba-hero__fact-label {
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 7.9px; /* Figma: 7.86 */
    line-height: 1.2;
    opacity: 0.9;
}

/* Responsive */
@media screen and (max-width: 992px) {
    .mba-page .mba-hero__card { font-size: 0.9em; }
    .mba-page .mba-hero__title { font-size: 40px; }
}

@media screen and (max-width: 576px) {
    .mba-page .mba-hero__card {
        height: 29.8em; /* visual parity with other banners */
        padding: 12px;
        font-size: 1em;
        border-radius: 14px;
        max-height: 480px;
    }
    .mba-page .mba-hero__bg ._view1 { display: none; }
    .mba-page .mba-hero__bg ._view2 { display: block; }
    .mba-page .mba-hero__title { font-size: 32px; }
    .mba-page .mba-hero__nav {
        grid-template-columns: 1fr; /* stack */
        gap: 10px;
        margin-top: 12px;
        display: flex;
        flex-direction: column;
    }
    
    .mba-page .mba-hero__facts {
        order: 1;
    }
    
    .mba-page .mba-hero__btn {
        order: 2;
        width: 100%;
        margin-top: 15px;
    }
    .mba-page .mba-hero__facts { 
        gap: 14px; 
        width: 100%;
        display: flex;
        flex-direction: column;
    }
    .mba-page .mba-hero__fact { 
        grid-template-columns: 36px auto; 
        width: 100%;
    }
    .mba-page .mba-hero__fact img { width: 36px; height: 36px; }
    .mba-page .mba-hero__fact-value { font-size: 17.12px; } /* 20% increase from 12.6px */
    .mba-page .mba-hero__fact-label { font-size: 12.48px; } /* 20% increase from 7.9px */
}

/* MBA Stats Block - Unique classes to avoid conflicts with im-proffesional page */
.mba-stats {
    background-color: #fff;
    height: 150px;
    padding: 0;
    margin-top: 86px;
}

.mba-stats__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2.5em;
    position: relative;
    align-items: center;
}

.mba-stats__item {
    position: relative;
    padding: 0px 1.5em 0 0.5em !important;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    height: 100%;
}

.mba-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);
}

.mba-stats__value {
    font-size: 1.8125em;
    line-height: 120%;
    font-weight: 700;
    font-family: Raleway, sans-serif;
    text-align: left;
}

.mba-stats__label {
    margin-top: 10px;
    font-size: 1em;
    line-height: 120%;
    color: #32343a;
    font-family: Raleway, sans-serif;
    text-align: left;
}

@media screen and (max-width: 992px) {
    .mba-stats__list {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5em 1em;
    }
    .mba-stats__item:not(:last-child):after {
        display: none;
    }
}

@media screen and (max-width: 576px) {
    .mba-stats {
        padding: 0;
        margin-top: 46px;
    }
    
    .mba-stats-slider .swiper-container {
        height: 150px;
        padding-bottom: 16px;
        overflow: visible;
    }
    
    .mba-stats__list {
        display: flex;
    }
    
    .mba-stats__item {
        width: auto;
        height: 150px;
    }
    
    .mba-stats__scrollbar {
        display: block;
    }

    .mba-stats__item:not(:last-child):after {
        display: block;
        height: 130px;
        bottom: 10px;
        top: auto;
        transform: none;
    }
    
    .mba-stats__value {
        font-size: 1.4125em;
    }
    
    .mba-stats__label {
        font-size: 0.8em;
    }
}

/* =============================
   MBA page — Gray gradient classes
   Based on Figma design
   ============================= */

/* Gray gradient for MBA page statistics values */
.mba-text-gradient {
    background: linear-gradient(18deg, rgba(154, 177, 213, 1) 12%, rgba(75, 78, 85, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Also support with mba-page prefix for backward compatibility */
.mba-page .mba-text-gradient {
    background: linear-gradient(18deg, rgba(154, 177, 213, 1) 12%, rgba(75, 78, 85, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Alternative class name for consistency */
.mba-page .mba-stats-gradient {
    background: linear-gradient(18deg, rgba(154, 177, 213, 1) 12%, rgba(75, 78, 85, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* Override impro-text-gradient for MBA page */
.mba-page .impro-text-gradient {
    background: linear-gradient(18deg, rgba(154, 177, 213, 1) 12%, rgba(75, 78, 85, 1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}

/* =============================
   MBA page — Running line
   Based on Figma design
   ============================= */

.mba-running-line {
    width: 100%;
    height: 4.375em; /* 70px equivalent */
    background: linear-gradient(90deg, #8090AB 0%, #9AB1D5 100%);
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    margin-top: 2.5em; /* 40px equivalent */
}

.mba-running-line__container {
    width: 100%;
    height: 100%;
    position: relative;
}

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

.mba-running-line__text {
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 1.125em; /* 18px equivalent */
    line-height: 1.2;
    color: #FFFFFF;
    margin-right: 3.75em; /* 60px spacing between repetitions */
    display: inline-block;
}

/* Background pattern overlay */
.mba-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/bglinerunstring.svg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0.8;
    z-index: 1;
}

.mba-running-line__content {
    z-index: 2;
    position: relative;
}

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

/* Responsive adjustments */
@media screen and (max-width: 768px) {
    .mba-running-line {
        height: 3.5em; /* 56px on mobile */
    }
    
    .mba-running-line__text {
        font-size: 1em; /* 16px on mobile */
        margin-right: 2.5em; /* 40px spacing on mobile */
    }
    
    .mba-running-line__content {
        animation: mba-running-line 4.5s linear infinite; /* 8x faster on mobile */
    }
}

@media screen and (max-width: 576px) {
    .mba-running-line {
        height: 3em; /* 48px on small mobile */
    }
    
    .mba-running-line__text {
        font-size: 0.875em; /* 14px on small mobile */
        margin-right: 2em; /* 32px spacing on small mobile */
    }
}

/* =============================
   MBA page — Payment block (pixel-perfect)
   Figma node 12242:1441
   ============================= */

.mba-pay { margin: 1.875em 0 0 0; }
.mba-pay .container { position: relative; }
.mba-pay__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.25em; /* 20px */
}

.mba-pay__card {
    position: relative;
    height: 19.5em; /* 312px */
    border-radius: 1.25em; /* 20px */
    overflow: hidden;
}

/* Left light card */
.mba-pay__card--left {
    background: #F5F5F5;
}
.mba-pay__card--left:before {
    content: "";
    position: absolute; inset: 0; pointer-events: none;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bgline.svg') center/cover no-repeat;
}
.mba-pay__left-content {
    position: relative; z-index: 2;
    padding: 1.25em 1.25em 0 1.25em; /* 20px top/sides, 0 bottom */
    display: flex; flex-direction: column; align-items: flex-start;
}
.mba-pay__caption {
    margin: 0 0 .25em 0;
    font-family: Raleway, sans-serif; font-weight: 600; font-size: 1em; line-height: 1.2;
    color: #6B7C9F;
}
.mba-pay__price {
    font-family: Raleway, sans-serif; font-weight: 700;
    font-size: 2.25em; /* 36px */
    line-height: 1.1; letter-spacing: -0.01em;
    background: linear-gradient(180deg, #758399 0%, #95AACD 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
    margin-bottom: 0;
}
.mba-pay__left-bottom {
    position: absolute; bottom: 1.25em; left: 1.25em; z-index: 2;
    display: flex; flex-direction: column; gap: .75em;
    max-width: 17.5em; /* 280px */
}
.mba-pay__subnote { 
    margin: 0; 
    font-family: Raleway, sans-serif; font-weight: 600; font-size: .75em; line-height: 1.2; color: #9AA7BD;
}
.mba-pay__btn {
    display: inline-flex; align-items: center; justify-content: center;
    height: 2.6875em; /* 43px */
    padding: 0 1.5em; border-radius: 1.375em; /* 22px */
    background: linear-gradient(90deg, #899CBA 0%, #9AB1D5 100%); color: #fff; text-decoration: none;
    font-family: Raleway, sans-serif; font-weight: 700; font-size: 1em; line-height: 1.2;
    transition: transform .2s ease, box-shadow .2s ease;
}
.mba-pay__btn:hover { 
    transform: translateY(-2px); 
    box-shadow: 0 8px 24px rgba(0,0,0,.12);
    background: linear-gradient(90deg, #899CBA 0%, #9AB1D5 100%);
    color: #fff;
}

.mba-pay__coins {
    position: absolute; right: 1.5em; bottom: .5em; height: 90%; width: auto; z-index: 1;
}

/* Right dark card */
.mba-pay__card--right {
    color: #EDEFF6;
    background: #48484C; /* base under svg */
}
.mba-pay__card--right:before {
    content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bgrightmbacard.svg') center/cover no-repeat;
}
.mba-pay__title-right {
    position: relative; z-index: 1; margin: 1.25em;
    font-family: Raleway, sans-serif; font-weight: 500; font-size: 1.2em; line-height: 1.25;
}
.mba-pay__bullets {
    position: relative; z-index: 1; list-style: none; margin: 0; padding: 0 1.25em 1.25em 1.25em;
    display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 0.45em;
    align-items: start;
}
.mba-pay__bullet { 
    display: grid; 
    column-gap: .5em;
    align-items: start;
}
.mba-pay__bullet:before {
    content: ""; width: 1.125em; height: 1.125em; margin-top: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/grayquard.svg') center/contain no-repeat;
    align-self: start;
}
.mba-pay__bullet-title {
    grid-column: 2 / 3; font-family: Raleway, sans-serif; font-weight: 700; font-size: .875em; line-height: 1.2; margin: 0 0 10px 0;
    height: 2.1em; /* Фиксированная высота 2 строки для выравнивания текста по одной горизонтальной линии */
}
.mba-pay__bullet-text {
    grid-column: 2 / 3; font-family: Raleway, sans-serif; font-weight: 500; font-size: .75em; line-height: 1.2; opacity: .9;
}

/* Responsive */
@media screen and (max-width: 1100px) {
    .mba-pay__bullets { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 768px) {
    .mba-pay__grid { grid-template-columns: 1fr; }
    .mba-pay__coins { right: .75em; width: 10.5em; }
    .mba-pay__bullets { grid-template-columns: 1fr; }
    article.mba-pay__card.mba-pay__card--right { height: auto; }
}

/* =============================
   MBA page — About block (pixel-perfect)
   Matches Figma: node 11017:18196
   ============================= */

.oneday-about--mba .oneday-about__card {
    position: relative;
    background: #FFFFFF;
    border-radius: 1.25em; /* 20px */
    padding: 1.5em; /* 24px to match spacing in mock */
    box-shadow: 0 0 0 1px rgba(0,0,0,0.06) inset;
    overflow: hidden;
}

.oneday-about--mba .oneday-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;
}

.oneday-about--mba .mba-about__title {
    margin: 0; /* per mock, spacing handled by grid */
    font-family: Raleway, sans-serif;
    font-weight: 700;
    font-size: 2.25em; /* 36px */
    line-height: 1.1;
    letter-spacing: -0.02em;
}

.oneday-about--mba .oneday-about__content { position: relative; z-index: 1; }
.oneday-about--mba .oneday-about__content p {
    margin: 0 0 1em 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 1em; /* 16px */
    line-height: 1.2;
    color: #32343A;
}

/* Two-column 50/50 layout inside card */
.oneday-about--mba .mba-about__layout {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr; /* 50/50 */
    gap: 1.5em; /* 24px */
    min-height: 18.5em; /* keep right text bottom-aligned area */
}
.oneday-about--mba .mba-about__left { display: flex; flex-direction: column; align-items: flex-start; }
.oneday-about--mba .mba-about__right { display: flex; align-items: flex-end; }

/* Left column text under title */
.oneday-about--mba .mba-about__text {
    margin-top: .9em;
}
.oneday-about--mba .mba-about__text p {
    margin: 0 0 1em 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 1em;
    line-height: 1.2;
    color: #32343A;
}

/* Right column: restored oneday-about__content bottom-aligned */
.oneday-about--mba .oneday-about__content--stat {
    background-color: #2E2F33;
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bggallup.webp');
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: cover;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* top text at top, note at bottom */
    min-height: 8.5em; 
    border-radius: 1.25em; /* 20px */
    padding: 1.25em 1.5em;
    padding-right: 2.5em; /* keep text away from image */
    width: 100%;
}
.oneday-about--mba .oneday-about__stat-text {
    font-family: Raleway, sans-serif;
    font-weight: 700;
    font-size: 1.125em; /* 18px */
    line-height: 1.2;
}
.oneday-about--mba .oneday-about__stat-note {
    margin-top: .6em;
    opacity: .8;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: .8125em; /* 13px */
}

/* Grid simplification for MBA: only text card, no slider */
.oneday-about--mba .oneday-about__grid {
    grid-template-columns: 1fr;
    border: 1px solid #AAAAAA; /* requested */
    border-radius: 20px;       /* requested */
    overflow: hidden;          /* keep children within rounded corners */
}
.oneday-about--mba .about-media-slider { display: none; }

@media screen and (max-width: 992px) {
    .oneday-about--mba .mba-about__layout { grid-template-columns: 1fr; }
}

@media screen and (max-width: 576px) {
    .oneday-about--mba .oneday-about__card { border-radius: .9em; padding: 1em; }
    /* Title: 20px from Figma -> 1.25em, line-height 1.06, letter-spacing -2% */
    .oneday-about--mba .mba-about__title { 
        font-size: 1.45em; 
        line-height: 1.06; 
        letter-spacing: -0.02em; 
    }
    /* Body text: 10px from Figma -> 0.625em, line-height 1.2 */
    .oneday-about--mba .mba-about__text p { 
        font-size: 0.825em; 
        line-height: 1.2; 
    }
    /* Stat block text: 14px -> 0.875em; note: 10px -> 0.625em */
    .oneday-about--mba .oneday-about__stat-text { 
        font-size: 0.875em; 
        line-height: 1.06; 
    }
    .oneday-about--mba .oneday-about__stat-note { 
        font-size: 0.625em; 
        line-height: 1.06; 
    }
    .oneday-about--mba .mba-about__layout { gap: 1em; }

    /* Mobile: apply 0.6 opacity overlay to background without affecting text */
    .oneday-about--mba .oneday-about__content--stat { position: relative; }
    .oneday-about--mba .oneday-about__content--stat::before {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(46, 47, 51, 0.6);
        border-radius: inherit;
        z-index: 0;
        pointer-events: none;
    }
    .oneday-about--mba .oneday-about__content--stat > * { position: relative; z-index: 1; }
}

/* =============================
   MBA page — Audience section (Figma 12184:1406)
   ============================= */
.mba-audience { margin-top: 60px; }
.mba-audience__title {
    margin: 0 0 .75em 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 2.25em; /* 36px */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}
.mba-audience__grid { display: grid; grid-template-columns: 564px 1fr; gap: 1.25em; }

/* Left column */
.mba-audience__left { display: grid; grid-template-rows: 197px 197px; gap: 1.25em; }
.mba-audience__box { border-radius: 20px; overflow: hidden; position: relative; }
.mba-audience__box--lines {
    background: #32343A;
    color: #fff;
}
.mba-audience__box--lines:before {
    content: "";
    position: absolute; inset: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bgmbadlyakogo.svg') center/cover no-repeat;

}
.mba-audience__box-text { position: relative; z-index: 1; padding: 15px; font-family: Raleway, sans-serif; font-weight: 600; font-size: 1.25em; line-height: 1.2; }
.mba-audience__box--photo { background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bgkak2.webp') center/cover no-repeat; }

/* Right panel */
.mba-audience__panel { background: #F5F5F5; border-radius: 20px; height: 411px; position: relative; }
.mba-audience__list { list-style: none; margin: 0; padding: 37px 20px; display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
.mba-audience__list li { display: flex; align-items: flex-start; column-gap: 10px; font-family: Raleway, sans-serif; font-weight: 600; font-size: 1em; color: #32343A; }
.mba-audience__bullet { flex: 0 0 15px; width: 15px; height: 15px; display: inline-block; }

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

@media screen and (max-width: 576px) {
    .mba-audience { margin-top: 40px; }
    .mba-audience__title { font-size: 1.25em; }
    .mba-audience__left { grid-template-rows: 160px 160px; }
    .mba-audience__box-text { font-size: 0.875em; }
    .mba-audience__panel { height: auto; }
    .mba-audience__list { gap: 10px; }
    
}


/* =============================
   MBA page — Learn block (Figma 12209:1448)
   ============================= */
.mba-learn { margin-top: 40px; }
.mba-learn__title {
    margin: 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 2.25em; /* 36px */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}
.mba-learn__subtitle {
    margin: 12px 0 0 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 1.5625em; /* 25px */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
}
.mba-learn__panel {
    margin-top: 25px;
    background: #F5F5F5;
    border-radius: 20px;
    padding: 17px 29px 17px 29px;
}
.mba-learn__grid {
    display: grid;
    grid-template-columns: 419px 352px 1fr; /* 425/367/374 minus inner paddings */
    gap: 37px 32px; /* row gap ~126 group spacing => 32 horizontally, 37 vertically */
}
.mba-learn__item { display: grid; grid-template-columns: 20px 1fr; align-items: start; }
.mba-learn__num {
    font-family: Raleway, sans-serif;
    font-weight: 700;
    font-size: 29px;
    line-height: 1.51;
}
.mba-learn__text {
    margin-left: 10px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.2;
    color: #595959;
}

@media screen and (max-width: 1200px) {
    .mba-learn__grid { grid-template-columns: 1fr 1fr; }
}
@media screen and (max-width: 768px) {
    .mba-learn__title { font-size: 1.5em; }
    .mba-learn__subtitle { font-size: 1em; }
    .mba-learn__grid { grid-template-columns: 1fr; gap: 18px; }
}

/* =============================
   MBA page — Program structure (Figma 12214:1452)
   Pixel-perfect block
   ============================= */
.mba-structure { margin-top: 40px; }
.mba-structure__head { margin-bottom: 16px; }
.mba-structure__title {
    margin: 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 2.25em; /* 36px */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}
.mba-structure__intro {
    margin-top: 12px;
    max-width: 940px;
    font-family: Raleway, sans-serif;
    font-weight: 600; /* semibold */
    font-size: 1.5625em; /* 25px to match .mba-learn__subtitle */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
}

/* Desktop slider for structure modules */
.mba-structure__slider {
    display: block;
}

.mba-structure__slider .swiper-container {
    overflow: visible;
}

.mba-structure__slider .swiper-wrapper {
    display: flex;
    align-items: stretch;
    padding-bottom: 20px;
}

.mba-structure__slider .swiper-slide {
    width: 325px;
    height: auto;
    display: flex;
    align-items: stretch;
}

.mba-structure__slider .swiper-slide > * {
    width: 100%;
    height: 100%;
    flex: 1;
}

.mba-structure__slider .swiper-scrollbar {
    height: 6px;
    margin-top: 20px;
    border-radius: 10px;
    background: #F5F5F5;
}

.mba-structure__slider .swiper-scrollbar-drag {
    border-radius: 10px;
    background: #AFB0B2;
}

.structure-card {
    background: #FFFFFF;
    border-radius: 20px;
    padding: 16px 18px 18px 18px;
    position: relative;
    box-shadow: 0 0 0 1px rgba(0,0,0,0.06) inset;
    overflow: hidden;
    height: 100%;
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.structure-card__section { margin-top: 10px; }
.structure-card__section:first-child {
    margin-top: 0;
    padding-top: 10px;
    padding-bottom: 10px;
}
.structure-card__section:last-child {
    margin-top: auto;
    padding-top: 15px;
}
.structure-card:before {
    content: "";
    position: absolute; inset: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bglinemba.svg') center/cover no-repeat;
    opacity: .12;
    pointer-events: none;
}
.structure-card__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.structure-card__badge {
    height: 24px; padding: 0 10px; border-radius: 100px; background: linear-gradient(135deg, #8BB3E8 0%, #A8C8F0 50%, #B8D2F5 100%); color: #FFFFFF;
    display: inline-flex; align-items: center; justify-content: center;
    font-family: Raleway, sans-serif; font-weight: 600; font-size: 12px; line-height: 1;
}
.structure-card__time { display: inline-flex; align-items: center; gap: 6px; color: #8E8E8E; font-family: Raleway, sans-serif; font-weight: 600; font-size: 12px; }
.structure-card__time img { width: 12px; height: 12px; }

.structure-card__title {
    margin: 0 0 10px 0;
    font-family: Raleway, sans-serif;
    font-weight: 700;
    font-size: 1.25em; /* 20px */
    line-height: 1.2;
    color: #32343A;
    min-height: 4.5em; /* 3 строки: font-size * line-height * 3 = 1.25em * 1.2 * 3 = 4.5em */
}

.structure-card__section { margin-top: 10px; }
.structure-card__section:first-child {
    margin-top: 0;
    padding-top: 10px;
    padding-bottom: 10px;
}
.structure-card__section:last-child {
    margin-top: auto;
    padding-top: 15px;
}
.structure-card__section-title {
    display: inline-flex; align-items: center; gap: 8px; margin: 0 0 8px 0;
    font-family: Raleway, sans-serif; font-weight: 700; font-size: 14px; color: #32343A;
}
/* Icons for section titles */
.structure-card__section-title.is-disciplina:before { content: ""; width: 14px; height: 14px; background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/disciplina.svg') center/contain no-repeat; display: inline-block; }
.structure-card__section-title.is-attestacia:before { content: ""; width: 14px; height: 14px; background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/attestacia.svg') center/contain no-repeat; display: inline-block; }
.structure-card__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.structure-card__list li { position: relative; padding-left: 18px; font-family: Raleway, sans-serif; font-weight: 600; font-size: 12px; color: #595959; line-height: 1.2; }
.structure-card__list li:before { content: ""; position: absolute; left: 0; top: 2px; width: 14px; height: 14px; background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/grayquard.svg') center/contain no-repeat; }
.structure-card__note { font-family: Raleway, sans-serif; font-weight: 600; font-size: .75em; color: #000000; margin-top: auto; }
.structure-card__footnote {
    margin-top: 8px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 5px;
    line-height: 1.2;
    color: #DADADA;
}

/* Final attestation card - full width on desktop */
.structure-card--final {
    grid-column: 1 / -1;
}

/* Final attestation card - text alignment */
.structure-card--final .structure-card__note {
    margin-top: 0;
}

/* Footnote under grid */
.mba-structure__footnote {
    margin-top: 8px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 9px;
    line-height: 1.2;
    color: #DADADA;
}

@media screen and (max-width: 576px) {
    .mba-structure__title { font-size: 1.25em; }
    .mba-structure__intro { font-size: 1em; line-height: 1.06; letter-spacing: -0.02em; }
    .mba-structure__slider .swiper-slide { 
        width: 90% !important;
    }
    .structure-card { border-radius: 14px; padding: 12px; }
    .structure-card__title { 
        font-size: 1.0625em;
        min-height: 3.825em; /* 3 строки для мобильной версии: 1.0625em * 1.2 * 3 = 3.825em */
    }
}


/* =============================
   MBA page — How it works (Figma 11017:20734)
   ============================= */
.mba-how { margin-top: 30px; }
.mba-how__title {
    margin: 0 0 14px 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 2.25em; /* 36px */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}
.mba-how__panel { 
    background: #F5F5F5; 
    border-radius: 20px; 
    padding: 20px; 
    display: grid; 
    grid-template-columns: 600px 1fr; 
    gap: 20px; 
    align-items: stretch;
    /* Safari compatibility */
    -webkit-grid-template-columns: 600px 1fr;
}
/* left column is implicit grid cell; reserved for potential modifiers */
.mba-how__left { display: block; }
/* Переключение карточек через radio buttons */
.mba-how__card {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    min-height: 100%;
    display: none;
}

/* Показываем карточку, когда соответствующий radio выбран */
#tile-sdo:checked ~ .mba-how__card[data-card="sdo"],
#tile-mts:checked ~ .mba-how__card[data-card="mts"],
#tile-telegram:checked ~ .mba-how__card[data-card="telegram"] {
    display: block;
}

.mba-how__card img { 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    display: block; 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    z-index: 0; 
}
.mba-how__card::before { 
    content: ""; 
    position: absolute; 
    top: 0; 
    left: 0; 
    right: 0; 
    bottom: 0; 
    background: linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,0.55) 100%); 
    z-index: 1; 
}
.mba-how__card-content { position: absolute; left: 13px; right: 13px; bottom: 13px; color: #fff; z-index: 2; }
.mba-how__card-title { font-family: Raleway, sans-serif; font-weight: 700; font-size: 20px; line-height: 1.2; margin: 0 0 8px 0; }
.mba-how__card-desc { font-family: Raleway, sans-serif; font-weight: 600; font-size: 15px; line-height: 1.2; max-width: 480px; }

.mba-how__facts { list-style: none; margin: 0 14px 14px 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
.mba-how__fact { display: grid; grid-template-columns: 22px 1fr; align-items: center; column-gap: 8px; font-family: Raleway, sans-serif; font-weight: 600; font-size: 18.6px; color: #32343A; }
.mba-how__icon img { width: 24px; height: 24px; }

.mba-how__tiles { display: grid; grid-template-columns: 1fr; gap: 10px; margin: 0; }
.how-tile { 
    background: #FFFFFF; 
    border-radius: 15px; 
    padding: 12px 20px; 
    font-family: Raleway, sans-serif; 
    font-weight: 600; 
    font-size: 18.6px; 
    color: #32343A; 
    cursor: pointer;
    display: block;
}
.how-tile--gray { background: #E5E5E5; }

/* Начальное состояние - первый tile активен */
.mba-how__tiles label[for="tile-sdo"] {
    background: #E5E5E5;
}

/* Переключение активного состояния tiles через radio */
.mba-how__panel:has(#tile-sdo:checked) .mba-how__tiles label[for="tile-sdo"],
.mba-how__panel:has(#tile-mts:checked) .mba-how__tiles label[for="tile-mts"],
.mba-how__panel:has(#tile-telegram:checked) .mba-how__tiles label[for="tile-telegram"] {
    background: #E5E5E5;
}

/* Убираем активное состояние с других tiles */
.mba-how__panel:has(#tile-sdo:checked) .mba-how__tiles label[for="tile-mts"],
.mba-how__panel:has(#tile-sdo:checked) .mba-how__tiles label[for="tile-telegram"],
.mba-how__panel:has(#tile-mts:checked) .mba-how__tiles label[for="tile-sdo"],
.mba-how__panel:has(#tile-mts:checked) .mba-how__tiles label[for="tile-telegram"],
.mba-how__panel:has(#tile-telegram:checked) .mba-how__tiles label[for="tile-sdo"],
.mba-how__panel:has(#tile-telegram:checked) .mba-how__tiles label[for="tile-mts"] {
    background: #FFFFFF;
}
.how-tile__info { 
    width: 21px; 
    height: 21px; 
    display: inline-block; 
    margin-left: 5px; 
    position: relative;
    cursor: pointer;
    vertical-align: middle;
}

/* Tooltip styles */
.how-tile__info::before {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    background: #333;
    color: white;
    padding: 8px 12px;
    border-radius: 6px;
    font-size: 14px;
    line-height: 1.4;
    white-space: nowrap;
    max-width: 300px;
    width: 300px;
    white-space: normal;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
    margin-bottom: 8px;
}

.how-tile__info::after {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #333;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
    margin-bottom: 3px;
}

.how-tile__info:hover::before,
.how-tile__info:hover::after {
    opacity: 1;
    visibility: visible;
}

@media screen and (max-width: 992px) {
    .mba-how__panel { 
        grid-template-columns: 1fr; 
        -webkit-grid-template-columns: 1fr;
    }
    .mba-how__card { min-height: 260px; }
}


/* =============================
   MBA page — FAQ hidden questions
   ============================= */
.qa-card--hidden {
    display: none;
}

.qa-card--hidden.show {
    display: block;
}

/* =============================
   MBA page — Image gradient border
   ============================= */
.mba-img-gradient-border {
    /* Keep size within parent when border is added */
    box-sizing: border-box;
    display: block;
    /* Gradient 4px border */
    border: 4px solid transparent;
    background:
        linear-gradient(0deg, rgba(0,0,0,0), rgba(0,0,0,0)) padding-box,
        linear-gradient(135deg, #CFCFCF 0%, #8E8E8E 100%) border-box;
}

/* Utility to replace purple ring on wrapper with gray gradient ring */
.mba-page .impro-alla__photo.mba-gray-gradient-border,
.mba-page .impro-alla-horizontal__photo.mba-gray-gradient-border {
    box-sizing: border-box;
    border: 4px solid transparent;
    background:
        linear-gradient(0deg, rgba(255,255,255,1), rgba(255,255,255,1)) padding-box,
        linear-gradient(135deg, #CFCFCF 0%, #8E8E8E 100%) border-box;
    padding: 0;
}

/* =============================
   MBA page — Standards (Figma 12236:1406)
   Pixel-perfect block
   ============================= */
.mba-standards { margin-top: 40px; }
.mba-standards__head { margin-bottom: 14px; }
.mba-standards__title {
    margin: 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 36px; /* per figma */
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}
.mba-standards__subtitle {
    margin-top: 12px;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 25px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #DADADA;
}

.mba-standards__slider .swiper-container { overflow: visible; }
.mba-standards__slider .swiper-wrapper { padding-bottom: 18px; }
.mba-standards__slider .swiper-slide { width: 33.3333%; }

.standard-card {
    position: relative;
    background: #FFFFFF; /* white card background as requested */
    border-radius: 20px;
    padding: 18px 20px;
    min-height: 146px; /* figma row height */
    box-shadow: 0 0 0 1px rgba(0,0,0,0.06) inset;
    overflow: hidden;
}
.standard-card:before {
    content: "";
    position: absolute; inset: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/gerb.svg') right 20px bottom 10px/124px 124px no-repeat;
    opacity: 1;
    z-index: 0; /* place emblem under content */
    pointer-events: none;
}
.standard-card > * { position: relative; z-index: 1; }

/* Variants with background logos */
.standard-card--rics:before {
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba/Rics.svg');
    background-position: right 16px bottom 8px;
    background-size: 140px auto;
}
.standard-card--amba:before {
    background-image: url('/local/templates/ranepa_im2/assets2/css/../img/mba/AMBA.svg');
    background-position: right 12px bottom 8px;
    background-size: 150px auto;
}
.standard-card__title {
    margin: 0 0 8px 0;
    font-family: Raleway, sans-serif;
    font-weight: 700;
    font-size: 20px;
    line-height: 1.2;
    color: #32343A;
}
.standard-card__note {
    margin: 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    color: #8E8E8E;
    max-width: 740px;
}

/* Visible scrollbar both desktop and mobile */
.mba-standards__scrollbar {
    height: 4px;
    background: #F5F5F5;
}
.mba-standards__scrollbar .swiper-scrollbar-drag {
    background: #AFB0B2;
    border-radius: 7px;
}

@media screen and (max-width: 1200px) {
    .mba-standards__slider .swiper-slide { width: 50%; }
}
@media screen and (max-width: 768px) {
    .mba-standards__title { font-size: 1.25em; }
    .mba-standards__subtitle { font-size: 1em; }
    .mba-standards__slider .swiper-slide { width: auto; }
}

/* Mobile tweaks: no right margin between slides and equal card heights */
@media screen and (max-width: 576px) {
    .mba-standards__slider .swiper-slide { 
        margin-right: 0 !important; 
        display: flex; 
        width: 90% !important;
    }
    .mba-standards__slider .standard-card { height: 146px; }
}

/* Mobile: keep horizontal photo 80x80 even on small screens */
@media screen and (max-width: 768px) {
    .mba-page .impro-alla-horizontal__photo.mba-gray-gradient-border {
        width: 80px;
        height: 80px;
        flex: 0 0 80px;
    }
}
@media screen and (max-width: 480px) {
    .mba-page .impro-alla-horizontal__photo.mba-gray-gradient-border {
        width: 80px;
        height: 80px;
        flex: 0 0 80px;
    }
}

/* =============================
   MBA page — Diploma + Reviews (Figma 12347:1526)
   Pixel-perfect implementation
   ============================= */

.mba-diploma-reviews { margin-top: 30px; }
.mba-diploma-reviews__grid {
    display: grid;
    grid-template-columns: 569px 752px; /* Figma: 569 + 10 gap + 752 = 1331 */
    gap: 10px;
    align-items: stretch;
}

/* Left card: Diploma */
.mba-diploma-card {
    position: relative;
    height: 328px;
    border-radius: 20px;
    overflow: hidden;
    color: #FFFFFF;
    padding: 16px; /* 15-17 in figma */
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}
.mba-diploma-card::before { /* background image */
    content: "";
    position: absolute; inset: 0; z-index: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/diplom.png') right 0px bottom 0px/auto 100% no-repeat,
                linear-gradient(180deg, #7E8EA7 0%, #9AB1D5 100%);
    filter: saturate(1);
}
.mba-diploma-card__title {
    position: relative; z-index: 1;
    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: 1;
    margin: 0;
    max-width: 320px; /* match visual width */
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 1.2;
}

/* Right card: Reviews container */
.mba-reviews-card {
    position: relative;
    min-height: 328px;
    border-radius: 20px;
    background: #FAFAFA;
    box-shadow: 0 0 0 1px #E2E2E2 inset;
    padding: 16px 16px 20px 16px;
    display: flex; flex-direction: column;
    overflow: hidden; /* keep slider inside rounded card */
}
.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; }

/* Nav buttons in teacher-card style */
.reviews-nav { display: flex; align-items: center; gap: 14px; }
.reviews-nav__btn { 
    width: 38px; 
    height: 38px; 
    border-radius: 1.266em; /* same as teacher-card */
    display: grid; 
    place-items: center; 
    background: #f5f5f5; /* same as teacher-card */
    border: 1px solid #d7d7d8; /* subtle border like teacher cards */
    cursor: pointer; 
    transition: background-color 0.2s ease;
}
.reviews-nav__btn:hover { 
    background: #e0e1e5; /* hover state like teacher-card links */
}
.reviews-nav__btn:active { 
    transform: translateY(0.5px); 
}

/* Slider area */
.reviews-slider { 
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.reviews-slider .swiper-container { 
    overflow: visible;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
/* Within the MBA card, clip the slider to the card */
.mba-reviews-card .reviews-slider .swiper-container { 
    overflow: hidden;
    flex: 1;
    display: flex;
    flex-direction: column;
    min-height: 0;
}
.mba-reviews-card .reviews-slider .swiper-wrapper { 
    align-items: stretch; 
    justify-content: flex-start; 
    padding-left: 20px; /* left margin for first slide */
    padding-bottom: 20px; /* space for scrollbar */
}
.reviews-slider .swiper-wrapper { 
    align-items: stretch; 
    justify-content: flex-start; 
    padding-left: 20px; /* left margin for first slide */
}
.reviews-slider .swiper-slide { height: auto; width: 460px !important; flex-shrink: 0; }
.mba-reviews-card .reviews-slider .swiper-scrollbar { 
    position: relative !important;
    height: 4px !important; 
    background: #F5F5F5 !important; 
    margin-top: 10px !important;
    width: 100% !important;
    flex-shrink: 0;
}
.reviews-slider .swiper-scrollbar { height: 4px; background: #F5F5F5; margin-top: 10px; }
.reviews-slider .swiper-scrollbar-drag { border-radius: 14px; background: #AFB0B2; }

/* Review card sizing inside this block matches oneday styles */
.review-card { background: #fff; border-radius: 16px; padding: 16px; height: 100%; display: flex; flex-direction: column; width: 460px !important; flex-shrink: 0; }

/* Force proper spacing between slides */
.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;
}

/* Ensure first slide has proper left margin */
.mba-reviews-card .reviews-slider .swiper-slide:first-child {
    margin-left: 0; /* reset any margin, padding handles spacing */
}
/* Keep text compact to avoid vertical overflow */
.mba-reviews-card .review-card__text {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

@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: 576px) {
    .mba-diploma-card__title { font-size: 20px; }
    .mba-diploma-card__text { font-size: 14px; }
    .mba-reviews-card__title { font-size: 20px; }
    .mba-reviews-card__subtitle { font-size: 14px; }
    .reviews-nav__btn { width: 38px; height: 38px; border-radius: 1.266em; }
    
    /* Mobile: show only one review per slide */
    .mba-reviews-card .reviews-slider .swiper-slide {
        width: 100% !important;
        margin-right: 0;
    }
    .mba-reviews-card .review-card {
        width: 100% !important;
    }
    
    /* Mobile: reduce left padding to 2px */
    .mba-reviews-card .reviews-slider .swiper-wrapper {
        padding-left: 2px;
    }
}

/* Ensure review modal looks correct on this page (shared CSS elsewhere) */
.mba-page #reviewModal { font-family: Raleway, sans-serif; }

/* Mobile: show author before quote in horizontal block */
@media screen and (max-width: 768px) {
    .mba-page .impro-alla-horizontal__author { order: -1; }
    .mba-page .impro-alla-horizontal__quote { order: 0; }
}
@media screen and (max-width: 480px) {
    .mba-page .impro-alla-horizontal__author { order: -1; }
    .mba-page .impro-alla-horizontal__quote { order: 0; }
}

/* =============================
   MBA page — Портрет слушателя программы (Figma 11017:21121)
   Pixel-perfect implementation
   ============================= */
.mba-portrait { margin-top: 30px; }
.mba-portrait--visible { 
    max-width: 1378px; 
    width: 100%; 
    margin: 80px auto 0 auto; 
    padding: 0 1.625em; 
}
.mba-portrait > .container {
    position: relative;
    border-radius: 20px;
    background: #F5F5F5 url('/local/templates/ranepa_im2/assets2/css/../img/mba/bg_portretslush.svg') center/cover no-repeat;
    padding: 26px; /* Figma: x padding 26, inner gap 50 */
    overflow: hidden;
}
.mba-portrait__title {
    margin: 0 0 22px 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 36px;
    line-height: 1.06;
    letter-spacing: -0.02em;
    color: #32343A;
}
.mba-portrait__grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* Figma columns 605 + 50 + 605 */
    gap: 50px;
    align-items: start;
}
.portrait-col__head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}
.portrait-col__icon { width: 22px; height: 22px; display: block; }
.portrait-col--position .portrait-col__icon { width: 27.15px; height: 23.43px; }
.portrait-col__title {
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 24px;
    letter-spacing: -0.02em;
    color: #32343A;
}

.portrait-list { display: grid; row-gap: 25px; }
.portrait-item__label {
    margin: 0 0 9px 0;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.1;
    letter-spacing: -0.02em;
    color: #32343A;
}
.portrait-item__bar {
    height: 30px;
    border-radius: 15px;
    background: #FFFFFF;
    position: relative;
    overflow: hidden;
}
.portrait-item__fill {
    --p: 0; /* target percent 0..100 */
    --w: 0; /* animated working percent */
    display: block;
    height: 100%;
    width: calc(var(--w) * 1%);
    background: linear-gradient(-31deg, #9AB1D5 12%, #4B4E55 100%);
    border-radius: 15px;
    position: relative;
    opacity: 0;
    transition: width 900ms cubic-bezier(.2,.8,.2,1), opacity 300ms ease;
}
.mba-portrait--visible .portrait-item__fill { --w: var(--p); opacity: 1; }
.portrait-item__badge {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%) translateX(8px);
    height: 24px;
    padding: 0 10px;
    border-radius: 15px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-family: Raleway, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1;
    color: #FFFFFF;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 300ms ease, transform 300ms ease;
}
.mba-portrait--visible .portrait-item__badge { opacity: 1; transform: translateY(-50%) translateX(0); }

/* Prevent badge overflow when fill is narrow */
/* Apply min-width for tiny values only when animated */
.mba-portrait--visible .portrait-item__fill[style*='--p:0'],
.mba-portrait--visible .portrait-item__fill[style*='--p:1'],
.mba-portrait--visible .portrait-item__fill[style*='--p:2'],
.mba-portrait--visible .portrait-item__fill[style*='--p:3'],
.mba-portrait--visible .portrait-item__fill[style*='--p:4'],
.mba-portrait--visible .portrait-item__fill[style*='--p:5'] { min-width: 58px; }

/* Staggered appearance */
.portrait-col .portrait-item:nth-child(1) .portrait-item__fill { transition-delay: 0ms; }
.portrait-col .portrait-item:nth-child(2) .portrait-item__fill { transition-delay: 100ms; }
.portrait-col .portrait-item:nth-child(3) .portrait-item__fill { transition-delay: 200ms; }
.portrait-col .portrait-item:nth-child(4) .portrait-item__fill { transition-delay: 300ms; }
.portrait-col .portrait-item:nth-child(5) .portrait-item__fill { transition-delay: 400ms; }
.portrait-col .portrait-item:nth-child(6) .portrait-item__fill { transition-delay: 500ms; }
.portrait-col .portrait-item:nth-child(7) .portrait-item__fill { transition-delay: 600ms; }

.portrait-col .portrait-item:nth-child(1) .portrait-item__badge { transition-delay: 200ms; }
.portrait-col .portrait-item:nth-child(2) .portrait-item__badge { transition-delay: 300ms; }
.portrait-col .portrait-item:nth-child(3) .portrait-item__badge { transition-delay: 400ms; }
.portrait-col .portrait-item:nth-child(4) .portrait-item__badge { transition-delay: 500ms; }
.portrait-col .portrait-item:nth-child(5) .portrait-item__badge { transition-delay: 600ms; }
.portrait-col .portrait-item:nth-child(6) .portrait-item__badge { transition-delay: 700ms; }
.portrait-col .portrait-item:nth-child(7) .portrait-item__badge { transition-delay: 800ms; }

@media screen and (max-width: 1400px) {
    .mba-portrait > .container { padding: 20px; }
    .mba-portrait__grid { grid-template-columns: 1fr; gap: 24px; }
}
@media screen and (max-width: 576px) {
    .mba-portrait--visible { padding: 0 0.75em; }
    .mba-portrait__title { font-size: 24px; }
    .portrait-col__title { font-size: 18px; }
    .portrait-item__badge { font-size: 14px; height: 22px; }
    .portrait-list { row-gap: 20px; }
}

/* =============================
   MBA page — Features block (Figma 11017:21244)
   Built on homepage "why" styles, adjusted sizes for pixel-perfect match
   ============================= */
.mba-features { margin-top: 30px; }
.mba-features .why-slider .swiper-slide { width: 26.125em; }
@media screen and (min-width: 993px) {
    /* Desktop: cap slide/card width to 450px (28.125em) */
    .mba-features .why-slider .swiper-slide { width: 28.125em; }
    .mba-features .why-card { max-width: 28.125em; padding-right: 4em; padding-bottom: 37px; position: relative; }
}
.mba-features .why-card { border-radius: 1.266em; background: #F5F5F5; height: 100%; 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-pack: justify; -ms-flex-pack: justify; justify-content: space-between; padding: 1.58em; }
.mba-features .why-card__top { display: grid; grid-template-columns: 100%; gap: 0.79em; margin-bottom: 0 !important;}
.mba-features .why-card__title { font-family: Raleway, sans-serif; font-weight: 700; font-size: 1.25em; line-height: 110%; letter-spacing: -0.02em; color: #32343A; }
.mba-features .why-card__desc { font-family: Raleway, sans-serif; font-weight: 600; font-size: 0.98713em; line-height: 110%; letter-spacing: -0.02em; color: #595959; }
.mba-features .why-card__icon { height: 4em; display: block; margin: auto 0 0 auto; }
@media screen and (max-width: 992px) {
    .mba-features .why-slider .swiper-slide { width: 18.825em; }
    .mba-features .why-card { border-radius: 1.25em; padding: 1.22em; }
    .mba-features .why-card__top { gap: 0.61em;  }
    .mba-features .why-card__title { font-size: 1.28994em; font-weight: 600; }
    .mba-features .why-card__desc { font-size: 0.76463em; }
    .mba-features .why-card__icon { height: 3em; }
}

/* Mobile: set name and subtitle to 16px (1em) */
@media screen and (max-width: 768px) {
    .mba-page .impro-alla-horizontal__name { font-size: 1em; }
    .mba-page .impro-alla-horizontal__subtitle { font-size: 1em; }
}
@media screen and (max-width: 480px) {
    .mba-page .impro-alla-horizontal__name { font-size: 1em; }
    .mba-page .impro-alla-horizontal__subtitle { font-size: 1em; }
}

/* =============================
   Как поступить section (Figma 12291:1406)
   Pixel perfect implementation
   ============================= */

.kak-postupit {
    margin-top: 60px;
    margin-bottom: 60px;
}

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

.kak-postupit__grid {
    display: grid;
    grid-template-columns: 569px 747px;
    gap: 10px;
    align-items: start;
}

/* Left column */
.kak-postupit__left {
    display: grid;
    grid-template-rows: 201px 201px;
    gap: 10px;
}

.kak-postupit__requirements-box {
    position: relative;
    border-radius: 20px;
    overflow: hidden;
    background: linear-gradient(18deg, rgba(154, 177, 213, 1) 12%, rgba(75, 78, 85, 1) 100%);
    padding: 15px;
    box-sizing: border-box;
}

.kak-postupit__requirements-box::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bgblueleftkakpostupit.svg') center/cover no-repeat;
    opacity: 0.31;
    z-index: 1;
}

.kak-postupit__requirements-text {
    position: relative;
    z-index: 2;
    font-family: 'Raleway', sans-serif;
    font-weight: 400;
    font-size: 20px;
    line-height: 1.2;
    color: #FFFFFF;
    margin: 0;
}

.kak-postupit__image-box {
    border-radius: 20px;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/bgkak2.webp') center/cover no-repeat;
    height: 201px;
}

/* Right column */
.kak-postupit__panel {
    background: #F5F5F5;
    border-radius: 20px;
    padding: 37px 20px;
    height: 411px;
    position: relative;
    box-sizing: border-box;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}

/* Fix column widths to prevent shifting when text doesn't wrap */
@media screen and (min-width: 769px) {
    .kak-postupit__panel {
        grid-template-columns: 2fr 1fr;
    }
    
    /* Absolute positioning for "Вступительные испытания" section */
    .kak-postupit__section:last-child {
        position: absolute;
        right: -50px;
        top: 37px;
        width: calc(50% - 10px);
    }
}


.kak-postupit__section {
    position: relative;
    z-index: 2;
}

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

.kak-postupit__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.kak-postupit__list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 16px;
    font-family: 'Raleway', sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #32343A;
}

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

.kak-postupit__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background: url('/local/templates/ranepa_im2/assets2/css/../img/mba/grayquard.svg') no-repeat center;
    background-size: contain;
}

/* Prevent text wrapping for specific list items on desktop */
@media screen and (min-width: 769px) {
    .kak-postupit__list li:nth-child(6),
    .kak-postupit__list li:nth-child(7),
    .kak-postupit__list li:nth-child(8) {
        white-space: nowrap;
        overflow: visible;
    }
}

/* Responsive design */
@media screen and (max-width: 1400px) {
    .kak-postupit__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .kak-postupit__left {
        grid-template-columns: 1fr 1fr;
        grid-template-rows: 1fr;
        gap: 20px;
    }
    
    .kak-postupit__panel {
        height: auto;
        min-height: 411px;
    }
}

@media screen and (max-width: 768px) {
    .kak-postupit {
        margin-top: 40px;
        margin-bottom: 40px;
    }
    
    .kak-postupit__title {
        font-size: 28px;
        margin-bottom: 30px;
    }
    
    .kak-postupit__left {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto;
    }
    
    .kak-postupit__requirements-box {
        height: auto;
        min-height: 160px;
    }
    .kak-postupit__image-box {
        height: 160px;
    }
    
    .kak-postupit__requirements-text {
        font-size: 18px;
    }
    
    .kak-postupit__panel {
        padding: 30px 20px;
        min-height: auto;
        grid-template-columns: 1fr;
        gap: 30px;
    }
    
    .kak-postupit__section-title {
        font-size: 18px;
    }
    
    .kak-postupit__list li {
        font-size: 14px;
        line-height: 1.4;
    }
}

@media screen and (max-width: 480px) {
    .kak-postupit__title {
        font-size: 24px;
    }
    
    .kak-postupit__requirements-text {
        font-size: 16px;
    }
    
    .kak-postupit__section-title {
        font-size: 16px;
    }
    
    .kak-postupit__list li {
        font-size: 13px;
        line-height: 1.3;
    }
}


/* End */


/* Start:/bitrix/components/bitrix/system.show_message/templates/.default/style.min.css?171559852551*/
font.errortext{color:red}font.notetext{color:green}
/* End */


/* Start:/vendor/ranepa/bitrix-library/src/Components/RanepaForm/templates/im2/style.css?1776936057216*/
.program-consultation-bachelor__checkmark {
    display: none !important;
}
.program-consultation-bachelor__checkbox input[type="checkbox"] {
    position: relative !important;
    opacity: 1;
    cursor: pointer;
}

/* End */
/* /local/templates/ranepa_im2/assets2/css/oneday.css?176493214159913 */
/* /local/templates/ranepa_im2/assets2/css/improffessional.css?176493214141695 */
/* /local/templates/ranepa_im2/assets2/css/mba.css?176493214156807 */
/* /bitrix/components/bitrix/system.show_message/templates/.default/style.min.css?171559852551 */
/* /vendor/ranepa/bitrix-library/src/Components/RanepaForm/templates/im2/style.css?1776936057216 */
