/* ==========================================================================
   Contact — Hero
   ========================================================================== */
.contact header {
	background: transparent;
}
.contact header.full_width {
	position: relative;
	z-index: 2;
	overflow: visible;
}
.contact_hero {
	position: relative;
	z-index: 1;
	text-align: center;
}
.contact_hero::before {
	content: "";
	position: absolute;
	width: 200vw;
	height: 200vw;
	background-image: url(../img/hero_decal_2.svg);
	background-size: cover;
	left: 50%;
	transform: translateX(-50%);
	bottom: 200px;
	z-index: -1;
	pointer-events: none;
}
.contact_hero_heading {
	font-weight: 700;
	font-size: 84px;
	text-align: center;
	max-width: 700px;
	margin: 0 auto 20px;
}
.contact_hero_heading span {
	color: var(--brand-accent);
	font-weight: 700;
}
.contact_hero_description {
	font-size: 25px;
	font-weight: 400;
	line-height: 1.6;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

@media only screen and (max-width: 860px) {
	.contact_hero_heading span {
		color: var(--brand-dark-background);
	}
}
/* 769px is the site's common tablet/mobile breakpoint (nav collapse, mobile
   gutter, etc.) — matching it here keeps the hero text change lined up with
   everything else that shifts at the same viewport width. */
@media only screen and (min-width: 426px) and (max-width: 769px) {
	.contact_hero_heading {
		font-size: 64px;
	}
}
@media only screen and (max-width: 769px) {
	.contact_hero::before {
		bottom: 160px;
	}
	.contact_hero_description {
		font-size: 18px;
	}
}
@media only screen and (max-width: 425px) {
	.contact_hero_heading {
		font-size: 40px;
	}
}

/* ==========================================================================
   Contact — Form
   ========================================================================== */
.contact_section_1 h3,
.contact_section_2 h3,
.contact_section_3 h3 {
	font-size: 32px;
	font-weight: 700;
}
