/* --------------------------------------------------------------------------
   /partners/ — «Наши партнёры» (.rpt-*).
   Палитра и типографика — как у .rcm-* (/ai-communications/, /platform/,
   /corporate-assistants/): пергамент #f6f3f1, hairline Ash #cecac8, бордовый
   ROBIN #a30c33, красный #c52229, моно — подписи и цифры.
   Цвета статусов партнёров (одни и те же в ленте, вафле, табах, карточках):
   Премиум — бордовый, Бизнес — красный, Официальные — розовый,
   Технологические — графит, Дистрибьюторы — пепел.
   Анимации по скроллу — класс .is-inview (assets/js/robin-partners.js).
   -------------------------------------------------------------------------- */
.rpt-hero,
.rpt-net,
.rpt-catalog-wrap,
.rpt-join {
	--rpt-parchment: #f6f3f1;
	--rpt-paper: #fbfaf9;
	--rpt-ash: #cecac8;
	--rpt-line: #e7e3e0;
	--rpt-ink: #242424;
	--rpt-graphite: #4e4d4d;
	--rpt-smoke: #797776;
	--rpt-accent: #a30c33;
	--rpt-result: #c52229;
	--rpt-soft: #eab0b2;
	--rpt-blush: #fbecec;
	--rpt-mono: "JetBrains Mono", "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	--rpt-ease: cubic-bezier(0.22, 1, 0.36, 1);
	color: var(--rpt-ink);
}

/* Заливки статусов */
.rpt-fill--premium  { background: #a30c33; }
.rpt-fill--business { background: #c52229; }
.rpt-fill--official { background: #eab0b2; }
.rpt-fill--tech     { background: #4e4d4d; }
.rpt-fill--dist     { background: #cecac8; }

.rpt-ico--premium  { color: #a30c33; background: #fbecec; }
.rpt-ico--business { color: #c52229; background: #fdf0ef; }
.rpt-ico--official { color: #a30c33; background: #f8e3e4; }
.rpt-ico--tech     { color: #4e4d4d; background: #eeebe9; }
.rpt-ico--dist     { color: #797776; background: #f1efed; }

/* ============================== HERO ============================== */
.rpt-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 40px 0 36px;
	border-radius: 24px;
	background: var(--rpt-parchment);
}
.rpt-hero-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 360px;
	align-items: end;
	gap: 32px 56px;
	padding: 0 56px;
}
.rpt-hero-copy { display: flex; flex-direction: column; align-items: flex-start; }
.rpt-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 40px 0 0;
	font-family: var(--rpt-mono);
	font-size: 12px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--rpt-accent, #a30c33);
}
.rpt-kicker--light { margin-top: 0; color: #f3c9cb; }
.rpt-kicker-dot {
	width: 7px;
	height: 7px;
	border-radius: 9999px;
	background: #c52229;
	animation: rpt-blink 2.4s ease-in-out infinite;
}
@keyframes rpt-blink {
	0%, 100% { box-shadow: 0 0 0 3px rgba(197, 34, 41, 0.16); }
	50%      { box-shadow: 0 0 0 7px rgba(197, 34, 41, 0.04); }
}
.rpt-hero .rpt-hero-title {
	margin: 16px 0 0;
	font-family: var(--robin-font-head);
	font-weight: 500;
	font-size: 56px;
	line-height: 1.03;
	letter-spacing: -0.035em;
	color: var(--rpt-ink);
}
.rpt-hero-title em { font-style: normal; color: var(--rpt-accent); }
.rpt-hero .rpt-hero-lead {
	max-width: 36rem;
	margin: 20px 0 0;
	font-size: 18px;
	line-height: 1.5;
	letter-spacing: -0.02em;
	color: var(--rpt-graphite);
}
.rpt-hero-lead strong { font-weight: 500; color: var(--rpt-ink); }
.rpt-hero-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	margin-top: 32px;
}
.rpt-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 22px 10px 12px;
	border: 1px solid #a30c33;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	color: #a30c33;
	transition: background-color .2s ease, color .2s ease;
}
.rpt-btn-ghost:hover { background: #a30c33; color: #fff; }
.rpt-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;
}
.rpt-btn-ghost:hover .rpt-btn-ghost-ico { background: #fff; color: #a30c33; }

/* ---------- Счётчик сети ---------- */
.rpt-meter {
	padding: 22px 24px 20px;
	border: 1px solid var(--rpt-ash);
	border-radius: 20px;
	background: rgba(251, 250, 249, 0.86);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.rpt-meter-label {
	margin: 0;
	font-family: var(--rpt-mono);
	font-size: 11px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rpt-smoke);
}
.rpt-meter-num {
	margin: 6px 0 0;
	font-family: var(--rpt-mono);
	font-size: 72px;
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.06em;
	color: var(--rpt-accent);
	font-variant-numeric: tabular-nums;
}
.rpt-meter-cap { margin: 6px 0 0; font-size: 14px; color: var(--rpt-graphite); }
.rpt-meter-stack {
	display: flex;
	gap: 3px;
	height: 10px;
	margin-top: 18px;
}
.rpt-meter-seg {
	flex: var(--n) 1 0;
	border-radius: 3px;
	transform-origin: left center;
	transform: scaleX(0);
	transition: transform .9s var(--rpt-ease);
	transition-delay: calc(0.25s + var(--i) * 0.12s);
}
.rpt-hero.is-inview .rpt-meter-seg { transform: scaleX(1); }
.rpt-meter-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	margin: 12px 0 0;
	padding: 0;
	list-style: none;
	font-size: 12px;
	color: var(--rpt-graphite);
}
.rpt-meter-legend li { display: inline-flex; align-items: center; gap: 5px; }
.rpt-meter-legend i { width: 8px; height: 8px; border-radius: 2px; }
.rpt-meter-legend b { font-family: var(--rpt-mono); font-weight: 400; color: var(--rpt-ink); }
.rpt-meter-geo {
	display: flex;
	gap: 16px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px dashed var(--rpt-ash);
	font-size: 13px;
	color: var(--rpt-graphite);
}
.rpt-meter-geo span { display: inline-flex; align-items: center; gap: 6px; }
.rpt-meter-geo svg { color: var(--rpt-result); }
.rpt-meter-geo b { font-family: var(--rpt-mono); font-weight: 400; color: var(--rpt-ink); }

/* ---------- Бегущие ленты: стопки карточек ----------
   Каждый партнёр — стопка из трёх листов: сзади цветной (статус), под
   углом; посередине светлый с монограммой; спереди «бумажная» карточка
   с городом капсом, названием антиквой и строками-заглушками.
   Цвета: --c насыщенный (задний лист, монограмма), --cl светлый (средний). */
.rpt-marquee {
	display: grid;
	gap: 0;
	margin-top: 36px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.rpt-marquee-row { overflow: hidden; padding: 26px 0 14px; }
.rpt-marquee-track {
	display: flex;
	width: max-content;
	animation: rpt-marquee var(--dur, 220s) linear infinite;
}
.rpt-marquee-row--rev .rpt-marquee-track { animation-direction: reverse; }
.rpt-marquee:hover .rpt-marquee-track { animation-play-state: paused; }
@keyframes rpt-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.rpt-tile {
	--c: #9f9f9f; --cl: #e2e2e1; --r: -2deg;
	position: relative;
	display: block;
	flex: none;
	width: 120px;
	height: 84px;
	margin: 0 13px; /* поля, а не gap: тогда −50% трека ровно одна копия */
	white-space: normal;
}
.rpt-tile:nth-child(3n+2) { --r: 2.5deg; }
.rpt-tile:nth-child(3n)   { --r: -0.5deg; }

.rpt-sheet {
	position: absolute;
	inset: 0;
	border-radius: 9px;
	transition: transform .45s var(--rpt-ease);
}
.rpt-sheet--back {
	background: var(--c);
	box-shadow: 0 4px 10px rgba(40, 30, 30, .1);
	transform: translate(-10px, -8px) rotate(-10deg);
}
/* «Галочка» и строки на заднем листе — видны краем */
.rpt-sheet--back span {
	position: absolute;
	top: 8px;
	left: 10px;
	font-size: 11px;
	color: #edebe9;
}
.rpt-sheet--back i {
	position: absolute;
	left: 10px;
	height: 3px;
	border-radius: 2px;
	background: #e2e2e1;
}
.rpt-sheet--back i:nth-of-type(1) { top: 28px; width: 40px; }
.rpt-sheet--back i:nth-of-type(2) { top: 36px; width: 26px; }
.rpt-sheet--mid {
	background: var(--cl);
	box-shadow: 0 4px 10px rgba(40, 30, 30, .08);
	transform: translate(-2px, -16px) rotate(-4deg);
}
.rpt-tile .rpt-mono {
	position: absolute;
	top: 2px;
	left: 8px;
	width: 17px;
	height: 12px;
	border-radius: 4px;
	font-size: 7px;
	color: #edebe9;
	background: var(--c);
	box-shadow: none;
	transform: rotate(-4deg);
}
.rpt-sheet--front {
	display: flex;
	flex-direction: column;
	padding: 10px 10px 9px 12px;
	overflow: hidden;
	border: 1px solid #e2e2e1;
	background: #edebe9;
	box-shadow:
		0 1px 0 rgba(255, 255, 255, .9) inset,
		0 10px 22px -8px rgba(60, 40, 30, .22),
		0 2px 4px rgba(60, 40, 30, .06);
	transform: rotate(var(--r));
}
/* Мягкий блик, изредка пробегающий по бумаге */
.rpt-sheet--front::after {
	content: "";
	position: absolute;
	inset: -40% auto -40% -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .7) 50%, transparent);
	transform: skewX(-18deg);
	animation: rpt-glint 9s ease-in-out infinite;
	animation-delay: calc(var(--g, 0) * -1.7s);
	pointer-events: none;
}
.rpt-tile:nth-child(3n+1) { --g: 1; }
.rpt-tile:nth-child(3n+2) { --g: 3; }
.rpt-tile:nth-child(4n)   { --g: 4.5; }
.rpt-tile:nth-child(5n)   { --g: 2; }
@keyframes rpt-glint {
	0%, 70% { left: -60%; }
	92%, 100% { left: 130%; }
}

.rpt-tile-city {
	display: block;
	overflow: hidden;
	font-family: var(--rpt-mono);
	font-size: 7px;
	letter-spacing: .07em;
	line-height: 1.3;
	text-transform: uppercase;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #9f9f9f;
}
.rpt-tile-name {
	display: -webkit-box;
	margin-top: 5px;
	overflow: hidden;
	font-family: "PT Serif", Georgia, "Times New Roman", serif;
	font-size: 13px;
	line-height: 1.12;
	color: var(--rpt-ink);
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow-wrap: anywhere;
}
.rpt-tile-lines { display: grid; gap: 4px; margin-top: auto; }
.rpt-tile-lines i { display: block; height: 2px; border-radius: 2px; background: #e2e2e1; }
.rpt-tile-lines i:nth-child(2) { width: 82%; }
.rpt-tile-lines i:nth-child(3) { width: 56%; }

/* Наведение: стопка раскрывается веером */
.rpt-tile:hover .rpt-sheet--back  { transform: translate(-16px, -11px) rotate(-16deg); }
.rpt-tile:hover .rpt-sheet--mid   { transform: translate(-5px, -21px) rotate(-7deg); }
.rpt-tile:hover .rpt-sheet--front { transform: translateY(-3px) rotate(0deg); }

/* Палитра стопок — нейтральная, без статусных цветов (главный экран
   и так насыщен): задний #9F9F9F, средний #E2E2E1, передний #EDEBE9. */

/* Монограмма: квадрат со скруглением, цвет — статус */
.rpt-mono {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	font-family: var(--rpt-mono);
	font-size: 13px;
	letter-spacing: -0.02em;
	color: #fff;
	background: var(--rpt-graphite);
}
.rpt-mono--lg { width: 48px; height: 48px; border-radius: 14px; font-size: 16px; }
.rpt-card--premium  .rpt-mono { background: #a30c33; }
.rpt-card--business .rpt-mono { background: #c52229; }
.rpt-card--official .rpt-mono { background: #fbecec; color: #a30c33; box-shadow: inset 0 0 0 1px #eab0b2; }
.rpt-card--tech     .rpt-mono { background: #4e4d4d; }
.rpt-card--dist     .rpt-mono { background: #ebe7e4; color: #4e4d4d; }

/* Карточки каталога: монограмма — объёмная 3D-«клавиша» цвета #F6F3F1
   (лицевая грань + выдавленный бок слоями теней, рельефный знак).
   Статусные цвета здесь не используются. */
.rpt-card .rpt-mono--lg,
.rpt-card--premium .rpt-mono--lg,
.rpt-card--business .rpt-mono--lg,
.rpt-card--official .rpt-mono--lg,
.rpt-card--tech .rpt-mono--lg,
.rpt-card--dist .rpt-mono--lg {
	position: relative;
	margin: 0 6px 7px 0;
	border-radius: 14px;
	font-weight: 700;
	font-size: 17px;
	color: #6b6866;
	background:
		radial-gradient(120% 90% at 28% 18%, rgba(255, 255, 255, .95) 0%, rgba(255, 255, 255, 0) 55%),
		linear-gradient(150deg, #fbfaf9 0%, #f6f3f1 48%, #ece6e2 100%);
	text-shadow:
		0 1px 0 #fff,
		0 -1px 0 rgba(120, 100, 90, .18),
		1px 2px 3px rgba(80, 60, 50, .16);
	box-shadow:
		inset 0 1px 0 #fff,
		inset 1px 0 0 rgba(255, 255, 255, .7),
		inset 0 -2px 3px rgba(150, 130, 120, .12),
		1px 1px 0 #e6dfda,
		2px 2px 0 #e0d8d2,
		3px 3px 0 #dad1ca,
		4px 4px 0 #d4cac3,
		5px 5px 0 #cfc4bc,
		6px 7px 6px rgba(70, 50, 40, .14),
		10px 14px 18px -6px rgba(70, 50, 40, .22);
	transform: perspective(240px) rotateX(6deg) rotateY(-10deg);
	transform-origin: 50% 60%;
}
.rpt-card:hover .rpt-mono.rpt-mono--lg { transform: perspective(240px) rotateX(10deg) rotateY(-18deg) translateY(-2px) scale(1.04); }

/* ============================== СЕТЬ В ЦИФРАХ ============================== */
.rpt-net {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	grid-template-rows: auto auto;
	gap: 16px;
}
.rpt-net-card {
	padding: 26px 28px 28px;
	border: 1px solid var(--rpt-ash);
	border-radius: 20px;
	background: var(--rpt-paper);
}
.rpt-net-card--tiers { grid-row: span 2; }
.rpt-net-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; }
.rpt-net-meta {
	display: inline-flex;
	gap: 10px;
	margin: 0;
	font-family: var(--rpt-mono);
	font-size: 12px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	color: var(--rpt-graphite);
}
.rpt-net-meta span { color: var(--rpt-accent); }
.rpt-net-hint { margin: 0; font-size: 13px; color: var(--rpt-smoke); }

/* Вафля: одна клетка — одна карточка каталога */
.rpt-waffle {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(24px, 1fr));
	gap: 6px;
	margin-top: 22px;
}
.rpt-waffle-cell {
	aspect-ratio: 1;
	border-radius: 5px;
	opacity: 0;
	transform: scale(0.3);
	transition: opacity .35s ease, transform .5s var(--rpt-ease);
	transition-delay: calc(var(--i) * 14ms);
}
.rpt-net.is-inview .rpt-waffle-cell { opacity: 1; transform: none; }
.rpt-net.is-inview .rpt-waffle-cell:hover { transform: scale(1.25); }
/* Подсветка группы при наведении на строку легенды */
.rpt-waffle.has-focus .rpt-waffle-cell { opacity: 0.18; }
.rpt-waffle.has-focus .rpt-waffle-cell.is-focus { opacity: 1; }

.rpt-tier-list { margin: 24px 0 0; padding: 0; list-style: none; }
.rpt-tier-list li + li { border-top: 1px solid var(--rpt-line); }
.rpt-tier-row {
	display: grid;
	grid-template-columns: 32px minmax(0, 220px) minmax(0, 1fr) 40px 18px;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 12px 6px;
	border-radius: 12px;
	text-align: left;
	color: var(--rpt-ink);
	transition: background-color .2s ease;
}
.rpt-tier-row:hover,
.rpt-tier-row:focus-visible { background: #fff; outline: none; }
.rpt-tier-ico,
.rpt-tab-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 9px;
}
.rpt-tier-name { font-size: 15px; }
.rpt-tier-bar { height: 8px; border-radius: 9999px; background: var(--rpt-line); overflow: hidden; }
.rpt-tier-bar span {
	display: block;
	width: var(--w);
	height: 100%;
	border-radius: inherit;
	transform-origin: left center;
	transform: scaleX(0);
	transition: transform 1s var(--rpt-ease);
	transition-delay: calc(0.4s + var(--i) * 0.1s);
}
.rpt-net.is-inview .rpt-tier-bar span { transform: scaleX(1); }
.rpt-tier-num { font-family: var(--rpt-mono); font-size: 18px; text-align: right; font-variant-numeric: tabular-nums; }
.rpt-tier-go { color: var(--rpt-ash); transition: color .2s ease, transform .2s ease; }
.rpt-tier-row:hover .rpt-tier-go { color: var(--rpt-accent); transform: translateX(3px); }

/* Города — горизонтальные полосы (шкала — от самого крупного города) */
.rpt-cities { display: grid; gap: 4px; margin: 18px 0 0; padding: 0; list-style: none; }
.rpt-city {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr) 32px;
	align-items: center;
	gap: 12px;
	padding: 5px 0;
	font-size: 14px;
}
.rpt-city-name { display: inline-flex; align-items: center; gap: 6px; color: var(--rpt-graphite); white-space: nowrap; }
.rpt-city-name svg { flex: none; color: var(--rpt-ash); }
.rpt-city--top .rpt-city-name { color: var(--rpt-ink); }
.rpt-city--top .rpt-city-name svg { color: var(--rpt-result); }
.rpt-city-bar { height: 8px; border-radius: 9999px; background: var(--rpt-line); }
.rpt-city-bar span {
	display: block;
	width: max(var(--w), 8px);
	height: 100%;
	border-radius: inherit;
	background: #eab0b2;
	transform-origin: left center;
	transform: scaleX(0);
	transition: transform 1s var(--rpt-ease);
	transition-delay: calc(0.3s + var(--i) * 0.08s);
}
.rpt-city--top .rpt-city-bar span { background: linear-gradient(90deg, #a30c33, #c52229); }
.rpt-net.is-inview .rpt-city-bar span { transform: scaleX(1); }
.rpt-city-num { font-family: var(--rpt-mono); text-align: right; color: var(--rpt-ink); font-variant-numeric: tabular-nums; }

/* Страны */
.rpt-countries { display: grid; gap: 8px; margin: 18px 0 0; padding: 0; list-style: none; }
.rpt-countries li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	border: 1px solid var(--rpt-line);
	border-radius: 12px;
	background: #fff;
}
.rpt-country-ico { color: var(--rpt-result); display: inline-flex; }
.rpt-net.is-inview .rpt-country-ico svg { animation: rpt-spin 6s linear infinite; }
@keyframes rpt-spin { to { transform: rotate(360deg); } }
.rpt-country-name { flex: 1; font-size: 15px; }
.rpt-country-num { font-family: var(--rpt-mono); font-size: 18px; color: var(--rpt-accent); }

/* ============================== КАТАЛОГ ============================== */
.rpt-catalog-wrap { background: var(--rpt-parchment); }
.rpt-catalog-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}
.rpt-title {
	max-width: 40rem;
	margin: 0;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 45px;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: var(--rpt-ink);
}
.rpt-title em { font-style: normal; color: var(--rpt-accent); }

.rpt-search {
	position: relative;
	display: flex;
	align-items: center;
	width: min(100%, 360px);
	border: 1px solid var(--rpt-ash);
	border-radius: 9999px;
	background: #fff;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.rpt-search:focus-within { border-color: var(--rpt-accent); box-shadow: 0 0 0 4px rgba(163, 12, 51, 0.08); }
.rpt-search-ico { display: inline-flex; padding-left: 16px; color: var(--rpt-smoke); }
.rpt-search input {
	flex: 1;
	min-width: 0;
	padding: 12px 12px 12px 10px;
	border: 0;
	background: transparent;
	font-size: 15px;
	color: var(--rpt-ink);
	outline: none;
}
.rpt-search input::-webkit-search-cancel-button { display: none; }
.rpt-search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	margin-right: 8px;
	border-radius: 9999px;
	background: var(--rpt-parchment);
	color: var(--rpt-graphite);
}
.rpt-search-clear[hidden] { display: none; }

.rpt-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 32px; }
.rpt-tab {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 8px 6px 6px;
	border: 1px solid var(--rpt-ash);
	border-radius: 9999px;
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	color: var(--rpt-graphite);
	transition: border-color .2s ease, color .2s ease, background-color .2s ease;
}
.rpt-tab .rpt-tab-ico { width: 28px; height: 28px; border-radius: 9999px; }
.rpt-tab:hover { border-color: var(--rpt-soft); color: var(--rpt-accent); }
.rpt-tab[aria-selected="true"] { border-color: #a30c33; background: #a30c33; color: #fff; }
.rpt-tab[aria-selected="true"] .rpt-tab-ico { background: rgba(255, 255, 255, 0.16); color: #fff; }
.rpt-tab-count {
	min-width: 26px;
	padding: 2px 8px;
	border-radius: 9999px;
	background: var(--rpt-parchment);
	font-family: var(--rpt-mono);
	font-size: 12px;
	font-weight: 400;
	text-align: center;
	color: var(--rpt-graphite);
}
.rpt-tab[aria-selected="true"] .rpt-tab-count { background: rgba(255, 255, 255, 0.18); color: #fff; }
.rpt-catalog-wrap.is-searching .rpt-tab[aria-selected="true"] { border-color: var(--rpt-ash); background: #fff; color: var(--rpt-graphite); }
.rpt-catalog-wrap.is-searching .rpt-tab[aria-selected="true"] .rpt-tab-ico { background: transparent; color: inherit; }
.rpt-catalog-wrap.is-searching .rpt-tab[aria-selected="true"] .rpt-tab-count { background: var(--rpt-parchment); color: var(--rpt-graphite); }

.rpt-search-status { min-height: 20px; margin: 16px 0 0; font-family: var(--rpt-mono); font-size: 12px; color: var(--rpt-smoke); }

.rpt-panel { margin-top: 8px; }
.rpt-panel[hidden] { display: none; }
.rpt-panel-label {
	display: none;
	margin: 24px 0 12px;
	font-family: var(--rpt-mono);
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rpt-accent);
}
.rpt-catalog-wrap.is-searching .rpt-panel-label { display: block; }

.rpt-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rpt-card {
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 20px;
	border: 1px solid var(--rpt-line);
	border-radius: 18px;
	background: #fff;
	transition: border-color .25s ease, transform .25s var(--rpt-ease), box-shadow .25s ease;
	animation: rpt-card-in .5s var(--rpt-ease) backwards;
	animation-delay: calc(min(var(--i), 16) * 30ms);
}
.rpt-card[hidden] { display: none; }
@keyframes rpt-card-in {
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: none; }
}
.rpt-card:hover {
	border-color: var(--rpt-soft);
	transform: translateY(-3px);
	box-shadow: 0 14px 30px -18px rgba(163, 12, 51, 0.35);
}
.rpt-card-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.rpt-card .rpt-mono { transition: transform .3s var(--rpt-ease); }
.rpt-card:hover .rpt-mono { transform: rotate(-6deg) scale(1.05); }
.rpt-badge {
	padding: 4px 9px;
	border-radius: 9999px;
	background: var(--rpt-parchment);
	font-family: var(--rpt-mono);
	font-size: 10.5px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--rpt-graphite);
}
.rpt-card--premium .rpt-badge { background: #fbecec; color: #a30c33; }
.rpt-card--business .rpt-badge { background: #fdf0ef; color: #c52229; }
.rpt-card-name {
	margin: 16px 0 0;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--rpt-ink);
	overflow-wrap: anywhere;
}
.rpt-card-addr {
	display: flex;
	align-items: flex-start;
	gap: 5px;
	margin: 6px 0 0;
	font-size: 13px;
	line-height: 1.35;
	color: var(--rpt-smoke);
}
.rpt-card-addr svg { flex: none; margin-top: 1px; color: var(--rpt-ash); }
.rpt-card-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-top: auto;
	padding-top: 16px;
	font-size: 13px;
	color: var(--rpt-accent);
	min-width: 0;
}
.rpt-card-link > span:first-child { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
/* Растягиваем ссылку на всю карточку */
.rpt-card-link::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.rpt-card-link-ico {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 9999px;
	border: 1px solid var(--rpt-line);
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}
.rpt-card:hover .rpt-card-link-ico { border-color: #a30c33; background: #a30c33; color: #fff; }

.rpt-empty {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 16px;
	padding: 22px 24px;
	border: 1px dashed var(--rpt-ash);
	border-radius: 18px;
	background: #fff;
	color: var(--rpt-graphite);
}
.rpt-empty[hidden] { display: none; }
.rpt-empty p { margin: 0; }
.rpt-empty a { color: var(--rpt-accent); text-decoration: underline; text-underline-offset: 3px; }
.rpt-empty-ico { color: var(--rpt-ash); display: inline-flex; }

/* ============================== СТАТЬ ПАРТНЁРОМ ============================== */
/* Тёмная бордовая панель — единственный «тёмный» акцент страницы */
.rpt-join {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: grid;
	grid-template-columns: minmax(0, 4fr) minmax(0, 7fr);
	align-items: center;
	gap: 32px 48px;
	padding: 48px 56px;
	border-radius: 24px;
	background: #5c0a20;
	color: #fff;
}
.rpt-join::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(120deg, #a30c33 0%, #5c0a20 60%);
}
.rpt-join .rpt-join-title {
	margin: 16px 0 0;
	font-family: var(--robin-font-head);
	font-weight: 400;
	font-size: 40px;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: #fff;
}
.rpt-join-title em { font-style: normal; color: #f3c9cb; }
.rpt-join-btn {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-top: 28px;
	padding: 12px 24px;
	border-radius: 9999px;
	background: #fff;
	font-size: 14px;
	font-weight: 500;
	color: #a30c33;
	transition: gap .2s ease, box-shadow .2s ease;
}
.rpt-join-btn:hover { gap: 14px; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, 0.45); }
.rpt-join-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.rpt-join-item {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, 0.16);
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.05);
	opacity: 0;
	transform: translateY(12px);
	transition: opacity .5s ease, transform .6s var(--rpt-ease), background-color .2s ease, border-color .2s ease;
	transition-delay: calc(0.1s + var(--i) * 0.09s);
}
.rpt-join.is-inview .rpt-join-item { opacity: 1; transform: none; }
.rpt-join-item:hover { background: rgba(255, 255, 255, 0.1); border-color: rgba(255, 255, 255, 0.32); transition-delay: 0s; }
.rpt-join-num {
	position: absolute;
	top: 16px;
	right: 16px;
	font-family: var(--rpt-mono);
	font-size: 11px;
	color: rgba(255, 255, 255, 0.45);
}
.rpt-join-ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.1);
	color: #fff;
	transition: background-color .3s ease, color .3s ease, transform .3s var(--rpt-ease);
}
.rpt-join-item:hover .rpt-join-ico { background: #fff; color: #a30c33; transform: rotate(-8deg); }
.rpt-join-name { font-size: 15px; font-weight: 500; line-height: 1.3; }

/* ============================== АДАПТИВ ============================== */
@media (max-width: 1199px) {
	.rpt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.rpt-hero-top { grid-template-columns: minmax(0, 1fr); padding: 0 32px; }
	.rpt-meter { max-width: 420px; }
	.rpt-net { grid-template-columns: minmax(0, 1fr); }
	.rpt-net-card--tiers { grid-row: auto; }
	.rpt-join { grid-template-columns: minmax(0, 1fr); padding: 40px 32px; }
	.rpt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
	.rpt-hero { padding: 24px 0 28px; border-radius: 20px; }
	.rpt-hero-top { padding: 0 20px; }
	.rpt-hero .rpt-hero-title { font-size: 38px; }
	.rpt-hero .rpt-hero-lead { font-size: 16px; }
	.rpt-meter-num { font-size: 56px; }
	.rpt-marquee { margin-top: 32px; }
	.rpt-title { font-size: 32px; }
	.rpt-join .rpt-join-title { font-size: 30px; }
	.rpt-join { padding: 32px 20px; }
	.rpt-join-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rpt-net-card { padding: 20px; }
	.rpt-tier-row { grid-template-columns: 32px minmax(0, 1fr) 36px; }
	.rpt-tier-bar, .rpt-tier-go { display: none; }
	.rpt-city { grid-template-columns: 128px minmax(0, 1fr) 28px; font-size: 13px; }
	.rpt-grid { grid-template-columns: minmax(0, 1fr); }
	.rpt-search { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.rpt-marquee-track,
	.rpt-sheet--front::after,
	.rpt-kicker-dot,
	.rpt-net.is-inview .rpt-country-ico svg,
	.rpt-card { animation: none; }
	.rpt-meter-seg,
	.rpt-waffle-cell,
	.rpt-tier-bar span,
	.rpt-city-bar span,
	.rpt-join-item { transition: none; opacity: 1; transform: none; }
}

/* Карточка «Статусы» тянется на две строки bento — список прижат к низу */
.rpt-net-card--tiers { display: flex; flex-direction: column; }
.rpt-net-card--tiers .rpt-tier-list { margin-top: auto; padding-top: 24px; }

@media (max-width: 639px) {
	.rpt-waffle { grid-template-columns: repeat(auto-fill, minmax(16px, 1fr)); gap: 4px; }
	.rpt-waffle-cell { border-radius: 4px; }
	/* Табы — горизонтальная лента со скроллом вместо четырёх строк */
	.rpt-tabs {
		flex-wrap: nowrap;
		margin-right: -16px;
		padding-right: 16px;
		overflow-x: auto;
		scrollbar-width: none;
	}
	.rpt-tabs::-webkit-scrollbar { display: none; }
	.rpt-tab { flex: none; }
}
