/**
 * 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: var(--hm-color-button);
}

.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: var(--hm-space-top) var(--hm-space-bottom);
}

.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;
}

/* Key points: separate soft cards with room between them. */
.hm-about__features {
	display: grid;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.hm-feature {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 16px 20px;
	border-radius: 16px;
	background: rgb(228 239 252 / 0.75);
}

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

.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: var(--hm-space-top) var(--hm-space-bottom);
	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;
	/* Extra room at the bottom for the wave. */
	padding-block: var(--hm-space-top) calc(var(--hm-space-bottom) + 40px);
}

.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;
}

/*
 * Both team buttons take Customize → Team Section → Buttons colours
 * (--hm-team-btn-*); without them each keeps its own theme look.
 */
.hm-team__btn {
	margin-top: 24px;
	border-color: var(--hm-team-btn-bg, var(--hm-color-white));
	background: var(--hm-team-btn-bg, var(--hm-color-white));
	color: var(--hm-team-btn-color, var(--hm-color-button));
}

.hm-team__btn:hover {
	border-color: var(--hm-team-btn-hover-bg, var(--hm-color-button));
	background: var(--hm-team-btn-hover-bg, var(--hm-color-button));
	color: var(--hm-team-btn-hover-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: 0;
	bottom: 4%;
	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[aria-busy="true"] {
	cursor: progress;
}

.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: var(--hm-team-btn-bg, var(--hm-color-button));
	color: var(--hm-team-btn-color, var(--hm-color-white));
	box-shadow: 0 14px 28px -12px rgb(0 40 120 / 0.6);
}

.hm-team__search:hover {
	background: var(--hm-team-btn-hover-bg, var(--hm-color-button-hover));
	color: var(--hm-team-btn-hover-color, var(--hm-color-white));
}

.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);
	}
}

/* Side by side, the photo lines up with the top and bottom of the text. */
@media (min-width: 768px) {
	.hm-about__photo {
		position: relative;
		align-self: stretch;
		min-height: 280px;
	}

	.hm-about__photo img {
		position: absolute;
		inset: 0;
		aspect-ratio: auto;
	}
}

@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;
		grid-template-columns: repeat(2, 1fr);
		gap: 18px;
	}

	.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: var(--hm-space-top) var(--hm-space-bottom);
	}

	.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 {
		min-height: calc(360 * var(--hm-u));
		border-radius: calc(20 * var(--hm-u));
	}

	.hm-about__features {
		grid-auto-rows: 1fr;
		gap: calc(18 * var(--hm-u));
		align-self: stretch;
		margin-left: calc(-4 * var(--hm-u));
	}

	.hm-feature {
		gap: calc(22 * var(--hm-u));
		padding: calc(14 * var(--hm-u)) calc(26 * var(--hm-u));
		border-radius: calc(18 * var(--hm-u));
	}

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

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

	.hm-feature__text {
		margin-top: calc(4 * var(--hm-u));
		font-size: max(13px, calc(19 * var(--hm-u)));
		line-height: 1.35;
	}

	/* What We Do: 4 × 2 cards */

	.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: var(--hm-space-top) calc(var(--hm-space-bottom) + 70 * var(--hm-u));
	}

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

	/* Centred beside the taller map and finder, so the space above and
	 * below the button is the same. */
	.hm-team__intro {
		align-self: center;
	}

	.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));
	}

	/* Stays inside the map column, clear of the finder beside it. */
	.hm-team__tagline {
		right: calc(-30 * var(--hm-u));
		bottom: calc(-24 * var(--hm-u));
		font-size: calc(32 * 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: var(--hm-space-top) var(--hm-space-bottom);
	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;
}

/*
 * Smash Balloon feed (Instagram Feed plugin) laid out like .hm-ig-grid,
 * whatever layout the feed is set to; !important beats the plugin's ID
 * selectors and inline sizes. Its header and Load More / Follow buttons
 * are hidden, as the card has its own title and follow button.
 */
.hm-ig-feed {
	width: 100%;
}

.hm-ig-feed #sb_instagram {
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.hm-ig-feed #sb_instagram #sbi_images {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 6px !important;
	width: 100% !important;
	padding: 0 !important;
}

.hm-ig-feed #sb_instagram #sbi_images .sbi_item {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

.hm-ig-feed[data-count="4"] #sb_instagram #sbi_images .sbi_item:nth-child(n + 5),
.hm-ig-feed[data-count="8"] #sb_instagram #sbi_images .sbi_item:nth-child(n + 9),
.hm-ig-feed[data-count="12"] #sb_instagram #sbi_images .sbi_item:nth-child(n + 13),
.hm-ig-feed .sb_instagram_header,
.hm-ig-feed #sbi_load {
	display: none !important;
}

.hm-ig-feed #sb_instagram .sbi_photo {
	display: block;
	height: auto !important;
	overflow: hidden;
	border-radius: 6px;
	background-position: center !important;
	background-size: cover !important;
	aspect-ratio: 4 / 3;
}

.hm-ig-feed #sb_instagram .sbi_photo img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform 0.3s ease;
}

.hm-ig-feed #sb_instagram .sbi_photo:hover img {
	transform: scale(1.06);
}

/* Button row, pinned to the bottom so all three cards' buttons line up. */
.hm-act-card__foot {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: auto;
	padding-top: 22px;
}

/* As tall as the button beside it. */
.hm-ig-logo {
	flex: none;
	width: 52px;
	height: 52px;
}

.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;
}


@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);
	}

	.hm-ig-feed #sb_instagram #sbi_images {
		grid-template-columns: repeat(6, 1fr) !important;
	}
}

@media (min-width: 1200px) {

	.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,
	.hm-ig-feed #sb_instagram .sbi_photo {
		aspect-ratio: 145 / 100;
	}

	.hm-ig-feed #sb_instagram #sbi_images {
		gap: calc(7 * var(--hm-u)) !important;
	}

	/*
	 * The cards share a row height; when the event cards are taller, the
	 * photo rows grow (cropping a little more) instead of leaving a gap
	 * above the follow button.
	 */
	.hm-act-card--ig .hm-ig-grid,
	.hm-act-card--ig .hm-ig-feed,
	.hm-act-card--ig .hm-ig-feed #sb_instagram,
	.hm-act-card--ig .hm-ig-feed #sb_instagram #sbi_images {
		flex: 1 1 auto;
	}

	.hm-act-card--ig .hm-ig-feed,
	.hm-act-card--ig .hm-ig-feed #sb_instagram {
		display: flex !important;
		flex-direction: column;
	}

	.hm-act-card--ig .hm-ig-grid,
	.hm-act-card--ig .hm-ig-feed #sb_instagram #sbi_images {
		grid-auto-rows: 1fr !important;
	}

	.hm-act-card--ig .hm-ig-grid a,
	.hm-act-card--ig .hm-ig-grid img,
	.hm-act-card--ig .hm-ig-feed .sbi_photo_wrap,
	.hm-act-card--ig .hm-ig-feed #sb_instagram .sbi_photo {
		width: 100%;
		height: 100% !important;
	}

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

	.hm-ig-logo {
		width: max(40px, calc(48 * var(--hm-u)));
		height: max(40px, calc(48 * 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)));
	}
}

/* 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: var(--hm-space-top) var(--hm-space-bottom);
}

.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;
}

.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: var(--hm-color-button-soft);
	color: var(--hm-color-button);
	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: var(--hm-color-button-soft);
	color: var(--hm-color-button);
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.hm-news__nav:hover {
	background: var(--hm-color-button);
	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: var(--hm-space-top) var(--hm-space-bottom);
	}

	/* 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));
	}
}

/* Impact stats: the blue band between News and Stories --------------- */

.hm-stats {
	--hm-space-top: 28px;
	--hm-space-bottom: 28px;

	background: var(--hm-color-primary-dark);
	color: var(--hm-color-white);
}

.hm-stats__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 24px;
	margin: 0;
	padding: var(--hm-space-top) 0 var(--hm-space-bottom);
	list-style: none;
}

.hm-stats__item {
	display: flex;
	justify-content: center;
	flex: 0 0 50%;
	padding-inline: 2px;
}

.hm-stat {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

.hm-stat__icon {
	flex: none;
	width: 40px;
	height: 40px;
	object-fit: contain;
}

.hm-stat__text {
	display: flex;
	flex-direction: column;
	margin: 0;
	min-width: 0;
}

.hm-stat__number {
	font-family: var(--hm-font-heading);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
}

.hm-stat__label {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	color: #d6ebfd;
}

@media (min-width: 768px) {
	.hm-stats__item {
		flex-basis: 33.333%;
	}

	.hm-stat {
		gap: 14px;
	}

	.hm-stat__icon {
		width: 52px;
		height: 52px;
	}

	.hm-stat__number {
		font-size: 26px;
	}

	.hm-stat__label {
		font-size: 16px;
	}
}

@media (min-width: 992px) {
	.hm-stats {
		--hm-space-top: 0px;
		--hm-space-bottom: 0px;
	}

	.hm-stats__list {
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: center;
		min-height: max(80px, calc(113 * var(--hm-u)));
		padding-inline: calc(44 * var(--hm-u));
	}

	/*
	 * Items share the free space equally; the ::before spacer in front of
	 * every item after the first carries the divider, so dividers always
	 * sit halfway between neighbouring stats.
	 */
	.hm-stats__item {
		flex: 0 0 auto;
		padding: 0;
	}

	.hm-stats__item + .hm-stats__item {
		flex: 1 1 auto;
	}

	.hm-stats__item + .hm-stats__item::before {
		content: "";
		flex: 1 1 auto;
		align-self: center;
		height: max(48px, calc(68 * var(--hm-u)));
		background: linear-gradient(rgb(255 255 255 / 0.16), rgb(255 255 255 / 0.16)) center / max(1px, calc(2 * var(--hm-u))) 100% no-repeat;
	}

	.hm-stat {
		gap: calc(31 * var(--hm-u));
	}

	.hm-stat__icon {
		width: max(44px, calc(72 * var(--hm-u)));
		height: max(44px, calc(72 * var(--hm-u)));
	}

	.hm-stat__number {
		font-size: max(20px, calc(29 * var(--hm-u)));
		line-height: 1.2;
	}

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

/* 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);
}

.hm-stories__inner {
	display: grid;
	gap: 28px;
	padding-block: var(--hm-space-top) var(--hm-space-bottom);
}

.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 {
	position: relative;
	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);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* The whole card links to the stories page. */
.hm-story__link {
	position: absolute;
	inset: 0;
	z-index: 2;
	border-radius: inherit;
}

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

.hm-story:has(.hm-story__link) .hm-story__inner:hover {
	box-shadow: 0 24px 44px -24px rgb(10 47 96 / 0.5), 0 0 0 1px var(--hm-color-button-tint);
	transform: translateY(-3px);
}

.hm-story__quote {
	margin: 0;
}

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

.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 ("Together" banner): fade, picture, then its own colour. */
.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,
		var(--hm-cta-color, transparent);
	text-align: center;
}

.hm-cta__inner {
	position: relative;
	z-index: 2;
	padding-block: var(--hm-space-top) var(--hm-space-bottom);
}

.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: var(--hm-color-button);
}

@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) {
	/* The Together banner rises behind the slider controls. */
	.hm-stories {
		--hm-space-bottom: 0px;
	}

	.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: var(--hm-space-top) var(--hm-space-bottom);
	}

	.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,
			var(--hm-cta-color, transparent);
	}

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

	.hm-cta {
		--hm-space-top: calc(121 * var(--hm-u));
		--hm-space-bottom: 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;
	padding-block: var(--hm-space-top) var(--hm-space-bottom);
	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: 28px;
}

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

/* Focus areas: small cards, two per row, until the desktop row of four. */
.hm-donate__focus {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.hm-donate__focus li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
	padding: 14px 14px 16px;
	border: 1px solid #e3ebf5;
	border-radius: 14px;
	background: rgb(255 255 255 / 0.85);
	box-shadow: 0 12px 26px -22px rgb(10 47 96 / 0.45);
	font-size: 14.5px;
	line-height: 1.35;
}

.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: 48px;
	height: 48px;
	border-radius: 50%;
	background: var(--hm-color-button-soft);
	color: var(--hm-color-button);
}

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

/* Stats: one card split into a 2 × 2 grid by hairlines. */
.hm-donate__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 16px 0 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	border: 1px solid #e3ebf5;
	border-radius: 14px;
	background: rgb(255 255 255 / 0.85);
	box-shadow: 0 12px 26px -22px rgb(10 47 96 / 0.45);
}

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

.hm-donate__stats li:nth-child(even) {
	border-left: 1px solid #e8eef6;
}

.hm-donate__stats li:nth-child(n + 3) {
	border-top: 1px solid #e8eef6;
}

.hm-donate__stats li:last-child:nth-child(odd) {
	grid-column: 1 / -1;
}

.hm-donate__stats strong {
	font-family: var(--hm-font-heading);
	font-size: 28px;
	font-weight: 700;
	line-height: 1.15;
	color: var(--hm-color-highlight);
}

/* 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: var(--hm-color-button-soft);
	color: #0b2a5e;
}

.hm-donate__freq input:checked + span {
	background: var(--hm-color-button);
	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: color-mix(in srgb, var(--hm-color-button) 45%, #fff);
	background: var(--hm-color-button-soft);
	color: var(--hm-color-button);
	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: var(--hm-color-button);
	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;
	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 {
		--hm-space-top: calc(45 * var(--hm-u));
		--hm-space-bottom: calc(31 * var(--hm-u));
	}

	.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: 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));
	}

	/*
	 * Focus areas and stats: one row each on the same columns (the stats'
	 * widths from the design) split by hairlines, so each icon sits
	 * straight above its number.
	 */
	.hm-donate__focus,
	.hm-donate__stats {
		grid-template-columns: calc(152 * var(--hm-u)) calc(227 * var(--hm-u)) calc(158 * var(--hm-u)) minmax(0, 1fr);
		gap: 0;
	}

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

	.hm-donate__focus li,
	.hm-donate__stats li {
		padding: 0 calc(18 * var(--hm-u)) 0 calc(37 * var(--hm-u));
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
		font-size: max(12px, calc(18 * var(--hm-u)));
		line-height: calc(24 * var(--hm-u));
	}

	.hm-donate__focus li:first-child,
	.hm-donate__stats li:first-child {
		padding-left: 0;
	}

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

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

	.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 {
		margin-top: calc(41 * var(--hm-u));
		overflow: visible;
		border: 0;
		border-radius: 0;
		background: none;
		box-shadow: none;
	}

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

	.hm-donate__stats li:last-child:nth-child(odd) {
		grid-column: auto;
	}

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

	.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 0 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));
	}
}

/* Our Believers / Our Partners: a self-scrolling row of logos ------------ */

.hm-logos {
	--hm-logos-gap: 18px;
	--hm-logos-card-w: 160px;
	--hm-logos-card-h: 84px;

	padding-block: var(--hm-space-top) var(--hm-space-bottom);
	overflow: hidden;
	background: var(--hm-logos-bg, var(--hm-color-white));
	color: var(--hm-color-text);
	text-align: center;
}

.hm-logos__head {
	max-width: 46em;
	margin: 0 auto 28px;
}

.hm-logos__title {
	text-wrap: balance;
}

/* Short accent line under the heading. */
.hm-logos__title::after {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin: 14px auto 0;
	border-radius: 2px;
	background: var(--hm-color-button);
}

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

/* Logos fade out at both edges of the row. */
.hm-logos__viewport {
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}

.hm-logos__track {
	display: flex;
	justify-content: center;
}

.hm-logos__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--hm-logos-gap);
	margin: 0;
	padding: 12px var(--hm-gutter);
	list-style: none;
}

/*
 * Scrolling: two identical lists side by side move left by one list's
 * width, then start over. Each list ends with one gap so the seam matches.
 */
.hm-logos--scroll .hm-logos__track {
	justify-content: flex-start;
	width: max-content;
	animation: hm-logos-scroll var(--hm-logos-duration, 35s) linear infinite;
}

.hm-logos--scroll .hm-logos__list {
	flex-wrap: nowrap;
	padding: 12px var(--hm-logos-gap) 12px 0;
}

.hm-logos--reverse .hm-logos__track {
	animation-direction: reverse;
}

.hm-logos__viewport:hover .hm-logos__track,
.hm-logos__track:focus-within {
	animation-play-state: paused;
}

@keyframes hm-logos-scroll {
	to {
		transform: translateX(-50%);
	}
}

.hm-logos__card {
	display: grid;
	place-items: center;
	width: var(--hm-logos-card-w);
	height: var(--hm-logos-card-h);
	padding: 14px 20px;
	border: 1px solid #e3ebf5;
	border-radius: 14px;
	background: var(--hm-color-white);
	box-shadow: 0 12px 26px -20px rgb(10 47 96 / 0.45);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.hm-logos__card:hover {
	border-color: var(--hm-color-button-tint);
	box-shadow: 0 16px 30px -18px rgb(10 47 96 / 0.5);
	transform: translateY(-3px);
}

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

.hm-logos__card img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
	transition: filter 0.3s ease, opacity 0.3s ease;
}

.hm-logos--gray .hm-logos__card img {
	opacity: 0.7;
	filter: grayscale(1);
}

.hm-logos--gray .hm-logos__card:hover img,
.hm-logos--gray .hm-logos__card:focus-visible img {
	opacity: 1;
	filter: none;
}

.hm-logos__foot {
	margin-top: 26px;
}

@media (min-width: 768px) {
	.hm-logos {
		--hm-logos-gap: 22px;
		--hm-logos-card-w: 190px;
		--hm-logos-card-h: 96px;
	}

	.hm-logos__head {
		margin-bottom: 34px;
	}
}

@media (min-width: 1200px) {
	.hm-logos {
		--hm-logos-gap: calc(28 * var(--hm-u));
		--hm-logos-card-w: max(170px, calc(230 * var(--hm-u)));
		--hm-logos-card-h: max(88px, calc(116 * var(--hm-u)));
	}

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

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

	.hm-logos__head {
		margin-bottom: calc(44 * var(--hm-u));
	}

	.hm-logos__foot {
		margin-top: calc(36 * var(--hm-u));
	}
}

/* No movement: the first list scrolls by hand instead and the copy hides. */
@media (prefers-reduced-motion: reduce) {
	.hm-logos--scroll .hm-logos__viewport {
		overflow-x: auto;
		scroll-snap-type: x mandatory;
	}

	.hm-logos--scroll .hm-logos__track {
		animation: none !important;
	}

	.hm-logos--scroll .hm-logos__list[aria-hidden="true"],
	.hm-logos--scroll .hm-logos__item[aria-hidden="true"] {
		display: none;
	}

	.hm-logos__item {
		scroll-snap-align: center;
	}
}
