/* ──────────────────────────────────────────────────────────────
   Axiogen Atlas — overlay stylesheet
   Loaded by each Atlas volume (national-atlas.html, synthetic-population.html)
   to layer the Axiogen brand chrome over the report's native styles.

   Charts (embedded as base64 PNGs) are intentionally untouched so the
   underlying matplotlib palettes remain intact. Everything else —
   typography, callouts, tables, hero, top bar, footer — is repainted
   in the Axiogen design language.
   ──────────────────────────────────────────────────────────── */

:root {
	--axio-black: #0a0a0a;
	--axio-obsidian: #161618;
	--axio-graphite: #1f1f22;
	--axio-ink: #111111;
	--axio-slate-800: #2a2a2a;
	--axio-slate-500: #6b6b6b;
	--axio-slate-400: #8a8a8a;
	--axio-titanium: #e5e5e5;
	--axio-silver: #c8c8c8;
	--axio-cream: #f8f7f5;
	--axio-bone: #efede8;
	--axio-success: #2a4a3a;
	--axio-warning: #6b5a2a;

	--axio-font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--axio-font-serif: 'Fraunces', 'Cormorant Garamond', 'PP Editorial New', Georgia, serif;
	--axio-font-mono: 'IBM Plex Mono', 'JetBrains Mono', 'Geist Mono', ui-monospace, monospace;
}

@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght,SOFT,WONK@9..144,300..700,0..100,0..1&family=Inter:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&display=swap');

/* ── Body baseline ──────────────────────────────────────── */
body {
	font-family: var(--axio-font-sans) !important;
	background: var(--axio-cream) !important;
	color: var(--axio-ink) !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: -0.005em;
}

::selection {
	background: var(--axio-ink);
	color: var(--axio-cream);
}

/* ── Axiogen top bar (injected via atlas-chrome.js) ────── */
.axio-topbar {
	background: var(--axio-black);
	color: var(--axio-cream);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 14px 28px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	font-family: var(--axio-font-mono);
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	position: sticky;
	top: 0;
	z-index: 1000;
	backdrop-filter: saturate(140%);
	flex-wrap: wrap;
}

.axio-topbar .left {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.axio-topbar .wordmark {
	font-weight: 600;
	letter-spacing: 0.22em;
	color: var(--axio-cream);
	white-space: nowrap;
}

.axio-topbar .wordmark .glyph {
	display: inline-block;
	width: 12px;
	height: 12px;
	background: var(--axio-cream);
	margin-right: 10px;
	vertical-align: -2px;
}

.axio-topbar .vol {
	color: rgba(248, 247, 245, 0.55);
	border-left: 1px solid rgba(255, 255, 255, 0.14);
	padding-left: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.axio-topbar a {
	color: var(--axio-cream);
	text-decoration: none;
	opacity: 0.7;
	transition: opacity 0.2s ease;
	white-space: nowrap;
}

.axio-topbar a:hover {
	opacity: 1;
}

@media (max-width: 600px) {
	.axio-topbar {
		padding: 12px 18px;
		font-size: 10px;
	}
	.axio-topbar .vol {
		display: none;
	}
}

/* ── Hero (Volume I report-style) ──────────────────────── */
.hero {
	background: var(--axio-black) !important;
	background-image:
		radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, 0.08) 0%, transparent 55%),
		linear-gradient(to right, rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.04) 1px, transparent 1px) !important;
	background-size: auto, 56px 56px, 56px 56px !important;
	color: var(--axio-cream) !important;
	border-radius: 0 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	padding: 96px 48px 64px !important;
	margin: 0 -20px 40px !important;
	text-align: left !important;
	position: relative;
	overflow: hidden;
}

.hero::before {
	content: 'AXIOGEN · ATLAS · VOLUME I · THE RECORD';
	font-family: var(--axio-font-mono);
	font-size: 10px;
	letter-spacing: 0.22em;
	color: rgba(248, 247, 245, 0.45);
	display: block;
	margin-bottom: 28px;
}

.hero h1 {
	font-family: var(--axio-font-serif) !important;
	font-weight: 400 !important;
	font-size: clamp(40px, 5.4vw, 84px) !important;
	letter-spacing: -0.028em !important;
	line-height: 0.98 !important;
	color: var(--axio-cream) !important;
	margin-bottom: 16px !important;
	max-width: 980px;
}

.hero h2 {
	font-family: var(--axio-font-sans) !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	color: rgba(248, 247, 245, 0.72) !important;
	margin-bottom: 48px !important;
	letter-spacing: -0.005em !important;
	text-transform: none !important;
	border: none !important;
	max-width: 720px;
}

.hero-stats {
	justify-content: flex-start !important;
	gap: 48px !important;
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding-top: 32px !important;
	max-width: 1100px;
}

.hero-stat {
	min-width: auto !important;
	text-align: left !important;
}

.hero-stat .num {
	font-family: var(--axio-font-serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	font-size: 30px !important;
	color: var(--axio-cream) !important;
	letter-spacing: -0.02em !important;
	line-height: 1 !important;
}

.hero-stat .lbl {
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: rgba(248, 247, 245, 0.5) !important;
	margin-top: 10px !important;
	opacity: 1 !important;
}

/* ── Cards / sections ─────────────────────────────────── */
.section,
.toc {
	background: #ffffff !important;
	border-radius: 0 !important;
	border: 1px solid var(--axio-titanium) !important;
	box-shadow: none !important;
	padding: 44px 48px !important;
	margin-bottom: 20px !important;
}

.section h2 {
	font-family: var(--axio-font-serif) !important;
	color: var(--axio-ink) !important;
	font-weight: 400 !important;
	font-size: clamp(24px, 2.4vw, 32px) !important;
	letter-spacing: -0.02em !important;
	border-bottom: 1px solid var(--axio-titanium) !important;
	padding-bottom: 14px !important;
	margin-bottom: 18px !important;
	line-height: 1.1 !important;
}

.section h3 {
	font-family: var(--axio-font-mono) !important;
	font-size: 10.5px !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--axio-slate-500) !important;
	font-weight: 500 !important;
	margin: 28px 0 12px !important;
}

.section p,
.section li {
	color: var(--axio-slate-800) !important;
	line-height: 1.7 !important;
}

/* ── Part headers ─────────────────────────────────────── */
.part-header {
	background: var(--axio-ink) !important;
	border-radius: 0 !important;
	padding: 36px 48px !important;
	margin: 40px 0 24px !important;
	color: var(--axio-cream) !important;
	border-left: 4px solid var(--axio-cream);
}

.part-header h2 {
	font-family: var(--axio-font-serif) !important;
	color: var(--axio-cream) !important;
	border: none !important;
	font-weight: 400 !important;
	font-size: clamp(28px, 3vw, 42px) !important;
	letter-spacing: -0.02em !important;
	line-height: 1.05 !important;
	padding: 0 !important;
	margin-bottom: 8px !important;
}

.part-header p {
	color: rgba(248, 247, 245, 0.7) !important;
	font-size: 14px !important;
	line-height: 1.6 !important;
}

/* ── Tables ───────────────────────────────────────────── */
table {
	border-collapse: collapse !important;
	border: 1px solid var(--axio-titanium) !important;
	font-family: var(--axio-font-sans) !important;
}

th {
	background: var(--axio-cream) !important;
	color: var(--axio-ink) !important;
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.18em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	border-bottom: 1px solid var(--axio-titanium) !important;
	padding: 12px 14px !important;
}

td {
	color: var(--axio-ink) !important;
	border-bottom: 1px solid var(--axio-titanium) !important;
	padding: 10px 14px !important;
	font-size: 13.5px !important;
}

tr:hover {
	background: var(--axio-cream) !important;
}

tr:nth-child(even) {
	background: transparent !important;
}

tr.operational {
	opacity: 0.55;
}

/* ── Callouts (insight, warning, good, callout) ──────── */
.insight,
.insight-box,
.good {
	background: var(--axio-cream) !important;
	border-left: 3px solid var(--axio-ink) !important;
	border-radius: 0 !important;
	padding: 20px 24px !important;
	margin: 18px 0 !important;
}

.insight .tag,
.insight-box .label,
.insight-box > strong:first-child {
	color: var(--axio-ink) !important;
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	margin-bottom: 6px !important;
	display: block;
}

/* On dark slides the label needs to be cream — the rule above hard-codes
   ink for the light callout pattern (used in the Volume I report body),
   so we explicitly flip it back for the slide-deck dark variants. */
.slide.dark .insight-box .label,
.slide.gradient-warm .insight-box .label,
.slide.accent .insight-box .label,
.slide.dark .insight-box > strong:first-child,
.slide.gradient-warm .insight-box > strong:first-child,
.slide.accent .insight-box > strong:first-child {
	color: var(--axio-cream) !important;
	opacity: 0.65;
}

.good {
	background: var(--axio-bone) !important;
	border-left-color: var(--axio-success) !important;
}

.good strong:first-child {
	color: var(--axio-success) !important;
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
}

.warning,
.callout {
	background: var(--axio-bone) !important;
	border-left: 3px solid var(--axio-warning) !important;
	border-radius: 0 !important;
	padding: 20px 24px !important;
	margin: 18px 0 !important;
}

.warning .tag,
.callout strong:first-child {
	color: var(--axio-warning) !important;
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	margin-bottom: 6px !important;
	display: block;
}

.method-box {
	background: var(--axio-cream) !important;
	border-left: 3px solid var(--axio-slate-500) !important;
	border-radius: 0 !important;
	padding: 20px 24px !important;
}

.method-box code {
	background: var(--axio-bone) !important;
	font-family: var(--axio-font-mono) !important;
	border-radius: 0 !important;
	padding: 2px 6px !important;
}

/* ── Metric cards (Volume I uses .metric-card) ──────── */
.metric-card {
	background: #ffffff !important;
	border: 1px solid var(--axio-titanium) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 28px 24px !important;
	text-align: left !important;
}

.metric-value {
	font-family: var(--axio-font-serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	color: var(--axio-ink) !important;
	font-size: 36px !important;
	line-height: 1 !important;
	letter-spacing: -0.02em !important;
}

.metric-label {
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	color: var(--axio-slate-500) !important;
	margin-top: 12px !important;
}

.metric-sub {
	font-size: 12px !important;
	color: var(--axio-slate-500) !important;
	margin-top: 4px !important;
}

/* ── Table of contents (Volume I) ────────────────────── */
.toc h2,
.toc h3 {
	font-family: var(--axio-font-mono) !important;
	font-size: 11px !important;
	letter-spacing: 0.22em !important;
	color: var(--axio-slate-500) !important;
	text-transform: uppercase !important;
	border: none !important;
	padding: 0 !important;
	margin-bottom: 18px !important;
	font-weight: 500 !important;
}

.toc a {
	color: var(--axio-ink) !important;
	font-family: var(--axio-font-sans) !important;
	font-size: 14px !important;
	transition: color 0.2s ease;
}

.toc a:hover {
	color: var(--axio-ink) !important;
	text-decoration: underline;
}

.toc .part-label {
	color: var(--axio-slate-500) !important;
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	margin-top: 16px !important;
}

.section-divider {
	height: 1px !important;
	background: var(--axio-titanium) !important;
	margin: 56px 0 !important;
	border: none !important;
}

/* ── Charts — only relax the rounded corners; keep the matplotlib output untouched ── */
.chart,
.chart-container img,
.chart-pair img {
	border-radius: 0 !important;
	box-shadow: 0 1px 0 var(--axio-titanium) !important;
}

.chart-container {
	background: #ffffff !important;
	border: 1px solid var(--axio-titanium) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 24px !important;
}

/* ── Volume II (slide-deck) overrides ────────────────── */
.slides {
	background: var(--axio-cream);
}

/* Use the warmer obsidian (#141414) instead of pure axio-black so body
   copy on dark slides retains legibility. Pure #0a0a0a + cream text is
   too high-contrast for long-form reading and made tables look empty. */
.slide.dark {
	background: var(--axio-obsidian) !important;
	background-image:
		radial-gradient(ellipse at 30% 20%, rgba(255, 255, 255, 0.05) 0%, transparent 60%),
		linear-gradient(to right, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.025) 1px, transparent 1px) !important;
	background-size: auto, 64px 64px, 64px 64px !important;
	color: var(--axio-cream) !important;
}

.slide.gradient-warm {
	background: var(--axio-obsidian) !important;
	background-image:
		radial-gradient(ellipse at 70% 30%, rgba(255, 255, 255, 0.06) 0%, transparent 60%),
		radial-gradient(ellipse at 20% 80%, rgba(255, 255, 255, 0.03) 0%, transparent 55%) !important;
	color: var(--axio-cream) !important;
}

.slide.accent {
	background: var(--axio-graphite) !important;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, 0.03) 1px, transparent 1px) !important;
	background-size: 64px 64px, 64px 64px !important;
	color: var(--axio-cream) !important;
}

.slide.light {
	background: var(--axio-cream) !important;
	color: var(--axio-ink) !important;
}

/* Force explicit cream on all body content inside dark/accent/gradient
   slides so descendants don't fall back to the body's ink color when
   inheritance gets unreliable across deeply nested elements. */
.slide.dark,
.slide.dark p,
.slide.dark li,
.slide.dark td,
.slide.dark span,
.slide.dark strong,
.slide.dark em,
.slide.gradient-warm,
.slide.gradient-warm p,
.slide.gradient-warm li,
.slide.gradient-warm td,
.slide.gradient-warm span,
.slide.gradient-warm strong,
.slide.gradient-warm em,
.slide.accent,
.slide.accent p,
.slide.accent li,
.slide.accent td,
.slide.accent span,
.slide.accent strong,
.slide.accent em {
	color: var(--axio-cream) !important;
}

.slide.dark .content p,
.slide.gradient-warm .content p,
.slide.accent .content p {
	color: rgba(248, 247, 245, 0.92) !important;
}

.slide h1 {
	font-family: var(--axio-font-serif) !important;
	font-weight: 400 !important;
	letter-spacing: -0.028em !important;
	line-height: 1 !important;
}

.slide.title h1 {
	font-size: clamp(40px, 5.6vw, 88px) !important;
}

.slide.title h2 {
	font-family: var(--axio-font-sans) !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	color: rgba(248, 247, 245, 0.7) !important;
	letter-spacing: -0.005em !important;
}

.slide.light h2,
.slide h2 {
	font-family: var(--axio-font-mono) !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	letter-spacing: 0.22em !important;
	text-transform: uppercase !important;
	color: var(--axio-slate-500) !important;
}

.slide.light h2[style*="#4caf50"],
.slide.light h2[style*="#e57373"] {
	font-family: var(--axio-font-mono) !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	color: var(--axio-ink) !important;
}

.slide.dark h2,
.slide.accent h2,
.slide.gradient-warm h2 {
	color: rgba(248, 247, 245, 0.7) !important;
}

.slide.dark .subtitle,
.slide.accent .subtitle,
.slide.gradient-warm .subtitle {
	color: rgba(248, 247, 245, 0.7) !important;
	opacity: 1 !important;
}

.slide.light .subtitle {
	color: var(--axio-slate-500) !important;
	opacity: 1 !important;
}

/* Inline coloured subheads (e.g. style="color:#4caf50" / "#e57373") used
   on the "Highest Scores" / "Lowest Scores" pairs need to stay legible
   on the warmer obsidian background — a touch more weight and opacity. */
.slide.dark h2[style*="color"],
.slide.gradient-warm h2[style*="color"],
.slide.accent h2[style*="color"] {
	color: var(--axio-cream) !important;
	font-family: var(--axio-font-mono) !important;
	font-weight: 600 !important;
	font-size: 12px !important;
	letter-spacing: 0.2em !important;
	opacity: 0.85 !important;
}

.slide.title .stats-grid {
	border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
	padding-top: 32px !important;
	margin-top: 40px !important;
}

.slide .stat .number {
	font-family: var(--axio-font-serif) !important;
	font-style: italic !important;
	font-weight: 400 !important;
	color: var(--axio-cream) !important;
	letter-spacing: -0.02em !important;
}

.slide.light .stat .number {
	color: var(--axio-ink) !important;
}

.slide.accent .stat .number {
	color: var(--axio-cream) !important;
}

.slide .stat .label {
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	opacity: 0.6 !important;
}

.subtitle {
	font-family: var(--axio-font-sans) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	opacity: 0.7 !important;
}

/* Slide-deck insight boxes */
.slide .insight-box {
	background: rgba(255, 255, 255, 0.06) !important;
	border-left: 3px solid var(--axio-cream) !important;
	border-radius: 0 !important;
	padding: 22px 26px !important;
}

.slide.light .insight-box {
	background: var(--axio-cream) !important;
	border-left-color: var(--axio-ink) !important;
}

.slide .insight-box .label {
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.22em !important;
	opacity: 0.7 !important;
}

.slide .insight-box p {
	font-family: var(--axio-font-sans) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	letter-spacing: -0.005em !important;
	line-height: 1.55 !important;
}

.slide-number {
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	opacity: 0.4 !important;
}

.nav-hint {
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	opacity: 0.4 !important;
}

.rec-item {
	background: rgba(255, 255, 255, 0.04) !important;
	border-radius: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.1);
	padding: 28px !important;
}

.slide.light .rec-item {
	background: var(--axio-cream) !important;
	border-color: var(--axio-titanium);
}

.rec-item .number {
	background: var(--axio-cream) !important;
	color: var(--axio-ink) !important;
	border-radius: 0 !important;
	font-family: var(--axio-font-mono);
	width: 28px !important;
	height: 28px !important;
	font-size: 13px;
}

.slide.light .rec-item .number {
	background: var(--axio-ink) !important;
	color: var(--axio-cream) !important;
}

.rec-item h3 {
	font-family: var(--axio-font-serif) !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	letter-spacing: -0.018em !important;
}

/* Slide tables — dark slides need explicit cream td text and a slightly
   warmer header tint so columns aren't lost on the obsidian background. */
.slide table {
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	background: rgba(255, 255, 255, 0.02) !important;
}

.slide table th {
	background: rgba(255, 255, 255, 0.04) !important;
	color: rgba(248, 247, 245, 0.6) !important;
	font-family: var(--axio-font-mono) !important;
	font-size: 10px !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase !important;
	font-weight: 500 !important;
	border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
	padding: 12px 14px !important;
}

.slide table td {
	font-family: var(--axio-font-sans) !important;
	font-size: 14px !important;
	color: var(--axio-cream) !important;
	border-bottom-color: rgba(255, 255, 255, 0.08) !important;
	padding: 11px 14px !important;
}

.slide table tr {
	background: transparent !important;
}

.slide table tr:hover {
	background: rgba(255, 255, 255, 0.04) !important;
}

.slide table tr:hover td {
	background: transparent !important;
}

/* Light slides override — flip the palette back to ink-on-cream so the
   light slides still read as "light surface" and aren't darkened by the
   dark-slide rules above. */
.slide.light table {
	border: 1px solid var(--axio-titanium) !important;
	background: #ffffff !important;
}

.slide.light table th {
	background: var(--axio-cream) !important;
	color: var(--axio-slate-500) !important;
	border-bottom-color: var(--axio-titanium) !important;
}

.slide.light table td {
	border-bottom-color: var(--axio-titanium) !important;
	color: var(--axio-ink) !important;
}

.slide.light table tr:hover td {
	background: var(--axio-cream) !important;
}

/* Chart images on dark slides — soften the heavy shadow, square the corners */
.slide .chart-img,
.slide .full-chart img {
	border-radius: 0 !important;
	box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35) !important;
}

.slide.light .chart-img,
.slide.light .full-chart img {
	box-shadow: 0 1px 0 var(--axio-titanium), 0 8px 24px rgba(17, 17, 17, 0.06) !important;
}

/* ── Axiogen footer (injected) ───────────────────────── */
.axio-footer {
	background: var(--axio-ink);
	color: var(--axio-cream);
	padding: 64px 40px 32px;
	margin-top: 80px;
	font-family: var(--axio-font-mono);
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.axio-footer .row {
	max-width: 1160px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}

.axio-footer .left {
	display: flex;
	align-items: center;
	gap: 14px;
	flex-wrap: wrap;
}

.axio-footer .glyph {
	display: inline-block;
	width: 14px;
	height: 14px;
	background: var(--axio-cream);
	margin-right: 10px;
	vertical-align: -2px;
}

.axio-footer .nav {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.axio-footer a {
	color: var(--axio-cream);
	text-decoration: none;
	opacity: 0.7;
	transition: opacity 0.2s ease;
}

.axio-footer a:hover {
	opacity: 1;
}

.axio-footer .meta {
	color: rgba(248, 247, 245, 0.4);
	margin-top: 32px;
	padding-top: 24px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	max-width: 1160px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}

/* ── Internal report .footer (Volume I) — collapse ───── */
.container > .footer {
	display: none !important;
}
