@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:url("/letras/ubuntu-latin-400-normal.woff2") format("woff2")}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:500;font-display:swap;src:url("/letras/ubuntu-latin-500-normal.woff2") format("woff2")}
@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:url("/letras/ubuntu-latin-700-normal.woff2") format("woff2")}
:root {
	--vnw-base: #8b3f12;
	--vnw-beacon: #cf6c1e;
	--vnw-press: #aa5c18;
	--vnw-back: #120805;
	--vnw-surface-2: #1d0f09;
	--vnw-panel: #21120b;
	--vnw-lift: #2a1610;
	--vnw-reading: #ffffff;
	--vnw-muted: #bdbdbd;
	--vnw-soft: #e8dcd4;
	--vnw-warm: #f5e6da;
	--vnw-stroke: #3a241b;
	--vnw-border-strong: #5a3826;
	--vnw-gradient-light: #eead81;
	--vnw-gradient-mid: #e2893d;
	--vnw-warn-band: #ad2831;
	--vnw-step-0: 8px;
	--vnw-step-1: 12px;
	--vnw-step-2: 16px;
	--vnw-step-3: 24px;
	--vnw-step-4: 32px;
	--vnw-step-5: 48px;
	--vnw-step-6: 72px;
	--vnw-step-7: 112px;
	--vnw-stadium: 9999px 9999px 0 0;
	--vnw-dot: 50%;
	--r-step-0: 2px 2px 0 0;
	--r-step-1: 4px 4px 0 0;
	--r-step-2: 6px 6px 0 0;
	--r-step-3: 12px 12px 0 0;
	--r-step-4: 20px 20px 0 0;
	--r-step-5: 26px 26px 0 0;
	--r-step-6: 32px 32px 0 0;
	--r-step-7: 40px 40px 0 0;
	--vnw-head: 'Ubuntu', 'Trebuchet MS', 'Segoe UI', sans-serif;
	--vnw-body: Georgia, 'Iowan Old Style', 'Times New Roman', serif;
	--vnw-title: clamp(30px, 4.4vw, 48px);
	--vnw-h2: clamp(25px, 3vw, 36px);
	--vnw-display-3: clamp(20px, 2vw, 26px);
	--vnw-md-2: 21px;
	--vnw-sm-2: 18px;
	--vnw-xs-2: 16px;
	--z-reading: 19px;
	--vnw-petite: 16px;
	--vnw-mini: 14px;
	--vnw-snug: 1.2;
	--vnw-even: 1.7;
	--vnw-airy: 2;
	--vnw-normal: 400;
	--vnw-semi: 500;
	--vnw-black: 600;
	--vnw-packed: -0.01em;
	--e-even: 0;
	--vnw-wide: 0.02em;
	--d-step-0: 0 -1px 0 rgba(0, 0, 0, 0.08) inset;
	--d-step-1: 0 1px 2px rgba(0, 0, 0, 0.1);
	--d-step-2: 0 2px 4px rgba(0, 0, 0, 0.06);
	--d-step-3: 0 4px 12px rgba(0, 0, 0, 0.1);
	--d-step-4: 0 10px 28px rgba(0, 0, 0, 0.14);
	--d-step-5: 0 16px 40px rgba(0, 0, 0, 0.2);
	--d-step-6: 0 24px 56px rgba(0, 0, 0, 0.26);
	--d-step-7: 0 32px 72px rgba(0, 0, 0, 0.32);
	--vnw-fast: 210ms;
	--vnw-regular: 410ms;
	--vnw-long: 734ms;
	--vnw-release: cubic-bezier(0.28, 0.93, 0.26, 0.95);
	--vnw-in: cubic-bezier(0.62, 0.02, 0.83, 0.28);
	--vnw-smooth: cubic-bezier(0.65, 0.05, 0.55, 0.93);
	--vnw-spring: cubic-bezier(0.28, 1.2, 0.74, 1.1);
	--vnw-main: 1100px;
	--vnw-column: 540px;
	--vnw-padding-desktop: 48px;
	--vnw-padding-tablet: 32px;
	--vnw-inset-mobile: 16px;
	--vnw-hair: 1px;
	--b-regular: 2px;
	--b-wide: 3px;
	--vnw-h-lg: 72px;
	--vnw-height-mobile: 56px;
	--vnw-tier-h: 34px;
	--vnw-rg-h: 38px;
	--vnw-band: 48px;
}

/* ── reset / base ─────────────────────────────────────────────── */
*,
*::before,
*::after { box-sizing: border-box; }

html,
body { overflow-x: clip; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
	margin: 0;
	padding-bottom: var(--vnw-rg-h);
	background: var(--vnw-back);
	color: var(--vnw-reading);
	font-family: var(--vnw-body);
	font-size: var(--z-reading);
	font-weight: var(--vnw-normal);
	line-height: var(--vnw-airy);
	letter-spacing: var(--e-even);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	overflow-wrap: anywhere;
	font-family: var(--vnw-head);
	line-height: var(--vnw-snug);
	letter-spacing: var(--vnw-packed);
}

h1 { font-size: var(--vnw-title); font-weight: var(--vnw-black); }
h2 { font-size: var(--vnw-h2); font-weight: var(--vnw-black); }
h3 { font-size: var(--vnw-display-3); font-family: var(--vnw-body); font-weight: var(--vnw-black); }

p { margin: 0 0 var(--vnw-step-2); }

img { max-width: 100%; display: block; }

a { color: var(--vnw-gradient-mid); text-decoration: none; }

a:hover,
a:focus-visible { color: var(--vnw-gradient-light); }

ul,
ol { margin: 0; padding: 0; }

table { border-collapse: collapse; }

:focus-visible { outline: 2px solid var(--vnw-gradient-light); outline-offset: 3px; }

.skip-jump {
	position: absolute;
	left: var(--vnw-step-2);
	z-index: 300;
	padding: var(--vnw-step-1) var(--vnw-step-3);
	background: var(--vnw-beacon);
	color: var(--vnw-back);
	font-family: var(--vnw-head);
	border-radius: var(--r-step-2);
}

.skip-jump:not(:focus) { top: -200px !important; }
.skip-jump:focus { top: var(--vnw-step-2); }

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

[hidden] { display: none !important; }

/* shared section shell — единая ширина всех секций */
.noveka-core,
.sukaxi-core,
.pivir-core,
.tosuku-core,
.luvu-core,
.kumux-core,
.pyminyf-core,
.vegy-core,
.vymasu-core,
.didagof-core,
.badani-core,
.lagyzy-core,
.vupi-core,
.kalypif-core,
.fese-core,
.lakabo-core {
	width: 100%;
	max-width: calc(var(--vnw-main) + 2 * var(--vnw-padding-desktop));
	margin-inline: auto;
	padding-inline: var(--vnw-padding-desktop);
}

main > section { padding-block: var(--vnw-band); }

/* reveal on scroll — ось «fade», наблюдатель, порог 0.05 */
[data-enter] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity var(--vnw-long) var(--vnw-release), transform var(--vnw-long) var(--vnw-release);
}

[data-enter].is-visible { opacity: 1; transform: none; }

/* ── header (HEAD-TIER, sticky-shrink) ────────────────────────── */
.noveka {
	position: sticky;
	top: 0;
	z-index: 100;
	background: var(--vnw-back);
	box-shadow: var(--d-step-4);
	transition: box-shadow var(--vnw-regular) var(--vnw-release);
}

.noveka-tier {
	background: var(--vnw-lift);
	border-bottom: var(--vnw-hair) solid var(--vnw-stroke);
	overflow: hidden;
	transition: height var(--vnw-regular) var(--vnw-smooth), opacity var(--vnw-fast) var(--vnw-smooth);
	height: var(--vnw-tier-h);
}

.noveka-tier > .noveka-core {
	display: flex;
	align-items: center;
	gap: var(--vnw-step-3);
	height: 100%;
}

.noveka-detail {
	margin: 0;
	color: #cbbdb4;
	font-family: var(--vnw-head);
	font-size: 13px;
	letter-spacing: var(--vnw-wide);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.noveka-aid {
	display: flex;
	gap: var(--vnw-step-3);
	margin-left: auto;
	list-style: none;
}

.noveka-aid .noveka-route { font-size: 13px; padding: 0; }

.noveka-market {
	display: inline-flex;
	align-items: center;
	gap: var(--vnw-step-0);
	color: #cbbdb4;
	font-family: var(--vnw-head);
	font-size: 13px;
	letter-spacing: var(--vnw-wide);
	white-space: nowrap;
}

.noveka-banderin {
	width: 20px;
	height: 14px;
	flex: 0 0 auto;
	border-radius: 2px;
	background: linear-gradient(#c60b1e 0 25%, #ffc400 25% 75%, #c60b1e 75% 100%);
}

.noveka-strip { height: var(--vnw-h-lg); transition: height var(--vnw-regular) var(--vnw-smooth); }

.noveka-strip > .noveka-core {
	display: flex;
	align-items: center;
	gap: var(--vnw-step-3);
	height: 100%;
}

.noveka-logo {
	order: 1;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
}

.noveka-logo img { height: 60px; width: auto; flex-shrink: 0; }

.noveka-guide {
	order: 2;
	flex: 1 1 auto;
	min-width: 0;
	overflow: visible;
	display: block;
}

.noveka-chain {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--vnw-step-1);
	list-style: none;
	overflow: visible;
}

.noveka-slot,
.noveka-spill { flex: 0 0 auto; position: relative; }

.noveka-route {
	display: inline-block;
	padding: var(--vnw-step-0) 2px;
	position: relative;
	color: var(--vnw-soft);
	font-family: var(--vnw-head);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
	white-space: nowrap;
	transition: color var(--vnw-fast) var(--vnw-release), transform var(--vnw-fast) var(--vnw-spring);
}

.noveka-route:hover,
.noveka-route:focus-visible { color: var(--vnw-gradient-light); transform: translateY(-2px); }

.noveka-route[aria-current='page'] { color: var(--vnw-gradient-mid); }

.noveka-route[aria-current='page']::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 5px;
	height: 5px;
	margin-left: -2.5px;
	border-radius: var(--vnw-dot);
	background: var(--vnw-beacon);
}

.noveka-swell {
	padding: var(--vnw-step-0) var(--vnw-step-1);
	border: var(--vnw-hair) solid var(--vnw-border-strong);
	border-radius: var(--r-step-2);
	background: var(--vnw-lift);
	color: var(--vnw-soft);
	font-family: var(--vnw-head);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}

.noveka-swell:hover { color: var(--vnw-gradient-light); }

.noveka-pane {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 20;
	min-width: 210px;
	max-height: 62vh;
	overflow-y: auto;
	display: none;
	flex-direction: column;
	padding: var(--vnw-step-0);
	list-style: none;
	background: var(--vnw-panel);
	border: var(--vnw-hair) solid var(--vnw-border-strong);
	border-radius: var(--r-step-3);
	box-shadow: var(--d-step-5);
}

.noveka-pane.is-open { display: flex; }

.noveka-pane .noveka-slot { width: 100%; }

.noveka-pane .noveka-route {
	display: block;
	width: 100%;
	padding: var(--vnw-step-0) var(--vnw-step-1);
	white-space: normal;
}

.noveka-pane .noveka-route[aria-current='page']::after { display: none; }

.noveka-trigger {
	order: 3;
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 4px;
	width: 46px;
	height: 46px;
	margin-left: auto !important;
	padding: 0;
	border: 0;
	border-radius: var(--r-step-3);
	background: var(--vnw-lift);
	cursor: pointer;
}

.noveka-pip {
	width: 5px;
	height: 5px;
	border-radius: var(--vnw-dot);
	background: var(--vnw-gradient-light);
	transition: transform var(--vnw-fast) var(--vnw-spring);
}

.noveka-trigger[aria-expanded='true'] .noveka-pip:first-child { transform: translateY(2px) scale(1.4); }
.noveka-trigger[aria-expanded='true'] .noveka-pip:last-child { transform: translateY(-2px) scale(1.4); }

.noveka-drawer {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 130;
	max-height: 74vh;
	overflow-y: auto;
	padding: var(--vnw-step-2) var(--vnw-inset-mobile) var(--vnw-step-3);
	background: var(--vnw-panel);
	border-top: var(--vnw-hair) solid var(--vnw-stroke);
	box-shadow: var(--d-step-6);
}

.noveka-drawer.is-open { display: block; }

.noveka-stack { display: flex; flex-direction: column; list-style: none; }

.noveka-stack .noveka-route {
	display: block;
	padding: var(--vnw-step-1) 0;
	white-space: normal;
	font-size: 16px;
}

.noveka-stack .noveka-route[aria-current='page']::after { left: auto; right: 0; bottom: 50%; }

.noveka.is-shrunk { box-shadow: var(--d-step-5); }
.noveka.is-shrunk .noveka-tier { height: 0; opacity: 0; border-bottom-width: 0; }
.noveka.is-shrunk .noveka-strip { height: 64px; }

/* ── breadcrumbs (BREAD-02, pill chips) ───────────────────────── */
.fese { background: var(--vnw-back); padding-block: var(--vnw-step-3); }

.fese-slot { display: inline-flex; }

.fese-chain {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--vnw-step-0);
	list-style: none;
}

.fese-route,
.fese-here {
	display: inline-block;
	padding: var(--vnw-step-0) var(--vnw-step-2);
	border-radius: var(--vnw-stadium);
	font-family: var(--vnw-head);
	font-size: var(--vnw-mini);
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
}

.fese-route { background: var(--vnw-surface-2); color: #d9cfc8; }
.fese-route:hover { background: var(--vnw-beacon); color: var(--vnw-back); }
.fese-here { background: var(--vnw-lift); color: var(--vnw-reading); }

/* ── hero (HERO-07, Top-Tile + Text Below) ────────────────────── */
.pivir { background: var(--vnw-back); padding-block: 0 var(--vnw-step-6); }

.pivir-figure { margin: 0; position: relative; }

.pivir-figure img { width: 100%; height: 400px; object-fit: cover; object-position: center 38%; }

.pivir-figure::after {
	content: '';
	position: absolute;
	inset: auto 0 0 0;
	height: 120px;
	background: linear-gradient(rgba(18, 8, 5, 0), rgba(18, 8, 5, 1));
	pointer-events: none;
}

.pivir-core { padding-top: var(--vnw-step-5); }

.pivir-lede {
	display: block;
	margin-bottom: var(--vnw-step-2);
	color: var(--vnw-beacon);
	font-family: var(--vnw-head);
	font-size: var(--vnw-mini);
	font-weight: var(--vnw-black);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.pivir-second {
	max-width: var(--vnw-column);
	margin-block: var(--vnw-step-3);
	color: var(--vnw-soft);
	font-size: var(--vnw-md-2);
	line-height: var(--vnw-even);
}

.pivir-invite,
.lakabo-button,
.luvu-plug .luvu-button,
.vegy-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: var(--vnw-step-1) var(--vnw-step-5);
	border-radius: var(--r-step-3);
	background: var(--vnw-beacon);
	color: var(--vnw-back);
	font-family: var(--vnw-head);
	font-size: var(--vnw-sm-2);
	font-weight: var(--vnw-black);
	line-height: 1.25;
	text-align: center;
}

/* ── prose (PROSE-16, надзаголовок; align center, roomy) ──────── */
.vymasu { background: var(--vnw-back); }

.vymasu-slot { margin-block-end: var(--vnw-step-6); }

.vymasu-slot:last-child { margin-block-end: 0; }

.vymasu-lede {
	display: block;
	margin-bottom: var(--vnw-step-0);
	color: var(--vnw-beacon);
	font-family: var(--vnw-head);
	font-size: 13px;
	font-weight: var(--vnw-semi);
	letter-spacing: 0.16em;
	text-align: center;
	text-transform: uppercase;
	opacity: 0.9;
}

.vymasu-slot h2 {
	margin-block: var(--vnw-step-1) var(--vnw-step-4);
	text-align: center;
}

.vymasu-prose { color: var(--vnw-soft); line-height: var(--vnw-airy); }

.vymasu-prose strong { color: var(--vnw-reading); font-weight: var(--vnw-black); }

.vymasu-prose a { border-bottom: var(--vnw-hair) solid rgba(226, 137, 61, 0.5); }

.vymasu-chain {
	margin: 0 0 var(--vnw-step-2);
	padding-left: var(--vnw-step-3);
	color: var(--vnw-soft);
}

.vymasu-chain li { margin-block-end: var(--vnw-step-0); }

.vymasu-figure { margin: var(--vnw-step-4) 0 0; }

.vymasu-figure img {
	width: 100%;
	max-width: 720px;
	height: auto;
	max-height: 420px;
	object-fit: cover;
	margin-inline: auto;
	border-radius: var(--r-step-4);
}

.vymasu-figure.is-tall img { max-width: 380px; max-height: 480px; }

.vymasu-note {
	margin-top: var(--vnw-step-0);
	color: var(--vnw-muted);
	font-size: var(--vnw-mini);
	text-align: center;
}

/* ── inline CTA (INLINE-CTA-01, Compact Banner Strip) ─────────── */
.lakabo { display: block; margin-block: var(--vnw-step-5); background: var(--vnw-beacon); padding-block: var(--vnw-step-3); }

.lakabo-core {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--vnw-step-3);
}

.lakabo-prose {
	margin: 0;
	color: var(--vnw-back);
	font-family: var(--vnw-head);
	font-size: var(--vnw-sm-2);
	font-weight: var(--vnw-black);
	line-height: 1.35;
}

.lakabo-button { background: var(--vnw-back); color: var(--vnw-reading); flex: 0 0 auto; }

/* ── items grid (GRID-10, Compact 4-Column Tile) ──────────────── */
.luvu { background: var(--vnw-back); }

.luvu-lede { margin-block-end: var(--vnw-step-5); text-align: center; }

.luvu-deck {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--vnw-step-4);
}

.luvu-card {
	display: flex;
	flex-direction: column;
	gap: var(--vnw-step-1);
	min-height: 180px;
	padding: var(--vnw-step-3);
	background: var(--vnw-panel);
	border: var(--vnw-hair) solid var(--vnw-stroke);
	border-radius: var(--r-step-2);
	transition: border-color var(--vnw-fast) var(--vnw-release);
	position: relative;
}

.luvu-card::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 2px;
	background: var(--vnw-beacon);
	transition: width var(--vnw-regular) var(--vnw-release);
}

.luvu-card:hover::after { width: 100%; }

.luvu-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	flex: 0 0 auto;
	border-radius: var(--r-step-2);
	background: var(--vnw-lift);
}

.luvu-glyph { width: 24px; height: 24px; fill: var(--vnw-gradient-light); }

.luvu-caption { font-size: var(--vnw-sm-2); }

.luvu-card .luvu-prose { margin: 0; color: var(--vnw-muted); font-size: var(--vnw-mini); line-height: var(--vnw-even); }

.luvu-plug {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: var(--vnw-step-2);
	min-height: 180px;
	padding: var(--vnw-step-3);
	background: var(--vnw-base);
	border-radius: var(--r-step-2);
}

.luvu-plug-copy {
	margin: 0;
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-xs-2);
	font-weight: var(--vnw-black);
	line-height: 1.4;
}

.luvu-plug .luvu-button { padding-inline: var(--vnw-step-3); font-size: var(--vnw-petite); }

/* ── reviews (REV-09, Magazine Pull-Quote) ────────────────────── */
.pyminyf { background: var(--vnw-back); }

.pyminyf-lede { margin-block-end: var(--vnw-step-4); text-align: center; }

.pyminyf-chain { display: block; }

.pyminyf-slot { margin: 0; padding-block: var(--vnw-step-5); text-align: center; }

.pyminyf-quote {
	position: relative;
	max-width: var(--vnw-column);
	margin: 0 auto;
	padding-top: var(--vnw-step-4);
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-display-3);
	font-style: italic;
	line-height: var(--vnw-snug);
}

.pyminyf-quote::before {
	content: '\201C';
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--vnw-beacon);
	font-size: 56px;
	line-height: 1;
}

.pyminyf-detail {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: var(--vnw-step-0) var(--vnw-step-2);
	margin-top: var(--vnw-step-3);
	font-family: var(--vnw-head);
	font-size: var(--vnw-petite);
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
}

.pyminyf-who { color: var(--vnw-reading); font-weight: var(--vnw-semi); }
.pyminyf-moment { color: var(--vnw-muted); }
.pyminyf-score { color: var(--vnw-gradient-mid); font-weight: var(--vnw-black); }

.pyminyf-rule {
	width: 80px;
	height: 1px;
	margin: 0 auto;
	border: 0;
	background: var(--vnw-border-strong);
}

/* ── data table (TABLE-03, Card-Style Per Row) ────────────────── */
.didagof { background: var(--vnw-back); }

.didagof-legend {
	margin-block-end: var(--vnw-step-3);
	color: var(--vnw-muted);
	font-family: var(--vnw-head);
	font-size: var(--vnw-petite);
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
}

.didagof-frame { width: 100%; overflow-x: auto; }

.didagof-grid { width: 100%; font-size: var(--vnw-petite); }

.didagof-grid th {
	padding: var(--vnw-step-2) var(--vnw-step-3);
	background: var(--vnw-lift);
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-mini);
	letter-spacing: var(--vnw-wide);
	text-align: left;
	text-transform: uppercase;
}

.didagof-grid td {
	padding: var(--vnw-step-2) var(--vnw-step-3);
	background: var(--vnw-surface-2);
	color: var(--vnw-soft);
	border-top: var(--vnw-hair) solid var(--vnw-stroke);
	vertical-align: top;
}

/* ── FAQ (FAQ-07, Compact Mini-FAQ) ───────────────────────────── */
.kumux { background: var(--vnw-back); }

.kumux-lede { margin-block-end: var(--vnw-step-4); text-align: center; }

.kumux-chain { display: flex; flex-direction: column; gap: var(--vnw-step-2); }

.kumux-slot { border-bottom: var(--vnw-hair) solid rgba(255, 255, 255, 0.08); }

.kumux-ask {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--vnw-step-2);
	padding-block: var(--vnw-step-1);
	cursor: pointer;
	list-style: none;
}

.kumux-ask::-webkit-details-marker { display: none; }

.kumux-caption {
	margin: 0;
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-petite);
	font-weight: var(--vnw-semi);
	line-height: 1.45;
}

.kumux-sign {
	position: relative;
	width: 16px;
	height: 16px;
	flex: 0 0 auto;
	transition: transform var(--vnw-regular) var(--vnw-smooth);
}

.kumux-sign::before,
.kumux-sign::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	background: var(--vnw-beacon);
}

.kumux-sign::before { width: 14px; height: 2px; margin: -1px 0 0 -7px; }
.kumux-sign::after { width: 2px; height: 14px; margin: -7px 0 0 -1px; }

.kumux-slot[open] .kumux-sign { transform: rotate(135deg); }

.kumux-meat { padding-block: 0 var(--vnw-step-1); }

.kumux-meat .kumux-prose {
	margin: 0;
	color: var(--vnw-muted);
	font-size: var(--vnw-petite);
	line-height: var(--vnw-even);
}

/* ── CTA block (CTA-07, Vertical Card + Decorative Number) ────── */
.vegy { background: var(--vnw-back); scroll-margin-top: 130px; }

.vegy-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--vnw-step-2);
	padding: var(--vnw-step-6) var(--vnw-step-4);
	background: var(--vnw-back);
	border: var(--b-regular) solid var(--vnw-beacon);
	border-radius: var(--r-step-4);
	text-align: center;
}

.vegy-caption { font-size: var(--vnw-h2); }

.vegy-numeral {
	color: var(--vnw-beacon);
	font-family: var(--vnw-head);
	font-size: var(--vnw-title);
	font-weight: var(--vnw-black);
	line-height: 1;
}

.vegy-prose { max-width: var(--vnw-column); margin: 0; color: var(--vnw-soft); }

.vegy-detail { color: var(--vnw-muted); font-size: var(--vnw-mini); }

/* ── author byline (BYLINE-04, Quote-Style) ───────────────────── */
.nonu {
	display: block;
	max-width: calc(var(--vnw-main) + 2 * var(--vnw-padding-desktop));
	margin-inline: auto;
	padding: var(--vnw-step-5) var(--vnw-padding-desktop);
	background: var(--vnw-back);
}

.nonu-quote {
	position: relative;
	max-width: var(--vnw-column);
	margin: 0 auto;
	padding-top: var(--vnw-step-4);
	text-align: center;
}

.nonu-quote::before {
	content: '\201C';
	position: absolute;
	top: -10px;
	left: 50%;
	transform: translateX(-50%);
	color: var(--vnw-beacon);
	font-family: var(--vnw-head);
	font-size: 52px;
	line-height: 1;
}

.nonu-prose {
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-md-2);
	font-style: italic;
	line-height: 1.45;
}

.nonu-detail {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--vnw-step-0) var(--vnw-step-1);
	margin-top: var(--vnw-step-2);
}

.nonu-avatar {
	width: 40px;
	height: 40px;
	flex: 0 0 auto;
	border-radius: var(--vnw-dot);
	object-fit: cover;
}

.nonu-who { color: var(--vnw-gradient-mid); font-family: var(--vnw-head); font-style: normal; font-weight: var(--vnw-black); }
.nonu-mini { color: var(--vnw-muted); font-size: var(--vnw-mini); font-weight: var(--vnw-normal); }
.nonu-role { color: var(--vnw-muted); font-size: var(--vnw-petite); font-style: italic; }
.nonu-moment { color: var(--vnw-muted); font-size: var(--vnw-mini); }

/* ── author card (AUTH-08, Minimal Avatar + Name) ─────────────── */
.vupi { display: block; background: var(--vnw-back); padding-block: var(--vnw-step-4); }

.vupi-core { display: flex; flex-wrap: wrap; align-items: center; gap: var(--vnw-step-4); }

.vupi-face { display: inline-flex; align-items: center; gap: var(--vnw-step-2); flex: 0 0 auto; }

.vupi-avatar {
	width: 68px;
	height: 68px;
	flex: 0 0 auto;
	border-radius: var(--vnw-dot);
	object-fit: cover;
	object-position: 42% 30%;
}

.vupi-mark { display: flex; flex-direction: column; }

.vupi-who { display: block; color: var(--vnw-reading); font-family: var(--vnw-head); font-size: var(--vnw-md-2); font-weight: var(--vnw-black); }
.vupi-role { display: block; color: var(--vnw-muted); font-size: var(--vnw-mini); }

.vupi-chain {
	display: flex;
	flex-wrap: wrap;
	gap: var(--vnw-step-0);
	list-style: none;
}

.vupi-chain li {
	padding: var(--vnw-step-0) var(--vnw-step-2);
	background: var(--vnw-surface-2);
	border-radius: var(--vnw-stadium);
	color: #d9cfc8;
	font-family: var(--vnw-head);
	font-size: 13px;
}

/* ── page header (PHEAD-06, Subtle Editorial) ─────────────────── */
.tosuku { background: var(--vnw-back); }

.tosuku-second {
	position: relative;
	max-width: var(--vnw-column);
	margin-top: var(--vnw-step-4);
	padding-top: var(--vnw-step-3);
	color: var(--vnw-muted);
	font-family: var(--vnw-body);
	font-size: var(--vnw-sm-2);
	font-style: italic;
}

.tosuku-second::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 40px;
	height: 1px;
	background: rgba(255, 255, 255, 0.2);
}

/* ── legal (LEGAL-06, Compact Multi-Page) ─────────────────────── */
.badani { background: var(--vnw-back); padding-block: var(--vnw-step-5); counter-reset: clause; }

.badani-intro { color: var(--vnw-soft); font-size: var(--z-reading); }

.badani-detail { color: var(--vnw-muted); font-size: var(--vnw-petite); }

.badani-chain { list-style: none; }

.badani-slot { margin-block-end: var(--vnw-step-3); }

.badani-caption {
	margin-block-end: var(--vnw-step-1);
	color: var(--vnw-reading);
	font-family: var(--vnw-body);
	font-size: var(--vnw-md-2);
	font-weight: var(--vnw-black);
}

.badani-chain > .badani-slot > .badani-caption::before {
	counter-increment: clause;
	content: '\00A7 ' counter(clause) '. ';
	color: var(--vnw-beacon);
}

.badani-prose { color: var(--vnw-soft); font-size: var(--vnw-petite); line-height: var(--vnw-even); }

.badani-aid { margin-block-start: var(--vnw-step-4); }

.badani-stack { padding-left: var(--vnw-step-3); color: var(--vnw-soft); font-size: var(--vnw-petite); }

.badani-note {
	margin-block-start: var(--vnw-step-4);
	padding: var(--vnw-step-3);
	background: var(--vnw-surface-2);
	border-left: var(--b-wide) solid var(--vnw-base);
	color: var(--vnw-muted);
	font-size: var(--vnw-mini);
	line-height: var(--vnw-even);
}

/* ── contact form (FORM-01, Stacked Standard) ─────────────────── */
.lagyzy { background: var(--vnw-back); }

.lagyzy-prose { margin-block-end: var(--vnw-step-4); color: var(--vnw-muted); line-height: var(--vnw-even); }

.lagyzy-done {
	display: none;
	margin-block-end: var(--vnw-step-3);
	padding: var(--vnw-step-3);
	background: #123321;
	border: var(--vnw-hair) solid #2f6b45;
	border-radius: var(--r-step-3);
	color: var(--vnw-reading);
	font-size: var(--vnw-petite);
}

.lagyzy-done.is-visible { display: block; }

.lagyzy-sheet {
	display: flex;
	flex-direction: column;
	gap: var(--vnw-step-3);
	padding: var(--vnw-step-4);
	background: var(--vnw-surface-2);
	border-radius: var(--r-step-3);
	box-shadow: var(--d-step-2);
}

.lagyzy-cell { display: flex; flex-direction: column; gap: var(--vnw-step-0); }

.lagyzy-label {
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-petite);
	font-weight: var(--vnw-semi);
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
}

.lagyzy-input,
.lagyzy-area {
	width: 100%;
	padding: var(--vnw-step-1) var(--vnw-step-2);
	background: var(--vnw-back);
	border: var(--vnw-hair) solid rgba(255, 255, 255, 0.14);
	border-radius: var(--r-step-3);
	color: var(--vnw-reading);
	font-family: var(--vnw-body);
	font-size: var(--vnw-petite);
}

.lagyzy-input { height: 50px; }
.lagyzy-area { min-height: 130px; resize: vertical; }

.lagyzy-input:focus,
.lagyzy-area:focus { border-color: var(--vnw-beacon); outline: none; }

.lagyzy-send {
	align-self: flex-start;
	min-height: 50px;
	padding-inline: var(--vnw-step-5);
	border: 0;
	border-radius: var(--r-step-3);
	background: var(--vnw-beacon);
	color: var(--vnw-back);
	font-family: var(--vnw-head);
	font-size: var(--vnw-petite);
	font-weight: var(--vnw-black);
	letter-spacing: var(--vnw-wide);
	text-transform: uppercase;
	cursor: pointer;
}

.lagyzy-send:hover { background: var(--vnw-press); color: var(--vnw-reading); }

/* ── error block (ERR-06, Bordered Card) ──────────────────────── */
.kalypif { background: var(--vnw-back); padding-block: var(--vnw-step-7); }

.kalypif-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--vnw-step-3);
	max-width: var(--vnw-column);
	margin-inline: auto;
	padding: var(--vnw-step-6) var(--vnw-step-4);
	background: var(--vnw-surface-2);
	border: var(--b-regular) solid var(--vnw-beacon);
	border-radius: var(--r-step-4);
	box-shadow: var(--d-step-3);
	text-align: center;
}

.kalypif-code {
	color: var(--vnw-beacon);
	font-family: var(--vnw-head);
	font-size: 56px;
	font-weight: var(--vnw-black);
	line-height: 1;
	letter-spacing: 0.06em;
}

.kalypif-caption { font-size: var(--vnw-h2); }

.kalypif-prose { margin: 0; color: var(--vnw-soft); font-size: var(--vnw-petite); }

.kalypif-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding-inline: var(--vnw-step-4);
	border-radius: var(--r-step-3);
	background: var(--vnw-base);
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-weight: var(--vnw-black);
}

.kalypif-button:hover { background: var(--vnw-press); color: var(--vnw-reading); }

/* ── footer (FOOT-07, Side-Anchored Asymmetric) ───────────────── */
.sukaxi { background: var(--vnw-base); color: var(--vnw-reading); }

.sukaxi-core {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--vnw-step-5);
	padding-block: var(--vnw-step-6);
}

.sukaxi-meat { display: flex; flex-direction: column; gap: var(--vnw-step-3); min-width: 0; }

.sukaxi-logo {
	display: inline-flex;
	align-self: flex-start;
	padding: var(--vnw-step-1) var(--vnw-step-3);
	background: var(--vnw-back);
	border-radius: var(--r-step-3);
}

.sukaxi-logo img { height: 52px; width: auto; }

.sukaxi-copy { margin: 0; max-width: var(--vnw-column); color: var(--vnw-warm); font-size: var(--vnw-petite); }

.sukaxi-tracks { display: flex; flex-wrap: wrap; gap: var(--vnw-step-5); }

.sukaxi-guide { min-width: 180px; }

.sukaxi-lede {
	margin-block-end: var(--vnw-step-1);
	color: var(--vnw-reading);
	font-family: var(--vnw-head);
	font-size: var(--vnw-mini);
	font-weight: var(--vnw-black);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.sukaxi-chain { list-style: none; }

.sukaxi-chain li { margin-block-end: 4px; line-height: 1.5; }

.sukaxi-tracks .sukaxi-guide:first-child { flex: 1 1 320px; }

.sukaxi-tracks .sukaxi-guide:first-child .sukaxi-chain {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--vnw-step-3);
}

.sukaxi-route { color: var(--vnw-warm); font-family: var(--vnw-head); font-size: var(--vnw-petite); }

.sukaxi-route:hover { color: var(--vnw-reading); text-decoration: underline; }

.sukaxi-detail { color: #f0dccd; font-size: var(--vnw-mini); }

.sukaxi-side {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--vnw-step-5);
	background: var(--vnw-beacon);
	border-radius: var(--r-step-4);
}

.sukaxi-side-label {
	color: var(--vnw-back);
	font-family: var(--vnw-head);
	font-size: var(--vnw-h2);
	font-weight: var(--vnw-black);
	letter-spacing: var(--vnw-packed);
	text-transform: uppercase;
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	white-space: nowrap;
}

/* ── cookie banner (COOK-09, Left-Anchored Slab) ──────────────── */
.zoxonad {
	position: fixed;
	inset-block-end: calc(var(--vnw-rg-h) + var(--vnw-step-3));
	inset-inline-start: var(--vnw-step-4);
	inset-inline-end: auto;
	z-index: 90;
	max-width: min(420px, calc(100vw - 2 * var(--vnw-step-4)));
	background: var(--vnw-back);
	border-left: 4px solid var(--vnw-beacon);
	border-radius: 0 6px 0 0;
	box-shadow: var(--d-step-5);
	transition: opacity var(--vnw-regular) var(--vnw-release), visibility var(--vnw-regular) var(--vnw-release);
}

.zoxonad.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }

.zoxonad-meat { display: flex; flex-direction: column; gap: var(--vnw-step-2); padding: var(--vnw-step-3); }

.zoxonad-copy { margin: 0; color: var(--vnw-soft); font-size: var(--vnw-mini); line-height: 1.5; }

.zoxonad-deck { display: flex; flex-wrap: wrap; gap: var(--vnw-step-1); justify-content: flex-start; }

.zoxonad-yes,
.zoxonad-no {
	min-height: 40px;
	padding: var(--vnw-step-0) var(--vnw-step-3);
	border: var(--vnw-hair) solid var(--vnw-beacon);
	border-radius: var(--r-step-2);
	font-family: var(--vnw-head);
	font-size: 13px;
	font-weight: var(--vnw-semi);
	cursor: pointer;
}

.zoxonad-yes { background: var(--vnw-beacon); color: var(--vnw-back); }
.zoxonad-no { background: var(--vnw-back); color: var(--vnw-warm); }

/* ── RG banner (RG-06, прилипшая снизу) ───────────────────────── */
.faguz {
	position: fixed;
	inset-block-end: 0;
	inset-inline: 0;
	z-index: 95;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 4px var(--vnw-step-1);
	min-height: var(--vnw-rg-h);
	margin: 0;
	padding: 6px var(--vnw-step-2);
	background: var(--vnw-warn-band);
	color: #ffffff;
	font-family: var(--vnw-head);
	font-size: 13px;
	line-height: 1.3;
	text-align: center;
	pointer-events: none;
}

.faguz-copy { color: #ffffff; }

.faguz-route { color: #ffffff; text-decoration: underline; pointer-events: auto; }

.faguz-route:hover { color: #ffffff; }

/* ── responsive ───────────────────────────────────────────────── */
@media (max-width: 1500px) {
	.noveka-core,
	.sukaxi-core,
	.pivir-core,
	.tosuku-core,
	.luvu-core,
	.kumux-core,
	.pyminyf-core,
	.vegy-core,
	.vymasu-core,
	.didagof-core,
	.badani-core,
	.lagyzy-core,
	.vupi-core,
	.kalypif-core,
	.fese-core,
	.lakabo-core { padding-inline: var(--vnw-padding-tablet); }

	.nonu { padding-inline: var(--vnw-padding-tablet); }
}

@media (max-width: 1140px) {
	.luvu-deck { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 899px) {
	.noveka-guide { display: none; }
	.noveka-trigger { display: flex; }
	.noveka-strip { height: var(--vnw-height-mobile); }
	.noveka.is-shrunk .noveka-strip { height: var(--vnw-height-mobile); }
	.noveka-logo img { height: 44px; }
	.noveka-detail { font-size: 12px; }
	.noveka-market { margin-left: auto; }
	.noveka-aid { display: none; }

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

	.sukaxi-core { grid-template-columns: 1fr; }
	.sukaxi-side { padding: var(--vnw-step-3); }
	.sukaxi-side-label { writing-mode: horizontal-tb; transform: none; font-size: var(--vnw-display-3); }
}

@media (max-width: 780px) {
	.noveka-core,
	.sukaxi-core,
	.pivir-core,
	.tosuku-core,
	.luvu-core,
	.kumux-core,
	.pyminyf-core,
	.vegy-core,
	.vymasu-core,
	.didagof-core,
	.badani-core,
	.lagyzy-core,
	.vupi-core,
	.kalypif-core,
	.fese-core,
	.lakabo-core { padding-inline: var(--vnw-inset-mobile); }

	.nonu { padding-inline: var(--vnw-inset-mobile); }

	main > section { padding-block: var(--vnw-step-4); }

	body { font-size: 18px; }

	.pivir { padding-block: 0 var(--vnw-step-5); }
	.pivir-figure img { height: 220px; }
	.pivir-second { font-size: var(--vnw-sm-2); }
	.pivir-invite,
	.lakabo-button,
	.vegy-button,
	.luvu-plug .luvu-button { width: 100%; padding-inline: var(--vnw-step-3); }

	.vymasu-slot { margin-block-end: var(--vnw-step-5); }
	.vymasu-figure img { max-height: 300px; }
	.vymasu-figure.is-tall img { max-width: 260px; max-height: 340px; }

	.lakabo-core { flex-direction: column; align-items: stretch; text-align: center; }

	.pyminyf-quote { font-size: var(--vnw-md-2); }

	.vegy-card { padding: var(--vnw-step-5) var(--vnw-step-3); }

	.kalypif { padding-block: var(--vnw-step-6); }
	.kalypif-card { padding: var(--vnw-step-5) var(--vnw-step-3); }
	.kalypif-code { font-size: 44px; }

	.didagof-grid,
	.didagof-grid thead,
	.didagof-grid tbody,
	.didagof-grid tr,
	.didagof-grid td { display: block; width: 100%; }

	.didagof-grid thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

	.didagof-grid tr {
		margin-block-end: var(--vnw-step-3);
		padding: var(--vnw-step-2);
		background: var(--vnw-surface-2);
		border-radius: var(--r-step-3);
	}

	.didagof-grid td { padding: var(--vnw-step-0) 0; border-top: 0; background: transparent; }

	.didagof-grid td::before {
		content: attr(data-label);
		display: block;
		color: var(--vnw-muted);
		font-family: var(--vnw-head);
		font-size: 12px;
		letter-spacing: var(--vnw-wide);
		text-transform: uppercase;
	}

	.vupi-core { gap: var(--vnw-step-2); }
	.vupi-chain li { font-size: 12px; }

	.zoxonad {
		inset-inline: var(--vnw-step-1);
		inset-block-end: calc(var(--vnw-rg-h) + var(--vnw-step-1));
		max-width: none;
	}

	.zoxonad-meat { padding: 12px 14px; gap: 8px; }
	.zoxonad-copy { font-size: 13px; line-height: 1.35; }
	.zoxonad-yes,
	.zoxonad-no { flex: 1 1 auto; min-width: 46%; min-height: 38px; padding: 8px 12px; font-size: 12px; }

	.faguz { font-size: 12px; padding-inline: var(--vnw-step-0); }
}

@media (max-width: 620px) {
	.noveka-detail { display: none; }
	.luvu-deck { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
	.pyminyf-detail { gap: 4px var(--vnw-step-1); font-size: var(--vnw-mini); }
	.sukaxi-tracks { gap: var(--vnw-step-3); }
}

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

	[data-enter] { opacity: 1; transform: none; }
}

/* ── офферная кнопка (scripts/cta-style.mjs) ──────────────────── */
.sese-lead{display:inline-flex;align-items:center;justify-content:center;padding:var(--vnw-step-1) var(--vnw-step-5);min-height:52px;border-radius:var(--r-step-3);font-size:var(--vnw-sm-2);font-weight:var(--vnw-black)}
.sese-lead{
  background:#16A34A;color:#120805;text-decoration:none;
  transition:background 0.1s ease-out;}
.sese-lead.sese-lead{color:#120805;text-decoration:none;}
.sese-lead:hover{background:#15803D;color:#FFFFFF;animation:none}
.sese-lead.sese-lead:hover{color:#FFFFFF;text-decoration:none}
.sese-lead:hover::after{animation:none}
.sese-lead:active{background:#166534;color:#FFFFFF}
.sese-lead:focus-visible{outline:3px solid #120805;outline-offset:3px}
.sese-lead{animation:sese-sweep 1.32s ease-in-out infinite}
@keyframes sese-sweep{0%{transform:translateY(0)}19.697%{transform:translateY(-3px)}62.121%,100%{transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.sese-lead,.sese-lead::after{animation:none!important;transition:none!important}}
.lakabo-core .sese-lead { box-shadow: 0 0 0 3px var(--vnw-back); }
.luvu-plug .sese-lead { box-shadow: 0 0 0 3px var(--vnw-back); }

@media (max-width: 922px) {
  .noveka-aid,
  .noveka-guide,
  .noveka-chain { display: none !important; }
  .noveka-trigger { display: flex !important; }
}
