/* --------------------------------------------------------------------------
   /ai-legal/ — «Интеллектуальная автоматизация работы юристов» (.rlg-*).
   Палитра и типографика — как у .rcm-* (/ai-communications/, /platform/,
   /corporate-assistants/): пергамент #f6f3f1, hairline Ash #cecac8, бордовый
   ROBIN #a30c33 — обработка, красный #c52229 — результат, моно — подписи.
   Общие карточки (.rcm-caps-card, .rcm-lead, .rcm-related) — из style.css;
   здесь только собственная графика страницы. Анимации по скроллу
   включаются классом .is-inview (assets/js/robin-legal.js).
   -------------------------------------------------------------------------- */
.rlg-hero,
.rlg-routine,
.rlg-caps,
.rlg-npa,
.rlg-bento,
.rlg-section-title,
.rlg-cta-row {
	--rlg-parchment: #f6f3f1;
	--rlg-paper: #fbfaf9;
	--rlg-ash: #cecac8;
	--rlg-line: #e7e3e0;
	--rlg-ink: #242424;
	--rlg-graphite: #4e4d4d;
	--rlg-smoke: #797776;
	--rlg-accent: #a30c33;
	--rlg-result: #c52229;
	--rlg-soft: #eab0b2;
	--rlg-blush: #fbecec;
	--rlg-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--rlg-italic: "Lora", Georgia, "Times New Roman", serif;
	--rlg-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ============================== HERO ============================== */
.rlg-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: 32px 40px;
	padding: 40px 56px 48px;
	overflow: hidden;
	border-radius: 24px;
	background: var(--rlg-parchment);
	color: var(--rlg-ink);
}
.rlg-hero-copy { display: flex; flex-direction: column; align-items: flex-start; }
.rlg-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 40px 0 0;
	font-family: var(--rlg-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--rlg-accent);
}
.rlg-kicker-dot {
	width: 7px;
	height: 7px;
	border-radius: 9999px;
	background: var(--rlg-result);
	box-shadow: 0 0 0 4px rgba(197, 34, 41, 0.14);
	animation: rlg-blink 2.4s ease-in-out infinite;
}
@keyframes rlg-blink {
	0%, 100% { box-shadow: 0 0 0 3px rgba(197, 34, 41, 0.14); }
	50%      { box-shadow: 0 0 0 7px rgba(197, 34, 41, 0.04); }
}
.rlg-hero .rlg-hero-title {
	margin: 16px 0 0;
	font-family: var(--robin-font-head);
	font-weight: 500;
	font-size: 50px;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--rlg-ink);
}
.rlg-hero-title em { font-style: normal; color: var(--rlg-accent); }
.rlg-hero .rlg-hero-lead {
	max-width: 30rem;
	margin: 20px 0 0;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
}
.rlg-hero-actions,
.rlg-cta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
}
.rlg-cta-row { justify-content: center; margin-top: 40px; }
.rlg-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 22px 10px 12px;
	border: 1px solid var(--rlg-accent, #a30c33);
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: var(--rlg-accent, #a30c33);
	transition: background-color .2s ease, color .2s ease;
}
.rlg-btn-ghost:hover { background: #a30c33; color: #fff; }
.rlg-btn-ghost-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 9999px;
	background: #a30c33;
	color: #fff;
	transition: background-color .2s ease, color .2s ease;
}
.rlg-btn-ghost-ico svg { fill: currentColor; stroke: none; margin-left: 1px; }
.rlg-btn-ghost:hover .rlg-btn-ghost-ico { background: #fff; color: #a30c33; }

/* ---------- Сцена «рабочий стол юриста» ---------- */
.rlg-desk {
	--cyc: 9s;
	position: relative;
	height: 440px;
	margin: 0;
	font-family: var(--rlg-mono);
}
.rlg-desk-inbox {
	position: absolute;
	left: 0;
	top: 50%;
	display: flex;
	flex-direction: column;
	gap: 50px;
	margin: 0;
	padding: 0;
	list-style: none;
	transform: translateY(-50%);
}
.rlg-desk-file {
	display: flex;
	align-items: center;
	gap: 8px;
	width: 96px;
	height: 30px;
	padding: 0 10px;
	border: 1px solid var(--rlg-ash);
	border-radius: 9999px;
	background: var(--rlg-paper);
	font-size: 11px;
	letter-spacing: -0.02em;
	color: var(--rlg-ink);
	animation: rlg-file-send var(--cyc) var(--rlg-ease) infinite;
	animation-delay: calc(var(--i) * 0.25s);
}
.rlg-desk-file-ico { display: flex; color: var(--rlg-smoke); }
@keyframes rlg-file-send {
	0%, 2%   { transform: translateX(0); border-color: var(--rlg-ash); }
	6%       { transform: translateX(6px); border-color: var(--rlg-soft); }
	12%, 100% { transform: translateX(0); border-color: var(--rlg-ash); }
}
.rlg-desk-wires {
	position: absolute;
	left: 96px;
	top: 50%;
	width: 74px;
	height: 300px;
	overflow: visible;
	transform: translateY(-50%);
}
.rlg-desk-wires path {
	fill: none;
	stroke: var(--rlg-smoke);
	stroke-width: 1.3;
	stroke-dasharray: 2 7;
	stroke-linecap: round;
	vector-effect: non-scaling-stroke;
	animation: rlg-dash 1.4s linear infinite;
}
@keyframes rlg-dash { to { stroke-dashoffset: -18; } }

/* Документ */
.rlg-desk-doc {
	position: absolute;
	left: 170px;
	top: 26px;
	width: 272px;
	height: 372px;
	padding: 18px 20px;
	border: 1px solid var(--rlg-ash);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 30px 60px -36px rgba(36, 36, 36, 0.35);
	transform: rotate(-2.2deg);
}
.rlg-desk-doc-head {
	display: flex;
	align-items: center;
	gap: 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--rlg-line);
	font-size: 11px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--rlg-graphite);
}
.rlg-desk-doc-ico { display: flex; color: var(--rlg-accent); }
.rlg-desk-doc-ver {
	margin-left: auto;
	padding: 2px 8px;
	border: 1px solid var(--rlg-soft);
	border-radius: 9999px;
	color: var(--rlg-result);
}
.rlg-desk-doc-body {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 13px;
	padding-top: 18px;
	overflow: hidden;
}
.rlg-line {
	position: relative;
	display: block;
	width: var(--w);
	height: 8px;
	border-radius: 4px;
	background: var(--rlg-line);
	animation: rlg-line-read var(--cyc) ease infinite;
	animation-delay: calc(0.3s + var(--i) * 0.34s);
}
@keyframes rlg-line-read {
	0%, 1%  { background: var(--rlg-line); }
	4%, 90% { background: #a9a4a1; }
	100%    { background: var(--rlg-line); }
}
/* Удаляемая формулировка — зачёркивается красным */
.rlg-line--del::after {
	content: "";
	position: absolute;
	left: -4px;
	right: -4px;
	top: 3px;
	height: 2px;
	border-radius: 2px;
	background: var(--rlg-result);
	transform: scaleX(0);
	transform-origin: left center;
	animation: rlg-strike var(--cyc) var(--rlg-ease) infinite;
}
@keyframes rlg-strike {
	0%, 44%  { transform: scaleX(0); }
	52%, 92% { transform: scaleX(1); }
	100%     { transform: scaleX(0); }
}
/* Новая редакция — подсвечивается маркером */
.rlg-line--ins::before {
	content: "";
	position: absolute;
	inset: -5px -6px;
	border-radius: 6px;
	background: rgba(197, 34, 41, 0.12);
	box-shadow: inset 2px 0 0 var(--rlg-result);
	transform: scaleX(0);
	transform-origin: left center;
	animation: rlg-mark var(--cyc) var(--rlg-ease) infinite;
}
@keyframes rlg-mark {
	0%, 50%  { transform: scaleX(0); }
	58%, 92% { transform: scaleX(1); }
	100%     { transform: scaleX(0); }
}
/* OCR-луч */
.rlg-desk-beam {
	position: absolute;
	left: -20px;
	right: -20px;
	top: 0;
	height: 34px;
	background: linear-gradient(to bottom, rgba(197, 34, 41, 0) 0%, rgba(197, 34, 41, 0.12) 80%, rgba(197, 34, 41, 0.55) 100%);
	border-bottom: 1.5px solid var(--rlg-result);
	pointer-events: none;
	animation: rlg-beam var(--cyc) linear infinite;
}
@keyframes rlg-beam {
	0%   { transform: translateY(-30px); opacity: 0; }
	3%   { opacity: 1; }
	40%  { transform: translateY(250px); opacity: 1; }
	44%, 100% { transform: translateY(250px); opacity: 0; }
}
.rlg-desk-ocr {
	position: absolute;
	top: -12px;
	right: 18px;
	padding: 4px 10px;
	border-radius: 9999px;
	background: var(--rlg-result);
	font-size: 11px;
	letter-spacing: 0.04em;
	color: #fff;
	box-shadow: 0 8px 18px -8px rgba(197, 34, 41, 0.7);
}
/* Печать */
.rlg-desk-seal {
	position: absolute;
	left: 22px;
	bottom: 22px;
	width: 84px;
	height: 84px;
	color: var(--rlg-result);
	opacity: 0;
	animation: rlg-seal var(--cyc) var(--rlg-ease) infinite;
}
.rlg-desk-seal svg { width: 100%; height: 100%; overflow: visible; }
.rlg-seal-ring { fill: none; stroke: currentColor; stroke-width: 1.6; opacity: 0.85; }
.rlg-seal-ring--in { stroke-width: 1.2; }
.rlg-seal-text { font-family: var(--rlg-mono); font-size: 8.6px; letter-spacing: 0.08em; fill: currentColor; }
.rlg-seal-check { fill: none; stroke: currentColor; stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
@keyframes rlg-seal {
	0%, 80%  { opacity: 0; transform: scale(1.7) rotate(-24deg); }
	84%      { opacity: 1; transform: scale(0.94) rotate(-12deg); }
	87%, 95% { opacity: 0.92; transform: scale(1) rotate(-12deg); }
	100%     { opacity: 0; transform: scale(1) rotate(-12deg); }
}

/* Чек-лист */
.rlg-desk-check {
	position: absolute;
	right: 0;
	top: 96px;
	width: 262px;
	padding: 18px 18px 16px;
	border: 1px solid var(--rlg-ash);
	border-radius: 20px;
	background: rgba(255, 255, 255, 0.94);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	box-shadow: 0 30px 60px -36px rgba(36, 36, 36, 0.35);
	font-family: inherit;
}
.rlg-desk-check-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 12px;
	font-family: var(--robin-font-head);
	font-size: 15px;
	letter-spacing: -0.02em;
	color: var(--rlg-ink);
}
.rlg-desk-check-ico { display: flex; color: var(--rlg-accent); }
.rlg-desk-check ul { display: flex; flex-direction: column; gap: 9px; margin: 0; padding: 0; list-style: none; }
.rlg-desk-check li {
	display: flex;
	align-items: center;
	gap: 9px;
	font-family: "TTInterfaces", "Rubik", Arial, sans-serif;
	font-size: 12.5px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	color: var(--rlg-smoke);
	animation: rlg-item-on var(--cyc) ease infinite;
	animation-delay: calc(var(--i) * 0.36s);
}
.rlg-tick {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	border: 1px solid var(--rlg-ash);
	border-radius: 6px;
	background: #fff;
	color: transparent;
	animation: rlg-tick-on var(--cyc) var(--rlg-ease) infinite;
	animation-delay: calc(var(--i) * 0.36s);
}
.rlg-tick svg { stroke-width: 3; }
@keyframes rlg-tick-on {
	0%, 54%  { background: #fff; border-color: var(--rlg-ash); color: transparent; transform: scale(1); }
	57%      { background: var(--rlg-result); border-color: var(--rlg-result); color: #fff; transform: scale(1.18); }
	60%, 94% { background: var(--rlg-result); border-color: var(--rlg-result); color: #fff; transform: scale(1); }
	100%     { background: #fff; border-color: var(--rlg-ash); color: transparent; }
}
@keyframes rlg-item-on {
	0%, 54%  { color: var(--rlg-smoke); }
	58%, 94% { color: var(--rlg-ink); }
	100%     { color: var(--rlg-smoke); }
}
.rlg-desk-lawyer {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px dashed var(--rlg-ash);
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
}
.rlg-desk-lawyer-ava {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border: 1px solid var(--rlg-accent);
	border-radius: 9999px;
	background: var(--rlg-paper);
	color: var(--rlg-accent);
}
.rlg-desk-lawyer-bar {
	flex: 1;
	height: 4px;
	overflow: hidden;
	border-radius: 9999px;
	background: var(--rlg-line);
}
.rlg-desk-lawyer-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--rlg-accent);
	transform: scaleX(0);
	transform-origin: left center;
	animation: rlg-lawyer var(--cyc) var(--rlg-ease) infinite;
}
@keyframes rlg-lawyer {
	0%, 68%  { transform: scaleX(0); }
	82%, 94% { transform: scaleX(1); }
	100%     { transform: scaleX(0); }
}

/* ============================== РУТИНА ============================== */
.rlg-routine {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 48px 64px;
	padding: 56px;
	border-radius: 24px;
	background: var(--rlg-parchment);
	color: var(--rlg-ink);
}
.rlg-routine-head {
	align-self: start;
	position: sticky;
	top: 112px;
	display: flex;
	flex-direction: column;
	gap: 28px;
}
.rlg-stat { display: flex; align-items: baseline; gap: 14px; margin: 0; }
.rlg-stat-num {
	font-family: var(--rlg-italic);
	font-style: italic;
	font-size: 72px;
	line-height: 0.9;
	color: var(--rlg-accent);
}
.rlg-stat-label {
	padding-left: 14px;
	border-left: 1px solid var(--rlg-ash);
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
}
.rlg-routine .rlg-routine-title {
	margin: 0;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 30px;
	line-height: 1.2;
	letter-spacing: -0.025em;
	color: var(--rlg-graphite);
}
.rlg-routine-title span { display: block; margin-top: 12px; color: var(--rlg-ink); }
.rlg-routine-title em { font-style: normal; color: var(--rlg-accent); }

.rlg-todo-bar {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-bottom: 16px;
	font-family: var(--rlg-mono);
	font-size: 12px;
	color: var(--rlg-smoke);
}
.rlg-todo-count { color: var(--rlg-accent); }
.rlg-todo-bar-track { flex: 1; height: 4px; overflow: hidden; border-radius: 9999px; background: var(--rlg-line); }
.rlg-todo-bar-fill {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--rlg-accent), var(--rlg-result));
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 2.2s var(--rlg-ease) .2s;
}
.rlg-routine.is-inview .rlg-todo-bar-fill { transform: scaleX(1); }
.rlg-todo-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rlg-todo-item {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr) 22px;
	align-items: center;
	gap: 12px;
	min-height: 64px;
	padding: 12px 14px;
	border: 1px solid transparent;
	border-radius: 16px;
	background: #fff;
	transition: border-color .2s ease, transform .2s ease;
}
.rlg-todo-item:hover { border-color: var(--rlg-soft); transform: translateY(-1px); }
.rlg-todo-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
.rlg-todo-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 11px;
	background: var(--rlg-parchment);
	color: var(--rlg-accent);
}
.rlg-todo-text {
	font-size: 14.5px;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: var(--rlg-ink);
}
.rlg-todo-box {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border: 1px solid var(--rlg-ash);
	border-radius: 7px;
	color: transparent;
	transition: background-color .3s ease, border-color .3s ease, color .3s ease, transform .3s var(--rlg-ease);
	transition-delay: calc(0.3s + var(--i) * 0.18s);
}
.rlg-todo-box svg { stroke-width: 3; }
.rlg-routine.is-inview .rlg-todo-box {
	border-color: var(--rlg-result);
	background: var(--rlg-result);
	color: #fff;
}

/* ============================== ЧТО ПЕРЕДАТЬ (доп. к .rcm-caps) ============================== */
.rlg-caps-list { display: flex; flex-direction: column; gap: 6px; margin: 12px 0 0; padding: 0; list-style: none; }
.rlg-caps-list li {
	position: relative;
	padding-left: 18px;
	font-size: 15px;
	line-height: 1.45;
	letter-spacing: -0.023em;
	color: #4e4d4d;
}
.rlg-caps-list li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.55em;
	width: 7px;
	height: 7px;
	border: 1.5px solid #c52229;
	border-radius: 2px;
	transform: rotate(45deg);
}
.rlg-caps .rcm-caps-art svg text.rlg-sheet-label { font-size: 10px; fill: #a30c33; }
.rlg-sheet-body { fill: #fff; stroke: #cecac8; stroke-width: 1; }
.rlg-sheet-fold { fill: none; stroke: #cecac8; stroke-width: 1; }
.rlg-sheet-line { fill: #e7e3e0; }
.rlg-sheet-line--diff { fill: #eab0b2; animation: rlg-diff-pulse 2.4s ease-in-out infinite; }
@keyframes rlg-diff-pulse { 50% { fill: #c52229; } }
.rlg-art-vs { stroke: #cecac8; stroke-width: 1; stroke-dasharray: 2 3; }
.rlg-art-strike { stroke: #c52229; stroke-width: 1.4; stroke-linecap: round; stroke-dasharray: 300; stroke-dashoffset: 300; animation: rlg-art-strike 4s ease-in-out infinite; }
@keyframes rlg-art-strike {
	0%, 15%  { stroke-dashoffset: 300; }
	45%, 85% { stroke-dashoffset: 0; }
	100%     { stroke-dashoffset: 300; }
}
.rlg-art-manual { opacity: 0.85; }
.rlg-art-bot circle { fill: #fbfaf9; stroke: #a30c33; stroke-width: 1.3; }
.rlg-art-bot g { color: #a30c33; }
.rlg-art-lens-ring { fill: none; stroke: #eab0b2; stroke-width: 1; stroke-dasharray: 3 4; transform-box: fill-box; transform-origin: center; animation: rlg-spin 14s linear infinite; }
@keyframes rlg-spin { to { transform: rotate(360deg); } }
.rlg-art-tick circle { fill: #fbfaf9; stroke: #cecac8; stroke-width: 1; animation: rlg-art-tick-c 5s ease infinite; animation-delay: calc(var(--i) * 0.35s); }
.rlg-art-tick path { fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; animation: rlg-art-tick-p 5s ease infinite; animation-delay: calc(var(--i) * 0.35s); }
@keyframes rlg-art-tick-c {
	0%, 10%  { fill: #fbfaf9; stroke: #cecac8; }
	16%, 80% { fill: #c52229; stroke: #c52229; }
	90%, 100% { fill: #fbfaf9; stroke: #cecac8; }
}
@keyframes rlg-art-tick-p {
	0%, 10%  { stroke: transparent; }
	16%, 80% { stroke: #fff; }
	90%, 100% { stroke: transparent; }
}
.rlg-art-report-frame { fill: #fff; stroke: #eab0b2; stroke-width: 1; }
.rlg-art-report-bar {
	fill: #c52229;
	transform-box: fill-box;
	transform-origin: 50% 100%;
	animation: rlg-bar 4.8s var(--rlg-ease, ease) infinite;
	animation-delay: calc(var(--i) * 0.14s);
}
.rlg-art-report-bar:nth-child(odd) { fill: #eab0b2; }
@keyframes rlg-bar {
	0%       { transform: scaleY(0.1); }
	25%, 85% { transform: scaleY(1); }
	100%     { transform: scaleY(0.1); }
}

/* ============================== НПА ============================== */
.rlg-npa {
	padding: 56px;
	border-radius: 24px;
	background: var(--rlg-parchment);
	color: var(--rlg-ink);
}
.rlg-npa-head { display: flex; flex-direction: column; align-items: flex-start; max-width: 48rem; }
.rlg-npa-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 14px 6px 10px;
	border: 1px solid var(--rlg-soft);
	border-radius: 9999px;
	background: #fff;
	font-family: var(--rlg-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
	color: var(--rlg-accent);
}
.rlg-npa .rlg-npa-title,
.rlg-section-title {
	margin: 20px 0 0;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 45px;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--rlg-ink);
}
.rlg-npa-title em,
.rlg-section-title em { font-style: normal; color: var(--rlg-accent); }
.rlg-section-title { max-width: 46rem; margin: 0 auto 48px; text-align: center; }
.rlg-npa .rlg-npa-lead {
	margin: 16px 0 0;
	font-size: 17px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
}
.rlg-npa .rlg-npa-caption {
	margin: 48px 0 0;
	font-family: var(--rlg-mono);
	font-size: 12px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--rlg-smoke);
}

/* Трасса шагов */
.rlg-track { --cyc: 7s; position: relative; margin-top: 28px; }
.rlg-track-list {
	position: relative;
	display: grid;
	grid-template-columns: repeat(var(--n), minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rlg-track-rail {
	position: absolute;
	top: 28px;
	left: calc(100% / var(--n) / 2);
	right: calc(100% / var(--n) / 2);
	height: 2px;
	background: repeating-linear-gradient(90deg, var(--rlg-ash) 0 6px, transparent 6px 11px);
}
.rlg-track-runner {
	position: absolute;
	top: -4px;
	left: 0;
	width: 10px;
	height: 10px;
	margin-left: -5px;
	border-radius: 9999px;
	background: var(--rlg-result);
	box-shadow: 0 0 0 5px rgba(197, 34, 41, 0.15), -26px 0 18px -6px rgba(197, 34, 41, 0.45);
	animation: rlg-run var(--cyc) linear infinite;
	animation-play-state: paused;
}
@keyframes rlg-run {
	0%   { left: 0; opacity: 0; }
	3%   { opacity: 1; }
	86%  { left: 100%; opacity: 1; }
	92%, 100% { left: 100%; opacity: 0; }
}
.rlg-track-step { display: flex; flex-direction: column; align-items: center; text-align: center; }
.rlg-track-node {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border: 1px solid var(--rlg-ash);
	border-radius: 9999px;
	background: #fff;
	color: var(--rlg-smoke);
	animation: rlg-node var(--cyc) ease infinite;
	animation-delay: calc(var(--i) * var(--cyc) * 0.86 / (var(--n) - 1));
	animation-play-state: paused;
}
@keyframes rlg-node {
	0%       { border-color: var(--rlg-ash); color: var(--rlg-smoke); box-shadow: 0 0 0 0 rgba(197, 34, 41, 0); transform: scale(1); }
	3%       { border-color: var(--rlg-result); color: var(--rlg-result); box-shadow: 0 0 0 8px rgba(197, 34, 41, 0.12); transform: scale(1.1); }
	12%, 36% { border-color: var(--rlg-soft); color: var(--rlg-accent); box-shadow: 0 0 0 0 rgba(197, 34, 41, 0); transform: scale(1); }
	48%, 100% { border-color: var(--rlg-ash); color: var(--rlg-smoke); }
}
.rlg-track-num {
	margin-top: 14px;
	font-family: var(--rlg-mono);
	font-size: 12px;
	color: var(--rlg-accent);
}
.rlg-track-text {
	margin-top: 6px;
	max-width: 10rem;
	font-size: 14px;
	line-height: 1.35;
	letter-spacing: -0.02em;
	color: var(--rlg-ink);
}
.rlg-npa.is-inview .rlg-track-runner,
.rlg-npa.is-inview .rlg-track-node { animation-play-state: running; }

/* Кейс */
.rlg-case {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 32px 48px;
	align-items: center;
	margin-top: 56px;
	padding: 36px;
	border: 1px solid var(--rlg-ash);
	border-radius: 28px;
	background: #fff;
}
.rlg-case-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 5px 12px;
	border-radius: 9999px;
	background: var(--rlg-blush);
	font-family: var(--rlg-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--rlg-accent);
}
.rlg-case .rlg-case-text {
	margin: 18px 0 0;
	font-size: 16px;
	line-height: 1.55;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
}
.rlg-case-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rlg-case-stat {
	display: flex;
	flex-direction: column;
	padding: 20px;
	border-radius: 20px;
	background: var(--rlg-parchment);
}
.rlg-case-viz { display: flex; align-items: center; height: 64px; }
.rlg-case-viz--docs {
	display: grid;
	grid-template-columns: repeat(10, 1fr);
	gap: 4px;
	width: 100%;
	max-width: 150px;
}
.rlg-case-viz--docs span {
	display: block;
	aspect-ratio: 3 / 4;
	border-radius: 2px;
	background: var(--rlg-ash);
	transition: background-color .3s ease, transform .3s var(--rlg-ease);
	transition-delay: calc(0.2s + var(--i) * 0.045s);
}
.rlg-npa.is-inview .rlg-case-viz--docs span { background: var(--rlg-result); }
.rlg-npa.is-inview .rlg-case-viz--docs span:nth-child(3n + 2) { background: var(--rlg-accent); }
.rlg-case-viz--ring { position: relative; width: 64px; }
.rlg-case-viz--ring svg { width: 64px; height: 64px; transform: rotate(-90deg); }
.rlg-ring-track { fill: none; stroke: var(--rlg-ash); stroke-width: 5; }
.rlg-ring-fill {
	fill: none;
	stroke: var(--rlg-result);
	stroke-width: 5;
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.8s var(--rlg-ease) .3s;
}
.rlg-npa.is-inview .rlg-ring-fill { stroke-dashoffset: 5; }
.rlg-ring-ico { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-family: var(--rlg-mono); font-size: 11px; letter-spacing: 0.02em; color: var(--rlg-accent); }
.rlg-case-viz--fte { gap: 8px; }
.rlg-fte-person,
.rlg-fte-bot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border: 1px solid var(--rlg-ash);
	border-radius: 14px;
	background: #fff;
	color: var(--rlg-smoke);
}
.rlg-fte-bot { border-color: var(--rlg-soft); color: var(--rlg-result); }
.rlg-fte-arrow { display: flex; color: var(--rlg-result); animation: rlg-nudge 1.8s ease-in-out infinite; }
@keyframes rlg-nudge { 50% { transform: translateX(4px); } }
.rlg-case .rlg-case-value {
	margin: 14px 0 0;
	font-family: var(--robin-font-head);
	font-size: 38px;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--rlg-ink);
	font-variant-numeric: tabular-nums;
}
.rlg-case .rlg-case-label {
	margin: 8px 0 0;
	font-size: 13.5px;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
}

/* ============================== ВЫГОДЫ (bento) ============================== */
.rlg-bento {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rlg-bento-card {
	grid-column: span 2;
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: 14px 14px 28px;
	border: 1px solid var(--rlg-ash);
	border-radius: 28px;
	background: var(--rlg-parchment);
	transition: border-color .2s ease;
}
.rlg-bento-card:hover { border-color: var(--rlg-soft); }
.rlg-bento-card--time,
.rlg-bento-card--manual { grid-column: span 3; }
.rlg-bento-viz {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 160px;
	padding: 20px;
	overflow: hidden;
	border-radius: 20px;
	background: #fff;
	font-family: var(--rlg-mono);
}
.rlg-bento-copy { padding: 0 14px; }
.rlg-bento-ico {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--rlg-ash);
	border-radius: 9999px;
	color: var(--rlg-accent);
}
.rlg-bento .rlg-bento-title {
	margin: 16px 0 0;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--rlg-ink);
}
.rlg-bento .rlg-bento-text {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: -0.023em;
	color: var(--rlg-graphite);
}

/* time: распределение времени юриста */
.rlg-viz-time { display: flex; flex-direction: column; gap: 14px; width: 100%; max-width: 420px; }
.rlg-viz-time-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); align-items: center; gap: 12px; }
.rlg-viz-time-cap { font-size: 11px; text-transform: uppercase; letter-spacing: -0.02em; color: var(--rlg-smoke); }
.rlg-viz-time-row.is-after .rlg-viz-time-cap { color: var(--rlg-accent); }
.rlg-viz-time-bar { display: flex; gap: 3px; height: 22px; }
.rlg-viz-time-bar span {
	display: block;
	width: 0;
	border-radius: 6px;
	transition: width 1.4s var(--rlg-ease);
}
.rlg-viz-time-bar .is-mech { background: repeating-linear-gradient(135deg, #dcd8d5 0 5px, #ebe8e5 5px 10px); }
.rlg-viz-time-bar .is-expert { background: linear-gradient(90deg, var(--rlg-accent), var(--rlg-result)); }
.rlg-bento.is-inview .rlg-viz-time-bar span { width: calc(var(--w) - 3px); }
.rlg-bento.is-inview .rlg-viz-time-row.is-after span { transition-delay: .6s; }
.rlg-viz-time-legend { display: flex; flex-wrap: wrap; gap: 6px 18px; padding-left: 76px; font-size: 11px; letter-spacing: -0.02em; color: var(--rlg-graphite); }
.rlg-viz-time-legend span { display: inline-flex; align-items: center; gap: 6px; }
.rlg-viz-time-legend i { width: 10px; height: 10px; border-radius: 3px; }
.rlg-viz-time-legend i.is-mech { background: #dcd8d5; }
.rlg-viz-time-legend i.is-expert { background: var(--rlg-result); }

/* manual: «открыть → найти → скопировать → вставить» сворачивается в ROBIN */
.rlg-viz-manual { display: flex; align-items: center; gap: 14px; }
.rlg-viz-manual-chain { display: flex; flex-direction: column; gap: 6px; }
.rlg-viz-manual-chain span {
	padding: 4px 12px;
	border: 1px dashed var(--rlg-ash);
	border-radius: 9999px;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--rlg-graphite);
	text-align: center;
	animation: rlg-chain 6s ease infinite;
	animation-delay: calc(var(--i) * 0.25s);
}
@keyframes rlg-chain {
	0%, 30%  { opacity: 1; transform: translateX(0); text-decoration: none; }
	45%, 80% { opacity: 0.35; transform: translateX(8px); text-decoration: line-through; text-decoration-color: var(--rlg-result); }
	95%, 100% { opacity: 1; transform: translateX(0); text-decoration: none; }
}
.rlg-viz-manual-arrow { display: flex; color: var(--rlg-result); animation: rlg-nudge 1.8s ease-in-out infinite; }
.rlg-viz-manual-one {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border: 1.3px solid var(--rlg-accent);
	border-radius: 9999px;
	background: var(--rlg-paper);
	font-size: 12px;
	letter-spacing: -0.02em;
	color: var(--rlg-ink);
	animation: rlg-one 6s ease infinite;
}
@keyframes rlg-one {
	0%, 35%  { box-shadow: 0 0 0 0 rgba(197, 34, 41, 0); }
	50%, 80% { box-shadow: 0 0 0 8px rgba(197, 34, 41, 0.1); }
	100%     { box-shadow: 0 0 0 0 rgba(197, 34, 41, 0); }
}

/* risk: ошибки «гаснут» вокруг щита */
.rlg-viz-risk { position: relative; width: 180px; height: 120px; }
.rlg-viz-risk-shield {
	position: absolute;
	left: 50%;
	top: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: -32px 0 0 -32px;
	border: 1.3px solid var(--rlg-accent);
	border-radius: 9999px;
	background: var(--rlg-paper);
	color: var(--rlg-accent);
	animation: rlg-shield 5s ease infinite;
}
@keyframes rlg-shield {
	0%, 40%  { box-shadow: 0 0 0 0 rgba(163, 12, 51, 0.18); }
	60%      { box-shadow: 0 0 0 22px rgba(163, 12, 51, 0); }
	100%     { box-shadow: 0 0 0 0 rgba(163, 12, 51, 0); }
}
.rlg-viz-risk-err {
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 4px;
	background: var(--rlg-blush);
	border: 1px solid var(--rlg-soft);
	animation: rlg-err 5s ease infinite;
	animation-delay: calc(var(--i) * 0.18s);
}
.rlg-viz-risk-err::after {
	content: "!";
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 9px;
	font-weight: 700;
	color: var(--rlg-result);
}
.rlg-viz-risk-err:nth-child(1) { left: 8px; top: 14px; }
.rlg-viz-risk-err:nth-child(2) { left: 26px; top: 82px; }
.rlg-viz-risk-err:nth-child(3) { left: 52px; top: 2px; }
.rlg-viz-risk-err:nth-child(4) { right: 50px; top: 96px; }
.rlg-viz-risk-err:nth-child(5) { right: 14px; top: 24px; }
.rlg-viz-risk-err:nth-child(6) { right: 4px; top: 72px; }
@keyframes rlg-err {
	0%, 30%  { opacity: 1; transform: scale(1); }
	45%, 85% { opacity: 0; transform: scale(0.3); }
	100%     { opacity: 1; transform: scale(1); }
}

/* speed: стрелка спидометра */
.rlg-viz-speed svg { width: 150px; height: 86px; overflow: visible; }
.rlg-gauge-track { fill: none; stroke: var(--rlg-line); stroke-width: 9; stroke-linecap: round; }
.rlg-gauge-fill {
	fill: none;
	stroke: var(--rlg-result);
	stroke-width: 9;
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.6s var(--rlg-ease) .2s;
}
.rlg-gauge-needle {
	transform-box: view-box;
	transform-origin: 60px 62px;
	transform: rotate(-90deg);
	transition: transform 1.6s var(--rlg-ease) .2s;
}
.rlg-gauge-needle path { stroke: var(--rlg-ink); stroke-width: 2.5; stroke-linecap: round; }
.rlg-gauge-needle circle { fill: var(--rlg-ink); }
.rlg-bento.is-inview .rlg-gauge-fill { stroke-dashoffset: 18; }
.rlg-bento.is-inview .rlg-gauge-needle { transform: rotate(58deg); animation: rlg-needle 2.6s ease-in-out 2s infinite; }
@keyframes rlg-needle {
	0%, 100% { transform: rotate(58deg); }
	50%      { transform: rotate(50deg); }
}

/* scale: объём растёт, нагрузка — нет */
.rlg-viz-scale { display: flex; flex-direction: column; gap: 10px; width: 100%; }
.rlg-viz-scale svg { width: 100%; height: 92px; overflow: visible; }
.rlg-viz-scale svg { max-width: 260px; margin: 0 auto; }
.rlg-scale-grid { fill: none; stroke: var(--rlg-line); stroke-width: 1; vector-effect: non-scaling-stroke; }
.rlg-scale-vol,
.rlg-scale-load {
	fill: none;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	transition: stroke-dashoffset 1.8s var(--rlg-ease) .2s;
}
.rlg-scale-vol { stroke: var(--rlg-result); }
.rlg-scale-load { stroke: var(--rlg-smoke); transition-delay: .5s; }
.rlg-bento.is-inview .rlg-scale-vol,
.rlg-bento.is-inview .rlg-scale-load { stroke-dashoffset: 0; }
.rlg-viz-scale-legend { display: flex; gap: 16px; font-size: 11px; letter-spacing: -0.02em; color: var(--rlg-graphite); }
.rlg-viz-scale-legend span { display: inline-flex; align-items: center; gap: 6px; }
.rlg-viz-scale-legend i { width: 14px; height: 2.4px; border-radius: 2px; }
.rlg-viz-scale-legend i.is-vol { background: var(--rlg-result); }
.rlg-viz-scale-legend i.is-load { background: var(--rlg-smoke); }

/* ============================== АДАПТИВ ============================== */
@media (max-width: 1279px) {
	.rlg-hero { grid-template-columns: minmax(0, 1fr); padding: 32px 40px 40px; }
	.rlg-desk { max-width: 660px; width: 100%; margin: 0 auto; }
}
@media (max-width: 1023px) {
	.rlg-routine { grid-template-columns: minmax(0, 1fr); padding: 40px 32px; }
	.rlg-routine-head { position: static; }
	.rlg-npa { padding: 40px 32px; }
	.rlg-npa .rlg-npa-title,
	.rlg-section-title { font-size: 36px; }
	.rlg-case { grid-template-columns: minmax(0, 1fr); padding: 28px; }
	.rlg-bento-card,
	.rlg-bento-card--time,
	.rlg-bento-card--manual { grid-column: span 3; }
	.rlg-bento-card--scale { grid-column: 1 / -1; }

	/* Трасса — вертикально */
	.rlg-track-list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.rlg-track-rail {
		top: 28px;
		bottom: 28px;
		left: 27px;
		right: auto;
		width: 2px;
		height: auto;
		background: repeating-linear-gradient(180deg, var(--rlg-ash) 0 6px, transparent 6px 11px);
	}
	.rlg-track-runner { left: -4px; top: 0; margin: -5px 0 0; box-shadow: 0 0 0 5px rgba(197, 34, 41, 0.15), 0 -26px 18px -6px rgba(197, 34, 41, 0.45); animation-name: rlg-run-v; }
	@keyframes rlg-run-v {
		0%   { top: 0; opacity: 0; }
		3%   { opacity: 1; }
		86%  { top: 100%; opacity: 1; }
		92%, 100% { top: 100%; opacity: 0; }
	}
	.rlg-track-step {
		display: grid;
		grid-template-columns: 56px 28px minmax(0, 1fr);
		align-items: center;
		gap: 0 14px;
		text-align: left;
	}
	.rlg-track-num,
	.rlg-track-text { margin-top: 0; max-width: none; }
}
@media (max-width: 767px) {
	.rlg-hero { padding: 24px 20px 28px; border-radius: 20px; }
	.rlg-hero .rlg-hero-title { font-size: 36px; }
	.rlg-hero .rlg-hero-lead { font-size: 16px; }
	.rlg-kicker { margin-top: 28px; }

	/* Сцена: файлы — строкой сверху, документ и чек-лист внахлёст */
	.rlg-desk { display: flex; flex-direction: column; height: auto; }
	.rlg-desk-inbox { position: static; flex-direction: row; justify-content: center; gap: 8px; transform: none; }
	.rlg-desk-file { width: auto; }
	.rlg-desk-wires { display: none; }
	.rlg-desk-doc { position: relative; left: auto; top: auto; width: min(272px, 82%); height: 330px; margin: 28px 0 0 4px; }
	.rlg-desk-check { position: relative; right: auto; top: auto; width: min(262px, 86%); margin: -120px 0 0 auto; }

	.rlg-routine { padding: 28px 20px; border-radius: 20px; }
	.rlg-routine .rlg-routine-title { font-size: 24px; }
	.rlg-stat-num { font-size: 56px; }
	.rlg-todo-list { grid-template-columns: minmax(0, 1fr); }
	.rlg-npa { padding: 28px 20px; border-radius: 20px; }
	.rlg-npa .rlg-npa-title,
	.rlg-section-title { font-size: 30px; }
	.rlg-case { padding: 20px; }
	.rlg-case-stats { grid-template-columns: minmax(0, 1fr); }
	.rlg-bento-card,
	.rlg-bento-card--time,
	.rlg-bento-card--manual,
	.rlg-bento-card--scale { grid-column: 1 / -1; }
}

/* ============================== REDUCED MOTION ============================== */
@media (prefers-reduced-motion: reduce) {
	.rlg-hero *,
	.rlg-caps *,
	.rlg-npa *,
	.rlg-bento *,
	.rlg-routine * { animation: none !important; transition: none !important; }
	.rlg-desk-beam { display: none; }
	.rlg-line { background: #a9a4a1; }
	.rlg-line--del::after,
	.rlg-line--ins::before,
	.rlg-desk-lawyer-bar span { transform: none; }
	.rlg-desk-seal { opacity: 0.92; transform: rotate(-12deg); }
	.rlg-tick { background: var(--rlg-result); border-color: var(--rlg-result); color: #fff; }
	.rlg-desk-check li { color: var(--rlg-ink); }
	.rlg-art-strike { stroke-dashoffset: 0; }
	.rlg-track-runner { display: none; }
}
