/* HMBD's supplied blue identity. Loaded last on every route. */
:root {
	--hmbd-blue: #0756ef;
	--hmbd-blue-hover: #0646c6;
	--hmbd-navy: #102d55;
	--hmbd-sky: #bdd8ff;
	--hmbd-paper: #f7f9fd;
	--hmbd-line: #dbe4f0;
	--brand-forest: var(--hmbd-navy);
	--brand-leaf: var(--hmbd-blue);
	--brand-paper: var(--hmbd-paper);
	--modern-ink: var(--hmbd-navy);
	--modern-mint: #e6efff;
	--modern-line: #102d551c;
}
body,
.content-page {
	background: var(--hmbd-paper);
	color: #152d4c;
}
::selection {
	background: #dbe8ff;
	color: #102d55;
}
#reading-progress {
	background: var(--hmbd-blue);
}
.nav.nav-signature {
	background: #f7f9fdf2;
}
.nav.nav-signature.nav-scrolled {
	background: transparent;
}
.nav-signature .nav-shell {
	background: #fff;
	border-color: var(--hmbd-line);
	box-shadow: 0 8px 30px #16375d08;
}
.nav-signature.nav-scrolled .nav-shell {
	border-color: #c7d6eb;
	box-shadow: 0 8px 28px #16375d0d;
}
.nav-signature .brand-premium {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 5px;
	min-height: 58px;
}
.nav-signature .brand-logo {
	width: 176px;
	height: auto;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	line-height: 0;
}
.nav-signature .brand-logo img {
	display: block;
	width: 176px;
	height: auto;
	max-height: none;
	aspect-ratio: 1260/480;
	object-fit: contain;
	filter: none;
}
.nav-signature nav > a {
	color: #324e71;
	font-weight: 600;
}
.nav-signature nav > a:after {
	background: var(--hmbd-blue);
}
.nav-signature nav > a[aria-current] {
	color: var(--hmbd-blue);
	background: #eef4ff;
}
.nav-signature .nav-actions {
	border-color: var(--hmbd-line);
}
.nav-signature .nav-actions .nav-cta {
	background: white;
	color: var(--hmbd-navy);
	border-color: #cddbef;
}
.nav-signature .nav-actions .nav-donate {
	background: var(--hmbd-blue);
	border-color: var(--hmbd-blue);
	color: white;
	box-shadow: 0 5px 14px #0756ef1a;
}
.nav-signature .nav-donate-arrow {
	background: #ffffff24;
	color: white;
}
.nav-signature .menu-toggle {
	background: #f5f8ff;
	color: var(--hmbd-navy);
	border-color: #d4dfef;
}
.nav-signature a:focus-visible,
.nav-signature button:focus-visible {
	outline-color: var(--hmbd-blue);
}
.nav-scrim {
	background: #102d5566;
}
.button,
.home-page .story-focus-copy .button,
.contact-form .button,
.content-page .button:not(.outline):not(.light) {
	background: var(--hmbd-blue);
	color: #fff;
	border-color: var(--hmbd-blue);
	min-height: 48px;
}
.home-page .hero-slider {
	background: #0b2445;
}
.home-page .hero.hero-slider:after {
	background:
		linear-gradient(90deg, #092448e8 0%, #0b2445b0 40%, #0b244520 100%),
		linear-gradient(0deg, #092448e8, transparent 52%);
}
.home-page .hero-slider .hero-copy {
	max-width: 640px;
}
.home-page .hero-slider h1 em {
	color: #bdd8ff;
}
.home-page .hero-slider .eyebrow {
	color: #deebff;
}
.home-page .hero-slider .eyebrow i {
	background: #a4c9ff;
	box-shadow: 0 0 0 5px #a4c9ff18;
}
.home-page .hero-slider .hero-copy > p {
	color: #e3eaf5;
	line-height: 1.8;
}
.home-page .hero-slider .hero-actions .button {
	background: var(--hmbd-blue);
	color: white;
	border-color: var(--hmbd-blue);
	box-shadow: 0 5px 20px #03182d24;
}
.home-page .hero-slider .hero-actions .button.outline {
	background: #ffffff0c;
	border-color: #ffffff70;
	color: #fff;
	box-shadow: none;
}
.home-page .hero-slider .hero-bottom {
	border-color: #c6d9f43d;
}
.hero-slider .hero-footprint strong {
	color: #fff;
}
.hero-slider .hero-footprint span {
	color: #c9d9f0;
}
.home-page .home-welcome.welcome-editorial,
.home-page .purpose-section,
.home-page .purpose-studio,
.home-page .evidence-section,
.home-page .faq-section {
	background: var(--hmbd-paper);
}
.home-page .welcome-editorial h2,
.welcome-editorial .welcome-path h3,
.purpose-copy h2,
.faq-intro h2,
.contact-copy h2 {
	color: var(--hmbd-navy);
}
.welcome-editorial h2 em,
.purpose-copy .eyebrow,
.welcome-editorial-top .eyebrow,
.welcome-about-link {
	color: var(--hmbd-blue);
}
.welcome-editorial-top .eyebrow i {
	background: var(--hmbd-blue);
	box-shadow: 0 0 0 5px #0756ef0d;
}
.welcome-editorial .welcome-intro > p,
.welcome-editorial .welcome-path p {
	color: #52667f;
}
.welcome-editorial .welcome-path-top,
.welcome-editorial .welcome-path-bottom {
	color: #355780;
}
.welcome-signature > span:first-child {
	background: #eaf1ff;
	color: var(--hmbd-blue);
	border-color: #d6e3fa;
}
.home-page .welcome-editorial .welcome-path-give {
	background: #edf3ff;
}
.home-page .welcome-editorial .welcome-path:hover {
	background: #f2f6fe;
}
.welcome-editorial .welcome-path:hover .welcome-path-bottom > span {
	background: #dae7ff;
}
.welcome-editorial .official-overview {
	background: linear-gradient(125deg, #102d55, #194578);
	border-color: #102d55;
}
.welcome-editorial .official-overview-heading,
.welcome-editorial .official-stat-grid dd {
	color: #fff;
}
.welcome-editorial .official-overview-heading a,
.welcome-editorial .official-stat-grid dt,
.home-page .welcome-editorial .official-stat-note {
	color: #c6d9f4;
}
.welcome-editorial .official-stat-grid > div {
	border-color: #dbe7ff30;
}
.report-download-button,
.home-page .report-download-button {
	background: var(--hmbd-blue);
	border-color: var(--hmbd-blue);
	color: #fff;
}
.atlas-heading-icon {
	background: #eaf1ff;
	border-color: #ccdafa;
	color: var(--hmbd-blue);
}
.home-page .atlas-console {
	border-color: var(--hmbd-line);
	box-shadow: 0 18px 65px #16375d0a;
}
.home-page .atlas-console .map-shell {
	background:
		radial-gradient(ellipse at 48% 42%, #4473a73a, transparent 64%),
		linear-gradient(155deg, #14385c, #0b2745 70%);
	border-color: #7395be70;
}
.home-page .atlas-console a.division-label {
	background: #102e50f5;
	border-color: #bfd2ed80;
	color: #f6faff;
}
.home-page .atlas-console a.division-label.selected,
.home-page .atlas-console a.division-label.hovered {
	background: #e5efff;
	border-color: #fff;
	color: #102d55;
}
.home-page .atlas-console a.division-label:is(.selected, .hovered) .pill {
	color: #355780;
	border-color: #35578033;
}
.home-page .atlas-console .map-context,
.home-page .atlas-console .map-legend {
	color: #c1d4ed;
}
.home-page .atlas-console .bay,
.home-page .atlas-console .map-hint b {
	color: #a9c4e7;
}
.home-page .atlas-console .map-compass {
	color: #edf5ff;
}
.home-page .atlas-console .division-switcher a[aria-current],
.home-page .atlas-console .division-switcher a.selected {
	background: #e6efff;
	color: var(--hmbd-blue);
}
.purpose-studio .purpose-core {
	background: #fff;
	border-color: #cbdaf2;
	box-shadow: 0 16px 60px #16375d12;
}
.purpose-studio .purpose-core img {
	width: 78%;
	max-width: 148px;
	height: auto;
	max-height: none;
	aspect-ratio: 1260/480;
	object-fit: contain;
}
.purpose-studio .purpose-core > span {
	color: #516781;
}
.purpose-studio .purpose-visual {
	background: radial-gradient(ellipse at 40% 40%, #214b7e, #102d55 70%);
}
.purpose-studio .partner-choice[aria-selected="true"] {
	background: #eaf1ff;
	color: var(--hmbd-navy);
	border-color: #c6d8f7;
}
.content-page .page-header {
	background: #102d55;
}
.content-page .page-header:after {
	background: linear-gradient(90deg, #102d55 5%, #102d55e0 38%, #102d554d 100%);
}
.page-header .page-hero-copy h1,
.cta-section h2 {
	letter-spacing: -0.045em;
}
.page-header .page-hero-copy .eyebrow {
	color: #c5dbff;
}
.cta-section {
	background: #edf3ff;
	color: var(--hmbd-navy);
}
.cta-section .eyebrow {
	color: var(--hmbd-blue);
}
.cta-section p {
	color: #52667f;
}
.cta-section .button {
	background: var(--hmbd-blue);
	color: #fff;
	border-color: var(--hmbd-blue);
}
.pwa-access {
	background: #f0f5ff;
	border-color: #d8e4f7;
}
.pwa-access #pwa-install {
	background: var(--hmbd-blue);
	color: white;
	border-color: var(--hmbd-blue);
}
.pwa-access h2 {
	color: var(--hmbd-navy);
}
.premium-footer.footer-refined {
	background: #0b2445;
	color: #edf4ff;
	border-top-color: #a8c7f333;
}
.premium-footer.footer-refined:before {
	background: radial-gradient(ellipse at 92% 0, #1c529455, transparent 53%);
}
.footer-refined .footer-identity .brand {
	padding: 12px 16px;
	background: #fff;
	border: 1px solid #dbe7ff;
	border-radius: 8px;
	min-height: 0;
	width: 210px;
	max-width: 100%;
	box-shadow: 0 6px 22px #06182e16;
}
.footer-refined .footer-identity .brand img {
	width: 176px;
	height: auto;
	max-height: none;
	aspect-ratio: 1260/480;
	object-fit: contain;
}
.footer-refined .footer-identity p,
.footer-refined .footer-link-group a,
.footer-refined .footer-contact address {
	color: #c2d1e6;
}
.footer-refined .footer-identity p:first-of-type,
.footer-refined .footer-link-group h3 {
	color: #f1f6ff;
}
.footer-refined .footer-invitation .eyebrow,
.footer-refined .footer-invitation p,
.footer-refined .footer-values {
	color: #bacde8;
}
.footer-refined .footer-invitation h2 em {
	color: #bdd8ff;
}
.footer-refined .footer-join,
.footer-refined .footer-colophon a {
	color: #d9e8ff;
}
.footer-refined .footer-join-arrow {
	background: #bdd8ff;
	color: #102d55;
}
.footer-refined .footer-colophon {
	color: #acbfda;
	border-color: #c6d9f42b;
}
.footer-refined .footer-wordmark {
	color: #bdd8ff17;
	border-color: #c6d9f41a;
}
.footer-refined .footer-wordmark span {
	color: #bdd8ff35;
}
.footer-refined .footer-directory,
.footer-refined .footer-invitation {
	border-color: #c6d9f42b;
}
.footer-refined .footer-action-card {
	background: #edf3ff;
	border-color: #d9e6fa;
	color: var(--hmbd-navy);
}
.footer-refined .footer-action-card h3 {
	color: var(--hmbd-navy);
}
.footer-refined .footer-action-card .eyebrow,
.footer-refined .footer-action-card small {
	color: #516b8c;
}
.footer-refined .footer-action-card .footer-donate-button {
	background: var(--hmbd-blue);
	color: #fff;
}
.home-page .donation-review,
.home-page .donation-submit,
.home-page .donation-form .button {
	background: var(--hmbd-blue);
	border-color: var(--hmbd-blue);
	color: white;
}
.home-page .donation-presets button[aria-pressed="true"] {
	background: #eaf1ff;
	border-color: var(--hmbd-blue);
	color: var(--hmbd-blue);
	box-shadow: inset 0 0 0 1px var(--hmbd-blue);
}
@media (hover: hover) and (pointer: fine) {
	.nav-signature nav > a:hover {
		background: #f0f5ff;
		color: var(--hmbd-blue);
	}
	.nav-signature .nav-actions .nav-cta:hover {
		background: #eef4ff;
		border-color: #a9c5f1;
	}
	.nav-signature .nav-actions .nav-donate:hover,
	.home-page .report-download-button:hover,
	.home-page .hero-slider .hero-actions .button:not(.outline):hover {
		background: var(--hmbd-blue-hover);
		border-color: var(--hmbd-blue-hover);
	}
	.footer-refined .footer-join:hover .footer-join-arrow {
		background: #dfebff;
	}
	.footer-refined .footer-link-group a:hover {
		color: white;
	}
}
@media (min-width: 1181px) and (max-width: 1370px) {
	.nav-signature .brand-logo,
	.nav-signature .brand-logo img {
		width: 160px;
	}
}
@media (max-width: 1180px) {
	.nav-signature nav {
		background: #fff;
		border-color: var(--hmbd-line);
		box-shadow: 0 20px 50px #102d5522;
	}
	.nav-signature nav > a {
		font-weight: 400;
		border-color: var(--hmbd-line);
	}
	.nav-signature nav > a[aria-current] {
		background: transparent;
		color: var(--hmbd-blue);
	}
	.nav-signature .nav-intro {
		color: #607897;
		border-color: var(--hmbd-line);
	}
	.nav-signature .nav-link-arrow {
		color: var(--hmbd-blue);
		border-color: #d4e1f6;
	}
	.nav-signature .nav-mobile-note,
	.nav-signature .nav-mobile-note a {
		color: #516b8c;
	}
}
@media (max-width: 680px) {
	.nav-signature .brand-premium {
		gap: 4px;
		min-height: 50px;
	}
	.nav-signature .brand-logo,
	.nav-signature .brand-logo img {
		width: 145px;
	}
	.home-page .hero-slider .hero-copy {
		max-width: 100%;
	}
	.footer-refined .footer-identity .brand {
		width: 196px;
		padding: 11px 14px;
	}
	.footer-refined .footer-identity .brand img {
		width: 166px;
	}
}
@media (max-width: 380px) {
	.nav-signature .brand-logo,
	.nav-signature .brand-logo img {
		width: 132px;
	}
	.nav-signature .brand-premium {
		gap: 4px;
		flex-shrink: 0;
	}
}
@media (max-height: 500px) and (orientation: landscape) {
	.nav-signature .brand-logo,
	.nav-signature .brand-logo img {
		width: 128px;
	}
	.nav-signature .brand-premium {
		min-height: 0;
		gap: 3px;
	}
}
@media print {
	body,
	.cta-section {
		background: white;
		color: black;
	}
	.nav.nav-signature {
		background: white;
	}
	.footer-refined .footer-identity .brand {
		box-shadow: none;
	}
}
