@font-face {
	font-family: "Inter Tight";
	src: url("../fonts/inter-tight-latin.woff2") format("woff2");
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
}

@font-face {
	font-family: "Inter Tight";
	src: url("../fonts/inter-tight-italic-latin.woff2") format("woff2");
	font-style: italic;
	font-weight: 100 900;
	font-display: swap;
}

:root {
	--hcu-navy: #22335d;
	--hcu-yellow: #fdc608;
	--hcu-paper: #f3f0ee;
	--hcu-ink: #22335d;
	--hcu-white: #fff;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	min-width: 320px;
	background: #d8d9da;
}

body {
	min-height: 100vh;
	margin: 0;
	background: #d8d9da;
	color: var(--hcu-ink);
	font-family: "Inter Tight", Arial, sans-serif;
	-webkit-font-smoothing: antialiased;
}

a {
	color: inherit;
}

img {
	display: block;
	height: auto;
	max-width: 100%;
}

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

.hcu-page {
	display: flex;
	min-height: 100vh;
	align-items: center;
	justify-content: center;
	padding: clamp(0px, 2.5vw, 40px);
}

.hcu-card {
	width: min(100%, 1220px);
	overflow: hidden;
	background: var(--hcu-paper);
	box-shadow: 0 18px 55px rgb(16 27 53 / 18%);
}

.hcu-hero {
	position: relative;
	min-height: clamp(360px, 38vw, 465px);
	overflow: hidden;
	isolation: isolate;
}

.hcu-hero__image {
	position: absolute;
	inset: 0;
	z-index: -2;
	background: url("../images/home-cnc-mood01-blur.jpg") left center / cover no-repeat;
}

.hcu-hero::after {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(180deg, rgb(255 255 255 / 68%) 0%, rgb(255 255 255 / 30%) 18%, rgb(255 255 255 / 0%) 42%);
	content: "";
}

.hcu-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 36px;
	padding: clamp(24px, 2.65vw, 32px) clamp(40px, 5.25vw, 64px) 0 clamp(48px, 9.5vw, 116px);
}

.hcu-services {
	display: grid;
	flex: 0 1 740px;
	grid-template-columns: 29% 30% 29% 12%;
	margin: 0;
	padding: 0;
	font-size: clamp(17px, 1.8vw, 23px);
	font-weight: 700;
	line-height: 1.1;
	list-style: none;
}

.hcu-partners {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 16px;
}

.hcu-partners a {
	display: block;
	transition: opacity 160ms ease, transform 160ms ease;
}

.hcu-partner--jhv {
	width: clamp(56px, 5.25vw, 64px);
}

.hcu-partner--lhm {
	width: clamp(112px, 10.5vw, 128px);
}

.hcu-partners a:hover,
.hcu-partners a:focus-visible,
.hcu-main-logo:hover,
.hcu-main-logo:focus-visible {
	opacity: .78;
	transform: translateY(-2px);
}

.hcu-question {
	position: absolute;
	top: 44%;
	right: clamp(36px, 4.7vw, 58px);
	width: min(48%, 570px);
	margin: 0;
	transform: translateY(-30%);
	font-size: clamp(38px, 4.4vw, 58px);
	font-weight: 750;
	line-height: 1.02;
	letter-spacing: -.035em;
}

.hcu-intro {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
	gap: clamp(34px, 7vw, 96px);
	min-height: 340px;
	padding: clamp(72px, 7vw, 92px) clamp(32px, 7.5vw, 92px) clamp(38px, 4.5vw, 56px);
	background: var(--hcu-navy);
	color: var(--hcu-white);
}

.hcu-kicker {
	position: absolute;
	top: -33px;
	left: clamp(32px, 7.5vw, 92px);
	min-width: min(410px, calc(100% - 64px));
	padding: 13px 22px 14px;
	background: var(--hcu-yellow);
	color: var(--hcu-navy);
	font-size: clamp(18px, 2vw, 23px);
	font-weight: 750;
	line-height: 1.16;
}

.hcu-intro__copy h2 {
	margin: 0 0 28px;
	color: var(--hcu-yellow);
	font-size: clamp(42px, 5vw, 58px);
	font-weight: 780;
	line-height: 1.04;
	letter-spacing: -.035em;
}

.hcu-intro__copy p {
	max-width: 575px;
	margin: 0;
	font-size: clamp(17px, 1.7vw, 20px);
	font-weight: 400;
	line-height: 1.45;
}

.hcu-intro__brand {
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
}

.hcu-main-logo {
	display: block;
	width: min(100%, 350px);
	transition: opacity 160ms ease, transform 160ms ease;
}

.hcu-cta {
	display: inline-flex;
	min-height: 48px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 11px 24px;
	background: var(--hcu-yellow);
	color: var(--hcu-navy);
	font-size: clamp(16px, 1.55vw, 19px);
	font-weight: 750;
	text-decoration: none;
	transition: background-color 160ms ease, transform 160ms ease;
}

.hcu-cta:hover,
.hcu-cta:focus-visible {
	background: #ffd43e;
	transform: translateY(-2px);
}

.hcu-cta__arrow {
	font-size: 1.25em;
	line-height: 1;
}

.hcu-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	padding: 21px clamp(32px, 7.5vw, 92px);
	background: var(--hcu-paper);
	color: var(--hcu-navy);
	font-size: clamp(14px, 1.55vw, 18px);
}

.hcu-footer address {
	font-style: normal;
}

.hcu-footer address a {
	white-space: nowrap;
	text-decoration-color: rgb(34 51 93 / 38%);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.hcu-footer address a:hover,
.hcu-footer address a:focus-visible {
	text-decoration-color: currentColor;
}

.hcu-powered {
	flex: 0 0 auto;
	font-style: italic;
	text-decoration: none;
	white-space: nowrap;
}

.hcu-powered:hover,
.hcu-powered:focus-visible {
	text-decoration: underline;
	text-underline-offset: 3px;
}

a:focus-visible {
	outline: 3px solid var(--hcu-yellow);
	outline-offset: 4px;
}

@media (max-width: 900px) {
	.hcu-page {
		align-items: flex-start;
		padding: 0;
	}

	.hcu-card {
		box-shadow: none;
	}

	.hcu-hero {
		min-height: 520px;
	}

	.hcu-hero__image {
		background-position: 34% center;
	}

	.hcu-hero::after {
		background: linear-gradient(180deg, rgb(242 242 241 / 94%) 0, rgb(242 242 241 / 80%) 25%, rgb(242 242 241 / 45%) 55%, rgb(34 51 93 / 72%) 100%);
	}

	.hcu-topbar {
		align-items: center;
		flex-wrap: wrap-reverse;
		padding: 24px;
	}

	.hcu-services {
		display: flex;
		flex: 1 0 100%;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 12px 26px;
		font-size: 17px;
	}

	.hcu-partners {
		margin-left: auto;
	}

	.hcu-question {
		top: auto;
		right: 24px;
		bottom: 42px;
		left: 24px;
		width: auto;
		transform: none;
		color: var(--hcu-white);
		font-size: clamp(40px, 8.5vw, 62px);
		text-shadow: 0 2px 18px rgb(0 0 0 / 25%);
	}

	.hcu-intro {
		grid-template-columns: 1fr;
		gap: 48px;
		padding: 84px 32px 48px;
	}

	.hcu-intro__copy p {
		max-width: 680px;
	}

	.hcu-intro__brand {
		align-items: flex-start;
	}

	.hcu-main-logo {
		width: min(75%, 350px);
	}

	.hcu-footer {
		align-items: flex-start;
		flex-direction: column;
		padding: 24px 32px;
		line-height: 1.55;
	}
}

@media (max-width: 560px) {
	.hcu-hero {
		min-height: 500px;
	}

	.hcu-services li {
		width: calc(50% - 13px);
	}

	.hcu-kicker {
		left: 20px;
		min-width: 0;
		max-width: calc(100% - 40px);
	}

	.hcu-intro {
		padding-right: 20px;
		padding-left: 20px;
	}

	.hcu-intro__copy h2 {
		font-size: clamp(38px, 12vw, 52px);
	}

	.hcu-main-logo {
		width: min(90%, 350px);
	}

	.hcu-cta {
		width: 100%;
	}

	.hcu-footer {
		padding-right: 20px;
		padding-left: 20px;
	}
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}

