:root {
	--zu-bg: #ffffff;
	--zu-raised: #f7f9fc;
	--zu-deep: #0f172a;
	--zu-ink: #0f172a;
	--zu-text: #1e293b;
	--zu-muted: #475569;
	--zu-line: #e2e8f0;
	--zu-accent: #2563eb;
	--zu-accent-deep: #1d4ed8;
	--zu-accent-soft: #e8efff;
	--zu-radius: 12px;
	--zu-radius-sm: 8px;
	--zu-shadow: 0 1px 2px #0f172a14, 0 8px 24px #0f172a0d;
	--zu-wide: 1160px;
	--zu-gutter: 20px;
	--zu-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--zu-mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
}

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

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

body {
	margin: 0;
	background: var(--zu-bg);
	color: var(--zu-text);
	font-family: var(--zu-sans);
	font-size: 16px;
	line-height: 1.65;
}

h1, h2, h3 { color: var(--zu-ink); line-height: 1.2; margin: 0 0 14px; }

h1 { font-size: clamp(2rem, 4.6vw, 3rem); letter-spacing: -0.02em; font-weight: 700; }

h2 { font-size: clamp(1.5rem, 3vw, 1.9rem); letter-spacing: -0.01em; font-weight: 700; }

h3 { font-size: 1.15rem; font-weight: 650; }

p { margin: 0 0 14px; }

a { color: var(--zu-accent-deep); text-underline-offset: 3px; }

a:hover { color: var(--zu-ink); }

a:focus-visible, button:focus-visible {
	outline: 2px solid var(--zu-accent);
	outline-offset: 2px;
	border-radius: 4px;
}

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

table { border-collapse: collapse; width: 100%; }

code { font-family: var(--zu-mono); font-size: 0.92em; }

.zu-skip {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--zu-ink);
	color: #ffffff;
	padding: 12px 18px;
	z-index: 30;
}

.zu-skip:focus { left: 12px; top: 12px; }

.zu-wrap {
	max-width: var(--zu-wide);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--zu-gutter);
	padding-right: var(--zu-gutter);
}

.zu-top {
	position: sticky;
	top: 0;
	z-index: 20;
	background: #ffffffee;
	border-bottom: 1px solid var(--zu-line);
}

.zu-top__bar {
	display: flex;
	align-items: center;
	gap: 24px;
	min-height: 64px;
}

.zu-logo {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--zu-ink);
	font-weight: 750;
	font-size: 1.12rem;
	text-decoration: none;
	letter-spacing: -0.01em;
	min-height: 44px;
}

.zu-logo__mark { width: 28px; height: 28px; flex: 0 0 auto; }

.zu-nav { flex: 1 1 auto; overflow-x: auto; scrollbar-width: none; }

.zu-nav__list {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
	white-space: nowrap;
}

.zu-nav a {
	display: inline-block;
	padding: 11px 12px;
	min-height: 44px;
	color: var(--zu-muted);
	text-decoration: none;
	font-size: 0.95rem;
	border-radius: var(--zu-radius-sm);
}

.zu-nav a:hover, .zu-nav a[aria-current="page"] { color: var(--zu-ink); background: var(--zu-raised); }

.zu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 14px 26px;
	border: 1px solid var(--zu-accent);
	border-radius: var(--zu-radius-sm);
	background: var(--zu-accent);
	color: #ffffff;
	font: inherit;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease;
}

.zu-btn:hover { background: var(--zu-accent-deep); border-color: var(--zu-accent-deep); color: #ffffff; }

.zu-btn--ghost { background: transparent; color: var(--zu-accent-deep); border-color: #bfd0f5; }

.zu-btn--ghost:hover {
	background: var(--zu-accent-soft);
	color: var(--zu-ink);
	border-color: var(--zu-accent);
}

.zu-btn--small { padding: 10px 16px; font-size: 0.93rem; }

.zu-crumbs { font-size: 0.9rem; color: var(--zu-muted); padding-top: 14px; }

.zu-crumbs__list {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.zu-crumbs__list li + li::before { content: "/"; margin-right: 6px; color: #94a3b8; }

.zu-crumbs a { display: inline-block; padding: 12px 0; min-height: 44px; }

.zu-byline {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 0 0 22px;
	font-size: 0.92rem;
	color: var(--zu-muted);
}

.zu-byline strong { color: var(--zu-ink); font-weight: 600; }

.zu-band { padding-top: 72px; padding-bottom: 72px; }

.zu-band--raised { background: var(--zu-raised); }

.zu-band--ink { background: var(--zu-deep); color: #cbd5e1; }

.zu-band--ink h2, .zu-band--ink h3 { color: #ffffff; }

.zu-hero { padding-top: 40px; padding-bottom: 56px; }

.zu-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 32px;
	align-items: center;
}

.zu-hero__lead { font-size: 1.12rem; color: var(--zu-muted); max-width: 60ch; }

.zu-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.zu-hero__figure { margin: 0; }

.zu-hero__figure img { border-radius: var(--zu-radius); box-shadow: var(--zu-shadow); width: 100%; }

.zu-caption {
	font-size: 0.85rem;
	color: var(--zu-muted);
	margin-top: 8px;
	line-height: 1.45;
}

.zu-radar { scroll-margin-top: 64px; }

.zu-radar__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.zu-radar__tile {
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	padding: 18px 20px 20px;
	min-width: 0;
}

.zu-radar__tile--wide { box-shadow: var(--zu-shadow); }

.zu-radar__value {
	font-family: var(--zu-mono);
	font-variant-numeric: tabular-nums;
	font-size: 1.9rem;
	font-weight: 600;
	line-height: 1.1;
	color: var(--zu-accent-deep);
	margin-bottom: 8px;
}

.zu-radar__label { margin: 0; color: var(--zu-text); }

.zu-radar__chart { display: block; width: 100%; height: 18px; margin-top: 16px; }

.zu-radar__legend {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 16px;
	margin: 10px 0 0;
	font-size: 0.86rem;
	color: var(--zu-muted);
}

.zu-radar__key::before {
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	margin-right: 6px;
	border-radius: 2px;
	background: var(--zu-accent);
}

.zu-radar__key--grey::before { background: #64748b; }

.zu-radar__key--dark::before { background: #334155; }

.zu-radar__key--light::before { background: #cbd5e1; }

.zu-radar__note {
	margin: 20px 0 0;
	padding: 14px 18px;
	border-left: 3px solid var(--zu-accent);
	background: var(--zu-accent-soft);
	border-radius: 0 var(--zu-radius-sm) var(--zu-radius-sm) 0;
	font-size: 0.93rem;
	color: var(--zu-ink);
	max-width: 80ch;
}

.zu-head { max-width: 68ch; margin-bottom: 28px; }

.zu-head p { color: var(--zu-muted); }

.zu-band--ink .zu-head p, .zu-band--ink .zu-source { color: #cbd5e1; }

.zu-prose { max-width: 70ch; }

.zu-prose h2 { margin-top: 40px; }

.zu-prose h3 { margin-top: 26px; }

.zu-prose ul, .zu-prose ol { padding-left: 22px; margin: 0 0 16px; }

.zu-prose li { margin-bottom: 6px; }

.zu-tablebox {
	overflow-x: auto;
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	box-shadow: var(--zu-shadow);
}

.zu-table { min-width: 620px; font-size: 0.95rem; }

.zu-table--compact { min-width: 440px; }

.zu-table caption {
	text-align: left;
	padding: 16px 18px 6px;
	font-weight: 650;
	color: var(--zu-ink);
}

.zu-table th, .zu-table td { padding: 11px 18px; text-align: left; vertical-align: top; }

.zu-table thead th {
	font-size: 0.82rem;
	font-weight: 650;
	color: var(--zu-muted);
	border-bottom: 1px solid var(--zu-line);
	background: var(--zu-raised);
}

.zu-table tbody tr:nth-child(even) { background: #fafbfd; }

.zu-table tbody th { font-weight: 600; color: var(--zu-ink); }

.zu-table__num { font-family: var(--zu-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }

.zu-table__hi { color: var(--zu-accent-deep); font-weight: 700; }

.zu-source {
	font-style: italic;
	font-size: 0.88rem;
	color: var(--zu-muted);
	margin-top: 12px;
}

.zu-seq { font-family: var(--zu-mono); letter-spacing: 0.12em; white-space: nowrap; }

.zu-read { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }

.zu-read__col p:last-child { margin-bottom: 0; }

.zu-feats { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }

.zu-feat {
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	padding: 22px;
}

.zu-feat--main { box-shadow: var(--zu-shadow); padding: 0; overflow: hidden; }

.zu-feat__body { padding: 22px 24px 24px; }

.zu-feat__link { font-weight: 600; }

.zu-calc {
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	overflow: hidden;
}

.zu-calc__title {
	padding: 14px 20px;
	margin: 0;
	background: var(--zu-raised);
	border-bottom: 1px solid var(--zu-line);
	font-size: 1rem;
}

.zu-calc__code {
	margin: 0;
	padding: 18px 20px;
	font-family: var(--zu-mono);
	font-size: 0.9rem;
	line-height: 1.7;
	overflow-x: auto;
	white-space: pre;
	color: var(--zu-ink);
}

.zu-calc__out { padding: 14px 20px 18px; margin: 0; border-top: 1px dashed var(--zu-line); }

.zu-bench {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.zu-bench__item { border-left: 3px solid var(--zu-accent); padding: 4px 0 4px 16px; }

.zu-bench__value {
	display: block;
	font-family: var(--zu-mono);
	font-size: 1.6rem;
	font-weight: 600;
	color: #ffffff;
	line-height: 1.2;
}

.zu-bench__label { display: block; color: #cbd5e1; font-size: 0.95rem; }

.zu-news { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }

.zu-item {
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	padding: 20px 22px;
}

.zu-item__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 14px;
	font-size: 0.86rem;
	color: var(--zu-muted);
	margin-bottom: 6px;
}

.zu-item__tag { color: var(--zu-accent-deep); font-weight: 600; }

.zu-item__title { font-size: 1.1rem; margin-bottom: 8px; }

.zu-item__lead { font-weight: 500; color: var(--zu-ink); }

.zu-item__src { font-size: 0.88rem; color: var(--zu-muted); margin: 10px 0 0; }

.zu-item__note {
	font-size: 0.88rem;
	background: var(--zu-accent-soft);
	border-radius: var(--zu-radius-sm);
	padding: 8px 12px;
	margin: 10px 0 0;
}

.zu-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 20px;
	align-items: center;
}

.zu-cta__title { font-size: clamp(1.6rem, 3.4vw, 2.2rem); }

.zu-cta__mail {
	font-family: var(--zu-mono);
	font-size: 1rem;
	color: #ffffff;
	margin-top: 10px;
}

.zu-band--ink .zu-btn { background: #ffffff; border-color: #ffffff; color: var(--zu-ink); }

.zu-band--ink .zu-btn:hover { background: var(--zu-accent-soft); border-color: var(--zu-accent-soft); }

.zu-band--ink a:not(.zu-btn) { color: #bfdbfe; }

.zu-cards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.zu-limits {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

.zu-limits__item {
	padding: 14px 18px;
	background: var(--zu-bg);
	border-radius: var(--zu-radius-sm);
	border: 1px solid var(--zu-line);
}

.zu-limits__item strong { color: var(--zu-ink); }

.zu-time {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid var(--zu-line);
}

.zu-time__step { position: relative; padding: 0 0 22px 22px; }

.zu-time__step::before {
	content: "";
	position: absolute;
	left: -7px;
	top: 6px;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--zu-bg);
	border: 2px solid var(--zu-accent);
}

.zu-time__date {
	display: block;
	font-family: var(--zu-mono);
	font-size: 0.88rem;
	color: var(--zu-accent-deep);
	font-weight: 600;
}

.zu-compare { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; }

.zu-compare__aside { background: var(--zu-raised); border-radius: var(--zu-radius); padding: 20px 22px; }

.zu-compare__formula {
	font-family: var(--zu-mono);
	font-size: 1.05rem;
	color: var(--zu-ink);
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius-sm);
	padding: 12px 14px;
	overflow-x: auto;
}

.zu-mist {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 14px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.zu-mist__item {
	background: var(--zu-bg);
	border-radius: var(--zu-radius);
	padding: 18px 20px;
	box-shadow: var(--zu-shadow);
}

.zu-mist__seen { color: var(--zu-muted); font-size: 0.93rem; margin: 0; }

.zu-zig {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 28px;
	align-items: center;
}

.zu-zig__media { margin: 0; }

.zu-zig__note {
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	padding: 20px 22px;
}

.zu-zig__media img { border-radius: var(--zu-radius); width: 100%; }

.zu-lead {
	border-left: 4px solid var(--zu-accent);
	background: var(--zu-accent-soft);
	border-radius: 0 var(--zu-radius) var(--zu-radius) 0;
	padding: 20px 24px;
	font-size: 1.08rem;
	color: var(--zu-ink);
}

.zu-lead p:last-child { margin-bottom: 0; }

.zu-myths { display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }

.zu-myth {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	overflow: hidden;
	background: var(--zu-bg);
}

.zu-myth__claim {
	padding: 16px 20px;
	background: var(--zu-raised);
	margin: 0;
	color: var(--zu-muted);
}

.zu-myth__fact { padding: 16px 20px; margin: 0; }

.zu-myth__src {
	display: block;
	font-size: 0.85rem;
	color: var(--zu-muted);
	margin-top: 6px;
}

.zu-howto {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
	counter-reset: zuhow;
}

.zu-howto__step {
	counter-increment: zuhow;
	display: grid;
	grid-template-columns: 40px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
}

.zu-howto__step::before {
	content: counter(zuhow);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--zu-radius-sm);
	background: var(--zu-accent-soft);
	color: var(--zu-accent-deep);
	font-weight: 700;
	font-family: var(--zu-mono);
}

.zu-ladder {
	list-style: none;
	margin: 0;
	padding: 0;
	counter-reset: zulad;
}

.zu-ladder__step { counter-increment: zulad; position: relative; padding: 0 0 36px 64px; }

.zu-ladder__step::before {
	content: counter(zulad);
	position: absolute;
	left: 0;
	top: 0;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: var(--zu-accent);
	color: #ffffff;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.zu-ladder__step::after {
	content: "";
	position: absolute;
	left: 21px;
	top: 50px;
	bottom: 6px;
	width: 2px;
	background: var(--zu-line);
}

.zu-ladder__step:last-child::after { display: none; }

.zu-ladder__step:last-child { padding-bottom: 0; }

.zu-schema {
	margin: 0;
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	padding: 18px;
}

.zu-schema svg { display: block; width: 100%; height: auto; }

.zu-shift { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }

.zu-shift__block { min-width: 0; }

.zu-forms { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }

.zu-forms__card {
	margin: 0;
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	padding: 16px;
	background: var(--zu-bg);
}

.zu-forms__card svg { display: block; width: 100%; height: auto; }

.zu-forms svg { max-width: 320px; margin-left: auto; margin-right: auto; }

.zu-cover {
	position: relative;
	background: var(--zu-deep);
	color: #e2e8f0;
	overflow: hidden;
}

.zu-cover__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.34;
}

.zu-cover__inner { position: relative; padding-top: 96px; padding-bottom: 96px; }

.zu-cover h1 { color: #ffffff; max-width: 16ch; font-size: clamp(2.3rem, 6vw, 3.8rem); }

.zu-cover__line { font-size: 1.15rem; max-width: 46ch; color: #e2e8f0; }

.zu-cover .zu-byline { color: #cbd5e1; }

.zu-cover .zu-byline strong { color: #ffffff; }

.zu-cover .zu-crumbs { color: #cbd5e1; }

.zu-cover .zu-crumbs a { color: #bfdbfe; }

.zu-cover__credit { font-size: 0.82rem; color: #cbd5e1; margin: 28px 0 0; }

.zu-corpus {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--zu-gutter);
	padding-right: var(--zu-gutter);
}

.zu-corpus > * + * { margin-top: 40px; }

.zu-corpus { padding-top: 40px; padding-bottom: 72px; }

.zu-toc { background: var(--zu-raised); border-radius: var(--zu-radius); padding: 18px 22px; }

.zu-toc__title { font-weight: 650; color: var(--zu-ink); margin-bottom: 4px; }

.zu-toc__list { margin: 0; padding-left: 20px; columns: 1; }

.zu-toc a { display: inline-block; padding: 10px 0; min-height: 44px; }

.zu-dict {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0 28px;
	margin: 0;
}

.zu-dict__pair { padding: 14px 0; border-top: 1px solid var(--zu-line); }

.zu-dict dt { font-weight: 650; color: var(--zu-ink); }

.zu-dict dd { margin: 4px 0 0; }

.zu-split { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; }

.zu-split__pin { align-self: start; }

.zu-split__flow { min-width: 0; }

.zu-split__card { padding: 24px 0; border-top: 1px solid var(--zu-line); }

.zu-bento { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }

.zu-tile {
	margin: 0;
	border-radius: var(--zu-radius);
	background: var(--zu-raised);
	overflow: hidden;
	min-width: 0;
}

.zu-tile img { width: 100%; height: auto; }

.zu-tile__text { padding: 20px 22px; }

.zu-tile__cap { padding: 0 14px 10px; }

.zu-tile__name { font-weight: 650; font-size: 1.1rem; color: var(--zu-ink); margin-bottom: 6px; }

.zu-tile__big {
	display: block;
	font-family: var(--zu-mono);
	font-size: 2rem;
	font-weight: 600;
	color: var(--zu-accent-deep);
	line-height: 1.1;
}

.zu-tile--accent { background: var(--zu-accent-deep); color: #e8efff; }

.zu-tile--accent .zu-tile__big, .zu-tile--accent .zu-tile__name { color: #ffffff; }

.zu-gallery { display: grid; grid-template-columns: minmax(0, 1fr); gap: 18px; }

.zu-gallery__shot { margin: 0; }

.zu-gallery__shot img { border-radius: var(--zu-radius-sm); width: 100%; }

.zu-flow {
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--zu-gutter);
	padding-right: var(--zu-gutter);
}

.zu-flow__part { padding-top: 48px; }

.zu-status {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
	background: var(--zu-accent-soft);
	color: var(--zu-accent-deep);
	white-space: nowrap;
}

.zu-status--grey { background: #eef2f6; color: #334155; }

.zu-status--warn { background: #fff4e0; color: #8a4b00; }

.zu-mail { font-family: var(--zu-mono); font-size: 1.05rem; }

.zu-legal {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	padding: 32px var(--zu-gutter) 72px;
}

.zu-legal h2 { font-size: 1.3rem; margin-top: 32px; }

.zu-legal ul { padding-left: 22px; }

.zu-legal .zu-tablebox { margin: 16px 0; }

.zu-legal .zu-table { min-width: 520px; }

.zu-foot {
	background: var(--zu-raised);
	border-top: 1px solid var(--zu-line);
	padding-top: 48px;
	padding-bottom: 28px;
	font-size: 0.93rem;
	color: var(--zu-muted);
}

.zu-foot__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }

.zu-foot__title { font-size: 0.95rem; color: var(--zu-ink); margin-bottom: 8px; }

.zu-foot__list { list-style: none; margin: 0; padding: 0; }

.zu-foot__list a {
	display: inline-block;
	padding: 12px 0;
	min-height: 44px;
	color: var(--zu-muted);
}

.zu-foot__list a:hover { color: var(--zu-ink); }

.zu-foot address { font-style: normal; }

.zu-foot__base { margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--zu-line); }

.zu-cookie {
	position: fixed;
	left: 12px;
	right: 12px;
	bottom: 12px;
	z-index: 40;
	background: var(--zu-bg);
	border: 1px solid var(--zu-line);
	border-radius: var(--zu-radius);
	box-shadow: 0 10px 40px #0f172a2e;
	padding: 18px 20px;
	max-width: 560px;
}

.zu-cookie[hidden] { display: none; }

.zu-cookie__text { font-size: 0.92rem; margin: 0 0 12px; }

.zu-cookie__row { display: flex; flex-wrap: wrap; gap: 10px; }

.zu-cookie__row .zu-btn { flex: 1 1 auto; }

@media (min-width: 560px) {
	.zu-cookie__row .zu-btn { flex: 0 0 auto; }
	.zu-bench { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-radar__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-radar__tile--wide { grid-column: span 2; }
}

@media (min-width: 760px) {
	:root { --zu-gutter: 28px; }
	.zu-band { padding-top: 88px; padding-bottom: 88px; }
	.zu-dict { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-read { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
	.zu-news--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zu-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-limits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-mist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-myth { grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); }
	.zu-forms { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.zu-toc__list { columns: 2; }
	.zu-foot__grid { grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr)); }
	.zu-cta { grid-template-columns: minmax(0, 1fr) auto; }
}

@media (min-width: 960px) {
	.zu-hero { padding-top: 56px; padding-bottom: 72px; }
	.zu-hero__grid--media { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: 56px; }
	.zu-radar__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
	.zu-feats { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: start; }
	.zu-feat--main { grid-row: span 3; }
	.zu-bench { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.zu-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zu-compare--aside { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; }
	.zu-compare__full { grid-column: 1 / -1; }
	.zu-zig--pair { grid-template-columns: minmax(0, 1fr) 420px; gap: 56px; }
	.zu-zig--flip .zu-zig__media { order: -1; }
	.zu-zig--flip { grid-template-columns: 400px minmax(0, 1fr); }
	.zu-shift { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 28px; row-gap: 64px; }
	.zu-shift__block--a { grid-column: 2 / 10; }
	.zu-shift__block--b { grid-column: 1 / 8; }
	.zu-shift__block--c { grid-column: 5 / 13; }
	.zu-shift__block--d { grid-column: 3 / 12; }
	.zu-forms { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zu-bento { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: minmax(170px, auto); }
	.zu-tile--2x2 { grid-column: span 2; grid-row: span 2; }
	.zu-tile--2x1 { grid-column: span 2; }
	.zu-gallery { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
	.zu-gallery__shot--tall { grid-row: span 2; }
}

@media (min-width: 1000px) {
	.zu-split--pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 64px; }
	.zu-split__pin { position: sticky; top: 96px; }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.zu-btn { transition: none; }
}
