/**
 * RKTM Pixel Redesign: шапка, мегаменю, главная, страница программ, подвал.
 * Токены объявлены в rktm-figma-layer.css (:root).
 */

/* --- Секции и карточки (перенесено из overlay-слоя) --- */
.rktm-figma-section {
	padding-block: var(--rktm-space-section);
}

.rktm-figma-card {
	background: var(--rktm-color-surface);
	border-radius: var(--rktm-radius-card);
}

.rktm-btn-gradient,
.rktm-btn-gradient--sm {
	align-items: center;
	background: var(--rktm-gradient-brand);
	border: 0;
	border-radius: var(--rktm-radius-control);
	box-shadow: none;
	color: var(--rktm-color-white);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--rktm-font-body);
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: var(--rktm-control-height);
	padding: 0 18px;
	text-decoration: none;
}

.rktm-btn-gradient:hover,
.rktm-btn-gradient:focus-visible {
	color: var(--rktm-color-white);
	filter: brightness(0.96);
}

.rktm-tag {
	align-items: center;
	background: var(--rktm-color-brand);
	border-radius: var(--rktm-radius-control);
	color: var(--rktm-color-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 600;
	line-height: 20px;
	min-height: var(--rktm-tag-height);
	padding: 2px 10px;
}

/* --- Контейнер сетки 1296 --- */
.rktm-container {
	box-sizing: border-box;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--rktm-container-width);
	padding-left: clamp(16px, 4vw, 24px);
	padding-right: clamp(16px, 4vw, 24px);
	width: 100%;
}

body.rktm-mega-open {
	overflow: hidden;
}

body.rktm-pixel-front,
body.rktm-pixel-programs-page {
	overflow-x: clip;
}

/* Главная без «боковой колонны» Neve (контент на всю ширину макета). */
body.rktm-pixel-front #secondary,
body.rktm-pixel-front aside.sidebar-main,
body.rktm-pixel-front .elementor-location-sidebar,
body.rktm-pixel-programs-page #secondary,
body.rktm-pixel-programs-page aside.sidebar-main {
	display: none !important;
}

body.rktm-pixel-front .nv-single-post-wrap .nv-content-wrap,
body.rktm-pixel-programs-page .nv-single-post-wrap .nv-content-wrap {
	flex: 1 1 100%;
	max-width: 100%;
}

/* --- Шапка --- */
.rktm-pixel-header {
	background: var(--rktm-color-bg);
	position: relative;
	z-index: 400;
}

.rktm-pixel-header__top {
	padding-block: clamp(0.85rem, 2vw, 1.35rem) 0.35rem;
}

.rktm-pixel-header__top-inner {
	align-items: center;
	display: grid;
	gap: 1rem 0.9rem;
	grid-template-columns: minmax(155px, 220px) minmax(220px, 320px) minmax(0, auto);
	justify-content: stretch;
}

.rktm-pixel-brand-cluster {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	justify-self: center;
	max-width: min(420px, 100%);
	text-align: center;
}

.rktm-pixel-brand-cluster__lockup {
	display: block;
	height: auto;
	max-height: 42px;
	max-width: 100%;
	width: auto;
}

.rktm-pixel-menu-open {
	align-items: center;
	display: inline-flex;
	gap: 10px;
}

.rktm-pixel-menu-open__burger {
	border-bottom: 2px solid currentColor;
	border-top: 2px solid currentColor;
	box-sizing: border-box;
	height: 14px;
	position: relative;
	width: 18px;
}

.rktm-pixel-menu-open__burger::before {
	background: currentColor;
	content: '';
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.rktm-pixel-menu-open__label {
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.rktm-pixel-nav__pill--outline {
	background: transparent;
	border: 2px solid var(--rktm-color-brand);
	color: var(--rktm-color-text);
}

.rktm-pixel-nav__pill--outline:hover,
.rktm-pixel-nav__pill--outline:focus-visible {
	border-color: var(--rktm-color-brand-warm);
	color: var(--rktm-color-brand);
}

.rktm-pixel-logo img {
	display: block;
	height: auto;
	max-height: 64px;
	width: auto;
}

.rktm-pixel-header__utilities {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 0.65rem 1rem;
	justify-content: flex-end;
	justify-self: end;
}

.rktm-pixel-phone {
	color: var(--rktm-color-text);
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.rktm-pixel-phone:hover,
.rktm-pixel-phone:focus-visible {
	color: var(--rktm-color-brand);
}

.rktm-pixel-search input[type="search"] {
	background-color: var(--rktm-color-surface-muted);
	border: 0;
	border-radius: var(--rktm-radius-control);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	min-height: 42px;
	min-width: min(220px, 100%);
	padding-inline: 14px;
	width: min(257px, 100%);
}

.rktm-pixel-lang {
	align-items: center;
	background: var(--rktm-color-surface-muted);
	border-radius: var(--rktm-radius-control);
	color: var(--rktm-color-text-soft);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	min-height: 42px;
	min-width: 65px;
}

.rktm-pixel-menu-open.rktm-btn-gradient {
	border: 0;
	cursor: pointer;
	font-family: var(--rktm-font-body);
	min-height: 42px;
	min-width: 107px;
	padding-inline: 14px;
}

.rktm-pixel-rule {
	background: var(--rktm-color-line);
	border: 0;
	height: 1px;
	margin: 0.35rem 0 0;
	max-width: var(--rktm-container-width);
	width: var(--rktm-container, 100%);
	margin-inline: auto;
}

.rktm-pixel-header__navrow {
	padding-block: 0.5rem 1rem;
}

.rktm-pixel-nav {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.5rem;
	justify-content: flex-start;
	position: relative;
}

.rktm-pixel-nav__pill {
	align-items: center;
	border-radius: var(--rktm-radius-control);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	min-height: 36px;
	padding: 0 16px;
	text-decoration: none;
}

.rktm-pixel-nav__pill--solid {
	background: var(--rktm-color-text);
	color: var(--rktm-color-white);
}

.rktm-pixel-nav__pill--solid:hover,
.rktm-pixel-nav__pill--solid:focus-visible {
	filter: brightness(1.08);
}

.rktm-pixel-nav__link {
	color: var(--rktm-color-text);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.rktm-pixel-nav__link:hover,
.rktm-pixel-nav__link:focus-visible {
	color: var(--rktm-color-brand);
}

.rktm-pixel-burger {
	background: var(--rktm-color-bg);
	border: 1px solid var(--rktm-color-border);
	border-radius: var(--rktm-radius-control);
	cursor: pointer;
	display: none;
	flex-direction: column;
	gap: 5px;
	margin-left: auto;
	padding: 10px 12px;
}

.rktm-pixel-burger__bar {
	background: var(--rktm-color-text);
	border-radius: 1px;
	height: 2px;
	width: 22px;
}

@media (max-width: 1100px) {
	.rktm-pixel-header__top-inner {
		grid-template-columns: 1fr auto;
	}

	.rktm-pixel-brand-cluster {
		display: none;
	}

	.rktm-pixel-logo {
		justify-self: start;
	}
}

@media (max-width: 960px) {
	.rktm-pixel-header__utilities {
		justify-content: flex-start;
		width: 100%;
	}

	.rktm-pixel-search {
		flex: 1 1 240px;
	}

	.rktm-pixel-search input[type="search"] {
		width: 100%;
	}

	/* Один вход в мегаменю: бургер в строке навигации (#rktm-mega-open-mobile) */
	#rktm-mega-open {
		display: none;
	}

	.rktm-pixel-menu-open {
		margin-left: auto;
	}

	.rktm-pixel-nav__link,
	.rktm-pixel-nav__pill {
		display: none;
	}

	.rktm-pixel-burger {
		display: inline-flex;
	}
}

/* --- Мегаменю --- */
.rktm-mega {
	inset: 0;
	opacity: 0;
	pointer-events: none;
	position: fixed;
	transition: opacity 0.2s ease, visibility 0.2s ease;
	visibility: hidden;
	z-index: 600;
}

.rktm-mega.is-open {
	opacity: 1;
	pointer-events: auto;
	visibility: visible;
}

.rktm-mega__backdrop {
	background: rgba(0, 0, 0, 0.35);
	inset: 0;
	position: absolute;
}

.rktm-mega__sheet {
	background: var(--rktm-color-bg);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	inset: 0;
	overflow-y: auto;
	position: absolute;
	transform: translateY(-10px);
	transition: transform 0.22s ease;
}

.rktm-mega.is-open .rktm-mega__sheet {
	transform: translateY(0);
}

.rktm-mega__top {
	padding-block: clamp(0.75rem, 2vw, 1.25rem);
}

.rktm-mega__top-inner {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.rktm-mega__logo img {
	display: block;
	height: auto;
	max-height: 86px;
	width: auto;
}

.rktm-mega__close {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--rktm-color-text);
	cursor: pointer;
	display: inline-flex;
	height: 44px;
	justify-content: center;
	padding: 0;
	width: 44px;
}

.rktm-mega__close-icon {
	display: flex;
	line-height: 0;
}

.rktm-mega__close-icon svg {
	display: block;
}

.rktm-mega__close:hover,
.rktm-mega__close:focus-visible {
	color: var(--rktm-color-brand);
}

.rktm-mega__panel {
	background: var(--rktm-gradient-brand);
	border-radius: 6px;
	box-sizing: border-box;
	margin-block: 0 2rem;
	max-width: 1296px;
	margin-inline: auto;
	min-height: min(484px, 70vh);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.rktm-mega__layout {
	column-gap: clamp(1.25rem, 3vw, 2.75rem);
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	row-gap: clamp(1rem, 2vw, 1.5rem);
}

.rktm-mega__about-columns {
	align-items: start;
	column-gap: clamp(1rem, 3vw, 3rem);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: 0.35rem;
	row-gap: 0.4rem;
}

.rktm-mega__region-heading {
	color: rgba(255, 255, 255, 0.88);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin: 0 0 0.6rem;
	text-transform: uppercase;
}

.rktm-mega__link--section {
	display: inline-block;
	font-size: clamp(16px, 1.25vw, 18px);
	font-weight: 800;
	margin-bottom: 0.75rem;
}

.rktm-mega__column,
.rktm-mega__column--events {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.rktm-mega__events-region {
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	padding-left: clamp(1rem, 3vw, 2rem);
}

.rktm-mega__link {
	color: var(--rktm-color-white);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}

.rktm-mega__link:hover,
.rktm-mega__link:focus-visible {
	text-decoration: underline;
}

@media (max-width: 960px) {
	.rktm-mega__layout {
		grid-template-columns: 1fr;
	}

	.rktm-mega__about-columns {
		grid-template-columns: 1fr;
	}

	.rktm-mega__events-region {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.25);
		padding-left: 0;
		padding-top: clamp(1rem, 3vw, 1.35rem);
	}
}

/* --- Утилиты кнопок / тегов главной --- */
.rktm-tag--muted {
	background: var(--rktm-color-surface-muted);
	color: var(--rktm-color-text);
}

.rktm-btn-outline {
	align-items: center;
	border: 2px solid var(--rktm-color-white);
	border-radius: var(--rktm-radius-control);
	color: var(--rktm-color-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	min-height: var(--rktm-control-height);
	padding: 0 18px;
	text-decoration: none;
}

.rktm-btn-outline:hover,
.rktm-btn-outline:focus-visible {
	background: rgba(255, 255, 255, 0.12);
}

.rktm-btn-secondary {
	align-items: center;
	background: var(--rktm-color-white);
	border: 1px solid var(--rktm-color-border);
	border-radius: var(--rktm-radius-control);
	color: var(--rktm-color-text);
	display: inline-flex;
	font-family: var(--rktm-font-body);
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	line-height: 1.2;
	min-height: var(--rktm-control-height);
	padding: 0 18px;
	text-decoration: none;
}

.rktm-btn-secondary:hover,
.rktm-btn-secondary:focus-visible {
	border-color: var(--rktm-color-brand);
	color: var(--rktm-color-brand);
}

.rktm-btn-dark {
	align-items: center;
	background: #1f1f1f;
	border: 0;
	border-radius: var(--rktm-radius-control);
	color: var(--rktm-color-white);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	justify-content: center;
	min-height: var(--rktm-control-height);
	padding: 0 18px;
	text-decoration: none;
}

.rktm-btn-dark:hover,
.rktm-btn-dark:focus-visible {
	filter: brightness(1.08);
}

.rktm-link-more {
	color: var(--rktm-color-brand);
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
}

.rktm-link-more:hover,
.rktm-link-more:focus-visible {
	text-decoration: underline;
}

/* --- Hero (кадр из Figma hero-frame.png) --- */
.rktm-home-hero {
	overflow: visible;
	padding-block: clamp(1.15rem, 2.5vw, 2rem);
	position: relative;
}

.rktm-home-hero__shell {
	background: transparent;
	border-radius: 0;
	box-shadow: none;
	box-sizing: border-box;
	margin: 0;
	overflow: visible;
	padding: 0;
	position: relative;
}

.rktm-home-hero__frame {
	border-radius: var(--rktm-radius-card);
	box-shadow: 0 16px 48px rgba(0, 0, 0, 0.08);
	display: block;
	height: auto;
	margin-inline: auto;
	max-width: 1296px;
	width: 100%;
}

.rktm-home-hero__copy {
	left: clamp(1.5rem, 5vw, 4.5rem);
	max-width: min(420px, 45%);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.rktm-home-hero__title {
	color: var(--rktm-color-text);
	font-family: var(--rktm-font-heading);
	font-size: clamp(2rem, 4.4vw, 4.75rem);
	font-weight: 800;
	line-height: 0.92;
	margin: 0;
	max-width: 7em;
	text-transform: uppercase;
}

.rktm-home-hero__subtitle {
	color: var(--rktm-color-text);
	font-size: clamp(1rem, 1.55vw, 1.35rem);
	font-weight: 700;
	line-height: 1.25;
	margin: 1rem 0 0;
	max-width: 23rem;
}

.rktm-home-hero__cta {
	margin-top: clamp(1rem, 2vw, 1.6rem);
}

.rktm-home-hero__fallback-msg {
	color: var(--rktm-color-text-soft);
	font-weight: 600;
	margin: 0;
	padding: 2rem 0;
	text-align: center;
}

@media (max-width: 900px) {
	/* Кадр hero на всю ширину вьюпорта (без боковых полей контейнера) */
	.rktm-home-hero .rktm-container {
		max-width: none;
		padding-left: 0;
		padding-right: 0;
	}

	.rktm-home-hero__frame {
		border-radius: calc(var(--rktm-radius-card) - 2px);
		max-width: 100%;
		width: 100%;
	}

	.rktm-home-hero__copy {
		left: clamp(1rem, 4vw, 2rem);
		max-width: 48%;
	}

	.rktm-home-hero__title {
		font-size: clamp(1.55rem, 6vw, 2.4rem);
	}

	.rktm-home-hero__subtitle {
		display: none;
	}
}

/* --- Баннер под hero (виджеты) --- */
.rktm-home-banner {
	box-sizing: border-box;
	max-width: 100%;
	padding-block: clamp(0.75rem, 2vw, 1.25rem);
}

.rktm-home-banner__items {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr));
}

.rktm-home-banner__item {
	background: var(--rktm-color-surface);
	border-radius: var(--rktm-radius-card);
	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.08);
	box-sizing: border-box;
	max-width: 1296px;
	overflow: hidden;
}

.rktm-home-banner__widget-title {
	font-family: var(--rktm-font-heading);
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.rktm-home-banner__item > * {
	max-width: 100%;
}


@media (max-width: 600px) {
	.rktm-home-banner__items {
		grid-template-columns: 1fr;
	}
}

/* --- Карточки программ на главной --- */
.rktm-home-programs__head {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.rktm-home-programs__title {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	font-family: var(--rktm-font-heading);
	font-size: clamp(1.75rem, 2.5vw, 2.25rem);
	font-weight: 800;
	gap: 0.5rem;
	margin: 0;
	text-transform: uppercase;
}

.rktm-home-programs__title-icon {
	color: var(--rktm-color-brand);
	display: inline-flex;
	line-height: 0;
}

.rktm-home-programs__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 1199px) {
	.rktm-home-programs__grid {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: clamp(1rem, 2vw, 1.5rem);
		grid-template-columns: none;
		overflow-x: auto;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;

		scrollbar-width: none;
	}

	.rktm-home-programs__grid::-webkit-scrollbar {
		display: none;
	}

	.rktm-home-programs__grid .rktm-prog-card {
		flex: 0 0 min(304px, calc(100vw - 3rem));
		max-width: min(304px, calc(100vw - 3rem));
		min-height: 380px;
		scroll-snap-align: start;
	}
}

.rktm-prog-card {
	background: var(--rktm-color-surface);
	border-radius: var(--rktm-radius-card);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 420px;
	overflow: hidden;
}

.rktm-prog-card__media {
	aspect-ratio: 306 / 220;
	display: block;
	overflow: hidden;
}

.rktm-prog-card__media img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

/* Подгонка кадрирования под эталон Figma (контакт-лист + home.png) */
.rktm-prog-card[data-program-code="15.01.05"] .rktm-prog-card__media img {
	object-position: 50% 42%;
}

.rktm-prog-card[data-program-code="15.01.32"] .rktm-prog-card__media img {
	object-position: 50% 38%;
}

.rktm-prog-card[data-program-code="15.02.10"] .rktm-prog-card__media img {
	object-position: 50% 28%;
}

.rktm-prog-card[data-program-code="38.02.03"] .rktm-prog-card__media img {
	object-position: 50% 52%;
}

.rktm-prog-card__media-fallback {
	background: linear-gradient(135deg, var(--rktm-color-surface-muted) 0%, var(--rktm-color-surface) 100%);
	display: block;
	height: 100%;
	min-height: 160px;
	width: 100%;
}

.rktm-prog-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: auto;
}

.rktm-prog-card__btn--ghost {
	flex: 1 1 auto;
	justify-content: center;
	min-width: 120px;
}

.rktm-home-programs__pager {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	justify-content: center;
	margin-top: 1.5rem;
	opacity: 0.85;
}

	display: none;
}

.rktm-home-programs__pager-btn {
	align-items: center;
	background: var(--rktm-color-white);
	border: 1px solid var(--rktm-color-border);
	border-radius: 50%;
	color: var(--rktm-color-brand);
	cursor: pointer;
	display: inline-flex;
	font-size: 1rem;
	height: 36px;
	justify-content: center;
	line-height: 1;
	width: 36px;
}

.rktm-home-programs__pager-btn:disabled {
	cursor: not-allowed;
	opacity: 0.35;
}

.rktm-home-programs__pager-btn:focus-visible {
	outline: 2px solid var(--rktm-color-brand);
	outline-offset: 2px;
}

.rktm-home-programs__dots {
	display: inline-flex;
	gap: 8px;
	margin-left: 0.5rem;
}

.rktm-home-programs__dots span {
	background: var(--rktm-color-line);
	border-radius: 50%;
	height: 10px;
	width: 10px;
}

.rktm-home-programs__dots span.is-active {
	background: var(--rktm-color-brand);
}

.rktm-prog-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.75rem;
	padding: 1rem 1.1rem 1.25rem;
}

.rktm-prog-card__badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.rktm-prog-card__title {
	font-family: var(--rktm-font-body);
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

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

.rktm-prog-card__title a:hover,
.rktm-prog-card__title a:focus-visible {
	color: var(--rktm-color-brand);
}

.rktm-prog-card__btn {
	align-self: flex-start;
	margin-top: auto;
}

@media (min-width: 1200px) {
	.rktm-home-programs__pager {
		display: none;
	}
}

@media (max-width: 1100px) {
	/* Блок «Профессионалитет» в партнёрской полосе — как lockup в шапке, убираем на узких экранах */
	.rktm-home-partners__grid:has(.professionalitet-lockup) {
		grid-template-columns: 1fr;
	}

	.rktm-home-partners__card:has(.professionalitet-lockup) {
		display: none;
	}
}

/* --- Профблок --- */
.rktm-home-prof__panel {
	background: linear-gradient(180deg, #f39200 0%, #ffdb57 72%, #ffe784 100%);
	border-radius: var(--rktm-radius-card);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	gap: clamp(1rem, 3vw, 1.75rem);
	padding: clamp(1.75rem, 4vw, 2.75rem);
}

.rktm-home-prof__title {
	color: var(--rktm-color-white);
	font-family: var(--rktm-font-heading);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 800;
	line-height: 1;
	margin: 0;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
	text-transform: uppercase;
}

.rktm-home-prof__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.rktm-home-prof__tab {
	background: transparent;
	border: 2px solid var(--rktm-color-white);
	border-radius: 999px;
	color: var(--rktm-color-white);
	cursor: pointer;
	font-family: var(--rktm-font-body);
	font-size: 14px;
	font-weight: 700;
	min-height: 40px;
	padding: 0 18px;
}

.rktm-home-prof__tab.is-active {
	background: var(--rktm-color-white);
	color: var(--rktm-color-text);
}

.rktm-home-prof__panel-body[hidden] {
	display: none !important;
}

.rktm-home-prof__gallery {
	display: grid;
	gap: clamp(0.75rem, 2vw, 1.25rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 900px) {
	.rktm-home-prof__gallery {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: clamp(0.75rem, 2vw, 1.25rem);
		grid-template-columns: none;
		overflow-x: auto;
		scroll-padding-inline: 0;
		scroll-snap-type: x mandatory;

		scrollbar-width: none;
	}

	.rktm-home-prof__gallery::-webkit-scrollbar {
		display: none;
	}

	.rktm-home-prof__gallery .rktm-home-prof__slide {
		flex: 0 0 100%;
		max-width: 100%;
		scroll-snap-align: start;
	}
}

.rktm-home-prof__slide {
	aspect-ratio: 3 / 4;
	background: rgba(255, 255, 255, 0.92);
	border-radius: var(--rktm-radius-card);
	box-shadow: 0 8px 28px rgba(0, 0, 0, 0.08);
	flex-shrink: 0;
	overflow: hidden;
	padding: 0;
	position: relative;
}

.rktm-home-prof__slide img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rktm-home-prof__slide--missing {
	align-items: center;
	background: rgba(255, 255, 255, 0.55);
	display: flex;
	justify-content: center;
	min-height: 140px;
}

.rktm-home-prof__bottom {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: flex-end;
}

.rktm-home-prof__pager {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin-top: clamp(0.75rem, 2vw, 1rem);
}

.rktm-home-prof__panel-body.rktm-slider--static .rktm-home-prof__pager {
	display: none;
}

.rktm-home-prof__pager-btn {
	align-items: center;
	background: rgba(255, 255, 255, 0.25);
	border: 1px solid rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	color: var(--rktm-color-white);
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	height: 36px;
	justify-content: center;
	width: 36px;
}

.rktm-home-prof__pager-btn:disabled {
	cursor: not-allowed;
	opacity: 0.35;
}

.rktm-home-prof__pager-btn:focus-visible {
	outline: 2px solid var(--rktm-color-white);
	outline-offset: 2px;
}

.rktm-home-prof__dots {
	display: inline-flex;
	gap: 8px;
	margin-left: 0.35rem;
}

.rktm-home-prof__dots span {
	background: rgba(255, 255, 255, 0.45);
	border-radius: 50%;
	height: 10px;
	width: 10px;
}

.rktm-home-prof__dots span.is-active {
	background: var(--rktm-color-white);
}

.rktm-home-prof__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	justify-content: flex-end;
}

.rktm-home-prof__link {
	white-space: nowrap;
}

@media (max-width: 900px) {
	.rktm-home-prof__bottom {
		align-items: stretch;
		flex-direction: column;
	}

	.rktm-home-prof__links {
		justify-content: flex-start;
	}
}

@media (min-width: 901px) {
	.rktm-home-prof__pager {
		display: none;
	}
}

.rktm-home-news__head {
	align-items: baseline;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.rktm-home-news__title {
	font-family: var(--rktm-font-heading);
	font-size: clamp(1.75rem, 2.5vw, 2.25rem);
	font-weight: 800;
	margin: 0;
	text-transform: uppercase;
}

.rktm-home-news__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rktm-news-card {
	background: var(--rktm-color-surface);
	border-radius: var(--rktm-radius-card);
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	min-height: 280px;
	overflow: hidden;
}

.rktm-news-card__media {
	aspect-ratio: 16 / 10;
	display: block;
	overflow: hidden;
}

.rktm-news-card__media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rktm-news-card__media-fallback {
	background: linear-gradient(135deg, var(--rktm-color-surface-muted), var(--rktm-color-surface));
	display: block;
	min-height: 100%;
	width: 100%;
}

.rktm-news-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1rem 1.1rem 1.15rem;
}

.rktm-news-card__date {
	color: var(--rktm-color-text-soft);
	font-size: 13px;
	font-weight: 600;
}

.rktm-news-card__title {
	font-size: 15px;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

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

.rktm-news-card__title a:hover,
.rktm-news-card__title a:focus-visible {
	color: var(--rktm-color-brand);
}

@media (max-width: 1100px) {
	.rktm-home-news__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.rktm-home-news__grid {
		grid-template-columns: 1fr;
	}
}

/* --- Партнёры под профблоком --- */
.rktm-home-partners {
	padding-block: clamp(1rem, 3vw, 2rem);
}

.rktm-home-partners__grid {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rktm-home-partners__card {
	align-items: center;
	background: var(--rktm-color-surface);
	border-radius: var(--rktm-radius-card);
	box-shadow: 0 10px 36px rgba(0, 0, 0, 0.06);
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	min-height: 132px;
	padding: clamp(1rem, 2vw, 1.45rem);
}

.rktm-home-partners__card img {
	height: auto;
	max-height: 96px;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

@media (max-width: 900px) {
	.rktm-home-partners__grid {
		grid-template-columns: 1fr;
	}
}

.rktm-programs-hero__title {
	font-family: var(--rktm-font-heading);
	font-size: clamp(2rem, 3vw, 2.75rem);
	font-weight: 800;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
}

.rktm-programs-hero__lead {
	color: var(--rktm-color-text-soft);
	font-size: 17px;
	line-height: 1.45;
	margin-top: 1rem;
	max-width: 52rem;
}

.rktm-programs-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-top: 1.5rem;
}

.rktm-programs-filter {
	align-items: center;
	background: var(--rktm-color-surface-muted);
	border-radius: var(--rktm-radius-control);
	color: var(--rktm-color-text);
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	min-height: var(--rktm-control-height);
	padding: 0 16px;
	text-decoration: none;
}

.rktm-programs-filter--active {
	background: var(--rktm-gradient-brand);
	color: var(--rktm-color-white);
}

.rktm-programs-filter:not(.rktm-programs-filter--active):hover,
.rktm-programs-filter:not(.rktm-programs-filter--active):focus-visible {
	filter: brightness(0.97);
}

.rktm-programs-section__title {
	font-family: var(--rktm-font-heading);
	font-size: clamp(1.5rem, 2vw, 2rem);
	font-weight: 800;
	margin: 0 0 1.25rem;
	text-transform: uppercase;
}

.rktm-programs-section__list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.rktm-programs-section__subtitle {
	color: var(--rktm-color-text-soft);
	font-size: 16px;
	line-height: 1.45;
	margin: 0 0 1.25rem;
	max-width: 52rem;
}

.rktm-programs-support__grid {
	align-items: stretch;
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rktm-programs-support__panel {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(1.5rem, 3vw, 2rem);
}

.rktm-programs-support__panel .rktm-btn-gradient {
	margin-top: auto;
}

@media (max-width: 760px) {
	.rktm-programs-support__grid {
		grid-template-columns: 1fr;
	}
}

.rktm-programs-economy-note__panel {
	padding: clamp(1.5rem, 3vw, 2rem);
}

.rktm-programs-economy-note__text {
	color: var(--rktm-color-text-soft);
	line-height: 1.45;
	margin-top: 0.75rem;
	max-width: 52rem;
}

.rktm-programs-economy-note__panel .rktm-btn-gradient {
	margin-top: 1.25rem;
}

.rktm-program-row {
	align-items: stretch;
	background: var(--rktm-color-surface);
	border-radius: 18px;
	box-sizing: border-box;
	color: inherit;
	display: flex;
	gap: clamp(1rem, 2vw, 1.75rem);
	min-height: 200px;
	overflow: hidden;
	padding: clamp(0.75rem, 2vw, 1rem);
	text-decoration: none;
	transition: filter 0.15s ease;
}

.rktm-program-row:hover,
.rktm-program-row:focus-visible {
	filter: brightness(0.98);
}

.rktm-program-row__thumb-wrap {
	border-radius: calc(var(--rktm-radius-card) - 4px);
	flex: 0 0 clamp(120px, 18vw, 200px);
	overflow: hidden;
}

.rktm-program-row__thumb {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.rktm-program-row__thumb-fallback {
	background: linear-gradient(135deg, var(--rktm-color-surface-muted), var(--rktm-color-surface));
	display: block;
	min-height: 160px;
	width: 100%;
}

.rktm-program-row__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 0.65rem;
	justify-content: center;
}

.rktm-program-row__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem;
}

.rktm-program-row__title {
	font-size: clamp(16px, 1.5vw, 20px);
	font-weight: 700;
	line-height: 1.25;
}

.rktm-programs-docs__panel {
	padding: clamp(1.5rem, 3vw, 2rem);
}

.rktm-programs-docs__title {
	font-family: var(--rktm-font-heading);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 800;
	margin: 0;
	text-transform: uppercase;
}

.rktm-programs-docs__text {
	color: var(--rktm-color-text-soft);
	line-height: 1.45;
	margin-top: 0.75rem;
	max-width: 46rem;
}

.rktm-programs-docs__panel .rktm-btn-gradient {
	margin-top: 1.25rem;
}

@media (max-width: 640px) {
	.rktm-program-row {
		flex-direction: column;
		min-height: 0;
	}

	.rktm-program-row__thumb-wrap {
		flex-basis: auto;
		max-height: 200px;
	}
}

/* --- Подвал pixel: бренд | меню | контакты --- */
.rktm-pixel-footer {
	background: var(--rktm-color-brand);
	box-sizing: border-box;
	color: var(--rktm-color-white);
	margin-top: clamp(2rem, 5vw, 4rem);
	padding-block: clamp(2.25rem, 5vw, 3.5rem);
}

.rktm-pixel-footer__grid {
	align-items: start;
	column-gap: clamp(1.5rem, 4vw, 2.75rem);
	display: grid;
	grid-template-columns: minmax(200px, 280px) minmax(0, 1fr) minmax(200px, 260px);
	row-gap: clamp(1.5rem, 3vw, 2rem);
}

.rktm-pixel-footer__menus {
	align-self: stretch;
	min-width: 0;
}

.rktm-pixel-footer__menus .rktm-pixel-footer__nav {
	column-gap: clamp(2rem, 5vw, 4rem);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
	row-gap: 1.25rem;
}

.rktm-pixel-footer__nav > li.menu-item-has-children,
.rktm-pixel-footer__menus .rktm-pixel-footer__nav > li.menu-item-has-children {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
}

.rktm-pixel-footer__nav > li > a,
.rktm-pixel-footer__menus .rktm-pixel-footer__nav > li.menu-item-has-children > a {
	display: inline-block;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.35;
	text-decoration: none;
	text-transform: uppercase;
}

.rktm-pixel-footer__nav a,
.rktm-pixel-footer__menus .rktm-pixel-footer__nav a {
	color: var(--rktm-color-white);
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
}

.rktm-pixel-footer__nav a:hover,
.rktm-pixel-footer__menus .rktm-pixel-footer__nav a:hover,
.rktm-pixel-footer__nav a:focus-visible,
.rktm-pixel-footer__menus .rktm-pixel-footer__nav a:focus-visible {
	text-decoration: underline;
}

.rktm-pixel-footer__menus .rktm-pixel-footer__nav .sub-menu,
.rktm-pixel-footer__nav .sub-menu {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	list-style: none;
	margin: 0.65rem 0 0;
	padding: 0;
}

.rktm-pixel-footer__menus .rktm-pixel-footer__nav .sub-menu li,
.rktm-pixel-footer__nav .sub-menu li {
	margin: 0;
}

.rktm-pixel-footer__menus .rktm-pixel-footer__nav .sub-menu a,
.rktm-pixel-footer__nav .sub-menu a {
	text-transform: none;
}

/* Плоские пункты подвального меню (без группировки админкой). */
.rktm-pixel-footer__menus .rktm-pixel-footer__nav > li:not(.menu-item-has-children) > a {
	font-size: 14px;
	font-weight: 600;
	text-transform: none;
}

.rktm-pixel-footer__logo {
	display: block;
}

.rktm-pixel-footer__logo img {
	filter: brightness(0) invert(1);
	max-height: 74px;
	width: auto;
}

.rktm-pixel-footer__tagline {
	font-size: 14px;
	line-height: 1.45;
	margin: 0.75rem 0 0;
	opacity: 0.92;
}

.rktm-pixel-footer__contact {
	font-style: normal;
	margin: 0;
}

.rktm-pixel-footer__contact-title {
	font-family: var(--rktm-font-heading);
	font-size: clamp(1.05rem, 1.2vw, 1.2rem);
	font-weight: 800;
	line-height: 1.25;
	margin: 0;
	text-transform: uppercase;
}

.rktm-pixel-footer__contact-line {
	margin: 0.65rem 0 0;
}

.rktm-pixel-footer__contact-link {
	color: var(--rktm-color-white);
	display: inline-block;
	font-size: 16px;
	font-weight: 800;
	line-height: 1.35;
	text-decoration: none;
	white-space: nowrap;
}

.rktm-pixel-footer__contact-link:hover,
.rktm-pixel-footer__contact-link:focus-visible {
	text-decoration: underline;
}

.rktm-pixel-footer__contact-more {
	color: var(--rktm-color-white);
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	opacity: 0.95;
}

.rktm-pixel-footer__contact-more:hover,
.rktm-pixel-footer__contact-more:focus-visible {
	text-decoration: underline;
}

@media (max-width: 960px) {
	.rktm-pixel-footer__grid {
		grid-template-columns: 1fr;
	}

	.rktm-pixel-footer__menus .rktm-pixel-footer__nav {
		grid-template-columns: 1fr;
	}
}

/* Узкие телефоны: без горизонтального скролла; лист мегаменю прокручивается */
@media (max-width: 375px) {
	.rktm-front-page {
		overflow-x: clip;
	}

	.rktm-mega__sheet {
		-webkit-overflow-scrolling: touch;
	}
}
