/* --------------------------------------------------------------------------
   «Партнёрская программа» (page-partner-program.php). Визуальный язык —
   как у /partners/, /ai-procurement/: кремовые панели, рамки Ash,
   моно-подписи, акцент #A30C33, тёмная navy-карточка для контраста.
   Префикс .rpp-*; форма — общий .rcm-lead из style.css.
   JS — assets/js/robin-partner-program.js.
   -------------------------------------------------------------------------- */
:root {
	--rpp-parchment: #f6f3f1;
	--rpp-paper: #fbfaf9;
	--rpp-ash: #cecac8;
	--rpp-line: #e7e3e0;
	--rpp-ink: #242424;
	--rpp-graphite: #4e4d4d;
	--rpp-smoke: #797776;
	--rpp-accent: #a30c33;
	--rpp-result: #c52229;
	--rpp-soft: #eab0b2;
	--rpp-navy: #0e1526;
	--rpp-mono-f: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.rpp-h2 {
	margin: 0;
	max-width: 44rem;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 45px;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--rpp-ink);
}
.rpp-h2 em { font-style: normal; color: var(--rpp-accent); }
.rpp-kicker {
	margin: 0 0 14px;
	font-family: var(--rpp-mono-f);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--rpp-accent);
}
.rpp-mono {
	font-family: var(--rpp-mono-f);
	font-size: 10px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--rpp-smoke);
}
.rpp-panel { padding: 64px 56px; border-radius: 24px; background: var(--rpp-parchment); }

/* ==========================================================================
   HERO
   ========================================================================== */
.rpp-hero { padding: 32px 48px 48px; border-radius: 24px; background: var(--rpp-parchment); color: var(--rpp-ink); }
.rpp-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
	gap: 56px;
	align-items: center;
	margin-top: 32px;
}
.rpp-hero-title {
	margin: 0;
	font-family: var(--robin-font-head);
	font-weight: 500;
	font-size: 60px;
	line-height: 1.02;
	letter-spacing: -0.035em;
}
.rpp-hero-title em { display: block; font-style: normal; color: var(--rpp-accent); }
.rpp-hero-lead { margin: 24px 0 0; font-size: 19px; line-height: 1.5; letter-spacing: -0.02em; color: var(--rpp-ink); }
.rpp-hero-text {
	margin: 16px 0 0;
	padding-left: 20px;
	border-left: 2px solid var(--rpp-accent);
	font-size: 15px;
	line-height: 1.65;
	color: var(--rpp-graphite);
}
.rpp-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

/* ---------- Схема канала ---------- */
.rpp-chain { display: flex; flex-direction: column; align-items: stretch; }
.rpp-eco {
	position: relative;
	padding: 34px 18px 18px;
	border: 1.5px dashed var(--rpp-ash);
	border-radius: 24px;
	background: rgba(255, 255, 255, .45);
}
.rpp-eco > .rpp-mono { position: absolute; top: 12px; left: 18px; }
.rpp-node {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--rpp-line);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 16px 32px -26px rgba(36, 36, 36, .4);
}
.rpp-node b { font-weight: 500; font-size: 16px; letter-spacing: -0.02em; color: var(--rpp-ink); }
.rpp-node-logo {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px;
	border-radius: 12px;
	background: var(--rpp-accent);
	font-family: var(--robin-font-head);
	font-weight: 600;
	font-size: 20px;
	color: #fff;
}
.rpp-node-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 42px; height: 42px;
	border-radius: 12px;
	background: var(--rpp-parchment);
	color: var(--rpp-accent);
}
.rpp-node-ico svg { width: 22px; height: 22px; }
.rpp-node--partner {
	background: var(--rpp-navy);
	border-color: transparent;
	box-shadow: 0 24px 48px -26px rgba(14, 21, 38, .6);
}
.rpp-node--partner b { color: #fff; }
.rpp-node--partner .rpp-node-ico { background: rgba(255, 255, 255, .08); color: #ff6b70; }
.rpp-node-tags { display: flex; gap: 6px; margin-left: auto; }
.rpp-node-tags i {
	padding: 3px 9px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .1);
	font-style: normal;
	font-family: var(--rpp-mono-f);
	font-size: 10px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, .8);
}
.rpp-node-tags i:first-child { background: var(--rpp-result); color: #fff; }
.rpp-node--client { border-color: var(--rpp-soft); }

.rpp-link {
	position: relative;
	align-self: center;
	width: 2px;
	height: 44px;
	background: repeating-linear-gradient(180deg, var(--rpp-ash) 0 4px, transparent 4px 8px);
}
.rpp-pulse {
	position: absolute;
	left: 50%;
	top: 0;
	width: 10px; height: 10px;
	margin-left: -5px;
	border-radius: 50%;
	background: var(--rpp-result);
	box-shadow: 0 0 0 4px rgba(197, 34, 41, .18);
	animation: rpp-drop 2.4s cubic-bezier(.5, 0, .5, 1) infinite;
}
.rpp-link + .rpp-node + .rpp-link .rpp-pulse { animation-delay: 1.2s; }
@keyframes rpp-drop {
	0%   { top: -6px; opacity: 0; }
	15%  { opacity: 1; }
	85%  { opacity: 1; }
	100% { top: 40px; opacity: 0; }
}
.rpp-chain .rpp-node { animation: rpp-glow 2.4s ease-in-out infinite; }
.rpp-node--robin { animation-delay: 0s !important; }
.rpp-node--partner { animation-delay: .9s !important; }
.rpp-node--client { animation-delay: 2.1s !important; }
@keyframes rpp-glow {
	0%, 70%, 100% { transform: none; }
	80% { transform: translateY(-2px) scale(1.01); }
}

/* ==========================================================================
   ПРЕИМУЩЕСТВА — бенто
   ========================================================================== */
.rpp-benefits {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-top: 44px;
}
.rpp-benefit {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 28px;
	border: 1px solid var(--rpp-line);
	border-radius: 24px;
	background: var(--rpp-parchment);
	transition: transform .35s ease, box-shadow .35s ease, background .35s ease;
}
.rpp-benefit::after {
	content: "";
	position: absolute;
	left: 28px; right: 28px; bottom: 0;
	height: 2px;
	background: var(--rpp-accent);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .45s ease;
}
.rpp-benefit:hover { transform: translateY(-4px); background: #fff; box-shadow: 0 24px 48px -30px rgba(36, 36, 36, .35); }
.rpp-benefit:hover::after { transform: scaleX(1); }
.rpp-benefit--dark { grid-row: span 2; justify-content: space-between; background: linear-gradient(160deg, #141d33 0%, #0b1120 60%, #0e1526 100%); border-color: transparent; color: #fff; }
.rpp-benefit--dark:hover { background: linear-gradient(160deg, #141d33 0%, #0b1120 60%, #0e1526 100%); }
.rpp-benefit:last-child:not(:first-child) {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: auto minmax(0, 14rem) minmax(0, 1fr);
	gap: 24px;
	align-items: center;
}
.rpp-benefit:last-child:not(:first-child) .rpp-benefit-top { flex-direction: row-reverse; gap: 20px; align-items: center; }
.rpp-benefit:last-child:not(:first-child) .rpp-benefit-title,
.rpp-benefit:last-child:not(:first-child) .rpp-benefit-text { margin: 0; }
.rpp-benefit-top { display: flex; justify-content: space-between; align-items: flex-start; }
.rpp-benefit-ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px;
	border-radius: 14px;
	background: #fff;
	color: var(--rpp-accent);
}
.rpp-benefit-ico svg { width: 22px; height: 22px; }
.rpp-benefit--dark .rpp-benefit-ico { background: var(--rpp-accent); color: #fff; width: 64px; height: 64px; border-radius: 18px; }
.rpp-benefit--dark .rpp-benefit-ico svg { width: 30px; height: 30px; }
.rpp-benefit-num {
	font-family: var(--robin-font-head);
	font-weight: 300;
	font-size: 44px;
	line-height: 1;
	letter-spacing: -0.05em;
	color: transparent;
	-webkit-text-stroke: 1px var(--rpp-ash);
}
.rpp-benefit--dark .rpp-benefit-num { font-size: 96px; -webkit-text-stroke-color: rgba(255, 255, 255, .25); }
.rpp-benefit-title { margin: 22px 0 0; font-family: var(--robin-font-head); font-weight: 500; font-size: 21px; letter-spacing: -0.025em; color: var(--rpp-ink); }
.rpp-benefit-text { margin: 8px 0 0; font-size: 14px; line-height: 1.6; color: var(--rpp-graphite); }
.rpp-benefit--dark .rpp-benefit-title { margin-top: auto; padding-top: 40px; font-size: 32px; color: #fff; }
.rpp-benefit--dark .rpp-benefit-text { font-size: 16px; color: rgba(255, 255, 255, .72); }

/* ==========================================================================
   СТАТУСЫ — «лестница»
   ========================================================================== */
.rpp-status-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; align-items: end; }
.rpp-status-lead { margin: 20px 0 0; font-size: 16px; line-height: 1.6; color: var(--rpp-graphite); }
.rpp-link-arrow {
	display: inline-flex; align-items: center; gap: 6px;
	margin-top: 24px;
	font-size: 14px; font-weight: 500;
	color: var(--rpp-accent);
}
.rpp-link-arrow svg { transition: transform .2s ease; }
.rpp-link-arrow:hover svg { transform: translateX(4px); }

.rpp-stairs { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: end; }
.rpp-step { display: flex; flex-direction: column; gap: 14px; }
.rpp-step p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--rpp-graphite); }
.rpp-badge {
	align-self: flex-start;
	padding: 5px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid var(--rpp-ash);
	font-family: var(--rpp-mono-f);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--rpp-ink);
}
.rpp-badge--accent { background: var(--rpp-accent); border-color: transparent; color: #fff; }
.rpp-step-block {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	padding: 18px;
	border-radius: 20px 20px 6px 6px;
	background: #fff;
	border: 1px solid var(--rpp-line);
	transform-origin: bottom;
}
.rpp-step--business .rpp-step-block { height: 130px; }
.rpp-step--premium .rpp-step-block { height: 230px; background: linear-gradient(180deg, var(--rpp-result), var(--rpp-accent)); border-color: transparent; }
.rpp-step-n {
	font-family: var(--robin-font-head);
	font-weight: 300;
	font-size: 72px;
	line-height: .8;
	letter-spacing: -0.05em;
	color: var(--rpp-line);
}
.rpp-step--premium .rpp-step-n { color: rgba(255, 255, 255, .35); }
.rpp-reveal-ready.rpp-stairs .rpp-step-block { transform: scaleY(.2); opacity: 0; }
.rpp-reveal-ready.rpp-stairs.is-inview .rpp-step-block { transform: none; opacity: 1; transition: transform .9s cubic-bezier(.2, .8, .2, 1), opacity .4s ease; }
.rpp-reveal-ready.rpp-stairs.is-inview .rpp-step--premium .rpp-step-block { transition-delay: .25s; }

/* ==========================================================================
   CTA — контакты внутри .rcm-lead
   ========================================================================== */
.rpp-contacts { margin: 12px 0 0; border-top: 1px solid var(--rpp-ash); }
.rpp-contacts > div { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; align-items: baseline; padding: 18px 0; border-bottom: 1px solid var(--rpp-ash); }
.rpp-contacts dt { font-family: var(--rpp-mono-f); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--rpp-smoke); }
.rpp-contacts dd { margin: 0; }
.rpp-contacts a { font-family: var(--robin-font-head); font-size: 24px; letter-spacing: -0.03em; color: var(--rpp-ink); transition: color .2s ease; }
.rpp-contacts a:hover { color: var(--rpp-accent); }

/* ==========================================================================
   Появление
   ========================================================================== */
.rpp-reveal-ready.rpp-benefits > * { opacity: 0; transform: translateY(16px); }
.rpp-reveal-ready.rpp-benefits.is-inview > * {
	opacity: 1; transform: none;
	transition: opacity .6s ease, transform .6s cubic-bezier(.2, .8, .2, 1), box-shadow .35s ease, background .35s ease;
	transition-delay: calc(var(--i, 0) * 80ms);
}
.rpp-reveal-ready.rpp-benefits.is-inview > *:hover { transition-delay: 0s; }

/* ==========================================================================
   Адаптив
   ========================================================================== */
@media (max-width: 1023px) {
	.rpp-hero { padding: 24px 28px 32px; }
	.rpp-hero-grid, .rpp-status-grid { grid-template-columns: 1fr; gap: 40px; }
	.rpp-hero-title { font-size: 46px; }
	.rpp-h2 { font-size: 36px; }
	.rpp-panel { padding: 44px 28px; }
	.rpp-chain { max-width: 520px; }
	.rpp-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rpp-benefit--dark { grid-row: auto; grid-column: 1 / -1; }
	.rpp-benefit--dark .rpp-benefit-title { padding-top: 24px; }
}
@media (max-width: 639px) {
	.rpp-hero { padding: 20px 18px 24px; border-radius: 20px; }
	.rpp-hero-title { font-size: 36px; }
	.rpp-hero-lead { font-size: 17px; }
	.rpp-h2 { font-size: 30px; }
	.rpp-panel { padding: 32px 16px; border-radius: 20px; }
	.rpp-node { padding: 12px 14px; gap: 10px; }
	.rpp-node b { font-size: 14px; }
	.rpp-node-tags { display: none; }
	.rpp-benefits { grid-template-columns: 1fr; }
	.rpp-benefit:last-child:not(:first-child) { display: flex; }
	.rpp-benefit:last-child:not(:first-child) .rpp-benefit-top { flex-direction: row; }
	.rpp-benefit:last-child:not(:first-child) .rpp-benefit-title { margin-top: 22px; }
	.rpp-benefit:last-child:not(:first-child) .rpp-benefit-text { margin-top: 8px; }
	.rpp-benefit { padding: 22px 20px; }
	.rpp-benefit--dark .rpp-benefit-num { font-size: 64px; }
	.rpp-benefit--dark .rpp-benefit-title { font-size: 26px; }
	.rpp-step--business .rpp-step-block { height: 90px; }
	.rpp-step--premium .rpp-step-block { height: 160px; }
	.rpp-step-n { font-size: 48px; }
	.rpp-contacts a { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) {
	.rpp-pulse, .rpp-chain .rpp-node { animation: none; }
	.rpp-pulse { display: none; }
}
