/* ==========================================================================
   Мастерская воспитания. Три страницы: каталог рубрик, страница рубрики
   и страница материала. Цвета, скругления и тени — из tokens.css.
   ========================================================================== */

.fcrv-mv {
	--mv-bd: #E3ECF7;
	--mv-card: 0 10px 30px rgba(9, 20, 60, .08);
	--mv-card-h: 0 18px 44px rgba(9, 20, 60, .14);
	color: #1F2933;
	font-family: Montserrat, Commissioner, sans-serif;
}

.fcrv-mv__wrap {
	max-width: var(--content-max, 1390px);
	margin-inline: auto;
	padding-inline: var(--gutter, 24px);
}

.fcrv-mv__empty { margin: 0; padding: 26px 0 40px; color: #6b7490; font-size: 15px; }

/* --------------------------------- шапка --------------------------------- */

.fcrv-mv__hero { padding: 34px 0 36px; background: #fff; }

.fcrv-mv__crumbs { margin-bottom: 22px; font-size: 12.5px; color: #8b95ab; }
.fcrv-mv .fcrv-mv__crumbs a { color: #8b95ab; text-decoration: none !important; }
.fcrv-mv .fcrv-mv__crumbs a:hover { color: var(--c-blue-600, #1456ff); }
.fcrv-mv__crumbs span { margin-inline: 6px; }
.fcrv-mv__crumbs b { color: #1F2933; font-weight: 600; }

/* Колонки выравниваем по верху. При align-items: end короткая левая
   колонка прижималась к низу более высокой правой, и над надзаголовком
   зависала пустота в 40–80 px — тем больше, чем уже экран. */
.fcrv-mv__hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 16px 40px;
	align-items: start;
}

.fcrv-mv__kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin-bottom: 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-blue-600, #1456ff);
}

/* Точка «в эфире»: та же, что в плашках-кикерах на других страницах. */
.fcrv-mv__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--c-coral, #fd6464);
	animation: fcrv-mv-pulse 2.2s infinite;
}
@keyframes fcrv-mv-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(253, 100, 100, .6); }
	70%      { box-shadow: 0 0 0 7px rgba(253, 100, 100, 0); }
}

.fcrv-mv .fcrv-mv__title {
	margin: 0;
	font-size: clamp(30px, 4vw, 52px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.01em;
	color: var(--c-blue-900, #002f9d);
	text-wrap: balance;
}
.fcrv-mv .fcrv-mv__title::after { content: none; }

.fcrv-mv__lead { margin: 0 0 18px; font-size: 16px; line-height: 1.55; color: #3d4665; }

.fcrv-mv__stats { display: flex; flex-wrap: wrap; gap: 12px 28px; font-size: 13px; color: #8b95ab; }
.fcrv-mv__stats b {
	margin-right: 6px;
	font-size: 22px;
	font-weight: 800;
	color: #1F2933;
}

/* ----------------------------- бегущая строка -----------------------------
   Две одинаковые половины: пока первая уходит влево, вторая занимает её
   место, и строка идёт без стыка. */

.fcrv-mv__marquee {
	overflow: hidden;
	padding: 12px 0;
	border-top: 1.5px solid var(--mv-bd);
	border-bottom: 1.5px solid var(--mv-bd);
	background: #fff;
}

.fcrv-mv__marquee-track {
	display: flex;
	align-items: center;
	gap: 40px;
	width: max-content;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-blue-900, #002f9d);
	animation: fcrv-mv-mq 30s linear infinite;
}
.fcrv-mv__marquee-track i { font-style: normal; color: var(--c-coral, #fd6464); }
@keyframes fcrv-mv-mq { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* --------------------------------- рубрики --------------------------------- */

.fcrv-mv__sec { padding: 40px 0 48px; }

.fcrv-mv__rubrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.fcrv-mv .fcrv-mv__rub {
	display: flex;
	flex-direction: column;
	border-radius: var(--r-md, 20px);
	background: #fff;
	box-shadow: var(--mv-card);
	overflow: hidden;
	color: #1F2933;
	text-decoration: none !important;
	transition: transform var(--dur, .28s) var(--ease, ease), box-shadow var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__rub:hover { transform: translateY(-4px); box-shadow: var(--mv-card-h); }

.fcrv-mv__rub-art {
	position: relative;
	display: block;
	height: 170px;
	background: var(--c-blue-900, #002f9d) center / cover no-repeat;
}
/* Синяя вуаль: под ней читается белое название на любой фотографии. */
.fcrv-mv__rub-art::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(0, 47, 157, .92), rgba(20, 86, 255, .55));
}

.fcrv-mv__rub-badge,
.fcrv-mv__rub-name { position: absolute; z-index: 1; }

.fcrv-mv__rub-badge {
	top: 16px;
	left: 18px;
	padding: 5px 11px;
	border-radius: var(--r-pill, 9999px);
	background: rgba(255, 255, 255, .18);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
}

.fcrv-mv__rub-name {
	left: 22px;
	right: 22px;
	bottom: 18px;
	font-size: clamp(20px, 2vw, 26px);
	font-weight: 800;
	line-height: 1.1;
	color: #fff;
	text-wrap: balance;
}

.fcrv-mv__rub-body { display: flex; flex-direction: column; gap: 14px; flex: 1; padding: 20px 22px 22px; }
.fcrv-mv__rub-desc { font-size: 14px; line-height: 1.5; color: #3d4665; }

.fcrv-mv__rub-label {
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-blue-600, #1456ff);
}

.fcrv-mv__rub-list { display: flex; flex-direction: column; gap: 9px; }
.fcrv-mv__rub-row { display: flex; gap: 10px; align-items: flex-start; }
.fcrv-mv__rub-row i { flex: none; min-width: 52px; padding-top: 2px; font-style: normal; font-size: 12px; color: #8b95ab; }
.fcrv-mv__rub-row b { font-size: 13.5px; font-weight: 400; line-height: 1.4; color: #1F2933; }
.fcrv-mv .fcrv-mv__rub:hover .fcrv-mv__rub-row b { color: var(--c-blue-900, #002f9d); }

.fcrv-mv__rub-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 6px;
}
.fcrv-mv__rub-foot i { font-style: normal; font-size: 12.5px; color: #8b95ab; }

/* Карточка об авторах — последней плиткой в сетке рубрик.
   Тёмная, с узором из точек: пунктирная рамка читалась как пустое место. */
.fcrv-mv__team {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 30px 30px 26px;
	border-radius: var(--r-md, 20px);
	background: linear-gradient(145deg, #0B1A5C 0%, #22307F 55%, #4B2FA8 100%);
	box-shadow: var(--mv-card);
	color: rgba(255, 255, 255, .82);
	overflow: hidden;
	isolation: isolate;
}
.fcrv-mv__team::before {
	content: "";
	position: absolute;
	inset: 0 0 auto auto;
	width: 62%;
	height: 70%;
	background: radial-gradient(rgba(255, 255, 255, .16) 1.4px, transparent 1.6px) 0 0 / 16px 16px;
	-webkit-mask-image: linear-gradient(225deg, #000 10%, transparent 75%);
	        mask-image: linear-gradient(225deg, #000 10%, transparent 75%);
	z-index: -1;
}
.fcrv-mv__team::after {
	content: "";
	position: absolute;
	right: -90px;
	bottom: -110px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(126, 92, 255, .55), transparent 70%);
	z-index: -1;
}
.fcrv-mv__team-kick {
	align-self: flex-start;
	padding: 5px 11px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .12);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #fff;
}
.fcrv-mv__team-h { font-family: Montserrat, Commissioner, sans-serif; font-size: 26px; font-weight: 800; line-height: 1.15; color: #fff; }
.fcrv-mv__team p { margin: 0; max-width: 560px; font-size: 14.5px; line-height: 1.55; }

.fcrv-mv__people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.fcrv-mv .fcrv-mv__people a {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 10px 12px;
	border-radius: 14px;
	background: rgba(255, 255, 255, .08);
	color: #fff;
	text-decoration: none !important;
	transition: background var(--dur, .28s) var(--ease, ease), transform var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__people a:hover { background: rgba(255, 255, 255, .16); transform: translateY(-2px); color: #fff; }
.fcrv-mv__person { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.fcrv-mv__person b { font-size: 13.5px; font-weight: 700; line-height: 1.3; }
.fcrv-mv__person i {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-style: normal;
	font-size: 12px;
	line-height: 1.35;
	color: rgba(255, 255, 255, .66);
}
.fcrv-mv__face {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #fff center / cover no-repeat;
	font-size: 13px;
	font-weight: 800;
	color: #3B2A9E;
}
.fcrv-mv__team-more { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .7); }

@media (max-width: 620px) {
	.fcrv-mv__team { padding: 24px 20px; }
	.fcrv-mv__team-h { font-size: 22px; }
	.fcrv-mv__people { grid-template-columns: minmax(0, 1fr); }
}

/* --------------------------------- кнопки --------------------------------- */

.fcrv-mv .fcrv-mv__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 22px;
	border: 1.5px solid transparent;
	border-radius: var(--r-pill, 9999px);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform var(--dur, .28s) var(--ease, ease), background var(--dur, .28s) var(--ease, ease),
	            color var(--dur, .28s) var(--ease, ease), box-shadow var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv__btn svg { flex: none; transition: transform var(--dur, .28s) var(--ease, ease); }
.fcrv-mv__btn:hover svg,
.fcrv-mv__rub:hover .fcrv-mv__btn svg { transform: translateX(4px); }

.fcrv-mv .fcrv-mv__btn--ghost { border-color: var(--c-blue-600, #1456ff); background: #fff; color: var(--c-blue-600, #1456ff); }
.fcrv-mv .fcrv-mv__btn--ghost:hover { background: var(--c-blue-600, #1456ff); color: #fff; }

.fcrv-mv .fcrv-mv__btn--primary {
	background: linear-gradient(90deg, var(--c-blue-600, #1456ff), var(--c-blue-400, #1284e7));
	color: #fff;
	box-shadow: 0 10px 26px rgba(20, 86, 255, .38);
}
.fcrv-mv .fcrv-mv__btn--primary:hover { color: #fff; transform: translateY(-2px); }

.fcrv-mv .fcrv-mv__btn--white { padding: 13px 28px; background: #fff; color: var(--c-blue-900, #002f9d); font-size: 15px; }
.fcrv-mv .fcrv-mv__btn--white:hover { transform: translateY(-2px); }

/* ---------------------------------- лента ---------------------------------- */

.fcrv-mv__cta {
	position: relative;
	padding: 96px 0 60px;
	text-align: center;
	color: #fff;
}
.fcrv-mv__cta-wave { position: absolute; left: 0; right: 0; top: 0; height: var(--fcrv-wave-h-top, 120px); line-height: 0; }
.fcrv-mv__cta-wave svg { width: 100%; height: 100%; display: block; }

.fcrv-mv__cta-text {
	max-width: 720px;
	margin: 0 auto 22px;
	font-size: clamp(18px, 2vw, 24px);
	font-weight: 700;
	line-height: 1.35;
	text-wrap: balance;
}

/* ============================ страница рубрики ============================ */

.fcrv-mv__rhero { padding: 34px 0 32px; background: #fff; border-bottom: 1.5px solid var(--mv-bd); }

.fcrv-mv__rhero-grid { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 28px; align-items: start; }

.fcrv-mv__bignum { font-size: 64px; font-weight: 800; line-height: 1; color: #b3ccf8; }

.fcrv-mv__rkicker {
	display: flex;
	gap: 10px;
	align-items: center;
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--c-blue-600, #1456ff);
}
.fcrv-mv .fcrv-mv__rkicker a { color: inherit; text-decoration: none !important; }
.fcrv-mv .fcrv-mv__rkicker a:hover { text-decoration: underline !important; }
.fcrv-mv__rkicker i { font-style: normal; color: #8b95ab; }

.fcrv-mv .fcrv-mv__rtitle,
.fcrv-mv .fcrv-mv__itemtitle {
	margin: 0 0 18px;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var(--c-blue-900, #002f9d);
	text-wrap: balance;
}
.fcrv-mv .fcrv-mv__rtitle { font-size: clamp(28px, 4vw, 52px); }
.fcrv-mv .fcrv-mv__itemtitle { font-size: clamp(26px, 3.4vw, 44px); line-height: 1.1; }
.fcrv-mv .fcrv-mv__rtitle::after,
.fcrv-mv .fcrv-mv__itemtitle::after { content: none; }

.fcrv-mv__rdesc { font-size: 14.5px; line-height: 1.55; color: #3d4665; }
.fcrv-mv__rdesc p { margin: 0; }
.fcrv-mv__rdesc--two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }

.fcrv-mv__rstats,
.fcrv-mv__itemmeta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px 24px;
	margin-top: 22px;
	padding-top: 18px;
	border-top: 1.5px solid var(--mv-bd);
	font-size: 13px;
	color: #8b95ab;
}
.fcrv-mv__rstats b,
.fcrv-mv__itemmeta b { color: #1F2933; font-weight: 600; }

/* ---------------------------- главный материал ---------------------------- */

.fcrv-mv .fcrv-mv__lead-card {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	margin: 36px 0 32px;
	border-radius: var(--r-lg, 28px);
	background: #fff;
	box-shadow: var(--mv-card);
	overflow: hidden;
	color: #1F2933;
	text-decoration: none !important;
	transition: transform var(--dur, .28s) var(--ease, ease), box-shadow var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__lead-card:hover { transform: translateY(-4px); box-shadow: var(--mv-card-h); }

.fcrv-mv__lead-art {
	position: relative;
	min-height: 300px;
	background: linear-gradient(135deg, #dbe6f5, #eef3fa) center / cover no-repeat;
}

.fcrv-mv__fresh {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 5px 11px;
	border-radius: var(--r-pill, 9999px);
	background: var(--c-coral, #fd6464);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fcrv-mv__lead-body { display: flex; flex-direction: column; gap: 12px; padding: 32px 34px; }
.fcrv-mv__lead-title { font-size: clamp(20px, 2.2vw, 26px); font-weight: 700; line-height: 1.25; color: #111318; text-wrap: balance; }
.fcrv-mv__lead-text { font-size: 14px; line-height: 1.55; color: #3d4665; }
.fcrv-mv__more { margin-top: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 700; color: var(--c-blue-600, #1456ff); }
.fcrv-mv__lead-card:hover .fcrv-mv__more svg { transform: translateX(4px); }
.fcrv-mv__more svg { transition: transform var(--dur, .28s) var(--ease, ease); }

.fcrv-mv__card-meta { display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 12.5px; color: #8b95ab; }
.fcrv-mv__card-meta i { font-style: normal; font-weight: 600; color: var(--c-blue-600, #1456ff); }

.fcrv-mv__chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: auto; padding-top: 6px; }
.fcrv-mv__chips i {
	padding: 5px 10px;
	border-radius: var(--r-xs, 8px);
	background: var(--c-blue-50, #f3f9fe);
	color: var(--c-blue-900, #002f9d);
	font-size: 11.5px;
	font-style: normal;
	font-weight: 600;
}

/* --------------------------------- отбор --------------------------------- */

.fcrv-mv__list { padding-bottom: 8px; }

.fcrv-mv__filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }

.fcrv-mv .fcrv-mv__chip {
	padding: 8px 14px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-sm, 12px);
	background: #fff;
	color: #3d4665;
	font: inherit;
	font-size: 13.5px;
	font-weight: 600;
	cursor: pointer;
	transition: all .2s var(--ease, ease);
}
.fcrv-mv .fcrv-mv__chip.is-on { border-color: var(--c-blue-600, #1456ff); background: var(--c-blue-600, #1456ff); color: #fff; }
.fcrv-mv .fcrv-mv__chip:hover:not(.is-on) { border-color: var(--c-blue-400, #1284e7); color: var(--c-blue-900, #002f9d); }

.fcrv-mv__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }

.fcrv-mv .fcrv-mv__card {
	display: flex;
	flex-direction: column;
	border-radius: var(--r-md, 20px);
	background: #fff;
	box-shadow: var(--mv-card);
	overflow: hidden;
	color: #1F2933;
	text-decoration: none !important;
	transition: transform var(--dur, .28s) var(--ease, ease), box-shadow var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__card:hover { transform: translateY(-4px); box-shadow: var(--mv-card-h); }
.fcrv-mv__card.is-hidden { display: none; }

.fcrv-mv__card-art { height: 120px; background: linear-gradient(135deg, #dbe6f5, #eef3fa) center / cover no-repeat; }
.fcrv-mv__card-body { display: flex; flex-direction: column; gap: 8px; flex: 1; padding: 16px 18px 18px; }
.fcrv-mv__card-title { font-size: 15px; font-weight: 700; line-height: 1.35; color: #111318; }

.fcrv-mv__none { margin: 22px 0 0; color: #6b7490; font-size: 15px; }
.fcrv-mv__more-wrap { display: flex; justify-content: center; margin-top: 26px; }

/* ----------------------------- другие рубрики ----------------------------- */

.fcrv-mv__others { margin: 34px 0 48px; padding-top: 24px; border-top: 1.5px solid var(--mv-bd); }
.fcrv-mv__others-h {
	margin-bottom: 12px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8b95ab;
}
.fcrv-mv__pills { display: flex; flex-wrap: wrap; gap: 8px; }
.fcrv-mv .fcrv-mv__pill {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 11px 20px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-pill, 9999px);
	background: #fff;
	color: #3d4665;
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none !important;
	transition: border-color var(--dur-fast, .16s) var(--ease, ease), color var(--dur-fast, .16s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__pill:hover { border-color: var(--c-blue-600, #1456ff); color: var(--c-blue-600, #1456ff); }
.fcrv-mv__pill i { font-style: normal; font-weight: 800; color: #b3ccf8; }

/* =========================== страница материала =========================== */

.fcrv-mv__itemlead { max-width: 640px; margin: 0; font-size: 16px; line-height: 1.55; color: #3d4665; }

.fcrv-mv__who { display: flex; gap: 10px; align-items: center; }
.fcrv-mv__who i {
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #dbe6f5 center / cover no-repeat;
}
.fcrv-mv__who b { display: block; color: #1F2933; font-weight: 600; }

.fcrv-mv__item-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: 32px;
	align-items: start;
	padding-top: 36px;
	padding-bottom: 48px;
}

.fcrv-mv__col { display: flex; flex-direction: column; gap: 24px; min-width: 0; }

.fcrv-mv__cover { height: 340px; border-radius: var(--r-lg, 28px); background: #eef3fa center / cover no-repeat; }
.fcrv-mv__video iframe,
.fcrv-mv__video video { width: 100%; aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: var(--r-lg, 28px); display: block; }

/* ------------------------------ текст статьи ------------------------------ */

.fcrv-mv__body {
	padding: 32px 36px;
	border-radius: var(--r-md, 20px);
	background: #fff;
	box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 47, 157, .06));
	font-size: 15.5px;
	line-height: 1.65;
	color: #3d4665;
}
.fcrv-mv__body > *:first-child { margin-top: 0; }
.fcrv-mv__body > *:last-child { margin-bottom: 0; }
.fcrv-mv__body p { margin: 0 0 18px; }

/* Первый абзац — врезка: задаёт тон всему материалу. */
.fcrv-mv__body > p:first-of-type { font-size: 18px; font-weight: 500; color: #1F2933; }

.fcrv-mv .fcrv-mv__body h2 {
	margin: 28px 0 12px;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.3;
	color: #111318;
	scroll-margin-top: 96px;
}
.fcrv-mv .fcrv-mv__body h2::after { content: none; }
.fcrv-mv .fcrv-mv__body h3 { margin: 22px 0 10px; font-size: 18px; font-weight: 700; color: #111318; }

.fcrv-mv__body ul,
.fcrv-mv__body ol { margin: 0 0 18px; padding-left: 22px; display: flex; flex-direction: column; gap: 8px; }
.fcrv-mv__body img { max-width: 100%; height: auto; border-radius: var(--r-sm, 12px); }
.fcrv-mv__body figure { margin: 0 0 18px; }

.fcrv-mv__body blockquote {
	margin: 0 0 18px;
	padding: 20px 24px;
	border-radius: var(--r-sm, 12px);
	border-left: 0;
	background: var(--c-blue-50, #f3f9fe);
	font-size: 15px;
	color: var(--c-blue-900, #002f9d);
}
.fcrv-mv__body blockquote p:last-child { margin: 0; }

/* --------------------------------- теги --------------------------------- */

.fcrv-mv__tags { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.fcrv-mv__tags > span { margin-right: 6px; font-size: 12.5px; color: #8b95ab; }
.fcrv-mv__tags i {
	padding: 6px 12px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-pill, 9999px);
	background: #fff;
	color: #3d4665;
	font-size: 12.5px;
	font-style: normal;
	font-weight: 600;
}

/* -------------------------------- автор -------------------------------- */

.fcrv-mv__author {
	display: flex;
	gap: 18px;
	align-items: center;
	padding: 22px 26px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-md, 20px);
	background: #fff;
}
.fcrv-mv__author--big { margin-top: 8px; border: 0; padding: 0; background: transparent; align-items: flex-start; }

.fcrv-mv__author-ph {
	flex: none;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #dbe6f5 center / cover no-repeat;
}
.fcrv-mv__author--big .fcrv-mv__author-ph { width: 108px; height: 108px; }

.fcrv-mv__author-body { flex: 1; min-width: 0; }
.fcrv-mv .fcrv-mv__author-name { margin: 0; font-size: 15px; font-weight: 700; color: #111318; }
.fcrv-mv__author--big .fcrv-mv__author-name { font-size: clamp(24px, 3vw, 36px); font-weight: 800; color: var(--c-blue-900, #002f9d); }
.fcrv-mv .fcrv-mv__author-name::after { content: none; }
.fcrv-mv__author-role { margin-bottom: 6px; font-size: 13px; color: #8b95ab; }
.fcrv-mv__author-body p { margin: 0; font-size: 13.5px; line-height: 1.5; color: #3d4665; }
.fcrv-mv .fcrv-mv__author-link { flex: none; font-size: 13px; font-weight: 700; color: var(--c-blue-600, #1456ff); text-decoration: none !important; }
.fcrv-mv .fcrv-mv__author-link:hover { text-decoration: underline !important; }

/* --------------------------- соседние материалы --------------------------- */

.fcrv-mv__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.fcrv-mv .fcrv-mv__nav-link {
	padding: 16px 20px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-sm, 12px);
	background: #fff;
	color: #1F2933;
	text-decoration: none !important;
	transition: border-color var(--dur-fast, .16s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__nav-link:hover { border-color: var(--c-blue-600, #1456ff); }
.fcrv-mv__nav-link--next { text-align: right; }
.fcrv-mv__nav-link i { display: block; margin-bottom: 6px; font-style: normal; font-size: 11.5px; color: #8b95ab; }
.fcrv-mv__nav-link b { font-size: 14px; font-weight: 600; line-height: 1.35; }

/* ------------------------------ боковая панель ------------------------------ */

.fcrv-mv__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 96px; }

.fcrv-mv__tools { padding: 22px; border-radius: var(--r-md, 20px); background: var(--c-blue-900, #002f9d); color: #fff; }
.fcrv-mv__tools-h {
	margin-bottom: 12px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .7);
}
/* Название файла и примечание — столбиком: в строку помещались только
   короткие названия, длинные наезжали на примечание. */
.fcrv-mv .fcrv-mv__tool {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	padding: 12px 14px;
	border-radius: var(--r-sm, 12px);
	background: #fff;
	color: var(--c-blue-900, #002f9d);
	font-size: 13.5px;
	font-weight: 600;
	text-decoration: none !important;
	transition: transform var(--dur-fast, .16s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__tool + .fcrv-mv__tool { margin-top: 8px; }
.fcrv-mv .fcrv-mv__tool:hover { transform: translateY(-2px); }
.fcrv-mv__tool i { font-style: normal; font-size: 11px; font-weight: 500; color: #8b95ab; }

.fcrv-mv__sb,
.fcrv-mv__share { padding: 20px 22px; border-radius: var(--r-md, 20px); background: #fff; }
.fcrv-mv__sb { border: 1.5px solid var(--mv-bd); box-shadow: var(--shadow-sm, 0 2px 8px rgba(0, 47, 157, .06)); }
.fcrv-mv__share { background: var(--c-blue-50, #f3f9fe); }
.fcrv-mv__sb-h { margin-bottom: 12px; font-size: 15px; font-weight: 700; color: #111318; }

.fcrv-mv__toc { display: flex; flex-direction: column; gap: 9px; }
.fcrv-mv .fcrv-mv__toc a {
	padding-left: 10px;
	border-left: 2px solid var(--mv-bd);
	font-size: 13.5px;
	line-height: 1.4;
	color: #3d4665;
	text-decoration: none !important;
	transition: color var(--dur-fast, .16s) var(--ease, ease), border-color var(--dur-fast, .16s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__toc a:hover,
.fcrv-mv .fcrv-mv__toc a.is-on { border-color: var(--c-blue-600, #1456ff); color: var(--c-blue-600, #1456ff); font-weight: 600; }

.fcrv-mv__sb-list { display: flex; flex-direction: column; gap: 12px; }
.fcrv-mv .fcrv-mv__sb-list a { display: flex; flex-direction: column; gap: 3px; color: #1F2933; text-decoration: none !important; }
.fcrv-mv__sb-list i { font-style: normal; font-size: 11.5px; color: #8b95ab; }
.fcrv-mv__sb-list b { font-size: 13.5px; font-weight: 600; line-height: 1.35; }
.fcrv-mv .fcrv-mv__sb-list a:hover b { color: var(--c-blue-600, #1456ff); }

.fcrv-mv .fcrv-mv__sb-all { display: inline-flex; align-items: center; gap: 8px; margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--c-blue-600, #1456ff); text-decoration: none !important; }
.fcrv-mv .fcrv-mv__sb-all:hover svg { transform: translateX(4px); }
.fcrv-mv__sb-all svg { transition: transform var(--dur, .28s) var(--ease, ease); }

.fcrv-mv__share-row { display: flex; flex-wrap: wrap; gap: 8px; }
.fcrv-mv .fcrv-mv__share-row a {
	padding: 8px 14px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-pill, 9999px);
	background: #fff;
	font-size: 12.5px;
	font-weight: 600;
	color: #3d4665;
	text-decoration: none !important;
}
.fcrv-mv .fcrv-mv__share-row a:hover { border-color: var(--c-blue-600, #1456ff); color: var(--c-blue-600, #1456ff); }

/* ---------------------------- вопрос эксперту ---------------------------- */

.fcrv-mv__ask { margin: 40px 0 8px; padding: 28px 30px; border-radius: var(--r-md, 20px); background: #fff; box-shadow: var(--mv-card); }
.fcrv-mv__form { display: flex; flex-direction: column; gap: 14px; max-width: 720px; }
.fcrv-mv__form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.fcrv-mv__form label { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; font-weight: 600; color: #3d4665; }
.fcrv-mv__form input,
.fcrv-mv__form textarea {
	padding: 12px 16px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-sm, 12px);
	background: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 400;
	color: #1F2933;
	outline: none;
}
.fcrv-mv__form input:focus,
.fcrv-mv__form textarea:focus { border-color: var(--c-blue-400, #1284e7); box-shadow: 0 0 0 3px rgba(20, 86, 255, .12); }
.fcrv-mv__form button { align-self: flex-start; }

/* Ловушка для роботов: человек этого поля не видит. */
.fcrv-mv__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.fcrv-mv__ask-ok  { margin: 0 0 14px; color: #0a6b35; font-size: 14.5px; }
.fcrv-mv__ask-err { margin: 0 0 14px; color: #b3261e; font-size: 14.5px; }

/* --------------------------------- адаптив --------------------------------- */

@media (max-width: 1100px) {
	.fcrv-mv__item-grid { grid-template-columns: minmax(0, 1fr); }
	.fcrv-mv__side { position: static; }
	.fcrv-mv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
	.fcrv-mv__hero-grid { grid-template-columns: 1fr; gap: 22px; align-items: start; }
	.fcrv-mv__rubrics { grid-template-columns: 1fr; }
	.fcrv-mv .fcrv-mv__lead-card { grid-template-columns: 1fr; }
	.fcrv-mv__lead-art { min-height: 200px; }
	.fcrv-mv__rdesc--two { grid-template-columns: 1fr; gap: 14px; }
}

@media (max-width: 767px) {
	.fcrv-mv__hero, .fcrv-mv__rhero { padding: 22px 0 26px; }
	.fcrv-mv__sec { padding: 28px 0 34px; }
	.fcrv-mv__rhero-grid { grid-template-columns: 1fr; gap: 10px; }
	.fcrv-mv__bignum { font-size: 44px; }
	.fcrv-mv__grid { grid-template-columns: 1fr; }
	.fcrv-mv__body { padding: 22px 20px; font-size: 15px; }
	.fcrv-mv__cover { height: 210px; }
	.fcrv-mv__nav { grid-template-columns: 1fr; }
	.fcrv-mv__nav-link--next { text-align: left; }
	.fcrv-mv__author { flex-wrap: wrap; }
	.fcrv-mv__author--big .fcrv-mv__author-ph { width: 84px; height: 84px; }
	.fcrv-mv__lead-body { padding: 22px 20px; }
	.fcrv-mv__form-row { grid-template-columns: 1fr; }
	.fcrv-mv__ask { padding: 22px 20px; }
	.fcrv-mv__cta { padding: 72px 0 44px; }
	/* Бегущая строка на телефоне занимает слишком много внимания. */
	.fcrv-mv__marquee { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.fcrv-mv__marquee-track { animation: none; }
	.fcrv-mv__dot { animation: none; }
	.fcrv-mv__rub, .fcrv-mv__card, .fcrv-mv__lead-card, .fcrv-mv__btn, .fcrv-mv__tool { transition: none !important; }
	.fcrv-mv__rub:hover, .fcrv-mv__card:hover, .fcrv-mv__lead-card:hover { transform: none; }
}

/* Год и порядок — справа в строке отбора, как в макете. */
.fcrv-mv__selects { display: flex; gap: 8px; margin-left: auto; }

.fcrv-mv__select select {
	padding: 8px 14px;
	border: 1.5px solid var(--mv-bd);
	border-radius: var(--r-sm, 12px);
	background: #fff;
	color: #616E7C;
	font: inherit;
	font-size: 13.5px;
	cursor: pointer;
	outline: none;
}
.fcrv-mv__select select:focus { border-color: var(--c-blue-400, #1284e7); box-shadow: 0 0 0 3px rgba(20, 86, 255, .12); }

@media (max-width: 767px) {
	.fcrv-mv__selects { width: 100%; margin-left: 0; }
	.fcrv-mv__select { flex: 1; }
	.fcrv-mv__select select { width: 100%; }
}

/* ------------------------- стык ленты и подвала -------------------------
   Синяя лента — последний блок каталога, и подвал под ней тоже синий.
   Его собственная волна ложилась светлой полосой ровно между ними, и низ
   страницы читался как два подвала подряд. Когда лента идёт перед
   подвалом, эта волна не нужна: переход от страницы к синему уже сделан
   волной самой ленты, дальше синее продолжается без стыка.
   ------------------------------------------------------------------------ */

main.fcrv-mv:has( > .fcrv-mv__cta:last-child ) + footer .fcrv-footer__wave { display: none; }

/* Отступ сверху у подвала считался от высоты спрятанной волны — без неё
   осталась бы пустая синева почти на 200 px. */
main.fcrv-mv:has( > .fcrv-mv__cta:last-child ) + footer .fcrv-footer__inner { padding-top: 56px; }

/* ==========================================================================
   Фиолетовый акцент «Мастерской» — как в прототипе.

   Синий остаётся цветом сайта: шапка, заголовки, лента и подвал не меняются.
   Фиолетовым помечен сам раздел — обложки рубрик, полоса под заголовком
   секции, подписи, кнопки-пилюли и плашки. Палитра снята пипеткой с
   картинок прототипа.
   ========================================================================== */

.fcrv-mv {
	--mv-violet-900: #4614b3;
	--mv-violet-700: #5b21d6;
	--mv-violet-600: #6d3adb;
	--mv-violet-400: #9563fb;
	--mv-violet-50:  #f4efff;
	--mv-violet-bd:  #e0d4fb;
}

/* --------------------------- обложки рубрик ---------------------------
   Фиолетовая вуаль вместо синей, а поверх — диагональная штриховка: в
   прототипе она лежала верхним слоем и давала обложке фактуру. Порядок
   слоёв в background-image — сверху вниз, поэтому штрихи идут первыми.
   Фотография остаётся под вуалью; если её нет, обложка выглядит ровно
   так же, как в прототипе.
   ---------------------------------------------------------------------- */

.fcrv-mv__rub-art { background-color: var(--mv-violet-900); }

.fcrv-mv__rub-art::after {
	background-image:
		repeating-linear-gradient(135deg,
			rgba(255, 255, 255, .085) 0 7px,
			rgba(255, 255, 255, 0) 7px 16px),
		linear-gradient(150deg,
			rgba(70, 20, 179, .93) 0%,
			rgba(109, 58, 219, .82) 48%,
			rgba(149, 99, 251, .62) 100%);
}

/* Заглушки без фотографии — тот же фиолетовый градиент со штриховкой,
   что и на обложках рубрик. Бледная сирень читалась как пустое место,
   а не как заготовка: страницу в таком виде не показать.

   Угол и светлота градиента чередуются по четыре: шесть одинаковых
   прямоугольников в сетке выглядели бы повтором, а не набором. */
.fcrv-mv__card-art,
.fcrv-mv__lead-art {
	background-image:
		repeating-linear-gradient(135deg,
			rgba(255, 255, 255, .09) 0 7px,
			rgba(255, 255, 255, 0) 7px 16px),
		linear-gradient(150deg, var(--mv-violet-700), var(--mv-violet-400));
}

.fcrv-mv__card:nth-child(4n+2) .fcrv-mv__card-art {
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,.09) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(150deg, var(--mv-violet-900), var(--mv-violet-600));
}
.fcrv-mv__card:nth-child(4n+3) .fcrv-mv__card-art {
	background-image:
		repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(120deg, var(--mv-violet-600), #b58bfc);
}
.fcrv-mv__card:nth-child(4n) .fcrv-mv__card-art {
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,.09) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(165deg, var(--mv-violet-900), var(--mv-violet-400));
}

/* С фотографией инлайновый background-image перекрывает заглушку целиком —
   штриховки там нет, и это правильно: поверх снимка она была бы лишней. */

/* --------------------------- акценты раздела --------------------------- */

/* Полоса под заголовком секции — только внутри «Мастерской». */
.fcrv-mv .fcrv-sec-h::after {
	background: linear-gradient(90deg, var(--mv-violet-700), var(--mv-violet-400));
}

/* Подписи-надзаголовки внутри карточек и рубрик. */
.fcrv-mv__rub-label { color: var(--mv-violet-600); }

/* Крупный номер рубрики. */
.fcrv-mv__bignum { color: #c9b6f8; }
.fcrv-mv__pill i { color: #c9b6f8; }

/* Кнопка-пилюля «Открыть рубрику», «Показать ещё». */
.fcrv-mv .fcrv-mv__btn--ghost {
	border-color: var(--mv-violet-600);
	color: var(--mv-violet-700);
}
.fcrv-mv .fcrv-mv__btn--ghost:hover {
	background: var(--mv-violet-600);
	border-color: var(--mv-violet-600);
	color: #fff;
}

/* Отбор: выбранный чип. */
.fcrv-mv .fcrv-mv__chip.is-on {
	border-color: var(--mv-violet-600);
	background: var(--mv-violet-600);
}
.fcrv-mv .fcrv-mv__chip:hover:not(.is-on) {
	border-color: var(--mv-violet-400);
	color: var(--mv-violet-700);
}

/* Плашки инструментов на карточках и теги материала. */
.fcrv-mv__chips i {
	background: var(--mv-violet-50);
	color: var(--mv-violet-900);
}
.fcrv-mv .fcrv-mv__pill:hover {
	border-color: var(--mv-violet-600);
	color: var(--mv-violet-700);
}

/* Тип материала в строке «Статья · 8 сент» и ссылка «Читать материал». */
.fcrv-mv__card-meta i,
.fcrv-mv__more { color: var(--mv-violet-700); }

/* Оглавление и список «Ещё в рубрике» в боковой колонке. */
.fcrv-mv .fcrv-mv__toc a:hover,
.fcrv-mv .fcrv-mv__toc a.is-on { border-color: var(--mv-violet-600); color: var(--mv-violet-700); }
.fcrv-mv .fcrv-mv__sb-list a:hover b { color: var(--mv-violet-700); }
.fcrv-mv .fcrv-mv__sb-all { color: var(--mv-violet-700); }

/* Цитата в тексте материала. */
.fcrv-mv__body blockquote {
	background: var(--mv-violet-50);
	color: var(--mv-violet-900);
}

/* ==========================================================================
   Фирменный цвет рубрики.

   Задаётся в настройках рубрики и приходит в разметку двумя переменными:
   готовым цветом и его каналами. Каналы нужны для полупрозрачных слоёв
   поверх фотографии — там требуется не цвет, а именно составляющие.
   Не задан — подставляется общий фиолетовый раздела.
   ========================================================================== */

.fcrv-mv {
	--mv-accent: var(--mv-violet-600);
	--mv-accent-rgb: 109 58 219;
}

/* Обложка рубрики: вуаль в цвете рубрики, поверх — штриховка. */
.fcrv-mv__rub-art { background-color: var(--mv-accent); }

.fcrv-mv__rub-art::after {
	background-image:
		repeating-linear-gradient(135deg,
			rgba(255, 255, 255, .085) 0 7px,
			rgba(255, 255, 255, 0) 7px 16px),
		linear-gradient(150deg,
			rgb(var(--mv-accent-rgb) / .95) 0%,
			rgb(var(--mv-accent-rgb) / .84) 48%,
			rgb(var(--mv-accent-rgb) / .55) 100%),
		linear-gradient(150deg, rgba(8, 0, 40, .34), rgba(8, 0, 40, 0));
}

/* Заглушки без фотографии — тот же цвет, слегка разной плотности,
   чтобы ряд карточек не выглядел повтором одного прямоугольника. */
.fcrv-mv__card-art,
.fcrv-mv__lead-art {
	background-color: var(--mv-accent);
	background-image:
		repeating-linear-gradient(135deg, rgba(255,255,255,.1) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(150deg, rgba(8,0,40,.34), rgba(255,255,255,.14));
}
.fcrv-mv__card:nth-child(4n+2) .fcrv-mv__card-art {
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,.1) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(150deg, rgba(8,0,40,.46), rgba(255,255,255,.08));
}
.fcrv-mv__card:nth-child(4n+3) .fcrv-mv__card-art {
	background-image:
		repeating-linear-gradient(135deg, rgba(255,255,255,.1) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(120deg, rgba(8,0,40,.2), rgba(255,255,255,.22));
}
.fcrv-mv__card:nth-child(4n) .fcrv-mv__card-art {
	background-image:
		repeating-linear-gradient(45deg, rgba(255,255,255,.1) 0 7px, rgba(255,255,255,0) 7px 16px),
		linear-gradient(165deg, rgba(8,0,40,.42), rgba(255,255,255,.16));
}

/* Акценты, которые должны меняться вместе с рубрикой. */
.fcrv-mv__rub-label,
.fcrv-mv__card-meta i,
.fcrv-mv__more,
.fcrv-mv .fcrv-mv__sb-all,
.fcrv-mv .fcrv-mv__rkicker { color: var(--mv-accent); }

.fcrv-mv__bignum { color: rgb(var(--mv-accent-rgb) / .38); }
.fcrv-mv__pill i { color: rgb(var(--mv-accent-rgb) / .55); }

.fcrv-mv .fcrv-mv__btn--ghost { border-color: var(--mv-accent); color: var(--mv-accent); }
.fcrv-mv .fcrv-mv__btn--ghost:hover { background: var(--mv-accent); border-color: var(--mv-accent); color: #fff; }

.fcrv-mv .fcrv-mv__chip.is-on { border-color: var(--mv-accent); background: var(--mv-accent); }
.fcrv-mv .fcrv-mv__chip:hover:not(.is-on) { border-color: var(--mv-accent); color: var(--mv-accent); }

.fcrv-mv .fcrv-mv__pill:hover { border-color: var(--mv-accent); color: var(--mv-accent); }

.fcrv-mv__chips i { background: rgb(var(--mv-accent-rgb) / .1); color: var(--mv-accent); }

.fcrv-mv .fcrv-mv__toc a:hover,
.fcrv-mv .fcrv-mv__toc a.is-on { border-color: var(--mv-accent); color: var(--mv-accent); }
.fcrv-mv .fcrv-mv__sb-list a:hover b { color: var(--mv-accent); }
.fcrv-mv__body blockquote { background: rgb(var(--mv-accent-rgb) / .08); color: var(--mv-accent); }
.fcrv-mv__tools { background: var(--mv-accent); }

/* --------------------------------- шапка ---------------------------------
   Карточки рубрик получились заметно плотнее шапки, и она проседала.
   Добавляем ту же фактуру, что на обложках: светлая заливка в цвет раздела
   со штриховкой и мягкое пятно. Текст остаётся на белом, читаемость не
   меняется.
   -------------------------------------------------------------------------- */

.fcrv-mv__hero {
	position: relative;
	overflow: hidden;
	background:
		repeating-linear-gradient(135deg,
			rgba(109, 58, 219, .045) 0 7px,
			rgba(109, 58, 219, 0) 7px 16px),
		linear-gradient(180deg, #f6f2ff 0%, #ffffff 78%);
}

/* Пятно в углу — от него шапка перестаёт быть плоской заливкой. */
.fcrv-mv__hero::before {
	content: "";
	position: absolute;
	top: -140px;
	right: -80px;
	width: 520px;
	height: 380px;
	border-radius: 50%;
	background: radial-gradient(closest-side, rgba(149, 99, 251, .28), transparent);
	pointer-events: none;
}

.fcrv-mv__hero > .fcrv-mv__wrap { position: relative; }

/* Цифры — плашками: россыпь цифр в строку читалась как продолжение текста. */
.fcrv-mv__stats { gap: 10px; }

.fcrv-mv__stats span {
	display: inline-flex;
	align-items: baseline;
	gap: 7px;
	padding: 9px 16px;
	border: 1.5px solid rgba(109, 58, 219, .18);
	border-radius: var(--r-sm, 12px);
	background: rgba(255, 255, 255, .72);
	backdrop-filter: blur(4px);
	font-size: 12.5px;
	color: #6b7490;
}
.fcrv-mv__stats b { margin: 0; font-size: 20px; color: var(--mv-violet-700); }

/* ------------------------- лица в блоке об авторах -------------------------
   Пока фотографии нет, показываем инициалы: пустые кружки читались как
   ошибка вёрстки, а не как «фото ещё не загрузили».
   -------------------------------------------------------------------------- */

.fcrv-mv__face {
	display: grid;
	place-items: center;
	background-color: #e4d9fb;
	color: var(--mv-violet-700);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .01em;
}
.fcrv-mv__face--more { background-color: var(--mv-violet-600); color: #fff; }

@media (max-width: 767px) {
	.fcrv-mv__stats span { padding: 7px 12px; }
	.fcrv-mv__stats b { font-size: 17px; }
	.fcrv-mv__hero::before { width: 320px; height: 240px; top: -110px; right: -60px; }
}

/* ==========================================================================
   Карточка проекта: название на своей цветной плашке.

   Раньше название лежало прямо на фотографии и проигрывало ей: снимок
   читался как главное, а заголовок как подпись. Теперь фотография —
   узкая полоса-фактура сверху, а название стоит на сплошной заливке
   цветом проекта и набрано крупно. Проекты различаются с одного взгляда.
   ========================================================================== */

.fcrv-mv__rub-art { height: 124px; }

/* Вуаль плотнее: снимок остаётся фактурой, а не сюжетом. */
.fcrv-mv__rub-art::after {
	background-image:
		repeating-linear-gradient(135deg,
			rgba(255, 255, 255, .08) 0 7px,
			rgba(255, 255, 255, 0) 7px 16px),
		linear-gradient(150deg,
			rgb(var(--mv-accent-rgb) / .97) 0%,
			rgb(var(--mv-accent-rgb) / .9) 55%,
			rgb(var(--mv-accent-rgb) / .78) 100%),
		linear-gradient(150deg, rgba(8, 0, 40, .3), rgba(8, 0, 40, 0));
}

.fcrv-mv__rub-head {
	display: block;
	padding: 16px 22px 20px;
	background: var(--mv-accent);
}

/* Название больше не лежит на снимке — снимаем позиционирование. */
.fcrv-mv__rub-name {
	position: static;
	left: auto;
	right: auto;
	bottom: auto;
	display: block;
	font-size: clamp(24px, 2.4vw, 35px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -.01em;
	color: #fff;
	text-wrap: balance;
}

/* Подпись формата остаётся на снимке — она служебная и мелкая. */
.fcrv-mv__rub-badge { top: 14px; left: 18px; }

@media (max-width: 767px) {
	.fcrv-mv__rub-art { height: 96px; }
	.fcrv-mv__rub-head { padding: 14px 18px 16px; }
}

/* ---------------------------- «Поделиться» ----------------------------
   MAX добавлен по просьбе редакции. Кнопки помечены фирменными цветами,
   чтобы мессенджер узнавался без иконки.
   ---------------------------------------------------------------------- */

.fcrv-mv .fcrv-mv__share-btn { border-color: var(--mv-bd); }
.fcrv-mv .fcrv-mv__share-btn--vk:hover   { border-color: #0077FF; color: #0077FF; }
.fcrv-mv .fcrv-mv__share-btn--tg:hover   { border-color: #2AABEE; color: #2AABEE; }
.fcrv-mv .fcrv-mv__share-btn--max:hover  { border-color: #1962FF; color: #1962FF; }
.fcrv-mv .fcrv-mv__share-btn--mail:hover { border-color: var(--c-coral, #fd6464); color: var(--c-coral, #fd6464); }

/* ------------------------- где опубликовано ------------------------- */
/* Ссылки на исходные публикации в соцсетях — под текстом материала. */

.fcrv-mv__src {
	margin: 26px 0 0;
	padding: 18px 20px;
	border: 1.5px solid #e3ecf7;
	border-radius: var(--r-md, 20px);
	background: #fff;
}

.fcrv-mv__src-h {
	margin-bottom: 12px;
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #8b95ab;
}

.fcrv-mv__src-row { display: flex; flex-wrap: wrap; gap: 10px; }

.fcrv-mv .fcrv-mv__src-btn {
	display: inline-flex;
	align-items: center;
	padding: 9px 18px;
	border: 1.5px solid var(--mv-accent, #6D3ADB);
	border-radius: var(--r-pill, 9999px);
	background: #fff;
	color: var(--mv-accent, #6D3ADB);
	font-size: 13.5px;
	font-weight: 700;
	text-decoration: none !important;
	transition: background var(--dur, .28s) var(--ease, ease), color var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__src-btn:hover { background: var(--mv-accent, #6D3ADB); color: #fff; }


/* ---------------- видео ВК и файлы в конце статьи ---------------- */
.fcrv-mv__player { position: relative; aspect-ratio: 16 / 9; border-radius: var(--r-md, 20px); overflow: hidden; background: #0b1836; }
.fcrv-mv__player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fcrv-mv__tools--end { margin-top: 26px; }
.fcrv-mv__tools-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
.fcrv-mv__tools--end .fcrv-mv__tool + .fcrv-mv__tool { margin-top: 0; }

/* Обложки — опубликованные карточки материалов с текстом: не обрезаем,
   вписываем целиком на фон в цвете проекта. */
/* В карточках обложка заполняет всю площадь (обрезается по точке
   кадрирования из поля материала), на странице материала — видна целиком. */
.fcrv-mv__card-art, .fcrv-mv__lead-art { background-size: cover !important; background-repeat: no-repeat !important; }
.fcrv-mv__cover { background-size: contain !important; background-repeat: no-repeat !important; background-position: center !important; }
.fcrv-mv__body figure { margin: 22px 0; }
.fcrv-mv__body figure img { display: block; max-width: 100%; height: auto; border-radius: var(--r-sm, 12px); }
.fcrv-mv__body figcaption { margin-top: 6px; font-size: 13px; color: #8b95ab; }


/* Форма вопроса: по центру страницы, поле файлов */
.fcrv-mv__ask { max-width: 820px; margin-left: auto; margin-right: auto; text-align: left; }
.fcrv-mv__ask .fcrv-sec-h { text-align: center; }
.fcrv-mv__ask .fcrv-sec-h::after { margin-left: auto; margin-right: auto; }
.fcrv-mv__ask > p, .fcrv-mv__ask .fcrv-mv__ask-note { text-align: center; }
.fcrv-mv__form .fcrv-mv__btn { align-self: center; }
.fcrv-mv__file { display: flex; flex-direction: column; gap: 6px; }
.fcrv-mv__file input[type=file] { padding: 12px; border: 1.5px dashed #b7c3d6; border-radius: var(--r-sm, 12px); background: #fff; font: inherit; font-size: 14px; }
.fcrv-mv__file span { font-size: 12.5px; color: #8b95ab; }


/* Карточки материалов: обложка выше (заголовок уходит ниже), без тегов файлов. */
.fcrv-mv .fcrv-mv__card-art { height: 200px; }
@media (max-width: 640px) { .fcrv-mv .fcrv-mv__card-art { height: 170px; } }

/* Заголовок каталога Мастерской — крупнее (было до 52 px). */
.fcrv-mv .fcrv-mv__hero .fcrv-mv__title { font-size: clamp(38px, 5.4vw, 78px); line-height: 1.02; letter-spacing: -.01em; }


/* Поиск по Мастерской */
.fcrv-mv__search { position: relative; display: flex; align-items: center; gap: 8px; max-width: 560px; margin-top: 18px; }
.fcrv-mv__search svg { position: absolute; left: 16px; color: #8b95ab; pointer-events: none; }
.fcrv-mv .fcrv-mv__search input[type=search] {
	flex: 1; min-width: 0; padding: 12px 16px 12px 44px; border: 1.5px solid #dbe3f0; border-radius: 999px;
	background: #fff; font: inherit; font-size: 15px; color: #1F2933;
}
.fcrv-mv .fcrv-mv__search input[type=search]:focus { outline: none; border-color: var(--mv-accent, #6D3ADB); box-shadow: 0 0 0 3px rgb(var(--mv-accent-rgb, 109 58 219) / .15); }
.fcrv-mv .fcrv-mv__search button {
	flex: none; padding: 12px 22px; border: 0; border-radius: 999px; background: var(--mv-accent, #6D3ADB); color: #fff;
	font: inherit; font-size: 14.5px; font-weight: 700; cursor: pointer;
}
.fcrv-mv .fcrv-mv__search button:hover, .fcrv-mv .fcrv-mv__search button:focus { background: var(--c-blue-900, #002f9d); color: #fff; }
.fcrv-mv__filters .fcrv-mv__search { margin-top: 0; flex: 1 1 320px; }

/* Шапка без номера — одна колонка: у отдельных проектов номера нет,
   и весь текст втискивался в 90-пиксельную колонку под цифру. */
.fcrv-mv__rhero-grid:not(:has( > .fcrv-mv__bignum )) { grid-template-columns: minmax(0, 1fr); }

/* ------------------------------ подпроекты ------------------------------
   На странице проекта с подпроектами вместо ленты материалов — две большие
   карточки подпроектов: обложка с номером «04.1», формат, название, описание. */
.fcrv-mv__subs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
	margin: 36px 0 32px;
}
.fcrv-mv .fcrv-mv__sub {
	display: flex;
	flex-direction: column;
	border-radius: var(--r-lg, 28px);
	background: #fff;
	box-shadow: var(--mv-card);
	overflow: hidden;
	color: #1F2933;
	text-decoration: none !important;
	transition: transform var(--dur, .28s) var(--ease, ease), box-shadow var(--dur, .28s) var(--ease, ease);
}
.fcrv-mv .fcrv-mv__sub:hover { transform: translateY(-4px); box-shadow: var(--mv-card-h); }
.fcrv-mv__sub-art {
	position: relative;
	aspect-ratio: 16 / 8.5;
	background: linear-gradient(135deg, rgb(var(--mv-accent-rgb, 109 58 219) / .9), rgb(var(--mv-accent-rgb, 109 58 219) / .6)) center / cover no-repeat;
	transition: transform var(--dur-slow, .5s) var(--ease, ease);
}
.fcrv-mv__sub-num {
	position: absolute;
	top: 16px;
	left: 16px;
	padding: 6px 12px;
	border-radius: var(--r-pill, 9999px);
	background: var(--mv-accent, #6d3adb);
	color: #fff;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .04em;
	box-shadow: 0 6px 16px rgb(0 0 0 / .18);
}
.fcrv-mv__sub-body { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 26px 30px 28px; }
.fcrv-mv__sub-kicker { color: var(--mv-accent, #6d3adb); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.fcrv-mv__sub-title { color: #111318; font-size: clamp(21px, 2.1vw, 27px); font-weight: 800; line-height: 1.2; text-wrap: balance; }
.fcrv-mv__sub-text { color: #3d4665; font-size: 14.5px; line-height: 1.6; }
.fcrv-mv__sub-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 14px; border-top: 1.5px solid var(--mv-bd, #e6ebf5); }
.fcrv-mv__sub-count { color: #8b95ab; font-size: 13px; }
.fcrv-mv__sub-count b { color: #1F2933; font-weight: 700; }
.fcrv-mv__sub .fcrv-mv__more { margin-top: 0; color: var(--mv-accent, #6d3adb); }
.fcrv-mv__sub:hover .fcrv-mv__more svg { transform: translateX(4px); }

@media (max-width: 860px) {
	.fcrv-mv__subs { grid-template-columns: 1fr; gap: 18px; }
	.fcrv-mv__sub-body { padding: 20px 22px 22px; }
}

/* Карточка автора на узком экране: ссылка «Все материалы автора» — отдельной строкой,
   а не колонкой рядом с текстом (роль сжималась в столбик по одному слову). */
@media (max-width: 700px) {
	.fcrv-mv__author:not(.fcrv-mv__author--big) { flex-wrap: wrap; padding: 18px 20px; gap: 12px 14px; }
	.fcrv-mv__author:not(.fcrv-mv__author--big) .fcrv-mv__author-body { flex: 1 1 180px; }
	.fcrv-mv .fcrv-mv__author-link { flex: 1 1 100%; padding-top: 10px; border-top: 1px solid var(--mv-bd); }
	.fcrv-mv__author--big .fcrv-mv__author-ph { width: 80px; height: 80px; }
}
