/* Editorial photography, warm surfaces and a restrained mint accent. */
.home-page .hero {
	height: 720px;
	padding-top: 78px;
	background: radial-gradient(ellipse at 80% 35%, #102d55 0, #0b2b3d 27%, #071b32 65%);
}
.home-page .hero-copy {
	max-width: 620px;
	z-index: 3;
}
.home-page .hero h1 {
	font-size: clamp(58px, 6.3vw, 86px);
	line-height: 1.08;
	letter-spacing: -0.055em;
}
.home-page .hero h1 em {
	color: #d3e3fc;
}
.home-page .hero .eyebrow {
	font-size: 10px;
	color: #bdd8ff;
	letter-spacing: 0.16em;
}
.home-page .hero p {
	color: #bdd8ff;
	font-size: 14px;
	max-width: 405px;
	line-height: 1.9;
	margin: 27px 0 31px;
}
.home-page .hero-art {
	width: 59%;
	right: -4%;
	opacity: 0.95;
	height: 88%;
	z-index: 1;
	mask-image: linear-gradient(90deg, transparent, black 25%);
}
.home-page .hero:after {
	z-index: 2;
	background: linear-gradient(90deg, #071b32 2%, #071b3266 45%, transparent 80%);
}
.home-page .hero .button {
	border-radius: 7px;
	background: #d3e3fc;
	color: #0b2445;
	min-height: 50px;
}
.home-page .hero .button.outline {
	color: #e6efff;
	background: #ffffff06;
	border-color: #d3e3fc44;
}
.hero-orbits {
	position: absolute;
	width: 520px;
	height: 520px;
	right: 6%;
	top: 52px;
	border: 1px solid #d3e3fc24;
	border-radius: 50%;
	box-shadow:
		0 0 0 50px #bdd8ff05,
		0 0 0 105px #bdd8ff03;
	pointer-events: none;
}
.hero-orbits:before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #d3e3fc;
	top: 78px;
	left: 55px;
	box-shadow: 0 0 25px #bdd8ff8c;
}
.hero-orbits:after {
	content: "";
	position: absolute;
	inset: 35px;
	border: 1px dashed #d3e3fc1f;
	border-radius: 50%;
}
.hero-footprint {
	position: absolute;
	bottom: 33px;
	left: 7%;
	width: min(570px, 70%);
	z-index: 3;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
	padding-top: 24px;
	border-top: 1px solid #bdd8ff2e;
}
.hero-footprint strong {
	display: block;
	color: #e6efff;
	font-size: 26px;
	line-height: 1.2;
	font-weight: 500;
	letter-spacing: -0.04em;
}
.hero-footprint span {
	color: #9bb9dd;
	font-size: 9px;
	letter-spacing: 0.05em;
}
.home-page .section-head h2 em,
.purpose-copy h2 em,
.faq-intro h2 em,
.contact-copy h2 em {
	font-family: Georgia, serif;
	font-weight: 400;
}
.home-page .nav {
	border-bottom-color: #bdd8ff21;
}
.home-page .program-section {
	background: #f0f5ff;
}
.home-page .program-card {
	padding: 28px;
	min-height: 250px;
	border-radius: 13px;
	background: linear-gradient(150deg, #fff, #f7f9fd);
	border-color: #e6efff;
	overflow: hidden;
	box-shadow: 0 4px 15px #0b244503;
}
.home-page .program-card:after {
	content: "";
	position: absolute;
	inset: auto 22px 0;
	height: 2px;
	background: var(--program);
	opacity: 0;
	transition: opacity 0.25s;
}
.home-page .program-card:hover:after {
	opacity: 0.6;
}
.home-page .program-card:hover {
	box-shadow: 0 18px 45px #0b244510;
	border-color: color-mix(in srgb, var(--program) 35%, #e6efff);
	transform: translateY(-4px);
}
.home-page .program-card .program-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	border-radius: 12px;
	margin-bottom: 28px;
	color: color-mix(in srgb, var(--program) 65%, #102d55);
	background: color-mix(in srgb, var(--program) 9%, #f7f9fd);
	border: 1px solid color-mix(in srgb, var(--program) 19%, #e6efff);
}
.home-page .program-card h3 {
	font-size: 17px;
	font-weight: 500;
}
.home-page .program-card p {
	line-height: 1.85;
}
.home-page .program-card .arrow {
	color: #52667f;
}
.program-card-number {
	font-size: 8px;
	color: #6d89ad;
	position: absolute;
	right: 28px;
	bottom: 22px;
	letter-spacing: 0.12em;
}
.home-page .community-stories {
	background: #f0f5ff;
}
.home-page .story-focus {
	box-shadow: 0 20px 60px #102d5509;
	border-radius: 17px;
}
.home-page .evidence-section {
	background: #f0f5ff;
}
.home-page .partner-row > span {
	border: 1px solid #d3e3fc;
	padding: 16px 20px;
	border-radius: 8px;
	background: #f7f9fd;
	font-size: 13px;
}

.purpose-section {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8%;
	align-items: center;
	background: #f7f9fd;
}
.purpose-gallery {
	position: relative;
	min-height: 535px;
}
.purpose-main-photo {
	position: absolute;
	left: 0;
	top: 0;
	bottom: 30px;
	width: 75%;
	overflow: hidden;
	border-radius: 15px 15px 80px 15px;
}
.purpose-main-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 42% 55%;
}
.purpose-inset-photo {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 55%;
	border: 7px solid #f7f9fd;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 14px 40px #102d5518;
}
.purpose-inset-photo img {
	width: 100%;
	aspect-ratio: 1.2;
	object-fit: cover;
}
.purpose-inset-photo span {
	position: absolute;
	left: 13px;
	right: 13px;
	bottom: 13px;
	color: #f0f5ff;
	background: #102d55cc;
	padding: 9px 11px;
	border-radius: 5px;
	font-size: 9px;
	backdrop-filter: blur(8px);
}
.purpose-seal {
	position: absolute;
	right: 3%;
	top: 30px;
	width: 130px;
	height: 130px;
	border-radius: 50%;
	background: #d3e3fc;
	padding: 24px;
	color: #102d55;
	font-size: 8px;
	line-height: 1.4;
	letter-spacing: 0.08em;
	box-shadow: 0 0 0 8px #f7f9fd;
}
.purpose-seal strong {
	display: block;
	font-size: 24px;
	font-family: Georgia, serif;
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1.1;
	margin-top: 7px;
}
.purpose-photo-label {
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 7px;
	letter-spacing: 0.16em;
	color: #6d89ad;
}
.purpose-copy h2 {
	font-size: clamp(34px, 3.7vw, 50px);
}
.purpose-copy .eyebrow {
	color: #23466c;
	font-size: 9px;
}
.purpose-lead {
	font-size: 20px;
	line-height: 1.6;
	color: #102d55;
	margin: 26px 0 19px;
	letter-spacing: -0.015em;
}
.purpose-copy > p:not(.purpose-lead) {
	color: #52667f;
	font-size: 13px;
	line-height: 1.9;
}
.purpose-values {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin-top: 23px;
}
.purpose-values span {
	font-size: 9px;
	color: #52667f;
	padding: 6px 10px;
	border-radius: 4px;
	background: #e6efff;
	border: 1px solid #d3e3fc;
}
.purpose-copy .text-link {
	color: #23466c;
	border-color: #bdd8ff;
}
.purpose-source {
	display: block;
	font-size: 8px;
	color: #6d89ad;
	margin-top: 17px;
}

.achievement-section {
	background: radial-gradient(ellipse at 20% 55%, #102d55 0, #0a293a 43%, #071e31 78%);
	color: #f0f5ff;
	position: relative;
	overflow: hidden;
}
.achievement-section .eyebrow {
	color: #bdd8ff;
}
.achievement-section .section-head p {
	color: #9bb9dd;
	line-height: 1.9;
}
.achievement-section h2 em {
	color: #d3e3fc;
}
.achievement-layout {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 6%;
	align-items: center;
}
.achievement-wheel-column {
	min-width: 0;
}
.achievement-wheel {
	width: 100%;
	max-width: 550px;
	aspect-ratio: 1;
	position: relative;
	margin: 0 auto;
	isolation: isolate;
}
.achievement-dial {
	width: 100%;
	height: 100%;
	display: block;
	filter: drop-shadow(0 20px 18px #020f204f);
}
.dial-outer {
	fill: none;
	stroke: #bdd8ff3d;
	stroke-width: 1;
}
.dial-center {
	stroke: #bdd8ff46;
	stroke-width: 1;
}
.dial-inner {
	fill: none;
	stroke: #bdd8ff19;
	stroke-width: 1;
}
.dial-orbit {
	fill: none;
	stroke: #d3e3fc38;
	stroke-width: 1;
	stroke-dasharray: 2 18;
	transform-origin: 260px 260px;
	animation: achievement-orbit 90s linear infinite;
	animation-play-state: paused;
}
.achievement-wheel.in-view .dial-orbit {
	animation-play-state: running;
}
.achievement-segment {
	fill: #153a4b;
	stroke: #9bb9dd26;
	stroke-width: 1;
	transition:
		fill 0.3s,
		stroke 0.3s;
}
.achievement-segment.selected {
	fill: color-mix(in srgb, var(--area) 22%, #173e4d);
	stroke: color-mix(in srgb, var(--area) 60%, #e6efff);
}
.achievement-node {
	position: absolute;
	left: var(--x);
	top: var(--y);
	transform: translate(-50%, -50%);
	width: 50px;
	height: 50px;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #bdd8ff35;
	border-radius: 50%;
	background: #0c2e40;
	color: #9bb9dd;
	transition:
		background 0.2s,
		border-color 0.2s,
		box-shadow 0.2s;
}
.achievement-node svg {
	width: 22px;
	height: 22px;
}
.achievement-node > span {
	position: absolute;
	top: calc(100% + 5px);
	width: 116px;
	font-size: 8px;
	line-height: 1.35;
	color: #9bb9dd;
	text-align: center;
	pointer-events: none;
}
.achievement-node[aria-selected="true"] {
	color: var(--area);
	border-color: var(--area);
	background: #102d55;
	box-shadow:
		0 0 0 5px #9bb9dd0b,
		0 0 22px color-mix(in srgb, var(--area) 20%, transparent);
}
.achievement-node[aria-selected="true"] > span {
	color: #e6efff;
}
.achievement-node:hover {
	border-color: #e6efff;
	color: #e6efff;
}
.achievement-node:focus-visible {
	outline: 2px solid #e6efff;
	outline-offset: 5px;
}
.achievement-center {
	position: absolute;
	left: 26%;
	right: 26%;
	top: 26%;
	bottom: 26%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	pointer-events: none;
}
.achievement-center > span {
	color: #bdd8ff;
	font-size: 9px;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	line-height: 1.4;
}
.achievement-center strong {
	font-size: clamp(30px, 3.5vw, 47px);
	line-height: 1.2;
	color: #e6efff;
	font-weight: 500;
	letter-spacing: -0.055em;
	margin: 15px 0 6px;
}
.achievement-center p {
	font-size: 10px;
	line-height: 1.5;
	color: #bdd8ff;
	max-width: 165px;
}
.achievement-center i {
	width: 20px;
	height: 1px;
	background: #6d89ad66;
	margin: 18px 0 12px;
}
.achievement-center small {
	font-size: 8px;
	letter-spacing: 0.16em;
	color: #52667f;
}
.achievement-wheel-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 25px;
	margin: 1px 0 20px;
}
.achievement-wheel-nav button {
	height: 42px;
	width: 42px;
	border: 1px solid #bdd8ff39;
	background: #102d5555;
	color: #d3e3fc;
	border-radius: 50%;
}
.achievement-wheel-nav button:hover {
	background: #23466c;
}
.achievement-wheel-nav span {
	font-size: 9px;
	color: #6d89ad;
}
.achievement-card {
	background: #f0f5ff;
	border-radius: 15px;
	overflow: hidden;
	color: #102d55;
	border: 1px solid #e6efff49;
	box-shadow: 0 22px 70px #020d2229;
	outline-offset: 5px;
}
.achievement-photo {
	height: 225px;
	position: relative;
	overflow: hidden;
}
.achievement-photo > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.achievement-photo:after {
	content: "";
	position: absolute;
	inset: 50% 0 0;
	background: linear-gradient(transparent, #0b244599);
}
.achievement-photo > span {
	position: absolute;
	bottom: 17px;
	left: 23px;
	right: 23px;
	color: #f0f5ff;
	font-size: 8px;
	z-index: 1;
}
.achievement-card-copy {
	padding: 28px;
	animation: premium-enter 0.3s ease both;
}
.achievement-card .eyebrow {
	font-size: 8px;
	color: #52667f;
	margin-bottom: 13px;
	letter-spacing: 0.1em;
}
.achievement-card h3 {
	font-size: 29px;
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.04em;
}
.achievement-card p {
	font-size: 12px;
	color: #52667f;
	line-height: 1.85;
	margin-top: 18px;
}
.achievement-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 18px;
}
.achievement-links .text-link {
	font-size: 10px;
	color: #23466c;
	border-color: #bdd8ff;
	gap: 10px;
	margin-top: 22px;
}
.achievement-program-link {
	font-size: 10px;
	color: #52667f;
	margin-top: 22px;
	padding-bottom: 8px;
}
.achievement-image-note {
	display: block;
	margin-top: 15px;
	font-size: 8px;
	color: #6d89ad;
}
.achievement-note {
	color: #6d89ad;
	font-size: 9px;
	max-width: 750px;
	line-height: 1.8;
	margin-top: 30px;
}

.faq-section {
	display: grid;
	grid-template-columns: 0.8fr 1.2fr;
	gap: 9%;
	background: #f7f9fd;
	align-items: start;
}
.faq-intro {
	position: sticky;
	top: 30px;
}
.faq-intro .eyebrow {
	color: #52667f;
	font-size: 9px;
}
.faq-intro h2 {
	font-size: clamp(36px, 3.7vw, 51px);
}
.faq-intro h2 em {
	color: #52667f;
}
.faq-intro > p {
	font-size: 13px;
	line-height: 1.9;
	color: #6d89ad;
	margin-top: 24px;
	max-width: 300px;
}
.faq-support {
	margin-top: 40px;
	padding: 25px;
	background: #eaf0e3;
	border: 1px solid #dce6d6;
	border-radius: 12px;
	max-width: 330px;
}
.faq-support-icon {
	display: inline-flex;
	height: 35px;
	width: 35px;
	border-radius: 50%;
	align-items: center;
	justify-content: center;
	background: #d1e0c7;
	color: #4e7258;
	font-family: Georgia, serif;
	font-size: 21px;
	margin-bottom: 18px;
}
.faq-support h3 {
	font-size: 19px;
	font-weight: 500;
}
.faq-support p {
	font-size: 11px;
	color: #7a8d72;
	margin-top: 10px;
}
.faq-support .text-link {
	font-size: 11px;
	color: #406d52;
	border-color: #b8cdb3;
	margin-top: 19px;
}
.faq-content {
	min-width: 0;
}
.faq-search {
	display: flex;
	align-items: center;
	gap: 13px;
	border: 1px solid #e6efff;
	border-radius: 9px;
	padding: 0 18px;
	background: #fff;
	color: #6d89ad;
}
.faq-search > input {
	min-width: 0;
	width: 100%;
	border: 0;
	background: transparent;
	padding: 17px 0;
	font-size: 12px;
	color: #23466c;
	outline: none;
}
.faq-search > input:focus-visible {
	outline: none;
}
.faq-search:focus-within {
	border-color: var(--hmbd-sky, #bdd8ff);
}
.faq-search > span {
	display: none;
}
.faq-categories {
	display: flex;
	gap: 7px;
	margin: 20px 0 23px;
	flex-wrap: wrap;
}
.faq-categories button {
	border: 1px solid #d3e3fc;
	background: #f0f5ff;
	border-radius: 5px;
	padding: 9px 12px;
	font-size: 9px;
	color: #52667f;
	min-height: 36px;
}
.faq-categories button[aria-pressed="true"] {
	background: #23466c;
	color: #f0f5ff;
	border-color: #23466c;
}
.faq-list {
	border-top: 1px solid #d3e3fc;
	/* Bound the questions independently of the search, filters and result count. */
	max-height: min(28rem, 60vh);
	max-height: min(28rem, 60svh);
	overflow-y: auto;
	scrollbar-gutter: stable;
	scrollbar-width: thin;
	scrollbar-color: var(--hmbd-blue, #0756ef) var(--hmbd-mint, #e6efff);
	padding-inline-end: 12px;
	overflow-wrap: anywhere;
}
.faq-list::-webkit-scrollbar {
	width: 8px;
}
.faq-list::-webkit-scrollbar-track {
	background: var(--hmbd-mint, #e6efff);
	border-radius: 999px;
}
.faq-list::-webkit-scrollbar-thumb {
	background: var(--hmbd-blue, #0756ef);
	border: 2px solid var(--hmbd-mint, #e6efff);
	border-radius: 999px;
}
.faq-list::-webkit-scrollbar-thumb:hover {
	background: var(--hmbd-blue-hover, #0646c6);
}
.faq-list:focus-visible {
	outline: 2px solid var(--hmbd-blue, #0756ef);
	outline-offset: -2px;
}
.faq-list summary {
	scroll-margin-block: 8px;
}
.faq-list summary:focus-visible {
	outline-offset: -2px;
}
.faq-item {
	border-bottom: 1px solid #d3e3fc;
}
.faq-item[hidden] {
	display: none;
}
.faq-item summary {
	list-style: none;
	display: grid;
	grid-template-columns: 25px 1fr 26px;
	align-items: center;
	gap: 15px;
	padding: 23px 3px;
	cursor: pointer;
	color: #102d55;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.6;
}
.faq-item summary::-webkit-details-marker {
	display: none;
}
.faq-item summary:focus-visible {
	outline: 2px solid #6d89ad;
	outline-offset: 3px;
	border-radius: 4px;
}
.faq-number {
	font-size: 9px;
	color: #9bb9dd;
	font-weight: 400;
}
.faq-plus {
	display: inline-flex;
	height: 26px;
	width: 26px;
	justify-content: center;
	align-items: center;
	background: #e6efff;
	border-radius: 50%;
	color: #6d89ad;
	transition:
		transform 0.25s,
		background 0.25s;
	font-size: 18px;
	font-weight: 400;
}
.faq-item[open] .faq-plus {
	transform: rotate(45deg);
	background: #d3e3fc;
}
.faq-item[open] summary {
	color: #23466c;
}
.faq-answer {
	padding: 0 41px 24px;
	animation: premium-enter 0.25s ease both;
}
.faq-answer p {
	font-size: 12px;
	color: #6d89ad;
	line-height: 1.9;
}
.faq-answer > a {
	display: inline-block;
	margin-top: 15px;
	color: #52667f;
	font-size: 10px;
	text-decoration: underline;
	text-underline-offset: 4px;
}
.faq-results {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 19px;
	color: #9bb9dd;
	font-size: 9px;
}
.faq-results button {
	border: 0;
	background: transparent;
	color: #52667f;
	padding: 6px;
	font-size: 10px;
}
.faq-empty {
	padding: 35px 20px;
	background: #f0f5ff;
	border-radius: 9px;
	margin-top: 17px;
}
.faq-empty h3 {
	font-size: 20px;
	font-weight: 500;
}
.faq-empty p {
	font-size: 12px;
	margin: 15px 0;
}
.faq-empty a {
	font-size: 11px;
	color: #52667f;
}

.contact-section {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8%;
	background: radial-gradient(ellipse at 3% 10%, #102d55, #092b3c 43%, #071e31 90%);
	color: #f0f5ff;
}
.contact-copy {
	min-width: 0;
}
.contact-copy .eyebrow {
	color: #9bb9dd;
	font-size: 9px;
}
.contact-copy h2 {
	font-size: clamp(37px, 3.8vw, 54px);
}
.contact-copy h2 em {
	color: #d3e3fc;
}
.contact-copy > p {
	margin-top: 25px;
	color: #9bb9dd;
	font-size: 13px;
	line-height: 1.9;
	max-width: 350px;
}
.contact-channels {
	margin-top: 38px;
}
.contact-channel {
	display: flex;
	align-items: center;
	gap: 17px;
	padding: 19px 0;
	border-bottom: 1px solid #bdd8ff24;
	transition: color 0.2s;
}
.contact-channel:hover {
	color: #d3e3fc;
}
.contact-channel-icon {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 43px;
	height: 43px;
	border: 1px solid #bdd8ff37;
	background: #bdd8ff09;
	border-radius: 11px;
	color: #bdd8ff;
	flex-shrink: 0;
}
.contact-channel > span:nth-child(2) {
	min-width: 0;
}
.contact-channel small {
	display: block;
	font-size: 8px;
	color: #6d89ad;
	letter-spacing: 0.1em;
	margin-bottom: 5px;
}
.contact-channel strong {
	display: block;
	font-size: 13px;
	font-weight: 400;
	color: #d3e3fc;
	overflow-wrap: anywhere;
}
.contact-channel > span:last-child {
	margin-left: auto;
	color: #9bb9dd;
	font-size: 18px;
}
.contact-source {
	display: inline-block;
	font-size: 8px;
	color: #6d89ad;
	text-decoration: underline;
	text-underline-offset: 4px;
	margin-top: 20px;
}
.contact-purpose {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: 40px;
	color: #6d89ad;
	font-size: 11px;
}
.contact-purpose b {
	color: #bdd8ff;
	font-family: Georgia, serif;
	font-size: 21px;
	font-weight: 400;
}
.contact-purpose i {
	width: 44px;
	height: 44px;
	border: 1px solid #d3e3fc65;
	border-radius: 50%;
	position: relative;
	box-shadow: 0 0 0 8px #d3e3fc07;
}
.contact-purpose i:after {
	content: "";
	position: absolute;
	inset: 12px;
	background: #bdd8ff57;
	border-radius: 50%;
}
.contact-form {
	background: #f0f5ff;
	border: 1px solid #e6efff88;
	border-radius: 15px;
	padding: 32px;
	color: #102d55;
	box-shadow: 0 22px 65px #030e2433;
	min-width: 0;
}
.contact-form-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 15px;
}
.contact-form-heading .eyebrow {
	font-size: 9px;
	letter-spacing: 0.1em;
	color: #6d89ad;
	margin: 0;
}
.contact-form-heading > span:last-child {
	font-size: 25px;
	color: #6d89ad;
}
.contact-form h3 {
	font-size: 25px;
	font-weight: 500;
}
.contact-form > p:not(.contact-form-note):not(.contact-status) {
	font-size: 11px;
	color: #6d89ad;
	margin-top: 10px;
}
.contact-topics {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	border: 0;
	padding: 0;
	margin: 27px 0 22px;
}
.contact-topics legend {
	padding: 0;
	font-size: 10px;
	color: #6d89ad;
	margin-bottom: 10px;
}
.contact-topics label {
	position: relative;
	cursor: pointer;
}
.contact-topics input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}
.contact-topics label > span {
	display: block;
	font-size: 9px;
	border: 1px solid #d3e3fc;
	border-radius: 5px;
	padding: 9px 11px;
	background: #f0f5ff;
	color: #6d89ad;
}
.contact-topics input:checked + span {
	background: #d3e3fc;
	border-color: #9bb9dd;
	color: #23466c;
}
.contact-topics input:focus-visible + span {
	outline: 2px solid #6d89ad;
	outline-offset: 3px;
}
.contact-field-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
}
.contact-form > label,
.contact-field-row label,
.contact-draft-panel > label {
	display: block;
	font-size: 10px;
	color: #52667f;
	margin: 16px 0 8px;
}
.contact-form > label > span {
	color: #9bb9dd;
}
.contact-form input:not([type="radio"]),
.contact-form textarea {
	width: 100%;
	border: 1px solid #d3e3fc;
	background: #ffffff;
	border-radius: 6px;
	font-size: 12px;
	color: #23466c;
	padding: 12px 13px;
	outline-offset: 3px;
}
.contact-form input::placeholder,
.contact-form textarea::placeholder {
	color: #9bb9dd;
	font-size: 11px;
}
.contact-form textarea {
	resize: vertical;
	min-height: 115px;
}
.contact-form .button {
	display: flex;
	width: 100%;
	justify-content: space-between;
	background: #23466c;
	color: #f0f5ff;
	margin-top: 20px;
	min-height: 49px;
}
.contact-form-note {
	font-size: 9px;
	color: #9bb9dd;
	line-height: 1.8;
	margin-top: 14px;
}
.contact-status {
	font-size: 10px;
	color: #52667f;
	margin-top: 14px;
	line-height: 1.8;
}
.contact-status:empty {
	display: none;
}
.contact-draft-panel {
	margin-top: 24px;
	border-top: 1px solid #d3e3fc;
	padding-top: 5px;
}
.contact-copy-button {
	border: 1px solid #bdd8ff;
	border-radius: 5px;
	background: #e6efff;
	color: #52667f;
	font-size: 10px;
	padding: 10px 14px;
	margin-top: 9px;
}
[hidden] {
	display: none !important;
}
@keyframes achievement-orbit {
	to {
		transform: rotate(360deg);
	}
}
@keyframes premium-enter {
	from {
		opacity: 0.4;
		translate: 0 4px;
	}
	to {
		opacity: 1;
		translate: 0 0;
	}
}
@media (max-width: 1050px) {
	.home-page .hero {
		height: 700px;
	}
	.home-page .hero h1 {
		font-size: 67px;
	}
	.hero-orbits {
		right: -10%;
	}
	.home-page .hero-art {
		width: 67%;
		right: -12%;
		opacity: 0.75;
	}
	.purpose-section {
		gap: 6%;
	}
	.purpose-gallery {
		min-height: 480px;
	}
	.purpose-seal {
		width: 112px;
		height: 112px;
		padding: 21px;
		right: 0;
	}
	.purpose-seal strong {
		font-size: 21px;
	}
	.achievement-layout {
		gap: 4%;
	}
	.achievement-photo {
		height: 195px;
	}
	.achievement-card-copy {
		padding: 25px;
	}
	.achievement-card h3 {
		font-size: 25px;
	}
	.achievement-node {
		width: 44px;
		height: 44px;
	}
	.achievement-node > span {
		font-size: 7px;
		width: 97px;
	}
	.achievement-center strong {
		font-size: 35px;
	}
	.achievement-center > span {
		font-size: 8px;
	}
	.achievement-center p {
		font-size: 9px;
	}
	.achievement-center i {
		margin: 14px 0 10px;
	}
	.faq-section {
		gap: 6%;
		grid-template-columns: 0.8fr 1.2fr;
	}
	.contact-section {
		gap: 5%;
	}
	.contact-form {
		padding: 27px;
	}
	.contact-copy h2 {
		font-size: 40px;
	}
}
@media (max-width: 760px) {
	.home-page .hero {
		height: 735px;
		padding-top: 48px;
	}
	.home-page .hero h1 {
		font-size: clamp(43px, 7.8vw, 60px);
	}
	.home-page .hero p {
		max-width: 340px;
		font-size: 13px;
		margin: 22px 0 26px;
	}
	.home-page .hero-art {
		width: 95%;
		right: -30%;
		height: 65%;
		opacity: 0.65;
	}
	.home-page .hero:after {
		background: linear-gradient(180deg, #071b32 0%, #071b3233 75%, #071b32b8 100%);
	}
	.hero-orbits {
		width: 390px;
		height: 390px;
		top: 290px;
		right: -130px;
	}
	.hero-footprint {
		width: auto;
		right: 7%;
		padding: 20px 0 0;
		bottom: 27px;
		gap: 12px;
	}
	.hero-footprint strong {
		font-size: 23px;
	}
	.hero-footprint span {
		font-size: 8px;
	}
	.home-page .hero .button {
		min-height: 47px;
		padding: 13px 17px;
		font-size: 11px;
		gap: 18px;
	}
	.purpose-section {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.purpose-gallery {
		max-width: 500px;
		width: 100%;
		min-height: 470px;
		margin: 0 auto;
	}
	.purpose-copy h2 {
		font-size: 38px;
	}
	.purpose-lead {
		font-size: 19px;
	}
	.purpose-seal {
		right: 3%;
	}
	.achievement-layout {
		grid-template-columns: 1fr;
		gap: 25px;
	}
	.achievement-wheel {
		max-width: 480px;
	}
	.achievement-center strong {
		font-size: clamp(31px, 8.2vw, 45px);
	}
	.achievement-center p {
		font-size: 10px;
		max-width: 150px;
	}
	.achievement-card {
		max-width: 520px;
		width: 100%;
		margin: 0 auto;
	}
	.achievement-photo {
		height: 220px;
	}
	.achievement-node > span {
		font-size: 8px;
		width: 100px;
	}
	.achievement-wheel-nav {
		margin-bottom: 0;
	}
	.achievement-note {
		margin-top: 25px;
	}
	.faq-section {
		grid-template-columns: 1fr;
		gap: 35px;
	}
	.faq-intro {
		position: static;
	}
	.faq-intro > p {
		max-width: none;
	}
	.faq-support {
		display: none;
	}
	.faq-list {
		max-height: min(24rem, 55vh);
		max-height: min(24rem, 55svh);
	}
	.faq-item summary {
		font-size: 12px;
		gap: 10px;
		grid-template-columns: 20px 1fr 26px;
	}
	.faq-answer {
		padding-left: 30px;
		padding-right: 30px;
	}
	.faq-categories button {
		min-height: 44px;
		font-size: 10px;
	}
	.contact-section {
		grid-template-columns: 1fr;
		gap: 38px;
	}
	.contact-copy h2 {
		font-size: 42px;
	}
	.contact-copy > p {
		max-width: 420px;
	}
	.contact-purpose {
		margin-top: 25px;
	}
	.contact-form {
		padding: 27px;
	}
	.contact-topics label > span {
		min-height: 44px;
		display: flex;
		align-items: center;
		font-size: 10px;
	}
	.contact-form input:not([type="radio"]) {
		min-height: 46px;
	}
	.home-page .program-card {
		padding: 23px;
	}
	.home-page .program-card h3 {
		font-size: 15px;
	}
}
@media (max-width: 400px) {
	.home-page .hero h1 {
		font-size: 43px;
	}
	.home-page .hero-art {
		width: 118%;
		right: -50%;
	}
	.hero-footprint strong {
		font-size: 20px;
	}
	.home-page .hero p {
		max-width: 310px;
	}
	.home-page .hero .eyebrow {
		font-size: 8px;
	}
	.purpose-gallery {
		min-height: 400px;
	}
	.purpose-main-photo {
		width: 79%;
	}
	.purpose-seal {
		width: 99px;
		height: 99px;
		padding: 17px;
	}
	.purpose-seal strong {
		font-size: 19px;
	}
	.achievement-node {
		width: 44px;
		height: 44px;
	}
	.achievement-node svg {
		width: 19px;
		height: 19px;
	}
	.achievement-node > span {
		font-size: 7px;
		width: 80px;
	}
	.achievement-center > span {
		font-size: 7px;
	}
	.achievement-center p {
		font-size: 8px;
		max-width: 112px;
	}
	.achievement-center strong {
		font-size: 29px;
		margin-top: 11px;
	}
	.achievement-center i {
		margin: 9px 0 8px;
	}
	.achievement-card-copy {
		padding: 23px;
	}
	.achievement-card h3 {
		font-size: 26px;
	}
	.contact-form {
		padding: 22px;
	}
	.contact-field-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.contact-copy h2 {
		font-size: 36px;
	}
	.contact-channel {
		gap: 13px;
	}
	.contact-channel strong {
		font-size: 12px;
	}
	.home-page .program-card {
		padding: 19px;
	}
}
@media (prefers-reduced-motion: reduce) {
	.dial-orbit,
	.achievement-card-copy,
	.faq-answer {
		animation: none;
	}
	.achievement-segment,
	.achievement-node,
	.faq-plus {
		transition: none;
	}
	.home-page .program-card:hover {
		transform: none;
	}
}

.premium-sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* CMS answers may include rich content wider than the original plain text. */
.faq-answer {
	overflow-wrap: anywhere;
}
.faq-answer img {
	max-width: 100%;
	height: auto;
}
.faq-answer table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}
