/*
 * The African Risk Lens — main stylesheet
 * Layout: navy masthead band with the lens mark; home pairs the latest essay with the
 * editorial promise, then two theme streams; essays read in a 680px serif column
 * opened by an "event file" (event, country, sector, event date).
 * Container queries (container "site") drive the responsive layout.
 */

:root {
	/* Colour */
	--paper: #f4f6f9;
	--surface: #ffffff;
	--heading: #0b1a33;
	--text: #1b2333;
	--muted: #556075;
	--rule: #d8dde6;
	--band: #0b1a33;
	--band-text: #eef1f6;
	--band-muted: #aab6ca;
	--band-rule: #233656;
	--gold: #d4af37;
	--gold-ink: #7a5c0e;
	--fcc: #7a5c0e;
	--erm: #2a5584;
	--link: #0b1a33;
	--focus: #2b6cd4;
	--decision-bg: #0b1a33;
	--decision-text: #eef1f6;

	/* Type */
	--font-display: "Archivo Variable", "Archivo", "Helvetica Neue", Arial, sans-serif;
	--font-body: "Source Serif 4 Variable", "Source Serif 4", Georgia, "Times New Roman", serif;
	--step--1: 0.8125rem;
	--step-0: 0.9375rem;
	--step-1: 1.0625rem;
	--step-2: 1.25rem;
	--step-3: 1.5rem;
	--step-4: 2rem;
	--step-5: 2.75rem;
	--step-6: 3.5rem;

	/* Space */
	--gutter-l: max(16px, env(safe-area-inset-left, 0px));
	--gutter-r: max(16px, env(safe-area-inset-right, 0px));
	--measure: 680px;
	--wide: 1180px;
	--radius: 4px;
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--paper: #0a111e;
		--surface: #101a2b;
		--heading: #f1f4f9;
		--text: #d8deea;
		--muted: #98a3b7;
		--rule: #24314a;
		--band: #0e1d37;
		--band-text: #eef1f6;
		--band-muted: #a9b5c9;
		--band-rule: #26395b;
		--gold-ink: #e0be55;
		--fcc: #e0be55;
		--erm: #8fb4e3;
		--link: #f1f4f9;
		--focus: #8fb4e3;
		--decision-bg: #16284a;
		--decision-text: #eef1f6;
		color-scheme: dark;
	}
}

:root[data-theme="dark"] {
	--paper: #0a111e;
	--surface: #101a2b;
	--heading: #f1f4f9;
	--text: #d8deea;
	--muted: #98a3b7;
	--rule: #24314a;
	--band: #0e1d37;
	--band-text: #eef1f6;
	--band-muted: #a9b5c9;
	--band-rule: #26395b;
	--gold-ink: #e0be55;
	--fcc: #e0be55;
	--erm: #8fb4e3;
	--link: #f1f4f9;
	--focus: #8fb4e3;
	--decision-bg: #16284a;
	--decision-text: #eef1f6;
	color-scheme: dark;
}

/* ---------- Base ---------- */

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

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

body {
	margin: 0;
	background: var(--paper);
	color: var(--text);
	font-family: var(--font-body);
	font-size: var(--step-1);
	line-height: 1.6;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

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

a { color: var(--link); text-decoration-color: var(--gold); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { text-decoration-color: var(--gold-ink); }

:focus-visible { outline: 3px solid var(--focus); outline-offset: 2px; border-radius: 2px; }

h1, h2, h3, h4 {
	font-family: var(--font-display);
	color: var(--heading);
	line-height: 1.15;
	letter-spacing: -0.01em;
	text-wrap: balance;
	margin: 0;
}

p { margin: 0; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed; top: 8px; left: 8px; z-index: 100;
	width: auto; height: auto; clip: auto;
	background: var(--surface); color: var(--heading);
	padding: 10px 14px; border-radius: var(--radius);
}

.site { container-type: inline-size; container-name: site; min-height: 100vh; display: flex; flex-direction: column; }
.site-main { flex: 1 0 auto; }

.wrap {
	width: 100%;
	max-width: calc(var(--wide) + 32px);
	margin-inline: auto;
	padding-left: var(--gutter-l);
	padding-right: var(--gutter-r);
}

/* ---------- Small parts ---------- */

.eyebrow {
	font-family: var(--font-display);
	font-size: var(--step--1);
	font-weight: 650;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--muted);
}

.theme-label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--font-display);
	font-size: var(--step--1);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--erm);
}
.theme-label::before { content: ""; width: 18px; height: 3px; background: currentColor; }
.theme-label--financial-crime { color: var(--fcc); }

.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 18px;
	border-radius: var(--radius);
	font-family: var(--font-display);
	font-size: var(--step-0);
	font-weight: 650;
	letter-spacing: 0.02em;
	text-decoration: none;
	border: 1.5px solid transparent;
	cursor: pointer;
}
.btn--gold { background: var(--gold); color: #0b1a33; }
.btn--gold:hover { background: #e2c25a; color: #0b1a33; }
.btn--line { border-color: currentColor; color: var(--heading); background: transparent; }
.btn--line:hover { background: var(--surface); }
.btn--band { border-color: var(--band-rule); color: var(--band-text); background: transparent; }
.btn--band:hover { border-color: var(--gold); }

.lens-mark { flex: none; display: block; }

/* ---------- Masthead ---------- */

.mast {
	background: var(--band);
	color: var(--band-text);
	border-bottom: 4px solid var(--gold);
}

.mast__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-block: 12px;
	border-bottom: 1px solid var(--band-rule);
}

.mast__id {
	font-family: var(--font-display);
	font-size: var(--step--1);
	font-weight: 650;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--band-muted);
	text-decoration: none;
}
.mast__id:hover { color: var(--band-text); }

.mast__actions { display: flex; align-items: center; gap: 14px; }

.mast__social {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px;
	color: var(--band-muted);
	border-radius: var(--radius);
}
.mast__social:hover { color: var(--gold); }

.mast__brand {
	display: flex;
	align-items: center;
	gap: 18px;
	padding-block: 28px 20px;
	text-decoration: none;
	color: inherit;
}

.mast__title {
	font-family: var(--font-display);
	font-size: var(--step-4);
	font-weight: 800;
	font-stretch: 112%;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	line-height: 1;
	color: var(--band-text);
}

.mast__subtitle {
	margin-top: 8px;
	font-family: var(--font-body);
	font-size: var(--step-1);
	font-style: italic;
	color: var(--band-muted);
}

.mast__nav { border-top: 1px solid var(--band-rule); }
.mast__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
}
.mast__nav a {
	display: inline-flex;
	align-items: center;
	min-height: 48px;
	font-family: var(--font-display);
	font-size: var(--step-0);
	font-weight: 600;
	color: var(--band-text);
	text-decoration: none;
	border-bottom: 3px solid transparent;
	margin-bottom: -1px;
}
.mast__nav a:hover,
.mast__nav .current-menu-item > a,
.mast__nav .current-cat > a,
.mast__nav a[aria-current="page"] { border-bottom-color: var(--gold); }

.mast--compact .mast__brand { padding-block: 18px 14px; }
.mast--compact .mast__title { font-size: var(--step-3); }
.mast--compact .mast__subtitle { display: none; }

@container site (min-width: 760px) {
	.mast__title { font-size: var(--step-5); }
	.mast--compact .mast__title { font-size: var(--step-3); }
	.mast__brand { gap: 22px; padding-block: 40px 28px; }
	.mast--compact .mast__brand { padding-block: 20px 16px; }
}

@container site (max-width: 520px) {
	.mast__brand { align-items: flex-start; }
	.mast__brand .lens-mark { width: 40px; height: 40px; }
	.mast__title { font-size: 1.625rem; letter-spacing: 0.02em; }
	.mast__actions .btn { padding-inline: 12px; }
	.mast__nav { overflow-x: auto; scrollbar-width: none; }
	.mast__nav ul { gap: 0 18px; flex-wrap: nowrap; white-space: nowrap; }
	.mast__nav a { font-size: var(--step--1); }
}

/* ---------- Home: lead ---------- */

.lead {
	display: grid;
	gap: 32px;
	padding-block: 40px 48px;
	border-bottom: 1px solid var(--rule);
}

@container site (min-width: 1000px) {
	.lead { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); gap: 56px; padding-block: 56px 64px; }
}

.lead-essay { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.lead-essay__title { font-size: var(--step-5); font-weight: 750; line-height: 1.05; }
.lead-essay__title a { color: inherit; text-decoration: none; }
.lead-essay__title a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.lead-essay__dek { font-size: var(--step-2); line-height: 1.5; color: var(--muted); max-width: 60ch; }

@container site (max-width: 520px) {
	.lead-essay__title { font-size: var(--step-4); }
	.lead-essay__dek { font-size: var(--step-1); }
}

.byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 14px;
	font-family: var(--font-display);
	font-size: var(--step--1);
	color: var(--muted);
}
.byline__author { display: inline-flex; align-items: center; gap: 10px; font-weight: 650; color: var(--heading); }
.byline__author img { width: 32px; height: 32px; border-radius: 50%; object-fit: cover; }
.byline__sep { width: 4px; height: 4px; border-radius: 50%; background: var(--rule); }

.promise {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 24px;
	background: var(--surface);
	border: 1px solid var(--rule);
	border-top: 4px solid var(--gold);
	border-radius: var(--radius);
	align-self: start;
}
.promise__text { font-size: var(--step-2); line-height: 1.45; color: var(--heading); }
.promise__author { display: flex; align-items: center; gap: 14px; padding-top: 18px; border-top: 1px solid var(--rule); }
.promise__author img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.promise__name { font-family: var(--font-display); font-weight: 700; color: var(--heading); font-size: var(--step-0); }
.promise__role { font-family: var(--font-display); font-size: var(--step--1); color: var(--muted); line-height: 1.4; }
.promise__actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ---------- Event file ---------- */

.event-file {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border: 1px solid var(--rule);
	border-radius: var(--radius);
	background: var(--surface);
	margin: 0;
}
.event-file > div { padding: 12px 14px; border-right: 1px solid var(--rule); border-bottom: 1px solid var(--rule); min-width: 0; }
.event-file > div:nth-child(2n) { border-right: 0; }
.event-file > div:nth-last-child(-n+2) { border-bottom: 0; }
.event-file dt {
	font-family: var(--font-display);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
}
.event-file dd {
	margin: 4px 0 0;
	font-family: var(--font-display);
	font-size: var(--step-0);
	font-weight: 600;
	color: var(--heading);
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

@container site (min-width: 760px) {
	.event-file { grid-template-columns: 2fr 1fr 1fr 1fr; }
	.event-file > div { border-bottom: 0; }
	.event-file > div:nth-child(2n) { border-right: 1px solid var(--rule); }
	.event-file > div:last-child { border-right: 0; }
}

/* ---------- Home: streams ---------- */

.streams {
	display: grid;
	gap: 40px;
	padding-block: 48px;
}
@container site (min-width: 760px) {
	.streams { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px; }
}

.stream { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.stream__head { display: flex; flex-direction: column; gap: 8px; padding-bottom: 18px; border-bottom: 2px solid var(--heading); }
.stream__title { font-size: var(--step-3); font-weight: 750; }
.stream__desc { font-size: var(--step-0); color: var(--muted); line-height: 1.5; }
.stream__list { list-style: none; margin: 0; padding: 0; }
.stream__item { padding-block: 18px; border-bottom: 1px solid var(--rule); display: flex; flex-direction: column; gap: 6px; }
.stream__item h3 { font-size: var(--step-2); font-weight: 700; line-height: 1.25; }
.stream__item h3 a { color: inherit; text-decoration: none; }
.stream__item h3 a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.stream__meta { font-family: var(--font-display); font-size: var(--step--1); color: var(--muted); font-variant-numeric: tabular-nums; }
.stream__more { padding-top: 14px; font-family: var(--font-display); font-size: var(--step-0); font-weight: 650; }
.stream__empty { padding-block: 18px; color: var(--muted); font-style: italic; }

/* ---------- Subscribe band ---------- */

.band {
	background: var(--band);
	color: var(--band-text);
	border-top: 4px solid var(--gold);
}
.band__inner { display: grid; gap: 24px; padding-block: 48px; }
@container site (min-width: 860px) {
	.band__inner { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 56px; }
}
.band h2 { color: var(--band-text); font-size: var(--step-4); font-weight: 750; }
.band p { color: var(--band-muted); font-size: var(--step-1); margin-top: 10px; }
.band__form { min-width: 0; }
.band__form .btn { margin-top: 4px; }

/* Newsletter embed (EmailOctopus or similar) */
.newsletter-embed { min-width: 0; }
.newsletter-embed iframe,
.newsletter-embed form { max-width: 100%; }

/* ---------- Footer ---------- */

.site-footer {
	border-top: 1px solid var(--rule);
	padding-block: 36px 48px;
	font-family: var(--font-display);
	font-size: var(--step--1);
	color: var(--muted);
}
.site-footer__grid { display: grid; gap: 20px; }
@container site (min-width: 760px) {
	.site-footer__grid { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 48px; }
}
.site-footer__brand { display: flex; align-items: center; gap: 12px; color: var(--heading); font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; font-size: var(--step-0); }
.site-footer__note { margin-top: 12px; line-height: 1.6; max-width: 62ch; }
.site-footer__links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.site-footer__links a { color: var(--heading); text-decoration: none; display: inline-flex; min-height: 32px; align-items: center; }
.site-footer__links a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.site-footer__legal { margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--rule); }

/* ---------- Article ---------- */

.article { padding-block: 40px 24px; }
.article__header {
	max-width: calc(var(--measure) + 160px);
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: 18px;
}
.article__title { font-size: var(--step-5); font-weight: 750; line-height: 1.05; }
.article__dek { font-size: var(--step-2); line-height: 1.5; color: var(--muted); }
@container site (min-width: 1000px) {
	.article__title { font-size: var(--step-6); }
}
@container site (max-width: 520px) {
	.article__title { font-size: 2.125rem; }
	.article__dek { font-size: var(--step-1); }
}

.article__figure { max-width: calc(var(--measure) + 160px); margin: 32px auto 0; }
.article__figure img { width: 100%; border-radius: var(--radius); }

/* Long-form reading column */
.prose {
	max-width: var(--measure);
	margin: 40px auto 0;
	font-size: var(--step-2);
	line-height: 1.7;
	color: var(--text);
}
.prose > * + * { margin-top: 1.1em; }
.prose h2 { font-size: var(--step-3); margin-top: 1.9em; }
.prose h3 { font-size: var(--step-2); margin-top: 1.6em; }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose li + li { margin-top: 0.4em; }
.prose blockquote {
	margin-inline: 0;
	padding-left: 22px;
	border-left: 3px solid var(--gold);
	font-style: italic;
	color: var(--heading);
}
.prose figure { margin-inline: 0; }
.prose figcaption { font-family: var(--font-display); font-size: var(--step--1); color: var(--muted); margin-top: 8px; }
.prose hr { border: 0; border-top: 1px solid var(--rule); margin-block: 2em; }
.prose table { width: 100%; border-collapse: collapse; font-size: var(--step-0); }
.prose .wp-block-table { overflow-x: auto; }
.prose th, .prose td { border-bottom: 1px solid var(--rule); padding: 8px 10px; text-align: left; }
@container site (max-width: 520px) {
	.prose { font-size: 1.125rem; }
}

/* Signature blocks — WordPress block styles on core/group */
.prose .is-style-decision,
.decision {
	background: var(--decision-bg);
	color: var(--decision-text);
	padding: 24px 26px;
	border-radius: var(--radius);
	border-left: 6px solid var(--gold);
	margin-block: 1.8em;
}
.prose .is-style-decision > *,
.decision > * { color: var(--decision-text); }
.prose .is-style-decision > * + *,
.decision > * + * { margin-top: 0.7em; }
.prose .is-style-decision::before,
.decision::before {
	content: "The decision";
	display: block;
	font-family: var(--font-display);
	font-size: var(--step--1);
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--gold);
	margin-bottom: 10px;
}

.prose .is-style-limits,
.limits {
	border: 1px dashed var(--muted);
	padding: 20px 24px;
	border-radius: var(--radius);
	margin-block: 1.8em;
	font-size: var(--step-1);
}
.prose .is-style-limits > * + *,
.limits > * + * { margin-top: 0.6em; }
.prose .is-style-limits::before,
.limits::before {
	content: "Where the comparison stops";
	display: block;
	font-family: var(--font-display);
	font-size: var(--step--1);
	font-weight: 750;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--muted);
	margin-bottom: 8px;
}

/* Sources */
.sources {
	max-width: var(--measure);
	margin: 48px auto 0;
	padding-top: 20px;
	border-top: 2px solid var(--heading);
}
.sources h2 { font-size: var(--step-1); letter-spacing: 0.14em; text-transform: uppercase; }
.sources ol {
	margin: 14px 0 0;
	padding-left: 1.6em;
	font-family: var(--font-display);
	font-size: var(--step-0);
	line-height: 1.55;
	color: var(--muted);
}
.sources li + li { margin-top: 8px; }
.sources li::marker { font-variant-numeric: tabular-nums; font-weight: 700; color: var(--heading); }
.sources a { overflow-wrap: anywhere; }
.sources__note { margin-top: 14px; font-family: var(--font-display); font-size: var(--step--1); color: var(--muted); }

/* End of essay */
.end-cta {
	max-width: var(--measure);
	margin: 40px auto 0;
	padding: 24px;
	border: 1px solid var(--rule);
	border-radius: var(--radius);
	background: var(--surface);
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.end-cta__title { font-size: var(--step-2); font-weight: 700; }
.end-cta__text { font-size: var(--step-0); color: var(--muted); }
.end-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }

.disclaimer {
	max-width: var(--measure);
	margin: 24px auto 0;
	font-family: var(--font-display);
	font-size: var(--step--1);
	color: var(--muted);
	line-height: 1.6;
}

/* Related / archive cards */
.cards-section { padding-block: 48px; }
.cards-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding-bottom: 14px; border-bottom: 2px solid var(--heading); }
.cards-section__head h2 { font-size: var(--step-3); font-weight: 750; }
.cards { display: grid; gap: 0 32px; }
@container site (min-width: 760px) { .cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@container site (min-width: 1000px) { .cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.card { display: flex; flex-direction: column; gap: 8px; padding-block: 22px; border-bottom: 1px solid var(--rule); min-width: 0; }
.card__thumb { aspect-ratio: 16 / 9; width: 100%; max-width: 100%; object-fit: cover; border-radius: var(--radius); margin-bottom: 6px; }
.card__title { font-size: var(--step-2); font-weight: 700; line-height: 1.25; }
.card__title a { color: inherit; text-decoration: none; }
.card__title a:hover { text-decoration: underline; text-decoration-color: var(--gold); }
.card__dek { font-size: var(--step-0); color: var(--muted); line-height: 1.55; }
.card__meta { font-family: var(--font-display); font-size: var(--step--1); color: var(--muted); font-variant-numeric: tabular-nums; }

/* Archive header */
.archive-head { padding-block: 40px 8px; display: flex; flex-direction: column; gap: 12px; max-width: 760px; }
.archive-head h1 { font-size: var(--step-5); font-weight: 750; }
.archive-head p { font-size: var(--step-2); color: var(--muted); line-height: 1.5; }
@container site (max-width: 520px) { .archive-head h1 { font-size: var(--step-4); } }

.pagination { display: flex; gap: 10px; flex-wrap: wrap; padding-block: 8px 48px; font-family: var(--font-display); }
.pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 12px; border: 1px solid var(--rule); border-radius: var(--radius); color: var(--heading); text-decoration: none; }
.pagination .current { background: var(--heading); color: var(--paper); border-color: var(--heading); }

/* Pages (About, Editorial standards) */
.page-head { max-width: calc(var(--measure) + 160px); margin: 0 auto; padding-top: 40px; display: flex; flex-direction: column; gap: 14px; }
.page-head h1 { font-size: var(--step-5); font-weight: 750; }
@container site (max-width: 520px) { .page-head h1 { font-size: var(--step-4); } }

.about-intro { display: grid; gap: 28px; align-items: start; max-width: calc(var(--measure) + 160px); margin: 32px auto 0; }
@container site (min-width: 760px) { .about-intro { grid-template-columns: 220px minmax(0, 1fr); gap: 40px; } }
.about-intro img { width: 100%; max-width: 220px; aspect-ratio: 1; object-fit: cover; border-radius: var(--radius); border-bottom: 4px solid var(--gold); }
.about-intro .prose { margin-top: 0; }

.credentials { display: flex; flex-wrap: wrap; gap: 8px; }
.credentials span { font-family: var(--font-display); font-size: var(--step--1); font-weight: 700; letter-spacing: 0.08em; padding: 6px 10px; border: 1px solid var(--rule); border-radius: var(--radius); color: var(--heading); background: var(--surface); }

/* Empty state */
.empty-state { padding: 32px; border: 1px dashed var(--rule); border-radius: var(--radius); display: flex; flex-direction: column; gap: 12px; background: var(--surface); }
.empty-state h2 { font-size: var(--step-3); }
.empty-state p { color: var(--muted); }

/* Search form */
.search-form { display: flex; gap: 8px; flex-wrap: wrap; }
.search-form input[type="search"] { flex: 1 1 220px; min-height: 44px; padding: 8px 12px; font: inherit; font-size: var(--step-0); border: 1px solid var(--rule); border-radius: var(--radius); background: var(--surface); color: var(--text); }

/* WordPress core alignment helpers */
.alignwide { max-width: calc(var(--measure) + 240px); margin-inline: auto; }
.alignfull { max-width: none; }
.aligncenter { margin-inline: auto; display: block; }
.wp-block-image img { border-radius: var(--radius); }
.wp-caption-text { font-family: var(--font-display); font-size: var(--step--1); color: var(--muted); }

@media (prefers-reduced-motion: no-preference) {
	a, .btn { transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease, text-decoration-color 0.15s ease; }
}

@media print {
	.mast__top, .mast__nav, .band, .end-cta, .site-footer, .cards-section { display: none; }
	.mast { background: none; color: #000; border: 0; }
	.mast__title { color: #000; }
	body { background: #fff; color: #000; }
}
