/* ==========================================================================
   Главная: «Новости ROBIN» (.rnx-), «Достижения» (.rax-), «Отзывы» (.rvx-).
   Общие примитивы — .rx-*. Подключается только на главной (functions.php).
   Ритм композиции: белая лента новостей → тёмная контрастная панель
   достижений → светлая «костяная» сцена отзывов → CTA.
   ========================================================================== */
.rnx, .rax, .rvx {
	--rx-navy: #0E1526;
	--rx-accent: #A30C33;
	--rx-rose: #F0647F;
	--rx-bone: #F6F3F1;
	--rx-muted: #797776;
	--rx-line: #ECEEF2;
	--rx-ease: cubic-bezier(.22, .61, .36, 1);
	--rx-ease-io: cubic-bezier(.65, 0, .35, 1);
}

/* ---------- Общие примитивы ---------- */
.rx-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 6px 13px 6px 11px;
	border-radius: 999px;
	background: var(--rx-bone);
	color: #4e4d4d;
	font-size: .74rem;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.rx-eyebrow__dot {
	position: relative;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--rx-accent);
}
/* «Пульс» точки — тихий сигнал «живого» раздела */
.rx-eyebrow__dot::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	background: inherit;
	animation: rxPulse 2.6s var(--rx-ease) infinite;
}
@keyframes rxPulse {
	0%   { transform: scale(1);   opacity: .55; }
	70%  { transform: scale(2.8); opacity: 0; }
	100% { transform: scale(2.8); opacity: 0; }
}
.rx-eyebrow--dark {
	background: rgba(255, 255, 255, .07);
	border: 1px solid rgba(255, 255, 255, .12);
	color: rgba(255, 255, 255, .78);
}
.rx-eyebrow--dark .rx-eyebrow__dot { background: var(--rx-rose); }

.rx-accent { color: var(--rx-accent); }

.rx-lead {
	margin-top: 14px;
	max-width: 40rem;
	font-size: 1.05rem;
	line-height: 1.55;
	color: var(--rx-muted);
}
.rx-lead--center { margin-left: auto; margin-right: auto; text-align: center; max-width: 40rem; }

.rx-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
	padding: 11px 20px;
	border-radius: 999px;
	border: 1px solid #E2E5EA;
	color: var(--rx-navy);
	font-size: .93rem;
	font-weight: 600;
	transition: background-color .25s ease, color .25s ease, border-color .25s ease;
}
.rx-link svg { transition: transform .25s var(--rx-ease); }
.rx-link:hover { background: var(--rx-navy); border-color: var(--rx-navy); color: #fff; }
.rx-link:hover svg { transform: translateX(3px); }

.rx-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	flex-shrink: 0;
	border-radius: 50%;
	border: 1px solid #E2E5EA;
	background: #fff;
	color: var(--rx-navy);
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .15s ease, opacity .2s ease;
}
.rx-arrow:hover { background: var(--rx-navy); border-color: var(--rx-navy); color: #fff; }
.rx-arrow:active { transform: scale(.93); }
.rx-arrow:disabled { opacity: .35; cursor: default; background: #fff; color: var(--rx-navy); border-color: #E2E5EA; }
.rx-arrow:focus-visible,
.rnx-tab:focus-visible,
.rvx-tab:focus-visible,
.rvx-more:focus-visible,
.rx-link:focus-visible { outline: 2px solid var(--rx-accent); outline-offset: 3px; }

/* Проявление при скролле (класс rx-js ставит скрипт — без JS всё видно сразу) */
.rx-js [data-rx-reveal] {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .8s var(--rx-ease), transform .8s var(--rx-ease);
	transition-delay: calc(var(--i, 0) * 80ms);
}
.rx-js [data-rx-reveal].is-in { opacity: 1; transform: none; }

/* «Прожектор» под курсором: JS пишет --mx/--my в [data-rx-spot] и плитки наград */
[data-rx-spot]::before,
.rax-award::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	pointer-events: none;
	opacity: 0;
	transition: opacity .4s ease;
	background: radial-gradient(520px circle at var(--mx, 50%) var(--my, 50%), var(--spot, rgba(163, 12, 51, .07)), transparent 45%);
}
[data-rx-spot]:hover::before,
.rax-award:hover::before { opacity: 1; }

/* ==========================================================================
   НОВОСТИ ROBIN
   ========================================================================== */
.rnx-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px 40px;
}
@media (max-width: 767px) {
	.rnx-head { flex-direction: column; align-items: flex-start; }
}

/* Фильтр-сегмент с переезжающим тёмным «ползунком» */
.rnx-filter-wrap {
	margin-top: 40px;
	overflow-x: auto;
	scrollbar-width: none;
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
	mask-image: linear-gradient(90deg, #000 calc(100% - 24px), transparent);
}
@media (min-width: 768px) {
	.rnx-filter-wrap { -webkit-mask-image: none; mask-image: none; }
}
.rnx-filter-wrap::-webkit-scrollbar { display: none; }
.rnx-filter {
	position: relative;
	display: inline-flex;
	gap: 2px;
	padding: 5px;
	border-radius: 999px;
	background: var(--rx-bone);
}
.rnx-filter__ind {
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 0;
	width: var(--w, 0);
	transform: translateX(var(--x, 0));
	border-radius: 999px;
	background: var(--rx-navy);
	box-shadow: 0 10px 22px -12px rgba(14, 21, 38, .7);
	transition: transform .5s var(--rx-ease-io), width .5s var(--rx-ease-io);
}
.rnx-filter:not(.is-ready) .rnx-filter__ind { display: none; }
.rnx-tab {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px 10px 18px;
	border-radius: 999px;
	white-space: nowrap;
	font-size: .93rem;
	font-weight: 500;
	color: #4e4d4d;
	cursor: pointer;
	transition: color .35s ease;
}
.rnx-tab:hover { color: var(--rx-navy); }
.rnx-tab.is-active { color: #fff; }
.rnx-filter:not(.is-ready) .rnx-tab.is-active { background: var(--rx-navy); }
.rnx-tab__n {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 20px;
	padding: 0 6px;
	border-radius: 999px;
	background: rgba(14, 21, 38, .07);
	color: var(--rx-muted);
	font-size: .72rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	transition: background-color .35s ease, color .35s ease;
}
.rnx-tab.is-active .rnx-tab__n { background: rgba(255, 255, 255, .16); color: #fff; }

/* Лента карточек: scroll-snap, скрытый скроллбар, запас снизу под тень */
.rnx-stage { margin-top: 32px; }
.rnx-track {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	padding: 10px 4px 34px;
	margin: 0 -4px;
	outline: none;
}
.rnx-track::-webkit-scrollbar { display: none; }
.rnx-track.is-drag { scroll-snap-type: none; scroll-behavior: auto; cursor: grabbing; }
.rnx-track.is-drag .rnx-card { pointer-events: none; }

.rnx-card {
	position: relative;
	flex: 0 0 calc((100% - 72px) / 4);
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	background: #fff;
	border: 1px solid var(--rx-line);
	border-radius: 22px;
	overflow: hidden;
	box-shadow: 0 1px 0 rgba(14, 21, 38, .02);
	transition: transform .45s var(--rx-ease), box-shadow .45s var(--rx-ease), border-color .3s ease;
}
@media (max-width: 1100px) { .rnx-card { flex-basis: calc((100% - 48px) / 3); } }
@media (max-width: 860px)  { .rnx-card { flex-basis: calc((100% - 24px) / 2.15); } }
@media (max-width: 560px)  { .rnx-card { flex-basis: 84%; } }
.rnx-card[hidden] { display: none; }
.rnx-card:hover {
	transform: translateY(-6px);
	border-color: transparent;
	box-shadow: 0 30px 50px -30px rgba(14, 21, 38, .42);
}
/* Цветная полоса категории — «наливается» слева при наведении */
.rnx-card::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 3px;
	background: var(--cat, var(--rx-accent));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .55s var(--rx-ease);
}
.rnx-card:hover::after { transform: scaleX(1); }
/* Повторное появление после смены фильтра */
.rnx-card.is-anim { animation: rnxIn .6s var(--rx-ease) both; animation-delay: var(--d, 0ms); }
@keyframes rnxIn {
	from { opacity: 0; transform: translateY(18px) scale(.98); }
	to   { opacity: 1; transform: none; }
}

.rnx-card__media {
	position: relative;
	aspect-ratio: 16 / 10;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background-color: var(--rx-bone);
	background-size: cover;
	background-position: center;
}
.rnx-card__media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .9s var(--rx-ease);
}
.rnx-card:hover .rnx-card__media img { transform: scale(1.05); }
.rnx-card__wm {
	display: flex;
	align-items: center;
	gap: 8px;
	opacity: .55;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: .02em;
	color: #334155;
}

.rnx-card__body {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 20px 22px 26px;
}
.rnx-card__cat {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: #4e4d4d;
}
.rnx-card__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--cat, var(--rx-accent));
	box-shadow: 0 0 0 4px color-mix(in srgb, var(--cat, #A30C33) 14%, transparent);
}
.rnx-card__title {
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: 1.03rem;
	font-weight: 500;
	line-height: 1.42;
	color: var(--rx-navy);
}
.rnx-card__date { font-size: .85rem; color: var(--rx-muted); }

/* Управление: рейка-«окно» видимой части ленты, счётчик, стрелки */
.rnx-controls {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-top: 4px;
}
.rnx-rail {
	position: relative;
	flex: 1;
	height: 2px;
	border-radius: 2px;
	background: #ECEAE8;
	overflow: hidden;
}
.rnx-rail__fill {
	position: absolute;
	top: 0;
	bottom: 0;
	left: var(--l, 0%);
	width: var(--w, 25%);
	border-radius: 2px;
	background: linear-gradient(90deg, var(--rx-navy), var(--rx-accent));
	transition: left .25s ease-out, width .35s ease-out;
}
.rnx-count {
	min-width: 64px;
	text-align: right;
	font-size: .85rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	color: var(--rx-muted);
}
.rnx-arrows { display: flex; gap: 8px; }

/* ==========================================================================
   ДОСТИЖЕНИЯ — тёмная контрастная панель
   ========================================================================== */
.rax-panel {
	--spot: rgba(255, 255, 255, .05);
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 32px;
	padding: 56px 22px 22px;
	background: linear-gradient(160deg, #141D33 0%, #0B1120 55%, #0E1526 100%);
	color: #fff;
}
@media (min-width: 640px)  { .rax-panel { padding: 64px 40px 40px; } }
@media (min-width: 1024px) { .rax-panel { padding: 80px 64px 64px; } }

.rax-glow {
	position: absolute;
	z-index: -1;
	width: 620px;
	aspect-ratio: 1;
	border-radius: 50%;
	pointer-events: none;
}
.rax-glow--a {
	top: -300px;
	left: -180px;
	background: radial-gradient(circle, rgba(163, 12, 51, .55) 0%, rgba(163, 12, 51, 0) 65%);
	animation: raxDriftA 18s ease-in-out infinite alternate;
}
.rax-glow--b {
	right: -220px;
	bottom: -320px;
	background: radial-gradient(circle, rgba(49, 87, 181, .38) 0%, rgba(49, 87, 181, 0) 65%);
	animation: raxDriftB 22s ease-in-out infinite alternate;
}
@keyframes raxDriftA { to { transform: translate(140px, 70px) scale(1.12); } }
@keyframes raxDriftB { to { transform: translate(-160px, -50px) scale(1.08); } }

.rax-head {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 40px;
	align-items: end;
}
@media (min-width: 1024px) { .rax-head { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 56px; } }
.rax-lead {
	margin-top: 14px;
	max-width: 26rem;
	font-size: 1.05rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, .62);
}

.rax-stats {
	display: grid;
	gap: 22px;
	--i: 1;
}
@media (min-width: 640px) { .rax-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; } }
.rax-stat {
	padding-left: 20px;
	border-left: 1px solid rgba(255, 255, 255, .14);
}
@media (min-width: 640px) { .rax-stat + .rax-stat { margin-left: 20px; } }
.rax-stat__num {
	font-size: clamp(2.4rem, 4.2vw, 3.4rem);
	font-weight: 500;
	line-height: 1;
	letter-spacing: -.035em;
	font-variant-numeric: tabular-nums;
	color: #fff;
	white-space: nowrap;
}
.rax-stat__suf { margin-left: .06em; font-size: .62em; letter-spacing: -.01em; color: var(--rx-rose); }
.rax-stat__text {
	margin-top: 12px;
	font-size: .86rem;
	line-height: 1.45;
	color: rgba(255, 255, 255, .6);
}

.rax-awards {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 16px;
	margin-top: 56px;
}
@media (min-width: 640px)  { .rax-awards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .rax-awards { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 64px; } }

.rax-award {
	--spot: rgba(240, 100, 127, .16);
	position: relative;
	display: flex;
	flex-direction: column;
	padding: 12px 12px 24px;
	border-radius: 22px;
	background: rgba(255, 255, 255, .04);
	border: 1px solid rgba(255, 255, 255, .09);
}
/* своя связка переходов: каскадное проявление + ховер */
.rax-award,
.rx-js .rax-award {
	transition: opacity .8s var(--rx-ease), transform .6s var(--rx-ease), border-color .35s ease, background-color .35s ease;
	transition-delay: calc(var(--i, 0) * 90ms), calc(var(--i, 0) * 90ms), 0s, 0s;
}
/* после проявления скрипт обнуляет --i, чтобы ховер не ждал каскадной задержки */
.rax-award.is-in:hover {
	transform: translateY(-5px);
	border-color: rgba(240, 100, 127, .42);
	background: rgba(255, 255, 255, .065);
}
.rax-award > * { position: relative; z-index: 1; }
.rax-award__logo {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 136px;
	padding: 18px 26px;
	border-radius: 15px;
	background: #fff;
	overflow: hidden;
}
.rax-award__logo img {
	max-width: 100%;
	max-height: 96px;
	object-fit: contain;
	transition: transform .6s var(--rx-ease);
}
.rax-award:hover .rax-award__logo img { transform: scale(1.06); }
/* Блик, пробегающий по белой плашке при наведении */
.rax-award__logo::after {
	content: "";
	position: absolute;
	inset: -20% -40%;
	background: linear-gradient(105deg, transparent 42%, rgba(255, 255, 255, .85) 50%, transparent 58%);
	transform: translateX(-70%);
	transition: transform 1s var(--rx-ease);
	pointer-events: none;
	mix-blend-mode: soft-light;
}
.rax-award:hover .rax-award__logo::after { transform: translateX(70%); }
.rax-award__ph { color: var(--rx-accent); }

.rax-award__body { padding: 20px 10px 0; }
.rax-award__year {
	display: inline-flex;
	padding: 4px 10px;
	border-radius: 999px;
	border: 1px solid rgba(240, 100, 127, .28);
	background: rgba(240, 100, 127, .1);
	color: var(--rx-rose);
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .06em;
	font-variant-numeric: tabular-nums;
}
.rax-award__title {
	margin-top: 12px;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.45;
	color: rgba(255, 255, 255, .92);
}
.rax-award__title--2 { margin-top: 6px; }
.rax-award__note {
	margin-top: 10px;
	font-size: .8rem;
	line-height: 1.5;
	color: rgba(255, 255, 255, .45);
}

/* ==========================================================================
   ОТЗЫВЫ — вкладки-логотипы + «сцена» с цитатой
   ========================================================================== */
.rvx-head { text-align: center; }
.rvx-box { margin-top: 56px; }

.rvx-tabs {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}
@media (max-width: 900px) {
	.rvx-tabs {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		padding: 4px 2px 6px;
		margin: -4px -2px 0;
	}
	.rvx-tabs::-webkit-scrollbar { display: none; }
	.rvx-tab { flex: 0 0 150px; scroll-snap-align: start; }
}
.rvx-tab {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 84px;
	padding: 14px 18px 18px;
	border-radius: 18px;
	background: #fff;
	border: 1px solid var(--rx-line);
	cursor: pointer;
	transition: border-color .3s ease, box-shadow .35s var(--rx-ease), transform .35s var(--rx-ease);
}
.rvx-tab img {
	max-width: 100%;
	max-height: 40px;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .6;
	transition: filter .4s ease, opacity .4s ease, transform .4s var(--rx-ease);
}
.rvx-tab__text { font-size: .85rem; font-weight: 600; line-height: 1.25; text-align: center; color: var(--rx-navy); }
.rvx-tab:hover { border-color: #D7DBE2; }
.rvx-tab:hover img { filter: none; opacity: .9; }
.rvx-tab.is-active {
	border-color: var(--rx-navy);
	box-shadow: 0 18px 34px -24px rgba(14, 21, 38, .55);
	transform: translateY(-2px);
}
.rvx-tab.is-active img { filter: none; opacity: 1; transform: scale(1.04); }
/* Полоса прогресса автопереключения */
.rvx-tab__bar {
	position: absolute;
	left: 18px;
	right: 18px;
	bottom: 9px;
	height: 2px;
	border-radius: 2px;
	background: #EEF0F3;
	overflow: hidden;
	opacity: 0;
	transition: opacity .3s ease;
}
.rvx-tab.is-active .rvx-tab__bar { opacity: 1; }
.rvx-tab__bar i {
	display: block;
	height: 100%;
	background: var(--rx-accent);
	transform: scaleX(1);
	transform-origin: left;
}
.rvx-box.is-playing .rvx-tab.is-active .rvx-tab__bar i { animation: rvxBar var(--rvx-dur, 9s) linear both; }
.rvx-box.is-paused .rvx-tab.is-active .rvx-tab__bar i { animation-play-state: paused; }
@keyframes rvxBar { from { transform: scaleX(0); } to { transform: scaleX(1); } }

.rvx-stage {
	--spot: rgba(163, 12, 51, .07);
	position: relative;
	isolation: isolate;
	margin-top: 16px;
	padding: 40px 20px 24px;
	border-radius: 28px;
	background: var(--rx-bone);
	overflow: hidden;
}
@media (min-width: 640px)  { .rvx-stage { padding: 52px 40px 32px; } }
@media (min-width: 1024px) { .rvx-stage { padding: 64px 64px 40px 72px; } }
.rvx-stage__mark {
	position: absolute;
	z-index: 1;
	top: 40px;
	left: 20px;
	width: 40px;
	color: var(--rx-accent);
	pointer-events: none;
}
@media (min-width: 640px)  { .rvx-stage__mark { top: 52px; left: 40px; } }
@media (min-width: 1024px) { .rvx-stage__mark { top: 64px; left: 72px; width: 48px; } }
.rvx-stage.is-swap .rvx-stage__mark { animation: rvxMark .7s var(--rx-ease) both; }
@keyframes rvxMark {
	from { transform: translateY(-6px) rotate(-10deg) scale(.7); opacity: 0; }
	to   { transform: none; opacity: 1; }
}

.rvx-panel {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 28px;
	align-items: start;
}
@media (min-width: 1024px) { .rvx-panel { grid-template-columns: minmax(0, 1fr) 340px; gap: 64px; } }
.rvx-panel[hidden] { display: none; }

.rvx-quote {
	position: relative;
	padding-top: 58px;
	max-height: calc(1.6em * 8 + 58px);
	overflow: hidden;
	font-size: clamp(1.1rem, 1.55vw, 1.36rem);
	line-height: 1.6;
	letter-spacing: -.005em;
	color: var(--rx-navy);
}
@media (min-width: 1024px) { .rvx-quote { padding-top: 70px; max-height: calc(1.6em * 8 + 70px); } }
.rvx-quote p + p { margin-top: .75em; }
.rvx-quote.is-clamped {
	-webkit-mask-image: linear-gradient(180deg, #000 62%, transparent 100%);
	mask-image: linear-gradient(180deg, #000 62%, transparent 100%);
}
.rvx-panel.is-enter .rvx-quote { animation: rvxQuote .7s var(--rx-ease) both; }
.rvx-panel.is-enter .rvx-side  { animation: rvxSide .7s var(--rx-ease) .08s both; }
@keyframes rvxQuote {
	from { opacity: 0; transform: translateY(14px); filter: blur(6px); }
	to   { opacity: 1; transform: none; filter: none; }
}
@keyframes rvxSide {
	from { opacity: 0; transform: translateX(18px); }
	to   { opacity: 1; transform: none; }
}

.rvx-side {
	display: flex;
	flex-direction: column;
	padding: 24px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 26px 50px -38px rgba(14, 21, 38, .5);
}
.rvx .rvx-side__logo {
	justify-content: flex-start;
	height: 52px;
	margin: 0;
	padding: 0;
}
.rvx .rvx-side__logo img { max-width: 190px; max-height: 44px; }
.rvx-side__company {
	margin-top: 18px;
	font-size: 1.15rem;
	font-weight: 600;
	letter-spacing: -.01em;
	color: var(--rx-navy);
}
.rvx-side__desc {
	margin-top: 6px;
	font-size: .86rem;
	line-height: 1.55;
	color: var(--rx-muted);
}
.rvx-author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid var(--rx-line);
}
.rvx-author__ava {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: linear-gradient(135deg, #C2143F 0%, #A30C33 45%, #5E0820 100%);
	box-shadow: 0 8px 18px -8px rgba(163, 12, 51, .7);
	color: #fff;
	font-size: .86rem;
	font-weight: 600;
	letter-spacing: .02em;
}
.rvx-author__meta { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.rvx-author__name { font-size: .95rem; font-weight: 600; color: var(--rx-navy); }
.rvx-author__role { font-size: .8rem; line-height: 1.45; color: var(--rx-muted); }
.rvx-more {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	margin-top: 22px;
	padding: 11px 18px;
	border-radius: 999px;
	background: var(--rx-navy);
	color: #fff;
	font-size: .88rem;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .25s ease;
}
.rvx-more svg { transition: transform .25s var(--rx-ease); }
.rvx-more:hover { background: var(--rx-accent); }
.rvx-more:hover svg { transform: translateX(3px); }
.rvx-more[hidden] { display: none; }

.rvx-nav {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 28px;
}
.rvx-count {
	margin-right: 8px;
	font-size: .85rem;
	font-weight: 500;
	font-variant-numeric: tabular-nums;
	color: var(--rx-muted);
}

/* ---------- Уважение к prefers-reduced-motion ---------- */
@media (prefers-reduced-motion: reduce) {
	.rnx *, .rax *, .rvx *,
	.rnx *::before, .rnx *::after, .rax *::before, .rax *::after, .rvx *::before, .rvx *::after {
		animation: none !important;
		transition: none !important;
	}
	.rx-js [data-rx-reveal] { opacity: 1; transform: none; }
}

/* ---------- Достижения на телефоне: компактные горизонтальные плитки ---------- */
@media (max-width: 639px) {
	.rax-awards { gap: 10px; margin-top: 40px; }
	.rax-award {
		flex-direction: row;
		align-items: flex-start;
		gap: 14px;
		padding: 10px 14px 14px 10px;
		border-radius: 18px;
	}
	.rax-award__logo {
		flex: 0 0 88px;
		height: 72px;
		padding: 8px 10px;
		border-radius: 12px;
	}
	.rax-award__logo img { max-height: 56px; }
	.rax-award__body { padding: 4px 0 0; min-width: 0; }
	.rax-award__title { margin-top: 8px; font-size: .9rem; }
	.rax-award__note { margin-top: 6px; font-size: .74rem; }
	.rax-stats { gap: 18px; }
}

/* Карточка новости — ссылка на её страницу (/news/<slug>/): ссылка в заголовке растянута на карточку. */
.rnx-card__link { color: inherit; text-decoration: none; }
.rnx-card__link::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.rnx-card__link:focus-visible { outline: none; }
.rnx-card:has(.rnx-card__link:focus-visible) { outline: 2px solid #a30c33; outline-offset: 3px; }
