/*
 * Orient Bank — site styles.
 * Decisions (DESIGN.md): palette = Kadence global palette (palette1..9); Bricolage Grotesque headings + Figtree body;
 * signature = lake waves (hero bottom edge, footer top); one map of Uganda; product sheet = main column + documents checklist.
 * Class prefix: x-. Breakpoints: 544 / 768 / 1024 / 1200, plus 781 where WordPress itself stacks core columns
 * and 1181 where the Kadence header switches from the mobile to the desktop menu.
 */

/* ---------- fonts ---------- */
@font-face {
	font-family: "Bricolage Grotesque";
	src: url("../fonts/bricolage-grotesque.woff2") format("woff2");
	font-weight: 500 800;
	font-stretch: 75% 100%;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree.woff2") format("woff2");
	font-weight: 300 900;
	font-style: normal;
	font-display: swap;
}
@font-face {
	font-family: "Figtree";
	src: url("../fonts/figtree-italic.woff2") format("woff2");
	font-weight: 300 900;
	font-style: italic;
	font-display: swap;
}

/* ---------- tokens ---------- */
:root {
	--x-red: var(--global-palette1, #d8232a);
	--x-lake: var(--global-palette2, #1b5e8c);
	--x-navy: var(--global-palette3, #0e1f4d);
	--x-text: var(--global-palette4, #2b3243);
	--x-muted: var(--global-palette5, #5b6476);
	--x-subtle: var(--global-palette6, #97a1b2);
	--x-line: var(--global-palette7, #d9e0e9);
	--x-mist: var(--global-palette8, #eef3f7);
	--x-white: var(--global-palette9, #fff);
	--x-wide: 1240px;
	--x-gutter: 20px; /* same edge spacing as the Kadence header: 20px phone, 32px from 768px */
	--x-band: clamp(56px, 7vw, 96px);
	--x-band-sm: clamp(40px, 5vw, 64px);
	--x-radius: 6px;
	--x-head: "Bricolage Grotesque", "Arial Narrow", Arial, sans-serif;
	--x-body: Figtree, "Segoe UI", Arial, sans-serif;
	--x-step-h1: clamp(2.35rem, 1.55rem + 3.1vw, 4.1rem);
	--x-step-h2: clamp(1.7rem, 1.3rem + 1.5vw, 2.5rem);
	--x-step-h3: clamp(1.18rem, 1.08rem + 0.4vw, 1.38rem);
	--x-step-lead: clamp(1.1rem, 1.02rem + 0.35vw, 1.3rem);
	--x-wave: url("../img/wave-edge.svg");
	--x-lines: url("../img/wave-lines.svg");
	--x-on-navy: color-mix(in srgb, var(--x-white) 78%, var(--x-navy)); /* body text on navy */
	--x-on-navy-strong: color-mix(in srgb, var(--x-white) 88%, var(--x-navy)); /* links on navy */
}

@media (min-width: 768px) { :root { --x-gutter: 32px; } }

/* ---------- base type ---------- */
body {
	font-family: var(--x-body);
	color: var(--x-text);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
h1, h2, h3, h4, h5, h6,
.x-price__amount,
.x-timeline__year,
.x-value__initial {
	font-family: var(--x-head);
	font-stretch: 88%;
	letter-spacing: -0.012em;
	color: var(--x-navy);
}
.entry-content h1 { font-size: var(--x-step-h1); line-height: 1.02; font-weight: 700; }
.entry-content h2 { font-size: var(--x-step-h2); line-height: 1.1; font-weight: 700; margin: 0 0 0.6em; }
.entry-content h3 { font-size: var(--x-step-h3); line-height: 1.25; font-weight: 650; margin: 1.6em 0 0.5em; }
.entry-content h2 a, .entry-content h3 a { text-decoration: none; color: inherit; }
.entry-content p, .entry-content li { max-width: 68ch; }
.entry-content .x-lead { max-width: 60ch; }
.single-content p { margin-bottom: 1em; }
/* component groups set their own spacing; Kadence gives every block in .single-content a 2rem bottom margin */
.single-content .x-news__teaser, .single-content .x-news__item, .single-content .x-quote, .single-content .x-job, .single-content .x-loc,
.single-content .x-card, .single-content .x-person, .single-content .x-value, .single-content .x-report, .single-content .x-timeline__item,
.single-content .x-contact, .single-content .x-price, .single-content .x-docs, .single-content .x-facts { margin-bottom: 0; }

.entry-content a { color: var(--x-lake); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.entry-content a:hover { color: var(--x-red); }
.x-lead { font-size: var(--x-step-lead); line-height: 1.55; color: var(--x-text); max-width: 58ch; }
strong { font-weight: 650; color: var(--x-navy); }

/* ---------- page frame: full-bleed bands ---------- */
.content-width-fullwidth .content-container.site-container,
.page .content-container.site-container { max-width: none; padding-left: 0; padding-right: 0; }
.page .entry-content-wrap { padding: 0; }
.page .entry-content > .wp-block-group { margin: 0; }
.entry-content > .wp-block-group > .wp-block-group__inner-container {
	max-width: var(--x-wide);
	margin: 0 auto;
	padding-left: var(--x-gutter);
	padding-right: var(--x-gutter);
}
.x-band { padding-block: var(--x-band); }
.x-band:not(.x-band--mist, .x-band--navy, .x-help, .x-hero) + .x-band:not(.x-band--mist, .x-band--navy, .x-help, .x-more) { padding-top: 0; }
.entry-content .x-facts ul, .entry-content .x-loc ul { margin-bottom: 0; }
.entry-content ul.x-more__list { padding-left: 0; }
/* grids own their spacing: drop the flow-layout margins WordPress adds between siblings */
.entry-content .x-cards > .wp-block-group__inner-container > *,
.entry-content .x-locs > .wp-block-group__inner-container > *,
.entry-content .x-people > .wp-block-group__inner-container > *,
.entry-content .x-values > .wp-block-group__inner-container > *,
.entry-content .x-reports > .wp-block-group__inner-container > *,
.entry-content .x-timeline > .wp-block-group__inner-container > *,
.entry-content .x-jobs > .wp-block-group__inner-container > *,
.entry-content .x-contacts > .wp-block-group__inner-container > * { margin: 0; }
.x-band--mist { background: var(--x-mist); }
.x-band--navy { background: var(--x-navy); color: var(--x-on-navy-strong); }
.x-band--navy h2, .x-band--navy h3, .x-band--navy strong { color: var(--x-white); }
.x-band--navy a { color: var(--x-white); }
.entry-content .x-band__intro { font-size: var(--x-step-lead); margin-bottom: 2rem; }
.entry-content .wp-block-group__inner-container > :first-child { margin-top: 0; }
.entry-content .wp-block-group__inner-container > :last-child { margin-bottom: 0; }

/* ---------- hero ---------- */
.x-hero {
	position: relative;
	background: var(--x-mist);
	padding-block: clamp(40px, 5vw, 72px) clamp(64px, 7vw, 104px);
}
.x-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 22px;
	background: var(--x-white);
	-webkit-mask: var(--x-wave) repeat-x left bottom / 160px 22px;
	mask: var(--x-wave) repeat-x left bottom / 160px 22px;
	pointer-events: none;
}
.entry-content .x-hero__grid { gap: clamp(28px, 5vw, 72px); align-items: center; margin: 0; }
.x-hero__text { flex: 1 1 55%; }
.x-hero__media { flex: 1 1 45%; }
.entry-content .x-hero__title { margin: 0 0 0.4em; max-width: 16ch; }
.x-hero--plain .x-hero__title { max-width: 20ch; }
.entry-content .x-hero .x-lead { margin: 0; }
.entry-content .x-hero__parent { margin: 0 0 1rem; font-weight: 600; font-size: 0.95rem; }
.x-hero__parent a { color: var(--x-lake); text-decoration: none; }
.x-hero__parent a::before { content: "\2190\00a0"; }
.x-hero__parent a:hover { color: var(--x-red); }
.entry-content .x-hero__photo { margin: 0; }
.x-hero__photo img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--x-radius);
}
.entry-content .x-hero__actions { margin-top: 1.8rem; gap: 12px; }
.entry-content .x-hero__note { margin: 1.4rem 0 0; color: var(--x-muted); font-size: 0.95rem; }

/* home hero: navy, circle photo with lake waves and a rising red sun */
.x-hero--home { background: var(--x-navy); color: var(--x-on-navy-strong); padding-block: clamp(48px, 6vw, 96px) clamp(80px, 9vw, 128px); overflow: hidden; }
.x-hero--home .x-hero__title { color: var(--x-white); font-size: clamp(2.6rem, 1.6rem + 4vw, 4.9rem); max-width: 12ch; }
.x-hero--home .x-lead { color: var(--x-on-navy); }
.x-hero--home .x-hero__media { position: relative; display: flex; justify-content: center; }
.x-hero--home .x-hero__media::before {
	content: "";
	position: absolute;
	width: 46%;
	aspect-ratio: 1;
	border-radius: 50%;
	background: var(--x-red);
	right: 4%;
	top: -4%;
}
.x-hero--home .x-hero__photo { position: relative; width: min(100%, 500px); }
.x-hero--home .x-hero__photo img { aspect-ratio: 1; border-radius: 50%; object-position: 50% 30%; }
.x-hero--home .x-hero__photo::after {
	content: "";
	position: absolute;
	left: 8%;
	right: 8%;
	bottom: 14%;
	height: 17%;
	background: var(--x-white);
	-webkit-mask: var(--x-lines) repeat-x center / 25% 100%;
	mask: var(--x-lines) repeat-x center / 25% 100%;
	opacity: 0.92;
}
.entry-content .x-hero--home .wp-block-button.is-style-outline .wp-block-button__link { color: var(--x-white); border-color: rgba(255, 255, 255, 0.7); }
.entry-content .x-hero--home .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--x-white); color: var(--x-navy); border-color: var(--x-white); }

/* ---------- buttons ---------- */
.entry-content .wp-block-button__link {
	font-family: var(--x-body);
	font-weight: 600;
	border-radius: 4px;
	padding: 0.85em 1.4em;
	background: var(--x-red);
	color: var(--x-white);
	border: 2px solid var(--x-red);
	text-decoration: none;
	transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}
.entry-content .wp-block-button__link:hover { background: var(--x-navy); border-color: var(--x-navy); color: var(--x-white); }
.entry-content .wp-block-button.is-style-outline .wp-block-button__link { background: transparent; color: var(--x-navy); border-color: var(--x-navy); }
.entry-content .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--x-navy); color: var(--x-white); }
.wp-block-buttons { gap: 12px; }

/* ---------- cards ---------- */
.x-cards > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 20px; }
.x-cards--three > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.x-cards--four > .wp-block-group__inner-container { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.x-cards--photo > .wp-block-group__inner-container { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.entry-content .x-cards--photo { margin-bottom: 20px; }
.x-card {
	position: relative;
	background: var(--x-white);
	border: 1px solid var(--x-line);
	border-radius: var(--x-radius);
	padding: 22px 22px 24px;
	transition: border-color 0.15s, transform 0.15s;
}
.x-card:hover { border-color: var(--x-navy); transform: translateY(-2px); }
.x-card:focus-within { border-color: var(--x-navy); }
.entry-content .x-card__title { margin: 0 0 0.45em; font-size: 1.2rem; }
.x-card__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.x-card__title a:focus-visible { outline: none; }
.x-card__title a:focus-visible::after { outline: 3px solid var(--x-lake); outline-offset: 2px; }
.entry-content .x-card__text { margin: 0; color: var(--x-muted); font-size: 0.98rem; line-height: 1.55; }
.x-card--photo { padding: 0; overflow: hidden; }
.entry-content .x-card--photo .x-card__photo { margin: 0; }
.x-card--photo .x-card__photo img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.entry-content .x-card--photo .x-card__title { margin: 20px 22px 0.4em; font-size: 1.35rem; }
.entry-content .x-card--photo .x-card__text { margin: 0 22px 24px; }
.x-band--mist .x-card { border-color: transparent; }
.x-band--mist .x-card:hover { border-color: var(--x-navy); }
.x-band--navy .x-card { background: rgba(255, 255, 255, 0.06); border-color: rgba(255, 255, 255, 0.18); }
.x-band--navy .x-card:hover { border-color: var(--x-white); }
.x-band--navy .x-card__text { color: var(--x-on-navy); }
.x-band--navy .x-card__title a { color: var(--x-white); }

/* ---------- lists ---------- */
.entry-content ul.x-ticks, .entry-content ul.x-rows, .entry-content ul.x-checklist,
.entry-content ul.x-pills, .entry-content ul.x-chips, .entry-content ul.x-keydates,
.entry-content ul.x-loc__hours, .entry-content ul[class*="x-facts__"],
.entry-content ul.x-contact__hours { list-style: none; padding: 0; margin-left: 0; }
.entry-content .x-ticks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin: 0 0 2.4rem; }
.entry-content .x-ticks li { position: relative; padding-left: 30px; margin: 0; }
.x-ticks li::before {
	content: "";
	position: absolute;
	left: 2px;
	top: 0.42em;
	width: 14px;
	height: 8px;
	border-left: 2.5px solid var(--x-red);
	border-bottom: 2.5px solid var(--x-red);
	transform: rotate(-45deg);
}
.x-band--navy .x-ticks li::before { border-color: var(--x-white); }
.entry-content .x-rows { margin: 0 0 2.4rem; border-top: 1px solid var(--x-line); }
.entry-content .x-rows li { margin: 0; padding: 12px 0; border-bottom: 1px solid var(--x-line); max-width: none; }
.x-terms { padding-left: 1.3em; }
.entry-content .x-terms li { margin-bottom: 0.8em; }
.entry-content ol.x-steps { counter-reset: step; list-style: none; padding: 0; margin: 0; display: grid; gap: 14px; }
.entry-content .x-steps li { counter-increment: step; position: relative; padding: 14px 16px 14px 60px; background: var(--x-mist); border-radius: var(--x-radius); margin: 0; max-width: 60ch; }
.x-steps li::before {
	content: counter(step);
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--x-navy);
	color: var(--x-white);
	font: 700 0.95rem/30px var(--x-body);
	text-align: center;
}

/* ---------- product sheet ---------- */
.entry-content .x-sheet__grid { gap: clamp(32px, 5vw, 72px); align-items: flex-start; margin: 0; }
.x-sheet__main { flex: 1 1 60%; }
.x-sheet__aside { flex: 1 1 40%; }
.x-sheet--single > .wp-block-group__inner-container > :is(ul, ol, h2, h3) { max-width: 820px; }
.entry-content .x-sheet__main > h2, .entry-content .x-sheet--single h2 { font-size: clamp(1.4rem, 1.2rem + 0.7vw, 1.75rem); }
.x-docs {
	background: var(--x-white);
	border: 1px solid var(--x-line);
	border-top: 4px solid var(--x-navy);
	border-radius: var(--x-radius);
	padding: 26px 26px 28px;
}
@media (min-width: 1024px) {
	.x-sheet__aside { position: sticky; top: 24px; }
}
.entry-content .x-docs__title { font-size: 1.35rem; margin-bottom: 0.4em; }
.entry-content .x-docs__intro { color: var(--x-muted); margin: 0 0 1rem; font-size: 0.98rem; }
.entry-content .x-docs__sub { font-size: 1rem; font-family: var(--x-body); font-stretch: 100%; letter-spacing: 0; margin: 1.4em 0 0.6em; color: var(--x-navy); }
.entry-content .x-checklist { margin: 0; }
.entry-content .x-checklist li { position: relative; padding: 9px 0 9px 32px; margin: 0; border-bottom: 1px dashed var(--x-line); font-size: 0.98rem; line-height: 1.5; }
.x-checklist li:last-child { border-bottom: 0; }
.x-checklist li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12px;
	width: 16px;
	height: 16px;
	border: 2px solid var(--x-navy);
	border-radius: 3px;
}
.entry-content .x-download { margin-top: 1.6rem; font-weight: 600; }
.x-download a { text-decoration: none; border-bottom: 2px solid currentColor; padding-bottom: 1px; }

/* related pages */
.x-more.x-band { padding-block: var(--x-band-sm); border-top: 1px solid var(--x-line); }
.entry-content .x-more__title { font-size: 1.25rem; margin-bottom: 1rem; }
.entry-content .x-more__list, .entry-content .x-pills { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; padding: 0; margin: 0; }
.entry-content .x-more__list li, .entry-content .x-pills li { margin: 0; }
.x-more__list a, .x-pills a {
	display: inline-block;
	padding: 8px 14px;
	border: 1px solid var(--x-line);
	border-radius: 999px;
	text-decoration: none;
	color: var(--x-navy);
	font-weight: 500;
	font-size: 0.95rem;
	background: var(--x-white);
}
.entry-content .x-more__list a:hover, .entry-content .x-pills a:hover { border-color: var(--x-navy); color: var(--x-navy); background: var(--x-mist); }
.entry-content .x-more__list .current-menu-item > a { background: var(--x-navy); border-color: var(--x-navy); color: var(--x-white); }
.entry-content .x-also__title { font-size: 1.35rem; }

/* ---------- help band (synced pattern) ---------- */
.x-help.x-band { position: relative; background: var(--x-navy); color: var(--x-on-navy); padding-block: calc(var(--x-band-sm) + 22px) var(--x-band-sm); border-bottom: 1px solid rgba(255, 255, 255, 0.14); }
/* the lake-wave edge opens the navy block: here when the page ends with the help band, on the footer otherwise */
.x-help.x-band::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 22px;
	background: var(--x-white);
	-webkit-mask: var(--x-wave) repeat-x left bottom / 160px 22px;
	mask: var(--x-wave) repeat-x left bottom / 160px 22px;
	transform: scaleY(-1);
}
.x-band--mist + .x-help.x-band::before { background: var(--x-mist); }
body:has(.entry-content > .x-help:last-child) #colophon .site-middle-footer-wrap::before { display: none; }
body:has(.entry-content > .x-help:last-child) #colophon .site-middle-footer-inner-wrap { padding-top: clamp(48px, 5vw, 64px); }
body:has(.entry-content > .x-band--mist:last-child) #colophon .site-middle-footer-wrap::before { background: var(--x-mist); }
.entry-content .x-help__grid { align-items: center; gap: 24px 48px; margin: 0; }
.x-help__text-col { flex: 1 1 50%; }
.x-help__actions-col { flex: 1 1 50%; }
.entry-content .x-help__title { color: var(--x-white); margin-bottom: 0.3em; }
.entry-content .x-help__text { margin: 0; }
.x-help__actions { justify-content: flex-end; }
.entry-content .x-help .wp-block-button.is-style-outline .wp-block-button__link { color: var(--x-white); border-color: rgba(255, 255, 255, 0.6); }
.entry-content .x-help .wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--x-white); color: var(--x-navy); border-color: var(--x-white); }

/* ---------- price, split ---------- */
.x-pricing > .wp-block-group__inner-container { display: flex; align-items: center; gap: 24px 56px; flex-wrap: wrap; }
.x-price > .wp-block-group__inner-container { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.entry-content .x-price__amount { font-size: clamp(2.6rem, 2rem + 2.4vw, 4.2rem); font-weight: 800; line-height: 1; margin: 0; color: var(--x-red); }
.entry-content .x-price__unit { margin: 0; font-weight: 600; color: var(--x-navy); }
.entry-content .x-price__text { flex: 1 1 380px; margin: 0; font-size: 1.08rem; }
.entry-content .x-split .x-price { margin: 0.4rem 0 1.2rem; }
.entry-content .x-split { gap: clamp(32px, 6vw, 88px); align-items: center; margin: 0; }
.x-split__text { flex: 1 1 52%; }
.x-split__media { flex: 1 1 48%; }
.x-split--even .x-split__text, .x-split--even .x-news-list { flex: 1 1 50%; align-self: flex-start; }
.entry-content .x-split__photo { margin: 0; }
.x-split__photo img { display: block; width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--x-radius); }
.entry-content .x-inline-links { margin-top: 1.4rem; font-weight: 500; }

/* ---------- map ---------- */
.x-map__art { pointer-events: none; }
.x-map__svg { display: block; width: 100%; height: auto; overflow: visible; -webkit-mask-image: linear-gradient(to bottom, #000 78%, transparent 100%); mask-image: linear-gradient(to bottom, #000 78%, transparent 100%); }
.x-map__near { display: none; }
.x-map__land { fill: color-mix(in srgb, var(--x-mist) 40%, var(--x-white)); stroke: var(--x-navy); stroke-width: 2.4; stroke-linejoin: round; }
.x-map__lake { fill: color-mix(in srgb, var(--x-lake) 30%, var(--x-white)); stroke: var(--x-lake); stroke-width: 1.2; }
.x-map__dot { fill: var(--x-red); stroke: #fff; stroke-width: 3; }
.x-map__dot.is-quiet { fill: var(--x-subtle); stroke-width: 2; }
.x-map__halo { fill: rgba(216, 35, 42, 0.16); }
.x-map__town text { font: 700 22px/1 var(--x-body); fill: var(--x-navy); paint-order: stroke; stroke: #fff; stroke-width: 5px; stroke-linejoin: round; }
.x-map__town:not(.is-active) .x-map__halo { display: none; }

/* directory hero with the country map on the right */
.x-hero--map > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); column-gap: clamp(28px, 5vw, 72px); align-items: center; }
.x-hero--map .x-map__art { grid-column: 2; grid-row: 1 / span 5; max-width: 440px; justify-self: center; width: 100%; }
.x-hero--map .wp-block-group__inner-container > :not(.x-map__art) { grid-column: 1; }
.entry-content .x-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 1.4rem 0 0; }
.entry-content .x-chips li { margin: 0; }
.entry-content .x-chips a {
	display: inline-block;
	padding: 9px 16px;
	border-radius: 999px;
	background: var(--x-white);
	border: 1px solid var(--x-line);
	color: var(--x-navy);
	font-weight: 600;
	text-decoration: none;
}
.entry-content .x-chips a:hover { background: var(--x-navy); color: var(--x-white); border-color: var(--x-navy); }

/* directory */
.entry-content .x-district.x-band { padding-block: var(--x-band-sm); scroll-margin-top: 90px; }
.x-district + .x-district { border-top: 1px solid var(--x-line); }
.entry-content .x-district__title { scroll-margin-top: 100px; }
.entry-content .x-district__kind { font-family: var(--x-body); font-stretch: 100%; letter-spacing: 0; font-size: 1rem; font-weight: 700; color: var(--x-muted); margin: 1.6em 0 0.8em; }
.x-locs > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 16px; }
.x-loc { border: 1px solid var(--x-line); border-radius: var(--x-radius); padding: 18px 18px 16px; background: var(--x-white); }
.x-loc--atm { background: var(--x-mist); border-color: transparent; }
.entry-content .x-loc__name { font-size: 1.08rem; margin: 0 0 0.3em; }
.entry-content .x-loc__name a { color: var(--x-navy); text-decoration: underline; text-decoration-color: var(--x-red); text-decoration-thickness: 2px; text-underline-offset: 0.2em; }
.entry-content .x-loc__addr { margin: 0 0 0.5em; color: var(--x-muted); font-size: 0.95rem; }
.entry-content .x-loc__hours { margin: 0; font-size: 0.92rem; }
.entry-content .x-loc__hours li { margin: 0 0 2px; }

/* branch / ATM facts card with a locator map */
.x-visit.x-band { padding-top: var(--x-band-sm); }
.x-facts { border: 1px solid var(--x-line); border-radius: var(--x-radius); padding: clamp(24px, 3vw, 40px); }
.x-facts > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); column-gap: clamp(24px, 5vw, 64px); align-items: start; }
.x-facts .x-map__art { grid-column: 2; grid-row: 1 / span 20; max-width: 380px; width: 100%; justify-self: center; }
.x-facts .wp-block-group__inner-container > :not(.x-map__art) { grid-column: 1; }
.entry-content .x-facts__title { font-size: 1.5rem; }
.entry-content .x-facts__label { font-family: var(--x-body); font-stretch: 100%; letter-spacing: 0; font-size: 0.88rem; font-weight: 700; color: var(--x-muted); margin: 1.3em 0 0.3em; }
.entry-content .x-facts__value { margin: 0; font-size: 1.08rem; color: var(--x-navy); font-weight: 500; }
.entry-content .x-facts__hours li, .entry-content .x-facts__services li, .entry-content .x-facts__links li { margin: 0 0 4px; }

/* ---------- about ---------- */
.entry-content .x-about__grid { gap: clamp(32px, 6vw, 88px); margin: 0; }
.x-about__text { flex: 1 1 58%; }
.x-about__dates { flex: 1 1 42%; }
.entry-content .x-keydates { margin: 0; border-left: 3px solid var(--x-red); }
.entry-content .x-keydates li { margin: 0; padding: 12px 0 12px 22px; font-size: 1.05rem; }
.x-keydates strong { display: block; font-family: var(--x-head); font-stretch: 88%; font-size: 1.6rem; line-height: 1.1; }

/* timeline */
.x-timeline > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 0 24px; }
.x-timeline__item { position: relative; padding: 22px 0 26px; border-top: 3px solid var(--x-navy); }
.x-timeline__item::before {
	content: "";
	position: absolute;
	left: 0;
	top: -9px;
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: var(--x-red);
	border: 3px solid var(--x-mist);
}
.entry-content .x-timeline__year { font-size: 1.7rem; font-weight: 800; margin: 6px 0 4px; color: var(--x-navy); line-height: 1.1; }
.entry-content .x-timeline__text { margin: 0; font-size: 0.98rem; }
.entry-content .x-logo-story { gap: clamp(28px, 5vw, 72px); align-items: center; margin: 0; }
.x-logo-story__media { flex: 0 0 min(260px, 30%); }
.entry-content .x-logo-story__mark { margin: 0; }
.x-logo-story__mark img { width: 100%; max-width: 240px; height: auto; }
.x-logo-story__text { flex: 1 1 auto; }

/* vision, values */
.entry-content .x-statements { gap: 24px 48px; margin: 0; }
.x-statement__col { border-top: 4px solid var(--x-red); padding-top: 20px; }
.entry-content .x-statement { font-family: var(--x-head); font-stretch: 88%; font-size: clamp(1.35rem, 1.1rem + 1vw, 1.9rem); line-height: 1.25; color: var(--x-navy); font-weight: 600; margin: 0; }
.entry-content .x-values__intro { font-size: var(--x-step-lead); margin-bottom: 2rem; }
.x-values > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.x-value { background: var(--x-white); border-radius: var(--x-radius); padding: 24px; }
.entry-content .x-value__initial { font-size: 3.4rem; font-weight: 800; line-height: 1; color: var(--x-red); margin: 0 0 8px; }
.entry-content .x-value__name { margin: 0 0 0.5em; }
.entry-content .x-value__text { margin: 0; font-size: 0.98rem; }

/* people */
.x-people > .wp-block-group__inner-container { display: grid; gap: 32px 24px; }
.x-people--board > .wp-block-group__inner-container { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.x-people--team > .wp-block-group__inner-container { grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); }
.entry-content .x-person__photo { margin: 0 0 14px; }
.x-person__photo img { display: block; width: 100%; max-width: 271px; aspect-ratio: 271 / 235; object-fit: cover; object-position: 50% 20%; border-radius: var(--x-radius); background: var(--x-mist); }
.x-people--board .x-person__photo img { max-width: 200px; aspect-ratio: 200 / 235; }
.entry-content .x-person__name { margin: 0 0 0.2em; font-size: 1.15rem; }
.entry-content .x-person__role { margin: 0; color: var(--x-muted); font-size: 0.95rem; }
.entry-content .x-person__bio { margin-top: 10px; }
.x-person__bio summary { cursor: pointer; color: var(--x-lake); font-weight: 600; font-size: 0.95rem; }
.x-person__bio summary:hover { color: var(--x-red); }
.entry-content .x-person__bio[open] summary { margin-bottom: 8px; }
.x-person__bio p { font-size: 0.95rem; line-height: 1.6; }
.entry-content .x-team-photo { margin: 0; }
.x-team-photo img { display: block; width: 100%; height: auto; border-radius: var(--x-radius); }
.x-band--flush.x-band { padding-block: var(--x-band-sm) 0; }

/* ---------- reports ---------- */
.x-reports > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 28px 24px; }
.entry-content .x-report__cover { margin: 0 0 12px; }
.x-report__cover img { display: block; width: 100%; max-width: 212px; height: auto; aspect-ratio: 212 / 300; object-fit: cover; border: 1px solid var(--x-line); border-radius: 3px; background: var(--x-white); transition: transform 0.15s; }
.x-report__cover a:hover img { transform: translateY(-3px); }
.entry-content .x-report__year { margin: 0 0 0.25em; font-size: 1.1rem; }
.entry-content .x-report__link { margin: 0; font-size: 0.95rem; }
.entry-content .x-stats { margin: 0; overflow-x: auto; }
.x-stats table { border-collapse: collapse; width: 100%; min-width: 620px; background: var(--x-white); font-variant-numeric: tabular-nums; }
.x-stats th, .x-stats td { border: 0; border-bottom: 1px solid var(--x-line); padding: 14px 16px; text-align: right; }
.x-stats th:first-child, .x-stats td:first-child { text-align: left; font-weight: 600; color: var(--x-navy); }
.x-stats thead th { background: var(--x-navy); color: var(--x-white); font-weight: 600; font-size: 0.92rem; border-bottom: 0; }
.entry-content .x-quotes > .wp-block-group__inner-container > h2 { margin-bottom: 1.2em; }
.entry-content .x-quote { border-left: 3px solid var(--x-red); padding: 4px 0 4px 24px; margin-bottom: 28px; max-width: 860px; }
.entry-content .x-quote__year { font-size: 1rem; font-family: var(--x-body); font-stretch: 100%; letter-spacing: 0; color: var(--x-muted); margin: 0 0 0.4em; }
.entry-content .x-quote__text { margin: 0; font-size: 1.08rem; line-height: 1.6; color: var(--x-navy); }

/* ---------- news, jobs, contact ---------- */
.x-news > .wp-block-group__inner-container { max-width: 860px; }
.x-news__item { padding: 32px 0; border-bottom: 1px solid var(--x-line); }
.x-news__item:first-child { padding-top: 0; }
.entry-content .x-news__date { margin: 0 0 6px; color: var(--x-red); font-weight: 700; font-size: 0.92rem; }
.entry-content .x-news__title { font-size: clamp(1.35rem, 1.2rem + 0.6vw, 1.7rem); margin: 0 0 0.5em; scroll-margin-top: 100px; }
.entry-content .x-news-list > h2 { margin-bottom: 1rem; }
.x-news__teaser { padding: 16px 0; border-bottom: 1px solid var(--x-line); }
.entry-content .x-news__teaser .x-news__date { margin: 0 0 4px; }
.x-news-list > .x-news__teaser:nth-child(2) { border-top: 1px solid var(--x-line); }
.entry-content .x-news__teaser .x-news__title { font-size: 1.12rem; margin: 0; }
.x-jobs > .wp-block-group__inner-container { display: grid; gap: 14px; max-width: 860px; }
.x-job { border: 1px solid var(--x-line); border-radius: var(--x-radius); padding: 20px 22px; }
.entry-content .x-job__title { margin: 0; font-size: 1.15rem; }
.entry-content .x-job .x-download { margin: 8px 0 0; font-size: 0.95rem; }
.x-contacts > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.x-contact { border: 1px solid var(--x-line); border-radius: var(--x-radius); padding: clamp(24px, 3vw, 36px); }
.x-contact--primary { background: var(--x-navy); border-color: var(--x-navy); color: var(--x-on-navy); }
.entry-content .x-contact--primary .x-contact__title { color: var(--x-white); }
.entry-content .x-contact__title { font-size: 1.45rem; }
.entry-content .x-contact__phone { font-family: var(--x-head); font-stretch: 88%; font-size: clamp(1.8rem, 1.4rem + 1.5vw, 2.5rem); font-weight: 700; margin: 0 0 6px; }
.entry-content .x-contact__phone a, .entry-content .x-contact__email a { color: var(--x-white); text-decoration: none; }
.entry-content .x-contact__phone a:hover, .entry-content .x-contact__email a:hover { text-decoration: underline; color: var(--x-white); }
.entry-content .x-contact__email { font-size: 1.15rem; margin: 0 0 1rem; }
.entry-content .x-contact__note { margin: 0; }
.x-contact__addr { font-size: 1.15rem; color: var(--x-navy); font-weight: 500; }
.entry-content .x-contact__sub { font-family: var(--x-body); font-stretch: 100%; letter-spacing: 0; font-size: 0.9rem; color: var(--x-muted); margin: 1.2em 0 0.4em; }
.x-contact-map > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.7fr); column-gap: 48px; align-items: center; }
.x-contact-map .x-map__art { grid-column: 2; grid-row: 1 / span 4; max-width: 340px; width: 100%; justify-self: center; }
.x-contact-map .wp-block-group__inner-container > :not(.x-map__art) { grid-column: 1; }

/* home: find a branch */
.x-find > .wp-block-group__inner-container { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); column-gap: clamp(28px, 6vw, 88px); align-items: center; }
.x-find .x-map__art { grid-column: 2; grid-row: 1; max-width: 420px; width: 100%; justify-self: center; }
.entry-content .x-find .x-find__grid { grid-column: 1; grid-row: 1; margin: 0; }
.entry-content .x-find .wp-block-buttons { margin-top: 1.8rem; }

/* prose */
.x-prose > .wp-block-group__inner-container { max-width: 760px; }
.entry-content .x-prose h2 { font-size: 1.45rem; margin-top: 2em; }
.entry-content .x-prose h2:first-child { margin-top: 0; }

/* ---------- header ---------- */
#masthead .site-top-header-wrap { font-size: 0.9rem; }
#masthead .site-top-header-wrap .header-html-inner { color: var(--x-on-navy); }
#masthead .site-top-header-wrap .header-html-inner a { color: var(--x-white); text-decoration: none; margin-left: 12px; }
#masthead .site-top-header-wrap .header-html-inner a:hover { text-decoration: underline; }
#masthead .site-top-header-wrap .secondary-navigation a:hover { text-decoration: underline; }
#masthead .site-main-header-wrap { box-shadow: 0 1px 0 var(--x-line); }
.header-navigation .menu > .menu-item.x-menu-label > a { cursor: default; }
.header-navigation .menu > .menu-item.current-menu-ancestor > a,
.header-navigation .menu > .menu-item.current-menu-item > a { color: var(--x-red); }
.header-navigation .header-menu-container ul ul.sub-menu {
	border: 1px solid var(--x-line);
	border-top: 3px solid var(--x-red);
	border-radius: 0 0 var(--x-radius) var(--x-radius);
	box-shadow: 0 16px 32px -18px rgba(14, 31, 77, 0.35);
	padding: 8px 0;
}
.header-navigation .header-menu-container ul ul li.menu-item > a { padding-top: 0.55em; padding-bottom: 0.55em; }
@media (min-width: 1181px) {
	.header-navigation .menu > .x-menu-two-col > .sub-menu { width: 520px; columns: 2; column-gap: 0; }
	.header-navigation .menu > .x-menu-two-col > .sub-menu > li { break-inside: avoid; }
	.header-navigation .menu > .x-menu-two-col > .sub-menu li a { width: 260px; }
}
#masthead .header-button { font-family: var(--x-body); font-weight: 600; border-radius: 4px; }
#mobile-drawer .header-mobile-html-inner { margin-top: 12px; color: var(--x-muted); font-size: 0.95rem; line-height: 1.7; }
#mobile-drawer .header-mobile-html-inner a { color: var(--x-navy); font-weight: 600; }

/* ---------- footer ---------- */
#colophon .site-middle-footer-wrap { position: relative; }
#colophon .site-middle-footer-wrap::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	right: 0;
	height: 22px;
	background: var(--x-white);
	-webkit-mask: var(--x-wave) repeat-x left bottom / 160px 22px;
	mask: var(--x-wave) repeat-x left bottom / 160px 22px;
	transform: scaleY(-1);
}
#colophon { color: var(--x-on-navy); font-size: 0.95rem; }
#colophon .site-middle-footer-inner-wrap { padding-top: clamp(64px, 6vw, 88px); padding-bottom: 40px; }
#colophon .x-footer-logo { margin: 0 0 18px; }
#colophon .x-footer-logo img { width: 220px; height: auto; }
#colophon .x-footer-about { max-width: 34ch; margin: 0; line-height: 1.6; }
#colophon .x-footer-title { font-family: var(--x-body); font-stretch: 100%; letter-spacing: 0; font-size: 0.95rem; font-weight: 700; color: var(--x-white); margin: 0 0 14px; }
#colophon .x-footer-title ~ .x-footer-title { margin-top: 26px; }
#colophon .x-footer-links { margin: 0; padding: 0; list-style: none; }
#colophon .x-footer-links li { margin: 0 0 8px; }
#colophon a { color: var(--x-on-navy-strong); text-decoration: none; }
#colophon a:hover { color: var(--x-white); text-decoration: underline; }
#colophon .x-footer-contact { line-height: 1.8; margin: 0; }
#colophon .site-bottom-footer-wrap { border-top: 1px solid rgba(255, 255, 255, 0.14); font-size: 0.88rem; }
#colophon .footer-navigation .menu { justify-content: flex-end; }
#colophon .footer-navigation .menu > li > a, #colophon .footer-navigation .menu > li > a:hover { color: var(--x-on-navy-strong); padding-top: 0; padding-bottom: 0; }
@media (max-width: 767px) { #colophon .footer-navigation .menu { justify-content: flex-start; } #colophon .footer-navigation .menu > li:first-child > a { padding-left: 0; } }
#colophon .site-bottom-footer-inner-wrap { align-items: center; }

/* ---------- focus and motion ---------- */
a:focus-visible, button:focus-visible, summary:focus-visible, .wp-block-button__link:focus-visible {
	outline: 3px solid var(--x-lake);
	outline-offset: 3px;
}
.x-band--navy a:focus-visible, .x-help a:focus-visible, #colophon a:focus-visible, .x-hero--home a:focus-visible, .x-contact--primary a:focus-visible { outline-color: var(--x-white); }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	/* !important: switches off every component transition in one place */
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
	.x-card:hover, .x-report__cover a:hover img { transform: none; }
}

/* ---------- responsive ---------- */
@media (max-width: 1199px) {
	.entry-content .x-cards--four > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.entry-content .x-values > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 1023px) {
	.entry-content .x-cards--photo > .wp-block-group__inner-container, .entry-content .x-cards--three > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.entry-content .x-hero--map > .wp-block-group__inner-container, .entry-content .x-facts > .wp-block-group__inner-container, .entry-content .x-find > .wp-block-group__inner-container, .entry-content .x-contact-map > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.entry-content .x-hero--map .x-map__art, .entry-content .x-facts .x-map__art, .entry-content .x-find .x-map__art, .entry-content .x-contact-map .x-map__art { grid-column: 1; grid-row: auto; order: 9; max-width: 320px; justify-self: start; margin-top: 28px; }
	.entry-content .x-find .x-find__grid { grid-row: auto; }
	.entry-content .x-help__actions { justify-content: flex-start; }
}
@media (max-width: 781px) {
	.entry-content .x-hero__grid { gap: 28px; }
	.entry-content .x-hero--home .x-hero__media { order: -1; }
	.entry-content .x-hero--home .x-hero__photo { width: min(78%, 360px); }
	.entry-content .x-ticks { grid-template-columns: minmax(0, 1fr); }
	.entry-content .x-contacts > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.entry-content .x-split--reverse .x-split__media { order: 2; }
	.entry-content .x-logo-story__media { flex-basis: auto; }
	.entry-content .x-logo-story__mark img { max-width: 160px; }
	.entry-content .x-stats th, .entry-content .x-stats td { padding: 10px; font-size: 0.9rem; }
}
@media (max-width: 767px) {
	.entry-content .x-cards--photo > .wp-block-group__inner-container, .entry-content .x-cards--three > .wp-block-group__inner-container, .entry-content .x-cards--four > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.entry-content .x-values > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.entry-content .x-hero::after, #colophon .site-middle-footer-wrap::before { -webkit-mask-size: 110px 16px; mask-size: 110px 16px; height: 16px; }
}
@media (max-width: 544px) {
	.entry-content .x-card:not(.x-card--photo) { padding: 18px; }
	.entry-content .x-docs { padding: 20px 18px 22px; }
	.entry-content .x-people--team > .wp-block-group__inner-container, .entry-content .x-people--board > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
	.entry-content .x-reports > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
