/*
Theme Name: 非洲华人 Feizhou Huaren
Theme URI: https://feizhouhuaren.com/
Author: feizhouhuaren.com
Description: Classic theme for feizhouhuaren.com, guides for Chinese living and doing business in Africa. Seal-and-baobab identity, country ledger navigation, region hubs, Africa Essentials pillar, a sourced Chinese population data page for 54 countries, gambling callouts on money pages, and a Tools > 非洲华人 structure generator that creates the 859-page plan as drafts with linked 繁體 and English translations. Built-in 简体 / 繁體 / English theme strings; works with free Polylang.
Version: 1.1.0
Requires at least: 6.3
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: feizhouhuaren
*/

:root {
	--indigo: #1E2F5C;
	--indigo-2: #2B417A;
	--red: #B8322A;
	--red-dark: #962820;
	--ochre: #D99A26;
	--jade: #1F6E54;
	--ink: #17181C;
	--body: #2E3140;
	--muted: #5B6070;
	--line: #D7DCE6;
	--mist: #EEF1F6;
	--paper: #FFFFFF;
	--sand: #FBF4E6;
	--serif: "Noto Serif SC", "Source Han Serif SC", "Noto Serif CJK SC", "Songti SC", "STSong", serif;
	--sans: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", system-ui, -apple-system, "Segoe UI", sans-serif;
	--wrap: 1180px;
	--gutter: clamp(16px, 4vw, 32px);
}
body.lang-en {
	--sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;
	--serif: "Noto Serif SC", Georgia, "Times New Roman", serif;
	font-family: var(--sans);
}
:lang(zh-Hant), :lang(zh-TW), :lang(zh-HK) {
	--serif: "Noto Serif TC", "Source Han Serif TC", "Noto Serif CJK TC", "Songti TC", serif;
	--sans: "PingFang TC", "Microsoft JhengHei", "Noto Sans TC", "Noto Sans CJK TC", system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	background: var(--paper);
	color: var(--body);
	font: 17px/1.85 var(--sans);
	text-rendering: optimizeLegibility;
}
img, svg { max-width: 100%; height: auto; }
a { color: var(--indigo); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--red); }
:focus-visible { outline: 3px solid var(--ochre); outline-offset: 2px; }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: -999px; top: 8px; background: var(--ochre); color: var(--ink); padding: 8px 14px; z-index: 100; }
.skip:focus { left: 8px; }
.wrap { max-width: var(--wrap); margin: 0 auto; padding: 0 var(--gutter); }
.muted { color: var(--muted); }

h1, h2, h3, h4 { font-family: var(--serif); color: var(--ink); line-height: 1.35; margin: 0 0 .6em; }

/* ---------- Band: kente stripes meet the 回纹 key fret ---------- */
.band { height: 12px; background: var(--indigo) url(assets/img/band.svg) repeat-x 0 0 / 64px 12px; }

/* ---------- Masthead ---------- */
.masthead { background: var(--indigo); color: #fff; position: relative; z-index: 20; }
.masthead__bar { display: flex; align-items: center; gap: 28px; min-height: 76px; }
.brand { display: block; flex: 0 0 auto; }
.brand__img { display: block; height: 52px; width: auto; }
.sitenav { display: flex; align-items: center; gap: 22px; flex: 1; }
.sitenav .menu { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.sitenav .menu > li > a, .sub-toggle {
	display: block; white-space: nowrap; padding: 10px 12px; color: #fff; text-decoration: none; font-size: 16px;
	background: none; border: 0; font-family: inherit; cursor: pointer; border-radius: 3px;
}
.sitenav .menu > li > a:hover, .sub-toggle:hover, .sub-toggle[aria-expanded="true"] { background: var(--indigo-2); color: #fff; }
.sub-toggle::after { content: ""; display: inline-block; width: 7px; height: 7px; margin-left: 8px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-3px) rotate(45deg); }
.has-sub { position: static; }
.mega {
	display: none; position: absolute; left: 0; right: 0; top: 100%;
	background: #fff; color: var(--body); border-bottom: 1px solid var(--line);
	box-shadow: 0 18px 30px -18px rgba(30, 47, 92, .45);
	padding: 26px max(var(--gutter), calc((100% - var(--wrap)) / 2 + var(--gutter)));
	grid-template-columns: repeat(6, 1fr); gap: 20px;
}
.sub-toggle[aria-expanded="true"] + .mega { display: grid; }
.mega__region { font-family: var(--serif); font-weight: 700; color: var(--ink); margin: 0 0 6px; border-bottom: 2px solid var(--red); padding-bottom: 4px; }
.mega__region a { color: inherit; text-decoration: none; }
.mega__list { list-style: none; margin: 0; padding: 0; font-size: 15px; line-height: 1.9; }
.mega__list a { text-decoration: none; }
.mega__list span { color: var(--muted); }
.sitesearch { margin-left: auto; }
.sitesearch input {
	width: 260px; padding: 9px 12px; border-radius: 3px; border: 1px solid rgba(255,255,255,.35);
	background: rgba(255,255,255,.08); color: #fff; font: inherit; font-size: 15px;
}
.sitesearch input::placeholder { color: #C9D1E6; }
.langs { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; padding: 3px 3px 3px 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; color: #C9D1E6; }
.langs__globe { flex: 0 0 auto; }
.mega__region { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.langs ul { display: flex; gap: 2px; list-style: none; margin: 0; padding: 0; font-size: 14px; }
.langs a { display: block; color: #DDE3F0; text-decoration: none; padding: 4px 10px; border-radius: 999px; white-space: nowrap; font-weight: 600; line-height: 1.4; }
.langs a:hover { color: #fff; background: var(--indigo-2); }
.langs a[aria-current] { color: var(--ink); background: var(--ochre); }
.langs__short { display: none; }
@media (max-width: 1280px) {
	.sitesearch input { width: 170px; }
	.langs__long { display: none; }
	.langs__short { display: inline; }
	.langs a { padding: 3px 8px; }
}
@media (max-width: 900px) {
	.langs { order: 2; margin-left: auto; padding-left: 7px; gap: 4px; }
	.navtoggle { order: 3; margin-left: 0 !important; }
	.sitenav { order: 4; }
}
@media (max-width: 480px) {
	.brand__img { height: 36px !important; }
	.navtoggle { font-size: 0 !important; padding: 9px 10px !important; gap: 0 !important; }
	.masthead__bar { gap: 8px !important; }
	.langs__globe { display: none; }
	.langs { padding: 2px; }
}
.navtoggle { display: none; }

.alert { background: var(--red); color: #fff; font-size: 15px; padding: 8px 0; }
.alert a { color: #fff; }
.alert__tag { display: inline-block; background: #fff; color: var(--red); font-weight: 700; padding: 0 8px; margin-right: 10px; border-radius: 2px; }

/* ---------- Home ---------- */
.hero { padding: clamp(40px, 7vw, 88px) 0 clamp(36px, 5vw, 64px); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 40px; align-items: center; }
.hero__title { font-size: clamp(36px, 6vw, 64px); font-weight: 900; line-height: 1.2; letter-spacing: .01em; margin-bottom: .45em; }
.hero__lede { font-size: clamp(17px, 1.6vw, 19px); max-width: 34em; color: var(--body); margin: 0 0 28px; }
.hero__search { display: flex; max-width: 560px; border: 2px solid var(--indigo); border-radius: 4px; overflow: hidden; background: #fff; }
.hero__search input { flex: 1; min-width: 0; border: 0; padding: 14px 16px; font: inherit; font-size: 16px; color: var(--ink); }
.hero__search input:focus { outline: none; }
.hero__search:focus-within { outline: 3px solid var(--ochre); outline-offset: 2px; }
.hero__search button { border: 0; background: var(--indigo); color: #fff; font: inherit; font-weight: 600; padding: 0 24px; cursor: pointer; }
.hero__search button:hover { background: var(--red); }
.hero__seal { justify-self: end; }
.hero__seal img { display: block; width: 220px; transform: rotate(-4deg); filter: drop-shadow(0 1px 0 rgba(150, 40, 32, .25)); }
@media (prefers-reduced-motion: no-preference) {
	.hero__seal img { animation: stamp .55s cubic-bezier(.2, .9, .3, 1.2) .25s both; }
	@keyframes stamp { from { opacity: 0; transform: rotate(-4deg) scale(1.35); } to { opacity: 1; transform: rotate(-4deg) scale(1); } }
}

.sect__title { font-size: clamp(24px, 3vw, 30px); font-weight: 900; }
.sect__title a { color: inherit; text-decoration: none; }

.ledger-table { padding-bottom: 56px; }
.ledger-table table { width: 100%; border-collapse: collapse; }
.ledger-table th, .ledger-table td { text-align: left; vertical-align: top; padding: 16px 16px 16px 0; border-bottom: 1px dashed var(--line); }
.ledger-table thead th { font-family: var(--sans); font-size: 14px; color: var(--muted); font-weight: 400; border-bottom: 2px solid var(--ink); padding-top: 0; }
.ledger-table tbody th { font-family: var(--serif); font-size: 22px; font-weight: 900; white-space: nowrap; width: 9em; }
.ledger-table tbody th a { color: var(--ink); text-decoration: none; }
.ledger-table tbody th a:hover { color: var(--red); }
.ledger-table .en { display: block; font-family: var(--sans); font-size: 13px; font-weight: 400; color: var(--muted); }
.ledger-table td { font-size: 16px; }
.ledger-table .quick { display: flex; flex-wrap: wrap; gap: 6px 8px; }
.quick a, .quick span { font-size: 14px; padding: 2px 10px; border: 1px solid var(--line); border-radius: 3px; text-decoration: none; white-space: nowrap; }
.quick a:hover { border-color: var(--indigo); }
.quick span { color: var(--muted); }

.regions { background: var(--mist); padding: 56px 0; }
.regions__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 32px 40px; }
.region h3, .region h2 { font-size: 20px; display: flex; align-items: center; gap: 10px; }
.region h3::before, .region h2::before { content: ""; width: 12px; height: 12px; background: var(--red); flex: 0 0 auto; }
.region h3 a, .region h2 a { color: var(--ink); text-decoration: none; }
.clist { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px 16px; font-size: 16px; }
.clist a { text-decoration: none; }
.clist a:hover { text-decoration: underline; }
.clist .tier-1 a { font-weight: 700; }
.clist span { color: var(--muted); }
.clist--big { font-size: 18px; gap: 6px 22px; margin-bottom: 1.5em; }

.twocol { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; padding-top: 56px; padding-bottom: 64px; }
.checklist { list-style: none; margin: 0; padding: 0; }
.checklist li { position: relative; padding: 9px 0 9px 32px; border-bottom: 1px dashed var(--line); }
.checklist li::before { content: ""; position: absolute; left: 0; top: 16px; width: 16px; height: 16px; border: 2px solid var(--indigo); border-radius: 2px; }
.checklist a { color: var(--ink); text-decoration: none; }
.checklist a:hover { color: var(--red); }

.newsbox h2 { font-size: 22px; }
.newsbox ul { list-style: none; margin: 0 0 32px; padding: 0; }
.newsbox li { display: grid; grid-template-columns: 4.6em 1fr; gap: 12px; padding: 9px 0; border-bottom: 1px dashed var(--line); line-height: 1.6; }
.newsbox time { color: var(--jade); font-size: 14px; padding-top: 2px; font-variant-numeric: tabular-nums; }
.newsbox a { color: var(--ink); text-decoration: none; }
.newsbox a:hover { color: var(--red); }

/* ---------- Page heads ---------- */
.pagehead { border-bottom: 1px solid var(--line); padding: 26px 0 30px; }
.pagehead__title { font-size: clamp(28px, 4vw, 40px); font-weight: 900; max-width: 26em; margin-bottom: .3em; }
.pagehead__meta { color: var(--muted); font-size: 15px; margin: 0; display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; }
.pagehead--country { background: linear-gradient(var(--mist), var(--mist)) no-repeat 0 0 / 100% 100%; }
.pagehead__country { font-family: var(--serif); font-weight: 900; font-size: clamp(56px, 10vw, 120px); line-height: 1; color: var(--indigo); margin: 8px 0 14px; letter-spacing: .02em; }
.pagehead__country span { display: block; font-family: var(--sans); font-size: 16px; font-weight: 400; letter-spacing: 0; color: var(--muted); margin-top: 10px; }
.crumbs ol { list-style: none; margin: 0 0 14px; padding: 0; display: flex; flex-wrap: wrap; font-size: 14px; color: var(--muted); }
.crumbs li + li::before { content: "/"; margin: 0 8px; color: var(--line); }
.crumbs a { color: var(--muted); text-decoration: none; }
.crumbs a:hover { color: var(--red); }
.chip { display: inline-block; font-size: 13px; line-height: 1.6; padding: 1px 9px; border: 1px solid var(--line); border-radius: 3px; color: var(--indigo); text-decoration: none; }
.chip--country { border-color: var(--red); color: var(--red); }
.chip[aria-current] { background: var(--indigo); color: #fff; border-color: var(--indigo); }
.filters { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }

/* ---------- Layout ---------- */
.layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 56px; padding-top: 40px; padding-bottom: 72px; }
.layout--single { grid-template-columns: minmax(0, 46em); }
.side { position: sticky; top: 20px; align-self: start; max-height: calc(100vh - 40px); overflow: auto; }

/* Country ledger: section index like a merchant's account book */
.ledger { border-left: 3px solid var(--indigo); padding-left: 18px; margin-bottom: 32px; font-size: 15px; }
.ledger__country { font-family: var(--serif); font-size: 22px; font-weight: 900; margin: 0 0 6px; }
.ledger__country a { color: var(--ink); text-decoration: none; }
.ledger h3 { font-family: var(--sans); font-size: 13px; color: var(--muted); font-weight: 400; margin: 14px 0 2px; }
.ledger ul { list-style: none; margin: 0; padding: 0; line-height: 1.95; }
.ledger a { color: var(--body); text-decoration: none; }
.ledger a:hover { color: var(--red); }
.ledger .sub { padding-left: 1em; }
.ledger .soon { color: #9AA0AE; }
.ledger [aria-current] { color: var(--red); font-weight: 700; position: relative; }
.ledger [aria-current]::before { content: ""; position: absolute; left: -24px; top: .45em; width: 9px; height: 9px; background: var(--red); }

/* ---------- Prose ---------- */
.prose { max-width: 46em; color: var(--body); }
.prose > :first-child { margin-top: 0; }
.prose h2 { font-size: 26px; font-weight: 700; margin: 1.9em 0 .6em; padding-top: .2em; }
.prose h3 { font-size: 20px; font-weight: 700; margin: 1.6em 0 .5em; }
.prose p, .prose ul, .prose ol { margin: 0 0 1.2em; }
.prose li { margin-bottom: .35em; }
.prose blockquote { margin: 1.6em 0; padding: 4px 0 4px 20px; border-left: 3px solid var(--ochre); color: var(--ink); }
.prose table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: 15px; line-height: 1.6; }
.prose th, .prose td { border-bottom: 1px solid var(--line); padding: 10px 12px 10px 0; text-align: left; vertical-align: top; }
.prose thead th { border-bottom: 2px solid var(--ink); }
.prose figure { margin: 1.6em 0; }
.prose figcaption { font-size: 14px; color: var(--muted); }
.prose a[href^="http"]:not([href*="feizhouhuaren"])::after { content: "↗"; font-size: .8em; margin-left: 2px; }
.prose--intro { margin-top: 24px; font-size: 16px; color: var(--muted); }

.facts { border: 1.5px solid var(--indigo); margin: 0 0 2em; }
.facts__head { margin: 0; padding: 4px 14px 16px; color: #fff; font-weight: 700; background: var(--indigo) url(assets/img/band.svg) repeat-x 0 100% / 64px 12px; }
.facts dl { margin: 0; padding: 6px 16px 12px; display: grid; grid-template-columns: 1fr 1fr; column-gap: 28px; }
.facts dl > div { display: grid; grid-template-columns: 8.5em 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px dotted var(--line); font-size: 15px; line-height: 1.6; }
.facts dt { color: var(--muted); }
.facts dd { margin: 0; color: var(--ink); }

.callout { margin: 2em 0; padding: 16px 20px; background: var(--sand); border-left: 4px solid var(--ochre); }
.callout p { margin: 0; }
.related { margin-top: 2.4em; padding: 20px 22px; background: var(--mist); }
.related h2 { font-size: 20px; margin: 0 0 .4em; padding: 0; }
.related ul { margin: 0; padding-left: 1.2em; }
.lead-img { margin: 0 0 1.6em; }

.postlist { list-style: none; margin: 0; padding: 0; }
.postlist li { padding: 22px 0; border-bottom: 1px dashed var(--line); }
.postlist h2 { font-size: 22px; margin: 4px 0 6px; }
.postlist h2 a { color: var(--ink); text-decoration: none; }
.postlist h2 a:hover { color: var(--red); }
.postlist p { margin: 0; }
.postlist__meta { display: flex; gap: 10px; align-items: center; font-size: 14px; color: var(--jade); }
.nav-links { display: flex; gap: 10px; margin-top: 28px; }
.page-numbers { padding: 4px 12px; border: 1px solid var(--line); text-decoration: none; border-radius: 3px; }
.page-numbers.current { background: var(--indigo); color: #fff; border-color: var(--indigo); }
.empty { padding: 20px 0; }
.empty .hero__search { margin: 20px 0 40px; }
.regions__grid--plain { grid-template-columns: repeat(2, 1fr); }


/* ---------- Population data page ---------- */
.layout--wide { grid-template-columns: minmax(0, 60em); }
.layout--wide .prose { max-width: none; }
.lede { font-size: 19px; color: var(--ink); max-width: 40em; }
.small { font-size: 14px; }
.popsum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 28px 0 8px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line); }
.popsum > div { padding: 18px 20px 18px 0; }
.popsum > div + div { padding-left: 20px; border-left: 1px dashed var(--line); }
.popsum__n { font-family: var(--serif); font-weight: 900; font-size: clamp(30px, 4vw, 42px); line-height: 1.1; color: var(--indigo); margin: 0 0 6px; }
.popsum > div:nth-child(2) .popsum__n { color: var(--red); }
.popsum__l { font-weight: 700; color: var(--ink); margin: 0 0 6px; }
.popsum__d { font-size: 14px; line-height: 1.7; color: var(--muted); margin: 0; }
.tablewrap { overflow-x: auto; margin: 1em 0; }
.poptable, .regtable { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; margin: 0; }
.poptable th, .poptable td, .regtable th, .regtable td { padding: 9px 12px 9px 0; border-bottom: 1px dashed var(--line); text-align: left; vertical-align: top; }
.poptable thead th, .regtable thead th { border-bottom: 2px solid var(--ink); font-weight: 400; color: var(--muted); font-size: 14px; }
.poptable tbody th a, .regtable tbody th a { color: var(--ink); font-weight: 700; text-decoration: none; }
.poptable tbody th a:hover, .regtable tbody th a:hover { color: var(--red); }
.poptable .num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.conf { display: inline-block; font-size: 13px; padding: 0 8px; border-radius: 2px; white-space: nowrap; }
.conf--h { background: #E3F0EA; color: var(--jade); }
.conf--m { background: var(--sand); color: #8A5A0B; }
.conf--l { background: #F6E3E1; color: var(--red-dark); }
.cite { font-size: 12px; line-height: 0; margin-left: 2px; white-space: nowrap; }
.cite a { text-decoration: none; }
.popnotes section { padding: 14px 0; border-bottom: 1px dashed var(--line); scroll-margin-top: 20px; }
.popnotes section:target { background: var(--sand); }
.popnotes h3 { margin: 0 0 4px; font-size: 19px; }
.popnotes__range { font-family: var(--sans); font-size: 15px; font-weight: 400; color: var(--indigo); margin-left: 8px; }
.popnotes p { margin: 0 0 4px; }
.refs { font-size: 14px; line-height: 1.6; padding-left: 2em; }
.refs li { margin-bottom: .5em; word-break: break-word; }
.refs li:target { background: var(--sand); }
.ledger-table .pop { display: block; font-family: var(--serif); color: var(--indigo); font-size: 17px; }
@media (max-width: 760px) {
	.popsum { grid-template-columns: 1fr; }
	.popsum > div + div { padding-left: 0; border-left: 0; border-top: 1px dashed var(--line); }
}

/* ---------- Footer ---------- */
.foot { background: var(--indigo); color: #DDE3F0; font-size: 15px; margin-top: 0; }
.foot a { color: #fff; text-decoration: none; }
.foot a:hover { text-decoration: underline; color: #fff; }
.foot__grid { display: grid; grid-template-columns: 260px 1fr 180px; gap: 48px; padding-top: 48px; padding-bottom: 40px; }
.foot__brand img { display: block; margin-bottom: 14px; }
.foot__brand p { margin: 0 0 8px; line-height: 1.7; }
.foot__regions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px 28px; }
.foot__h { font-family: var(--serif); font-weight: 700; color: #fff; margin: 0 0 4px; }
.foot__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0 12px; line-height: 1.9; font-size: 14px; }
.foot__list span { color: #8F9BBB; }
.foot__site ul { list-style: none; margin: 0; padding: 0; line-height: 2.1; }
.foot__legal { border-top: 1px solid rgba(255,255,255,.15); padding-top: 20px; padding-bottom: 32px; font-size: 13px; color: #AEB8D2; }
.foot__legal p { margin: 0 0 6px; max-width: 60em; }

/* ---------- Responsive ---------- */
@media (max-width: 1280px) {
	.sitesearch input { width: 190px; }
	.masthead__bar { gap: 20px; }
	.sitenav { gap: 14px; }
}
@media (max-width: 1080px) {
	.mega { grid-template-columns: repeat(3, 1fr); }
	.sitesearch input { width: 160px; }
	.foot__grid { grid-template-columns: 1fr 1fr; }
	.foot__regions { grid-column: 1 / -1; order: 3; }
}
@media (max-width: 900px) {
	.masthead__bar { flex-wrap: wrap; min-height: 64px; gap: 12px; }
	.brand__img { height: 44px; }
	.navtoggle {
		display: flex; align-items: center; gap: 8px; margin-left: auto; background: none; border: 1px solid rgba(255,255,255,.35);
		color: #fff; font: inherit; font-size: 15px; padding: 6px 12px; border-radius: 3px; cursor: pointer;
	}
	.navtoggle__bars, .navtoggle__bars::before, .navtoggle__bars::after { display: block; width: 16px; height: 2px; background: currentColor; position: relative; }
	.navtoggle__bars::before, .navtoggle__bars::after { content: ""; position: absolute; left: 0; }
	.navtoggle__bars::before { top: -5px; } .navtoggle__bars::after { top: 5px; }
	.sitenav { display: none; flex-basis: 100%; flex-direction: column; align-items: stretch; gap: 10px; padding-bottom: 16px; }
	.sitenav.is-open { display: flex; }
	.sitenav .menu { flex-direction: column; }
	.sitesearch { margin: 0; }
	.sitesearch input { width: 100%; }
	.mega { position: static; box-shadow: none; padding: 14px; grid-template-columns: 1fr 1fr; border-radius: 3px; }
	.hero__grid { grid-template-columns: 1fr; }
	.hero__seal { display: none; }
	.br-wide { display: none; }
	.layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.side { position: static; max-height: none; }
	.regions__grid { grid-template-columns: 1fr 1fr; }
	.twocol { grid-template-columns: 1fr; gap: 40px; }
	.facts dl { grid-template-columns: 1fr; }
	.ledger-table thead { display: none; }
	.ledger-table tr { display: block; padding: 14px 0; border-bottom: 1px dashed var(--line); }
	.ledger-table th, .ledger-table td { display: block; border: 0; padding: 2px 0; width: auto; }
}
@media (max-width: 560px) {
	body { font-size: 16px; }
	.regions__grid, .regions__grid--plain, .foot__regions { grid-template-columns: 1fr; }
	.foot__grid { grid-template-columns: 1fr; }
	.mega { grid-template-columns: 1fr; }
	.facts dl > div { grid-template-columns: 7em 1fr; }
	.hero__search button { padding: 0 16px; }
}
@media print {
	.masthead, .foot, .side, .alert, .band { display: none; }
	.layout { display: block; }
}
