/* --------------------------------------------------------------------------
   «Интеллектуальная автоматизация бухгалтерии» (page-ai-accounting.php).
   Визуальный язык — как у /ai-communications/, /platform/,
   /corporate-assistants/: кремовые панели, рамки Ash, моно-подписи,
   акцент #A30C33 / #C52229. Префикс .rac-*; общие компоненты (.rcm-caps,
   .rcm-lead) берутся из style.css и здесь только дополняются.
   JS-поведение — assets/js/robin-ai-accounting.js.
   -------------------------------------------------------------------------- */
.rac-hero,
.rac-panel,
.rac-flows,
.rac-kpis,
.rac-benefits,
#capabilities {
	--rac-parchment: #f6f3f1;
	--rac-paper: #fbfaf9;
	--rac-ash: #cecac8;
	--rac-line: #e7e3e0;
	--rac-sk: #e9e5e2;
	--rac-ink: #242424;
	--rac-graphite: #4e4d4d;
	--rac-smoke: #797776;
	--rac-accent: #a30c33;
	--rac-result: #c52229;
	--rac-soft: #eab0b2;
	--rac-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

/* ---------- Общие заголовки и панели ---------- */
.rac-h2 {
	margin: 0;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 45px;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--rac-ink, #242424);
}
.rac-h2 em { font-style: normal; color: var(--rac-accent, #a30c33); }
.rac-h2--center { max-width: 46rem; margin: 0 auto; text-align: center; }

.rac-panel {
	padding: 56px;
	border-radius: 24px;
	background: var(--rac-parchment);
	color: var(--rac-ink);
}

/* ==========================================================================
   HERO
   ========================================================================== */
.rac-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 32px 48px 48px;
	border-radius: 24px;
	background: var(--rac-parchment);
	color: var(--rac-ink);
}
.rac-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
	align-items: center;
	gap: 48px;
	margin-top: 28px;
}
.rac-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid var(--rac-ash);
	border-radius: 999px;
	background: #fff;
	font-family: var(--rac-mono);
	font-size: 12px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--rac-accent);
}
.rac-kicker-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--rac-result);
	box-shadow: 0 0 0 0 rgba(197, 34, 41, 0.45);
	animation: rac-ping 2s ease-out infinite;
}
@keyframes rac-ping {
	0%   { box-shadow: 0 0 0 0 rgba(197, 34, 41, 0.45); }
	100% { box-shadow: 0 0 0 9px rgba(197, 34, 41, 0); }
}
.rac-hero-title {
	margin: 20px 0 0;
	font-family: var(--robin-font-head);
	font-weight: 500;
	font-size: 52px;
	line-height: 1.04;
	letter-spacing: -0.03em;
	color: var(--rac-ink);
}
.rac-hero-title em { font-style: normal; color: var(--rac-accent); }
.rac-hero-lead {
	margin: 20px 0 0;
	font-size: 17px;
	line-height: 1.55;
	letter-spacing: -0.02em;
	color: var(--rac-graphite);
}
.rac-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.rac-hero-awards {
	margin: 28px 0 0;
	padding-top: 20px;
	border-top: 1px solid var(--rac-ash);
	font-size: 13px;
	line-height: 1.55;
	color: #9f9f9f;
}

/* ---------- Инфографика «сканер документов» ----------
   Цикл 7s: 0–34% — луч проходит лист, поля подсвечиваются по мере
   прохода (--t — доля высоты листа); 36–64% — по очереди «зажигаются»
   шаги конвейера; 94% — сброс. */
.rac-scan { margin: 0; }
.rac-scan-stage {
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr) 48px 200px;
	align-items: center;
	gap: 6px;
	min-height: 420px;
	padding: 28px 24px;
	border: 1px solid var(--rac-ash);
	border-radius: 28px;
	background:
		var(--rac-paper);
	box-shadow: 0 30px 60px -40px rgba(80, 20, 30, 0.35);
}

/* Входящие документы */
.rac-inbox { display: flex; flex-direction: column; gap: 14px; align-items: center; }
.rac-inbox-doc {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--rac-ash);
	border-radius: 8px;
	background: #fff;
	color: var(--rac-smoke);
	animation: rac-inbox 7s ease-in-out infinite;
	animation-delay: calc(var(--i) * -0.5s);
}
@keyframes rac-inbox {
	0%, 100% { transform: translateX(-4px); opacity: 0.5; }
	40%      { transform: translateX(6px); opacity: 1; color: var(--rac-accent); border-color: var(--rac-soft); }
	60%      { transform: translateX(10px); opacity: 0.2; }
}

/* Стопка листов + видоискатель */
.rac-sheets {
	position: relative;
	justify-self: center;
	width: 100%;
	max-width: 250px;
	aspect-ratio: 0.76;
}
.rac-sheet {
	position: absolute;
	inset: 0;
	border: 1px solid var(--rac-ash);
	border-radius: 12px;
	background: #fff;
}
.rac-sheet--b2 { transform: rotate(-7deg) translate(-10px, 6px); background: #f1edea; }
.rac-sheet--b1 { transform: rotate(4deg) translate(8px, 2px); background: #f7f4f2; }
.rac-sheet--front {
	display: flex;
	flex-direction: column;
	gap: 9px;
	padding: 18px 16px;
	overflow: hidden;
	box-shadow: 0 14px 30px -18px rgba(36, 36, 36, 0.35);
}
.rac-sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.rac-stamp {
	padding: 2px 6px;
	border: 1px solid var(--rac-ash);
	border-radius: 5px;
	font-family: var(--rac-mono);
	font-size: 9px;
	color: var(--rac-smoke);
}
.rac-sk {
	display: block;
	height: 6px;
	border-radius: 3px;
	background: var(--rac-sk);
}
.rac-sk--title { width: 48%; height: 9px; background: #dcd6d2; }
.rac-sk-rows { display: flex; flex-direction: column; gap: 7px; padding: 4px 0; }
.rac-field {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 5px 6px;
	border: 1px dashed transparent;
	border-radius: 7px;
	animation: rac-field 7s ease-in-out infinite;
	animation-delay: calc(var(--t) * 2.4s);
}
.rac-field .rac-sk { flex: none; }
.rac-field-tag {
	flex: none;
	font-family: var(--rac-mono);
	font-size: 9px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--rac-smoke);
}
.rac-field--sum { margin-top: auto; }
@keyframes rac-field {
	0%       { border-color: transparent; background: transparent; }
	2%, 60%  { border-color: var(--rac-result); background: rgba(197, 34, 41, 0.06); }
	64%,100% { border-color: transparent; background: transparent; }
}
.rac-beam {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 2px;
	background: var(--rac-result);
	box-shadow: 0 0 12px 2px rgba(197, 34, 41, 0.45);
	opacity: 0;
	animation: rac-beam 7s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}
.rac-beam::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 2px;
	height: 46px;
	background: linear-gradient(to top, rgba(197, 34, 41, 0.14), transparent);
}
@keyframes rac-beam {
	0%       { top: 0; opacity: 0; }
	3%       { opacity: 1; }
	34%      { top: 100%; opacity: 1; }
	37%,100% { top: 100%; opacity: 0; }
}
.rac-corner {
	position: absolute;
	width: 20px;
	height: 20px;
	border: 2px solid var(--rac-result);
	animation: rac-corner 3.5s ease-in-out infinite;
}
.rac-corner--tl { top: -10px; left: -10px; border-right: 0; border-bottom: 0; border-top-left-radius: 8px; }
.rac-corner--tr { top: -10px; right: -10px; border-left: 0; border-bottom: 0; border-top-right-radius: 8px; }
.rac-corner--bl { bottom: -10px; left: -10px; border-right: 0; border-top: 0; border-bottom-left-radius: 8px; }
.rac-corner--br { bottom: -10px; right: -10px; border-left: 0; border-top: 0; border-bottom-right-radius: 8px; }
@keyframes rac-corner {
	0%, 100% { transform: scale(1); opacity: 1; }
	50%      { transform: scale(0.88); opacity: 0.55; }
}
.rac-ocr-chip {
	position: absolute;
	top: -24px;
	right: 18px;
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--rac-result);
	font-family: var(--rac-mono);
	font-size: 10px;
	letter-spacing: 0.04em;
	color: #fff;
	box-shadow: 0 6px 14px -6px rgba(197, 34, 41, 0.7);
}

/* Провода к конвейеру */
.rac-wire { width: 100%; height: 200px; overflow: visible; }
.rac-wire-line { fill: none; stroke: var(--rac-ash); stroke-width: 1.2; vector-effect: non-scaling-stroke; }
.rac-wire-line--live {
	stroke: var(--rac-result);
	stroke-dasharray: 2 8;
	stroke-linecap: round;
	animation: rac-dash 1.4s linear infinite;
}
@keyframes rac-dash { to { stroke-dashoffset: -20; } }

/* Конвейер шагов */
.rac-pipe {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rac-pipe::before {
	content: "";
	position: absolute;
	left: 22px;
	top: 18px;
	bottom: 18px;
	border-left: 1px dashed var(--rac-ash);
}
.rac-pipe li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 10px 7px 8px;
	border: 1px solid var(--rac-ash);
	border-radius: 999px;
	background: var(--rac-parchment);
	font-family: var(--rac-mono);
	font-size: 11px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--rac-ink);
	animation: 7s ease-in-out infinite;
}
.rac-pipe-ico {
	display: grid;
	place-items: center;
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: #fff;
	color: var(--rac-smoke);
	transition: color .3s, background .3s;
}
.rac-pipe-label { flex: 1; min-width: 0; }
.rac-pipe-ok {
	display: grid;
	place-items: center;
	flex: none;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: var(--rac-result);
	color: #fff;
	transform: scale(0);
}
.rac-pipe li:nth-child(1) { animation-name: rac-pipe-0; }
.rac-pipe li:nth-child(2) { animation-name: rac-pipe-1; }
.rac-pipe li:nth-child(3) { animation-name: rac-pipe-2; }
.rac-pipe li:nth-child(4) { animation-name: rac-pipe-3; }
.rac-pipe li:nth-child(5) { animation-name: rac-pipe-4; }
.rac-pipe li:nth-child(1) .rac-pipe-ok { animation: rac-ok-0 7s ease-in-out infinite; }
.rac-pipe li:nth-child(2) .rac-pipe-ok { animation: rac-ok-1 7s ease-in-out infinite; }
.rac-pipe li:nth-child(3) .rac-pipe-ok { animation: rac-ok-2 7s ease-in-out infinite; }
.rac-pipe li:nth-child(4) .rac-pipe-ok { animation: rac-ok-3 7s ease-in-out infinite; }
@keyframes rac-pipe-0 { 0%, 35% { border-color: var(--rac-ash); } 38%, 92% { border-color: var(--rac-soft); background: #fff; } 96%, 100% { border-color: var(--rac-ash); } }
@keyframes rac-pipe-1 { 0%, 42% { border-color: var(--rac-ash); } 45%, 92% { border-color: var(--rac-soft); background: #fff; } 96%, 100% { border-color: var(--rac-ash); } }
@keyframes rac-pipe-2 { 0%, 49% { border-color: var(--rac-ash); } 52%, 92% { border-color: var(--rac-soft); background: #fff; } 96%, 100% { border-color: var(--rac-ash); } }
@keyframes rac-pipe-3 { 0%, 56% { border-color: var(--rac-ash); } 59%, 92% { border-color: var(--rac-soft); background: #fff; } 96%, 100% { border-color: var(--rac-ash); } }
@keyframes rac-pipe-4 {
	0%, 63%   { border-color: var(--rac-ash); background: var(--rac-parchment); color: var(--rac-ink); }
	67%, 92%  { border-color: var(--rac-accent); background: var(--rac-accent); color: #fff; box-shadow: 0 10px 22px -10px rgba(163, 12, 51, 0.7); }
	96%, 100% { border-color: var(--rac-ash); background: var(--rac-parchment); color: var(--rac-ink); }
}
@keyframes rac-ok-0 { 0%, 35% { transform: scale(0); } 39%, 92% { transform: scale(1); } 96%, 100% { transform: scale(0); } }
@keyframes rac-ok-1 { 0%, 42% { transform: scale(0); } 46%, 92% { transform: scale(1); } 96%, 100% { transform: scale(0); } }
@keyframes rac-ok-2 { 0%, 49% { transform: scale(0); } 53%, 92% { transform: scale(1); } 96%, 100% { transform: scale(0); } }
@keyframes rac-ok-3 { 0%, 56% { transform: scale(0); } 60%, 92% { transform: scale(1); } 96%, 100% { transform: scale(0); } }
.rac-pipe-done .rac-pipe-ico { color: var(--rac-accent); }

/* ==========================================================================
   ЧТО МОЖНО АВТОМАТИЗИРОВАТЬ
   ========================================================================== */
.rac-auto {
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	gap: 48px;
	align-items: start;
}
.rac-auto-head { position: sticky; top: 120px; }
.rac-auto-stat { display: flex; align-items: flex-end; gap: 10px; margin: 0 0 24px; }
.rac-auto-stat-num {
	font-family: var(--rac-mono);
	font-size: 72px;
	line-height: 0.85;
	letter-spacing: -0.06em;
	color: var(--rac-accent);
}
.rac-auto-stat-label {
	font-family: var(--rac-mono);
	font-size: 12px;
	text-transform: uppercase;
	color: var(--rac-smoke);
}
.rac-auto-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rac-tile {
	position: relative;
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	align-items: center;
	gap: 16px;
	min-height: 96px;
	padding: 18px 44px 18px 18px;
	border: 1px solid var(--rac-line);
	border-radius: 20px;
	background: #fff;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.rac-tile:hover {
	transform: translateY(-3px);
	border-color: var(--rac-soft);
	box-shadow: 0 18px 32px -24px rgba(163, 12, 51, 0.5);
}
.rac-tile-ico {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 14px;
	background: var(--rac-parchment);
	color: var(--rac-accent);
	transition: background .25s ease, color .25s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1);
}
.rac-tile:hover .rac-tile-ico { background: var(--rac-accent); color: #fff; transform: rotate(-8deg) scale(1.06); }
.rac-tile-num {
	position: absolute;
	top: 14px;
	right: 16px;
	font-family: var(--rac-mono);
	font-size: 11px;
	color: var(--rac-ash);
	transition: color .25s ease;
}
.rac-tile:hover .rac-tile-num { color: var(--rac-accent); }
.rac-tile-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
	letter-spacing: -0.02em;
	color: var(--rac-ink);
}

/* Появление по скроллу: прячем только если JS включил механизм */
.rac-reveal-ready > * {
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .6s ease, transform .6s cubic-bezier(.22, 1, .36, 1);
	transition-delay: calc(var(--i, 0) * 70ms);
}
.rac-reveal-ready.is-inview > * { opacity: 1; transform: none; }
.rac-reveal-ready.is-inview > .rac-tile:hover { transform: translateY(-3px); transition-delay: 0s; }

/* ==========================================================================
   КАК ЭТО РАБОТАЕТ — плеер сценариев
   ========================================================================== */
.rac-flows { margin-top: 48px; }
.rac-flows-tabs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}
.rac-flows-tab {
	position: relative;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	grid-template-rows: auto auto;
	column-gap: 12px;
	align-items: center;
	padding: 16px 16px 20px;
	overflow: hidden;
	border: 1px solid var(--rac-ash);
	border-radius: 20px;
	background: #fff;
	text-align: left;
	cursor: pointer;
	transition: border-color .2s ease, background .2s ease;
}
.rac-flows-tab:hover { border-color: var(--rac-soft); }
.rac-flows-tab:focus-visible { outline: 2px solid var(--rac-accent); outline-offset: 2px; }
.rac-flows-tab-ico {
	grid-row: 1 / span 2;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 12px;
	background: var(--rac-parchment);
	color: var(--rac-smoke);
	transition: background .2s ease, color .2s ease;
}
.rac-flows-tab-num {
	font-family: var(--rac-mono);
	font-size: 11px;
	color: var(--rac-smoke);
}
.rac-flows-tab-title {
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.02em;
	color: var(--rac-ink);
}
.rac-flows-tab.is-active { border-color: var(--rac-accent); background: var(--rac-parchment); }
.rac-flows-tab.is-active .rac-flows-tab-ico { background: var(--rac-accent); color: #fff; }
.rac-flows-tab.is-active .rac-flows-tab-num { color: var(--rac-accent); }
.rac-flows-tab-bar {
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 8px;
	height: 3px;
	border-radius: 2px;
	background: var(--rac-line);
	opacity: 0;
}
.rac-flows-tab-bar span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--rac-accent);
	transform: scaleX(0);
	transform-origin: left;
}
.rac-flows.is-auto .rac-flows-tab.is-active .rac-flows-tab-bar { opacity: 1; }
.rac-flows.is-auto .rac-flows-tab.is-active .rac-flows-tab-bar span {
	animation: rac-fill var(--rac-dur, 9s) linear forwards;
}
.rac-flows.is-paused .rac-flows-tab-bar span { animation-play-state: paused !important; }
@keyframes rac-fill { to { transform: scaleX(1); } }

.rac-flow {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr);
	margin-top: 16px;
	padding: 32px 0;
	border: 1px solid var(--rac-ash);
	border-radius: 28px;
	background: var(--rac-parchment);
}
.rac-flow[hidden] { display: none; }
.rac-flow-col { padding: 0 28px; }
.rac-flow-col + .rac-flow-col { border-left: 1px dashed var(--rac-ash); }
.rac-flow-cap {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 16px;
	font-family: var(--rac-mono);
	font-size: 12px;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--rac-smoke);
}
.rac-flow-cap--ai { color: var(--rac-accent); }
.rac-flow-cap-ico {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid currentColor;
	border-radius: 50%;
}
.rac-bubble {
	margin: 0;
	padding: 14px 16px;
	border: 1px solid var(--rac-ash);
	border-radius: 18px 18px 18px 4px;
	background: #fff;
	font-size: 15px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: var(--rac-graphite);
}
.rac-steps { margin: 0; padding: 0; list-style: none; }
.rac-steps li {
	position: relative;
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr);
	gap: 12px;
	padding: 0 0 14px;
	font-size: 15px;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--rac-ink);
}
.rac-steps li:not(:last-child)::before {
	content: "";
	position: absolute;
	left: 10.5px;
	top: 24px;
	bottom: 2px;
	border-left: 1px solid var(--rac-ash);
}
.rac-steps-mark {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--rac-accent);
	color: #fff;
}
.rac-result {
	padding: 16px;
	border: 1px solid var(--rac-soft);
	border-radius: 20px;
	background: #fff;
}
.rac-result-text {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--rac-ink);
}

/* Анимация проигрывания сценария (.is-playing ставит JS при показе) */
.rac-flow.is-playing .rac-bubble { animation: rac-pop .45s cubic-bezier(.34, 1.56, .64, 1) both; }
.rac-flow.is-playing .rac-steps li { animation: rac-step-in .4s ease both; animation-delay: calc(.5s + var(--s) * .55s); }
.rac-flow.is-playing .rac-steps-mark { animation: rac-mark .45s ease both; animation-delay: calc(.75s + var(--s) * .55s); }
.rac-flow.is-playing .rac-steps li:not(:last-child)::before { animation: rac-grow .4s ease both; animation-delay: calc(.85s + var(--s) * .55s); }
.rac-flow.is-playing .rac-result { animation: rac-result-in .6s cubic-bezier(.22, 1, .36, 1) both; animation-delay: calc(.9s + var(--n) * .55s); }
@keyframes rac-pop { from { opacity: 0; transform: translateY(8px) scale(.96); } }
@keyframes rac-step-in { from { opacity: .25; transform: translateX(-4px); } }
@keyframes rac-mark {
	0%   { background: #fff; color: transparent; box-shadow: inset 0 0 0 1px var(--rac-ash); transform: scale(1); }
	60%  { transform: scale(1.18); }
	100% { background: var(--rac-accent); color: #fff; box-shadow: none; transform: scale(1); }
}
@keyframes rac-grow { from { transform: scaleY(0); transform-origin: top; } to { transform: scaleY(1); transform-origin: top; } }
@keyframes rac-result-in {
	from { opacity: .3; transform: translateY(10px); border-color: var(--rac-ash); box-shadow: none; }
	to   { opacity: 1; transform: none; border-color: var(--rac-soft); box-shadow: 0 18px 34px -22px rgba(163, 12, 51, 0.55); }
}

/* Мини-иллюстрации результата */
.rac-result-art {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	height: 96px;
	border-radius: 14px;
	background: var(--rac-parchment);
}
.rac-mini-card {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 6px 10px;
	align-items: center;
	width: 70%;
	padding: 12px;
	border: 1px solid var(--rac-line);
	border-radius: 12px;
	background: #fff;
}
.rac-mini-ava {
	grid-row: 1 / span 2;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--rac-accent);
	color: #fff;
}
.rac-mini-badges { grid-column: 1 / -1; display: flex; gap: 6px; }
.rac-mini-badges i { width: 34px; height: 8px; border-radius: 4px; background: var(--rac-sk); }
.rac-mini-badges i.is-warn { background: var(--rac-soft); animation: rac-blink 1.6s ease-in-out infinite; }
.rac-mini-docs { position: relative; width: 44px; height: 56px; }
.rac-mini-docs span {
	position: absolute;
	inset: 0;
	border: 1px solid var(--rac-ash);
	border-radius: 6px;
	background: #fff;
}
.rac-mini-docs span:nth-child(1) { transform: rotate(-8deg); }
.rac-mini-docs span:nth-child(2) { transform: rotate(5deg); }
.rac-mini-docs span:nth-child(3) {
	background: repeating-linear-gradient(to bottom, #fff 0 8px, var(--rac-sk) 8px 11px) padding-box;
	background-clip: content-box;
	padding: 8px 7px;
}
.rac-mini-arrow {
	width: 34px;
	height: 2px;
	background: linear-gradient(to right, var(--rac-result) 50%, transparent 0) 0 0 / 8px 2px repeat-x;
	animation: rac-arrow .8s linear infinite;
}
@keyframes rac-arrow { to { background-position: 8px 0; } }
.rac-mini-table {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 70px;
	padding: 8px;
	border: 1px solid var(--rac-line);
	border-radius: 8px;
	background: #fff;
}
.rac-mini-table i { height: 7px; border-radius: 3px; background: var(--rac-soft); }
.rac-flow.is-playing .rac-mini-table i { animation: rac-fill-row .5s ease both; animation-delay: calc(1.2s + var(--n, 5) * .55s); }
.rac-flow.is-playing .rac-mini-table i:nth-child(2) { animation-delay: calc(1.35s + var(--n, 5) * .55s); }
.rac-flow.is-playing .rac-mini-table i:nth-child(3) { animation-delay: calc(1.5s + var(--n, 5) * .55s); }
.rac-flow.is-playing .rac-mini-table i:nth-child(4) { animation-delay: calc(1.65s + var(--n, 5) * .55s); }
@keyframes rac-fill-row { from { background: var(--rac-sk); } to { background: var(--rac-soft); } }
.rac-mini-rows {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 70%;
	padding: 10px;
	border: 1px solid var(--rac-line);
	border-radius: 10px;
	background: #fff;
}
.rac-mini-rows i { height: 6px; border-radius: 3px; background: var(--rac-sk); transition: background .3s; }
.rac-mini-rows i.is-hit { background: var(--rac-result); animation: rac-blink 1.8s ease-in-out infinite; }
.rac-mini-diff { display: flex; gap: 10px; }
.rac-mini-diff span {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 62px;
	padding: 10px 8px;
	border: 1px solid var(--rac-line);
	border-radius: 8px;
	background: #fff;
}
.rac-mini-diff i { height: 6px; border-radius: 3px; background: var(--rac-sk); }
.rac-mini-diff i.is-diff { background: var(--rac-result); box-shadow: 0 0 0 3px rgba(197, 34, 41, 0.15); animation: rac-blink 1.4s ease-in-out infinite; }
@keyframes rac-blink { 50% { opacity: .45; } }

/* ==========================================================================
   ЧТО ПОЛУЧАЕТ БУХГАЛТЕРИЯ — инфографика
   ========================================================================== */
.rac-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin: 48px 0 0;
	padding: 0;
	list-style: none;
}
.rac-kpi {
	display: flex;
	flex-direction: column;
	padding: 28px;
	border: 1px solid var(--rac-line);
	border-radius: 28px;
	background: #fff;
}
.rac-kpi-viz {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	height: 160px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px dashed var(--rac-ash);
}
.rac-kpi-value {
	font-family: var(--robin-font-head);
	font-size: 56px;
	line-height: 1;
	letter-spacing: -0.04em;
	font-variant-numeric: tabular-nums;
	color: var(--rac-accent);
}
.rac-kpi-label {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.45;
	letter-spacing: -0.02em;
	color: var(--rac-graphite);
}

/* +50%: столбцы 100 : 150 */
.rac-bars { display: flex; align-items: flex-end; gap: 20px; height: 140px; }
.rac-bar {
	position: relative;
	display: block;
	width: 60px;
	border-radius: 12px 12px 4px 4px;
}
.rac-bar i {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	transform-origin: bottom;
	transition: transform 1s cubic-bezier(.22, 1, .36, 1);
}
.rac-bar--base { height: 62%; }
.rac-bar--base i { background: repeating-linear-gradient(-45deg, #e9e5e2 0 6px, #f1eeeb 6px 12px); }
.rac-bar--up { height: 93%; }
.rac-bar--up i { background: linear-gradient(to top, var(--rac-accent), var(--rac-result)); transition-delay: .25s; }
.rac-bar b {
	position: absolute;
	left: 50%;
	top: -26px;
	transform: translateX(-50%);
	font-family: var(--rac-mono);
	font-size: 12px;
	font-weight: 500;
	color: var(--rac-accent);
	white-space: nowrap;
	transition: opacity .4s ease 1s;
}

/* ×5–10: 10 документов — 5 полностью + диапазон до 10 */
.rac-docs-row {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 4px;
	width: 100%;
}
.rac-doc {
	display: grid;
	place-items: center;
	aspect-ratio: 0.8;
	border: 1px solid var(--rac-line);
	border-radius: 6px;
	color: var(--rac-ash);
	transition: background .35s ease, color .35s ease, border-color .35s ease, transform .35s cubic-bezier(.34, 1.56, .64, 1);
	transition-delay: calc(.2s + var(--d) * 90ms);
}
.rac-doc svg { width: 70%; height: auto; }
.rac-docs-scale {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 4px;
	width: 100%;
	margin-top: 8px;
	font-family: var(--rac-mono);
	font-size: 11px;
	text-align: center;
	color: var(--rac-smoke);
}
.rac-docs-scale span:nth-child(1) { grid-column: 1; }
.rac-docs-scale span:nth-child(2) { grid-column: 5; color: var(--rac-accent); }
.rac-docs-scale span:nth-child(3) { grid-column: 10; color: var(--rac-accent); }

/* до 60%: кольцо */
.rac-ring { width: 140px; height: 140px; transform: rotate(-90deg); }
.rac-ring circle { fill: none; stroke-width: 12; }
.rac-ring-track { stroke: var(--rac-line); }
.rac-ring-arc {
	stroke: var(--rac-accent);
	stroke-linecap: round;
	stroke-dasharray: 100;
	stroke-dashoffset: 40;
	transition: stroke-dashoffset 1.4s cubic-bezier(.22, 1, .36, 1) .2s;
}

/* Исходное состояние до появления — только если JS включил механизм */
.rac-kpis.rac-reveal-ready:not(.is-inview) .rac-bar i { transform: scaleY(0); }
.rac-kpis.rac-reveal-ready:not(.is-inview) .rac-bar b { opacity: 0; }
.rac-kpis.rac-reveal-ready:not(.is-inview) .rac-ring-arc { stroke-dashoffset: 100; }
.rac-kpis .rac-doc { background: var(--rac-accent); border-color: var(--rac-accent); color: #fff; }
.rac-kpis .rac-doc--range { background: var(--rac-soft); border-color: var(--rac-soft); color: #fff; }
.rac-kpis.rac-reveal-ready:not(.is-inview) .rac-doc { background: #fff; border-color: var(--rac-line); color: var(--rac-ash); transform: scale(.85); }
.rac-kpi:hover .rac-doc { transform: translateY(-3px); }

/* ==========================================================================
   ДОПОЛНИТЕЛЬНЫЕ ПРЕИМУЩЕСТВА — дополнения к .rcm-caps
   ========================================================================== */
.rac-benefits .rcm-caps-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rac-benefits .rcm-caps-card { background: #fff; }
.rac-art-line { fill: #dcd6d2; }
.rac-art-scan { fill: var(--rac-result); opacity: .22; animation: rac-art-scan 3s ease-in-out infinite; }
@keyframes rac-art-scan { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(66px); } }
.rac-art-tick {
	fill: #fbfaf9;
	stroke: var(--rac-ash);
	stroke-width: 1.2;
	animation: rac-tick 5s ease-in-out infinite;
	animation-delay: calc(var(--k) * .5s);
}
@keyframes rac-tick {
	0%, 6%    { fill: #fbfaf9; stroke: var(--rac-ash); }
	12%, 70%  { fill: var(--rac-accent); stroke: var(--rac-accent); }
	80%, 100% { fill: #fbfaf9; stroke: var(--rac-ash); }
}
.rac-art-pulse { transform-box: fill-box; transform-origin: center; animation: rac-pulse 2.4s ease-in-out infinite; }
@keyframes rac-pulse { 50% { transform: scale(1.15); } }

.rac-webinar { margin-top: 40px; text-align: center; }
.rac-webinar-btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 8px 22px 8px 8px;
	border: 1px solid var(--rac-ash);
	border-radius: 999px;
	background: #fff;
	cursor: pointer;
	transition: gap .2s ease, border-color .2s ease;
}
.rac-webinar-btn:hover { gap: 18px; border-color: var(--rac-soft); }
.rac-webinar-play {
	position: relative;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--rac-accent);
	color: #fff;
}
.rac-webinar-play::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	animation: rac-ping 2s ease-out infinite;
}
.rac-webinar-play svg { margin-left: 2px; }
.rac-webinar-text {
	font-family: var(--rac-mono, ui-monospace, monospace);
	font-size: 13px;
	letter-spacing: -0.01em;
	text-transform: uppercase;
	color: var(--rac-accent, #a30c33);
}

/* ==========================================================================
   Адаптив
   ========================================================================== */
@media (max-width: 1279px) {
	.rac-benefits .rcm-caps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.rac-hero { padding: 24px 24px 32px; }
	.rac-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
	.rac-hero-title { font-size: 42px; }
	.rac-scan-stage {
		grid-template-columns: minmax(0, 1fr);
		justify-items: center;
		gap: 36px;
		min-height: 0;
		padding: 40px 20px 24px;
	}
	.rac-inbox, .rac-wire { display: none; }
	.rac-sheets { max-width: 220px; }
	.rac-pipe { flex-direction: row; flex-wrap: wrap; justify-content: center; gap: 8px; }
	.rac-pipe::before { display: none; }
	.rac-panel { padding: 40px 28px; }
	.rac-h2 { font-size: 36px; }
	.rac-auto { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.rac-auto-head { position: static; }
	.rac-flows-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rac-flow { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 24px 0; }
	.rac-flow-col { padding: 0 24px; }
	.rac-flow-col + .rac-flow-col { border-left: 0; border-top: 1px dashed var(--rac-ash); padding-top: 24px; }
	.rac-kpis { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 639px) {
	.rac-hero { padding: 20px 16px 24px; border-radius: 20px; }
	.rac-hero-title { font-size: 34px; }
	.rac-hero-lead { font-size: 15px; }
	.rac-panel { padding: 32px 16px; border-radius: 20px; }
	.rac-h2 { font-size: 30px; line-height: 1.12; }
	.rac-auto-grid { grid-template-columns: minmax(0, 1fr); }
	.rac-auto-stat-num { font-size: 56px; }
	.rac-flows-tabs { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.rac-flows-tab { padding: 12px 14px 16px; }
	.rac-flow-col { padding: 0 16px; }
	.rac-benefits .rcm-caps-grid { grid-template-columns: minmax(0, 1fr); }
	.rac-kpi { padding: 22px; }
	.rac-kpi-value { font-size: 46px; }
}

@media (prefers-reduced-motion: reduce) {
	.rac-hero *, .rac-hero *::before, .rac-flows *, .rac-flows *::before, .rac-kpis *, .rac-benefits *, .rac-webinar * {
		animation: none !important;
		transition: none !important;
	}
	.rac-beam { display: none; }
	.rac-field { border-color: var(--rac-result); background: rgba(197, 34, 41, 0.06); }
	.rac-pipe-ok { transform: none; }
	.rac-reveal-ready > * { opacity: 1; transform: none; }
}
