/**
 * MasterMind Pro — Landing visual presets, diagnostic modes, animation (LC.4).
 *
 * Only fixed, whitelisted presets. No admin-provided CSS. Additive: defaults
 * (animation none, rounded_rectangle, etc.) do not alter the base layout.
 */

/* ---------- Diagnostic: accordion ---------- */
.mmp-diag-toggle { margin-top: 8px; }
.mmp-diag-panel { margin-top: 18px; }
.mmp-diag-panel[hidden] { display: none; }
.mmp-diag-card,
.mmp-diag-cta { margin-top: 12px; }

/* ---------- Diagnostic: modal ---------- */
.mmp-diag-modal[hidden] { display: none; }
.mmp-diag-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
.mmp-diag-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.6);
}
.mmp-diag-modal-dialog {
	position: relative;
	z-index: 1;
	background: #fff;
	width: 92%;
	max-width: 720px;
	max-height: 88vh;
	overflow: auto;
	border-radius: 16px;
	padding: 26px 24px;
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}
.mmp-diag-modal-title { margin: 0 34px 14px 0; font-size: 18px; }
.mmp-diag-modal-close {
	position: absolute;
	top: 10px;
	right: 12px;
	width: 34px;
	height: 34px;
	border: 0;
	border-radius: 8px;
	background: #f1f5f9;
	color: #334155;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}
.mmp-diag-modal-close:hover { background: #e2e8f0; }
body.mmp-modal-lock { overflow: hidden; }

/* ---------- Hero / About image presets ---------- */
.mmp-imgstyle--rounded_rectangle img { border-radius: 18px; }
.mmp-imgstyle--soft_card img { border-radius: 18px; box-shadow: 0 18px 50px rgba(15, 23, 42, 0.16); }
.mmp-imgstyle--circle img { border-radius: 50%; aspect-ratio: 1 / 1; object-fit: cover; }
.mmp-imgstyle--organic_shape img { border-radius: 42% 58% 56% 44% / 50% 46% 54% 50%; }
.mmp-imgstyle--no_frame img { border-radius: 0; }
.mmp-imgstyle--gradient_card { padding: 10px; border-radius: 22px; background: linear-gradient(135deg, rgba(11, 92, 173, 0.14), rgba(20, 59, 119, 0.14)); }
.mmp-imgstyle--gradient_card img { border-radius: 16px; }

/* ---------- Expert image presets ---------- */
.mmp-expimg--sharp_rectangle .mmp-founder-photo img { border-radius: 0; }
.mmp-expimg--rounded_rectangle .mmp-founder-photo img { border-radius: 16px; }
.mmp-expimg--soft_card .mmp-founder-photo img { border-radius: 16px; box-shadow: 0 14px 40px rgba(15, 23, 42, 0.16); }
.mmp-expimg--circle_portrait .mmp-founder-photo img { border-radius: 50%; aspect-ratio: 1 / 1; object-fit: cover; }
.mmp-expimg--organic_shape .mmp-founder-photo img { border-radius: 42% 58% 56% 44% / 50% 46% 54% 50%; }
.mmp-expimg--gradient_background .mmp-founder-photo { background: linear-gradient(135deg, rgba(11, 92, 173, 0.16), rgba(20, 59, 119, 0.16)); border-radius: 16px; }

/* ---------- Experts layout presets ---------- */
.mmp-explayout--horizontal_card .mmp-founder-card,
.mmp-explayout--large_photo_left .mmp-founder-card,
.mmp-explayout--split_photo_text .mmp-founder-card { display: flex; gap: 20px; align-items: flex-start; }
.mmp-explayout--horizontal_card .mmp-founder-photo,
.mmp-explayout--large_photo_left .mmp-founder-photo { flex: 0 0 auto; max-width: 240px; }
.mmp-explayout--minimal_no_photo .mmp-founder-photo { display: none; }
.mmp-explayout--compact_expert_card .mmp-founder-sec { display: none; }
.mmp-explayout--compact_expert_card .mmp-founder-facts { margin-bottom: 0; }

/* ---------- Promo presets ---------- */
.mmp-promo { background: #0b5cad; color: #fff; }
.mmp-promo .wrap { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px 0; font-size: 14px; }
.mmp-promo-label { font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.mmp-promo-discount { font-weight: 800; }
.mmp-promo-btn { margin-left: auto; background: #fff; color: #0b5cad; border-radius: 8px; padding: 6px 14px; font-weight: 800; text-decoration: none; }
.mmp-promo--thin_bar .wrap { justify-content: center; }
.mmp-promo--hero_badge { display: inline-block; border-radius: 999px; }
.mmp-promo--hero_badge .wrap { padding: 6px 16px; }
.mmp-promo--pricing_badge { background: #143b77; }
.mmp-promo--floating_notice { position: sticky; top: 0; z-index: 90; box-shadow: 0 6px 18px rgba(15, 23, 42, 0.18); }

/* ---------- Animation presets (progressive enhancement) ---------- */
/* Entrance animations play only after JS adds .mmp-anim-ready, so content is
   fully visible without JS. Default style "none" matches no rule below. */
@keyframes mmpFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes mmpSlideUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
@keyframes mmpZoom { from { opacity: 0; transform: scale(0.96); } to { opacity: 1; transform: none; } }
@keyframes mmpFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

.mp-v2.mmp-anim-ready.mmp-anim--soft_fade > section,
.mp-v2.mmp-anim-ready.mmp-anim--premium_minimal > section { animation: mmpFade var(--mmp-anim-dur, 0.6s) ease both; }
.mp-v2.mmp-anim-ready.mmp-anim--slide_up > section,
.mp-v2.mmp-anim-ready.mmp-anim--soft_parallax > section { animation: mmpSlideUp var(--mmp-anim-dur, 0.6s) ease both; }
.mp-v2.mmp-anim-ready.mmp-anim--gentle_zoom > section { animation: mmpZoom var(--mmp-anim-dur, 0.6s) ease both; }
.mp-v2.mmp-anim-ready.mmp-anim--floating_cards .v2-suite-card { animation: mmpFloat 4s ease-in-out infinite; }

/* Speed maps to a duration variable (whitelisted values only). */
.mp-v2.mmp-anim-speed--slow { --mmp-anim-dur: 0.9s; }
.mp-v2.mmp-anim-speed--normal { --mmp-anim-dur: 0.6s; }
.mp-v2.mmp-anim-speed--fast { --mmp-anim-dur: 0.35s; }

/* Disable animations on mobile unless explicitly enabled. */
@media (max-width: 768px) {
	.mp-v2:not(.mmp-anim-mobile) > section,
	.mp-v2:not(.mmp-anim-mobile) .v2-suite-card { animation: none !important; }
}

/* Respect reduced-motion preferences. */
@media (prefers-reduced-motion: reduce) {
	.mp-v2 > section,
	.mp-v2 .v2-suite-card { animation: none !important; }
	.mmp-diag-modal,
	.mmp-diag-panel { scroll-behavior: auto; }
}

/* ---------- LC.5.2 block-layout presets (defaults inert = LC.4 look) ---------- */
/* Hero layouts. Default split_left has no rule (current two-column look). */
.mmp-herolayout--split_right .mmp-hero-grid { direction: rtl; }
.mmp-herolayout--split_right .mmp-hero-grid > * { direction: ltr; }
.mmp-herolayout--centered .mmp-hero-grid { grid-template-columns: 1fr; text-align: center; }
.mmp-herolayout--centered .mmp-hero-media { display: none; }
.mmp-herolayout--stacked .mmp-hero-grid { grid-template-columns: 1fr; }
.mmp-herolayout--minimal .mmp-hero-media { display: none; }
.mmp-herolayout--minimal .mmp-hero-grid { grid-template-columns: 1fr; max-width: 760px; }

/* Packages layouts. Default three_col has no rule (current pricing row). */
.mmp-pkglayout--stacked .pricing { grid-template-columns: 1fr; max-width: 520px; margin-inline: auto; }
.mmp-pkglayout--highlight_center .pricing .price.featured { transform: scale(1.04); z-index: 1; }

/* Final CTA layouts / styles. Defaults banner + solid have no rule. */
.mmp-ctalayout--boxed .cta { max-width: 720px; margin-inline: auto; border-radius: 20px; }
.mmp-ctalayout--split .cta { text-align: left; }
.mmp-ctastyle--outline .cta .btn { background: transparent !important; border: 1px solid rgba(255,255,255,.6); color: #fff !important; }
.mmp-ctastyle--gradient .cta { background: linear-gradient(135deg, var(--blue, #0b5cad), var(--blue2, #143b77)); }
.mmp-ctastyle--minimal .cta .btn { box-shadow: none; }

/* ============================================================
   RN8.1d — Architectural visual composition (additive only).
   Uses RN8 tokens from main.css. No preset/enum/reduced-motion
   contract is altered. No JavaScript. Diagrams are decorative;
   meaning lives in adjacent real HTML text.
   ============================================================ */

/* Warm architectural canvas + faint blueprint grid on landing sections. */
.mp-v2 .mmp-why,
.mp-v2 .mmp-idea,
.mp-v2 .v2-suite,
.mp-v2 .mmp-inside,
.mp-v2 .mmp-legend,
.mp-v2 .v2-module { background: var(--rn8-bg-porcelain, #FAF8F4); }
.mp-v2 .mmp-why,
.mp-v2 .v2-suite,
.mp-v2 .mmp-legend {
	background-image:
		linear-gradient(var(--rn8-grid, rgba(144,112,80,.10)) 1px, transparent 1px),
		linear-gradient(90deg, var(--rn8-grid, rgba(144,112,80,.10)) 1px, transparent 1px);
	background-size: 32px 32px;
	background-color: var(--rn8-bg-ivory, #F4F1EA);
}

/* Diagram scaffolding: bounded, responsive, never overflows. */
.rn8-diagram { display: block; width: 100%; max-width: 720px; height: auto; margin: 26px auto 4px; overflow: visible; }
.rn8-link { fill: none; stroke: var(--rn8-line-measure, rgba(32,32,32,.18)); stroke-width: 1.5; }
.rn8-struct { fill: none; stroke: var(--rn8-line-structure, #D8D2C6); stroke-width: 1.5; }
.rn8-node { fill: var(--rn8-surface, #fff); stroke: var(--rn8-bronze-500, #8A5A32); stroke-width: 2; }
.rn8-node-soft { fill: var(--rn8-smoke, rgba(32,32,32,.05)); stroke: var(--rn8-line-structure, #D8D2C6); stroke-width: 1.5; }
.rn8-accent { fill: none; stroke: var(--rn8-copper-600, #7A4A28); stroke-width: 2.4; }
.rn8-eight { fill: none; stroke: var(--rn8-bronze-500, #8A5A32); stroke-width: 2.4; }
.rn8-flow { fill: none; stroke: var(--rn8-bronze-500, #8A5A32); stroke-width: 2; }
.rn8-dot { fill: var(--rn8-bronze-500, #8A5A32); }
.rn8-num { fill: var(--rn8-ink-500, #3D3D42); font: 600 12px/1 ui-monospace, "Cascadia Mono", monospace; }
.rn8-cross { fill: var(--rn8-champagne-300, #D9C7A7); opacity: .30; }

/* Glass surface for illustrative panels. */
.mp-v2 .v2-panel,
.mp-v2 .v2-chat,
.mp-v2 .v2-cabinet-demo,
.mp-v2 .v2-hero-visual {
	background: var(--rn8-surface-glass, rgba(255,255,255,.72));
	border: 1px solid var(--rn8-line-structure, #D8D2C6);
	backdrop-filter: blur(6px);
}

/* Hardening: Energy Tracker dark panel — the glass rule above left white text on
   a near-white surface. Restore a graphite RN8 surface with readable light text
   (selector proven unique to the Energy section). */
/* Вариант .dark больше не тёмный — вся демонстрация переведена на
   стекло, поэтому он лишь наследует общий вид панели. */
.mp-v2 .v2-panel.dark {
	background: inherit;
	border-color: rgba(217, 199, 167, .9);
	color: inherit;
}

/* Hardening: result-formula surface — warm ivory RN8 surface (was copper text on
   a navy gradient). Copper text + bronze diagram strokes now read on ivory.
   Selector proven unique to the idea/formula section. */
.mp-v2 .mmp-idea-core {
	background: var(--rn8-bg-ivory, #F4F1EA);
	color: var(--rn8-ink-900, #1B1B1D);
	border: 1px solid var(--rn8-line-structure, #D8D2C6);
}
.mp-v2 .mmp-idea-core h3 { color: var(--rn8-ink-900, #1B1B1D); }

/* Status + demonstration labels: text-carried meaning, never colour-only. */
.v2-status {
	display: inline-flex; align-items: center; gap: 6px;
	font: 600 12px/1.4 ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	letter-spacing: 0; text-transform: uppercase;
	padding: 4px 10px; border-radius: 999px; margin: 6px 0;
	border: 1px solid var(--rn8-line-structure, #D8D2C6);
	color: var(--rn8-ink-500, #3D3D42); background: var(--rn8-surface, #fff);
}
.v2-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.v2-status--available { color: var(--rn8-status-available, #2E6B4F); }
.v2-status--connected { color: var(--rn8-status-connected, #2C5C87); }
.v2-status--planned   { color: var(--rn8-status-planned, #5E5E66); }
.v2-status--planned::before { border-radius: 0; }        /* shape + text, not colour alone */
.v2-status--development { color: var(--rn8-status-development, #8A6A22); }
.v2-status--development::before { clip-path: polygon(50% 0, 100% 100%, 0 100%); border-radius: 0; }
.v2-demo-chip {
	display: inline-block;
	font: 600 12px/1.4 ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	letter-spacing: 0; text-transform: uppercase;
	color: var(--rn8-status-demo, #7A4A28);
	border: 1px dashed var(--rn8-status-demo, #7A4A28);
	border-radius: 8px; padding: 3px 10px; margin-bottom: 12px;
}

/* Ecosystem grid: connected instruments (not disconnected tiles). */
.mp-v2 .v2-suite-grid > .v2-suite-card {
	background: var(--rn8-surface, #fff);
	border: 1px solid var(--rn8-line-structure, #D8D2C6);
	position: relative;
}
.rn8-eren {
	margin-top: 20px; padding: 14px 18px;
	border: 1px dashed var(--rn8-copper-600, #7A4A28);
	border-radius: 14px; background: var(--rn8-smoke, rgba(32,32,32,.05));
	color: var(--rn8-ink-500, #3D3D42); font-size: 15px;
}

/* Callout / formula. */
.mmp-callout {
	border-left: 3px solid var(--rn8-bronze-500, #8A5A32);
	padding: 10px 0 10px 16px; color: var(--rn8-ink-500, #3D3D42);
}
.mmp-formula {
	font: 600 16px/1.5 ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	letter-spacing: 0; color: var(--rn8-copper-600, #7A4A28);
}

/* Рельс встреч описан ниже, в блоке «Встречи и программа». */
.v2-note { margin-top: 14px; color: var(--rn8-ink-400, #5E5E66); font-size: 14px; }

/* Roadmap rows (admin_crm). */
.v2-roadmap { display: grid; gap: 10px; margin-top: 18px; }
.v2-roadmap-item {
	display: flex; justify-content: space-between; align-items: center; gap: 14px;
	padding: 12px 16px; border: 1px solid var(--rn8-line-structure, #D8D2C6);
	border-radius: 12px; background: var(--rn8-surface, #fff);
}

/* Navigator question checkpoints. */
.v2-nav-questions { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 8px; }
.v2-nav-questions li {
	position: relative; padding-left: 26px; color: var(--rn8-ink-500, #3D3D42);
}
.v2-nav-questions li::before {
	content: ""; position: absolute; left: 6px; top: 7px;
	width: 9px; height: 9px; border: 2px solid var(--rn8-copper-600, #7A4A28);
	transform: rotate(45deg);
}
.v2-disclaimer { color: var(--rn8-ink-400, #5E5E66); font-size: 14px; margin-top: 10px; }

/* Visually-hidden helper for any meaningful diagram text alternative. */
.rn8-sr-only {
	position: absolute !important; width: 1px; height: 1px;
	padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;
}

/* Responsive: stack + simplify at small widths; no clipping, no overflow. */
@media (max-width: 768px) {
	.rn8-diagram { margin: 18px auto 2px; }
	.mp-v2 .mmp-why, .mp-v2 .v2-suite, .mp-v2 .mmp-legend { background-size: 24px 24px; }
}
@media (max-width: 390px) {
	.rn8-diagram { max-width: 100%; }
	.v2-roadmap-item { flex-wrap: wrap; }
}

/* New transitions respect reduced motion (contract preserved & extended). */
@media (prefers-reduced-motion: reduce) {
	.rn8-diagram * { animation: none !important; transition: none !important; }
}

/* ============================================================
   RN8.1 VC.1 — VISUAL SUBSTRATE
   Front-page scoped override block. Placed last so it wins by
   source order without adding any new !important. Changes only
   canvas, principal type colour, CTA weight, section rhythm,
   surface semantics, typography floor, focus ring and the grid
   token. No markup, diagram, status, animation or content change.
   ============================================================ */

/* A. Canvas and base text. */
body.home {
	background-image: none;
	background-color: var(--rn8-bg-ivory, #F4F1EA);
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-hero {
	background-image: none;
	background-color: var(--rn8-bg-ivory, #F4F1EA);
}
.mp-v2 .v2-module.alt { background-color: var(--rn8-bg-porcelain, #FAF8F4); }

/* B. Principal typography colours. Footer links carry inline color:inherit,
   so the footer inheritance source is targeted rather than the links. */
.mp-v2 .lead { color: var(--rn8-ink-500, #3D3D42); }
.mp-v2 .section-lead { color: var(--rn8-ink-400, #5E5E66); }
.mp-v2 .mmp-hero-copy .lead { color: var(--rn8-ink-500, #3D3D42); }
.mp-v2 .mmp-founder-sec > h4 { color: var(--rn8-ink-400, #5E5E66); }
.mp-v2 .mmp-research { color: var(--rn8-ink-400, #5E5E66); }
.home footer { color: var(--rn8-ink-400, #5E5E66); }

/* C. CTA treatment. Primary and secondary are isolated with :not(.secondary)
   so the header login/account control keeps its baseline treatment. */
.mp-v2 .btn:not(.secondary) {
	background-image: none;
	background-color: var(--rn8-fn-info, #2C5C87);
}
.mp-v2 .btn:not(.secondary):hover { box-shadow: 0 10px 26px rgba(44, 92, 135, .22); }
.mp-v2 .btn.secondary {
	background-image: none;
	background-color: #FFFFFF;
	color: var(--rn8-fn-info, #2C5C87);
	border-color: var(--rn8-line-structure, #D8D2C6);
}
.mp-v2 .mmp-hero-copy .eyebrow {
	background-color: rgba(44, 92, 135, .08);
	color: var(--rn8-fn-info, #2C5C87);
}
.home header .btn:not(.secondary) {
	background-image: none;
	background-color: var(--rn8-fn-info, #2C5C87);
}

/* D. Section rhythm — longhands only; horizontal padding untouched. */
.mp-v2 section {
	padding-top: 80px;
	padding-bottom: 80px;
}
.mp-v2 .v2-hero,
.mp-v2 #diagnostic,
.mp-v2 #pricing {
	padding-top: 96px;
	padding-bottom: 96px;
}

/* E. Surface semantics. Narrative surfaces become transparent so the ivory
   canvas reads continuously; the .mmp-why blueprint grid image is preserved. */
.mp-v2 .v2-module { background-color: var(--rn8-bg-porcelain, #FAF8F4); }
.mp-v2 .mmp-why,
.mp-v2 .mmp-idea { background-color: transparent; }

/* F. Typography floor T1-T16. Size and line-height only. */
.home .rn8-brand .rn8-tag { font-size: 14px; line-height: 1.35; }
.mp-v2 .eyebrow { font-size: 14px; line-height: 1.45; }
.mp-v2 .mmp-founder-role { font-size: 14px; line-height: 1.45; }
.mp-v2 .mmp-founder-facts > span { font-size: 14px; line-height: 1.4; }
.mp-v2 .mmp-founder-sec > h4 { font-size: 14px; line-height: 1.4; }
.mp-v2 .mmp-problem > .n { font-size: 14px; line-height: 1.45; }
.mp-v2 .mmp-problem > p { font-size: 16px; line-height: 1.5; }
.mp-v2 .mmp-research { font-size: 14px; line-height: 1.5; }
.mp-v2 .mmp-trend-out { font-size: 16px; line-height: 1.5; }
.mp-v2 .v2-status { font-size: 14px; line-height: 1.35; }
.mp-v2 .quiz label { font-size: 14px; line-height: 1.5; }
.mp-v2 .mmp-mri-data-notice { font-size: 14px; line-height: 1.5; }
.mp-v2 .mmp-demo-chip { font-size: 14px; line-height: 1.4; }
.mp-v2 .v2-demo-chip { font-size: 14px; line-height: 1.35; }
.mp-v2 .v2-kpi-grid > div > span { font-size: 14px; line-height: 1.4; }
.home footer .wrap span > a { font-size: 14px; line-height: 1.45; }

/* G. Focus-visible: complete outline, front-page scope only. */
.home .rn8-brand:focus-visible,
.home header .navlinks a:focus-visible,
.home header .btn:focus-visible,
.home footer a:focus-visible,
.mp-v2 a:focus-visible,
.mp-v2 .btn:focus-visible {
	outline: 3px solid var(--rn8-fn-info, #2C5C87);
	outline-offset: 2px;
}

/* H. Target-scoped graphite grid token. The grouped grid rule is untouched,
   and .mmp-legend keeps the inherited token. */
.mp-v2 .mmp-why,
.mp-v2 .v2-suite { --rn8-grid: rgba(32, 32, 32, .06); }

/* Rhythm breakpoints. */
@media (max-width: 980px) {
	.mp-v2 section {
		padding-top: 60px;
		padding-bottom: 60px;
	}
	.mp-v2 .v2-hero,
	.mp-v2 #diagnostic,
	.mp-v2 #pricing {
		padding-top: 72px;
		padding-bottom: 72px;
	}
}
@media (max-width: 560px) {
	.mp-v2 section {
		padding-top: 48px;
		padding-bottom: 48px;
	}
	.mp-v2 .v2-hero,
	.mp-v2 #diagnostic,
	.mp-v2 #pricing {
		padding-top: 56px;
		padding-bottom: 56px;
	}
}

/* ============================================================
   RN8.1 VC.2 — HERO COMPOSITION + DIAGRAM ROLE SYSTEM
   Front-page scoped. Placed last so it wins by source order
   without adding any new !important. Every layout-affecting rule
   is scoped to .mmp-herolayout--split_left and every frame/crop
   rule to .mmp-imgstyle--no_frame, so the four other Hero layouts
   and the five other image styles are never matched and keep
   their LC.5.2 presentation intact.
   ============================================================ */

/* ---------- Диаграммы — бронзовый язык концепции ----------
   В концепции металл (бронза/медь/шампань) = архитектура и решение,
   синий = действие и данные. Поэтому схемы возвращаются в бронзу,
   а синий остаётся только на кнопках и фокусе. Роли различаются
   толщиной и пунктиром, а не оттенком. */
.rn8-link { stroke: var(--rn8-bronze-500, #8A5A32); stroke-opacity: .45; }
.rn8-flow { stroke: var(--rn8-bronze-500, #8A5A32); stroke-width: 2.5; }
.rn8-accent { stroke: var(--rn8-copper-600, #7A4A28); stroke-width: 2.4; }
.rn8-dot { fill: var(--rn8-bronze-500, #8A5A32); }
.rn8-num { fill: var(--rn8-bronze-500, #8A5A32); }
.rn8-cross { opacity: .22; }
/* Структурные направляющие отличаются пунктиром, а не цветом. */
.rn8-struct { stroke-dasharray: 6 4; }

/* ---------- Hero: фото во всю правую половину экрана ----------
   Сетка снимается с .wrap и растягивается на всю ширину секции.
   Левая колонка держит прежнюю сетку через собственный отступ,
   правая доходит до правого края экрана. Отрицательных отступов
   и обрезки нет. */
.mp-v2 .v2-hero.mmp-herolayout--split_left {
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
}

.mp-v2 .mmp-herolayout--split_left .mmp-hero-grid {
	max-width: none;
	width: 100%;
	margin: 0;
	padding: 0;
	grid-template-columns: minmax(0, 1fr) minmax(0, 50%);
	gap: 0;
	align-items: stretch;
}

.mp-v2 .mmp-herolayout--split_left .mmp-hero-copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding-top: 96px;
	padding-bottom: 96px;
	padding-left: clamp(22px, 3.6vw, 84px);
	padding-right: clamp(28px, 3.2vw, 64px);
}

/* Плашка-надзаголовок обжимает свой текст, а не тянется по колонке. */
.mp-v2 .mmp-herolayout--split_left .mmp-hero-copy > .eyebrow {
	align-self: flex-start;
}

.mp-v2 .mmp-herolayout--split_left .mmp-hero-media {
	display: block;
	justify-content: normal;
	width: 100%;
	height: 100%;
}

.mp-v2 .mmp-herolayout--split_left .mmp-hero-photo-wrap.mmp-imgstyle--no_frame {
	max-width: none;
	width: 100%;
	height: 100%;
	min-height: 620px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: hidden;
	aspect-ratio: auto;
}

.mp-v2 .mmp-herolayout--split_left .mmp-imgstyle--no_frame .mmp-hero-photo {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: 50% 22%;
	border-radius: 0;
}

/* ---------- Основательницы — язык концепции ----------
   Бумага и бронза вместо белого с синим; портрет не растягивается
   по высоте карточки, а держит честную пропорцию 4:5. */
.mp-v2 .mmp-founder-card {
	background: var(--rn8-bg-porcelain, #FAF8F4);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 4px;
	box-shadow: none;
}

/* Портрет — полноразмерная панель во всю высоту карточки, встык с
   краями. Так карточка читается собранной, а не «фото и текст рядом». */
.mp-v2 .mmp-founders-grid { align-items: stretch; }

.mp-v2 .mmp-founder-card {
	grid-template-columns: clamp(240px, 33%, 400px) 1fr;
	align-items: stretch;
	overflow: hidden;
}

.mp-v2 .mmp-founder-photo {
	align-self: stretch;
	height: auto;
	min-height: 100%;
	aspect-ratio: auto;
	border-radius: 0;
	background: var(--rn8-smoke, rgba(32, 32, 32, .05));
}

.mp-v2 .mmp-founder-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 18%;
}

/* Воздух вокруг текста — карточка перестаёт выглядеть тесной.
   Обе карточки начинаются с одной высоты: имена стоят на общей линии,
   даже если у одного из основателей текст короче. */
.mp-v2 .mmp-founder-body {
	padding: clamp(26px, 2.2vw, 42px) clamp(26px, 2.4vw, 46px);
	align-self: start;
}

.mp-v2 .mmp-founder-head { margin-bottom: 18px; }

.mp-v2 .mmp-founder-facts { margin-bottom: 22px; }

.mp-v2 .mmp-founder-sec + .mmp-founder-sec { margin-top: 20px; }

.mp-v2 .mmp-founder-sec h4 {
	letter-spacing: .06em;
	margin-bottom: 10px;
}

/* На узких экранах карточка становится одноколоночной — портрету
   нужна своя пропорция, иначе строка схлопывается в ноль. */
@media (max-width: 560px) {
	.mp-v2 .mmp-founder-card { grid-template-columns: 1fr; }
	.mp-v2 .mmp-founder-photo {
		min-height: 0;
		aspect-ratio: 4 / 5;
	}
	.mp-v2 .mmp-founder-body { align-self: start; }
}

.mp-v2 .mmp-founder-role {
	color: var(--rn8-copper-600, #7A4A28);
}

.mp-v2 .mmp-founder-facts span {
	background: rgba(217, 199, 167, .26);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	color: var(--rn8-ink-500, #3D3D42);
	border-radius: 2px;
}

.mp-v2 .mmp-founder-sec h4 {
	color: var(--rn8-copper-600, #7A4A28);
}

/* ============================================================
   Hero «stacked»: готовый макет первого экрана картинкой.
   Текст и кнопки нарисованы в самом макете, поэтому реальные
   надписи скрыты визуально (но остаются для поиска и
   скринридера), а ссылки превращены в прозрачные горячие зоны
   поверх нарисованных кнопок.
   На ширине до 900px макет нечитаем, поэтому там автоматически
   работает обычная текстовая раскладка.
   ============================================================ */
@media (min-width: 901px) {
	.mp-v2 .v2-hero.mmp-herolayout--stacked {
		padding: 0;
		/* Экранам с высокой плотностью пикселей отдаём двойной кадр,
		   обычным — половинный. Иначе на retina картинка растягивается. */
		background-image: url("../images/rn8-hero.webp");
		background-image: -webkit-image-set(
			url("../images/rn8-hero.webp") 1x,
			url("../images/rn8-hero@2x.webp") 2x);
		background-image: image-set(
			url("../images/rn8-hero.webp") 1x,
			url("../images/rn8-hero@2x.webp") 2x);
		background-size: 100% auto;
		background-position: 50% 0;
		background-repeat: no-repeat;
		background-color: var(--rn8-bg-ivory, #F4F1EA);
	}

	.mp-v2 .mmp-herolayout--stacked .mmp-hero-grid {
		grid-template-columns: 1fr;
		max-width: none;
		width: 100%;
		margin: 0;
		padding: 0;
		gap: 0;
		aspect-ratio: 2500 / 1250;
	}

	/* Фотография из настроек в этом варианте не нужна — она уже в макете. */
	.mp-v2 .mmp-herolayout--stacked .mmp-hero-media { display: none; }

	.mp-v2 .mmp-herolayout--stacked .mmp-hero-copy {
		position: relative;
		display: block;
		padding: 0;
		margin: 0;
		height: 100%;
	}

	/* Надписи скрыты визуально, но доступны поиску и скринридеру. */
	.mp-v2 .mmp-herolayout--stacked .mmp-hero-copy > .eyebrow,
	.mp-v2 .mmp-herolayout--stacked .mmp-hero-copy > h1,
	.mp-v2 .mmp-herolayout--stacked .mmp-hero-copy > .mmp-hero-sub,
	.mp-v2 .mmp-herolayout--stacked .mmp-hero-copy > .lead {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}

	/* Кнопки — прозрачные зоны ровно поверх нарисованных. */
	.mp-v2 .mmp-herolayout--stacked .hero-actions {
		position: absolute;
		inset: 0;
		display: block;
		margin: 0;
		gap: 0;
	}
	.mp-v2 .mmp-herolayout--stacked .hero-actions a {
		position: absolute;
		/* зона чуть выше нарисованной кнопки — комфортнее целиться,
		   визуально не видно, потому что она прозрачная */
		height: 7.37%;
		top: 62.23%;
		padding: 0;
		border: 0;
		background: transparent;
		box-shadow: none;
		color: transparent;
		text-indent: -200vw;
		overflow: hidden;
		white-space: nowrap;
		border-radius: 999px;
	}
	.mp-v2 .mmp-herolayout--stacked .hero-actions a:nth-child(1) {
		left: 4.42%;
		width: 14.06%;
	}
	.mp-v2 .mmp-herolayout--stacked .hero-actions a:nth-child(2) {
		left: 19.28%;
		width: 12.32%;
	}
	.mp-v2 .mmp-herolayout--stacked .hero-actions a:hover { background: rgba(255, 255, 255, .10); }
	.mp-v2 .mmp-herolayout--stacked .hero-actions a:focus-visible {
		outline: 3px solid var(--rn8-fn-info, #2C5C87);
		outline-offset: 3px;
	}
}

/* ============================================================
   Hero «centered»: фото во весь экран, текст в стеклянной
   карточке поверх — приём с титульного слайда концепции.
   Переключается в панели управления: Hero → Раскладка.
   ============================================================ */
.mp-v2 .v2-hero.mmp-herolayout--centered {
	position: relative;
	padding-top: 0;
	padding-bottom: 0;
	overflow: hidden;
}

.mp-v2 .mmp-herolayout--centered .mmp-hero-grid {
	position: relative;
	grid-template-columns: 1fr;
	max-width: none;
	width: 100%;
	margin: 0;
	padding: clamp(40px, 5vh, 72px) 0;
	gap: 0;
	min-height: min(94vh, 1040px);
	align-items: end;
	justify-items: center;
}

/* Фото — отдельный слой на всю секцию. Абсолютное позиционирование
   нужно, чтобы высота строки задавалась карточкой, а не натуральным
   размером изображения. */
.mp-v2 .mmp-herolayout--centered .mmp-hero-media {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.mp-v2 .mmp-herolayout--centered .mmp-hero-photo-wrap {
	max-width: none;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	overflow: hidden;
	aspect-ratio: auto;
}

/* Фотография показывается целиком, без обрезки — «максимально отдалённо».
   По бокам остаётся фон секции. */
.mp-v2 .mmp-herolayout--centered .mmp-hero-photo-wrap {
	background: var(--rn8-bg-ivory, #F4F1EA);
}

.mp-v2 .mmp-herolayout--centered .mmp-hero-photo {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: contain;
	object-position: 50% 0;
	border-radius: 0;
}

/* Лёгкая вуаль: отделяет карточку от фотографии, не убивая её. */
.mp-v2 .v2-hero.mmp-herolayout--centered::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(180deg, rgba(27, 27, 29, .18) 0%, rgba(27, 27, 29, .30) 60%, rgba(27, 27, 29, .40) 100%);
	pointer-events: none;
}

/* Стеклянная карточка с бронзовой рамкой. */
.mp-v2 .mmp-herolayout--centered .mmp-hero-copy {
	position: relative;
	z-index: 2;
	justify-self: center;
	align-self: center;
	width: min(880px, calc(100% - clamp(32px, 8vw, 120px)));
	padding: clamp(24px, 2.2vw, 38px) clamp(26px, 3vw, 52px);
	text-align: center;
	background: rgba(250, 248, 244, .86);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(217, 199, 167, .95);
	border-radius: 4px;
	box-shadow: 0 34px 90px rgba(30, 20, 10, .30);
}

.mp-v2 .mmp-herolayout--centered .mmp-hero-copy > .eyebrow {
	display: inline-block;
}

.mp-v2 .mmp-herolayout--centered .mmp-hero-copy h1 {
	max-width: 22ch;
	margin-left: auto;
	margin-right: auto;
}

.mp-v2 .mmp-herolayout--centered .mmp-hero-copy .lead {
	max-width: 62ch;
	margin-left: auto;
	margin-right: auto;
}

.mp-v2 .mmp-herolayout--centered .hero-actions {
	justify-content: center;
}

@media (max-width: 560px) {
	.mp-v2 .mmp-herolayout--centered .mmp-hero-grid { min-height: min(88vh, 640px); }
	.mp-v2 .mmp-herolayout--centered .mmp-hero-photo { object-position: 50% 14%; }
}

/* ---------- Планшет ---------- */
@media (max-width: 900px) {
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-grid {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-copy {
		padding: 64px 22px;
	}
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-copy > .eyebrow {
		align-self: center;
	}
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-photo-wrap.mmp-imgstyle--no_frame {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}
}

/* ---------- Мобильный ---------- */
@media (max-width: 560px) {
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-media {
		order: -1;
	}
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-photo-wrap.mmp-imgstyle--no_frame {
		aspect-ratio: 4 / 3;
	}
	.mp-v2 .mmp-herolayout--split_left .mmp-imgstyle--no_frame .mmp-hero-photo {
		object-position: 50% 20%;
	}
	.mp-v2 .mmp-herolayout--split_left .mmp-hero-copy {
		padding: 48px 22px;
	}
}

/* ============================================================
   Демонстрационные панели — тёмный режим концепции.
   На светлых «архитектурных» блоках работает бронза, на тёмных
   блоках с данными — бирюзово-синий. Так синий получает свою
   роль вместо того, чтобы спорить с металлом.
   ============================================================ */
.mp-v2 {
	--rn8-fn-cyan: #4FD1E0;
	--rn8-panel-ink: #E9E6E0;
}

.mp-v2 .v2-panel,
.mp-v2 .v2-chat,
.mp-v2 .v2-cabinet-demo,
.mp-v2 .v2-crm-table {
	position: relative;
	background:
		linear-gradient(152deg, rgba(255, 255, 255, .92) 0%, rgba(251, 248, 243, .82) 48%, rgba(240, 233, 222, .78) 100%);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(217, 199, 167, .9);
	border-radius: 4px;
	box-shadow:
		0 22px 58px rgba(94, 68, 40, .10),
		inset 0 1px 0 rgba(255, 255, 255, .8);
	color: var(--rn8-ink-500, #3D3D42);
}

.mp-v2 .v2-panel h3,
.mp-v2 .v2-panel h4,
.mp-v2 .v2-panel b,
.mp-v2 .v2-cabinet-demo h3,
.mp-v2 .v2-cabinet-demo b { color: var(--rn8-ink-900, #1B1B1D); }

.mp-v2 .v2-panel p,
.mp-v2 .v2-panel li,
.mp-v2 .v2-cabinet-demo p { color: var(--rn8-ink-500, #3D3D42); }

/* Угловые скобы — подпись чертёжного языка концепции. */
.mp-v2 .v2-panel::before,
.mp-v2 .v2-panel::after {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	border-color: rgba(217, 199, 167, .55);
	border-style: solid;
	pointer-events: none;
}
.mp-v2 .v2-panel::before {
	top: 9px;
	left: 9px;
	border-width: 1px 0 0 1px;
}
.mp-v2 .v2-panel::after {
	right: 9px;
	bottom: 9px;
	border-width: 0 1px 1px 0;
}

/* Метка демонстрации. */
.mp-v2 .v2-demo-chip,
.mp-v2 .mmp-demo-chip {
	background: transparent;
	/* Метку читают, поэтому цвет текста берём контрастный, а не декоративный:
	   на прежнем шампанском контраст был 1.66 при норме 4.5. */
	border: 1px solid rgba(138, 90, 50, .35);
	color: var(--rn8-bronze-500, #8A5A32);
	border-radius: 2px;
}

/* Полосы и показатели — светлый бирюзовый градиент на тёплом ложе. */
.mp-v2 .v2-role-row { color: var(--rn8-ink-500, #3D3D42); }
.mp-v2 .v2-role-row div { background: rgba(138, 90, 50, .12); }
.mp-v2 .v2-role-row i { background: linear-gradient(90deg, #7FD0DE, #2C7E93); }
.mp-v2 .v2-energy-score { color: var(--rn8-copper-600, #7A4A28); }
.mp-v2 .v2-energy-score span { color: #2C7E93; }

.mp-v2 .v2-insight {
	background: linear-gradient(140deg, rgba(127, 208, 222, .16), rgba(255, 255, 255, .5));
	border: 1px solid rgba(44, 126, 147, .30);
	border-radius: 3px;
	color: #1F4C58;
}

.mp-v2 .v2-mini-grid div {
	background: rgba(255, 255, 255, .62);
	border: 1px solid rgba(217, 199, 167, .8);
	border-radius: 3px;
	color: var(--rn8-ink-500, #3D3D42);
}

/* Переписка ассистента. */
.mp-v2 .v2-msg.user {
	background: linear-gradient(140deg, rgba(217, 199, 167, .40), rgba(240, 231, 216, .55));
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-msg.bot {
	background: rgba(255, 255, 255, .74);
	border: 1px solid rgba(217, 199, 167, .8);
	color: var(--rn8-ink-500, #3D3D42);
}

/* Таблица CRM. */
.mp-v2 .v2-crm-table > div { border-bottom: 1px solid rgba(217, 199, 167, .55); }
.mp-v2 .v2-crm-table > div:first-child {
	background: linear-gradient(120deg, rgba(217, 199, 167, .45), rgba(240, 231, 216, .35));
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-crm-table span:nth-child(3) { color: #2C7E93; }

/* Светлые карточки на бумаге — та же тонкая рамка, без «пилюль». */
.mp-v2 .v2-page-card,
.mp-v2 .mmp-why-item,
.mp-v2 .result-card {
	background: var(--rn8-bg-porcelain, #FAF8F4);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 3px;
	box-shadow: none;
}
.mp-v2 .v2-page-card span {
	background: var(--rn8-champagne-300, #D9C7A7);
	color: var(--rn8-ink-900, #1B1B1D);
	border-radius: 2px;
}
.mp-v2 .big-index { color: var(--rn8-copper-600, #7A4A28); }

/* Чек-листы: бумага и бронзовая галочка вместо белых «пилюль». */
.mp-v2 .v2-checks li {
	background: var(--rn8-bg-porcelain, #FAF8F4);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 3px;
	color: var(--rn8-ink-500, #3D3D42);
	font-weight: 600;
}
.mp-v2 .v2-checks li::before { color: var(--rn8-copper-600, #7A4A28); }

/* Метка модуля над заголовком секции. */
.mp-v2 .v2-module .eyebrow,
.mp-v2 .mmp-idea .eyebrow,
.mp-v2 .v2-suite .eyebrow {
	background: transparent;
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	color: var(--rn8-copper-600, #7A4A28);
	border-radius: 2px;
}

/* Статусы — рамка вместо заливки, форма маркера уже различает их. */
.mp-v2 .v2-status {
	background: transparent;
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 2px;
}

/* Схемы внутри стеклянных панелей — та же бронза, что и на бумаге. */
.mp-v2 .v2-panel .rn8-box,
.mp-v2 .v2-chat .rn8-box {
	fill: rgba(255, 255, 255, .82);
	stroke: var(--rn8-champagne-300, #D9C7A7);
}
.mp-v2 .v2-panel .rn8-box-text,
.mp-v2 .v2-chat .rn8-box-text { fill: var(--rn8-ink-900, #1B1B1D); }

.mp-v2 .v2-nav-questions,
.mp-v2 .v2-nav-questions li { color: var(--rn8-ink-500, #3D3D42); }
.mp-v2 .v2-nav-questions li::before,
.mp-v2 .v2-nav-questions li::marker { color: var(--rn8-copper-600, #7A4A28); }

.mp-v2 .v2-disclaimer { color: var(--rn8-ink-400, #5E5E66); }

/* ---------- Личный кабинет ----------
   Метка «Demonstration» была первым элементом сетки и занимала первую
   колонку, поэтому меню и содержимое менялись местами: содержимое
   получало 240px и ломалось. Растягиваем метку на всю строку. */
/* Только на широких экранах: ниже 980px main.css складывает кабинет
   в одну колонку, и две колонки здесь обрезали бы содержимое. */
@media (min-width: 981px) {
	.mp-v2 .v2-cabinet-demo { grid-template-columns: 250px minmax(0, 1fr); }
}
.mp-v2 .v2-cabinet-demo > .v2-demo-chip {
	grid-column: 1 / -1;
	margin: 18px 20px 0;
}
.mp-v2 .v2-cabinet-demo aside {
	background: linear-gradient(170deg, rgba(217, 199, 167, .34), rgba(240, 233, 222, .5));
	color: var(--rn8-ink-900, #1B1B1D);
	border-right: 1px solid rgba(217, 199, 167, .8);
}
.mp-v2 .v2-cabinet-demo aside a {
	background: rgba(255, 255, 255, .72);
	border: 1px solid rgba(217, 199, 167, .75);
	border-radius: 3px;
	color: var(--rn8-ink-500, #3D3D42);
}
.mp-v2 .v2-cabinet-demo main { background: transparent; }
.mp-v2 .v2-cab-top,
.mp-v2 .v2-cab-columns div,
.mp-v2 .v2-kpi-grid > div {
	background: rgba(255, 255, 255, .78);
	border: 1px solid rgba(217, 199, 167, .8);
	border-radius: 3px;
	box-shadow: none;
}
.mp-v2 .v2-cab-top span {
	background: transparent;
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	color: var(--rn8-copper-600, #7A4A28);
	border-radius: 2px;
}


/* ---------- Форматы участия ----------
   Продающий блок оставался единственным на старой синей теме. */
.mp-v2 .price {
	background:
		linear-gradient(155deg, rgba(255, 255, 255, .94), rgba(250, 247, 242, .86));
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 4px;
	box-shadow: 0 18px 48px rgba(94, 68, 40, .08);
}
.mp-v2 .price.featured {
	border: 1px solid var(--rn8-copper-600, #7A4A28);
	box-shadow: 0 26px 64px rgba(94, 68, 40, .16);
}
.mp-v2 .price .amount,
.mp-v2 .price .price-amount,
.mp-v2 .price strong,
.mp-v2 .price .v2-price { color: var(--rn8-copper-600, #7A4A28); }
.mp-v2 .price ul { color: var(--rn8-ink-500, #3D3D42); }
.mp-v2 .price ul li::marker { color: var(--rn8-champagne-300, #D9C7A7); }

/* ---------- Тенденции рынка ----------
   Вывод под цифрами был тёмно-синей плашкой и тянул полосу вниз.
   Оставляем светлую подложку, а акцент даём медной линией слева. */
.mp-v2 .mmp-trend-out {
	background: linear-gradient(140deg, rgba(217, 199, 167, .34), rgba(240, 233, 222, .5));
	color: var(--rn8-ink-900, #1B1B1D);
	border: 1px solid rgba(217, 199, 167, .8);
	border-left: 3px solid var(--rn8-copper-600, #7A4A28);
	border-radius: 3px;
	font-weight: 600;
}
.mp-v2 .mmp-stats b,
.mp-v2 .mmp-stats strong { color: var(--rn8-fn-info, #2C5C87); }

/* ---------- Финальный призыв ---------- */
.mp-v2 .cta {
	background:
		linear-gradient(140deg, rgba(217, 199, 167, .55) 0%, rgba(240, 233, 222, .75) 45%, rgba(255, 255, 255, .82) 100%);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 4px;
	color: var(--rn8-ink-900, #1B1B1D);
	box-shadow: 0 22px 58px rgba(94, 68, 40, .12);
}
.mp-v2 .cta::after { display: none; }
.mp-v2 .cta h2 { color: var(--rn8-ink-900, #1B1B1D); }
.mp-v2 .cta p { color: var(--rn8-ink-500, #3D3D42); }
/* Кнопки были светлыми под тёмный фон — на бумаге они пропадали. */
.mp-v2 .cta .btn {
	background: var(--rn8-fn-info, #2C5C87);
	color: #fff;
	border: 1px solid var(--rn8-fn-info, #2C5C87);
	box-shadow: none;
}
.mp-v2 .cta .btn.secondary {
	background: rgba(255, 255, 255, .88);
	color: var(--rn8-ink-900, #1B1B1D);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
}
.mp-v2 .cta .btn.secondary:hover {
	border-color: var(--rn8-copper-600, #7A4A28);
	color: var(--rn8-copper-600, #7A4A28);
}

/* ---------- Встречи: номера недель ---------- */
.mp-v2 .week > * {
	background: rgba(255, 255, 255, .78);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 3px;
}
.mp-v2 .week .num {
	background: linear-gradient(150deg, rgba(217, 199, 167, .55), rgba(240, 233, 222, .7));
	color: var(--rn8-ink-900, #1B1B1D);
}

/* ---------- Главная идея: карточки уровней и формула ---------- */
.mp-v2 .mmp-pillar {
	background: rgba(255, 255, 255, .78);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 3px;
	box-shadow: none;
}
.mp-v2 .mmp-pillar .n { color: var(--rn8-copper-600, #7A4A28); }
.mp-v2 .mmp-idea-core {
	background:
		linear-gradient(150deg, rgba(255, 255, 255, .9), rgba(247, 242, 234, .82));
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 4px;
	color: var(--rn8-ink-900, #1B1B1D);
	box-shadow: 0 18px 48px rgba(94, 68, 40, .08);
}
.mp-v2 .mmp-idea-core h3 { color: var(--rn8-ink-900, #1B1B1D); }
.mp-v2 .mmp-formula { color: var(--rn8-copper-600, #7A4A28); }

/* ---------- Возможности платформы ---------- */
.mp-v2 .v2-roadmap-item {
	background: rgba(255, 255, 255, .74);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 3px;
	box-shadow: none;
}


/* ============================================================
   Полная ширина: контент занимает весь экран, поля растут
   вместе с ним. Длинные абзацы при этом ограничены по мере
   строки — иначе на широком мониторе их невозможно читать.
   ============================================================ */
/* Вводный абзац под заголовком секции. */
.mp-v2 .section-lead { max-width: 90ch; }

/* Двухколоночные секции: текстовая колонка держит меру строки,
   демонстрационная панель забирает остальную ширину. */
.mp-v2 .v2-two-col { gap: clamp(32px, 4vw, 72px); }
.mp-v2 .v2-two-col > div > p { max-width: 74ch; }

/* Карточки в широких сетках не растягиваем до нечитаемого. */
.mp-v2 .v2-suite-grid { grid-template-columns: repeat(4, 1fr); }
.mp-v2 .mmp-why-grid { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 1240px) {
	.mp-v2 .v2-suite-grid,
	.mp-v2 .mmp-why-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 980px) {
	.mp-v2 .v2-suite-grid,
	.mp-v2 .mmp-why-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.mp-v2 .v2-suite-grid,
	.mp-v2 .mmp-why-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   Схема экосистемы — восьмёрка с подписями (по концепции RN8)
   ============================================================ */
.rn8-diagram--eco {
	max-width: 1120px;
	margin: 26px auto 4px;
}

/* Контур: широкая мягкая «дорожка» + тонкая бронзовая рельса. */
.rn8-track {
	fill: none;
	stroke: var(--rn8-ink-900, #1B1B1D);
	stroke-opacity: .07;
	stroke-width: 16;
}
.rn8-ring {
	fill: none;
	stroke: var(--rn8-bronze-500, #8A5A32);
	stroke-width: 2.5;
}

/* Хаб EREN в точке пересечения. */
.rn8-hub {
	fill: var(--rn8-champagne-300, #D9C7A7);
	stroke: var(--rn8-copper-600, #7A4A28);
	stroke-width: 2.5;
}
.rn8-hub-text {
	fill: var(--rn8-ink-900, #1B1B1D);
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .04em;
}

/* Подписи узлов. */
.rn8-label {
	fill: var(--rn8-ink-900, #1B1B1D);
	font-size: 16px;
	font-weight: 700;
}
.rn8-sub {
	fill: var(--rn8-copper-600, #7A4A28);
	font-size: 13.5px;
	font-weight: 500;
}

/* Три уровня архитектуры — вложенные кольца. */
.rn8-diagram--levels { max-width: 880px; margin: 28px auto 4px; }
.rn8-core {
	fill: var(--rn8-champagne-300, #D9C7A7);
	stroke: var(--rn8-copper-600, #7A4A28);
	stroke-width: 2.5;
}

/* Формула материального результата — цепочка шевронов. */
.rn8-diagram--formula { max-width: 900px; margin: 22px auto 4px; }
.rn8-step { stroke: none; }
.rn8-step--1 { fill: #F5EFE4; }
.rn8-step--2 { fill: #EADCC2; }
.rn8-step--3 { fill: #DEC79E; }
.rn8-step--4 { fill: #CBA671; }
.rn8-step--5 { fill: var(--rn8-bronze-500, #8A5A32); }
.rn8-step-text {
	fill: #fff;
	font-size: 17px;
	font-weight: 700;
}
.rn8-step-text--dark { fill: var(--rn8-ink-900, #1B1B1D); }

/* Карта команды, энергия, маршрут, навигатор решений.
   Эти схемы стоят в узких колонках и сильно масштабируются вниз,
   поэтому кегль внутри них задан крупнее в единицах viewBox. */
.rn8-diagram--map    { max-width: 100%; margin: 26px auto 4px; }
.rn8-diagram--energy { max-width: 100%; margin: 26px auto 4px; }
.rn8-diagram--path   { max-width: 100%; margin: 26px auto 4px; }
.rn8-diagram--nav    { max-width: 100%; margin: 26px auto 4px; }

.rn8-diagram--map .rn8-label,
.rn8-diagram--energy .rn8-label,
.rn8-diagram--path .rn8-label { font-size: 25px; }

.rn8-diagram--map .rn8-sub,
.rn8-diagram--energy .rn8-sub,
.rn8-diagram--path .rn8-sub { font-size: 20px; }

.rn8-diagram--map .rn8-hub-text,
.rn8-diagram--path .rn8-hub-text { font-size: 24px; }

.rn8-diagram--nav .rn8-box-text { font-size: 25px; }
.rn8-diagram--nav .rn8-sub { font-size: 21px; }

/* Состояния узла: дефицит функции — пунктир, перегруз — двойной контур. */
.rn8-node--gap {
	fill: var(--rn8-surface, #fff);
	stroke-dasharray: 7 5;
}
.rn8-node--over {
	fill: none;
	stroke: var(--rn8-copper-600, #7A4A28);
}

/* Блоки для схемы проверки решения. */
.rn8-box {
	fill: var(--rn8-surface, #fff);
	stroke: var(--rn8-champagne-300, #D9C7A7);
	stroke-width: 1.5;
}
.rn8-box--accent {
	fill: var(--rn8-champagne-300, #D9C7A7);
	stroke: var(--rn8-copper-600, #7A4A28);
}
.rn8-box-text {
	fill: var(--rn8-ink-900, #1B1B1D);
	font-size: 17px;
	font-weight: 700;
}

/* Карточки инструментов — бумага и тонкая рамка вместо белых плиток. */
.mp-v2 .v2-suite-grid > .v2-suite-card {
	background: var(--rn8-bg-porcelain, #FAF8F4);
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	border-radius: 3px;
	box-shadow: none;
}

/* EREN как восьмая карточка — связующее звено, а не рядовая плитка. */
.mp-v2 .v2-suite-card--eren {
	grid-column: 1 / -1;
	background: var(--rn8-bg-porcelain, #FAF8F4);
	border: 1px solid var(--rn8-copper-600, #7A4A28);
}

@media (max-width: 900px) {
	.rn8-label { font-size: 19px; }
	.rn8-sub { font-size: 16px; }
	.rn8-hub-text { font-size: 20px; }
}

/* ============================================================
   Объём, движение и интерактив схем
   ============================================================ */
.rn8-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

/* Металлические заливки вместо плоского цвета. */
.rn8-node { fill: url(#rn8-g-node); stroke: var(--rn8-copper-600, #7A4A28); stroke-width: 2; }
.rn8-core { fill: url(#rn8-g-brass); stroke: var(--rn8-copper-600, #7A4A28); stroke-width: 2.5; }
.rn8-hub { fill: url(#rn8-g-gold); stroke: #8A6634; stroke-width: 2; }
.rn8-box { fill: url(#rn8-g-box); }
.rn8-box--accent { fill: url(#rn8-g-brass); }
.rn8-step--1 { fill: url(#rn8-g-s1); }
.rn8-step--2 { fill: url(#rn8-g-s2); }
.rn8-step--3 { fill: url(#rn8-g-s3); }
.rn8-step--4 { fill: url(#rn8-g-s4); }
.rn8-step--5 { fill: url(#rn8-g-s5); }

/* Модификаторы состояния сохраняют приоритет над металлом. */
.rn8-node.rn8-node--gap { fill: var(--rn8-surface, #fff); stroke-dasharray: 7 5; }
.rn8-node.rn8-node--over { fill: none; stroke: var(--rn8-copper-600, #7A4A28); }

/* Тени дают глубину. */
.rn8-node,
.rn8-box,
.rn8-step { filter: url(#rn8-f-soft); }
.rn8-hub,
.rn8-core { filter: url(#rn8-f-lift); }

/* Основа — фирменный рендер восьмёрки с вырезанным фоном, поэтому
   границы картинки не видно ни на каком фоне секции. */
.rn8-eight-img {
	pointer-events: none;
}

/* Маркеры инструментов поверх металла. */
.rn8-mk-glow {
	fill: #FFF3D6;
	opacity: 0;
	filter: url(#rn8-f-glow);
	transition: opacity .3s ease;
}
.rn8-mk-ring { fill: #6B4B26; }
.rn8-mk-bezel { fill: url(#rn8-g-gold); stroke: #8A6634; stroke-width: 2; }
.rn8-mk-face { fill: url(#rn8-g-node); stroke: #A8794A; stroke-width: 2; }

.rn8-hb-glow {
	fill: #FFF3D6;
	opacity: .18;
	filter: url(#rn8-f-glow);
	animation: rn8-breathe 4.5s ease-in-out infinite;
}
.rn8-hb-ring { fill: #6B4B26; }
.rn8-hb-body { fill: url(#rn8-g-gold); stroke: #8A6634; stroke-width: 2.5; }
.rn8-hb-face { fill: url(#rn8-g-hubface); stroke: #C2A87E; stroke-width: 2; }

@keyframes rn8-breathe {
	0%, 100% { opacity: .14; }
	50% { opacity: .42; }
}

/* Активный шаг подсвечивается. */
.rn8-inode:hover .rn8-mk-glow,
.rn8-inode:focus-visible .rn8-mk-glow,
.rn8-inode.is-active .rn8-mk-glow { opacity: .85; }

/* Подписи под систему координат схемы (2000 единиц в ширину).
   Светлый ореол по контуру глифов держит читаемость и на бумаге,
   и если подпись окажется над металлом. */
.rn8-diagram--eco .rn8-label { font-size: 34px; }
.rn8-diagram--eco .rn8-sub { font-size: 28px; }
.rn8-diagram--eco .rn8-hub-text { font-size: 44px; }
/* Energy Tracker stands below the loop - the tie must be visible. */
.rn8-diagram--eco .rn8-link {
	stroke: var(--rn8-bronze-500, #8A5A32);
	stroke-opacity: .55;
	stroke-width: 3.5;
	stroke-dasharray: 12 9;
	stroke-linecap: round;
}
.rn8-diagram--eco .rn8-label,
.rn8-diagram--eco .rn8-sub,
.rn8-diagram--eco .rn8-hub-text {
	paint-order: stroke;
	stroke: rgba(250, 248, 244, .9);
	stroke-width: 7;
	stroke-linejoin: round;
}

/* Наведение и выбор. */
.rn8-hit { fill: transparent; stroke: none; }
.rn8-inode { cursor: pointer; }
.rn8-inode:focus { outline: none; }
.rn8-node-g,
.rn8-hub-g {
	transform-box: fill-box;
	transform-origin: center;
	transition: transform .3s cubic-bezier(.2, .75, .2, 1);
	filter: url(#rn8-f-lift);
}
.rn8-inode .rn8-node,
.rn8-inode .rn8-hub {
	transform-box: fill-box;
	transform-origin: center;
	transition: transform .3s cubic-bezier(.2, .75, .2, 1);
}
.rn8-inode:hover .rn8-node-g,
.rn8-inode:focus-visible .rn8-node-g,
.rn8-inode.is-active .rn8-node-g { transform: scale(1.22); }
.rn8-inode:hover .rn8-hub-g,
.rn8-inode:focus-visible .rn8-hub-g,
.rn8-inode.is-active .rn8-hub-g { transform: scale(1.08); }
.rn8-inode:hover .rn8-label,
.rn8-inode:focus-visible .rn8-label,
.rn8-inode.is-active .rn8-label { fill: var(--rn8-copper-600, #7A4A28); }
.rn8-inode:focus-visible .rn8-hit {
	stroke: var(--rn8-fn-info, #2C5C87);
	stroke-width: 3;
}

/* Появление узлов по очереди. */
.mmp-anim-ready .rn8-diagram--eco .rn8-inode {
	animation: rn8-pop .55s cubic-bezier(.2, .8, .2, 1) backwards;
	transform-box: fill-box;
	transform-origin: center;
}
.rn8-diagram--eco .rn8-inode:nth-of-type(1) { animation-delay: .05s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(2) { animation-delay: .13s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(3) { animation-delay: .21s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(4) { animation-delay: .29s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(5) { animation-delay: .37s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(6) { animation-delay: .45s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(7) { animation-delay: .53s; }
.rn8-diagram--eco .rn8-inode:nth-of-type(8) { animation-delay: .61s; }
@keyframes rn8-pop {
	from { opacity: 0; transform: scale(.72); }
	to   { opacity: 1; transform: scale(1); }
}

/* Панель разбора шага. */
.rn8-eco { margin-top: 8px; }
.rn8-eco-panel {
	max-width: 980px;
	margin: 6px auto 0;
	display: flex;
	gap: 20px;
	align-items: flex-start;
	flex-wrap: wrap;
}
.rn8-eco-play {
	flex: 0 0 auto;
	border: 1px solid var(--rn8-copper-600, #7A4A28);
	background: var(--rn8-bg-porcelain, #FAF8F4);
	color: var(--rn8-copper-600, #7A4A28);
	border-radius: 3px;
	padding: 11px 18px;
	font: inherit;
	font-weight: 700;
	cursor: pointer;
	transition: background .25s ease, color .25s ease;
}
.rn8-eco-play:hover,
.rn8-eco-play.is-playing {
	background: var(--rn8-copper-600, #7A4A28);
	color: #fff;
}
.rn8-eco-detail {
	flex: 1 1 380px;
	min-height: 92px;
	border: 1px solid var(--rn8-champagne-300, #D9C7A7);
	background: var(--rn8-bg-porcelain, #FAF8F4);
	border-radius: 3px;
	padding: 16px 20px;
}
.rn8-eco-title {
	margin: 0 0 6px;
	font-size: 17px;
	color: var(--rn8-copper-600, #7A4A28);
}
.rn8-eco-text,
.rn8-eco-hint { margin: 0; font-size: 15px; color: var(--rn8-ink-500, #3D3D42); }
.rn8-eco-hint { color: var(--rn8-ink-400, #5E5E66); }

@media (max-width: 560px) {
	.rn8-eco-panel { flex-direction: column; }
	.rn8-eco-play { width: 100%; }
}

/* ---------- Пропорции схем в широких секциях ----------
   Кегль задавался под узкие колонки; в секциях во всю ширину схема
   растягивалась и подписи становились больше заголовков. */
.rn8-diagram--path { max-width: 1000px; }
.rn8-diagram--path .rn8-label { font-size: 20px; }
.rn8-diagram--path .rn8-sub { font-size: 16px; }
.rn8-diagram--path .rn8-hub-text { font-size: 20px; }

.rn8-diagram--levels { max-width: 1080px; }
.rn8-diagram--levels .rn8-label { font-size: 21px; }
.rn8-diagram--levels .rn8-sub { font-size: 17px; }
.rn8-diagram--levels .rn8-num { font-size: 15px; }

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

:root {
	--rn8-copper-400: #B87450;   /* медь презентации — теплее и светлее bronze-500 */
	--rn8-copper-300: #D49A73;   /* блик на меди */
	--rn8-cut: 15px;             /* размер среза угла */
}

/* Срез угла с залитым треугольником — фирменная рамка концепции.
   Два верхних слоя фона рисуют треугольники, нижний — саму подложку. */
.mp-v2 .mmp-pillar,
.mp-v2 .v2-page-card,
.mp-v2 .v2-suite-card,
.mp-v2 .price {
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
	transition: box-shadow .18s ease, transform .18s ease;
}
.mp-v2 .v2-page-card:hover,
.mp-v2 .v2-suite-card:hover,
.mp-v2 .price:hover {
	box-shadow: 0 22px 52px rgba(94, 68, 40, .13);
	transform: translateY(-2px);
}

/* Номера карточек — медные и заметные, как нумерация уровней в презентации. */
.mp-v2 .mmp-pillar .n {
	display: inline-block;
	font-family: var(--rn8-font-display, inherit);
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .04em;
	color: var(--rn8-copper-400);
	background: none;
	padding: 0 0 8px;
	border-bottom: 2px solid var(--rn8-copper-400);
	margin-bottom: 12px;
}

/* Заголовок секции получает короткую медную отбивку — она задаёт ритм
   и не даёт полосе секций слиться в одно светлое поле. */
.mp-v2 .section-title {
	position: relative;
	padding-top: 20px;
}
.mp-v2 .section-title::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 54px;
	height: 3px;
	background: linear-gradient(90deg, var(--rn8-copper-600, #7A4A28), var(--rn8-copper-300));
}

/* Надзаголовки и метки — насыщенная медь вместо блёклой шампани. */
.mp-v2 .eyebrow,
.mp-v2 .v2-demo-chip {
	color: var(--rn8-copper-600, #7A4A28);
	border-color: var(--rn8-copper-400);
	letter-spacing: .12em;
	font-weight: 700;
}

/* Тарифы: рекомендованный формат выделен медной шапкой, а не только рамкой. */
.mp-v2 .price.featured {
	border-color: var(--rn8-copper-600, #7A4A28);
	box-shadow: 0 26px 64px rgba(94, 68, 40, .2);
}
.mp-v2 .price.featured::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 4px;
	background: linear-gradient(90deg, var(--rn8-copper-600, #7A4A28), var(--rn8-copper-300), var(--rn8-copper-400));
}
.mp-v2 .price { position: relative; }
.mp-v2 .price .amount,
.mp-v2 .price .price-amount,
.mp-v2 .price strong,
.mp-v2 .price .v2-price { color: var(--rn8-copper-600, #7A4A28); }

/* Вывод под цифрами рынка — медная полоса слева и плотный текст. */
.mp-v2 .mmp-trend-out {
	border-left-width: 4px;
	border-left-color: var(--rn8-copper-600, #7A4A28);
	font-weight: 700;
	color: var(--rn8-ink-900, #1B1B1D);
}

/* Кнопка запуска цикла на схеме — акцент, а не бледная обводка. */
.mp-v2 .rn8-eco-play {
	background: linear-gradient(140deg, var(--rn8-copper-400), var(--rn8-copper-600, #7A4A28));
	border: 1px solid var(--rn8-copper-600, #7A4A28);
	color: #fff;
	font-weight: 700;
}
.mp-v2 .rn8-eco-play:hover { filter: brightness(1.08); }

/* Цитата-вывод под карточками проблем — медная линия вместо серой. */
.mp-v2 .mmp-why blockquote,
.mp-v2 .mmp-why > .wrap > p:last-of-type {
	border-left: 4px solid var(--rn8-copper-400);
}

/* Вторичный текст был синевато-серым (--muted из старой синей темы) —
   на тёплой бумаге он выглядел чужеродно и холодным. */
.mp-v2 { --muted: #5E5E66; }
.mp-v2 .mmp-pillar p,
.mp-v2 .v2-page-card p,
.mp-v2 .v2-card-sub,
.mp-v2 .week-card p { color: var(--rn8-ink-400, #5E5E66); }

/* Номер карточки: подчёркивание было скруглённым и читалось как улыбка. */
.mp-v2 .mmp-pillar .n { border-radius: 0; }

/* Сноска об источниках — не вывод, медная линия ей не нужна. */
.mp-v2 .mmp-why > .wrap > p:last-of-type { border-left: 0; padding-left: 0; }

/* Финальный призыв — та же срезанная рамка, что и у карточек: блок
   закрывает страницу и не должен быть единственным без акцента. */
.mp-v2 .cta {
	border: 1px solid var(--rn8-copper-400);
	border-radius: 0;
	background-image:
		linear-gradient(135deg, var(--rn8-copper-400) 50%, transparent 50%),
		linear-gradient(315deg, var(--rn8-copper-400) 50%, transparent 50%),
		linear-gradient(140deg, rgba(217, 199, 167, .5) 0%, rgba(243, 236, 226, .8) 48%, rgba(255, 255, 255, .9) 100%);
	background-position: top left, bottom right, center;
	background-size: 22px 22px, 22px 22px, cover;
	background-repeat: no-repeat;
}

/* Дорожная карта: готовое отмечено медной кромкой, запланированное — нет.
   Статус видно до чтения подписи. */
.mp-v2 .v2-roadmap-item {
	border-left: 3px solid var(--rn8-line-structure, #D8D2C6);
	border-radius: 0;
}
.mp-v2 .v2-roadmap-item:has(.v2-status--available),
.mp-v2 .v2-roadmap-item:has(.v2-status--connected) {
	border-left-color: var(--rn8-copper-400);
}

/* Кнопки были единственной скруглённой формой среди чертёжной геометрии
   концепции — выравниваем радиус и убираем синее свечение под тенью. */
.mp-v2 .btn,
header .btn {
	border-radius: 2px;
	box-shadow: none;
}
.mp-v2 .btn:hover,
header .btn:hover {
	box-shadow: 0 12px 26px rgba(94, 68, 40, .18);
	transform: translateY(-1px);
}

/* Бирюза осталась от тёмных панелей. На бумаге данные показываем
   брендовым синим — он и был закреплён за данными и действием. */
.mp-v2 .v2-role-row i { background: linear-gradient(90deg, #5A8CB5, #2C5C87); }
.mp-v2 .v2-energy-score span { color: var(--rn8-fn-info, #2C5C87); }
.mp-v2 .v2-insight {
	background: linear-gradient(140deg, rgba(44, 92, 135, .10), rgba(255, 255, 255, .6));
	border-color: rgba(44, 92, 135, .30);
	color: var(--rn8-ink-900, #1B1B1D);
}

/* ==========================================================================
   Кому подходит / Что вы получите / Вопросы и ответы
   Блоки были в теме, но без разметки сетки — выводились сплошным списком.
   Одна карточка на всех, та же срезанная рамка, что и в остальных секциях.
   ========================================================================== */
.mp-v2 .mmp-inside-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-top: 30px;
}
.mp-v2 .mmp-legend-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin-top: 30px;
}
.mp-v2 .mmp-inside-item .ic {
	display: inline-block;
	font-family: var(--rn8-font-display, inherit);
	font-size: 20px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: .04em;
	color: var(--rn8-copper-400);
	padding-bottom: 8px;
	border-bottom: 2px solid var(--rn8-copper-400);
	margin-bottom: 14px;
}
.mp-v2 .mmp-inside-item h4,
.mp-v2 .mmp-legend-item h4 {
	margin: 0 0 8px;
	font-size: 17px;
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-inside-item p,
.mp-v2 .mmp-legend-item p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--rn8-ink-400, #5E5E66);
}
.mp-v2 .mmp-legend-note,
.mp-v2 .mmp-legend-contact {
	margin-top: 18px;
	font-size: 15px;
	color: var(--rn8-ink-400, #5E5E66);
}
.mp-v2 .mmp-legend-contact {
	font-weight: 700;
	color: var(--rn8-copper-600, #7A4A28);
}
@media (max-width: 980px) {
	.mp-v2 .mmp-inside-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.mp-v2 .mmp-inside-grid,
	.mp-v2 .mmp-legend-grid { grid-template-columns: 1fr; }
}

/* Бесплатная диагностика — второй экран и главная точка входа.
   Оформляем как предложение, а не как одинокую кнопку. */
.mp-v2 .mmp-diag-card {
	max-width: 860px;
	margin-top: 30px;
	padding: 34px 38px;
	border: 1px solid var(--rn8-copper-400);
	border-radius: 0;
	background-image:
		linear-gradient(135deg, var(--rn8-copper-400) 50%, transparent 50%),
		linear-gradient(315deg, var(--rn8-copper-400) 50%, transparent 50%),
		linear-gradient(148deg, rgba(217, 199, 167, .42) 0%, rgba(245, 239, 230, .8) 52%, rgba(255, 255, 255, .94) 100%);
	background-position: top left, bottom right, center;
	background-size: 20px 20px, 20px 20px, cover;
	background-repeat: no-repeat;
	box-shadow: 0 20px 50px rgba(94, 68, 40, .12);
}
.mp-v2 .mmp-diag-card h3 {
	margin: 0 0 10px;
	font-size: 26px;
	line-height: 1.2;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-diag-card p {
	margin: 0 0 22px;
	max-width: 62ch;
	font-size: 16px;
	line-height: 1.6;
	color: var(--rn8-ink-500, #3D3D42);
}

/* ==========================================================================
   Развороты «текст — объект»
   Почти каждая секция была устроена одинаково: заголовок, лид, сетка
   карточек. Десять раз подряд — отсюда ощущение однообразия. Развороты
   ломают ритм, а рендеры из концепции дают странице объём: до этого он
   был только в шапке и в восьмёрке.
   ========================================================================== */
.mp-v2 .rn8-split {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	gap: clamp(28px, 4vw, 72px);
	align-items: center;
}
.mp-v2 .rn8-split-text { min-width: 0; }

/* Объект стоит на своей панели — как рендер на слайде презентации.
   Фон самих рендеров приведён к порцелану сайта, поэтому край картинки
   не читается прямоугольником. */
.mp-v2 .rn8-figure {
	position: relative;
	margin: 0;
	padding: clamp(20px, 2.6vw, 44px);
	display: flex;
	justify-content: center;
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .rn8-figure img {
	position: relative;
	display: block;
	width: 100%;
	max-width: 560px;
	height: auto;
}

/* Три уровня архитектуры: рендер слева, уровни справа — как в концепции. */
.mp-v2 .rn8-levels {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	gap: clamp(24px, 3.5vw, 64px);
	align-items: center;
	margin-top: 34px;
}
.mp-v2 .rn8-figure--levels { padding: clamp(16px, 2vw, 34px); }
.mp-v2 .rn8-figure--levels img { max-width: 480px; }
.mp-v2 .rn8-levels-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 26px;
}
.mp-v2 .rn8-levels-list li {
	position: relative;
	padding-left: 26px;
	border-left: 2px solid var(--rn8-copper-400);
}
.mp-v2 .rn8-levels-list li::before {
	content: "";
	position: absolute;
	left: -6px;
	top: 6px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--rn8-copper-400);
}
.mp-v2 .rn8-levels-list .n {
	display: block;
	font-family: var(--rn8-font-display, inherit);
	font-size: 14px;
	font-weight: 800;
	letter-spacing: .14em;
	color: var(--rn8-copper-400);
	margin-bottom: 4px;
}
.mp-v2 .rn8-levels-list h4 {
	margin: 0 0 6px;
	font-size: 20px;
	line-height: 1.25;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .rn8-levels-list p {
	margin: 0;
	font-size: 15px;
	line-height: 1.55;
	color: var(--rn8-ink-400, #5E5E66);
}
.mp-v2 .rn8-levels-note {
	grid-column: 1 / -1;
	margin: 8px 0 0;
	text-align: center;
	font-size: 15px;
	color: var(--rn8-copper-600, #7A4A28);
}

@media (max-width: 900px) {
	.mp-v2 .rn8-split,
	.mp-v2 .rn8-levels { grid-template-columns: 1fr; }
	.mp-v2 .rn8-figure { order: -1; }
	.mp-v2 .rn8-figure img,
	.mp-v2 .rn8-figure--levels img { max-width: 320px; }
}

/* Финальный призыв: справа оставалось пустое поле — закрываем знаком RN8. */
.mp-v2 .cta--split {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, .58fr);
	gap: clamp(24px, 4vw, 64px);
	align-items: center;
}
.mp-v2 .cta-copy { min-width: 0; }
.mp-v2 .rn8-figure--mark {
	justify-self: end;
	width: 100%;
	max-width: 420px;
	padding: clamp(14px, 1.8vw, 26px);
}
.mp-v2 .rn8-figure--mark img { max-width: 100%; }
@media (max-width: 900px) {
	.mp-v2 .cta--split { grid-template-columns: 1fr; }
	.mp-v2 .rn8-figure--mark { justify-self: center; max-width: 320px; }
}

/* ==========================================================================
   Блок диагностики по макету: два столбца, светлые карточки, медные иконки
   ========================================================================== */
.mp-v2 .mmp-diag {
	background: linear-gradient(168deg, #FBF9F6 0%, #F7F3ED 100%);
	padding-block: clamp(46px, 5vw, 84px);
}
.mp-v2 .mmp-diag-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(28px, 3.4vw, 64px);
	align-items: stretch;
}
.mp-v2 .mmp-diag-main { min-width: 0; }
.mp-v2 .mmp-diag .section-title {
	font-size: clamp(30px, 3.1vw, 46px);
	line-height: 1.16;
	letter-spacing: -.02em;
	max-width: 22ch;
}
.mp-v2 .mmp-diag-accent { color: var(--rn8-copper-400, #B87450); }
.mp-v2 .mmp-diag .section-lead {
	max-width: 54ch;
	margin-top: 18px;
	line-height: 1.65;
}

/* Карточка предложения слева */
.mp-v2 .mmp-diag-card {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(18px, 2vw, 32px);
	align-items: center;
	margin-top: clamp(26px, 3vw, 44px);
	padding: clamp(24px, 2.6vw, 38px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .mmp-diag-emblem {
	width: clamp(84px, 8vw, 108px);
	color: var(--rn8-copper-400, #B87450);
	background: radial-gradient(circle at 50% 50%, #FDF7F0 0%, #F8EFE3 100%);
	border-radius: 50%;
	padding: 6px;
}
.mp-v2 .mmp-diag-emblem svg { display: block; width: 100%; height: auto; }
.mp-v2 .mmp-diag-card h3 {
	margin: 0 0 10px;
	font-size: clamp(18px, 1.5vw, 21px);
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-diag-card p {
	margin: 0 0 20px;
	font-size: 15px;
	line-height: 1.6;
	color: var(--rn8-ink-400, #5E5E66);
}

/* Кнопка со стрелкой в кружке */
.mp-v2 .mmp-diag-go {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 14px 14px 14px 26px;
	border-radius: 999px;
	background: #16273F;
	border: 1px solid #16273F;
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	box-shadow: none;
}
.mp-v2 .mmp-diag-go:hover {
	background: #1D3556;
	border-color: #1D3556;
	color: #fff;
	box-shadow: 0 14px 30px rgba(22, 39, 63, .24);
}
.mp-v2 .mmp-diag-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .42);
	flex: 0 0 auto;
}
.mp-v2 .mmp-diag-arrow svg { width: 15px; height: 15px; }

/* Карточка «Что вы получите» справа */
.mp-v2 .mmp-diag-gains {
	padding: clamp(26px, 2.8vw, 42px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
	display: flex;
	flex-direction: column;
}
.mp-v2 .mmp-diag-gains h3 {
	margin: 0 0 26px;
	padding-bottom: 16px;
	font-size: clamp(22px, 1.9vw, 28px);
	color: var(--rn8-ink-900, #1B1B1D);
	position: relative;
}
.mp-v2 .mmp-diag-gains h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 46px;
	height: 2px;
	background: var(--rn8-copper-400, #B87450);
}
.mp-v2 .mmp-diag-gains ul {
	list-style: none;
	margin: 0;
	padding: 0;
	flex: 1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(18px, 2vw, 30px) clamp(16px, 1.8vw, 26px);
	align-content: space-between;
}
.mp-v2 .mmp-diag-gains li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(16px, 1.2vw, 22px);
	align-items: center;
	font-size: clamp(17px, 1.15vw, 20px);
	line-height: 1.42;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-diag-gain-ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(58px, 4.2vw, 70px);
	height: clamp(58px, 4.2vw, 70px);
	border-radius: 16px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	color: var(--rn8-copper-400, #B87450);
	flex: 0 0 auto;
}
.mp-v2 .mmp-diag-gain-ic svg { width: clamp(26px, 1.9vw, 32px); height: clamp(26px, 1.9vw, 32px); }

@media (max-width: 980px) {
	.mp-v2 .mmp-diag-grid { grid-template-columns: 1fr; }
	.mp-v2 .mmp-diag .section-title { max-width: none; }
}
@media (max-width: 560px) {
	.mp-v2 .mmp-diag-card { grid-template-columns: 1fr; justify-items: start; }
	.mp-v2 .mmp-diag-gains ul { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Кому подходит — в том же ключе, что и блок диагностики:
   белые карточки со скруглением, медная плитка с номером, крупный текст.
   Пять пунктов не делятся на три колонки поровну, поэтому сетка из шести
   долей: карточка занимает две, а последний ряд сдвинут к центру.
   ========================================================================== */
.mp-v2 .mmp-forwhom { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-forwhom .section-title { max-width: 22ch; }
.mp-v2 .mmp-forwhom .section-lead { max-width: 68ch; margin-top: 18px; line-height: 1.65; }
.mp-v2 .mmp-forwhom-accent { color: var(--rn8-copper-400, #B87450); }

.mp-v2 .mmp-forwhom-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: clamp(20px, 1.8vw, 30px);
	margin-top: clamp(28px, 3vw, 46px);
}
.mp-v2 .mmp-forwhom-item {
	grid-column: span 2;
	display: flex;
	flex-direction: column;
	padding: clamp(24px, 2.3vw, 36px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
	transition: box-shadow .18s ease, transform .18s ease;
}
.mp-v2 .mmp-forwhom-item:hover {
	box-shadow: 0 22px 52px rgba(94, 68, 40, .13);
	transform: translateY(-2px);
}
/* последний ряд из двух карточек ставим по центру */
.mp-v2 .mmp-forwhom-item:nth-child(4) { grid-column: 2 / span 2; }
.mp-v2 .mmp-forwhom-item:nth-child(5) { grid-column: 4 / span 2; }

.mp-v2 .mmp-forwhom-item .ic {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(52px, 3.6vw, 62px);
	height: clamp(52px, 3.6vw, 62px);
	margin-bottom: clamp(16px, 1.4vw, 22px);
	border: 0;
	border-radius: 16px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(18px, 1.4vw, 22px);
	font-weight: 800;
	letter-spacing: .02em;
	color: var(--rn8-copper-400, #B87450);
}
.mp-v2 .mmp-forwhom-item h4 {
	margin: 0 0 10px;
	font-size: clamp(19px, 1.35vw, 22px);
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-forwhom-item p {
	margin: 0;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.6;
	color: var(--rn8-ink-400, #5E5E66);
}

@media (max-width: 1100px) {
	.mp-v2 .mmp-forwhom-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.mp-v2 .mmp-forwhom-item:nth-child(4) { grid-column: span 2; }
	.mp-v2 .mmp-forwhom-item:nth-child(5) { grid-column: 2 / span 2; }
}
@media (max-width: 680px) {
	.mp-v2 .mmp-forwhom-grid { grid-template-columns: 1fr; }
	.mp-v2 .mmp-forwhom-item,
	.mp-v2 .mmp-forwhom-item:nth-child(4),
	.mp-v2 .mmp-forwhom-item:nth-child(5) { grid-column: 1 / -1; }
}

/* ==========================================================================
   Проблема не в элементах — разворот вместо ряда из пяти карточек.
   Слева заголовок и вывод, справа одна белая панель со списком признаков:
   соседняя секция уже устроена сеткой карточек, и два одинаковых ряда
   подряд читались как повтор.
   ========================================================================== */
.mp-v2 .mmp-why { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-why-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(28px, 3.4vw, 64px);
	align-items: stretch;
}
.mp-v2 .mmp-why-main {
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.mp-v2 .mmp-why .section-title { max-width: 20ch; }
.mp-v2 .mmp-why-accent { color: var(--rn8-copper-400, #B87450); }
.mp-v2 .mmp-why .section-lead { margin-top: 18px; line-height: 1.65; max-width: none; }

.mp-v2 .mmp-why .mmp-callout {
	margin: clamp(22px, 2.2vw, 32px) 0 auto;
	padding: clamp(18px, 1.6vw, 24px) clamp(20px, 1.8vw, 28px);
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	border-left: 3px solid var(--rn8-copper-400, #B87450);
	border-radius: 0 12px 12px 0;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.6;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-why .mmp-research {
	margin: 16px 0 0;
	padding-top: 16px;
	font-size: 14px;
	color: var(--rn8-ink-400, #5E5E66);
}

/* Панель признаков: строки с медной плиткой-номером */
.mp-v2 .mmp-problems {
	display: block;
	padding: clamp(10px, 1vw, 16px) clamp(22px, 2.2vw, 34px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .mmp-problem {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(16px, 1.4vw, 22px);
	align-items: start;
	padding: clamp(18px, 1.6vw, 24px) 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.mp-v2 .mmp-problem + .mmp-problem { border-top: 1px solid rgba(217, 199, 167, .45); }
.mp-v2 .mmp-problem .n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(48px, 3.2vw, 56px);
	height: clamp(48px, 3.2vw, 56px);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(16px, 1.25vw, 20px);
	font-weight: 800;
	color: var(--rn8-copper-400, #B87450);
}
.mp-v2 .mmp-problem h4 {
	margin: 0 0 6px;
	font-size: clamp(17px, 1.25vw, 20px);
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-problem p {
	margin: 0;
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.55;
	color: var(--rn8-ink-400, #5E5E66);
}

@media (max-width: 980px) {
	.mp-v2 .mmp-why-grid { grid-template-columns: 1fr; }
	.mp-v2 .mmp-why .section-title { max-width: none; }
}

/* ==========================================================================
   Тенденции рынка — одна широкая панель вместо трёх плиток.
   Соседние секции уже устроены сеткой карточек и разворотом, поэтому здесь
   колонки разделены тонкими линиями внутри общей панели, а цифры вынесены
   вперёд и набираются при появлении в поле зрения.
   ========================================================================== */
.mp-v2 .mmp-trends { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-trends-accent { color: var(--rn8-copper-400, #B87450); }
.mp-v2 .mmp-trends .section-lead { margin-top: 18px; max-width: 68ch; line-height: 1.65; }

.mp-v2 .mmp-trends-panel {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(28px, 3vw, 46px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
	overflow: hidden;
}
.mp-v2 .mmp-trends-panel .mmp-trend-card {
	display: flex;
	flex-direction: column;
	padding: clamp(26px, 2.6vw, 40px);
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}
.mp-v2 .mmp-trends-panel .mmp-trend-card + .mmp-trend-card {
	border-left: 1px solid rgba(217, 199, 167, .45);
}

.mp-v2 .mmp-trends .mmp-stats {
	list-style: none;
	margin: 0 0 auto;
	padding: 0;
	display: grid;
	gap: clamp(20px, 1.9vw, 30px);
}
.mp-v2 .mmp-trends .mmp-stats li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: clamp(12px, 1.1vw, 18px);
	align-items: baseline;
}
.mp-v2 .mmp-trends .mmp-stats > li > b {
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(30px, 2.4vw, 42px);
	font-weight: 800;
	line-height: 1;
	letter-spacing: -.02em;
	color: var(--rn8-copper-400, #B87450);
	font-variant-numeric: tabular-nums;
	min-width: 2.6em;
}
.mp-v2 .mmp-trends .mmp-stats span {
	font-size: clamp(14px, 1.02vw, 16px);
	line-height: 1.5;
	color: var(--rn8-ink-400, #5E5E66);
}
/* второе число внутри подписи остаётся в строке текста */
.mp-v2 .mmp-trends .mmp-stats span b {
	font-weight: 700;
	color: var(--rn8-copper-600, #7A4A28);
	font-variant-numeric: tabular-nums;
}

.mp-v2 .mmp-trends .mmp-trend-out {
	margin-top: clamp(24px, 2.4vw, 34px);
	padding: clamp(14px, 1.3vw, 20px) clamp(16px, 1.5vw, 22px);
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	border: 0;
	border-left: 3px solid var(--rn8-copper-400, #B87450);
	border-radius: 0 12px 12px 0;
	font-size: clamp(14px, 1vw, 16px);
	font-weight: 600;
	line-height: 1.5;
	color: var(--rn8-ink-900, #1B1B1D);
}

/* Появление колонок с небольшой задержкой друг за другом.
   Прячем только если скрипт действительно будет анимировать: иначе при
   отключённом JS колонки остались бы невидимыми навсегда. */
.mp-v2 .mmp-trends-panel.will-animate .mmp-trend-card {
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .5s ease, transform .5s ease;
}
.mp-v2 .mmp-trends-panel.is-shown .mmp-trend-card { opacity: 1; transform: none; }
.mp-v2 .mmp-trends-panel.is-shown .mmp-trend-card:nth-child(2) { transition-delay: .12s; }
.mp-v2 .mmp-trends-panel.is-shown .mmp-trend-card:nth-child(3) { transition-delay: .24s; }

@media (prefers-reduced-motion: reduce) {
	.mp-v2 .mmp-trends-panel.will-animate .mmp-trend-card { opacity: 1; transform: none; transition: none; }
}
@media (max-width: 900px) {
	.mp-v2 .mmp-trends-panel { grid-template-columns: 1fr; }
	.mp-v2 .mmp-trends-panel .mmp-trend-card + .mmp-trend-card {
		border-left: 0;
		border-top: 1px solid rgba(217, 199, 167, .45);
	}
}

/* ==========================================================================
   Главная идея методологии
   Четвёртая композиция подряд должна отличаться от предыдущих: рендер стоит
   в светлой панели слева, а уровни идут белыми карточками по вертикали и
   нанизаны на медную линию — «изнутри наружу» читается самой формой.
   ========================================================================== */
.mp-v2 .mmp-idea { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-idea-accent { color: var(--rn8-copper-400, #B87450); }
.mp-v2 .mmp-idea .section-lead { margin-top: 18px; max-width: 68ch; line-height: 1.65; }

.mp-v2 .rn8-levels {
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(28px, 3.2vw, 60px);
	align-items: center;
	margin-top: clamp(28px, 3vw, 46px);
}

/* Панель рендера: скругление вместо срезанного угла — как у остальных карточек */
.mp-v2 .rn8-figure--levels {
	padding: clamp(20px, 2vw, 34px);
	background: linear-gradient(158deg, #FFFFFF, #FAF6F0);
	background-image: none;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .rn8-figure--levels img { max-width: 100%; }

/* Уровни: карточки на общей медной линии */
.mp-v2 .rn8-levels-list {
	position: relative;
	gap: clamp(14px, 1.4vw, 20px);
	padding-left: clamp(26px, 2.2vw, 36px);
}
.mp-v2 .rn8-levels-list::before {
	content: "";
	position: absolute;
	left: 6px;
	top: 22px;
	bottom: 42px;
	width: 2px;
	background: linear-gradient(180deg, var(--rn8-copper-400, #B87450), rgba(184, 116, 80, .25));
}
.mp-v2 .rn8-levels-list li {
	position: relative;
	padding: clamp(20px, 1.9vw, 28px) clamp(22px, 2vw, 30px);
	border: 1px solid rgba(217, 199, 167, .55);
	border-left: 1px solid rgba(217, 199, 167, .55);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 12px 32px rgba(94, 68, 40, .06);
}
.mp-v2 .rn8-levels-list li::before {
	left: calc(-1 * clamp(26px, 2.2vw, 36px) + 2px);
	top: clamp(24px, 2.2vw, 32px);
	width: 12px;
	height: 12px;
	border: 2px solid #fff;
	box-shadow: 0 0 0 1px var(--rn8-copper-400, #B87450);
}
.mp-v2 .rn8-levels-list .n {
	font-size: clamp(13px, 1vw, 15px);
	letter-spacing: .16em;
	margin-bottom: 6px;
}
.mp-v2 .rn8-levels-list h4 { font-size: clamp(19px, 1.35vw, 22px); }
.mp-v2 .rn8-levels-list p { font-size: clamp(15px, 1.05vw, 17px); max-width: 60ch; }

/* Подпись-вывод — последним пунктом списка, без карточки и без точки */
.mp-v2 .rn8-levels-list li.rn8-levels-note {
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
	margin-top: 4px;
	font-size: clamp(14px, 1vw, 16px);
	color: var(--rn8-copper-600, #7A4A28);
}
.mp-v2 .rn8-levels-list li.rn8-levels-note::before { display: none; }

/* Формула результата — белая панель в общем ключе */
.mp-v2 .mmp-idea-core {
	margin-top: clamp(30px, 3.2vw, 52px);
	padding: clamp(28px, 2.8vw, 44px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .mmp-idea-core h3 {
	margin: 0 0 clamp(20px, 2vw, 30px);
	padding-bottom: 14px;
	position: relative;
	text-align: center;
	font-size: clamp(20px, 1.7vw, 25px);
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-idea-core h3::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 46px;
	height: 2px;
	background: var(--rn8-copper-400, #B87450);
}

/* Шевроны проявляются по очереди, когда панель попадает в поле зрения */
.mp-v2 .mmp-idea-core.will-animate .rn8-step,
.mp-v2 .mmp-idea-core.will-animate .rn8-step-text {
	opacity: 0;
	transition: opacity .45s ease;
}
.mp-v2 .mmp-idea-core.is-shown .rn8-step,
.mp-v2 .mmp-idea-core.is-shown .rn8-step-text { opacity: 1; }
.mp-v2 .mmp-idea-core.is-shown .rn8-step--2,
.mp-v2 .mmp-idea-core.is-shown .rn8-step-text:nth-of-type(2) { transition-delay: .14s; }
.mp-v2 .mmp-idea-core.is-shown .rn8-step--3,
.mp-v2 .mmp-idea-core.is-shown .rn8-step-text:nth-of-type(3) { transition-delay: .28s; }
.mp-v2 .mmp-idea-core.is-shown .rn8-step--4,
.mp-v2 .mmp-idea-core.is-shown .rn8-step-text:nth-of-type(4) { transition-delay: .42s; }
.mp-v2 .mmp-idea-core.is-shown .rn8-step--5,
.mp-v2 .mmp-idea-core.is-shown .rn8-step-text:nth-of-type(5),
.mp-v2 .mmp-idea-core.is-shown .rn8-step-text:nth-of-type(6) { transition-delay: .56s; }

@media (prefers-reduced-motion: reduce) {
	.mp-v2 .mmp-idea-core.will-animate .rn8-step,
	.mp-v2 .mmp-idea-core.will-animate .rn8-step-text { opacity: 1; transition: none; }
}
@media (max-width: 900px) {
	.mp-v2 .rn8-levels { grid-template-columns: 1fr; }
}

/* ---------- Сфера объясняет: метки на слоях и выноски к уровням ----------
   В концепции каждый уровень соединён тонкой линией со своим слоем сферы.
   При вырезании рендера эти линии остались на слайде — рисуем их заново,
   уже живыми: они строятся по фактическим координатам и подсвечиваются. */
.mp-v2 .rn8-levels { position: relative; }
.mp-v2 .rn8-levels-links {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	overflow: visible;
	z-index: 1;
}
.mp-v2 .rn8-levels-links path {
	fill: none;
	stroke: var(--rn8-copper-400, #B87450);
	stroke-width: 1.4;
	stroke-opacity: .55;
	transition: stroke-opacity .2s ease, stroke-width .2s ease;
}
.mp-v2 .rn8-levels-links path.is-active { stroke-opacity: 1; stroke-width: 2.2; }

.mp-v2 .rn8-sphere-wrap { position: relative; display: block; }
.mp-v2 .rn8-sphere-wrap img { display: block; }

.mp-v2 .rn8-lvl-mark {
	position: absolute;
	transform: translate(-50%, -50%);
	width: 34px;
	height: 34px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid var(--rn8-copper-400, #B87450);
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: var(--rn8-copper-600, #7A4A28);
	font-family: var(--rn8-font-display, inherit);
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .02em;
	cursor: pointer;
	z-index: 2;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease;
}
.mp-v2 .rn8-lvl-mark:hover,
.mp-v2 .rn8-lvl-mark:focus-visible,
.mp-v2 .rn8-lvl-mark.is-active {
	background: var(--rn8-copper-400, #B87450);
	color: #fff;
	transform: translate(-50%, -50%) scale(1.16);
	box-shadow: 0 0 0 6px rgba(184, 116, 80, .18);
}

/* Карточка уровня подсвечивается вместе со своей меткой */
.mp-v2 .rn8-levels-list li.is-active {
	border-color: var(--rn8-copper-400, #B87450);
	box-shadow: 0 18px 44px rgba(94, 68, 40, .14);
}
.mp-v2 .rn8-levels-list li.is-active::before {
	box-shadow: 0 0 0 1px var(--rn8-copper-400, #B87450), 0 0 0 6px rgba(184, 116, 80, .18);
}

/* Вертикальная линия больше не нужна: связь показывают выноски */
.mp-v2 .rn8-levels-list::before { display: none; }

@media (max-width: 900px) {
	/* На узком экране колонки встают друг под друга — выноски скрываем */
	.mp-v2 .rn8-levels-links { display: none; }
}

/* Сфера переезжает вправо: текст слева, объект справа — как в концепции.
   Метки на слоях расставлены сверху вниз в порядке уровней, поэтому
   выноски идут параллельно и не пересекаются. */
@media (min-width: 901px) {
	.mp-v2 .rn8-levels { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
	.mp-v2 .rn8-levels .rn8-figure--levels { order: 2; }
	.mp-v2 .rn8-levels .rn8-levels-list { order: 1; }
	/* точка-терминатор переезжает на правый край карточки */
	.mp-v2 .rn8-levels-list { padding-left: 0; padding-right: clamp(26px, 2.2vw, 36px); }
	.mp-v2 .rn8-levels-list li::before {
		left: auto;
		right: calc(-1 * clamp(26px, 2.2vw, 36px) + 1px);
	}
	.mp-v2 .rn8-levels-list li.rn8-levels-note { text-align: right; }
}

/* Линии проступают по очереди: сначала первый уровень, затем второй и третий */
.mp-v2 .rn8-levels-links path {
	stroke-dasharray: var(--len, 0);
	stroke-dashoffset: var(--len, 0);
}
.mp-v2 .rn8-levels.is-drawn .rn8-levels-links path {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset .7s ease, stroke-opacity .2s ease, stroke-width .2s ease;
}
.mp-v2 .rn8-levels.is-drawn .rn8-levels-links path:nth-child(2) { transition-delay: .22s; }
.mp-v2 .rn8-levels.is-drawn .rn8-levels-links path:nth-child(3) { transition-delay: .44s; }

@media (prefers-reduced-motion: reduce) {
	.mp-v2 .rn8-levels-links path { stroke-dasharray: none; stroke-dashoffset: 0; }
}

/* ==========================================================================
   Формула материального результата — медный трек с узлами.
   Пять шевронов с заливкой читались как схема из офисного редактора.
   Здесь тот же язык, что у выносок на сфере: тонкая линия, узлы-кружки,
   последний шаг выделен как цель.
   ========================================================================== */
.mp-v2 .rn8-formula {
	position: relative;
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(8px, 1vw, 18px);
}
/* линия проходит через центры узлов: от первого до последнего */
.mp-v2 .rn8-formula::before {
	content: "";
	position: absolute;
	top: calc(clamp(52px, 3.8vw, 62px) / 2);
	left: 10%;
	right: 10%;
	height: 2px;
	background: linear-gradient(90deg,
		var(--rn8-champagne-300, #D9C7A7) 0%,
		var(--rn8-copper-400, #B87450) 62%,
		var(--rn8-copper-600, #7A4A28) 100%);
	transform: scaleX(0);
	transform-origin: left center;
}
.mp-v2 .mmp-idea-core.is-shown .rn8-formula::before {
	transform: scaleX(1);
	transition: transform .9s cubic-bezier(.22, .61, .36, 1);
}

.mp-v2 .rn8-formula li {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-width: 0;
}
.mp-v2 .rn8-formula .dot {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(52px, 3.8vw, 62px);
	height: clamp(52px, 3.8vw, 62px);
	border: 1.5px solid var(--rn8-copper-400, #B87450);
	border-radius: 50%;
	background: #fff;
	color: var(--rn8-copper-600, #7A4A28);
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(14px, 1.05vw, 17px);
	font-weight: 800;
	letter-spacing: .02em;
}
.mp-v2 .rn8-formula .dot b { font-weight: 800; }

/* последний шаг — цель: залитый узел с ореолом */
.mp-v2 .rn8-formula .is-goal .dot {
	background: linear-gradient(150deg, var(--rn8-copper-400, #B87450), var(--rn8-copper-600, #7A4A28));
	border-color: var(--rn8-copper-600, #7A4A28);
	color: #fff;
	box-shadow: 0 0 0 7px rgba(184, 116, 80, .14);
}

.mp-v2 .rn8-formula .lbl {
	margin-top: clamp(14px, 1.3vw, 20px);
	font-size: clamp(15px, 1.1vw, 18px);
	font-weight: 700;
	line-height: 1.28;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .rn8-formula .is-goal .lbl { color: var(--rn8-copper-600, #7A4A28); }
.mp-v2 .rn8-formula .note {
	margin-top: 6px;
	max-width: 22ch;
	font-size: clamp(13px, .95vw, 15px);
	line-height: 1.45;
	color: var(--rn8-ink-400, #5E5E66);
}

/* узлы проступают по очереди вслед за линией */
.mp-v2 .mmp-idea-core.will-animate .rn8-formula li {
	opacity: 0;
	transform: translateY(10px);
}
.mp-v2 .mmp-idea-core.is-shown .rn8-formula li {
	opacity: 1;
	transform: none;
	transition: opacity .45s ease, transform .45s ease;
}
.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(2) { transition-delay: .14s; }
.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(3) { transition-delay: .28s; }
.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(4) { transition-delay: .42s; }
.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(5) { transition-delay: .56s; }

@media (prefers-reduced-motion: reduce) {
	.mp-v2 .mmp-idea-core.will-animate .rn8-formula li { opacity: 1; transform: none; }
	.mp-v2 .rn8-formula::before { transform: scaleX(1); }
}

/* На узком экране трек встаёт вертикально: линия слева, узлы под ней */
@media (max-width: 760px) {
	.mp-v2 .rn8-formula {
		--rn8-formula-gap: clamp(18px, 4vw, 26px);
		grid-template-columns: 1fr;
		gap: var(--rn8-formula-gap);
	}
	/* Сплошная линия на весь список уходила ниже последнего узла, потому
	   что её низ привязан к краю списка, а не к центру кружка. Рисуем
	   отрезки от узла к узлу: последний элемент линии не получает. */
	.mp-v2 .rn8-formula::before { display: none; }
	.mp-v2 .rn8-formula li { position: relative; }
	.mp-v2 .rn8-formula li:not(:last-child)::after {
		content: "";
		position: absolute;
		left: calc(clamp(52px, 3.8vw, 62px) / 2 - 1px);
		top: calc(clamp(52px, 3.8vw, 62px) / 2);
		height: calc(100% + var(--rn8-formula-gap));
		width: 2px;
		background: var(--rn8-copper-400, #B87450);
		opacity: .55;
		transform: scaleY(0);
		transform-origin: center top;
	}
	.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:not(:last-child)::after {
		transform: scaleY(1);
		transition: transform .5s ease;
	}
	.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(2)::after { transition-delay: .14s; }
	.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(3)::after { transition-delay: .28s; }
	.mp-v2 .mmp-idea-core.is-shown .rn8-formula li:nth-child(4)::after { transition-delay: .42s; }
	.mp-v2 .rn8-formula li {
		flex-direction: row;
		align-items: center;
		gap: 16px;
		text-align: left;
		flex-wrap: wrap;
	}
	.mp-v2 .rn8-formula .lbl { margin-top: 0; }
	.mp-v2 .rn8-formula .note { flex: 1 0 100%; max-width: none; padding-left: calc(clamp(52px, 3.8vw, 62px) + 16px); }
}

/* ==========================================================================
   Экосистема RN8 — разворот: схема слева, список инструментов справа.
   Раньше под схемой лежала сетка карточек, где кроме названия и метки
   статуса почти ничего не было, а описания дублировались в отдельной
   панели. Теперь одно место: строка списка связана со своим узлом.
   ========================================================================== */
.mp-v2 .v2-suite { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .v2-suite .section-lead { margin-top: 18px; max-width: 78ch; line-height: 1.65; }

.mp-v2 .rn8-eco-split {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	column-gap: clamp(24px, 3vw, 56px);
	row-gap: clamp(16px, 1.6vw, 24px);
	align-items: start;
	margin-top: clamp(24px, 2.6vw, 40px);
}
.mp-v2 .rn8-eco-stage {
	min-width: 0;
	align-self: center;
}
.mp-v2 .rn8-eco-stage > .rn8-diagram--eco { margin: 0; max-width: 100%; width: 100%; }
.mp-v2 .rn8-eco-stage > .rn8-eco-panel { margin-top: clamp(14px, 1.4vw, 22px); }

.mp-v2 .rn8-eco-panel {
	display: flex;
	align-items: center;
	gap: clamp(14px, 1.4vw, 22px);
	flex-wrap: wrap;
	background: none;
	border: 0;
	padding: 0;
}
.mp-v2 .rn8-eco-hint {
	margin: 0;
	font-size: clamp(14px, 1vw, 16px);
	color: var(--rn8-ink-400, #5E5E66);
}

/* Список инструментов: строки в одной белой панели */
.mp-v2 .rn8-eco-list {
	list-style: none;
	margin: 0;
	padding: clamp(8px, .8vw, 14px) clamp(20px, 2vw, 30px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .rn8-eco-row {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(12px, 1.2vw, 18px);
	align-items: start;
	padding: clamp(14px, 1.4vw, 20px) 0;
	cursor: pointer;
	transition: background-color .18s ease;
}
.mp-v2 .rn8-eco-row + .rn8-eco-row { border-top: 1px solid rgba(217, 199, 167, .45); }
.mp-v2 .rn8-eco-row .num {
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(13px, 1vw, 15px);
	font-weight: 800;
	line-height: 1.6;
	color: var(--rn8-copper-400, #B87450);
}
.mp-v2 .rn8-eco-row h4 {
	margin: 0 0 4px;
	font-size: clamp(16px, 1.2vw, 19px);
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .rn8-eco-row h4 .ru {
	display: block;
	font-size: clamp(13px, .95vw, 15px);
	font-weight: 500;
	color: var(--rn8-copper-600, #7A4A28);
}
.mp-v2 .rn8-eco-row p {
	margin: 0;
	font-size: clamp(13px, .95vw, 15px);
	line-height: 1.5;
	color: var(--rn8-ink-400, #5E5E66);
}
.mp-v2 .rn8-eco-row .v2-status { white-space: nowrap; align-self: center; }

/* Подсветка строки вместе с её узлом на схеме */
.mp-v2 .rn8-eco-row:hover,
.mp-v2 .rn8-eco-row:focus-visible,
.mp-v2 .rn8-eco-row.is-active {
	background: linear-gradient(150deg, rgba(253, 246, 238, .9), rgba(248, 237, 224, .7));
	outline: none;
}
.mp-v2 .rn8-eco-row.is-active .num { color: var(--rn8-copper-600, #7A4A28); }

/* Кнопка запуска цикла */
.mp-v2 .rn8-eco-play { border-radius: 2px; }

@media (max-width: 980px) {
	.mp-v2 .rn8-eco-split { grid-template-columns: 1fr; }

}
@media (max-width: 620px) {
	.mp-v2 .rn8-eco-row { grid-template-columns: auto minmax(0, 1fr); }
	.mp-v2 .rn8-eco-row .v2-status { grid-column: 2; justify-self: start; }
}

/* ==========================================================================
   Главная программа: заголовок во всю ширину, ниже рендер и состав программы.
   Шестая композиция подряд — заголовок вынесен над разворотом, чего не было
   в предыдущих секциях.
   ========================================================================== */
.mp-v2 .mmp-about { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-about-accent { color: var(--rn8-copper-400, #B87450); }
.mp-v2 .mmp-about-head .section-title { max-width: 24ch; }
.mp-v2 .mmp-about-head .section-lead { margin-top: 18px; max-width: 76ch; line-height: 1.65; }

.mp-v2 .mmp-about-band {
	display: grid;
	grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
	gap: clamp(28px, 3.4vw, 64px);
	align-items: center;
	margin-top: clamp(28px, 3vw, 46px);
}
.mp-v2 .rn8-figure--plates { padding: clamp(18px, 1.8vw, 30px); }
.mp-v2 .rn8-figure--plates img { max-width: 420px; }

/* Состав программы: строки с медной отметкой вместо маркеров-точек */
.mp-v2 .mmp-about-bullets {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(16px, 1.6vw, 26px) clamp(20px, 2vw, 34px);
}
.mp-v2 .mmp-about-bullets li {
	position: relative;
	padding-left: 34px;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.5;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-about-bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
}
.mp-v2 .mmp-about-bullets li::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 7px;
	width: 9px;
	height: 5px;
	border-left: 2px solid var(--rn8-copper-400, #B87450);
	border-bottom: 2px solid var(--rn8-copper-400, #B87450);
	transform: rotate(-45deg);
}

@media (max-width: 900px) {
	.mp-v2 .mmp-about-band { grid-template-columns: 1fr; }
	.mp-v2 .mmp-about-bullets { grid-template-columns: 1fr; }
	.mp-v2 .mmp-about-head .section-title { max-width: none; }
}

/* ==========================================================================
   Встречи и программа — одна панель с медным рельсом.
   Каждая неделя распадалась на три отдельные коробки со своими рамками:
   шесть строк давали восемнадцать рамок и читались как таблица из отчёта.
   Здесь одна панель, недели нанизаны на общий рельс, ячейки разделены
   только тонкими линиями.
   ========================================================================== */
.mp-v2 #meetings { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 #meetings .section-title { display: block; }
.mp-v2 #meetings .section-lead { margin-top: 16px; max-width: 76ch; line-height: 1.65; }
.mp-v2 #meetings > .wrap > .v2-status { margin-top: 14px; display: inline-flex; }

.mp-v2 .v2-program {
	position: relative;
	display: block;
	margin-top: clamp(26px, 2.8vw, 42px);
	padding: clamp(10px, 1vw, 16px) clamp(22px, 2.2vw, 34px) clamp(10px, 1vw, 16px)
		calc(clamp(22px, 2.2vw, 34px) + clamp(26px, 2.4vw, 38px));
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
/* рельс тянется от первого узла до последнего */
.mp-v2 .v2-program::before {
	content: "";
	position: absolute;
	left: calc(clamp(22px, 2.2vw, 34px) + 5px);
	top: clamp(38px, 3.4vw, 52px);
	bottom: clamp(38px, 3.4vw, 52px);
	width: 2px;
	background: linear-gradient(180deg,
		var(--rn8-copper-400, #B87450) 0%,
		rgba(184, 116, 80, .3) 100%);
}

.mp-v2 .v2-program .week {
	position: relative;
	display: grid;
	grid-template-columns: minmax(150px, .8fr) minmax(0, 1.3fr) minmax(0, 1.5fr);
	gap: clamp(16px, 1.8vw, 30px);
	align-items: baseline;
	padding: clamp(16px, 1.6vw, 24px) 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	transition: none;
}
.mp-v2 .v2-program .week + .week { border-top: 1px solid rgba(217, 199, 167, .45); }
.mp-v2 .v2-program .week::before {
	content: "";
	position: absolute;
	left: calc(-1 * clamp(26px, 2.4vw, 38px) + 1px);
	top: calc(clamp(16px, 1.6vw, 24px) + 6px);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--rn8-copper-400, #B87450);
	box-shadow: 0 0 0 3px #fff;
}
.mp-v2 .v2-program .week > div {
	background: none;
	border: 0;
	border-radius: 0;
	padding: 0;
	box-shadow: none;
}
.mp-v2 .v2-program .week .num {
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(15px, 1.15vw, 18px);
	font-weight: 800;
	line-height: 1.3;
	color: var(--rn8-copper-600, #7A4A28);
}
.mp-v2 .v2-program .week > div:nth-child(2) {
	font-size: clamp(16px, 1.2vw, 19px);
	font-weight: 600;
	line-height: 1.35;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-program .week > div:nth-child(3) {
	font-size: clamp(14px, 1.02vw, 16px);
	line-height: 1.5;
	color: var(--rn8-ink-400, #5E5E66);
}
.mp-v2 #meetings .v2-note {
	margin-top: 18px;
	font-size: 14px;
	color: var(--rn8-ink-400, #5E5E66);
}

@media (max-width: 820px) {
	.mp-v2 .v2-program .week {
		grid-template-columns: 1fr;
		gap: 6px;
	}
}

/* ==========================================================================
   Что вы получите — опись в одной панели.
   Шесть плиток со срезанной рамкой выглядели как ещё одна сетка карточек;
   здесь список результатов в две колонки внутри общей панели.
   ========================================================================== */
.mp-v2 .mmp-inside { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-inside .section-lead { margin-top: 18px; max-width: 76ch; line-height: 1.65; }
.mp-v2 .mmp-inside-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 clamp(28px, 3vw, 56px);
	margin-top: clamp(26px, 2.8vw, 42px);
	padding: clamp(8px, .8vw, 14px) clamp(24px, 2.4vw, 38px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .mmp-inside-item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: clamp(14px, 1.3vw, 20px);
	row-gap: 6px;
	align-items: start;
	padding: clamp(18px, 1.7vw, 26px) 0;
	border-top: 1px solid rgba(217, 199, 167, .45);
}
/* номер занимает первый столбец на обе строки, текст — второй */
.mp-v2 .mmp-inside-item .ic { grid-column: 1; grid-row: 1 / span 2; }
.mp-v2 .mmp-inside-item h4 { grid-column: 2; grid-row: 1; }
.mp-v2 .mmp-inside-item p { grid-column: 2; grid-row: 2; }
/* верхняя линия не нужна первой строке каждой колонки */
.mp-v2 .mmp-inside-item:nth-child(1),
.mp-v2 .mmp-inside-item:nth-child(2) { border-top: 0; }
.mp-v2 .mmp-inside-item .ic {
	display: inline-block;
	margin: 0;
	padding: 0;
	border: 0;
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(14px, 1.05vw, 16px);
	font-weight: 800;
	letter-spacing: .04em;
	color: var(--rn8-copper-400, #B87450);
}
.mp-v2 .mmp-inside-item h4 {
	margin: 0;
	font-size: clamp(17px, 1.25vw, 20px);
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .mmp-inside-item p {
	margin: 0;
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.55;
	color: var(--rn8-ink-400, #5E5E66);
}

/* ==========================================================================
   Вопросы и ответы — раскрывающийся список.
   Шесть развёрнутых карточек занимали целый экран; ответы скрыты, первый
   вопрос открыт. Сделано на встроенном элементе details, поэтому работает
   без скрипта и доступно с клавиатуры.
   ========================================================================== */
.mp-v2 .mmp-legend { padding-block: clamp(46px, 5vw, 84px); }
.mp-v2 .mmp-legend .section-lead { margin-top: 18px; max-width: 76ch; line-height: 1.65; }
.mp-v2 .mmp-legend-grid {
	display: block;
	margin-top: clamp(26px, 2.8vw, 42px);
	padding: clamp(4px, .6vw, 10px) clamp(24px, 2.4vw, 38px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .mmp-legend-item { border-top: 1px solid rgba(217, 199, 167, .45); }
.mp-v2 .mmp-legend-item:first-of-type { border-top: 0; }
.mp-v2 .mmp-legend-item summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 18px;
	align-items: center;
	padding: clamp(18px, 1.7vw, 26px) 0;
	cursor: pointer;
	list-style: none;
}
.mp-v2 .mmp-legend-item summary::-webkit-details-marker { display: none; }
.mp-v2 .mmp-legend-item summary:focus-visible {
	outline: 2px solid var(--rn8-copper-400, #B87450);
	outline-offset: 3px;
	border-radius: 4px;
}
.mp-v2 .mmp-legend-item h4 {
	margin: 0;
	font-size: clamp(17px, 1.25vw, 20px);
	line-height: 1.35;
	color: var(--rn8-ink-900, #1B1B1D);
}
/* знак «плюс»: при раскрытии одна перекладина исчезает */
.mp-v2 .mmp-legend-sign {
	position: relative;
	width: 20px;
	height: 20px;
	flex: 0 0 auto;
}
.mp-v2 .mmp-legend-sign::before,
.mp-v2 .mmp-legend-sign::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--rn8-copper-400, #B87450);
	transform: translate(-50%, -50%);
	transition: opacity .2s ease;
}
.mp-v2 .mmp-legend-sign::before { width: 14px; height: 2px; }
.mp-v2 .mmp-legend-sign::after { width: 2px; height: 14px; }
.mp-v2 .mmp-legend-item[open] .mmp-legend-sign::after { opacity: 0; }
.mp-v2 .mmp-legend-item p {
	margin: 0;
	padding: 0 clamp(28px, 3vw, 52px) clamp(20px, 1.9vw, 28px) 0;
	max-width: 92ch;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.6;
	color: var(--rn8-ink-400, #5E5E66);
}

@media (max-width: 820px) {
	.mp-v2 .mmp-inside-grid { grid-template-columns: 1fr; }
	.mp-v2 .mmp-inside-item:nth-child(2) { border-top: 1px solid rgba(217, 199, 167, .45); }
}

/* ==========================================================================
   Демонстрационные модули и тарифы — общий вид карточек.
   Срезанная рамка убрана отовсюду: она осталась только как приём в
   отдельных местах, а не как обои по всей странице.
   ========================================================================== */
.mp-v2 .v2-page-card { padding: clamp(22px, 2.1vw, 32px); }
.mp-v2 .v2-page-card .n,
.mp-v2 .mmp-pillar .n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: clamp(46px, 3.2vw, 54px);
	height: clamp(46px, 3.2vw, 54px);
	margin: 0 0 clamp(14px, 1.3vw, 20px);
	padding: 0;
	border: 0;
	border-radius: 14px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	font-family: var(--rn8-font-display, inherit);
	font-size: clamp(15px, 1.15vw, 18px);
	font-weight: 800;
	color: var(--rn8-copper-400, #B87450);
}
.mp-v2 .v2-page-card h4 {
	margin: 0 0 8px;
	font-size: clamp(17px, 1.25vw, 20px);
	line-height: 1.3;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-page-card p {
	margin: 0;
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.55;
	color: var(--rn8-ink-400, #5E5E66);
}

/* Тарифы */
.mp-v2 .price { padding: clamp(26px, 2.5vw, 38px); }
.mp-v2 .price.featured { border-color: var(--rn8-copper-400, #B87450); }
.mp-v2 .price.featured::before { border-radius: 16px 16px 0 0; }

/* ==========================================================================
   Основатели и дорожная карта — в общий вид страницы
   ========================================================================== */
.mp-v2 .mmp-founder-card {
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
	overflow: hidden;
}
.mp-v2 .mmp-founder-facts > span {
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	border: 0;
	border-radius: 999px;
	padding: 7px 15px;
	font-weight: 600;
	color: var(--rn8-copper-600, #7A4A28);
}
.mp-v2 .mmp-founder-sec ul { list-style: none; margin: 0; padding: 0; }
.mp-v2 .mmp-founder-sec li {
	position: relative;
	padding-left: 20px;
	margin-bottom: 7px;
	font-size: clamp(14px, 1vw, 16px);
	line-height: 1.5;
	color: var(--rn8-ink-500, #3D3D42);
}
.mp-v2 .mmp-founder-sec li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: .65em;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--rn8-copper-400, #B87450);
}

/* Дорожная карта: шесть отдельных коробок -> строки в одной панели */
.mp-v2 .v2-roadmap {
	display: block;
	margin-top: clamp(24px, 2.6vw, 38px);
	padding: clamp(4px, .6vw, 10px) clamp(22px, 2.2vw, 34px);
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
}
.mp-v2 .v2-roadmap-item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: clamp(15px, 1.4vw, 21px) 0;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: clamp(15px, 1.05vw, 17px);
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-roadmap-item + .v2-roadmap-item { border-top: 1px solid rgba(217, 199, 167, .45); }
.mp-v2 .v2-roadmap-item .v2-status { white-space: nowrap; }

@media (max-width: 620px) {
	.mp-v2 .v2-roadmap-item { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ==========================================================================
   Демонстрационные модули — та же белая скруглённая подложка.
   Панели остались с прямыми углами и кремовой заливкой от предыдущей
   версии, а списки проверок шли отдельными плашками с рамками.
   ========================================================================== */
.mp-v2 .v2-panel,
.mp-v2 .v2-chat,
.mp-v2 .v2-cabinet-demo,
.mp-v2 .v2-crm-table {
	background: #fff;
	border: 1px solid rgba(217, 199, 167, .55);
	border-radius: 16px;
	box-shadow: 0 14px 40px rgba(94, 68, 40, .07);
	backdrop-filter: none;
}
.mp-v2 .v2-cab-top,
.mp-v2 .v2-cab-columns div,
.mp-v2 .v2-kpi-grid > div {
	background: linear-gradient(158deg, #FFFFFF, #FBF7F1);
	border: 1px solid rgba(217, 199, 167, .5);
	border-radius: 12px;
}
.mp-v2 .v2-cabinet-demo aside a { border-radius: 10px; }
.mp-v2 .v2-insight { border-radius: 12px; }

/* Метка демонстрации: короткая плашка, а не полоса во всю ширину */
.mp-v2 .v2-demo-chip {
	display: inline-flex;
	width: auto;
	align-self: start;
	justify-self: start;
	padding: 6px 12px;
	border-radius: 999px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
	border: 0;
	font-size: 11px;
}
.mp-v2 .v2-cabinet-demo > .v2-demo-chip { margin: 16px 0 0 18px; }

/* Списки проверок: медная галочка вместо плашки с рамкой */
.mp-v2 .v2-checks {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: clamp(12px, 1.2vw, 18px);
}
.mp-v2 .v2-checks li {
	position: relative;
	padding: 0 0 0 34px;
	background: none;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-size: clamp(15px, 1.05vw, 17px);
	line-height: 1.5;
	color: var(--rn8-ink-900, #1B1B1D);
}
.mp-v2 .v2-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 1px;
	width: 22px;
	height: 22px;
	border-radius: 6px;
	background: linear-gradient(150deg, #FDF6EE, #F8EDE0);
}
.mp-v2 .v2-checks li::after {
	content: "";
	position: absolute;
	left: 7px;
	top: 7px;
	width: 9px;
	height: 5px;
	border-left: 2px solid var(--rn8-copper-400, #B87450);
	border-bottom: 2px solid var(--rn8-copper-400, #B87450);
	transform: rotate(-45deg);
}

/* ==========================================================================
   Финальный призыв — насыщенный медный блок вместо бледной полосы.
   Раньше это была светло-бежевая плашка со срезанными углами и вырезанной
   фотографией букв RN8. Теперь блок закрывает страницу цветом: градиент
   по фирменному металлу, белый текст, восьмёрка водяным знаком.
   ========================================================================== */
.mp-v2 .cta {
	position: relative;
	overflow: hidden;
	border: 0;
	border-radius: 20px;
	padding: clamp(34px, 4vw, 64px) clamp(28px, 3.6vw, 68px);
	/* сокращённая запись: заодно сбрасывает size/position/repeat, которые
	   остались от прежнего правила со срезанными углами */
	background:
		radial-gradient(120% 140% at 88% 8%, rgba(255, 226, 190, .55) 0%, rgba(255, 226, 190, 0) 55%),
		linear-gradient(126deg, #6E4224 0%, #8A5A32 34%, #B87450 68%, #C98B5E 100%);
	box-shadow: 0 26px 70px rgba(94, 68, 40, .28);
}
.mp-v2 .cta::after { display: none; }
.mp-v2 .cta h2 {
	color: #fff;
	font-size: clamp(28px, 3vw, 46px);
	line-height: 1.14;
	letter-spacing: -.02em;
	max-width: 20ch;
}
.mp-v2 .cta p {
	color: rgba(255, 250, 244, .88);
	font-size: clamp(16px, 1.15vw, 19px);
	line-height: 1.6;
	max-width: 58ch;
	margin-top: 14px;
}
.mp-v2 .cta .hero-actions { margin-top: clamp(24px, 2.4vw, 34px); }

/* Кнопки на цветном фоне: белая основная, обводка — вторичная */
.mp-v2 .cta .btn {
	background: #fff;
	color: var(--rn8-copper-600, #7A4A28);
	border: 1px solid #fff;
	font-weight: 700;
	border-radius: 2px;
}
.mp-v2 .cta .btn:hover {
	background: #FFF6EC;
	border-color: #FFF6EC;
	color: var(--rn8-copper-600, #7A4A28);
	box-shadow: 0 14px 30px rgba(40, 24, 12, .24);
}
.mp-v2 .cta .btn.secondary {
	background: transparent;
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .62);
}
.mp-v2 .cta .btn.secondary:hover {
	background: rgba(255, 255, 255, .12);
	border-color: #fff;
	color: #fff;
}

/* Восьмёрка водяным знаком в правом нижнем углу */
.mp-v2 .cta-mark {
	position: absolute;
	right: clamp(-40px, -2vw, -10px);
	bottom: clamp(-56px, -4vw, -24px);
	width: clamp(240px, 30vw, 460px);
	pointer-events: none;
}
.mp-v2 .cta-mark svg { display: block; width: 100%; height: auto; }
.mp-v2 .cta--split { display: block; }
.mp-v2 .cta-copy { position: relative; z-index: 1; max-width: 62ch; }

@media (max-width: 700px) {
	.mp-v2 .cta-mark { width: 210px; right: -30px; bottom: -34px; opacity: .8; }
}

/* ==========================================================================
   Цвет в схемах по назначению
   Все диаграммы были в одном бежевом тоне: состояние узла читалось только
   по форме обводки, а провалы и восстановления на графике выглядели
   одинаково. Палитра подобрана и проверена валидатором на бумажной
   подложке: разделение по CVD и по обычному зрению проходит.
   Янтарный не добирает контраста к фону — поэтому у каждой отметки есть
   видимая подпись, цвет нигде не единственный носитель смысла.
   ========================================================================== */
.mp-v2 {
	--rn8-d-info: #2C6FA8;   /* данные */
	--rn8-d-good: #1B7A50;   /* норма, восстановление, «да» */
	--rn8-d-warn: #E09B1F;   /* перегруз, триггер, зона риска */
	--rn8-d-crit: #C4402C;   /* дефицит функции */
}

/* ---------- Карта команды ---------- */
.mp-v2 .rn8-diagram--map .rn8-node {
	fill: #fff;
	stroke: var(--rn8-d-info);
	stroke-width: 2;
}
.mp-v2 .rn8-diagram--map .rn8-node--over {
	stroke: var(--rn8-d-warn);
	fill: rgba(224, 155, 31, .14);
}
.mp-v2 .rn8-diagram--map .rn8-node--gap {
	stroke: var(--rn8-d-crit);
	fill: rgba(196, 64, 44, .10);
	stroke-dasharray: 6 5;
}
.mp-v2 .rn8-diagram--map .rn8-link { stroke: rgba(44, 111, 168, .35); stroke-width: 2; }

/* ---------- График ресурса ---------- */
.mp-v2 .rn8-riskband { fill: rgba(224, 155, 31, .16); }
.mp-v2 .rn8-area { fill: rgba(44, 111, 168, .12); stroke: none; }
.mp-v2 .rn8-flow { stroke: var(--rn8-d-info); stroke-width: 2.5; }
.mp-v2 .rn8-dot { stroke: #fff; stroke-width: 2.5; }
.mp-v2 .rn8-dot--trigger { fill: var(--rn8-d-warn); }
.mp-v2 .rn8-dot--recover { fill: var(--rn8-d-good); }

/* ---------- Навигатор решений ---------- */
.mp-v2 .rn8-diagram--nav .rn8-box {
	fill: #fff;
	stroke: rgba(217, 199, 167, .9);
	stroke-width: 1.5;
}
/* Ветки решения: «да» ведёт к внедрению, «нет» — к переоценке.
   Классы проставлены в разметке: nth-of-type считал все прямоугольники
   подряд и красил не ту коробку. */
.mp-v2 .rn8-diagram--nav .rn8-box--start {
	fill: #fff;
	stroke: var(--rn8-copper-400, #B87450);
	stroke-width: 2;
}
.mp-v2 .rn8-diagram--nav .rn8-box--yes {
	fill: rgba(31, 138, 91, .13);
	stroke: var(--rn8-d-good);
	stroke-width: 2;
}
.mp-v2 .rn8-diagram--nav .rn8-box--no {
	fill: rgba(224, 155, 31, .17);
	stroke: var(--rn8-d-warn);
	stroke-width: 2;
}
.mp-v2 .rn8-diagram--nav .rn8-link { stroke: rgba(94, 68, 40, .38); stroke-width: 1.8; }

/* ---------- Маршрут: последовательная шкала одного тона ---------- */
.mp-v2 .rn8-diagram--path .rn8-node { stroke-width: 2; }

/* Подписи в схемах остаются текстовыми: цвет несут только отметки */
.mp-v2 .rn8-diagram .rn8-sub { fill: var(--rn8-ink-400, #5E5E66); }
.mp-v2 .rn8-diagram .rn8-label { fill: var(--rn8-ink-900, #1B1B1D); }


/* ── Читаемость на телефоне ──
   Замечание клиента: «внимание рассеялось». Замер живой страницы на
   375 px показал 110 мест с текстом мельче 14 px. Поднимаем только на
   узких экранах и только вверх; на десктопе всё как было. */
@media (max-width: 480px) {
	.mp-v2.mp-v2 .mmp-problem p,
	.mp-v2.mp-v2 .mmp-research,
	.mp-v2.mp-v2 .mmp-stats li,
	.mp-v2.mp-v2 .mmp-pillar p,
	.mp-v2.mp-v2 .mmp-idea-points li,
	.mp-v2.mp-v2 .mmp-founder-sec li,
	.mp-v2.mp-v2 .mmp-founder-sec > h4,
	.mp-v2.mp-v2 .mmp-founder-facts > span,
	.mp-v2.mp-v2 .mmp-founder-role,
	.mp-v2.mp-v2 .mmp-trend-out,
	.mp-v2.mp-v2 .week-card p,
	.mp-v2.mp-v2 .rn8-min-text,
	.mp-v2.mp-v2 .rn8-sub,
	.mp-v2.mp-v2 .rn8-caption,
	.mp-v2.mp-v2 .v2-note,
	.mp-v2.mp-v2 .v2-disclaimer,
	.mp-v2.mp-v2 .v2-kpi-grid > div > span,
	.mp-v2.mp-v2 .v2-product-map span,
	.mp-v2.mp-v2 .gain-pain,
	.mp-v2.mp-v2 .gain-txt,
	.mp-v2.mp-v2 .apply-form label,
	.mp-v2.mp-v2 .apply-form .apply-note,
	.mp-v2.mp-v2 .quiz label,
	.mp-v2.mp-v2 .mmp-mri-data-notice {
		font-size: 15px;
		line-height: 1.55;
	}

	/* Короткие подписи и плашки: им не нужен размер основного текста,
	   но 11 px на телефоне не читается и у людей с астигматизмом. */
	.mp-v2.mp-v2 .eyebrow,
	.mp-v2.mp-v2 .rn8-tag,
	.mp-v2.mp-v2 .rn8-lvl-mark,
	.mp-v2.mp-v2 .rn8-data-label,
	.mp-v2.mp-v2 .v2-demo-chip,
	.mp-v2.mp-v2 .mmp-demo-chip,
	.mp-v2.mp-v2 .v2-status,
	.mp-v2.mp-v2 .week-badge,
	.mp-v2.mp-v2 .status-badge,
	.mp-v2.mp-v2 .pill,
	.mp-v2.mp-v2 .mmp-problem > .n,
	.mp-v2.mp-v2 .rn8-levels-list .n {
		font-size: 12.5px;
		line-height: 1.4;
	}

	/* Второй заход: эти места задаются через родителя, по имени класса
	   их не поймать. Адреса сняты с живой страницы на 375 px. */
	.mp-v2.mp-v2 .fmt-gets p,
	.mp-v2.mp-v2 .uz-grid .rise p,
	.mp-v2.mp-v2 .plan ul li,
	.mp-v2.mp-v2 .plan .desc,
	.mp-v2.mp-v2 .who-facts li,
	.mp-v2.mp-v2 .fmt-card .fmt-facts li,
	.mp-v2.mp-v2 .fmt-card p,
	.mp-v2.mp-v2 .fmt-panel .fmt-note,
	.mp-v2.mp-v2 .car-stage .tcard p,
	.mp-v2.mp-v2 .sch .sch-tile span,
	.mp-v2.mp-v2 .rn-road li span,
	.mp-v2.mp-v2 .rn-pyr-box .rn-pyr-list li,
	.mp-v2.mp-v2 .rn-road-cue,
	.mp-v2.mp-v2 .sec-head .mark {
		font-size: 15px;
		line-height: 1.5;
	}

	.home.home footer,
	.home.home footer .wrap span,
	.home.home footer .wrap span > a {
		font-size: 15px;
	}
}


/* Низ страницы: навигация по разделам (замечание клиента С13).
   Подвал лендинга тёмный — контраст проверен на фактическом фоне. */
.home footer .foot-nav{display:flex;justify-content:space-between;align-items:center;
	gap:18px;flex-wrap:wrap;padding-bottom:18px;margin-bottom:16px;
	border-bottom:1px solid rgba(255,255,255,.14)}
.home footer .foot-nav nav{display:flex;gap:22px;flex-wrap:wrap}
.home footer .foot-nav nav a{color:#F2EDE6;text-decoration:none;font-size:15px;
	border-bottom:1px solid transparent}
.home footer .foot-nav nav a:hover{border-bottom-color:currentColor}
.home footer .foot-cta{white-space:nowrap}
@media (max-width:640px){
	.home footer .foot-nav{flex-direction:column;align-items:flex-start;gap:14px}
	.home footer .foot-nav nav{flex-direction:column;gap:12px}
	.home footer .foot-nav nav a{font-size:16px}
}
