/* HMBD's shared design system. The supplied logo artwork remains unchanged. */
:root {
	--content: 1320px;
	--gutter: clamp(20px, 4.5vw, 72px);
	--nav-height: 94px;
	--hmbd-paper: #f0f5ff;
	--hmbd-white: #ffffff;
	--hmbd-ink: #102d55;
	--hmbd-muted: #23466c;
	--hmbd-blue: #215b99;
	--hmbd-mint: #d3e3fc;
	--hmbd-line: #102d5526;
	--hmbd-shadow: 0 18px 50px #102d550c;
	--hmbd-radius: 20px;
	--hmbd-body: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--hmbd-display: Georgia, "Times New Roman", serif;
}
html {
	scroll-padding-top: calc(var(--nav-height) + 20px);
	scrollbar-gutter: stable;
}
body {
	font-family: var(--hmbd-body);
	background: var(--hmbd-paper);
	color: var(--hmbd-ink);
	font-size: 16px;
	line-height: 1.65;
}
main,
section,
article,
aside,
nav,
figure,
form,
fieldset,
.section-head > * {
	min-width: 0;
}
section[id],
article[id] {
	scroll-margin-top: calc(var(--nav-height) + 20px);
}
p,
address,
.text-link,
.report-card h3 {
	overflow-wrap: anywhere;
}
img {
	height: auto;
}
button,
input,
select,
textarea {
	font-family: inherit;
}
button,
a {
	touch-action: manipulation;
}
input,
select,
textarea {
	font-size: 16px;
}
:focus-visible {
	outline: 3px solid #4b8bcc;
	outline-offset: 4px;
}
.skip:focus-visible {
	z-index: 100;
}
.noscript-note {
	margin: 0;
	padding: 16px var(--gutter);
	background: #e6efff;
	font-size: 14px;
	color: #102d55;
}
.noscript-note a {
	text-decoration: underline;
	text-underline-offset: 3px;
}
.button {
	min-height: 50px;
	border-radius: 999px;
	padding: 14px 23px;
	gap: 20px;
	font-size: 14px;
	line-height: 1.4;
	background: var(--hmbd-blue);
	transition:
		background 0.2s,
		box-shadow 0.2s,
		transform 0.2s;
}
.button.outline {
	background: transparent;
	border-color: #6d89ad70;
}
.text-link {
	font-size: 14px;
	min-height: 44px;
	align-items: center;
}
.home-page .section,
.content-page .section {
	padding-block: clamp(64px, 6.8vw, 104px);
	padding-inline: max(var(--gutter), calc((100% - var(--content)) / 2));
}
.home-page .section h2,
.content-page .section h2 {
	font-family: var(--hmbd-display);
	font-size: clamp(34px, 3.65vw, 56px);
	line-height: 1.13;
	letter-spacing: -0.035em;
	font-weight: 400;
	text-wrap: balance;
}
.section p {
	font-size: 15px;
	line-height: 1.85;
}
.section .eyebrow,
.section-head .eyebrow {
	font-size: 11px;
	line-height: 1.7;
	letter-spacing: 0.12em;
}
.section-head {
	align-items: end;
	gap: 24px 40px;
}
.section-head h2 {
	max-width: 24ch;
}
#reading-progress {
	height: 2px;
	background: var(--hmbd-blue);
}

/* Identity and navigation: original artwork, generous space, useful context. */
.nav.nav-premium {
	padding-inline: max(var(--gutter), calc((100% - 1440px) / 2));
	gap: 26px;
	background: #ffffff;
	border-bottom: 1px solid var(--hmbd-line);
}
.nav.nav-premium.nav-scrolled {
	background: #fffffff5;
	box-shadow: 0 8px 28px #0b24450d;
	backdrop-filter: blur(16px);
}
.nav-premium .brand-premium {
	gap: 20px;
	min-height: 70px;
}
.nav-premium .brand-premium img {
	width: 124px;
	height: 70px;
	max-height: 70px;
	object-fit: contain;
	aspect-ratio: 124 / 70;
	filter: none;
}
.nav-premium .brand-caption {
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding-left: 20px;
	border-left: 1px solid #102d5526;
	color: #102d55;
	font-size: 12px;
	line-height: 1.3;
	letter-spacing: 0;
}
.brand-caption b {
	font-weight: 600;
}
.brand-caption small {
	font-size: 10px;
	color: #52667f;
	letter-spacing: 0.03em;
}
.nav-premium nav {
	gap: clamp(16px, 1.5vw, 26px);
	font-size: 13px;
	font-weight: 500;
}
.nav-premium nav > a {
	min-height: 44px;
}
.nav-premium .nav-actions {
	margin-left: 8px;
	gap: 10px;
}
.nav-premium .nav-actions > a {
	border-radius: 999px;
	min-height: 46px;
	padding: 12px 19px;
	gap: 15px;
}
.nav-premium .nav-actions .nav-donate {
	background: var(--hmbd-blue);
	border-color: var(--hmbd-blue);
	color: white;
}
.nav-premium .nav-actions .nav-cta {
	border-color: #102d5545;
}
.nav-premium .menu-toggle {
	border-radius: 999px;
	min-height: 44px;
}
.nav-intro > span:first-child {
	color: var(--hmbd-blue);
}

/* Full-width, authentic portfolio photography and accessible slideshow controls. */
.home-page .hero.hero-slider {
	min-height: clamp(660px, calc(100svh - var(--nav-height)), 900px);
	padding: clamp(64px, 6vw, 104px) max(var(--gutter), calc((100% - 1440px) / 2)) 30px;
	gap: 50px;
	background: #0b2445;
}
.home-page .hero.hero-slider:after {
	background:
		linear-gradient(90deg, #0b2445ed 0%, #0b2445bb 37%, #0b244526 78%),
		linear-gradient(0deg, #0b2445e8, transparent 52%);
}
.home-page .hero-slider .hero-copy {
	max-width: 810px;
}
.home-page .hero-slider h1 {
	font-size: clamp(52px, 5.9vw, 92px);
	line-height: 1.045;
	letter-spacing: -0.05em;
	font-weight: 500;
}
.home-page .hero-slider h1 em {
	font-family: var(--hmbd-display);
	font-style: italic;
	font-weight: 400;
	color: #d3e3fc;
}
.home-page .hero-slider .eyebrow {
	font-size: 11px;
	letter-spacing: 0.12em;
	color: #e6efff;
	margin-bottom: 24px;
}
.home-page .hero-slider .hero-copy > p {
	font-size: clamp(16px, 1.25vw, 18px);
	line-height: 1.8;
	color: #e6efff;
	max-width: 510px;
	margin-block: 26px 31px;
}
.home-page .hero-slider .hero-actions .button {
	background: #d3e3fc;
	color: #102d55;
	min-height: 54px;
	padding-inline: 26px;
	font-size: 14px;
}
.home-page .hero-slider .hero-actions .button.outline {
	background: #0b244550;
	color: #f7f9fd;
	border-color: #e6efff80;
}
.hero-slide img {
	filter: saturate(0.94);
}
.hero-slider .hero-bottom {
	padding-top: 25px;
	border-top-color: #f7f9fd3b;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 365px);
	gap: 36px;
}
.hero-slider .hero-footprint {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	max-width: 670px;
	gap: 24px;
}
.hero-slider .hero-footprint > div + div {
	border-left: 1px solid #e6efff2b;
	padding-left: 24px;
}
.home-page .hero-slider .hero-footprint strong {
	font-family: var(--hmbd-display);
	font-size: clamp(24px, 2vw, 31px);
	line-height: 1.2;
	font-weight: 400;
}
.hero-slider .hero-footprint span {
	font-size: 12px;
	color: #d3e3fc;
}
.hero-carousel-panel {
	padding: 18px 20px 13px;
	background: #0b24456b;
	border: 1px solid #f0f5ff28;
	border-radius: 16px;
	backdrop-filter: blur(8px);
}
.hero-image-caption > div > span {
	font-size: 13px;
	letter-spacing: 0.04em;
}
.home-page .hero-slider .hero-image-caption p {
	font-size: 12px;
	color: #e6efff;
}
.hero-carousel-controls {
	gap: 10px;
	flex-wrap: wrap;
}
.hero-pagination {
	gap: 8px;
}
.hero-pagination button {
	min-width: 28px;
	min-height: 44px;
}
.hero-slider-actions button {
	background: #f7f9fd0d;
	border-color: #f0f5ff40;
}
.hero-photo-source {
	font-size: 10px;
	line-height: 1.7;
	color: #d3e3fc;
}

/* Introductory narrative and source-qualified figures. */
.home-page .home-welcome {
	background: var(--hmbd-paper);
}
.welcome-intro {
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 0.8fr);
	gap: 12px 56px;
	margin-bottom: 36px;
}
.welcome-intro > p {
	font-size: 16px;
	max-width: 340px;
	color: var(--hmbd-muted);
}
.welcome-paths {
	gap: 18px;
}
.welcome-path {
	border: 1px solid var(--hmbd-line);
	border-radius: var(--hmbd-radius);
	box-shadow: var(--hmbd-shadow);
	padding: 30px;
	min-height: 270px;
	background: var(--hmbd-white);
}
.welcome-path-top {
	font-size: 10px;
	margin-bottom: 31px;
}
.welcome-path h3 {
	font-size: 27px;
	font-weight: 500;
	line-height: 1.2;
}
.welcome-path p {
	font-size: 14px;
}
.welcome-path-bottom {
	font-size: 13px;
	padding-top: 17px;
}
.welcome-path-give {
	background: #102d55;
	color: #f0f5ff;
	border-color: #102d55;
}
.welcome-path-give p {
	color: #d3e3fc;
}
.official-overview {
	margin-top: 38px;
	padding-top: 27px;
}
.official-overview-heading {
	font-size: 12px;
	flex-wrap: wrap;
}
.official-overview-heading a {
	font-size: 12px;
	min-height: 44px;
}
.official-stat-grid {
	gap: 24px;
}
.official-stat-grid dd {
	font-family: var(--hmbd-display);
	font-size: clamp(33px, 3.3vw, 48px);
	color: #102d55;
}
.official-stat-grid dt {
	font-size: 12px;
}
.home-page .official-stat-note {
	font-size: 12px;
	color: #52667f;
	line-height: 1.8;
}
.home-page .purpose-section {
	background: var(--hmbd-white);
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(35px, 5.5vw, 80px);
}
.purpose-gallery {
	min-height: 510px;
}
.home-page .purpose-main-photo {
	border-radius: 22px 22px 90px 22px;
	box-shadow: var(--hmbd-shadow);
}
.home-page .purpose-inset-photo {
	border-color: var(--hmbd-white);
	border-radius: 18px;
}
.purpose-seal {
	font-size: 10px;
	line-height: 1.45;
}
.purpose-photo-label,
.purpose-source {
	font-size: 12px;
	line-height: 1.7;
}
.home-page .purpose-lead {
	font-size: 20px;
	line-height: 1.6;
}
.purpose-values {
	flex-wrap: wrap;
	gap: 8px;
}
.home-page .purpose-values span {
	font-size: 11px;
	padding: 9px 12px;
}

/* Preserve the compact map hierarchy; improve legibility and flexible panels. */
.home-page .atlas {
	padding: 30px max(var(--gutter), calc((100% - 1440px) / 2)) clamp(64px, 6vw, 90px);
	background: #f0f5ff;
}
.home-page .atlas-head.atlas-head-compact {
	margin-bottom: 14px;
	gap: 12px;
}
.home-page .atlas-head-compact h2 {
	font-family: var(--hmbd-body);
	font-size: clamp(20px, 1.8vw, 24px);
	line-height: 1.2;
	letter-spacing: -0.025em;
	font-weight: 600;
}
.home-page .atlas-head-compact .eyebrow {
	font-size: 10px;
	margin-bottom: 2px;
}
.home-page .atlas-head-compact .source-badge {
	min-height: 44px;
	font-size: 12px;
}
.home-page .atlas-console {
	padding: clamp(16px, 2vw, 26px);
	border-radius: 22px;
	background: #0a2a38;
	border: 1px solid #102d5533;
	box-shadow: 0 20px 60px #102d5510;
}
.home-page .atlas-console .impact-rail {
	margin-top: 0;
	padding-top: 0;
}
.home-page .atlas-console .rail-stat strong {
	font-size: 22px;
}
.home-page .atlas-console .rail-stat span {
	font-size: 11px;
}
.home-page .atlas-console .rail-heading {
	font-size: 10px;
}
.atlas-settings {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
}
.home-page .atlas-console .atlas-settings .location-explorer {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	grid-column: auto;
}
.home-page .atlas-console .atlas-settings label {
	font-size: 12px;
	color: #d3e3fc;
}
.home-page .atlas-console .atlas-settings select {
	min-height: 44px;
	height: 44px;
	font-size: 14px;
	padding-inline: 9px;
}
.home-page .atlas-console .atlas-settings-status > span {
	font-size: 12px;
	color: #bdd8ff;
}
.home-page .atlas-console .atlas-settings-status .reset-link {
	font-size: 12px;
}
.home-page .atlas-console .atlas-filter-panel > summary {
	font-size: 13px;
	min-height: 44px;
}
.home-page .atlas-console .atlas-filter-count,
.home-page .atlas-console .atlas-filter-description {
	font-size: 11px;
}
.home-page .atlas-console .filterbar {
	grid-template-columns: repeat(3, minmax(0, 1fr)) minmax(0, 1.5fr);
}
.home-page .atlas-console .filterbar select,
.home-page .atlas-console .filterbar input {
	font-size: 14px;
	min-height: 44px;
}
.home-page .atlas-console .bread button {
	font-size: 12px;
	min-height: 44px;
}
.home-page .atlas-console .atlas-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 18px;
}
.home-page .atlas-console .map-shell {
	height: clamp(550px, 43vw, 690px);
	border-radius: 15px;
}
.home-page .atlas-console .map-stage {
	height: 100%;
}
.home-page .atlas-console .inspector {
	grid-column: auto;
	display: block;
	margin: 0;
	border-radius: 15px;
	max-height: 690px;
}
.home-page .atlas-console .inspector h3 {
	font-size: 29px;
}
.home-page .atlas-console .inspector-kicker,
.home-page .atlas-console .inspector-hero .eyebrow {
	font-size: 10px;
}
.home-page .atlas-console .inspector-hero p,
.home-page .atlas-console .panel-note {
	font-size: 12px;
	line-height: 1.8;
}
.home-page .atlas-console .metric-card span {
	font-size: 11px;
}
.home-page .atlas-console .featured-row strong {
	font-size: 12px;
}
.home-page .atlas-console .featured-row small {
	font-size: 11px;
}
.home-page .atlas-console .focus-tags .tag {
	font-size: 10px;
}
.home-page .atlas-console .division-switcher button,
.home-page .atlas-console .sector-legend button {
	min-height: 44px;
	font-size: 12px;
}
.home-page .atlas-source-note {
	margin-top: 19px;
	padding: 0;
	font-size: 12px;
	line-height: 1.8;
	max-width: 1180px;
}
.home-page .atlas-console .map-hint {
	font-size: 10px;
	max-width: 220px;
}
.home-page .atlas-console .map-legend {
	font-size: 10px;
	gap: 9px;
	flex-wrap: wrap;
}
.home-page .atlas-console .map-controls {
	grid-template-columns: 44px 44px;
}
.map-control-label {
	font-size: 8px;
}
.home-page .atlas-console #ambient-toggle span {
	font-size: 10px;
}
.home-page .atlas-console .map-context {
	font-size: 10px;
}
.home-page .atlas-console .map-tooltip {
	min-width: 160px;
	max-width: min(230px, calc(100% - 24px));
}
.division-hover-metric > span,
.division-hover-footer,
.division-hover-details span {
	font-size: 11px;
	line-height: 1.65;
}
.home-page .atlas-console .map-fullscreen {
	height: 100dvh;
	max-height: none;
	border-radius: 0;
}

/* Programs and evidence-led stories: readable content, authentic photography. */
.home-page .achievement-section {
	background: #0b2445;
}
.achievement-section .section-head p,
.achievement-note {
	color: #d3e3fc;
	font-size: 13px;
}
.achievement-layout {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 70px);
}
.achievement-node > span {
	font-size: 10px;
	line-height: 1.45;
	width: 112px;
}
.achievement-wheel-nav button {
	min-width: 44px;
	min-height: 44px;
}
.achievement-wheel-nav span {
	font-size: 12px;
}
.achievement-card {
	border-radius: 20px;
	box-shadow: 0 16px 40px #0b244515;
}
.achievement-card-copy {
	padding: 30px;
}
.achievement-card-copy h3 {
	font-family: var(--hmbd-display);
	font-size: clamp(28px, 2.6vw, 38px);
	line-height: 1.2;
}
.achievement-card-copy p {
	font-size: 14px;
	line-height: 1.85;
}
.achievement-links .text-link,
.achievement-image-note {
	font-size: 12px;
}
.home-page .program-discovery {
	background: var(--hmbd-paper);
}
.program-discovery-head {
	gap: 28px 48px;
}
.program-discovery-head p {
	font-size: 15px;
	line-height: 1.85;
}
.program-explorer {
	grid-template-columns: minmax(245px, 0.32fr) minmax(0, 1fr);
	gap: 22px;
}
.program-navigation,
.program-feature {
	border-radius: 20px;
	border-color: var(--hmbd-line);
	box-shadow: var(--hmbd-shadow);
}
.program-nav-heading {
	font-size: 10px;
	line-height: 1.8;
}
.program-tab {
	min-height: 63px;
	padding: 12px 14px;
	gap: 12px;
}
.program-tab-name {
	font-size: 13px;
	line-height: 1.4;
	min-width: 0;
}
.program-tab-icon {
	flex-shrink: 0;
}
.program-directory-link {
	font-size: 12px;
	min-height: 44px;
}
.program-feature-image {
	height: clamp(330px, 30vw, 430px);
}
.program-image-title h3 {
	font-family: var(--hmbd-display);
	font-size: clamp(32px, 3vw, 44px);
}
.program-image-title > span,
.program-image-caption {
	font-size: 11px;
	line-height: 1.6;
}
.program-feature-copy {
	padding: 30px;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 24px;
}
.program-feature-intro p {
	font-size: 14px;
	line-height: 1.85;
}
.program-focus {
	font-size: 12px;
	line-height: 1.7;
}
.program-feature-actions .button,
.program-map-link {
	font-size: 13px;
	min-height: 44px;
}
.program-evidence-link {
	font-size: 12px;
	min-height: 44px;
}
.program-discovery-foot > span {
	font-size: 11px;
}
.program-discovery-foot a {
	font-size: 13px;
	min-height: 44px;
}
.home-page .community-stories {
	background: #f0f5ff;
}
.story-focus {
	border-radius: 22px;
	border-color: var(--hmbd-line);
	box-shadow: var(--hmbd-shadow);
}
.story-tabs {
	flex-wrap: wrap;
}
.story-tabs button {
	min-height: 48px;
	font-size: 13px;
}
.story-focus-body {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}
.story-focus-copy {
	padding: clamp(26px, 3vw, 44px);
}
.story-focus-copy h3 {
	font-family: var(--hmbd-display);
	font-size: clamp(30px, 3vw, 43px);
}
.story-focus-copy p {
	font-size: 15px;
}
.story-source {
	font-size: 12px;
	min-height: 44px;
}
.story-focus-caption {
	border-radius: 14px;
}
.story-focus-caption span {
	font-size: 12px;
}
.care-evidence {
	background: #0b2445;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.care-portrait-copy {
	padding-inline: var(--gutter);
}
.care-portrait-copy p {
	color: #e6efff;
	font-size: 15px;
}
.care-photo-credit {
	font-size: 11px;
	line-height: 1.7;
}
.care-data {
	padding: clamp(36px, 4vw, 64px);
}
.care-data-head .eyebrow {
	font-size: 11px;
}
.care-total strong {
	font-family: var(--hmbd-display);
}
.care-mini-stats span,
.care-chart-caption {
	font-size: 12px;
	line-height: 1.7;
}
.care-chart-tabs button {
	min-height: 44px;
	font-size: 12px;
}
.care-chart-row span {
	font-size: 12px;
}
.home-page .recovery-section {
	background: var(--hmbd-white);
}
.recovery-grid {
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 20px;
}
.recovery-grid > a {
	border-radius: 20px;
}
.recovery-grid small,
.recovery-note {
	font-size: 12px;
	line-height: 1.8;
}
.recovery-home-copy p {
	font-size: 14px;
}
.home-page .evidence-section {
	background: #f0f5ff;
}
.evidence-section {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(30px, 5.5vw, 75px);
}
.evidence-document {
	border: 1px solid #bdd8ff65;
	border-radius: 16px;
	background: #ffffff;
}
.evidence-document h3 {
	font-size: 21px;
	line-height: 1.35;
}
.evidence-document p,
.evidence-data-link {
	font-size: 13px;
	line-height: 1.8;
}

/* A responsive partner directory uses the source's names and context. */
.home-page .purpose-partners {
	background: var(--hmbd-paper);
}
.partners-heading {
	gap: 30px 50px;
}
.partners-heading-copy p {
	font-size: 15px;
}
.partners-collaborate {
	font-size: 13px;
}
.partner-network {
	height: auto;
	padding: 28px;
	border: 1px solid var(--hmbd-line);
	border-radius: 22px;
	background: #ffffff;
}
.partner-network-caption {
	position: static;
	padding: 0;
	flex-wrap: wrap;
	gap: 10px 24px;
	font-size: 11px;
	line-height: 1.7;
}
.partner-connections,
.partner-hub-ring,
.partner-hub:after {
	display: none;
}
.partner-hub {
	position: static;
	transform: none;
	width: auto;
	height: auto;
	min-height: 88px;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	gap: 24px;
	margin: 22px 0;
	padding: 20px 0;
	border-radius: 0;
	border: 0;
	border-block: 1px solid #102d5526;
	background: none;
	box-shadow: none;
}
.partner-hub img {
	width: 110px;
	height: auto;
	max-height: 64px;
	filter: none;
}
.partner-hub > span:last-child {
	font-size: 12px;
	line-height: 1.65;
	color: #23466c;
}
.partner-nodes {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}
.partner-node,
.partner-node.docmobile,
.partner-node.hmbd-uk,
.partner-node.asean,
.partner-node.pride,
.partner-node.eppc {
	position: relative;
	inset: auto;
	transform: none;
	width: auto;
	max-width: none;
	min-height: 154px;
	padding: 22px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 13px;
	border: 1px solid #102d5526;
	border-radius: 14px;
	background: #f0f5ff;
	box-shadow: none;
}
.partner-node-index {
	font-size: 10px;
}
.partner-node h3,
.partner-node.asean h3,
.partner-node.eppc h3,
.partner-node.hmbd-uk h3,
.partner-node.pride h3 {
	font-family: var(--hmbd-display);
	font-size: clamp(22px, 2vw, 27px);
	line-height: 1.25;
	color: #102d55;
}
.partner-node-detail {
	font-size: 11px;
	line-height: 1.65;
	color: #23466c;
}
.partner-node-spark {
	display: none;
}
.partners-bottom {
	align-items: start;
	gap: 20px 35px;
}
.partners-bottom p,
.partners-bottom p > span {
	font-size: 12px;
	line-height: 1.8;
	max-width: 680px;
}
.partners-evidence-link {
	min-height: 44px;
	font-size: 13px;
}

/* Giving and contact: calm forms with legible, truthful instructions. */
.home-page .donation-section {
	background: #f0f5ff;
	grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
	gap: clamp(30px, 5vw, 70px);
}
.donation-story > p {
	font-size: 16px;
	line-height: 1.85;
}
.donation-photo {
	border-radius: 22px;
	height: clamp(340px, 33vw, 490px);
}
.donation-photo figcaption > span {
	font-size: 11px;
}
.donation-photo strong {
	font-size: clamp(28px, 2.6vw, 37px);
}
.donation-photo a {
	font-size: 13px;
}
.donation-card {
	background: #ffffff;
	border-color: #9bb9dd65;
	border-radius: 22px;
	padding: clamp(24px, 3vw, 42px);
	box-shadow: 0 22px 60px #102d5510;
	max-width: none;
}
.donation-card-heading .eyebrow {
	font-size: 11px;
}
.donation-card > h3 {
	font-size: clamp(29px, 2.5vw, 36px);
}
.donation-card-intro,
.donation-small,
.donation-country-note,
.donation-handoff-note,
.donation-source,
.donation-status {
	font-size: 13px;
	line-height: 1.8;
}
.donation-field > label,
.donation-amount-heading > label,
.donation-method-field legend {
	font-size: 14px;
}
.donation-field label > span,
.donation-method-field legend > span {
	font-size: 11px;
}
.donation-presets button {
	min-height: 48px;
	border-radius: 10px;
	font-size: 14px;
}
.donation-presets button[aria-pressed="true"] {
	background: #215b99;
	border-color: #215b99;
	color: white;
}
.donation-method {
	padding: 15px;
	border-radius: 12px;
	min-height: 76px;
	gap: 13px;
}
.donation-method strong {
	font-size: 14px;
}
.donation-method small {
	font-size: 12px;
	line-height: 1.65;
	color: #52667f;
}
.donation-method:has(input:checked) {
	border-color: #215b99;
	background: #eef4f9;
}
.donation-method input {
	accent-color: #215b99;
}
.donation-review {
	border-radius: 999px;
	background: #215b99;
	font-size: 14px;
}
.donation-dialog {
	border-radius: 20px;
}
.donation-dialog p,
.donation-detail-row,
.donation-guidance {
	font-size: 14px;
	line-height: 1.8;
}
.donation-detail-row {
	min-width: 0;
	overflow-wrap: anywhere;
}
.home-page .faq-section {
	background: var(--hmbd-paper);
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	gap: clamp(35px, 6vw, 80px);
}
.faq-intro > p {
	font-size: 15px;
}
.faq-search input {
	font-size: 16px;
	min-height: 50px;
}
.faq-categories {
	flex-wrap: wrap;
	gap: 8px;
}
.faq-categories button {
	font-size: 12px;
	min-height: 44px;
}
.faq-item {
	border-color: #bdd8ff70;
}
.faq-item summary {
	min-height: 64px;
	font-size: 16px;
	line-height: 1.5;
	padding-block: 16px;
}
.faq-answer,
.faq-answer p {
	font-size: 14px;
	line-height: 1.85;
}
.faq-results,
.faq-support {
	font-size: 12px;
	line-height: 1.75;
}
.home-page .contact-section,
.content-page .contact-section {
	background: #0b2445;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(35px, 6vw, 80px);
}
.contact-section .contact-copy h2 {
	color: #f0f5ff;
}
.contact-copy > p {
	color: #d3e3fc;
	font-size: 16px;
}
.contact-channel {
	font-size: 14px;
	min-height: 58px;
	overflow-wrap: anywhere;
}
.contact-channel small,
.contact-source,
.contact-purpose,
.contact-secondary-email {
	font-size: 12px;
	line-height: 1.75;
}
.contact-form {
	border-radius: 20px;
	padding: clamp(22px, 3vw, 40px);
	box-shadow: 0 16px 50px #0b244510;
}
.contact-form label {
	font-size: 13px;
	line-height: 1.6;
}
.contact-form input,
.contact-form select,
.contact-form textarea {
	font-size: 16px;
	min-height: 48px;
}
.contact-form input:not([type="radio"]),
.contact-form textarea {
	font-size: 16px;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #52667f;
	font-size: 14px;
}
.contact-form > p:not(.contact-form-note):not(.contact-status) {
	color: #52667f;
	font-size: 14px;
	line-height: 1.8;
}
.contact-form .contact-form-note,
.contact-form .contact-status {
	color: #23466c;
}
.contact-form textarea {
	min-height: 140px;
	resize: vertical;
}
.contact-topics {
	flex-wrap: wrap;
	gap: 8px;
}
.contact-topics button {
	font-size: 12px;
	min-height: 44px;
}
.contact-form-note,
.contact-status {
	font-size: 12px;
	line-height: 1.8;
}
.contact-draft-panel {
	overflow-wrap: anywhere;
}
.contact-draft-panel textarea {
	max-width: 100%;
}

/* Inner pages share an intentional photographic masthead and editorial rhythm. */
.content-page .page-header {
	padding: clamp(48px, 5.5vw, 82px) max(var(--gutter), calc((100% - var(--content)) / 2));
	background: #0b2445;
	min-height: 430px;
}
.content-page .page-header:after {
	background: linear-gradient(90deg, #0b2445f2, #0b2445d6 40%, #0b244526);
}
.content-page .page-header h1 {
	font-size: clamp(42px, 4.6vw, 72px);
	line-height: 1.08;
	letter-spacing: -0.04em;
	font-weight: 500;
	max-width: 850px;
}
.content-page .page-header .eyebrow {
	color: #d3e3fc;
	font-size: 11px;
}
.content-page .page-header p {
	font-size: 16px;
	max-width: 570px;
	color: #e6efff;
}
.page-breadcrumbs {
	font-size: 12px;
	margin-bottom: 23px;
}
.page-breadcrumbs a {
	min-height: 44px;
}
.page-hero-signature {
	font-size: 10px;
	letter-spacing: 0.1em;
	color: #d3e3fc;
}
.page-hero-art img {
	filter: saturate(0.9);
}
.content-page .intro {
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: clamp(35px, 6vw, 80px);
}
.content-page .large-copy {
	font-family: var(--hmbd-display);
	font-size: 28px;
	color: #102d55;
}
.official-timeline h3 {
	font-family: var(--hmbd-display);
	font-size: 26px;
}
.official-timeline p,
.official-timeline a {
	font-size: 14px;
}
.official-timeline article > span {
	font-size: 12px;
}
.value-grid {
	gap: 18px;
	grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
}
.content-page .value {
	border-radius: 18px;
	border: 1px solid var(--hmbd-line);
	background: #ffffff;
	padding: 26px;
}
.content-page .value > span {
	color: #215b99;
}
.content-page .value h3 {
	font-family: var(--hmbd-display);
	font-size: 26px;
}
.content-page .value p {
	font-size: 14px;
}
.program-jump-links {
	gap: 10px;
	margin-bottom: 48px;
}
.program-jump-links a {
	min-height: 44px;
	font-size: 13px;
	background: #ffffff;
	border-color: var(--hmbd-line);
	border-radius: 999px;
}
.content-page .program-detail {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(30px, 5vw, 70px);
	padding-block: 38px;
}
.content-page .program-detail img {
	border-radius: 20px;
	aspect-ratio: 1.3;
	object-fit: cover;
	box-shadow: var(--hmbd-shadow);
}
.content-page .program-detail p {
	font-size: 16px;
}
.content-page .project-filter {
	background: #ffffff;
	border: 1px solid var(--hmbd-line);
	border-radius: 18px;
	padding: 16px;
	grid-template-columns: minmax(0, 1.8fr) minmax(0, 1fr);
}
.content-page .project-filter input,
.content-page .project-filter select {
	font-size: 16px;
	min-height: 50px;
	border-radius: 10px;
	border-color: #9bb9dd65;
}
.content-page .project-results {
	font-size: 13px;
	margin-bottom: 22px;
}
.content-page .story-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
}
.content-page .story-card {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--hmbd-line);
	border-radius: 18px;
	overflow: hidden;
	padding: 0 0 22px;
	background: #ffffff;
	box-shadow: var(--hmbd-shadow);
}
.content-page .story-image {
	border-radius: 0;
	aspect-ratio: 1.45;
}
.content-page .story-image img {
	object-fit: cover;
}
.content-page .story-card > h3 {
	font-family: var(--hmbd-display);
	font-size: 26px;
	margin: 23px 23px 10px;
}
.content-page .story-card > p {
	font-size: 14px;
	margin: 0 23px 18px;
}
.content-page .story-card > .record-caption {
	margin: 0 23px 12px;
	font-size: 11px;
	color: #23466c;
	line-height: 1.7;
}
.content-page .story-card > .text-link {
	margin: auto 23px 0;
	font-size: 13px;
}
.content-page .report-card {
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid var(--hmbd-line);
	border-radius: 18px;
	background: #ffffff;
	gap: 24px;
	box-shadow: var(--hmbd-shadow);
}
.content-page .report-card h3 {
	font-family: var(--hmbd-display);
	font-size: clamp(26px, 2.3vw, 34px);
}
.report-table-scroll {
	border: 1px solid var(--hmbd-line);
	border-radius: 16px;
	margin-top: 24px;
	background: #ffffff;
	overscroll-behavior-inline: contain;
}
.report-table {
	min-width: 570px;
}
.report-table caption {
	background: #f0f5ff;
	font-size: 14px;
	color: #102d55;
}
.report-table th,
.report-table td {
	padding: 16px 19px;
	font-size: 14px;
}
.report-table tbody tr:nth-child(even) {
	background: #f0f5ff;
}
.report-note {
	font-size: 13px;
	line-height: 1.85;
}
.content-page .privacy {
	margin-inline: auto;
	max-width: 1040px;
	padding-inline: var(--gutter);
}
.privacy h3 {
	font-family: var(--hmbd-display);
	font-size: 29px;
	margin-bottom: 17px;
}
.privacy p {
	font-size: 16px;
	line-height: 1.95;
}
.cta-section {
	background: #e6efff;
	color: #102d55;
	padding: clamp(62px, 7vw, 100px) var(--gutter);
}
.cta-section h2 {
	font-family: var(--hmbd-display);
	font-size: clamp(36px, 4.7vw, 65px);
	font-weight: 400;
}
.cta-section p {
	color: #23466c;
	font-size: 16px;
}
.cta-section .eyebrow {
	font-size: 11px;
	color: #23466c;
}
dialog {
	border-radius: 20px;
	max-width: calc(100vw - 32px);
	max-height: calc(100dvh - 32px);
}
dialog::backdrop {
	background: #0b244599;
	backdrop-filter: blur(5px);
}
.modal-body {
	padding: clamp(24px, 3vw, 38px);
}
.modal-body h2 {
	font-family: var(--hmbd-display);
	font-size: clamp(30px, 3.2vw, 46px);
}
.modal-body p {
	font-size: 15px;
	line-height: 1.85;
}
.modal-location,
.selected-location-card small {
	font-size: 12px;
	line-height: 1.8;
}
.modal-close {
	min-width: 44px;
	min-height: 44px;
}
.bar-chart {
	min-width: 0;
}

/* A coherent, useful footer with the exact supplied logo. */
.premium-footer.footer-refined {
	background: #0b2445;
	padding-inline: max(var(--gutter), calc((100% - var(--content)) / 2));
}
.footer-refined:before {
	background: radial-gradient(ellipse at 0 0, #23466c2c, transparent 60%);
}
.footer-refined .footer-invitation {
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(35px, 6vw, 85px);
	padding-block: clamp(54px, 5.4vw, 80px);
}
.footer-refined .footer-invitation .eyebrow {
	font-size: 11px;
	line-height: 1.75;
}
.footer-refined .footer-invitation h2 {
	font-size: clamp(36px, 4.1vw, 60px);
	line-height: 1.15;
}
.footer-refined .footer-invitation p {
	font-size: 15px;
	color: #d3e3fc;
}
.footer-mission-link {
	font-size: 13px;
}
.footer-action-card {
	background: #e6efff;
	border-radius: 18px;
	padding: 27px;
	border-color: #e6efff70;
	box-shadow: none;
}
.footer-refined .footer-action-card .eyebrow {
	font-size: 10px;
}
.footer-action-card h3 {
	font-size: 29px;
}
.footer-action-card .footer-donate-button {
	font-size: 13px;
	background: #215b99;
	color: white;
}
.footer-support-button {
	font-size: 13px;
}
.footer-action-card small {
	font-size: 11px;
}
.footer-refined .footer-directory {
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr) minmax(0, 0.95fr) minmax(0, 1.2fr);
	padding-block: clamp(44px, 4.5vw, 62px);
	gap: 32px;
}
.premium-footer .footer-identity .brand img,
.footer-refined .footer-identity .brand img {
	width: 124px;
	height: 70px;
	max-height: 70px;
	object-fit: contain;
	aspect-ratio: 124 / 70;
	filter: none;
}
.footer-refined .footer-identity p {
	font-size: 14px;
	max-width: 290px;
	color: #d3e3fc;
}
.footer-refined .footer-identity p:first-of-type {
	font-size: 13px;
	color: #f0f5ff;
}
.footer-refined .footer-values {
	font-size: 10px;
	line-height: 1.75;
}
.footer-official-site {
	font-size: 12px;
}
.footer-refined .footer-link-group h3 {
	font-size: 14px;
	margin-bottom: 14px;
}
.footer-refined .footer-link-group a {
	min-height: 44px;
	font-size: 13px;
	color: #d3e3fc;
	line-height: 1.65;
}
.footer-refined .footer-contact address {
	font-size: 13px;
	color: #bdd8ff;
}
.footer-refined .footer-whatsapp > span {
	font-size: 13px;
}
.footer-refined .footer-giving-strip {
	padding: 20px;
	border-radius: 14px;
	gap: 24px;
}
.footer-refined .footer-giving-strip small {
	font-size: 12px;
}
.footer-refined .footer-colophon,
.footer-refined .footer-colophon a {
	font-size: 12px;
	color: #bdd8ff;
}
.footer-refined .footer-wordmark {
	font-size: clamp(70px, 11vw, 156px);
	color: #d3e3fc16;
	padding-top: 24px;
	padding-bottom: 16px;
	letter-spacing: -0.035em;
}
.footer-refined .footer-wordmark span {
	font-size: clamp(11px, 1.8vw, 24px);
	color: #d3e3fc30;
}
.support-launcher {
	background: #215b99;
	border-color: #ffffff4a;
	box-shadow: 0 8px 25px #072e3529;
}
.support-direct-link {
	min-height: 56px;
	padding: 12px 16px;
}
.support-direct-link small {
	font-size: 10px;
}
.support-direct-link strong {
	font-size: 13px;
}
#support-toggle {
	width: 44px;
	min-height: 56px;
}
.support-panel {
	border-radius: 18px;
	width: 365px;
	max-width: calc(100vw - 32px);
}
.support-panel-body > p:first-child {
	font-size: 14px;
}
.support-topic-buttons {
	flex-wrap: wrap;
}
.support-topic-buttons button {
	min-height: 44px;
	font-size: 12px;
}
.support-chat-link {
	min-height: 50px;
	font-size: 14px;
}
.support-panel-body .support-call-note,
.support-panel-body .support-topic-status,
.support-number {
	font-size: 12px;
	line-height: 1.75;
}
.support-other-channels a {
	font-size: 12px;
}
#back-to-top {
	background: #ffffff;
	color: #215b99;
	border-color: #215b9940;
	bottom: 100px;
}

@media (hover: hover) and (pointer: fine) {
	.button:hover {
		box-shadow: 0 7px 18px #0b24451c;
		transform: translateY(-2px);
	}
	.nav-premium .nav-actions .nav-donate:hover {
		background: #174b83;
	}
	.content-page .story-card {
		transition:
			transform 0.22s,
			box-shadow 0.22s,
			border-color 0.22s;
	}
	.content-page .story-card:hover {
		transform: translateY(-4px);
		border-color: #6d89ad6b;
		box-shadow: 0 20px 45px #0b244510;
	}
	.partner-node:hover {
		border-color: #6d89ad80;
		background: #f0f5ff;
	}
	.support-launcher:hover {
		background: #194c82;
	}
}

@media (max-width: 1240px) {
	.nav-premium .brand-caption {
		display: none;
	}
	.nav-premium nav {
		gap: 16px;
	}
	.nav-premium .nav-actions {
		margin-left: 0;
	}
	.program-feature-copy {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 1050px) {
	.home-page .atlas-console .atlas-layout {
		grid-template-columns: minmax(0, 1fr) 290px;
	}
	.home-page .atlas-console .rail-heading {
		display: none;
	}
	.home-page .atlas-console .impact-rail {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.hero-slider .hero-bottom {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}
	.hero-carousel-panel {
		max-width: 450px;
	}
	.footer-refined .footer-directory {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		gap: 38px 60px;
	}
	.content-page .story-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 980px) {
	:root {
		--nav-height: 82px;
		--gutter: clamp(20px, 4vw, 38px);
	}
	.nav-premium .brand-premium {
		min-height: 62px;
	}
	.nav-premium .brand-premium img {
		width: 110px;
		height: auto;
		max-height: 63px;
	}
	.nav-premium nav {
		font-size: 16px;
	}
	.nav-premium nav > a {
		min-height: 60px;
	}
	.nav-premium .nav-actions {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.nav-premium .nav-actions > a {
		font-size: 14px;
	}
	.nav-intro,
	.nav-mobile-note {
		font-size: 11px;
		line-height: 1.8;
	}
	.home-page .hero.hero-slider {
		min-height: 720px;
		gap: 40px;
	}
	.home-page .hero-slider h1 {
		font-size: clamp(48px, 7.5vw, 74px);
	}
	.welcome-path {
		padding: 24px;
	}
	.welcome-path h3 {
		font-size: 24px;
	}
	.home-page .purpose-section,
	.achievement-layout,
	.content-page .intro,
	.official-profile {
		grid-template-columns: minmax(0, 1fr);
	}
	.purpose-gallery {
		max-width: 560px;
		width: 100%;
		margin-inline: auto;
	}
	.achievement-wheel {
		max-width: 470px;
	}
	.home-page .donation-section,
	.home-page .faq-section,
	.home-page .contact-section,
	.content-page .contact-section,
	.evidence-section {
		grid-template-columns: minmax(0, 1fr);
	}
	.donation-photo {
		max-width: none;
		height: clamp(330px, 50vw, 430px);
	}
	.donation-card {
		width: 100%;
	}
	.faq-intro > p {
		max-width: 620px;
	}
	.footer-refined .footer-invitation {
		grid-template-columns: minmax(0, 1fr) 270px;
		gap: 32px;
	}
}
@media (max-width: 900px) {
	.home-page .atlas-console .atlas-layout {
		grid-template-columns: minmax(0, 1fr);
	}
	.home-page .atlas-console .inspector {
		display: grid;
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
		max-height: none;
	}
	.home-page .atlas-console .inspector-hero {
		min-height: 100%;
	}
	.atlas-settings {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-page .atlas-console .atlas-settings .location-explorer {
		grid-column: 1 / -1;
	}
	.program-explorer {
		grid-template-columns: minmax(0, 1fr);
	}
	.program-tabs {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 8px;
	}
	.program-tab {
		min-height: 72px;
	}
	.program-feature-copy {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	}
	.care-evidence {
		grid-template-columns: minmax(0, 1fr);
	}
	.care-portrait {
		min-height: 480px;
	}
	.care-data {
		padding-inline: max(var(--gutter), calc((100% - 740px) / 2));
	}
}
@media (max-width: 760px) {
	.welcome-intro {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.welcome-intro > p {
		max-width: 520px;
	}
	.welcome-paths {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}
	.welcome-path {
		min-height: 0;
		padding: 28px;
	}
	.welcome-path-top {
		margin-bottom: 24px;
	}
	.welcome-path h3 {
		font-size: 27px;
	}
	.welcome-path p {
		max-width: none;
	}
	.story-focus-body {
		grid-template-columns: minmax(0, 1fr);
	}
	.story-focus-image {
		min-height: 370px;
	}
	.recovery-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.partner-nodes {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.content-page .program-detail {
		grid-template-columns: minmax(0, 1fr);
		gap: 27px;
	}
	.footer-refined .footer-invitation {
		grid-template-columns: minmax(0, 1fr);
	}
	.footer-action-card {
		width: 100%;
		max-width: 430px;
	}
}
@media (max-width: 680px) {
	:root {
		--nav-height: 78px;
		--gutter: 20px;
	}
	.home-page .section,
	.content-page .section {
		padding-block: 60px;
	}
	.home-page .section h2,
	.content-page .section h2 {
		font-size: clamp(33px, 8.2vw, 44px);
		line-height: 1.16;
	}
	.section-head {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 22px;
	}
	.nav-premium .brand-premium {
		min-height: 56px;
	}
	.nav-premium .brand-premium img {
		width: 100px;
		height: auto;
		max-height: 57px;
	}
	.nav-premium .nav-actions > a {
		padding-inline: 12px;
		gap: 10px;
	}
	.home-page .hero.hero-slider {
		min-height: 0;
		gap: 36px;
		padding-block: 58px 24px;
	}
	.home-page .hero-slider h1 {
		font-size: clamp(40px, 10.1vw, 64px);
		line-height: 1.09;
	}
	.home-page .hero-slider .eyebrow {
		font-size: 10px;
		letter-spacing: 0.09em;
		margin-bottom: 22px;
	}
	.home-page .hero-slider .hero-copy > p {
		font-size: 16px;
		line-height: 1.8;
		margin-block: 24px 28px;
	}
	.home-page .hero.hero-slider:after {
		background:
			linear-gradient(90deg, #0b2445d9, #0b244575),
			linear-gradient(0deg, #0b2445f2, #0b244555 75%);
	}
	.hero-slider .hero-actions {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		max-width: 380px;
		gap: 12px;
	}
	.hero-slider .hero-bottom {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding-top: 23px;
	}
	.hero-slider .hero-footprint {
		gap: 12px;
	}
	.hero-slider .hero-footprint > div + div {
		padding-left: 12px;
	}
	.home-page .hero-slider .hero-footprint strong {
		font-size: clamp(19px, 4.8vw, 28px);
	}
	.hero-slider .hero-footprint span {
		font-size: 11px;
	}
	.hero-carousel-panel {
		max-width: none;
		padding: 17px 16px 12px;
	}
	.hero-carousel-controls {
		justify-content: space-between;
	}
	.official-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
	.official-stat-grid > div {
		border: 0;
		padding: 0;
	}
	.official-stat-grid dd {
		font-size: 39px;
	}
	.official-stat-grid dt {
		font-size: 12px;
	}
	.purpose-gallery {
		min-height: 410px;
	}
	.home-page .purpose-main-photo {
		border-radius: 18px 18px 65px 18px;
	}
	.home-page .purpose-lead {
		font-size: 19px;
	}
	.purpose-seal {
		font-size: 9px;
		width: 110px;
		height: 110px;
		padding: 20px;
	}
	.home-page .atlas {
		padding-top: 24px;
		padding-inline: 16px;
		padding-bottom: 56px;
	}
	.home-page .atlas-head.atlas-head-compact {
		flex-direction: row;
		align-items: center;
	}
	.home-page .atlas-head-compact h2 {
		font-size: 22px;
	}
	.home-page .atlas-head-compact .eyebrow {
		font-size: 9px;
	}
	.home-page .atlas-head-compact .source-badge {
		font-size: 11px;
	}
	.home-page .atlas-console {
		padding: 14px 12px;
		border-radius: 16px;
	}
	.home-page .atlas-console .rail-stat {
		padding-inline: 8px;
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.home-page .atlas-console .rail-stat strong {
		font-size: 21px;
	}
	.home-page .atlas-console .rail-stat span {
		font-size: 10px;
	}
	.atlas-settings {
		gap: 12px;
	}
	.home-page .atlas-console .atlas-settings .location-explorer {
		gap: 8px;
	}
	.home-page .atlas-console .atlas-settings label {
		font-size: 12px;
	}
	.home-page .atlas-console .atlas-settings select,
	.home-page .atlas-console .filterbar input,
	.home-page .atlas-console .filterbar select {
		font-size: 16px;
	}
	.home-page .atlas-console .filterbar {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3px;
	}
	.home-page .atlas-console .filterbar label {
		padding-inline: 8px;
	}
	.home-page .atlas-console .filterbar label:last-child {
		grid-column: 1 / -1;
	}
	.home-page .atlas-console .atlas-filter-description {
		display: none;
	}
	.home-page .atlas-console .atlas-settings-status > span {
		font-size: 11px;
	}
	.home-page .atlas-console .map-shell {
		height: clamp(510px, 130vw, 610px);
	}
	.home-page .atlas-console .map-hint {
		max-width: 160px;
		font-size: 9px;
	}
	.home-page .atlas-console .map-legend {
		font-size: 9px;
	}
	.home-page .atlas-console .map-control-label {
		font-size: 7px;
	}
	.home-page .atlas-console .inspector {
		display: block;
	}
	.home-page .atlas-console .inspector-hero {
		min-height: 160px;
	}
	.home-page .atlas-console .metric-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-page .atlas-source-note {
		font-size: 12px;
	}
	.program-discovery-head,
	.partners-heading {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.program-tabs {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.program-tab {
		min-height: 58px;
		padding: 12px;
	}
	.program-tab-name {
		font-size: 13px;
	}
	.program-feature-copy {
		grid-template-columns: minmax(0, 1fr);
		padding: 25px;
		gap: 20px;
	}
	.program-feature-image {
		height: 340px;
	}
	.program-image-title h3 {
		font-size: 33px;
	}
	.story-tabs {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
	}
	.story-tabs button {
		justify-content: flex-start;
		padding: 14px 20px;
		font-size: 14px;
	}
	.story-focus-copy {
		padding: 28px 24px;
	}
	.story-focus-image {
		min-height: 350px;
	}
	.story-focus-caption {
		left: 16px;
		right: 16px;
		bottom: 16px;
		padding: 17px;
	}
	.story-focus-caption span {
		font-size: 11px;
	}
	.care-portrait {
		min-height: 470px;
	}
	.care-data {
		padding-block: 38px;
	}
	.care-data-head {
		flex-wrap: wrap;
		gap: 10px;
	}
	.care-chart-tabs {
		flex-wrap: wrap;
		gap: 8px;
	}
	.partner-network {
		padding: 22px 18px;
	}
	.partner-node,
	.partner-node.docmobile,
	.partner-node.hmbd-uk,
	.partner-node.asean,
	.partner-node.pride,
	.partner-node.eppc {
		min-height: 160px;
		padding: 19px 16px;
	}
	.partner-hub {
		gap: 20px;
	}
	.partners-bottom {
		flex-wrap: wrap;
	}
	.home-page .donation-section {
		gap: 30px;
	}
	.donation-card {
		padding: 26px 20px;
	}
	.donation-photo {
		height: 350px;
	}
	.donation-field label,
	.donation-method-field legend {
		flex-wrap: wrap;
		gap: 6px 10px;
	}
	.donation-method strong {
		font-size: 14px;
	}
	.donation-method small {
		font-size: 12px;
	}
	.donation-review-actions {
		flex-direction: column;
	}
	.donation-review-actions .button {
		width: 100%;
	}
	.contact-field-row {
		grid-template-columns: minmax(0, 1fr);
	}
	.contact-form {
		padding: 26px 20px;
	}
	.content-page .page-header {
		min-height: 0;
		padding-block: 44px 52px;
	}
	.content-page .page-header h1 {
		font-size: clamp(38px, 8.8vw, 57px);
		line-height: 1.12;
	}
	.content-page .page-header:after {
		background: linear-gradient(90deg, #0b2445ef, #0b2445d0);
	}
	.page-hero-art {
		inset: 0;
		opacity: 0.8;
	}
	.content-page .project-filter {
		grid-template-columns: minmax(0, 1fr);
		padding: 13px;
	}
	.content-page .story-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 22px;
	}
	.content-page .story-card > h3 {
		font-size: 27px;
	}
	.content-page .report-card {
		flex-direction: column;
		align-items: flex-start;
	}
	.report-card .button {
		width: 100%;
	}
	.program-jump-links {
		margin-bottom: 26px;
	}
	.content-page .program-detail {
		padding-block: 28px;
	}
	.content-page .program-detail:nth-child(even) img {
		order: 0;
	}
	.content-page .program-detail:nth-child(even) > div {
		order: 1;
	}
	.value-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.modal-body .button {
		width: 100%;
		margin-left: 0 !important;
		margin-top: 12px;
	}
	.footer-refined .footer-directory {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 30px 22px;
	}
	.footer-refined .footer-identity,
	.footer-refined .footer-contact {
		grid-column: 1 / -1;
	}
	.footer-refined .footer-invitation {
		padding-block: 52px;
	}
	.footer-refined .footer-invitation .eyebrow {
		font-size: 10px;
	}
	.footer-refined .footer-invitation h2 {
		font-size: clamp(36px, 8.8vw, 48px);
	}
	.footer-refined .footer-identity p {
		max-width: 420px;
	}
	.footer-refined .footer-giving-strip {
		flex-direction: column;
		align-items: flex-start;
		gap: 17px;
		padding: 19px;
	}
	.footer-refined .footer-giving-strip > div {
		min-width: 0;
	}
	.footer-refined .footer-colophon {
		align-items: flex-start;
		gap: 5px 20px;
		padding-block: 18px;
	}
	.footer-refined .footer-wordmark {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
		padding-block: 24px 8px;
		font-size: clamp(66px, 18vw, 110px);
	}
	.footer-refined .footer-wordmark span {
		font-size: 16px;
		letter-spacing: 0.1em;
	}
	.premium-footer.footer-refined {
		padding-bottom: calc(90px + env(safe-area-inset-bottom));
	}
	.support-widget {
		right: max(14px, env(safe-area-inset-right));
		bottom: max(14px, env(safe-area-inset-bottom));
		max-width: calc(100% - 28px);
	}
	.support-direct-link {
		padding: 11px 13px;
		min-height: 52px;
		gap: 10px;
	}
	.support-direct-link small {
		display: none;
	}
	.support-direct-link strong {
		font-size: 12px;
	}
	.support-direct-link > svg {
		width: 24px;
		height: 24px;
	}
	#support-toggle {
		min-height: 52px;
		width: 44px;
	}
	.support-panel {
		width: 350px;
		bottom: 66px;
		max-height: calc(100dvh - 94px);
		max-width: calc(100vw - 28px);
	}
	#back-to-top {
		bottom: 84px;
		right: max(14px, env(safe-area-inset-right));
	}
}
@media (max-width: 560px) {
	.achievement-wheel {
		aspect-ratio: auto;
		max-width: none;
	}
	.achievement-dial,
	.achievement-center,
	.dial-orbit {
		display: none;
	}
	.achievement-wheel-tabs {
		position: static;
		inset: auto;
		height: auto;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 9px;
	}
	.achievement-node {
		position: relative;
		left: auto;
		top: auto;
		transform: none;
		width: 100%;
		height: auto;
		min-height: 64px;
		padding: 12px;
		justify-content: flex-start;
		gap: 10px;
		border-radius: 12px;
	}
	.achievement-node svg {
		flex-shrink: 0;
		width: 21px;
		height: 21px;
	}
	.achievement-node > span {
		position: static;
		top: auto;
		width: auto;
		font-size: 12px;
		text-align: left;
		line-height: 1.45;
	}
	.achievement-wheel-nav {
		margin-top: 20px;
	}
	.achievement-card-copy {
		padding: 26px 23px;
	}
	.care-chart-row {
		grid-template-columns: 94px minmax(0, 1fr) 48px;
	}
	.care-chart-row span {
		font-size: 11px;
	}
	.home-page .atlas-console .atlas-settings .location-explorer {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.home-page .atlas-console .atlas-settings .location-explorer label:first-child {
		grid-column: 1 / -1;
	}
	.home-page .atlas-console .atlas-settings .location-explorer label {
		grid-template-rows: auto 44px;
	}
}
@media (max-width: 380px) {
	:root {
		--gutter: 16px;
	}
	.nav-premium .brand-premium img {
		width: 96px;
		max-height: 55px;
	}
	.home-page .hero-slider h1 {
		font-size: 39px;
	}
	.home-page .hero-slider .hero-footprint strong {
		font-size: 19px;
	}
	.hero-slider .hero-footprint span {
		font-size: 10px;
	}
	.hero-carousel-panel {
		padding-inline: 14px;
	}
	.hero-pagination {
		gap: 6px;
	}
	.hero-slider-actions {
		gap: 5px;
	}
	.hero-slider-actions #hero-autoplay {
		width: 78px;
	}
	.purpose-gallery {
		min-height: 370px;
	}
	.purpose-seal {
		width: 100px;
		height: 100px;
		padding: 18px;
	}
	.home-page .atlas-head-compact h2 {
		font-size: 20px;
	}
	.home-page .atlas-head-compact .source-badge {
		font-size: 10px;
	}
	.home-page .atlas-console .atlas-settings-status > span {
		font-size: 10px;
	}
	.home-page .atlas-console .rail-stat span {
		font-size: 9px;
	}
	.home-page .atlas-console .filterbar {
		grid-template-columns: minmax(0, 1fr);
	}
	.partner-nodes {
		grid-template-columns: minmax(0, 1fr);
	}
	.partner-node,
	.partner-node.docmobile,
	.partner-node.hmbd-uk,
	.partner-node.asean,
	.partner-node.pride,
	.partner-node.eppc {
		min-height: 130px;
		padding: 22px;
	}
	.partner-hub {
		flex-wrap: wrap;
		gap: 13px;
	}
	.donation-presets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.donation-card {
		padding: 24px 17px;
	}
	.donation-method {
		padding: 13px 10px;
		gap: 10px;
	}
	.donation-method-icon {
		width: 30px;
		height: 30px;
	}
	.footer-refined .footer-directory {
		grid-template-columns: minmax(0, 1fr);
	}
	.footer-refined .footer-identity,
	.footer-refined .footer-contact {
		grid-column: auto;
	}
	.footer-action-card {
		padding: 24px;
	}
	.support-other-channels {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-height: 600px) and (orientation: landscape) {
	.home-page .hero.hero-slider {
		min-height: 0;
		padding-block: 42px 24px;
		gap: 30px;
	}
	.home-page .hero-slider h1 {
		font-size: clamp(42px, 6.3vw, 65px);
	}
	.nav-premium nav {
		max-height: calc(100dvh - var(--nav-height));
		overflow-y: auto;
	}
	.support-panel {
		max-height: calc(100dvh - 94px);
	}
}
@media (min-width: 1800px) {
	.home-page .hero.hero-slider {
		min-height: 820px;
	}
	.home-page .atlas-console .map-shell {
		height: 720px;
	}
	.home-page .atlas-console .inspector {
		max-height: 720px;
	}
}
body.home-page .atlas-console .map-shell.map-fullscreen {
	height: 100dvh;
	max-height: none;
	border-radius: 0;
}
@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*:before,
	*:after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
	.reveal-pending {
		opacity: 1;
		transform: none;
	}
	.button:hover,
	.content-page .story-card:hover {
		transform: none;
	}
	.hero-slide img {
		transform: none;
	}
}
@media (forced-colors: active) {
	.button,
	.welcome-path,
	.program-tab,
	.donation-method,
	.partner-node {
		border: 1px solid ButtonText;
	}
	.hero-slider-actions button,
	.map-controls button {
		border: 1px solid ButtonText;
	}
	:focus-visible {
		outline: 3px solid Highlight;
	}
}
@media print {
	.nav-premium,
	.support-widget,
	#back-to-top,
	.hero-carousel-controls {
		display: none !important;
	}
	body,
	.section,
	.premium-footer.footer-refined {
		background: white !important;
		color: black;
	}
	.home-page .section,
	.content-page .section {
		padding: 24px !important;
	}
	.reveal-pending {
		opacity: 1;
		transform: none;
	}
	.premium-footer.footer-refined {
		padding-bottom: 0;
	}
	.home-page .hero.hero-slider {
		min-height: 0;
	}
}
.footer-refined > :is(.footer-invitation, .footer-wordmark) {
	display: none !important;
}
