@font-face {
	font-display: swap;
	font-family: 'Sofia Sans Condensed';
	font-style: normal;
	font-weight: 400 800;
	src: local('Sofia Sans Condensed'), local('Bebas Neue');
}

:root {
	--bp-md: 720px;
	--bp-lg: 1024px;
	--color-accent: #ff387e;
	--color-accent-pressed: #ff0b58;
	--color-bg: #daeefe;
	--color-bg-elevated: #ffffff;
	--color-border: #c5d8e9;
	--color-border-soft: #e3eef8;
	--color-card: #ffffff;
	--color-gradient-light: #72d199;
	--color-gradient-mid: #fdc806;
	--color-primary: #ffffff;
	--color-rg-banner: #dc2626;
	--color-text: #1d2834;
	--color-text-muted: #555c66;
	--container-padding: 20px;
	--container-padding-desktop: 32px;
	--container-readable: 680px;
	--container-site: 1140px;
	--font-body: 'Sofia Sans Condensed', 'Bebas Neue', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
	--font-display: 'Sofia Sans Condensed', 'Bebas Neue', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
	--header-h-desktop: 96px;
	--header-h-mobile: 72px;
	--motion-fast: 140ms cubic-bezier(.4,0,.2,1);
	--motion-med: 240ms cubic-bezier(.4,0,.2,1);
	--radius-lg: 18px;
	--radius-md: 12px;
	--radius-sm: 8px;
	--shadow-card: 0 6px 24px rgba(29, 40, 52, .08);
	--shadow-pop: 0 16px 40px rgba(29, 40, 52, .14);
	--space-2xl: 64px;
	--space-lg: 24px;
	--space-md: 16px;
	--space-sm: 10px;
	--space-xl: 40px;
	--space-xs: 6px;
}

* { box-sizing: border-box; }

html, body { overflow-x: clip; }

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

body {
	background: var(--color-bg);
	color: var(--color-text);
	font-family: var(--font-body);
	font-size: 17px;
	font-weight: 500;
	line-height: 1.6;
	margin: 0;
	min-height: 100vh;
}

a { color: var(--color-accent-pressed); text-decoration: underline; text-underline-offset: 2px; }
a:hover { color: var(--color-accent); }

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

h1, h2, h3, h4 {
	color: var(--color-text);
	font-family: var(--font-display);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.18;
	margin: 0 0 .6em;
}

h1 { font-size: clamp(34px, 4.4vw, 56px); }
h2 { font-size: clamp(26px, 3vw, 38px); }
h3 { font-size: clamp(20px, 2vw, 24px); }

p { margin: 0 0 1em; }

ul, ol { padding-left: 22px; margin: 0 0 1em; }
li { margin-bottom: .35em; }

.skip-link {
	background: var(--color-text);
	color: #fff;
	left: 50%;
	padding: 10px 18px;
	position: fixed;
	transform: translateX(-50%);
	z-index: 999;
}
.skip-link:not(:focus) { top: -200px !important; }
.skip-link:focus { top: 8px; }

.sr-only {
	border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute; white-space: nowrap; width: 1px;
}

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

/* ====== Header (HEAD-14 / .kiky) ====== */

.kiky {
	background: linear-gradient(180deg, #ffffff 0%, #f3f9ff 100%);
	border-bottom: 1px solid var(--color-border);
	position: relative;
	z-index: 30;
}
.kiky-inner {
	align-items: center;
	display: flex;
	gap: var(--space-md);
	margin: 0 auto;
	max-width: 1440px;
	min-height: var(--header-h-desktop);
	padding: 14px var(--container-padding-desktop);
}
.kiky-logo { align-items: center; display: inline-flex; flex-shrink: 0; }
.kiky-logo-img { display: block; flex-shrink: 0; height: 96px; width: auto; }
.kiky-nav { align-items: center; display: flex; flex: 1; gap: 18px; justify-content: center; }
.kiky-nav-list {
	display: flex; flex-wrap: nowrap; gap: 6px;
	list-style: none; margin: 0; padding: 0;
}
.kiky-nav-link {
	border-radius: var(--radius-sm);
	color: var(--color-text);
	display: inline-block;
	font-weight: 600;
	padding: 10px 14px;
	text-decoration: none;
	transition: background var(--motion-fast), color var(--motion-fast);
}
.kiky-nav-link:hover { background: rgba(255,56,126,.08); color: var(--color-accent-pressed); }
.kiky-nav-link.is-current { background: var(--color-accent); color: #fff; }

.kiky-more { position: relative; }
.kiky-more-toggle {
	align-items: center; background: transparent; border: 1px solid var(--color-border);
	border-radius: var(--radius-sm); color: var(--color-text); cursor: pointer;
	display: inline-flex; font: inherit; font-weight: 600; gap: 6px;
	padding: 10px 14px;
}
.kiky-more-toggle:hover { background: #fff; color: var(--color-accent-pressed); }
.kiky-more-toggle::after { content: "▾"; font-size: 12px; }
.kiky-more-menu {
	background: #fff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	box-shadow: var(--shadow-pop);
	display: none;
	list-style: none; margin: 6px 0 0;
	min-width: 220px;
	padding: 8px;
	position: absolute; right: 0; top: 100%;
	z-index: 40;
}
.kiky-more.is-open .kiky-more-menu { display: block; }
.kiky-more-menu a {
	border-radius: var(--radius-sm);
	color: var(--color-text);
	display: block;
	font-weight: 600;
	padding: 8px 12px;
	text-decoration: none;
}
.kiky-more-menu a:hover { background: var(--color-bg); color: var(--color-accent-pressed); }

.kiky-toggle {
	background: transparent; border: 0; cursor: pointer;
	display: none; margin-left: auto !important;
	padding: 8px;
}
.kiky-toggle-bar {
	background: var(--color-text);
	display: block; height: 3px; margin: 5px 0;
	transition: transform var(--motion-fast), opacity var(--motion-fast);
	width: 28px;
}

.kiky-mobile {
	background: #fff;
	border-bottom: 1px solid var(--color-border);
	display: none;
	padding: 12px var(--container-padding) 24px;
}
.kiky-mobile.is-open { display: block; }
.kiky-mobile-list { list-style: none; margin: 0; padding: 0; }
.kiky-mobile-list li + li { border-top: 1px solid var(--color-border-soft); }
.kiky-mobile-link {
	color: var(--color-text);
	display: block;
	font-weight: 600;
	padding: 14px 8px;
	text-decoration: none;
}
.kiky-mobile-link.is-current { color: var(--color-accent-pressed); }

@media (max-width: 1023px) {
	.kiky-nav, .kiky-more { display: none; }
	.kiky-toggle { display: inline-block; }
	.kiky-inner { min-height: var(--header-h-mobile); }
	.kiky-logo-img { height: 72px; }
}
@media (max-width: 720px) {
	.kiky-logo-img { height: 64px; }
	.kiky-inner { padding: 10px var(--container-padding); }
}

/* ====== Hero (HERO-10 / .lefot) ====== */

.lefot {
	background:
		radial-gradient(circle at 12% 18%, rgba(253,200,6,.32), transparent 55%),
		radial-gradient(circle at 88% 78%, rgba(114,209,153,.36), transparent 55%),
		linear-gradient(135deg, #ffffff 0%, #f1faff 60%, #e7f4ff 100%);
	display: flex;
	align-items: center;
	min-height: 100vh;
	position: relative;
	overflow: hidden;
}
.lefot-inner {
	align-items: center;
	display: grid;
	gap: var(--space-xl);
	grid-template-columns: 1.05fr .95fr;
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: var(--space-2xl) var(--container-padding-desktop);
	width: 100%;
}
.lefot-eyebrow {
	background: var(--color-accent);
	border-radius: 999px;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	padding: 6px 14px;
	text-transform: uppercase;
}
.lefot-title { font-size: clamp(38px, 5vw, 64px); margin-top: 16px; }
.lefot-sub { color: var(--color-text-muted); font-size: 18px; max-width: 480px; }
.lefot-cta {
	background: var(--color-accent);
	border: 0; border-radius: 999px;
	color: #fff;
	cursor: pointer;
	display: inline-block;
	font: 700 18px/1 var(--font-display);
	letter-spacing: .04em;
	margin-top: var(--space-lg);
	padding: 18px 36px;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform var(--motion-fast), background var(--motion-fast);
}
.lefot-cta:hover { background: var(--color-accent-pressed); color: #fff; transform: translateY(-2px); }
.lefot-art {
	border-radius: 28px;
	box-shadow: var(--shadow-card);
	overflow: hidden;
}
.lefot-art img { display: block; height: auto; width: 100%; }

@media (max-width: 900px) {
	.lefot { min-height: auto; padding: 24px 0; }
	.lefot-inner { grid-template-columns: 1fr; padding: var(--space-xl) var(--container-padding); }
	.lefot-art { order: -1; }
}

/* ====== Breadcrumbs (BREAD-06 / .zazama) ====== */

.zazama {
	background: transparent;
	padding: 22px 0 0;
}
.zazama-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.zazama-list {
	color: var(--color-text-muted);
	display: flex; flex-wrap: wrap;
	font-size: 14px;
	gap: 6px;
	list-style: none; margin: 0; padding: 0;
}
.zazama-list li { align-items: center; display: inline-flex; gap: 6px; }
.zazama-list li + li::before { color: var(--color-border); content: "›"; padding-right: 4px; }
.zazama-list a { color: var(--color-text-muted); text-decoration: none; }
.zazama-list a:hover { color: var(--color-accent-pressed); }
.zazama-list .is-current { color: var(--color-text); font-weight: 600; }

@media (max-width: 720px) { .zazama-inner { padding: 0 var(--container-padding); } }

/* ====== Page header (PHEAD-10 / .rixob) ====== */

.rixob {
	padding: var(--space-xl) 0 var(--space-lg);
}
.rixob-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.rixob-title { margin: 0; }
.rixob-sub { color: var(--color-text-muted); max-width: 760px; margin-top: 14px; }

@media (max-width: 720px) { .rixob-inner { padding: 0 var(--container-padding); } }

/* ====== Prose (PROSE-05 / .tumi) ====== */

.tumi { padding: var(--space-lg) 0; }
.tumi-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.tumi-section { margin-bottom: var(--space-xl); }
.tumi-section h2 { margin-bottom: 14px; }
.tumi-section p { color: var(--color-text); font-size: 17px; line-height: 1.72; }
.tumi-section a { color: var(--color-accent-pressed); }
.tumi-section img { border-radius: var(--radius-md); margin: 18px 0; box-shadow: var(--shadow-card); }
.tumi-section ol li, .tumi-section ul li { margin-bottom: 8px; }

@media (max-width: 720px) { .tumi-inner { padding: 0 var(--container-padding); } }

/* ====== Items grid (GRID-12 / .guzu) ====== */

.guzu { padding: var(--space-xl) 0; }
.guzu-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.guzu-heading { margin-bottom: var(--space-lg); }
.guzu-list {
	display: grid;
	gap: var(--space-md);
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	list-style: none; margin: 0; padding: 0;
}
.guzu-item {
	background: var(--color-card);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	display: flex; flex-direction: column;
	padding: 22px;
	transition: transform var(--motion-fast), box-shadow var(--motion-fast);
}
.guzu-item:hover { box-shadow: var(--shadow-pop); transform: translateY(-2px); }
.guzu-item-num {
	background: linear-gradient(135deg, var(--color-gradient-mid), var(--color-accent));
	border-radius: 12px;
	color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 800;
	height: 38px; width: 38px;
	margin-bottom: 12px;
}
.guzu-item-title { font-size: 19px; margin-bottom: 8px; }
.guzu-item-text { color: var(--color-text-muted); font-size: 15.5px; line-height: 1.55; }

@media (max-width: 720px) { .guzu-inner { padding: 0 var(--container-padding); } }

/* ====== Reviews (REV-01 / .fupinix) ====== */

.fupinix { padding: var(--space-xl) 0; }
.fupinix-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.fupinix-heading { margin-bottom: var(--space-lg); }
.fupinix-list {
	display: grid; gap: var(--space-md);
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	list-style: none; margin: 0; padding: 0;
}
.fupinix-card {
	background: var(--color-card);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	padding: 22px;
}
.fupinix-meta { align-items: center; display: flex; gap: 10px; margin-bottom: 10px; }
.fupinix-author { font-weight: 700; }
.fupinix-rating {
	background: var(--color-gradient-mid);
	border-radius: 999px;
	color: #1d2834;
	font-size: 13px; font-weight: 700;
	padding: 3px 10px;
}
.fupinix-text { color: var(--color-text); font-size: 16px; line-height: 1.6; margin: 0; }

@media (max-width: 720px) { .fupinix-inner { padding: 0 var(--container-padding); } }

/* ====== FAQ (FAQ-03 / .zuke) ====== */

.zuke { padding: var(--space-xl) 0; }
.zuke-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.zuke-heading { margin-bottom: var(--space-lg); }
.zuke-list { list-style: none; margin: 0; padding: 0; }
.zuke-item {
	background: var(--color-card);
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	margin-bottom: 10px;
	overflow: hidden;
}
.zuke-toggle {
	align-items: center; background: transparent; border: 0;
	color: var(--color-text); cursor: pointer;
	display: flex; gap: 14px; justify-content: space-between;
	font: 700 17px/1.35 var(--font-display);
	padding: 18px 22px;
	text-align: left;
	width: 100%;
}
.zuke-toggle::after { content: "+"; font-size: 24px; transition: transform var(--motion-fast); }
.zuke-toggle[aria-expanded="true"]::after { transform: rotate(45deg); }
.zuke-toggle[aria-expanded="true"] { color: var(--color-accent-pressed); }
.zuke-answer {
	color: var(--color-text-muted);
	display: none;
	padding: 0 22px 20px;
}
.zuke-answer.is-open { display: block; }

@media (max-width: 720px) { .zuke-inner { padding: 0 var(--container-padding); } }

/* ====== CTA block (CTA-06 / .pakem) ====== */

.pakem { padding: var(--space-2xl) 0; }
.pakem-inner {
	background: linear-gradient(135deg, var(--color-accent) 0%, #ff7b3a 100%);
	border-radius: 24px;
	box-shadow: var(--shadow-pop);
	color: #fff;
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	overflow: hidden;
	padding: var(--space-2xl) var(--container-padding-desktop);
	position: relative;
	text-align: center;
}
.pakem-title { color: #fff; font-size: clamp(28px, 3.6vw, 42px); margin: 0 auto 14px; max-width: 720px; }
.pakem-text { color: rgba(255,255,255,.92); margin: 0 auto var(--space-lg); max-width: 580px; }
.pakem-btn {
	background: #fff;
	border-radius: 999px;
	color: var(--color-accent-pressed);
	display: inline-block;
	font: 700 17px/1 var(--font-display);
	letter-spacing: .04em;
	padding: 18px 38px;
	text-decoration: none;
	text-transform: uppercase;
	transition: transform var(--motion-fast), background var(--motion-fast), color var(--motion-fast);
}
.pakem-btn:hover { background: #1d2834; color: #fff; transform: translateY(-2px); }

@media (max-width: 720px) { .pakem-inner { padding: var(--space-xl) var(--container-padding); } }

/* ====== Data table (TABLE-04 / .goxavi) ====== */

.goxavi { padding: var(--space-lg) 0; }
.goxavi-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	overflow-x: auto;
	padding: 0 var(--container-padding-desktop);
}
.goxavi-table {
	background: #fff;
	border-collapse: collapse;
	border-radius: var(--radius-md);
	overflow: hidden;
	width: 100%;
}
.goxavi-table th, .goxavi-table td {
	border-bottom: 1px solid var(--color-border-soft);
	padding: 14px 16px;
	text-align: left;
	vertical-align: top;
}
.goxavi-table th {
	background: var(--color-text);
	color: #fff;
	font-weight: 700;
}
.goxavi-table tr:nth-child(2n) td { background: #f7fbff; }

@media (max-width: 720px) { .goxavi-inner { padding: 0 var(--container-padding); } }

/* ====== Inline CTA (INLINE-CTA-06 / .gavary) ====== */

.gavary { padding: var(--space-xl) 0; }
.gavary-inner {
	background: var(--color-text);
	border-radius: var(--radius-lg);
	color: #fff;
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: var(--space-xl) var(--container-padding-desktop);
	text-align: center;
}
.gavary-title { color: #fff; font-size: 26px; margin: 0 0 10px; }
.gavary-text { color: rgba(255,255,255,.85); margin: 0 auto 22px; max-width: 580px; }
.gavary-btn {
	background: var(--color-gradient-mid);
	border-radius: 999px;
	color: #1d2834;
	display: inline-block;
	font: 700 16px/1 var(--font-display);
	padding: 16px 32px;
	text-decoration: none;
	text-transform: uppercase;
	transition: background var(--motion-fast), color var(--motion-fast);
}
.gavary-btn:hover { background: #fff; color: var(--color-accent-pressed); }

@media (max-width: 720px) { .gavary-inner { padding: var(--space-lg) var(--container-padding); } }

/* ====== Legal sections (LEGAL-04 / .nogumy) ====== */

.nogumy { padding: var(--space-lg) 0 var(--space-2xl); }
.nogumy-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.nogumy-section {
	background: #fff;
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	margin-bottom: 16px;
	padding: 26px 30px;
}
.nogumy-section h2 { font-size: 22px; margin-bottom: 10px; }
.nogumy-section p { color: var(--color-text); line-height: 1.65; }
.nogumy-section p + p { margin-top: 10px; }
.nogumy-contacts {
	background: #f3f9ff;
	border-left: 4px solid var(--color-accent);
	border-radius: var(--radius-sm);
	margin-top: var(--space-lg);
	padding: 18px 22px;
}
.nogumy-contacts h3 { font-size: 18px; margin-bottom: 8px; }
.nogumy-contacts ul { margin: 0; padding-left: 20px; }
.nogumy-disclaimer {
	color: var(--color-text-muted);
	font-size: 14.5px;
	font-style: italic;
	margin-top: var(--space-lg);
}
.nogumy-meta {
	color: var(--color-text-muted);
	font-size: 14px;
	margin-bottom: var(--space-md);
}

@media (max-width: 720px) {
	.nogumy-inner { padding: 0 var(--container-padding); }
	.nogumy-section { padding: 20px; }
}

/* ====== Contact form (FORM-02 / .zamis) ====== */

.zamis { padding: var(--space-lg) 0 var(--space-2xl); }
.zamis-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.zamis-grid { display: grid; gap: var(--space-xl); grid-template-columns: 1fr 1.1fr; }
.zamis-info p { color: var(--color-text); margin-bottom: 14px; }
.zamis-info dl { margin: 0; }
.zamis-info dt { font-weight: 700; margin-top: 12px; }
.zamis-info dd { color: var(--color-text-muted); margin: 0 0 4px; }
.zamis-form {
	background: #fff;
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-md);
	padding: 26px;
}
.zamis-field { margin-bottom: 14px; }
.zamis-field label {
	display: block;
	font-weight: 700;
	margin-bottom: 6px;
}
.zamis-field input, .zamis-field textarea {
	background: #f3f9ff;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-sm);
	color: var(--color-text);
	font: inherit;
	padding: 12px 14px;
	width: 100%;
}
.zamis-field input:focus, .zamis-field textarea:focus {
	border-color: var(--color-accent);
	outline: 0;
}
.zamis-field textarea { min-height: 140px; resize: vertical; }
.zamis-submit {
	background: var(--color-accent);
	border: 0; border-radius: 999px;
	color: #fff; cursor: pointer;
	font: 700 16px/1 var(--font-display);
	padding: 14px 28px;
	text-transform: uppercase;
}
.zamis-submit:hover { background: var(--color-accent-pressed); color: #fff; }
.zamis-success {
	background: #e8f7ec;
	border: 1px solid #72d199;
	border-radius: var(--radius-sm);
	color: #1f5132;
	display: none;
	margin-top: 14px;
	padding: 14px 16px;
}
.zamis-success.is-visible { display: block; }

@media (max-width: 900px) { .zamis-grid { grid-template-columns: 1fr; } }
@media (max-width: 720px) { .zamis-inner { padding: 0 var(--container-padding); } }

/* ====== Error block (ERR-03 / .nupel) ====== */

.nupel {
	align-items: center;
	display: flex;
	min-height: 60vh;
	padding: var(--space-2xl) 0;
}
.nupel-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
	text-align: center;
}
.nupel-code {
	background: linear-gradient(135deg, var(--color-accent), var(--color-gradient-mid));
	-webkit-background-clip: text; background-clip: text;
	color: transparent;
	font-size: clamp(90px, 18vw, 180px);
	font-weight: 800;
	line-height: 1;
}
.nupel-title { font-size: clamp(28px, 4vw, 42px); margin: 18px auto; max-width: 640px; }
.nupel-text { color: var(--color-text-muted); margin: 0 auto var(--space-lg); max-width: 540px; }
.nupel-btn {
	background: var(--color-accent);
	border-radius: 999px;
	color: #fff;
	display: inline-block;
	font: 700 17px/1 var(--font-display);
	padding: 16px 32px;
	text-decoration: none;
	text-transform: uppercase;
}
.nupel-btn:hover { background: var(--color-accent-pressed); color: #fff; }

/* ====== Author byline (BYLINE-06 / .kibufi) ====== */

.kibufi {
	border-top: 1px solid var(--color-border-soft);
	padding: var(--space-xl) 0;
}
.kibufi-inner {
	align-items: center;
	display: flex;
	gap: 18px;
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.kibufi-portrait {
	border-radius: 50%;
	box-shadow: var(--shadow-card);
	height: 64px;
	object-fit: cover;
	width: 64px;
}
.kibufi-meta { font-size: 14px; }
.kibufi-label { color: var(--color-text-muted); margin-bottom: 2px; }
.kibufi-name {
	color: var(--color-text);
	font-weight: 700;
	text-decoration: none;
}
.kibufi-name:hover { color: var(--color-accent-pressed); }
.kibufi-role { color: var(--color-text-muted); }

@media (max-width: 720px) { .kibufi-inner { padding: 0 var(--container-padding); } }

/* ====== Author card (AUTH-06 / .sygenik) ====== */

.sygenik {
	padding: var(--space-xl) 0;
}
.sygenik-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.sygenik-card {
	background: #fff;
	border-radius: var(--radius-lg);
	box-shadow: var(--shadow-card);
	display: grid;
	gap: var(--space-xl);
	grid-template-columns: 220px 1fr;
	padding: var(--space-xl);
}
.sygenik-portrait-wrap { align-items: flex-start; display: flex; justify-content: center; }
.sygenik-portrait {
	border-radius: 50%;
	box-shadow: var(--shadow-card);
	height: 200px;
	object-fit: cover;
	width: 200px;
}
.sygenik-name { font-size: 30px; margin: 0 0 6px; }
.sygenik-role { color: var(--color-text-muted); font-weight: 600; margin-bottom: 18px; }
.sygenik-bio { color: var(--color-text); margin-bottom: 18px; }
.sygenik-expertise-title { font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.sygenik-expertise { color: var(--color-text-muted); margin: 0; padding-left: 20px; }
.sygenik-articles { margin-top: var(--space-2xl); }
.sygenik-articles-heading { margin-bottom: var(--space-md); }
.sygenik-articles-list {
	display: grid; gap: var(--space-sm);
	grid-template-columns: 1fr;
	list-style: none; margin: 0; padding: 0;
}
.sygenik-articles-item {
	background: #fff;
	border: 1px solid var(--color-border-soft);
	border-radius: var(--radius-sm);
	padding: 14px 18px;
}
.sygenik-articles-item a {
	color: var(--color-text);
	font-weight: 600;
	text-decoration: none;
}
.sygenik-articles-item a:hover { color: var(--color-accent-pressed); }

@media (max-width: 720px) {
	.sygenik-inner { padding: 0 var(--container-padding); }
	.sygenik-card { grid-template-columns: 1fr; padding: var(--space-lg); }
	.sygenik-portrait { height: 160px; width: 160px; }
}

/* ====== Footer (FOOT-07 / .xoxoxum) ====== */

.xoxoxum {
	background: linear-gradient(180deg, #1d2834 0%, #0f1820 100%);
	color: #cdd6dd;
	padding: var(--space-2xl) 0 var(--space-md);
}
.xoxoxum-inner {
	margin: 0 auto;
	max-width: calc(var(--container-site) + 2 * var(--container-padding-desktop));
	padding: 0 var(--container-padding-desktop);
}
.xoxoxum-cols {
	display: grid;
	gap: var(--space-xl);
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	margin-bottom: var(--space-xl);
}
.xoxoxum-brand img { filter: drop-shadow(0 2px 8px rgba(0,0,0,.4)); height: 80px; margin-bottom: 14px; width: auto; }
.xoxoxum-tagline { color: #94a4af; font-size: 14.5px; line-height: 1.6; }
.xoxoxum-col h4 {
	color: var(--color-gradient-mid);
	font-size: 14px;
	letter-spacing: .12em;
	margin-bottom: 14px;
	text-transform: uppercase;
}
.xoxoxum-list { list-style: none; margin: 0; padding: 0; }
.xoxoxum-list li { margin-bottom: 8px; }
.xoxoxum-list a {
	color: #cdd6dd;
	font-size: 15px;
	text-decoration: none;
}
.xoxoxum-list a:hover { color: #fff; }
.xoxoxum-contact a { color: #cdd6dd; text-decoration: none; }
.xoxoxum-contact a:hover { color: var(--color-accent); }

.xoxoxum-rg {
	background: rgba(220, 38, 38, .12);
	border: 1px solid rgba(220, 38, 38, .4);
	border-radius: var(--radius-sm);
	color: #fda4a4;
	font-size: 14px;
	margin: var(--space-lg) 0;
	padding: 14px 18px;
}

.xoxoxum-bottom {
	align-items: center;
	border-top: 1px solid rgba(255,255,255,.08);
	color: #8a98a3;
	display: flex;
	flex-wrap: wrap;
	font-size: 13.5px;
	gap: 12px;
	justify-content: space-between;
	padding-top: var(--space-md);
}

@media (max-width: 900px) { .xoxoxum-cols { grid-template-columns: 1fr 1fr; } }
@media (max-width: 720px) {
	.xoxoxum-inner { padding: 0 var(--container-padding); }
	.xoxoxum-cols { grid-template-columns: 1fr; gap: var(--space-lg); }
	.xoxoxum-brand img { height: 64px; }
}

/* ====== Cookie banner (COOK-07 / .symaba) ====== */

.symaba {
	background: #1d2834;
	border-radius: var(--radius-lg);
	bottom: 18px;
	box-shadow: var(--shadow-pop);
	color: #fff;
	display: none;
	left: 18px;
	max-width: 460px;
	padding: 22px 26px;
	position: fixed;
	right: auto;
	z-index: 100;
}
.symaba.is-visible { display: block; }
.symaba-title { color: var(--color-gradient-mid); font-size: 17px; font-weight: 700; margin-bottom: 8px; }
.symaba-text { color: #cdd6dd; font-size: 14.5px; line-height: 1.55; margin-bottom: 14px; }
.symaba-actions { display: flex; gap: 10px; }
.symaba-btn {
	border: 0; border-radius: 999px;
	cursor: pointer;
	font: 700 14px/1 var(--font-display);
	padding: 10px 22px;
	text-transform: uppercase;
}
.symaba-accept { background: var(--color-accent); color: #fff; }
.symaba-accept:hover { background: var(--color-accent-pressed); color: #fff; }
.symaba-decline { background: transparent; border: 1px solid #cdd6dd; color: #cdd6dd; }
.symaba-decline:hover { background: rgba(255,255,255,.08); color: #fff; }

@media (max-width: 720px) {
	.symaba {
		bottom: 0; left: 0; right: 0;
		border-radius: 0;
		max-width: none;
		padding: 12px 14px !important;
		gap: 8px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}
	.symaba-title { display: none !important; }
	.symaba-btn {
		padding: 8px 14px !important;
		font-size: 12px !important;
		min-height: 36px !important;
	}
}
