/* Contact page. */

.contact-hero { padding-block: clamp(24px, 5vw, 72px) clamp(40px, 8vw, 115px); }
.contact-hero__title { font-size: clamp(44px, 7.222vw, 104px); }
.contact-hero__title span { display: block; }
.contact-hero__lede { max-width: 20em; font-size: clamp(19px, 1.806vw, 26px); line-height: 1.27; }
.contact-hero .jdl-split { --split-left: 761fr; --split-right: 551fr; align-items: start; }
.contact-hero__lede { margin-top: clamp(0px, 2.9vw, 42px); }
.contact-main__info :focus-visible { outline-color: #fff; }

.contact-main {
	display: grid;
	grid-template-columns: minmax(0, 650fr) minmax(0, 790fr);
}
.contact-main__info {
	display: flex;
	flex-direction: column;
	padding: clamp(40px, 4.6vw, 67px) clamp(24px, 4.5vw, 64px) clamp(40px, 4.4vw, 64px) max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter)));
	background: var(--navy);
	color: #fff;
}
.contact-main__info .jdl-eyebrow { color: #A9BDD6; }
.contact-main__title {
	margin-top: clamp(32px, 5vw, 72px);
	font-size: clamp(44px, 5.764vw, 83px);
	line-height: 1.03;
}
.contact-main__title span { display: block; }
.contact-main__text {
	margin-top: clamp(24px, 2.6vw, 38px);
	max-width: 22.5em;
	font-size: clamp(17px, 1.597vw, 23px);
	line-height: 1.35;
}
.contact-main__details {
	margin-top: auto;
	padding-top: clamp(40px, 5.5vw, 80px);
	display: flex;
	flex-direction: column;
	font-family: var(--font-serif);
	font-size: clamp(22px, 1.736vw, 25px);
	line-height: 1.4;
}
.contact-main__details a {
	align-self: flex-start;
	display: inline-flex;
	align-items: center;
	min-height: var(--tap);
	color: #fff;
	text-decoration: none;
}
.contact-main__details a:hover,
.contact-main__details a:focus-visible { text-decoration: underline; text-underline-offset: 0.2em; }
.contact-main__form {
	padding: clamp(40px, 4.8vw, 70px) max(var(--gutter), calc((100vw - var(--max)) / 2 + var(--gutter))) clamp(40px, 5vw, 72px) clamp(24px, 4.5vw, 65px);
}

.contact-strap { padding-block: clamp(40px, 5vw, 72px) 0; }
.contact-strap__text { font-family: var(--font-serif); line-height: 1.2; }

@media (max-width: 860px) {
	.contact-main { grid-template-columns: minmax(0, 1fr); }
	.contact-main__info { padding: 40px var(--gutter); }
	.contact-main__form { padding: 40px var(--gutter) 48px; }
	.contact-main__details { padding-top: 32px; }
}
