/* Neon54 — finish.css */

:root {
	--vfp-root: #38ad8a;
	--vfp-vivid: #d8ccc5;
	--vfp-action-down: #c6b3a9;
	--vfp-sheet: #221f1f;
	--vfp-above: #2b2727;
	--vfp-letters: #FFFFFF;
	--vfp-muted: #c1c1c1;
	--vfp-edge: #3b3535;
	--vfp-line-strong: #5a5252;
	--vfp-blend-a: #fbfbfb;
	--vfp-fade-bottom: #ece7e2;
	--vfp-notice: #b02a37;

	--vfp-hair: 4px;
	--vfp-tiny: 12px;
	--vfp-snug: 20px;
	--vfp-base: 36px;
	--vfp-wide: 56px;
	--vfp-roomy: 84px;
	--vfp-vast: 120px;
	--vfp-huge: 180px;

	--vfp-stadium: 0;
	--vfp-orb: 50%;
	--r-hair: 0;
	--r-tiny: 0;
	--r-snug: 0;
	--r-base: 0;
	--r-wide: 0;
	--r-roomy: 0;
	--r-vast: 0;
	--r-huge: 0;

	--vfp-title: "Roboto Condensed", "Arial Narrow", system-ui, sans-serif;
	--vfp-prose: "Fira Sans", system-ui, -apple-system, sans-serif;

	--vfp-h1: clamp(30px, 5.2vw, 60px);
	--vfp-head: clamp(24px, 3vw, 34px);
	--vfp-lg-2: 24px;
	--vfp-sub-2: 19px;
	--vfp-minor: 16px;
	--vfp-xs-2: 14px;
	--vfp-reading: 16px;
	--vfp-petite: 13px;
	--z-tiny: 10px;

	--vfp-close: 1.08;
	--l-base: 1.55;
	--vfp-relaxed: 1.75;

	--vfp-regular: 400;
	--vfp-half: 500;
	--vfp-black: 700;

	--e-close: -0.02em;
	--e-base: 0em;
	--vfp-open: 0.08em;

	--d-hair: none;
	--d-tiny: none;
	--d-snug: 0 1px 0 rgba(0, 0, 0, 0.08);
	--d-base: 0 2px 0 rgba(0, 0, 0, 0.12);
	--d-wide: 0 4px 0 rgba(0, 0, 0, 0.16);
	--d-roomy: 0 6px 0 rgba(0, 0, 0, 0.18);
	--d-vast: 0 8px 0 rgba(0, 0, 0, 0.2);
	--d-huge: 0 10px 0 rgba(0, 0, 0, 0.22);

	--vfp-swift: 103ms;
	--t-regular: 210ms;
	--vfp-calm: 412ms;
	--vfp-land: cubic-bezier(0.11, 0.87, 0.38, 0.96);
	--vfp-even: cubic-bezier(0.56, 0.08, 0.51, 0.92);
	--vfp-overshoot: cubic-bezier(0.39, 1.5, 0.74, 1.05);

	--vfp-max: 1220px;
	--vfp-narrow: 550px;
	--vfp-pad-lg: 24px;
	--vfp-pad-md: 32px;
	--vfp-inset-mobile: 16px;

	--vfp-fine: 1px;
	--b-even: 2px;
	--b-wide: 3px;

	--vfp-size-desktop: 130px;
	--vfp-short: 76px;

	--sec-y: 44px;
	--rg-h: 44px;
	--belt-y: 42px;
}

@font-face {
	font-display: swap;
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 400;
	src: url("/glow-type/roboto-condensed-400.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Roboto Condensed";
	font-style: normal;
	font-weight: 600 700;
	src: url("/glow-type/roboto-condensed-700.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Fira Sans";
	font-style: normal;
	font-weight: 400;
	src: url("/glow-type/fira-sans-400.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Fira Sans";
	font-style: normal;
	font-weight: 500;
	src: url("/glow-type/fira-sans-500.woff2") format("woff2");
}

@font-face {
	font-display: swap;
	font-family: "Fira Sans";
	font-style: normal;
	font-weight: 700;
	src: url("/glow-type/fira-sans-700.woff2") format("woff2");
}

*,
*::before,
*::after { box-sizing: border-box; }

html,
body { overflow-x: clip; }

body {
	background: var(--vfp-sheet);
	color: var(--vfp-letters);
	display: flex;
	flex-direction: column;
	font-family: var(--vfp-prose);
	font-size: var(--vfp-reading);
	line-height: var(--l-base);
	margin: 0;
	min-height: 100vh;
	padding-block-end: var(--rg-h);
}

main { flex: 1 0 auto; }

h1, h2, h3, h4, h5, h6 {
	font-family: var(--vfp-title);
	line-height: var(--vfp-close);
	overflow-wrap: anywhere;
}

h1 {
	font-size: var(--vfp-h1);
	font-weight: var(--vfp-black);
	letter-spacing: var(--e-close);
	margin-block: 0 var(--vfp-snug);
	text-transform: uppercase;
}

h2 {
	font-size: var(--vfp-head);
	font-weight: var(--vfp-black);
	letter-spacing: var(--e-close);
	margin-block: var(--vfp-base) var(--vfp-snug);
}

h3 {
	font-size: var(--vfp-lg-2);
	font-weight: var(--vfp-black);
	margin-block: 0 var(--vfp-tiny);
}

h4 {
	font-size: var(--vfp-sub-2);
	font-weight: var(--vfp-black);
	margin-block: 0 var(--vfp-tiny);
}

p { margin-block: 0 var(--vfp-snug); }

a { color: var(--vfp-root); }

img { max-width: 100%; }

.sr-only {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.skip-hop {
	background: var(--vfp-root);
	color: #10201c;
	font-weight: var(--vfp-black);
	inset-inline-start: 0;
	padding: var(--vfp-tiny) var(--vfp-snug);
	position: absolute;
	text-decoration: none;
	z-index: 200;
}

.skip-hop:not(:focus) { top: -200px !important; }

.shell-row,
.a78-shell,
.z89-shell,
.x83-shell {
	margin-inline: auto;
	max-width: calc(var(--vfp-max) + 2 * var(--vfp-pad-lg));
	padding-inline: var(--vfp-pad-lg);
	width: 100%;
}

.a74-inner,
.e37-inner,
.e86-inner,
.f20-inner,
.f85-inner,
.g91-inner,
.i16-inner,
.j50-inner,
.j59-inner,
.m91-inner,
.o20-inner,
.p84-inner,
.s61-inner,
.w87-inner {
	margin-inline: auto;
	max-width: calc(var(--vfp-max) + 2 * var(--vfp-pad-lg));
	padding-inline: var(--vfp-pad-lg);
	width: 100%;
}

.a74,
.e37,
.e86,
.f20,
.f85,
.i16,
.j50,
.j59,
.m91,
.o20,
.p84,
.s61 { padding-block: var(--sec-y); }

[data-inview] {
	filter: blur(9px);
	opacity: 0;
	transform: translateY(22px);
	transition: filter var(--vfp-calm) var(--vfp-land), opacity var(--vfp-calm) var(--vfp-land), transform var(--vfp-calm) var(--vfp-land);
	will-change: filter, opacity, transform;
}

[data-inview].is-in {
	filter: blur(0);
	opacity: 1;
	transform: none;
	will-change: auto;
}

/* ─ 18+ ─ */

.rg-banner {
	background: var(--vfp-notice);
	bottom: 0;
	color: #ffffff;
	font-size: var(--vfp-petite);
	left: 0;
	line-height: 1.3;
	margin: 0;
	min-height: var(--rg-h);
	padding: var(--vfp-hair) var(--vfp-pad-lg);
	pointer-events: none;
	position: fixed;
	right: 0;
	text-align: center;
	z-index: 95;
}

.rg-banner span {
	align-items: center;
	display: inline-flex;
	min-height: 36px;
}

.rg-banner a {
	color: #ffffff;
	pointer-events: auto;
	text-underline-offset: 3px;
}

/* ─ a74 · error ─ */

.a74 {
	background-color: var(--vfp-sheet);
	background-image: linear-gradient(rgba(56, 173, 138, 0.09) 1px, transparent 1px), linear-gradient(90deg, rgba(56, 173, 138, 0.09) 1px, transparent 1px);
	background-size: 40px 40px;
	display: flex;
	flex-direction: column;
	padding-block: var(--vfp-roomy);
	text-align: center;
}

.a74-inside {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: var(--vfp-snug);
}

.a74-banner {
	color: var(--vfp-letters);
	font-size: clamp(28px, 6vw, 52px);
	margin: 0;
	max-width: var(--vfp-narrow);
}

.a74-note {
	color: var(--vfp-muted);
	margin: 0;
	max-width: var(--vfp-narrow);
}

.a74-go {
	background: var(--vfp-root);
	color: #10201c;
	font-family: var(--vfp-title);
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	min-height: 52px;
	padding: 14px var(--vfp-base);
	text-decoration: none;
	text-transform: uppercase;
	transition: transform var(--t-regular) var(--vfp-land);
}

.a74-go:hover {
	background: var(--vfp-vivid);
	color: #1b1717;
	transform: translateY(-3px);
}

/* ─ a78 · header ─ */

.a78 {
	background: var(--vfp-sheet);
	box-shadow: var(--d-wide);
	position: relative;
	z-index: 80;
}

.a78-shell {
	align-items: center;
	display: flex;
	gap: var(--vfp-snug);
	min-height: 88px;
	padding-inline: var(--vfp-wide);
}

.a78-glyph {
	align-items: center;
	display: inline-flex;
	flex-shrink: 0;
	isolation: isolate;
	justify-content: center;
}

.a78-glyph img {
	display: block;
	flex-shrink: 0;
	height: 60px;
	width: auto;
}

.a78-badge {
	align-items: center;
	background: var(--vfp-above);
	border: var(--vfp-fine) solid var(--vfp-edge);
	display: inline-flex;
	flex-shrink: 0;
	height: 22px;
	margin-inline-start: auto;
	overflow: hidden;
	width: 32px;
}

.a78-flag {
	background: linear-gradient(180deg, #1a1a1a 0 33.3%, #c8102e 33.3% 66.6%, #ffcc00 66.6% 100%);
	display: block;
	height: 100%;
	width: 100%;
}

.a78-bar {
	align-items: center;
	display: flex;
	flex-shrink: 0;
	gap: var(--vfp-tiny);
}

.a78-go {
	align-items: center;
	background: transparent;
	border: var(--b-even) solid var(--vfp-root);
	color: var(--vfp-root);
	display: inline-flex;
	flex-shrink: 0;
	font-family: var(--vfp-title);
	font-size: 15px;
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	min-height: 46px;
	padding-inline: var(--vfp-snug);
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
}

.a78-toggle {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--vfp-letters);
	cursor: pointer;
	display: none;
	flex-shrink: 0;
	justify-content: center;
	min-height: 46px;
	min-width: 46px;
	padding: 0;
}

.a78-grid {
	background-image: radial-gradient(currentColor 45%, transparent 47%);
	background-position: 0 0;
	background-repeat: repeat;
	background-size: 9px 9px;
	display: block;
	height: 18px;
	width: 18px;
}

.a78-belt {
	background: #1b1818;
	border-block-start: var(--vfp-fine) solid var(--vfp-edge);
}

.a78-nav {
	margin-inline: auto;
	max-width: calc(var(--vfp-max) + 2 * var(--vfp-pad-lg));
	padding-inline: var(--vfp-wide);
	width: 100%;
}

.a78-stack {
	align-items: stretch;
	display: flex;
	gap: var(--vfp-snug);
	height: 42px;
	list-style: none;
	margin: 0;
	overflow: hidden;
	padding: 0;
}

.a78-cell {
	align-items: center;
	display: flex;
	flex: 0 0 auto;
	gap: var(--vfp-snug);
}

.a78-cell[hidden] { display: none; }

.a78-cell + .a78-cell::before {
	color: var(--vfp-line-strong);
	content: "/";
	font-size: var(--vfp-xs-2);
}

.a78-hop {
	align-items: center;
	border-block-start: var(--b-wide) solid transparent;
	color: var(--vfp-muted);
	display: inline-flex;
	font-family: var(--vfp-prose);
	font-size: 16px;
	font-variant: small-caps;
	font-weight: 400;
	height: 42px;
	letter-spacing: var(--e-base);
	text-decoration: none;
	transition: color var(--vfp-swift) var(--vfp-land);
	white-space: nowrap;
}

.a78-hop:hover { color: var(--vfp-root); }

.a78-hop[aria-current="page"] {
	border-block-start-color: var(--vfp-root);
	color: var(--vfp-letters);
}

.a78-more {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--vfp-muted);
	cursor: pointer;
	display: inline-flex;
	font-family: var(--vfp-prose);
	font-size: 16px;
	font-variant: small-caps;
	gap: var(--vfp-hair);
	height: 42px;
	padding: 0;
}

.a78-more:hover { color: var(--vfp-root); }

.a78-more-toggle { position: relative; }

.a78-more-menu {
	background: var(--vfp-above);
	border: var(--vfp-fine) solid var(--vfp-edge);
	display: none;
	inset-block-start: 100%;
	inset-inline-end: 0;
	list-style: none;
	margin: 0;
	min-width: 220px;
	padding: var(--vfp-tiny);
	position: absolute;
	z-index: 120;
}

.a78-more-menu.is-open { display: block; }

.a78-more-menu .a78-hop {
	border-block-start: 0;
	color: var(--vfp-muted);
	height: auto;
	padding-block: var(--vfp-hair);
}

.a78-sheet {
	background: var(--vfp-above);
	border-block-start: var(--vfp-fine) solid var(--vfp-edge);
	display: none;
	max-height: 70vh;
	overflow-y: auto;
	padding: var(--vfp-snug) var(--vfp-pad-lg);
}

.a78-sheet.is-open { display: block; }

.a78-sheet .a78-stack {
	display: flex;
	flex-direction: column;
	gap: var(--vfp-tiny);
	height: auto;
	overflow: visible;
}

.a78-sheet .a78-cell { gap: 0; }

.a78-sheet .a78-cell + .a78-cell::before { content: none; }

.a78-sheet .a78-hop {
	border-block-start: 0;
	height: auto;
	min-height: 44px;
	width: 100%;
}

/* ─ e37 · legal ─ */

.e37-top {
	color: var(--vfp-letters);
	font-size: var(--vfp-minor);
	margin-block: 0 var(--vfp-wide);
}

.e37-strip { border-block-start: var(--vfp-fine) solid rgba(255, 255, 255, 0.07); }

.e37-strip:first-of-type { border-block-start: 0; }

.e37-strip h3 { margin-block: var(--vfp-base) var(--vfp-tiny); }

.e37-note {
	color: var(--vfp-muted);
	line-height: var(--vfp-relaxed);
}

.e37-box {
	background: var(--vfp-above);
	color: var(--vfp-muted);
	margin-block-start: var(--vfp-base);
	padding: var(--vfp-snug);
}

.e37-box h3 { color: var(--vfp-letters); }

.e37-stack {
	display: grid;
	gap: var(--vfp-tiny);
	list-style: none;
	margin: 0;
	padding: 0;
}

.e37-blurb {
	background: rgba(176, 42, 55, 0.12);
	border-inline-start: var(--b-wide) solid var(--vfp-notice);
	color: var(--vfp-muted);
	font-size: var(--vfp-petite);
	margin-block-start: var(--vfp-base);
	padding: var(--vfp-snug);
}

/* ─ e86 · items grid ─ */

.e86-stack {
	display: grid;
	gap: var(--vfp-base);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.e86-cell {
	background: var(--vfp-above);
	border: var(--vfp-fine) solid var(--vfp-edge);
	color: var(--vfp-muted);
	padding: var(--vfp-base);
	transition: transform var(--t-regular) var(--vfp-land);
}

.e86-cell:hover { transform: translateY(-6px); }

.e86-shot {
	color: var(--vfp-root);
	display: block;
	height: 32px;
	margin-block-end: var(--vfp-snug);
	width: 32px;
}

.e86-shot path { fill: currentColor; }

.e86-cell h3 { color: var(--vfp-letters); }

.e86-note {
	color: var(--vfp-muted);
	margin: 0;
}

/* ─ f20 · prose ─ */

.f20-strip { margin-block-end: var(--vfp-base); }

.f20 h2 {
	align-items: baseline;
	color: var(--vfp-letters);
	display: flex;
	gap: var(--vfp-tiny);
}

.f20 h2::before {
	background: rgba(56, 173, 138, 0.35);
	border-radius: 50%;
	content: "";
	flex-shrink: 0;
	height: 0.7em;
	width: 0.7em;
}

.f20-note {
	color: var(--vfp-muted);
	line-height: var(--vfp-relaxed);
}

.f20-note strong { color: var(--vfp-letters); }

.f20-stack {
	color: var(--vfp-muted);
	line-height: var(--vfp-relaxed);
	margin-block: 0 var(--vfp-snug);
	padding-inline-start: var(--vfp-base);
}

.f20-stack li { margin-block-end: var(--vfp-hair); }

.f20-shot {
	display: block;
	margin: 0 0 var(--vfp-base);
}

.f20-shot img {
	display: block;
	height: auto;
	margin-inline: auto;
	max-height: 52vh;
	max-width: 100%;
	object-fit: contain;
	width: auto;
}

.f20-push {
	background: var(--vfp-above);
	border-inline-start: var(--b-wide) solid var(--vfp-root);
	display: flex;
	flex-wrap: wrap;
	gap: var(--vfp-snug);
	align-items: center;
	justify-content: space-between;
	margin-block: var(--vfp-base);
	padding: var(--vfp-snug) var(--vfp-base);
}

.f20-blurb {
	color: var(--vfp-letters);
	font-family: var(--vfp-title);
	font-size: var(--vfp-sub-2);
	margin: 0;
}

/* ─ f85 · data table ─ */

.f85-stack {
	display: grid;
	gap: var(--vfp-snug);
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.f85-slab {
	background: var(--vfp-above);
	border: var(--vfp-fine) solid var(--vfp-edge);
	display: grid;
	gap: var(--vfp-tiny);
	padding: var(--vfp-base);
}

.f85-box {
	display: flex;
	flex-direction: column;
	gap: var(--vfp-hair);
}

.f85-badge {
	color: var(--vfp-muted);
	font-size: var(--z-tiny);
	letter-spacing: var(--vfp-open);
	text-transform: uppercase;
}

.f85-fact {
	color: var(--vfp-letters);
	font-size: var(--vfp-reading);
	font-weight: var(--vfp-half);
}

/* ─ g91 · breadcrumbs ─ */

.g91 { padding-block: var(--vfp-tiny); }

.g91-stack {
	color: var(--vfp-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: var(--vfp-petite);
	gap: var(--vfp-hair);
	list-style: none;
	margin: 0;
	padding: 0;
}

.g91-hop {
	color: var(--vfp-muted);
	text-decoration: none;
}

.g91-hop:hover { color: var(--vfp-root); }

.g91-cell + .g91-cell::before {
	color: var(--vfp-line-strong);
	content: "/";
	margin-inline-end: var(--vfp-hair);
}

.g91-name { color: var(--vfp-letters); }

/* ─ i16 · reviews ─ */

.i16-stack {
	display: grid;
	gap: var(--vfp-base);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	padding: 0;
}

.i16-cell {
	background: var(--vfp-above);
	border: var(--vfp-fine) solid var(--vfp-edge);
	color: var(--vfp-muted);
	display: flex;
	flex-direction: column;
	gap: var(--vfp-tiny);
	padding: var(--vfp-base);
}

.i16-name {
	color: var(--vfp-letters);
	font-weight: var(--vfp-black);
}

.i16-facts {
	color: var(--vfp-vivid);
	font-size: var(--vfp-petite);
	letter-spacing: var(--vfp-open);
}

.i16-blurb {
	border: 0;
	color: var(--vfp-muted);
	margin: 0;
	padding: 0;
}

/* ─ j50 · faq ─ */

.j50-stack {
	display: grid;
	gap: var(--vfp-snug);
}

.j50-cell {
	background: var(--vfp-above);
	border-block-end: var(--vfp-fine) solid var(--vfp-edge);
	padding: var(--vfp-snug) var(--vfp-base);
}

.j50-top {
	align-items: baseline;
	cursor: pointer;
	display: grid;
	gap: var(--vfp-tiny);
	grid-template-columns: auto 1fr auto;
	list-style: none;
}

.j50-top::-webkit-details-marker { display: none; }

.j50-top h3 {
	color: var(--vfp-letters);
	font-size: var(--vfp-sub-2);
	margin: 0;
}

.j50-badge {
	color: var(--vfp-root);
	font-family: var(--vfp-title);
	font-size: var(--vfp-lg-2);
	font-weight: var(--vfp-black);
}

.j50-top::after {
	color: var(--vfp-muted);
	content: "+";
	font-size: var(--vfp-lg-2);
	transition: color var(--t-regular) var(--vfp-land);
}

.j50-cell[open] .j50-top::after { content: "–"; }

.j50-inside {
	display: grid;
	gap: var(--vfp-tiny);
	grid-template-columns: auto 1fr;
	padding-block-start: var(--vfp-tiny);
}

.j50-note {
	color: var(--vfp-muted);
	line-height: var(--vfp-relaxed);
	margin: 0;
}

/* ─ j59 · hero ─ */

.j59 { background: linear-gradient(180deg, #282424 0%, var(--vfp-sheet) 100%); }

.j59-inner {
	align-items: center;
	display: grid;
	gap: var(--vfp-base);
	grid-template-columns: minmax(0, 65fr) minmax(0, 35fr);
	min-height: 420px;
}

.j59-inside {
	display: flex;
	flex-direction: column;
	gap: var(--vfp-tiny);
}

.j59-badge {
	color: var(--vfp-root);
	font-family: var(--vfp-title);
	font-size: var(--vfp-xs-2);
	letter-spacing: var(--vfp-open);
	text-transform: uppercase;
}

.j59 h1 {
	color: var(--vfp-letters);
	margin-block-end: var(--vfp-hair);
}

.j59-kicker {
	color: var(--vfp-muted);
	font-size: var(--vfp-minor);
	margin-block: 0 var(--vfp-tiny);
	max-width: var(--vfp-narrow);
}

.j59-bar {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--vfp-tiny) var(--vfp-snug);
}

.j59-go {
	align-items: center;
	background: var(--vfp-root);
	color: #10201c;
	display: inline-flex;
	font-family: var(--vfp-title);
	font-size: var(--vfp-sub-2);
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	min-height: 54px;
	padding-inline: var(--vfp-base);
	text-decoration: none;
	text-transform: uppercase;
}

.j59-note {
	color: var(--vfp-muted);
	font-size: var(--vfp-petite);
	max-width: var(--vfp-narrow);
}

.j59-shot {
	aspect-ratio: 1 / 1;
	margin: 0;
	overflow: hidden;
}

.j59-shot img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

/* ─ m91 · author card ─ */

.m91-inside {
	margin-inline: auto;
	max-width: 600px;
	text-align: center;
}

.m91-face {
	border-radius: var(--vfp-orb);
	display: block;
	height: 140px;
	margin: 0 auto var(--vfp-snug);
	object-fit: cover;
	width: 140px;
}

.m91-job {
	color: var(--vfp-root);
	font-size: var(--vfp-petite);
	letter-spacing: var(--vfp-open);
	text-transform: uppercase;
}

.m91-name {
	color: var(--vfp-letters);
	font-size: var(--vfp-head);
	margin-block: var(--vfp-hair) var(--vfp-snug);
}

.m91-note {
	color: var(--vfp-muted);
	line-height: var(--vfp-relaxed);
}

.m91-stack {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vfp-hair);
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.m91-cell {
	background: var(--vfp-root);
	color: #10201c;
	font-size: var(--z-tiny);
	letter-spacing: var(--vfp-open);
	padding: var(--vfp-hair) var(--vfp-tiny);
	text-transform: uppercase;
}

/* ─ o20 · cta block ─ */

.o20-slab {
	background: #262222;
	border: var(--vfp-fine) solid var(--vfp-edge);
	margin-inline: auto;
	max-width: var(--vfp-narrow);
	padding: var(--vfp-wide) var(--vfp-base);
	text-align: center;
}

.o20-badge {
	color: var(--vfp-root);
	font-family: var(--vfp-title);
	font-size: var(--vfp-xs-2);
	letter-spacing: var(--vfp-open);
	text-transform: uppercase;
}

.o20-banner {
	color: var(--vfp-letters);
	font-size: var(--vfp-head);
	margin-block: var(--vfp-tiny) var(--vfp-tiny);
}

.o20-note {
	color: var(--vfp-muted);
	line-height: var(--vfp-relaxed);
	margin-block: 0 var(--vfp-base);
}

.o20-go {
	align-items: center;
	background: var(--vfp-root);
	color: #10201c;
	display: inline-flex;
	font-family: var(--vfp-title);
	font-size: var(--vfp-sub-2);
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	min-height: 52px;
	padding-inline: var(--vfp-base);
	text-decoration: none;
	text-transform: uppercase;
}

/* ─ p84 · page header ─ */

.p84 {
	background: var(--vfp-sheet);
	padding-block: var(--vfp-wide) var(--sec-y);
	text-align: center;
}

.p84 h1 { color: var(--vfp-letters); }

.p84-badge {
	color: var(--vfp-root);
	display: block;
	font-family: var(--vfp-title);
	font-size: var(--vfp-lg-2);
	line-height: 1;
	margin-block: var(--vfp-tiny);
}

.p84-note {
	color: var(--vfp-muted);
	font-size: var(--vfp-sub-2);
	font-style: italic;
	margin-inline: auto;
	max-width: var(--vfp-narrow);
}

.p84-bar {
	display: flex;
	justify-content: center;
	margin-block-start: var(--vfp-snug);
}

.p84-go {
	align-items: center;
	background: var(--vfp-root);
	color: #10201c;
	display: inline-flex;
	font-family: var(--vfp-title);
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	min-height: 52px;
	padding-inline: var(--vfp-base);
	text-decoration: none;
	text-transform: uppercase;
}

/* ─ s61 · contact form ─ */

.s61-slab {
	margin-inline: auto;
	max-width: 720px;
	overflow: hidden;
}

.s61-top {
	background: var(--vfp-root);
	display: block;
	height: 8px;
}

.s61-inside {
	background: var(--vfp-above);
	padding: var(--vfp-base);
}

.s61-note {
	color: var(--vfp-muted);
	margin-block: 0 var(--vfp-snug);
}

.s61-box {
	display: flex;
	flex-direction: column;
	gap: var(--vfp-hair);
	margin-block-end: var(--vfp-snug);
}

.s61-badge {
	color: var(--vfp-letters);
	font-size: var(--vfp-petite);
	letter-spacing: var(--vfp-open);
	text-transform: uppercase;
}

.s61-box input,
.s61-box textarea {
	background: var(--vfp-sheet);
	border: var(--vfp-fine) solid var(--vfp-edge);
	color: var(--vfp-letters);
	font-family: var(--vfp-prose);
	font-size: var(--vfp-reading);
	padding: var(--vfp-tiny);
	width: 100%;
}

.s61-go {
	background: var(--vfp-root);
	border: 0;
	color: #10201c;
	cursor: pointer;
	display: block;
	font-family: var(--vfp-title);
	font-size: var(--vfp-minor);
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	margin-inline: auto;
	min-height: 52px;
	padding-inline: var(--vfp-base);
	text-transform: uppercase;
}

.s61-ok {
	background: rgba(56, 173, 138, 0.12);
	border-inline-start: var(--b-wide) solid var(--vfp-root);
	color: var(--vfp-letters);
	display: none;
	margin-block-start: var(--vfp-snug);
	padding: var(--vfp-snug);
}

.s61-ok.is-in {
	display: block;
	filter: none;
	opacity: 1;
	transform: none;
}

/* ─ w87 · byline ─ */

.w87 { padding-block: var(--sec-y); }

.w87-blurb {
	border: 0;
	margin: 0;
	margin-inline: auto;
	max-width: 600px;
	position: relative;
	text-align: center;
}

.w87-blurb p {
	color: var(--vfp-letters);
	font-family: var(--vfp-title);
	font-size: var(--vfp-sub-2);
	font-style: italic;
}

.w87-facts {
	align-items: center;
	display: inline-flex;
	flex-wrap: wrap;
	gap: var(--vfp-hair);
	justify-content: center;
}

.w87-face {
	border-radius: var(--vfp-orb);
	display: block;
	height: 32px;
	object-fit: cover;
	width: 32px;
}

.w87-name {
	color: var(--vfp-root);
	font-style: normal;
	font-weight: var(--vfp-black);
}

.w87-name a {
	color: var(--vfp-root);
	text-decoration: none;
}

.w87-job {
	color: var(--vfp-muted);
	font-size: var(--vfp-petite);
	font-style: italic;
}

/* ─ x83 · cookie ─ */

.x83 {
	background: var(--vfp-root);
	border-block-start: var(--vfp-fine) solid rgba(255, 255, 255, 0.1);
	bottom: var(--rg-h);
	display: none;
	left: 0;
	position: fixed;
	right: 0;
	z-index: 90;
}

.x83.is-open { display: block; }

.x83-shell {
	align-items: center;
	display: flex;
	gap: var(--vfp-snug);
	justify-content: space-between;
	padding-block: var(--vfp-tiny);
}

.x83-blurb {
	color: #10201c;
	flex: 1;
	font-size: var(--vfp-petite);
	margin: 0;
}

.x83-bar {
	display: flex;
	flex-shrink: 0;
	gap: var(--vfp-tiny);
}

.x83-ok,
.x83-no {
	align-items: center;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--vfp-title);
	font-size: var(--vfp-xs-2);
	font-weight: var(--vfp-black);
	letter-spacing: var(--vfp-open);
	min-height: 40px;
	padding-inline: var(--vfp-snug);
	text-transform: uppercase;
	white-space: nowrap;
}

.x83-ok {
	background: #10201c;
	border: var(--b-even) solid #10201c;
	color: #ffffff;
}

.x83-no {
	background: #d9f2e9;
	border: var(--b-even) solid #10201c;
	color: #10201c;
}

/* ─ z89 · footer ─ */

.z89 {
	background: var(--vfp-sheet);
	border-block-start: var(--vfp-fine) solid var(--vfp-edge);
	padding-block: var(--vfp-base);
}

.z89-strip {
	border-block-end: var(--vfp-fine) solid rgba(255, 255, 255, 0.08);
	padding-block: var(--vfp-snug);
}

.z89-strip:last-child { border-block-end: 0; }

.z89-top {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--vfp-snug);
	justify-content: space-between;
}

.z89-glyph {
	display: inline-flex;
	isolation: isolate;
}

.z89-glyph img {
	display: block;
	height: 48px;
	width: auto;
}

.z89-blurb {
	color: var(--vfp-muted);
	font-family: var(--vfp-title);
	font-size: var(--vfp-sub-2);
	margin: 0;
	max-width: var(--vfp-narrow);
}

.z89-col {
	display: grid;
	gap: var(--vfp-snug);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.z89-banner {
	color: var(--vfp-letters);
	font-family: var(--vfp-title);
	font-size: var(--vfp-xs-2);
	letter-spacing: var(--vfp-open);
	margin-block: 0 var(--vfp-tiny);
	text-transform: uppercase;
}

.z89-stack {
	display: grid;
	gap: var(--vfp-hair);
	list-style: none;
	margin: 0;
	padding: 0;
}

.z89-hop {
	color: var(--vfp-muted);
	font-size: var(--vfp-petite);
	letter-spacing: var(--vfp-open);
	text-decoration: none;
}

.z89-hop:hover { color: var(--vfp-root); }

.z89-note {
	color: var(--vfp-muted);
	font-size: var(--vfp-petite);
	margin: 0;
}

.z89-name {
	color: var(--vfp-muted);
	font-size: var(--vfp-petite);
}

@media (max-width: 1100px) {
	.a78-shell { padding-inline: var(--vfp-pad-md); }

	.a78-nav { padding-inline: var(--vfp-pad-md); }

	.e86-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.i16-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 1023px) {
	.a78-belt { display: none; }

	.a78-toggle { display: inline-flex; }

	.a78-bar { margin-inline-start: 0; }

	.a78-badge { margin-inline-start: auto; }
}

@media (max-width: 800px) {
	:root {
		--vfp-head: clamp(22px, 5vw, 26px);
		--vfp-lg-2: 20px;
		--vfp-sub-2: 17px;
		--vfp-minor: 14px;
		--vfp-xs-2: 12px;
		--vfp-reading: 15px;
		--vfp-petite: 12px;
		--z-tiny: 9px;
		--sec-y: 36px;
	}

	.a78-shell {
		flex-wrap: wrap;
		gap: var(--vfp-tiny);
		min-height: 76px;
		padding-inline: var(--vfp-inset-mobile);
	}

	.a78-glyph img { height: 48px; }

	.a78-go {
		font-size: var(--vfp-xs-2);
		padding-inline: var(--vfp-tiny);
	}

	.a78-sheet { padding-inline: var(--vfp-inset-mobile); }

	.j59-inner {
		grid-template-columns: minmax(0, 1fr);
		min-height: 0;
	}

	.j59-shot {
		aspect-ratio: auto;
		height: 240px;
		order: 2;
	}

	.z89-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }

	.x83-shell {
		flex-direction: column;
		gap: var(--vfp-tiny);
		padding-block: var(--vfp-tiny);
	}

	.x83-blurb { font-size: var(--vfp-petite); }

	.f20-push { flex-direction: column; align-items: flex-start; }

	.j50-inside { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 620px) {
	.a78-bar { flex-basis: 100%; }

	.a78-go {
		justify-content: center;
		width: 100%;
	}

	.a74-inner,
	.e37-inner,
	.e86-inner,
	.f20-inner,
	.f85-inner,
	.g91-inner,
	.i16-inner,
	.j50-inner,
	.j59-inner,
	.m91-inner,
	.o20-inner,
	.p84-inner,
	.s61-inner,
	.w87-inner,
	.a78-shell,
	.z89-shell,
	.x83-shell { padding-inline: var(--vfp-inset-mobile); }

	.e86-stack,
	.i16-stack { grid-template-columns: minmax(0, 1fr); }

	.e86-cell,
	.f85-slab,
	.i16-cell { padding: var(--vfp-snug); }

	.o20-slab { padding: var(--vfp-base) var(--vfp-snug); }

	.j50-cell { padding: var(--vfp-tiny) var(--vfp-snug); }

	.z89-col { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation: none !important;
		animation-duration: 1ms !important;
		transition-duration: 1ms !important;
	}

	[data-inview] {
		filter: none;
		opacity: 1;
		transform: none;
	}
}
.runavi-dive{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--vfp-base);min-height:54px;border-radius:4px;font-size:var(--vfp-sub-2);font-weight:var(--vfp-black);letter-spacing:var(--vfp-open)}
.runavi-dive{position:relative;
  background:#7C3AED;color:#FFFFFF;text-decoration:none;text-transform:uppercase;
  transition:background 0.24s linear,transform 0.24s linear;}
.runavi-dive.runavi-dive{color:#FFFFFF;text-decoration:none;}
.runavi-dive:hover{background:#6D28D9;color:#FFFFFF;animation:none}
.runavi-dive.runavi-dive:hover{color:#FFFFFF;text-decoration:none}
.runavi-dive:hover::after{animation:none}
.runavi-dive:active{background:#5B21B6;color:#FFFFFF}
.runavi-dive:focus-visible{outline:3px solid #221F1F;outline-offset:3px}
@keyframes runavi-ripple{0%,100%{transform:scaleX(0)}40%,60%{transform:scaleX(1)}}
.runavi-dive::after{content:"";position:absolute;left:12%;right:12%;bottom:6px;height:4px;background:currentColor;opacity:.5;transform-origin:left;animation:runavi-ripple 1.6s cubic-bezier(.25,.15,.80,1) infinite}
@media (prefers-reduced-motion:reduce){.runavi-dive,.runavi-dive::after{animation:none!important;transition:none!important}}

.a78-go.runavi-dive {
	border-color: #7C3AED;
	font-size: var(--vfp-minor);
	min-height: 48px;
	padding-inline: var(--vfp-snug);
}

@media (max-width: 800px) {
	.a78-go.runavi-dive {
		font-size: var(--vfp-xs-2);
		min-height: 44px;
		padding-inline: var(--vfp-tiny);
	}
}

.a78-tail { position: relative; }

.a78-nav-mob { display: block; }

.z89-box { min-width: 0; }

.rg-banner span {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0 4px;
	justify-content: center;
	max-width: 100%;
}

@media (max-width: 500px) {
	.rg-banner {
		font-size: var(--z-tiny);
		padding-inline: var(--vfp-tiny);
	}
}

@media (max-width: 1057px) {
  .a78-belt,
  .a78-nav { display: none !important; }
  .a78-toggle { display: flex !important; }
}

/* nojs guard 28.09.2026: без JS контент виден */
html.no-js [data-inview]{opacity:1!important;transform:none!important;visibility:visible!important;clip-path:none!important}
