/**
 * About, What We Do and Team sections.
 * Phones: one column. 768–1199px: two columns. 1200px+: artboard grid (--hm-u).
 */

/* Shared headings ------------------------------------------------------ */

.hm-eyebrow {
	margin: 0 0 6px;
	font-family: var(--hm-font-heading);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #3b86d6;
}

.hm-section-title {
	margin: 0;
	font-family: var(--hm-font-heading);
	font-size: clamp(28px, 2.4vw + 18px, 44px);
	font-weight: 700;
	line-height: 1.15;
	color: var(--hm-color-primary);
}

/* About ---------------------------------------------------------------- */

.hm-about {
	/* The veil softens the grey shapes in the background artwork. */
	background:
		linear-gradient(rgb(246 250 255 / 0.55), rgb(246 250 255 / 0.55)),
		#f6faff var(--hm-section-bg, none) center / cover no-repeat;
	color: var(--hm-color-text);
}

.hm-about__inner {
	display: grid;
	gap: 28px;
	padding-block: 56px;
}

.hm-about__subtitle {
	margin: 12px 0 0;
	font-family: var(--hm-font-heading);
	font-size: 19px;
	font-weight: 500;
	line-height: 1.35;
	color: var(--hm-color-highlight);
}

.hm-about__text {
	margin: 14px 0 0;
	font-size: 16.5px;
	line-height: 1.5;
}

.hm-about__btn {
	margin-top: 24px;
}

.hm-about__photo {
	margin: 0;
	overflow: hidden;
	border-radius: 18px;
	box-shadow: 0 24px 48px -28px rgb(10 47 96 / 0.45);
}

.hm-about__photo img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 591 / 415;
	object-fit: cover;
}

.hm-about__features {
	margin: 0;
	padding: 8px 22px;
	list-style: none;
	border-radius: 18px;
	background: rgb(228 239 252 / 0.75);
}

.hm-feature {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 0;
}

.hm-feature + .hm-feature {
	border-top: 1px solid rgb(10 47 96 / 0.08);
}

.hm-feature__icon,
.hm-area__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: #d7e8fb;
	color: var(--hm-color-highlight);
}

.hm-feature__icon svg,
.hm-area__icon svg {
	width: 48%;
	height: auto;
}

.hm-feature__title {
	margin: 0;
	font-family: var(--hm-font-heading);
	font-size: 19px;
	font-weight: 700;
	color: var(--hm-color-primary);
}

.hm-feature__text {
	margin: 4px 0 0;
	font-size: 15.5px;
}

/* What We Do ------------------------------------------------------------ */

.hm-wwd {
	padding-block: 56px;
	background: #f4f8fe var(--hm-section-bg, none) center / cover no-repeat;
	color: var(--hm-color-text);
}

.hm-wwd__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px 32px;
	margin-bottom: 28px;
}

.hm-wwd__text {
	margin: 10px 0 0;
	font-size: 16.5px;
	line-height: 1.45;
}

.hm-wwd__all {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	margin-top: 8px;
	font-family: var(--hm-font-heading);
	font-size: 16px;
	font-weight: 600;
	color: var(--hm-color-highlight);
	text-decoration: none;
}

.hm-wwd__all span {
	padding-bottom: 4px;
	border-bottom: 2px solid currentColor;
}

.hm-wwd__all svg {
	width: 16px;
	height: auto;
	transition: transform 0.2s ease;
}

.hm-wwd__all:hover svg {
	transform: translateX(4px);
}

.hm-wwd__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 18px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-area__link {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border-radius: 14px;
	background: var(--hm-color-white);
	box-shadow: 0 14px 30px -18px rgb(10 47 96 / 0.35), 0 0 0 1px rgb(10 47 96 / 0.05);
	color: inherit;
	text-decoration: none;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hm-area__link:hover {
	transform: translateY(-4px);
	box-shadow: 0 22px 40px -18px rgb(10 47 96 / 0.45), 0 0 0 1px rgb(10 47 96 / 0.06);
}

.hm-area__link:focus-visible {
	outline: 3px solid var(--hm-color-highlight);
	outline-offset: 3px;
}

.hm-area__media {
	display: block;
	aspect-ratio: 415 / 122;
	overflow: hidden;
	background: linear-gradient(135deg, #cfe3fa, #8fbaea);
}

.hm-area__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.hm-area__link:hover .hm-area__img {
	transform: scale(1.05);
}

.hm-area__icon {
	position: absolute;
	left: 20px;
	top: calc((100% - 0px) * 0);
	margin-top: 0;
	box-shadow: 0 0 0 7px var(--hm-color-white);
	transform: translateY(-34px);
}

.hm-area__body {
	display: block;
	padding: 16px 18px 20px 100px;
	min-height: 96px;
}

.hm-area__title {
	display: block;
	font-family: var(--hm-font-heading);
	font-size: 18px;
	font-weight: 700;
	color: var(--hm-color-primary);
}

.hm-area__text {
	display: block;
	margin-top: 4px;
	font-size: 15px;
	line-height: 1.4;
}

/* Icon sits on the image/body seam. */
.hm-area__media + .hm-area__icon {
	position: relative;
	top: auto;
	left: auto;
	margin: 0 0 -64px 18px;
	transform: translateY(-14px);
}

/* Team ------------------------------------------------------------------ */

.hm-team {
	position: relative;
	overflow: hidden;
	background: #0a3f8f;
	color: var(--hm-color-white);
	isolation: isolate;
}

.hm-team::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(180deg, rgb(8 74 170 / 0.92) 0%, rgb(6 60 150 / 0.8) 55%, rgb(5 45 115 / 0.65) 100%),
		var(--hm-section-bg, none) center bottom / cover no-repeat;
}

/* Soft waves top and bottom. */
.hm-team::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: -1;
	height: 70px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 80' preserveAspectRatio='none'%3E%3Cpath fill='%2390bff0' fill-opacity='.55' d='M0 40C240 0 480 70 760 50s520-50 680-20v50H0z'/%3E%3Cpath fill='%23ffffff' d='M0 60c260-30 520 25 780 15s480-40 660-25v30H0z'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.hm-team__inner {
	display: grid;
	gap: 36px;
	padding-block: 64px 96px;
}

.hm-team .hm-eyebrow {
	color: #d6e7fb;
}

.hm-team .hm-section-title {
	color: var(--hm-color-white);
}

.hm-team__text {
	margin: 14px 0 0;
	font-size: 17px;
	line-height: 1.5;
	color: #e7f0fb;
}

.hm-team__btn {
	margin-top: 24px;
	border-color: var(--hm-color-white);
}

.hm-team__map {
	position: relative;
	max-width: 420px;
	margin-inline: auto;
}

.hm-team__map img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 18px 30px rgb(0 20 60 / 0.35));
}

.hm-team__tagline {
	position: absolute;
	right: -4%;
	bottom: 6%;
	margin: 0;
	font-family: var(--hm-font-script);
	font-size: 24px;
	line-height: 1.15;
	color: var(--hm-color-white);
	transform: skewY(-12deg) skewX(-8deg);
	transform-origin: 100% 100%;
	pointer-events: none;
}

.hm-team__tagline span {
	display: block;
	margin-left: calc(var(--hm-line, 0) * -14px);
	text-align: right;
}

.hm-team__col-title {
	margin: 0;
	font-family: var(--hm-font-heading);
	font-size: 28px;
	font-weight: 700;
	color: var(--hm-color-white);
}

.hm-team__col-text {
	margin: 6px 0 18px;
	font-size: 15.5px;
	color: #dbe8f8;
}

.hm-select {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.hm-select select {
	width: 100%;
	height: 54px;
	padding: 0 44px 0 52px;
	border: 0;
	border-radius: 10px;
	background: var(--hm-color-white);
	font: inherit;
	font-family: var(--hm-font-heading);
	font-size: 16px;
	color: var(--hm-color-nav);
	appearance: none;
	cursor: pointer;
}

.hm-select select:disabled {
	cursor: not-allowed;
	color: #7d8ea6;
}

.hm-select select:focus-visible {
	outline: 3px solid #8fc1ff;
	outline-offset: 2px;
}

.hm-select__icon {
	position: absolute;
	left: 20px;
	width: 18px;
	height: 20px;
	color: var(--hm-color-highlight);
	pointer-events: none;
}

.hm-select__chevron {
	position: absolute;
	right: 22px;
	width: 12px;
	height: auto;
	color: var(--hm-color-nav);
	pointer-events: none;
}

.hm-team__search {
	width: 100%;
	margin-top: 8px;
	border: 0;
	background: linear-gradient(90deg, #1278e6, #1e8cf5);
	color: var(--hm-color-white);
	box-shadow: 0 14px 28px -12px rgb(0 40 120 / 0.6);
}

.hm-team__search:hover {
	background: linear-gradient(90deg, #0f68cc, #1278e6);
}

.hm-leaders {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-leader {
	display: flex;
	align-items: center;
	gap: 22px;
	padding: 14px 0;
}

.hm-leader + .hm-leader {
	border-top: 1px solid rgb(255 255 255 / 0.18);
}

.hm-leader__avatar {
	display: grid;
	flex: none;
	place-items: center;
	width: 64px;
	height: 64px;
	overflow: hidden;
	border: 3px solid rgb(255 255 255 / 0.85);
	border-radius: 50%;
	background: #1666c9;
	color: var(--hm-color-white);
}

.hm-leader__avatar svg {
	width: 52%;
	height: auto;
}

.hm-leader__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hm-leader__role {
	display: block;
	font-family: var(--hm-font-heading);
	font-size: 18px;
	font-weight: 700;
}

.hm-leader__name {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	color: #dbe8f8;
}

/* Tablets & small laptops ---------------------------------------------- */

@media (min-width: 600px) {
	.hm-wwd__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.hm-about__inner {
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	.hm-about__features {
		grid-column: 1 / -1;
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 18px;
		padding: 18px;
	}

	.hm-feature + .hm-feature {
		border-top: 0;
	}

	.hm-team__inner {
		grid-template-columns: 1fr 1fr;
		gap: 40px 48px;
		align-items: start;
	}
}

@media (min-width: 992px) {
	.hm-wwd__grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* Artboard (1200px+) ----------------------------------------------------- */

@media (min-width: 1200px) {
	.hm-eyebrow {
		margin-bottom: calc(6 * var(--hm-u));
		font-size: max(13px, calc(22 * var(--hm-u)));
	}

	.hm-section-title {
		font-size: calc(48 * var(--hm-u));
	}

	/* About: text | photo | features */
	.hm-about .hm-container {
		padding-inline: calc(90 * var(--hm-u)) calc(60 * var(--hm-u));
	}

	.hm-about__inner {
		grid-template-columns: calc(655 * var(--hm-u)) calc(591 * var(--hm-u)) minmax(0, 1fr);
		column-gap: calc(42 * var(--hm-u));
		align-items: center;
		padding-block: calc(132 * var(--hm-u)) calc(140 * var(--hm-u));
	}

	.hm-about .hm-section-title {
		font-size: calc(46 * var(--hm-u));
	}

	.hm-about__subtitle {
		margin-top: calc(18 * var(--hm-u));
		font-size: max(15px, calc(24.5 * var(--hm-u)));
		line-height: calc(33 * var(--hm-u));
	}

	.hm-about__text {
		margin-top: calc(16 * var(--hm-u));
		font-size: max(14px, calc(22.5 * var(--hm-u)));
		line-height: calc(33 * var(--hm-u));
	}

	.hm-about__btn {
		min-width: calc(271 * var(--hm-u));
		min-height: max(44px, calc(68 * var(--hm-u)));
		margin-top: calc(26 * var(--hm-u));
		font-size: max(14px, calc(22 * var(--hm-u)));
	}

	.hm-about__photo {
		height: calc(415 * var(--hm-u));
		border-radius: calc(20 * var(--hm-u));
	}

	.hm-about__photo img {
		aspect-ratio: auto;
	}

	.hm-about__features {
		margin-left: calc(-4 * var(--hm-u));
		padding: calc(12 * var(--hm-u)) calc(28 * var(--hm-u));
		border-radius: calc(20 * var(--hm-u));
	}

	.hm-feature {
		gap: calc(26 * var(--hm-u));
		padding-block: calc(22 * var(--hm-u));
	}

	.hm-feature__icon {
		width: calc(96 * var(--hm-u));
		height: calc(96 * var(--hm-u));
	}

	.hm-feature__title {
		font-size: max(15px, calc(25 * var(--hm-u)));
	}

	.hm-feature__text {
		margin-top: calc(8 * var(--hm-u));
		font-size: max(13px, calc(20.5 * var(--hm-u)));
	}

	/* What We Do: 4 × 2 cards */
	.hm-wwd {
		padding-block: calc(24 * var(--hm-u)) calc(70 * var(--hm-u));
	}

	.hm-wwd .hm-container {
		padding-inline: calc(141 * var(--hm-u));
	}

	.hm-wwd .hm-eyebrow {
		font-size: max(14px, calc(26 * var(--hm-u)));
	}

	.hm-wwd .hm-section-title {
		font-size: calc(44 * var(--hm-u));
	}

	.hm-wwd__head {
		margin-bottom: calc(30 * var(--hm-u));
	}

	.hm-wwd__text {
		margin-top: calc(14 * var(--hm-u));
		font-size: max(14px, calc(20.5 * var(--hm-u)));
		line-height: calc(28 * var(--hm-u));
	}

	.hm-wwd__all {
		margin: calc(36 * var(--hm-u)) calc(8 * var(--hm-u)) 0 0;
		font-size: max(13px, calc(19 * var(--hm-u)));
	}

	.hm-wwd__grid {
		column-gap: calc(31 * var(--hm-u));
		row-gap: calc(22 * var(--hm-u));
	}

	.hm-area__link {
		border-radius: calc(14 * var(--hm-u));
	}

	.hm-area__icon {
		width: calc(82 * var(--hm-u));
		height: calc(82 * var(--hm-u));
		box-shadow: 0 0 0 calc(8 * var(--hm-u)) var(--hm-color-white);
	}

	.hm-area__media + .hm-area__icon {
		margin: 0 0 calc(-82 * var(--hm-u)) calc(20 * var(--hm-u));
		transform: translateY(calc(-8 * var(--hm-u)));
	}

	.hm-area__body {
		min-height: calc(111 * var(--hm-u));
		padding: calc(18 * var(--hm-u)) calc(16 * var(--hm-u)) calc(18 * var(--hm-u)) calc(122 * var(--hm-u));
	}

	.hm-area__title {
		font-size: max(14px, calc(21 * var(--hm-u)));
	}

	.hm-area__text {
		margin-top: calc(8 * var(--hm-u));
		font-size: max(13px, calc(18 * var(--hm-u)));
		line-height: calc(24 * var(--hm-u));
	}

	/* Team: intro | map | finder | leaders */
	.hm-team .hm-container {
		padding-inline: calc(80 * var(--hm-u)) calc(40 * var(--hm-u));
	}

	.hm-team__inner {
		grid-template-columns: calc(500 * var(--hm-u)) calc(500 * var(--hm-u)) calc(421 * var(--hm-u)) minmax(0, 1fr);
		column-gap: 0;
		align-items: start;
		padding-block: calc(150 * var(--hm-u)) calc(170 * var(--hm-u));
	}

	.hm-team::after {
		height: calc(130 * var(--hm-u));
	}

	.hm-team .hm-eyebrow {
		font-size: max(13px, calc(21 * var(--hm-u)));
	}

	.hm-team .hm-section-title {
		margin-top: calc(10 * var(--hm-u));
		font-size: calc(44 * var(--hm-u));
	}

	.hm-team__text {
		margin-top: calc(18 * var(--hm-u));
		font-size: max(14px, calc(23 * var(--hm-u)));
		line-height: calc(34 * var(--hm-u));
	}

	.hm-team__btn {
		min-width: calc(323 * var(--hm-u));
		min-height: max(44px, calc(68 * var(--hm-u)));
		margin-top: calc(28 * var(--hm-u));
		font-size: max(14px, calc(21 * var(--hm-u)));
	}

	.hm-team__map {
		max-width: none;
		margin: calc(-30 * var(--hm-u)) 0 0 calc(-10 * var(--hm-u));
		width: calc(440 * var(--hm-u));
	}

	.hm-team__tagline {
		right: calc(-120 * var(--hm-u));
		bottom: 0;
		font-size: calc(34 * var(--hm-u));
	}

	.hm-team__tagline span {
		margin-left: calc(var(--hm-line, 0) * -20 * var(--hm-u));
	}

	.hm-team__finder,
	.hm-team__leaders {
		align-self: stretch;
		padding-left: calc(40 * var(--hm-u));
		border-left: 1px solid rgb(255 255 255 / 0.18);
	}

	.hm-team__leaders {
		padding-left: calc(42 * var(--hm-u));
		margin-left: calc(40 * var(--hm-u));
	}

	.hm-team__col-title {
		font-size: max(18px, calc(36 * var(--hm-u)));
	}

	.hm-team__col-text {
		margin: calc(10 * var(--hm-u)) 0 calc(28 * var(--hm-u));
		font-size: max(13px, calc(19 * var(--hm-u)));
	}

	.hm-select {
		margin-bottom: calc(12 * var(--hm-u));
	}

	.hm-select select {
		height: calc(60 * var(--hm-u));
		min-height: 40px;
		padding-left: calc(64 * var(--hm-u));
		font-size: max(13px, calc(18 * var(--hm-u)));
	}

	.hm-select__icon {
		left: calc(24 * var(--hm-u));
		width: calc(22 * var(--hm-u));
		height: calc(22 * var(--hm-u));
	}

	.hm-team__search {
		min-height: max(44px, calc(66 * var(--hm-u)));
		margin-top: calc(10 * var(--hm-u));
		font-size: max(14px, calc(21 * var(--hm-u)));
	}

	.hm-leader {
		gap: calc(26 * var(--hm-u));
		padding-block: calc(18 * var(--hm-u));
	}

	.hm-leader:first-child {
		padding-top: 0;
	}

	.hm-leader__avatar {
		width: calc(72 * var(--hm-u));
		height: calc(72 * var(--hm-u));
	}

	.hm-leader__role {
		font-size: max(14px, calc(20 * var(--hm-u)));
	}

	.hm-leader__name {
		margin-top: calc(8 * var(--hm-u));
		font-size: max(13px, calc(19 * var(--hm-u)));
	}
}

/* Activities ------------------------------------------------------------ */

.hm-activities {
	padding-block: 56px;
	background: #f6faff var(--hm-section-bg, none) center / cover no-repeat;
	color: var(--hm-color-text);
}

.hm-activities__grid {
	display: grid;
	gap: 20px;
}

.hm-act-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 18px;
	border-radius: 14px;
	background: var(--hm-color-white);
	box-shadow: 0 16px 36px -22px rgb(10 47 96 / 0.35), 0 0 0 1px rgb(10 47 96 / 0.05);
}

.hm-act-card__head {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	margin-bottom: 16px;
}

.hm-act-card__icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background: #e2eefc;
	color: var(--hm-color-highlight);
}

.hm-act-card__icon svg {
	width: 52%;
	height: auto;
}

.hm-act-card__heading {
	flex: 1;
	margin: 0;
	font-family: var(--hm-font-heading);
	font-size: 22px;
	font-weight: 700;
	color: var(--hm-color-primary);
}

.hm-act-card__more {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--hm-font-heading);
	font-size: 14px;
	font-weight: 500;
	color: var(--hm-color-highlight);
	text-decoration: none;
	white-space: nowrap;
}

.hm-act-card__more svg {
	width: 14px;
	height: auto;
	transition: transform 0.2s ease;
}

.hm-act-card__more:hover svg {
	transform: translateX(3px);
}

.hm-ig-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-ig-grid a {
	display: block;
	overflow: hidden;
	border-radius: 6px;
}

.hm-ig-grid img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.hm-ig-grid a:hover img {
	transform: scale(1.06);
	opacity: 0.9;
}

.hm-act-card__foot {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: 22px;
}

.hm-ig-logo {
	flex: none;
	width: 44px;
	height: 44px;
}

.hm-act-card__media {
	display: block;
	width: 100%;
	overflow: hidden;
	border-radius: 10px;
	background: linear-gradient(135deg, #cfe3fa, #8fbaea);
}

.hm-act-card__media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 531 / 231;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.hm-act-card__media:hover img {
	transform: scale(1.04);
}

.hm-act-card__title {
	margin: 16px 0 0;
	font-family: var(--hm-font-heading);
	font-size: 21px;
	font-weight: 700;
}

.hm-act-card__title a {
	color: var(--hm-color-primary);
	text-decoration: none;
}

.hm-act-card__title a:hover {
	text-decoration: underline;
}

.hm-act-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 24px;
	margin: 8px 0 0;
	font-size: 14.5px;
}

.hm-act-card__meta span {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.hm-act-card__meta span + span {
	position: relative;
}

.hm-act-card__meta span + span::before {
	content: "";
	position: absolute;
	left: -12px;
	width: 1px;
	height: 14px;
	background: currentColor;
	opacity: 0.4;
}

.hm-act-card__meta svg {
	width: 16px;
	height: 16px;
	color: var(--hm-color-highlight);
}

.hm-act-card__text {
	margin: 10px 0 0;
	font-size: 15.5px;
	line-height: 1.5;
}

.hm-act-card__btn {
	margin-top: auto;
}

.hm-act-card__text + .hm-act-card__btn,
.hm-act-card__meta + .hm-act-card__btn {
	margin-top: 18px;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.hm-activities__grid {
		grid-template-columns: 1fr 1fr;
	}

	.hm-act-card--ig {
		grid-column: 1 / -1;
	}

	.hm-ig-grid {
		grid-template-columns: repeat(6, 1fr);
	}
}

@media (min-width: 1200px) {
	.hm-activities {
		padding-block: calc(26 * var(--hm-u)) calc(50 * var(--hm-u));
	}

	.hm-activities .hm-container {
		padding-inline: calc(89 * var(--hm-u));
	}

	.hm-activities__head {
		padding-left: calc(18 * var(--hm-u));
		margin-bottom: calc(22 * var(--hm-u));
	}

	.hm-activities .hm-eyebrow {
		font-size: max(13px, calc(23 * var(--hm-u)));
	}

	.hm-activities .hm-section-title {
		font-size: calc(46 * var(--hm-u));
	}

	.hm-activities__grid {
		grid-template-columns: 616fr 566fr 600fr;
		gap: calc(20 * var(--hm-u));
	}

	.hm-act-card {
		padding: calc(17 * var(--hm-u)) calc(18 * var(--hm-u)) calc(30 * var(--hm-u));
		border-radius: calc(14 * var(--hm-u));
	}

	.hm-act-card__head {
		gap: calc(14 * var(--hm-u));
		margin-bottom: calc(22 * var(--hm-u));
	}

	.hm-act-card__icon {
		width: calc(52 * var(--hm-u));
		height: calc(52 * var(--hm-u));
	}

	.hm-act-card__heading {
		font-size: max(16px, calc(27 * var(--hm-u)));
	}

	.hm-act-card__more {
		gap: calc(18 * var(--hm-u));
		margin-right: calc(10 * var(--hm-u));
		font-size: max(12px, calc(16 * var(--hm-u)));
	}

	.hm-ig-grid {
		gap: calc(7 * var(--hm-u));
	}

	.hm-ig-grid img {
		aspect-ratio: 145 / 100;
	}

	.hm-act-card__foot {
		gap: calc(12 * var(--hm-u));
		margin-top: calc(24 * var(--hm-u));
	}

	.hm-ig-logo {
		width: calc(52 * var(--hm-u));
		height: calc(52 * var(--hm-u));
	}

	.hm-act-card__title {
		margin-top: calc(20 * var(--hm-u));
		font-size: max(16px, calc(25 * var(--hm-u)));
	}

	.hm-act-card__meta {
		margin-top: calc(10 * var(--hm-u));
		font-size: max(12px, calc(17 * var(--hm-u)));
	}

	.hm-act-card__text {
		margin-top: calc(12 * var(--hm-u));
		font-size: max(13px, calc(18.5 * var(--hm-u)));
		line-height: calc(25 * var(--hm-u));
	}

	.hm-act-card__btn {
		min-height: max(40px, calc(48 * var(--hm-u)));
		min-width: 0;
		padding-inline: calc(38 * var(--hm-u));
		font-size: max(13px, calc(17 * var(--hm-u)));
	}

	.hm-act-card__text + .hm-act-card__btn,
	.hm-act-card__meta + .hm-act-card__btn {
		margin-top: calc(14 * var(--hm-u));
	}
}

/* News ------------------------------------------------------------------ */

.hm-news {
	overflow: hidden;
	background: #f5f9ff var(--hm-section-bg, none) center / cover no-repeat;
	color: var(--hm-color-text);
}

.hm-news__inner {
	position: relative;
	display: grid;
	gap: 28px;
	padding-block: 56px;
}

.hm-news__eyebrow {
	margin: 0 0 10px;
	font-family: var(--hm-font-heading);
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--hm-color-highlight);
}

.hm-news__title {
	margin: 0;
	font-family: var(--hm-font-heading);
	font-size: clamp(32px, 3vw + 20px, 58px);
	font-weight: 700;
	line-height: 1.08;
	color: #0b2a5e;
}

.hm-news__title span {
	display: block;
}

.hm-news__title-hl {
	color: var(--hm-color-highlight);
}

.hm-news__text {
	max-width: 30em;
	margin: 18px 0 0;
	font-size: 16.5px;
	line-height: 1.5;
}

.hm-news__btn {
	margin-top: 26px;
	background: #0b6bd6;
}

.hm-news__art {
	display: none;
}

.hm-news__featured {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 420px;
	overflow: hidden;
	border-radius: 14px;
	box-shadow: 0 30px 60px -30px rgb(10 47 96 / 0.5);
}

.hm-news__featured-media {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #cfe3fa, #8fbaea);
}

.hm-news__featured-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 20%;
}

.hm-news__badge {
	position: absolute;
	top: 18px;
	left: 18px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 9px 18px;
	border-radius: var(--hm-radius-pill);
	background: var(--hm-color-white);
	font-family: var(--hm-font-heading);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--hm-color-highlight);
	box-shadow: 0 8px 20px -10px rgb(10 47 96 / 0.4);
}

.hm-news__badge svg {
	width: 16px;
	height: 16px;
}

.hm-news__featured-body {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	column-gap: 16px;
	margin: 0 12px 12px;
	padding: 18px 20px;
	border-radius: 12px;
	background: var(--hm-color-white);
}

.hm-news__featured-body .hm-news__date,
.hm-news__featured-body .hm-news__excerpt {
	grid-column: 1 / -1;
}

.hm-news__date {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 14px;
	color: var(--hm-color-text);
}

.hm-news__date svg {
	width: 16px;
	height: 16px;
	color: var(--hm-color-nav);
}

.hm-news__featured-title {
	margin: 8px 0 0;
	font-family: var(--hm-font-heading);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
}

.hm-news__featured-title a {
	color: #0b2a5e;
	text-decoration: none;
}

.hm-news__featured-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.hm-news__excerpt {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.45;
}

.hm-news__go {
	display: grid;
	flex: none;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: #e6f0fd;
	color: var(--hm-color-highlight);
	transition: background-color 0.2s ease, color 0.2s ease;
}

.hm-news__go svg {
	width: 40%;
	height: auto;
}

.hm-news__featured:hover .hm-news__go,
.hm-news-item__link:hover .hm-news__go {
	background: var(--hm-color-highlight);
	color: var(--hm-color-white);
}

/* List pages: stacked in one cell, cross-fade. */
.hm-news__pages {
	display: grid;
}

.hm-news__page,
.hm-pager__page {
	display: grid;
	grid-area: 1 / 1;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	transform: translateX(16px);
	transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s linear 0.4s;
}

.hm-news__page.is-active,
.hm-pager__page.is-active {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 0.4s ease, transform 0.4s ease, visibility 0s;
}

.hm-news-item__link {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px;
	border-radius: 12px;
	background: var(--hm-color-white);
	box-shadow: 0 14px 30px -20px rgb(10 47 96 / 0.4), 0 0 0 1px rgb(10 47 96 / 0.04);
	color: inherit;
	text-decoration: none;
	transition: transform 0.2s ease;
}

.hm-news-item__link:hover {
	transform: translateY(-2px);
}

.hm-news-item__thumb {
	flex: none;
	width: 120px;
	aspect-ratio: 175 / 110;
	overflow: hidden;
	border-radius: 8px;
	background: #cfe3fa;
}

.hm-news-item__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hm-news-item__body {
	flex: 1;
	min-width: 0;
}

.hm-news-item__title {
	display: block;
	margin-top: 6px;
	font-family: var(--hm-font-heading);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
	color: #0b2a5e;
}

.hm-news__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 22px;
	margin-top: 24px;
}

.hm-news__nav {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #e3eefc;
	color: var(--hm-color-highlight);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.hm-news__nav:hover {
	background: var(--hm-color-highlight);
	color: var(--hm-color-white);
}

.hm-news__nav svg {
	width: 40%;
	height: auto;
}

.hm-news__nav--prev svg {
	transform: rotate(180deg);
}

.hm-news__dots {
	display: flex;
	gap: 12px;
}

.hm-news__dot {
	width: 12px;
	height: 12px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #c7dcf6;
	cursor: pointer;
}

.hm-news__dot.is-active {
	background: var(--hm-color-highlight);
}

.hm-news__nav:focus-visible,
.hm-news__dot:focus-visible,
.hm-news-item__link:focus-visible,
.hm-news__featured-title a:focus-visible {
	outline: 3px solid var(--hm-color-highlight);
	outline-offset: 3px;
}

@media (min-width: 768px) and (max-width: 1199px) {
	.hm-news__inner {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}

	.hm-news__intro {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1200px) {
	.hm-news .hm-container {
		padding-inline: calc(105 * var(--hm-u)) calc(58 * var(--hm-u));
	}

	.hm-news__inner {
		grid-template-columns: calc(470 * var(--hm-u)) calc(268 * var(--hm-u)) calc(548 * var(--hm-u)) minmax(0, 1fr);
		column-gap: 0;
		align-items: start;
		padding-block: calc(100 * var(--hm-u)) calc(84 * var(--hm-u));
	}

	/* The intro may run into the artwork column, as in the design. */
	.hm-news__intro {
		position: relative;
		z-index: 1;
		grid-column: 1 / 3;
		grid-row: 1;
		padding-top: calc(56 * var(--hm-u));
	}

	.hm-news__title span {
		white-space: nowrap;
	}

	.hm-news__art {
		grid-column: 2;
		grid-row: 1;
	}

	.hm-news__eyebrow {
		margin-bottom: calc(18 * var(--hm-u));
		font-size: max(12px, calc(18 * var(--hm-u)));
	}

	.hm-news__title {
		font-size: calc(58 * var(--hm-u));
		line-height: calc(62 * var(--hm-u));
	}

	.hm-news__text {
		max-width: calc(380 * var(--hm-u));
		margin-top: calc(18 * var(--hm-u));
		font-size: max(13px, calc(20.5 * var(--hm-u)));
		line-height: calc(26 * var(--hm-u));
	}

	.hm-news__btn {
		min-width: calc(241 * var(--hm-u));
		min-height: max(42px, calc(64 * var(--hm-u)));
		margin-top: calc(26 * var(--hm-u));
		font-size: max(14px, calc(20 * var(--hm-u)));
	}

	.hm-news__art {
		position: relative;
		display: block;
		align-self: stretch;
	}

	.hm-news__megaphone {
		position: absolute;
		top: calc(126 * var(--hm-u));
		left: calc(81 * var(--hm-u));
		display: grid;
		place-items: center;
		width: calc(144 * var(--hm-u));
		height: calc(144 * var(--hm-u));
		border-radius: 50%;
		background: radial-gradient(circle, #dcebfd 0%, #c8def9 100%);
		color: var(--hm-color-highlight);
		box-shadow: 0 0 0 calc(14 * var(--hm-u)) rgb(205 225 250 / 0.45);
	}

	.hm-news__megaphone svg {
		width: 50%;
		height: auto;
		transform: rotate(-12deg);
	}

	.hm-news__paper {
		position: absolute;
		top: calc(270 * var(--hm-u));
		left: calc(-135 * var(--hm-u));
		width: calc(430 * var(--hm-u));
		max-width: none;
		height: auto;
		filter: drop-shadow(0 20px 26px rgb(10 47 96 / 0.25));
	}

	.hm-news__featured {
		z-index: 1;
		height: calc(490 * var(--hm-u));
		min-height: 0;
		border-radius: calc(14 * var(--hm-u));
	}

	.hm-news__badge {
		top: calc(27 * var(--hm-u));
		left: calc(25 * var(--hm-u));
		gap: calc(12 * var(--hm-u));
		padding: calc(11 * var(--hm-u)) calc(22 * var(--hm-u));
		font-size: max(11px, calc(16 * var(--hm-u)));
	}

	.hm-news__badge svg {
		width: calc(20 * var(--hm-u));
		height: calc(20 * var(--hm-u));
	}

	.hm-news__featured-body {
		column-gap: calc(20 * var(--hm-u));
		margin: 0 calc(17 * var(--hm-u)) calc(14 * var(--hm-u));
		padding: calc(22 * var(--hm-u)) calc(26 * var(--hm-u)) calc(26 * var(--hm-u)) calc(30 * var(--hm-u));
		border-radius: calc(12 * var(--hm-u));
	}

	.hm-news__date {
		gap: calc(10 * var(--hm-u));
		font-size: max(11px, calc(15 * var(--hm-u)));
	}

	.hm-news__date svg {
		width: calc(18 * var(--hm-u));
		height: calc(18 * var(--hm-u));
	}

	.hm-news__featured-body .hm-news__date {
		font-size: max(12px, calc(18 * var(--hm-u)));
	}

	.hm-news__featured-title {
		margin-top: calc(12 * var(--hm-u));
		font-size: max(16px, calc(27 * var(--hm-u)));
		line-height: calc(32 * var(--hm-u));
	}

	.hm-news__excerpt {
		margin-top: calc(18 * var(--hm-u));
		font-size: max(12px, calc(18 * var(--hm-u)));
		line-height: calc(24 * var(--hm-u));
	}

	.hm-news__featured-body .hm-news__go {
		width: calc(52 * var(--hm-u));
		height: calc(52 * var(--hm-u));
	}

	.hm-news__list {
		margin-left: calc(25 * var(--hm-u));
	}

	.hm-news__page {
		gap: calc(14 * var(--hm-u));
	}

	.hm-news-item__link {
		gap: calc(22 * var(--hm-u));
		min-height: calc(139 * var(--hm-u));
		padding: calc(15 * var(--hm-u)) calc(18 * var(--hm-u)) calc(15 * var(--hm-u)) calc(15 * var(--hm-u));
		border-radius: calc(12 * var(--hm-u));
	}

	.hm-news-item__thumb {
		width: calc(175 * var(--hm-u));
	}

	.hm-news-item__title {
		margin-top: calc(12 * var(--hm-u));
		font-size: max(13px, calc(18.5 * var(--hm-u)));
		line-height: calc(24 * var(--hm-u));
	}

	.hm-news-item__link .hm-news__go {
		width: calc(44 * var(--hm-u));
		height: calc(44 * var(--hm-u));
	}

	.hm-news__controls {
		gap: calc(28 * var(--hm-u));
		margin-top: calc(28 * var(--hm-u));
	}

	.hm-news__nav {
		width: calc(54 * var(--hm-u));
		height: calc(54 * var(--hm-u));
	}

	.hm-news__dots {
		gap: calc(13 * var(--hm-u));
	}
}

/* Stories ---------------------------------------------------------------- */

.hm-stories {
	position: relative;
	overflow: hidden;
	/* Veil keeps the top as white as the design behind the cards. */
	background:
		linear-gradient(rgb(248 251 255 / 0.5), rgb(248 251 255 / 0.5)),
		#f5f9ff var(--hm-section-bg, none) center top / cover no-repeat;
	color: var(--hm-color-text);
}

/*
 * Layered wave into the donation section: two soft blue bands behind a
 * front wave in the donation background colour.
 */
.hm-stories::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	z-index: 1;
	height: clamp(44px, 5.5vw, 120px);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 120' preserveAspectRatio='none'%3E%3Cpath fill='%23bcd7f6' fill-opacity='.5' d='M0 38C240 112 520 0 800 46s460 52 640-22v96H0z'/%3E%3Cpath fill='%23dbe9fb' fill-opacity='.9' d='M0 70c280-50 600 34 900-8s400-28 540-2v60H0z'/%3E%3Cpath fill='%23f7fbff' d='M0 92c300-40 660 26 980-6s340-20 460-4v38H0z'/%3E%3Cpath fill='none' stroke='%23fff' stroke-opacity='.9' stroke-width='2' d='M0 92c300-40 660 26 980-6s340-20 460-4'/%3E%3C/svg%3E") center bottom / 100% 100% no-repeat;
	pointer-events: none;
}

.hm-stories__inner {
	display: grid;
	gap: 28px;
	padding-block: 56px 32px;
}

.hm-stories__text {
	max-width: 26em;
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 1.45;
}

.hm-stories__art {
	position: relative;
	display: none;
}

.hm-stories__page {
	grid-template-columns: 1fr;
	gap: 16px;
}

.hm-story__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 34%;
	grid-template-rows: 1fr auto;
	column-gap: 14px;
	height: 100%;
	margin: 0;
	padding: 16px 12px 16px 18px;
	border-radius: 14px;
	background: var(--hm-color-white);
	box-shadow: 0 18px 40px -26px rgb(10 47 96 / 0.4), 0 0 0 1px rgb(10 47 96 / 0.04);
}

.hm-story__quote {
	margin: 0;
}

.hm-story__mark {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 6px;
	background: #e3eefc;
	color: var(--hm-color-highlight);
}

.hm-story__mark svg {
	width: 55%;
	height: auto;
}

.hm-story__quote p {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.45;
	color: #24476f;
}

.hm-story__by {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 16px;
	padding-top: 16px;
	background: linear-gradient(var(--hm-color-highlight), var(--hm-color-highlight)) 0 0 / 40px 2px no-repeat;
	font-size: 14px;
}

.hm-story__by strong {
	display: block;
	font-family: var(--hm-font-heading);
	font-size: 16px;
	color: #0b2a5e;
}

.hm-story__avatar {
	display: grid;
	flex: none;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--hm-color-highlight);
	color: var(--hm-color-white);
}

.hm-story__avatar svg {
	width: 50%;
	height: auto;
}

.hm-story__photo {
	grid-column: 2;
	grid-row: 1 / 3;
	width: 100%;
	height: 100%;
	min-height: 220px;
	border-radius: 10px;
	object-fit: cover;
}

/* Call to action */
.hm-cta {
	background:
		linear-gradient(180deg, rgb(245 249 255 / 0.95) 0%, rgb(245 249 255 / 0) 45%),
		var(--hm-cta-bg, none) center bottom / cover no-repeat;
	text-align: center;
}

.hm-cta__inner {
	position: relative;
	z-index: 2;
	padding-block: 40px 140px;
}

.hm-cta .hm-news__eyebrow {
	margin-bottom: 10px;
}

.hm-cta__title {
	margin: 0;
	font-family: var(--hm-font-heading);
	font-size: clamp(26px, 2vw + 16px, 38px);
	font-weight: 700;
	line-height: 1.2;
	color: #0b2a5e;
}

.hm-cta__title span {
	color: var(--hm-color-highlight);
}

.hm-cta__text {
	margin: 10px 0 0;
	font-size: 15.5px;
}

.hm-cta__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px;
	margin-top: 22px;
}

.hm-cta__btn.hm-btn--primary {
	background: #0b6bd6;
}

@media (min-width: 768px) {
	.hm-stories__page {
		grid-template-columns: repeat(3, 1fr);
	}

	.hm-story__inner {
		grid-template-columns: 1fr;
		grid-template-rows: auto 1fr auto;
	}

	.hm-story__photo {
		grid-column: 1;
		grid-row: 1;
		height: 180px;
		min-height: 0;
		margin-bottom: 14px;
	}
}

@media (min-width: 1200px) {
	.hm-stories .hm-container {
		padding-inline: calc(108 * var(--hm-u)) calc(56 * var(--hm-u));
	}

	.hm-stories__inner {
		position: relative;
		z-index: 1;
		grid-template-columns: calc(312 * var(--hm-u)) calc(441 * var(--hm-u)) minmax(0, 1fr);
		column-gap: 0;
		align-items: start;
		padding-block: calc(72 * var(--hm-u)) 0;
	}

	.hm-stories__intro {
		position: relative;
		z-index: 1;
		grid-column: 1 / 3;
		grid-row: 1;
		margin-top: calc(-11 * var(--hm-u));
	}

	.hm-stories__intro .hm-news__eyebrow {
		margin-bottom: calc(7 * var(--hm-u));
		font-size: max(12px, calc(18 * var(--hm-u)));
		line-height: calc(27 * var(--hm-u));
		letter-spacing: 0.12em;
	}

	.hm-stories__title {
		font-size: calc(48 * var(--hm-u));
		line-height: calc(54 * var(--hm-u));
	}

	.hm-stories__title span {
		white-space: nowrap;
	}

	.hm-stories__text {
		max-width: calc(310 * var(--hm-u));
		margin-top: calc(13 * var(--hm-u));
		font-size: max(12px, calc(15.4 * var(--hm-u)));
		line-height: calc(23.5 * var(--hm-u));
	}

	.hm-stories__btn {
		min-width: calc(247 * var(--hm-u));
		min-height: max(40px, calc(60 * var(--hm-u)));
		margin-top: calc(17.5 * var(--hm-u));
		font-size: max(13px, calc(18 * var(--hm-u)));
	}

	.hm-stories__art {
		display: block;
		grid-column: 2;
		grid-row: 1;
		align-self: stretch;
	}

	.hm-stories__mark {
		position: absolute;
		top: calc(-20 * var(--hm-u));
		left: calc(-15 * var(--hm-u));
		width: calc(96 * var(--hm-u));
		height: auto;
		color: #cfe1f8;
	}

	.hm-stories__photo {
		position: absolute;
		top: calc(-42 * var(--hm-u));
		left: calc(-30 * var(--hm-u));
		width: calc(440 * var(--hm-u));
		max-width: none;
		height: auto;
	}

	.hm-stories__tagline {
		position: absolute;
		top: calc(250 * var(--hm-u));
		left: calc(270 * var(--hm-u));
		margin: 0;
		font-family: var(--hm-font-script);
		font-size: calc(32 * var(--hm-u));
		line-height: calc(40 * var(--hm-u));
		white-space: nowrap;
		color: #0b2a5e;
		transform: skewY(-14deg) skewX(-8deg);
		transform-origin: 0 0;
	}

	.hm-stories__tagline span {
		display: block;
	}

	.hm-stories__tagline svg {
		display: block;
		width: calc(130 * var(--hm-u));
		margin: calc(2 * var(--hm-u)) 0 0 calc(10 * var(--hm-u));
		color: var(--hm-color-highlight);
	}

	.hm-stories__slider {
		grid-column: 3;
		grid-row: 1;
	}

	.hm-stories__page {
		gap: calc(19 * var(--hm-u));
	}

	.hm-story__inner {
		grid-template-columns: minmax(0, 1fr) calc(120 * var(--hm-u));
		grid-template-rows: 1fr auto;
		column-gap: calc(12 * var(--hm-u));
		height: calc(329 * var(--hm-u));
		padding: calc(17 * var(--hm-u)) calc(12 * var(--hm-u)) calc(17 * var(--hm-u)) calc(20 * var(--hm-u));
		border-radius: calc(14 * var(--hm-u));
	}

	.hm-story__photo {
		grid-column: 2;
		grid-row: 1 / 3;
		height: 100%;
		margin: 0;
		border-radius: calc(10 * var(--hm-u));
	}

	.hm-story__mark {
		width: calc(34 * var(--hm-u));
		height: calc(34 * var(--hm-u));
	}

	.hm-story__quote p {
		margin-top: calc(18 * var(--hm-u));
		font-size: max(11px, calc(15.4 * var(--hm-u)));
		line-height: calc(23 * var(--hm-u));
	}

	.hm-story__by {
		gap: calc(14 * var(--hm-u));
		margin-top: 0;
		padding-top: calc(20 * var(--hm-u));
		background-size: calc(40 * var(--hm-u)) 2px;
		font-size: max(11px, calc(14.5 * var(--hm-u)));
	}

	.hm-story__by strong {
		font-size: max(12px, calc(16.5 * var(--hm-u)));
		margin-bottom: calc(4 * var(--hm-u));
	}

	.hm-story__avatar {
		width: calc(42 * var(--hm-u));
		height: calc(42 * var(--hm-u));
	}

	/* The design centres the controls under the first two cards. */
	.hm-stories__slider .hm-news__controls {
		margin: calc(18 * var(--hm-u)) calc(66 * var(--hm-u)) 0 0;
	}

	.hm-stories__slider .hm-news__nav {
		width: calc(52 * var(--hm-u));
		height: calc(52 * var(--hm-u));
	}

	/*
	 * The landscape band starts behind the slider controls (negative margin)
	 * so the fort and monument rise above the call-to-action text.
	 */
	.hm-cta {
		position: relative;
		margin-top: calc(-90 * var(--hm-u));
		background:
			linear-gradient(180deg, rgb(245 249 255 / 0.95) 0%, rgb(245 249 255 / 0) 30%),
			var(--hm-cta-bg, none) center 44% / cover no-repeat;
	}

	.hm-stories .hm-cta .hm-container {
		padding-inline: calc(108 * var(--hm-u)) calc(80 * var(--hm-u));
	}

	.hm-cta__inner {
		padding-block: calc(121 * var(--hm-u)) calc(84 * var(--hm-u));
	}

	.hm-cta .hm-news__eyebrow {
		margin-bottom: 0;
		font-size: max(11px, calc(16 * var(--hm-u)));
		line-height: calc(24 * var(--hm-u));
		letter-spacing: 0.15em;
	}

	.hm-cta__title {
		font-size: calc(36 * var(--hm-u));
		line-height: 1.2;
	}

	.hm-cta__text {
		margin-top: calc(5 * var(--hm-u));
		font-size: max(12px, calc(14.5 * var(--hm-u)));
		line-height: 1.5;
	}

	.hm-cta__actions {
		gap: calc(18 * var(--hm-u));
		margin-top: calc(17 * var(--hm-u));
	}

	.hm-cta__btn {
		min-width: 0;
		min-height: max(38px, calc(46 * var(--hm-u)));
		padding-inline: calc(28 * var(--hm-u));
		font-size: max(13px, calc(16.5 * var(--hm-u)));
	}
}

/* Donate ----------------------------------------------------------------- */

.hm-donate {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(rgb(248 251 255 / 0.45), rgb(248 251 255 / 0.45)),
		#f5f9ff var(--hm-section-bg, none) center / cover no-repeat;
	color: var(--hm-color-text);
}

.hm-donate__media {
	position: relative;
	aspect-ratio: 16 / 9;
}

.hm-donate__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 68% 30%;
}

.hm-donate__tagline {
	display: none;
}

.hm-donate__inner {
	display: grid;
	gap: 32px;
	padding-block: 44px 28px;
}

.hm-donate__text {
	max-width: 34em;
	margin: 16px 0 0;
	font-size: 16.5px;
	line-height: 1.45;
}

.hm-donate__focus {
	display: flex;
	flex-wrap: wrap;
	gap: 18px 0;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.hm-donate__focus li {
	position: relative;
	display: flex;
	flex-direction: column;
	flex: 1 1 33%;
	min-width: 120px;
	padding-right: 16px;
	font-size: 15px;
	line-height: 1.35;
}

.hm-donate__focus li + li::before,
.hm-donate__stats li + li::before {
	content: "";
	position: absolute;
	top: 50%;
	left: -1px;
	width: 1px;
	height: 60%;
	background: rgb(10 47 96 / 0.12);
	transform: translateY(-50%);
}

.hm-donate__focus li + li {
	padding-left: 16px;
}

.hm-donate__focus strong {
	margin-top: 10px;
	font-family: var(--hm-font-heading);
	font-weight: 600;
	color: #0b2a5e;
}

.hm-donate__icon,
.hm-donate__trust-icon {
	display: grid;
	flex: none;
	place-items: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #e3effd;
	color: var(--hm-color-highlight);
}

.hm-donate__icon svg,
.hm-donate__trust-icon svg {
	width: 50%;
	height: auto;
}

.hm-donate__stats {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 18px 0;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}

.hm-donate__stats li {
	position: relative;
	display: flex;
	flex-direction: column;
	padding-inline: 0 14px;
	font-size: 14px;
	color: #4a5d78;
}

.hm-donate__stats strong {
	font-family: var(--hm-font-heading);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.15;
	color: #0550a8;
}

/* Donation form */
.hm-donate__form {
	padding: 24px;
	border-radius: 16px;
	background: var(--hm-color-white);
	box-shadow: 0 30px 60px -30px rgb(10 47 96 / 0.35), 0 0 0 1px rgb(10 47 96 / 0.05);
}

.hm-donate__form-title {
	margin: 0 0 18px;
	font-family: var(--hm-font-heading);
	font-size: 22px;
	font-weight: 700;
	color: #0b2a5e;
}

.hm-donate__freq,
.hm-donate__amounts {
	display: grid;
	gap: 10px;
	margin-bottom: 18px;
}

.hm-donate__freq {
	grid-template-columns: 1fr 1fr;
}

.hm-donate__amounts {
	grid-template-columns: repeat(4, 1fr);
	margin-bottom: 14px;
}

.hm-donate__freq input,
.hm-donate__amounts input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.hm-donate__freq span,
.hm-donate__amounts span {
	display: grid;
	place-items: center;
	height: 44px;
	border-radius: 8px;
	font-family: var(--hm-font-heading);
	font-size: 16px;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.hm-donate__freq span {
	background: #f1f7fe;
	color: #0b2a5e;
}

.hm-donate__freq input:checked + span {
	background: #036ee7;
	color: var(--hm-color-white);
}

.hm-donate__amounts span {
	height: 48px;
	border: 1.5px solid #e3e9f1;
	color: #0b2a5e;
}

.hm-donate__amounts input:checked + span {
	border-color: #97c2fc;
	background: #e7f4fe;
	color: var(--hm-color-highlight);
	font-weight: 600;
}

.hm-donate__freq input:focus-visible + span,
.hm-donate__amounts input:focus-visible + span {
	outline: 3px solid var(--hm-color-highlight);
	outline-offset: 2px;
}

.hm-donate__custom {
	display: flex;
	align-items: stretch;
	height: 50px;
	margin-bottom: 18px;
	overflow: hidden;
	border: 1.5px solid #e3e9f1;
	border-radius: 8px;
}

.hm-donate__custom:focus-within {
	border-color: var(--hm-color-highlight);
}

.hm-donate__cur {
	display: grid;
	place-items: center;
	width: 46px;
	border-right: 1.5px solid #e3e9f1;
	background: #f8fafd;
	font-size: 17px;
	color: #0b2a5e;
}

.hm-donate__custom input {
	flex: 1;
	min-width: 0;
	padding: 0 16px;
	border: 0;
	font: inherit;
	font-size: 15.5px;
	color: #0b2a5e;
	outline: none;
}

.hm-donate__submit {
	width: 100%;
	min-height: 56px;
	border-radius: 12px;
	background: #0371ec;
	font-size: 18px;
}

.hm-donate__secure {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin: 16px 0 0;
	font-size: 13.5px;
	color: #3c4f6b;
}

.hm-donate__secure svg {
	width: 16px;
	height: 16px;
	color: var(--hm-color-highlight);
}

/* Trust bar */
.hm-donate__trust {
	display: grid;
	gap: 12px;
	margin: 0 0 40px;
	padding: 16px;
	list-style: none;
	border-radius: 16px;
	background: rgb(255 255 255 / 0.75);
	box-shadow: 0 16px 40px -28px rgb(10 47 96 / 0.4);
	backdrop-filter: blur(6px);
}

.hm-donate__trust li {
	position: relative;
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 14.5px;
}

.hm-donate__trust strong {
	display: block;
	font-family: var(--hm-font-heading);
	font-size: 16px;
	color: #0b2a5e;
}

.hm-donate__trust-icon {
	width: 52px;
	height: 52px;
	background: var(--hm-color-white);
	box-shadow: 0 8px 20px -10px rgb(10 47 96 / 0.35);
}

@media (min-width: 768px) and (max-width: 1199px) {
	.hm-donate__media {
		aspect-ratio: 21 / 8;
	}

	.hm-donate__inner {
		grid-template-columns: minmax(0, 1fr) 420px;
		align-items: start;
	}

	.hm-donate__trust {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	.hm-donate__media {
		position: absolute;
		top: 0;
		right: 0;
		width: calc(870 * var(--hm-u));
		height: calc(590 * var(--hm-u));
		aspect-ratio: auto;
		-webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 26%), linear-gradient(0deg, transparent 0%, #000 16%);
		-webkit-mask-composite: source-in;
		mask-image: linear-gradient(90deg, transparent 0%, #000 26%), linear-gradient(0deg, transparent 0%, #000 16%);
		mask-composite: intersect;
	}

	.hm-donate__media::after {
		content: "";
		position: absolute;
		inset: 0;
		background: linear-gradient(90deg, rgb(8 60 150 / 0) 62%, rgb(8 60 150 / 0.45) 100%);
	}

	.hm-donate__tagline {
		position: absolute;
		z-index: 1;
		top: calc(362 * var(--hm-u));
		left: calc(668 * var(--hm-u));
		display: block;
		margin: 0;
		font-family: var(--hm-font-script);
		font-size: calc(38 * var(--hm-u));
		line-height: calc(42 * var(--hm-u));
		white-space: nowrap;
		color: var(--hm-color-white);
		text-shadow: 0 2px 10px rgb(0 30 80 / 0.35);
		transform: skewY(-14deg) skewX(-8deg);
		transform-origin: 0 0;
	}

	.hm-donate__tagline span {
		display: block;
	}

	.hm-donate__tagline svg {
		display: block;
		width: calc(120 * var(--hm-u));
		margin: calc(2 * var(--hm-u)) 0 0 calc(20 * var(--hm-u));
		color: #6fb2ff;
	}

	.hm-donate .hm-container {
		padding-inline: calc(113 * var(--hm-u)) calc(60 * var(--hm-u));
	}

	.hm-donate__inner {
		position: relative;
		z-index: 1;
		grid-template-columns: calc(700 * var(--hm-u)) calc(502 * var(--hm-u));
		gap: 0;
		align-items: start;
		padding-block: calc(45 * var(--hm-u)) 0;
	}

	.hm-donate__intro .hm-news__eyebrow {
		margin-bottom: calc(10 * var(--hm-u));
		font-size: max(12px, calc(19.5 * var(--hm-u)));
		line-height: calc(28 * var(--hm-u));
		letter-spacing: 0.14em;
	}

	.hm-donate__title {
		font-size: calc(53 * var(--hm-u));
		line-height: calc(54 * var(--hm-u));
	}

	.hm-donate__title span {
		white-space: nowrap;
	}

	.hm-donate__text {
		max-width: calc(560 * var(--hm-u));
		margin-top: calc(14 * var(--hm-u));
		font-size: max(13px, calc(19.8 * var(--hm-u)));
		line-height: calc(26.5 * var(--hm-u));
	}

	.hm-donate__focus {
		flex-wrap: nowrap;
		margin-top: calc(24 * var(--hm-u));
	}

	.hm-donate__focus li {
		flex: none;
		min-width: 0;
		font-size: max(12px, calc(18 * var(--hm-u)));
		line-height: calc(24 * var(--hm-u));
	}

	.hm-donate__focus li:nth-child(1) { width: calc(154 * var(--hm-u)); }
	.hm-donate__focus li:nth-child(2) { width: calc(227 * var(--hm-u)); padding-left: calc(77 * var(--hm-u)); }
	.hm-donate__focus li:nth-child(3) { padding-left: calc(75 * var(--hm-u)); }

	.hm-donate__focus li + li::before {
		top: calc(36 * var(--hm-u));
		height: calc(60 * var(--hm-u));
		transform: none;
	}

	.hm-donate__focus strong {
		margin-top: calc(6 * var(--hm-u));
	}

	.hm-donate__icon {
		width: calc(77 * var(--hm-u));
		height: calc(77 * var(--hm-u));
	}

	.hm-donate__stats {
		display: flex;
		margin-top: calc(41 * var(--hm-u));
	}

	.hm-donate__stats li {
		padding: 0;
		font-size: max(12px, calc(15.3 * var(--hm-u)));
		white-space: nowrap;
	}

	.hm-donate__stats li:nth-child(1) { width: calc(152 * var(--hm-u)); }
	.hm-donate__stats li:nth-child(2) { width: calc(227 * var(--hm-u)); padding-left: calc(37 * var(--hm-u)); }
	.hm-donate__stats li:nth-child(3) { width: calc(158 * var(--hm-u)); padding-left: calc(36 * var(--hm-u)); }
	.hm-donate__stats li:nth-child(4) { padding-left: calc(37 * var(--hm-u)); }

	.hm-donate__stats li + li::before {
		top: 0;
		height: 100%;
		transform: none;
	}

	.hm-donate__stats strong {
		margin-bottom: calc(4 * var(--hm-u));
		font-size: calc(34 * var(--hm-u));
		line-height: calc(42 * var(--hm-u));
	}

	.hm-donate__form {
		margin: calc(107 * var(--hm-u)) 0 0 calc(60 * var(--hm-u));
		padding: calc(24 * var(--hm-u)) calc(29 * var(--hm-u)) calc(28 * var(--hm-u));
		border-radius: calc(16 * var(--hm-u));
	}

	.hm-donate__form-title {
		margin-bottom: calc(16 * var(--hm-u));
		font-size: max(16px, calc(27 * var(--hm-u)));
	}

	.hm-donate__freq {
		gap: calc(9 * var(--hm-u));
		margin-bottom: calc(20 * var(--hm-u));
	}

	.hm-donate__amounts {
		gap: calc(11.5 * var(--hm-u));
		margin-bottom: calc(15 * var(--hm-u));
	}

	.hm-donate__freq span {
		height: calc(45 * var(--hm-u));
		border-radius: calc(8 * var(--hm-u));
		font-size: max(13px, calc(17 * var(--hm-u)));
	}

	.hm-donate__amounts span {
		height: calc(51 * var(--hm-u));
		border-radius: calc(9 * var(--hm-u));
		font-size: max(13px, calc(17 * var(--hm-u)));
	}

	.hm-donate__custom {
		height: calc(52 * var(--hm-u));
		margin-bottom: calc(20 * var(--hm-u));
		border-radius: calc(9 * var(--hm-u));
	}

	.hm-donate__cur {
		width: calc(48 * var(--hm-u));
		font-size: max(13px, calc(18 * var(--hm-u)));
	}

	.hm-donate__custom input {
		padding-inline: calc(16 * var(--hm-u));
		font-size: max(12px, calc(16 * var(--hm-u)));
	}

	.hm-donate__submit {
		min-width: 0;
		min-height: calc(58 * var(--hm-u));
		border-radius: calc(12 * var(--hm-u));
		font-size: max(14px, calc(19.5 * var(--hm-u)));
	}

	.hm-donate__secure {
		gap: calc(12 * var(--hm-u));
		margin-top: calc(15 * var(--hm-u));
		font-size: max(11px, calc(14.5 * var(--hm-u)));
	}

	.hm-donate__secure svg {
		width: calc(17 * var(--hm-u));
		height: calc(17 * var(--hm-u));
	}

	.hm-donate__trust {
		position: relative;
		z-index: 1;
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		width: calc(1536 * var(--hm-u));
		height: calc(92 * var(--hm-u));
		margin: calc(32 * var(--hm-u)) 0 calc(31 * var(--hm-u)) calc(119 * var(--hm-u));
		padding: 0;
		border-radius: calc(16 * var(--hm-u));
	}

	.hm-donate__trust li {
		gap: calc(13 * var(--hm-u));
		padding-left: calc(43 * var(--hm-u));
		font-size: max(12px, calc(16 * var(--hm-u)));
	}

	.hm-donate__trust li + li::before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 1px;
		height: calc(40 * var(--hm-u));
		background: rgb(10 47 96 / 0.12);
		transform: translateY(-50%);
	}

	.hm-donate__trust strong {
		margin-bottom: calc(4 * var(--hm-u));
		font-size: max(13px, calc(17 * var(--hm-u)));
	}

	.hm-donate__trust-icon {
		width: calc(70 * var(--hm-u));
		height: calc(70 * var(--hm-u));
	}
}
