/* HMBD's published identity, with a restrained editorial finish and direct support. */
.home-page .hero.hero-slider {
	min-height: clamp(650px, calc(100svh - var(--nav-height)), 920px);
}
.home-page .hero-slider .hero-copy {
	max-width: 780px;
}
.home-page .hero-slider h1 {
	font-size: clamp(48px, 5.6vw, 88px);
	line-height: 1.07;
	letter-spacing: -0.04em;
}
.home-page .hero-slider h1 em {
	font-style: normal;
}
.home-page .hero-slider p {
	max-width: 455px;
	font-size: 16px;
	line-height: 1.85;
}
.home-page .hero-slider .hero-actions .button {
	border-radius: 28px;
	min-height: 52px;
	padding-inline: 25px;
}
.home-page .welcome-path {
	border-radius: 18px;
}
.official-overview {
	margin-top: 42px;
	padding-top: 28px;
	border-top: 1px solid #102d5526;
}
.official-overview-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	font-size: 11px;
	font-weight: 600;
	color: #23466c;
}
.official-overview-heading a {
	font-size: 10px;
	font-weight: 400;
	min-height: 32px;
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: #52667f;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.official-stat-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 23px 0 0;
	gap: 25px;
}
.official-stat-grid > div {
	display: flex;
	flex-direction: column-reverse;
	gap: 9px;
	align-items: flex-start;
	border-left: 1px solid #102d5526;
	padding-left: 25px;
}
.official-stat-grid > div:first-child {
	border-left: 0;
	padding-left: 0;
}
.official-stat-grid dd {
	margin: 0;
	font-family: Georgia, serif;
	font-weight: 400;
	line-height: 1.1;
	font-size: clamp(30px, 3.1vw, 46px);
	color: #102d55;
	letter-spacing: -0.04em;
}
.official-stat-grid dt {
	font-size: 11px;
	color: #52667f;
	line-height: 1.5;
}
.home-page .official-stat-note {
	font-size: 10px;
	line-height: 1.7;
	color: #52667f;
	margin-top: 22px;
	max-width: 870px;
}
.official-profile {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: clamp(35px, 6vw, 90px);
	background: #f0f5ff;
	color: #102d55;
}
.official-profile h2 {
	font-family: Georgia, serif;
	font-weight: 400;
	line-height: 1.12;
}
.official-profile h2 em {
	color: #23466c;
	font-weight: 400;
}
.official-profile .eyebrow {
	color: #52667f;
	font-size: 10px;
}
.official-profile-intro > p {
	max-width: 460px;
	font-size: 14px;
	margin-top: 25px;
	color: #52667f;
}
.official-timeline {
	border-left: 1px solid #9bb9dd;
	padding-left: 29px;
}
.official-timeline article {
	position: relative;
	padding-bottom: 28px;
	margin-bottom: 25px;
	border-bottom: 1px solid #102d551c;
}
.official-timeline article:before {
	content: "";
	position: absolute;
	width: 9px;
	height: 9px;
	top: 7px;
	left: -34px;
	border: 2px solid #f0f5ff;
	box-shadow: 0 0 0 1px #52667f;
	border-radius: 50%;
	background: #23466c;
}
.official-timeline article:last-child {
	margin: 0;
	padding: 0;
	border-bottom: 0;
}
.official-timeline article > span {
	font-size: 11px;
	color: #52667f;
	letter-spacing: 0.08em;
}
.official-timeline h3 {
	font-size: 23px;
	font-family: Georgia, serif;
	font-weight: 400;
	margin: 10px 0 13px;
	color: #102d55;
}
.official-timeline p {
	font-size: 13px;
	line-height: 1.85;
	color: #52667f;
	max-width: 490px;
}
.official-timeline a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	font-size: 11px;
	color: #23466c;
	text-decoration: underline;
	text-underline-offset: 4px;
	margin-top: 7px;
}
.official-program-source {
	margin-right: 23px;
}
.contact-secondary-email {
	display: block;
	margin-top: 20px;
	font-size: 11px;
	color: #d3e3fc;
	line-height: 1.8;
	text-decoration: underline;
	text-underline-offset: 4px;
	overflow-wrap: anywhere;
	min-height: 32px;
}
.premium-footer.footer-refined {
	background: #0b2445;
	border-top: 1px solid #bdd8ff38;
}
.footer-refined:before {
	background:
		radial-gradient(ellipse at 0 0, #23466c45, transparent 58%),
		radial-gradient(ellipse at 100% 80%, #102d5580, transparent 60%);
}
.footer-refined .footer-invitation {
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(30px, 7vw, 110px);
	padding-block: clamp(48px, 5vw, 78px);
	align-items: center;
}
.footer-refined .footer-invitation .eyebrow {
	font-size: 9px;
	letter-spacing: 0.14em;
	color: #bdd8ff;
	margin-bottom: 20px;
	line-height: 1.7;
}
.footer-refined .footer-invitation h2 {
	font-family: Georgia, serif;
	font-size: clamp(37px, 4.4vw, 64px);
	letter-spacing: -0.035em;
	line-height: 1.09;
	max-width: 790px;
}
.footer-refined .footer-invitation h2 em {
	font-style: normal;
	color: #d3e3fc;
}
.footer-refined .footer-invitation p {
	font-size: 14px;
	line-height: 1.8;
	color: #bdd8ff;
	margin-top: 23px;
	max-width: 535px;
}
.footer-mission-link {
	display: inline-flex;
	gap: 28px;
	align-items: center;
	min-height: 44px;
	margin-top: 19px;
	color: #d3e3fc;
	font-size: 11px;
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-color: #6d89ad;
}
.footer-action-card {
	background: #e6efff;
	border: 1px solid #f0f5ff47;
	border-radius: 16px;
	padding: 26px;
	color: #102d55;
	position: relative;
	box-shadow: 0 15px 44px #0b244526;
}
.footer-action-symbol {
	display: grid;
	place-items: center;
	width: 39px;
	height: 39px;
	border-radius: 50%;
	background: #d3e3fc;
	color: #23466c;
	font-size: 26px;
	margin-bottom: 24px;
}
.footer-refined .footer-action-card .eyebrow {
	color: #52667f;
	margin-bottom: 12px;
	font-size: 8px;
	letter-spacing: 0.1em;
}
.footer-action-card h3 {
	font-family: Georgia, serif;
	font-size: 27px;
	line-height: 1.17;
	font-weight: 400;
	color: #102d55;
}
.footer-action-card .footer-donate-button {
	background: #102d55;
	color: #f0f5ff;
	font-size: 11px;
	min-height: 48px;
	width: 100%;
	border-radius: 25px;
	margin-top: 25px;
	gap: 20px;
	box-shadow: none;
}
.footer-support-button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 44px;
	width: 100%;
	background: none;
	color: #2d603d;
	border: 0;
	padding: 12px 0 6px;
	font-size: 11px;
}
.footer-action-card small {
	display: block;
	color: #52667f;
	font-size: 8px;
	letter-spacing: 0.03em;
	margin-top: 9px;
	line-height: 1.7;
}
.footer-refined .footer-directory {
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 0.75fr) minmax(0, 0.95fr) minmax(0, 1.3fr);
	padding-block: clamp(40px, 4.5vw, 65px);
	gap: clamp(23px, 3.6vw, 58px);
}
.footer-refined .footer-identity .brand img {
	width: 124px;
	height: auto;
	aspect-ratio: 124/70;
	object-fit: contain;
}
.footer-refined .footer-identity p {
	max-width: 280px;
	font-size: 12px;
	color: #bdd8ff;
	margin-top: 16px;
}
.footer-refined .footer-identity p:first-of-type {
	font-size: 12px;
	color: #e6efff;
}
.footer-refined .footer-values {
	font-size: 8px;
	letter-spacing: 0.08em;
	color: #bdd8ff;
	margin-top: 20px;
}
.footer-official-site {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 16px;
	color: #d3e3fc;
	font-size: 10px;
	margin-top: 11px;
}
.footer-refined .footer-link-group h3 {
	font-size: 12px;
	font-weight: 600;
	color: #e6efff;
	margin-bottom: 13px;
}
.footer-refined .footer-link-group a {
	font-size: 11px;
	min-height: 42px;
	line-height: 1.7;
	color: #bdd8ff;
}
.footer-refined .footer-contact a {
	min-height: 44px;
}
.footer-refined .footer-contact address {
	font-size: 11px;
	line-height: 1.85;
	color: #bdd8ff;
	margin: 17px 0 9px;
}
.footer-refined .footer-contact .footer-whatsapp {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 13px;
	background: #badfbe10;
	border: 1px solid #badfbe35;
	border-radius: 9px;
	color: #d4f1d3;
	margin-bottom: 10px;
}
.footer-whatsapp > svg {
	width: 21px;
	height: 21px;
	flex-shrink: 0;
}
.footer-refined .footer-whatsapp > span {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 13px;
	width: 100%;
	font-size: 11px;
	opacity: 1;
}
.footer-whatsapp b {
	font-weight: 400;
	font-size: 13px;
}
.footer-refined .footer-giving-strip {
	padding: 18px 20px;
	border: 1px solid #d3e3fc27;
	border-radius: 10px;
	background: #ffffff04;
	margin-bottom: 24px;
	gap: 20px;
}
.footer-refined .footer-giving-strip small {
	font-size: 10px;
	color: #bdd8ff;
	line-height: 1.8;
}
.footer-refined .footer-colophon {
	font-size: 9px;
	padding: 16px 0;
	gap: 5px 25px;
	color: #bdd8ff;
}
.footer-refined .footer-colophon a {
	font-size: 9px;
	color: #d3e3fc;
}
.footer-refined .footer-wordmark {
	font-size: clamp(80px, 12.7vw, 180px);
	color: #d3e3fc0f;
	padding: 18px 0 0;
	gap: clamp(18px, 3vw, 48px);
	border-color: #d3e3fc18;
}
.footer-refined .footer-wordmark span {
	font-size: clamp(13px, 2vw, 28px);
	color: #d3e3fc22;
}
.support-widget {
	position: fixed;
	right: max(20px, env(safe-area-inset-right));
	bottom: max(22px, env(safe-area-inset-bottom));
	z-index: 42;
	max-width: calc(100% - 32px);
}
.support-launcher {
	display: flex;
	align-items: stretch;
	background: #21613f;
	color: #f4ffef;
	border: 1px solid #b9dca65e;
	border-radius: 36px;
	box-shadow: 0 9px 30px #09271d38;
	overflow: hidden;
	width: max-content;
	max-width: 100%;
	transition:
		box-shadow 0.25s,
		background 0.25s;
}
.support-direct-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	min-height: 60px;
	min-width: 0;
}
.support-direct-link > svg {
	width: 29px;
	height: 29px;
	flex-shrink: 0;
}
.support-direct-link > span {
	display: flex;
	flex-direction: column;
	gap: 2px;
	line-height: 1.35;
}
.support-direct-link small {
	font-size: 9px;
	letter-spacing: 0.035em;
	color: #ceebc8;
}
.support-direct-link strong {
	font-size: 12px;
	letter-spacing: -0.01em;
	font-weight: 600;
	white-space: nowrap;
}
#support-toggle {
	display: grid;
	place-items: center;
	width: 43px;
	min-height: 60px;
	border: 0;
	border-left: 1px solid #d4efcc32;
	background: #ffffff04;
	color: inherit;
	border-radius: 0;
	flex-shrink: 0;
}
#support-toggle svg {
	transition: transform 0.2s;
}
#support-toggle[aria-expanded="true"] svg {
	transform: rotate(180deg);
}
.support-panel {
	position: absolute;
	right: 0;
	bottom: 76px;
	width: 355px;
	max-width: calc(100vw - 32px);
	max-height: calc(100svh - 112px);
	max-height: calc(100dvh - 112px);
	overflow: auto;
	overscroll-behavior: contain;
	background: #fffefa;
	border: 1px solid #cbdec9;
	border-radius: 17px;
	color: #173e31;
	box-shadow: 0 20px 70px #061e2c45;
}
.support-panel[hidden] {
	display: none;
}
.support-panel-head {
	display: flex;
	align-items: center;
	gap: 13px;
	position: relative;
	padding: 22px 53px 22px 21px;
	background: linear-gradient(130deg, #e5efdb, #eef5e7);
	border-bottom: 1px solid #d1dfc7;
}
.support-mark {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	flex-shrink: 0;
	color: #296443;
	background: #d3e5cb;
	border-radius: 50%;
}
.support-panel-head > div > span {
	display: block;
	font-size: 8px;
	letter-spacing: 0.11em;
	color: #587550;
	margin-bottom: 6px;
}
.support-panel-head h2 {
	font-family: Georgia, serif;
	font-weight: 400;
	font-size: 25px;
	line-height: 1.1;
	letter-spacing: -0.025em;
}
#support-close {
	position: absolute;
	right: 9px;
	top: 12px;
	min-height: 44px;
	width: 36px;
	color: #3d6543;
	border: 0;
	background: transparent;
	font-size: 25px;
}
.support-panel-body {
	padding: 23px;
}
.support-panel-body > p:first-child {
	font-size: 13px;
	line-height: 1.8;
	color: #5d7763;
}
.support-topic-buttons {
	display: flex;
	gap: 7px;
	flex-wrap: wrap;
	margin: 19px 0;
}
.support-topic-buttons button {
	min-height: 44px;
	padding: 8px 12px;
	background: #f7faf1;
	border: 1px solid #d4e1c9;
	border-radius: 22px;
	color: #4f704c;
	font-size: 10px;
}
.support-topic-buttons button[aria-pressed="true"] {
	background: #dcebd1;
	border-color: #6d986f;
	color: #1c5137;
}
.support-chat-link {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #246b43;
	color: #f4ffef;
	border-radius: 9px;
	padding: 13px 15px;
	min-height: 50px;
	font-size: 12px;
}
.support-chat-link > span:last-child {
	margin-left: auto;
}
.support-chat-link svg {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}
.support-panel-body .support-call-note {
	font-size: 10px;
	color: #66816a;
	line-height: 1.7;
	margin-top: 11px;
}
.support-other-channels {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-top: 18px;
}
.support-other-channels a {
	display: flex;
	gap: 8px;
	align-items: center;
	min-height: 44px;
	border: 1px solid #d4e1c9;
	border-radius: 8px;
	font-size: 10px;
	padding: 8px 10px;
	color: #426b49;
	background: #fbfcf6;
}
.support-number {
	display: block;
	font-size: 10px;
	color: #6b826c;
	margin-top: 14px;
}
.support-panel-body .support-topic-status {
	font-size: 9px;
	line-height: 1.7;
	color: #748571;
	margin-top: 9px;
}
#back-to-top {
	bottom: 100px;
	right: max(23px, env(safe-area-inset-right));
}
body.menu-open .support-widget {
	visibility: hidden;
	pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
	.support-launcher:hover {
		background: #2b724a;
		box-shadow: 0 13px 35px #09271d4a;
	}
	.support-chat-link:hover {
		background: #1b5535;
	}
	.footer-refined .footer-whatsapp:hover {
		background: #badfbe20;
	}
	.footer-support-button:hover,
	.footer-mission-link:hover {
		color: #7bac68;
	}
	.footer-refined .footer-link-group a:hover {
		color: #f7f9fd;
	}
}
@media (max-width: 1050px) {
	.footer-refined .footer-directory {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		gap: 35px 60px;
	}
	.footer-refined .footer-invitation {
		grid-template-columns: minmax(0, 1fr) 275px;
		gap: 40px;
	}
	.official-profile {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.official-profile-intro {
		max-width: 650px;
	}
}
@media (max-width: 800px) {
	.footer-refined .footer-invitation {
		grid-template-columns: 1fr;
	}
	.footer-action-card {
		max-width: 380px;
	}
	.official-stat-grid {
		gap: 15px;
	}
	.official-stat-grid > div {
		padding-left: 15px;
	}
	.official-stat-grid dd {
		font-size: 34px;
	}
}
@media (max-width: 680px) {
	.home-page .hero.hero-slider {
		min-height: 0;
	}
	.home-page .hero-slider h1 {
		font-size: clamp(40px, 10.5vw, 66px);
	}
	.home-page .hero-slider p {
		font-size: 15px;
		line-height: 1.8;
	}
	.official-overview {
		margin-top: 32px;
		padding-top: 23px;
	}
	.official-stat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 25px 18px;
		margin-top: 20px;
	}
	.official-stat-grid > div {
		padding: 0;
		border: 0;
	}
	.official-stat-grid dd {
		font-size: 35px;
	}
	.official-stat-grid dt {
		font-size: 10px;
	}
	.home-page .official-stat-note {
		font-size: 9px;
	}
	.official-overview-heading a {
		font-size: 9px;
	}
	.footer-refined .footer-directory {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 28px 25px;
	}
	.footer-refined .footer-identity,
	.footer-refined .footer-contact {
		grid-column: 1/-1;
	}
	.footer-refined .footer-identity {
		padding-bottom: 24px;
		border-bottom: 1px solid #d3e3fc29;
	}
	.footer-refined .footer-contact {
		padding-top: 24px;
		border-top: 1px solid #d3e3fc29;
	}
	.footer-refined .footer-invitation {
		padding-block: 48px;
		gap: 30px;
	}
	.footer-refined .footer-invitation h2 {
		font-size: clamp(36px, 9.2vw, 52px);
	}
	.footer-refined .footer-invitation p {
		font-size: 13px;
	}
	.footer-refined .footer-invitation .eyebrow {
		font-size: 8px;
	}
	.footer-refined .footer-giving-strip {
		padding: 17px;
		gap: 15px;
	}
	.footer-refined .footer-colophon {
		align-items: flex-start;
		gap: 3px;
	}
	.footer-refined .footer-wordmark {
		font-size: clamp(65px, 18vw, 115px);
		gap: 20px;
		padding-bottom: 25px;
	}
	.footer-refined .footer-wordmark span {
		font-size: clamp(10px, 2.5vw, 17px);
	}
	.support-widget {
		right: max(14px, env(safe-area-inset-right));
		bottom: max(16px, env(safe-area-inset-bottom));
	}
	.support-direct-link {
		padding: 10px 12px;
		gap: 9px;
		min-height: 54px;
	}
	.support-direct-link small {
		font-size: 8px;
	}
	.support-direct-link strong {
		font-size: 11px;
	}
	.support-direct-link > svg {
		width: 25px;
		height: 25px;
	}
	#support-toggle {
		min-height: 54px;
		width: 37px;
	}
	.support-panel {
		bottom: 69px;
		width: 335px;
		max-height: calc(100dvh - 96px);
	}
	.support-panel-body {
		padding: 20px;
	}
	.support-panel-head h2 {
		font-size: 24px;
	}
	#back-to-top {
		bottom: 91px;
		right: max(17px, env(safe-area-inset-right));
		height: 44px;
		width: 44px;
	}
}
@media (max-width: 360px) {
	.support-panel {
		max-width: calc(100vw - 28px);
	}
	.support-topic-buttons {
		gap: 5px;
	}
	.support-topic-buttons button {
		padding-inline: 9px;
	}
	.support-panel-head {
		gap: 10px;
		padding-left: 17px;
	}
	.support-panel-head h2 {
		font-size: 22px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.support-launcher,
	#support-toggle svg {
		transition: none;
	}
}
@media print {
	.support-widget,
	.footer-action-card {
		display: none !important;
	}
	.footer-refined .footer-invitation {
		display: none;
	}
	.footer-refined .footer-link-group a,
	.footer-refined .footer-contact address,
	.footer-refined .footer-identity p {
		color: black;
	}
	.footer-refined .footer-wordmark {
		display: none;
	}
}
