/**
 * Get in Touch section styles.
 */

.get-in-touch {
	--get-in-touch-pad-block: 3.75rem; /* 60px */
	--get-in-touch-card-bg: var(--color-white);
	--get-in-touch-card-radius: 0.25rem; /* 4px */
	--get-in-touch-card-pad: 2.5rem; /* 40px */
	--get-in-touch-card-max: calc(32.375rem * var(--container-content-scale)); /* 518px */
	--get-in-touch-content-max: calc(27.375rem * var(--container-content-scale)); /* 438px */
	--get-in-touch-content-gap: 1.5rem; /* 24px */
	--get-in-touch-header-gap: 1.75rem; /* 28px */
	--get-in-touch-headline-size: var(--type-h2-size);
	--get-in-touch-headline-line: 1.1;
	--get-in-touch-headline-tracking: -0.01em; /* -0.38px */
	--get-in-touch-body-size: 1rem;
	--get-in-touch-body-line: 1.5;
	--get-in-touch-text: var(--color-navy);
	--get-in-touch-field-bg: rgba(177, 186, 195, 0.5);
	--get-in-touch-field-radius: 0.25rem; /* 4px — matches card / design screenshot */
	--get-in-touch-field-gap: 0.5rem; /* 8px */
	--get-in-touch-field-row-gap: 1.5625rem; /* 25px — Figma tops 0 / 59 / 118 */
	--get-in-touch-field-pad-block: 0.75rem; /* 12px */
	--get-in-touch-field-pad-inline: 1.1875rem; /* 19px */
	--get-in-touch-field-height: 3rem; /* 48px — 12 + 24 + 12 */
	--get-in-touch-message-height: 3.75rem; /* 60px — short textarea, slightly taller than inputs */
	--get-in-touch-footer-gap: 1.5rem; /* Space above submit */
	--get-in-touch-min-height: clamp(28rem, 44.65vw, 40.1875rem); /* → 643px */
	--get-in-touch-overlay: linear-gradient(
			90deg,
			rgb(50, 50, 50) 2.78%,
			rgba(50, 50, 50, 0) 62.57%
		),
		linear-gradient(
			0deg,
			rgb(0, 50, 70) 0%,
			rgba(50, 50, 50, 0.33) 37.07%,
			rgba(50, 50, 50, 0) 55.33%
		);

	/* Figma CtaDark — 16px / Regular / tracking 0.32px / h 48 / gap 20 / icon 32 */
	--btn-navy-font-size: 1rem;
	--btn-navy-font-weight: 400;
	--btn-navy-letter-spacing: 0.02em;
	--btn-navy-line-height: 1.2375; /* 19.8 / 16 */
	--btn-navy-min-height: 3rem; /* 48px */
	--btn-navy-padding-block: 0.4375rem; /* 7px */
	--btn-navy-padding-inline: 1.5rem; /* 24px */
	--btn-navy-gap: 1.25rem; /* 20px */
	--btn-navy-icon-size: 2rem; /* 32px */
	--btn-navy-border-radius: 1.875rem; /* 30px */

	position: relative;
	display: flex;
	align-items: stretch;
	min-height: var(--get-in-touch-min-height);
	overflow: hidden;
	isolation: isolate;
	background-color: #323232;
	color: var(--get-in-touch-text);
}

.get-in-touch__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.get-in-touch__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.get-in-touch__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background-image: var(--get-in-touch-overlay);
}

.get-in-touch__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: var(--container-outer-max);
	margin-inline: auto;
	padding: var(--get-in-touch-pad-block) var(--container-pad-inline);
}

.get-in-touch__card {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: var(--get-in-touch-card-max);
	padding: var(--get-in-touch-card-pad);
	background-color: var(--get-in-touch-card-bg);
	border-radius: var(--get-in-touch-card-radius) 0 0 var(--get-in-touch-card-radius);
}

.get-in-touch__content {
	display: flex;
	flex-direction: column;
	gap: var(--get-in-touch-content-gap);
	width: 100%;
	max-width: var(--get-in-touch-content-max);
}

.get-in-touch__header {
	display: flex;
	flex-direction: column;
	gap: var(--get-in-touch-header-gap);
}

.get-in-touch__headline {
	margin: 0;
	font-family: var(--font-family-display);
	font-size: var(--get-in-touch-headline-size);
	font-weight: 400;
	line-height: var(--get-in-touch-headline-line);
	letter-spacing: var(--get-in-touch-headline-tracking);
	color: var(--get-in-touch-text);
}

.get-in-touch__description {
	margin: 0;
	font-family: var(--font-family-sans);
	font-size: var(--get-in-touch-body-size);
	font-weight: 400;
	line-height: var(--get-in-touch-body-line);
	color: var(--get-in-touch-text);
	opacity: 0.75;
}

.get-in-touch__description p {
	margin: 0;
}

.get-in-touch__description a {
	color: var(--content-link, var(--color-teal));
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.get-in-touch__description a:hover,
.get-in-touch__description a:focus-visible {
	color: var(--content-link-hover, var(--color-navy));
}

.get-in-touch__actions {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	padding-block-start: var(--get-in-touch-footer-gap);
}

.get-in-touch__cta,
.get-in-touch__submit {
	max-width: 100%;
}

.get-in-touch__cta-label {
	text-align: center;
}

.get-in-touch__cta-icon img {
	display: block;
	width: auto;
	height: auto;
	object-fit: contain;
}

/* -------------------------------------------------------------------------
   Gravity Forms — Figma field grid + navy CTA submit
   ------------------------------------------------------------------------- */

.get-in-touch__form {
	width: 100%;
}

.get-in-touch__form .gform_wrapper,
.get-in-touch__form .gform_wrapper.gravity-theme,
.get-in-touch__form .gform-theme--framework {
	margin: 0;
	padding: 0;
	container-type: normal;
}

.get-in-touch__form .gform_heading,
.get-in-touch__form .gform_validation_errors,
.get-in-touch__form .gform_required_legend,
.get-in-touch__form .gform_ajax_spinner,
.get-in-touch__form .gf_progressbar_wrapper {
	display: none !important;
}

.get-in-touch__form .gform_body {
	margin: 0;
	padding: 0;
}

.get-in-touch__form .gform_fields,
.get-in-touch__form .gform_wrapper .gform_fields,
.get-in-touch__form .gform_wrapper.gravity-theme .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: var(--get-in-touch-field-row-gap) var(--get-in-touch-field-gap) !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	row-gap: var(--get-in-touch-field-row-gap) !important;
	column-gap: var(--get-in-touch-field-gap) !important;
}

.get-in-touch__form .gfield,
.get-in-touch__form .gform_wrapper .gfield {
	grid-column: span 1;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.get-in-touch__form .gfield--width-full,
.get-in-touch__form .gfield.gfield--width-full,
.get-in-touch__form .gfield--type-textarea,
.get-in-touch__form .gfield--type-html,
.get-in-touch__form .gfield_html {
	grid-column: 1 / -1 !important;
}

.get-in-touch__form .gfield_label,
.get-in-touch__form .gform_wrapper .gfield_label,
.get-in-touch__form .gfield .gfield_label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.get-in-touch__form .gfield_required,
.get-in-touch__form .gfield_description,
.get-in-touch__form .gsection,
.get-in-touch__form .ginput_counter {
	display: none !important;
}

.get-in-touch__form .ginput_container,
.get-in-touch__form .gform_wrapper .ginput_container {
	margin: 0 !important;
	padding: 0 !important;
}

.get-in-touch__form .gform_wrapper input[type='text'],
.get-in-touch__form .gform_wrapper input[type='email'],
.get-in-touch__form .gform_wrapper input[type='tel'],
.get-in-touch__form .gform_wrapper input[type='url'],
.get-in-touch__form .gform_wrapper input[type='number'],
.get-in-touch__form .gform_wrapper input[type='password'],
.get-in-touch__form .gform_wrapper select,
.get-in-touch__form .gform_wrapper textarea,
.get-in-touch__form .gform-theme--framework input[type='text'],
.get-in-touch__form .gform-theme--framework input[type='email'],
.get-in-touch__form .gform-theme--framework input[type='tel'],
.get-in-touch__form .gform-theme--framework textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	height: var(--get-in-touch-field-height) !important;
	min-height: var(--get-in-touch-field-height) !important;
	margin: 0 !important;
	padding: var(--get-in-touch-field-pad-block) var(--get-in-touch-field-pad-inline) !important;
	border: 0 !important;
	border-radius: var(--get-in-touch-field-radius) !important;
	background: var(--get-in-touch-field-bg) !important;
	background-color: var(--get-in-touch-field-bg) !important;
	color: var(--get-in-touch-text) !important;
	font-family: var(--font-family-sans) !important;
	font-size: var(--get-in-touch-body-size) !important;
	font-weight: 400 !important;
	line-height: var(--get-in-touch-body-line) !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

.get-in-touch__form .gform_wrapper textarea,
.get-in-touch__form .gform-theme--framework textarea,
.get-in-touch__form textarea.textarea {
	height: var(--get-in-touch-message-height) !important;
	min-height: var(--get-in-touch-message-height) !important;
	max-height: var(--get-in-touch-message-height) !important;
	padding: var(--get-in-touch-field-pad-block) var(--get-in-touch-field-pad-inline) !important;
	field-sizing: fixed !important;
	resize: none;
	overflow: auto;
}

.get-in-touch__form .gform_wrapper input::placeholder,
.get-in-touch__form .gform_wrapper textarea::placeholder,
.get-in-touch__form .gform-theme--framework input::placeholder,
.get-in-touch__form .gform-theme--framework textarea::placeholder {
	color: var(--get-in-touch-text) !important;
	opacity: 0.75 !important;
	font-weight: 400 !important;
}

.get-in-touch__form .gform_wrapper input:focus,
.get-in-touch__form .gform_wrapper textarea:focus,
.get-in-touch__form .gform-theme--framework input:focus,
.get-in-touch__form .gform-theme--framework textarea:focus {
	outline: 2px solid var(--color-navy) !important;
	outline-offset: 2px !important;
	background-color: var(--get-in-touch-field-bg) !important;
}

.get-in-touch__form .gform_footer,
.get-in-touch__form .gform_page_footer,
.get-in-touch__form .gform_wrapper .gform_footer {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	min-height: 0 !important;
	margin: var(--get-in-touch-footer-gap) 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	gap: 0 !important;
}

/* Match post-grid View All CTA — rely on global .btn--navy hover */
.get-in-touch__form .get-in-touch__submit.btn.btn--navy {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: var(--btn-navy-gap) !important;
	width: auto !important;
	min-width: 0 !important;
	min-height: var(--btn-navy-min-height) !important;
	height: var(--btn-navy-min-height) !important;
	margin: 0 !important;
	padding: var(--btn-navy-padding-block) var(--btn-navy-padding-inline) !important;
	border-width: var(--btn-navy-border-width) !important;
	border-style: solid !important;
	border-radius: var(--btn-navy-border-radius) !important;
	border-color: var(--btn-navy-border) !important;
	background-color: var(--btn-navy-bg) !important;
	background-image: none !important;
	color: var(--btn-navy-text) !important;
	font-family: var(--font-family-sans) !important;
	font-size: var(--btn-navy-font-size) !important;
	font-weight: var(--btn-navy-font-weight) !important;
	letter-spacing: var(--btn-navy-letter-spacing) !important;
	line-height: var(--btn-navy-line-height) !important;
	text-transform: none !important;
	text-shadow: none !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: var(--btn-navy-transition) !important;
}

.get-in-touch__form .get-in-touch__submit.btn.btn--navy:hover,
.get-in-touch__form .get-in-touch__submit.btn.btn--navy:focus-visible {
	background-color: var(--btn-navy-bg-hover) !important;
	border-color: var(--btn-navy-border-hover) !important;
	color: var(--btn-navy-text-hover) !important;
}

.get-in-touch__form .get-in-touch__submit.btn.btn--navy:focus-visible {
	outline: 2px solid var(--btn-navy-border-focus);
	outline-offset: 3px;
}

.get-in-touch__form .get-in-touch__submit .get-in-touch__cta-label {
	display: inline-block;
	flex: 0 1 auto;
	color: inherit;
	line-height: inherit;
	white-space: nowrap;
}

.get-in-touch__form .get-in-touch__submit .btn__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 auto !important;
	flex-shrink: 0 !important;
	width: var(--btn-navy-icon-size) !important;
	height: var(--btn-navy-icon-size) !important;
	margin: 0 !important;
	padding: 0 !important;
	border-radius: 50% !important;
	background-color: var(--btn-navy-icon-bg) !important;
	overflow: hidden;
	transition: background-color 0.3s ease !important;
}

.get-in-touch__form .get-in-touch__submit.btn.btn--navy:hover .btn__icon,
.get-in-touch__form .get-in-touch__submit.btn.btn--navy:focus-visible .btn__icon {
	background-color: var(--btn-navy-icon-bg-hover) !important;
}

.get-in-touch__form .get-in-touch__submit .btn__icon img {
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: var(--btn-icon-img-size) !important;
	max-height: var(--btn-icon-img-size) !important;
	margin: 0 !important;
	object-fit: contain;
	transform: rotate(0deg);
	transform-origin: center;
	transition: transform 0.3s ease, filter 0.3s ease;
	filter: none;
}

.get-in-touch__form .get-in-touch__submit.btn.btn--navy:hover .btn__icon img,
.get-in-touch__form .get-in-touch__submit.btn.btn--navy:focus-visible .btn__icon img {
	transform: rotate(-45deg);
	filter: brightness(0) invert(1);
}

@media (prefers-reduced-motion: reduce) {
	.get-in-touch__form .get-in-touch__submit,
	.get-in-touch__form .get-in-touch__submit .btn__icon,
	.get-in-touch__form .get-in-touch__submit .btn__icon img {
		transition: none !important;
	}
}

.get-in-touch__form .validation_message,
.get-in-touch__form .gfield_validation_message,
.get-in-touch__form .gform_wrapper .validation_message {
	display: block !important;
	margin-block-start: 0.35rem !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	font-size: 0.875rem;
	line-height: 1.3;
	color: #8a1f1f;
}

@media (max-width: 47.9375rem) {
	.get-in-touch {
		--get-in-touch-pad-block: 2.5rem;
		--get-in-touch-card-pad: 1.5rem;
		--get-in-touch-min-height: 0;
		--get-in-touch-footer-gap: 1.25rem;
		--get-in-touch-field-row-gap: 0.75rem; /* Tighter stack on mobile */
		--get-in-touch-content-gap: 1.25rem;
		--btn-navy-padding-inline: 1.25rem; /* 20px */
		--btn-navy-gap: 0.75rem; /* 12px */
		--btn-navy-font-size: 0.9375rem; /* 15px — fits long CTA label */
		--btn-navy-min-height: 3rem; /* 48px */
	}

	.get-in-touch__inner {
		padding-inline: var(--container-pad-inline);
	}

	.get-in-touch__card {
		max-width: none;
		border-radius: var(--get-in-touch-card-radius);
	}

	.get-in-touch__content {
		max-width: none;
	}

	.get-in-touch__form .gform_fields,
	.get-in-touch__form .gform_wrapper .gform_fields,
	.get-in-touch__form .gform_wrapper.gravity-theme .gform_fields {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	.get-in-touch__form .gfield,
	.get-in-touch__form .gform_wrapper .gfield {
		grid-column: 1 / -1 !important;
	}

	.get-in-touch__form .get-in-touch__submit.btn.btn--navy {
		width: 100% !important;
		height: auto !important;
		min-height: var(--btn-navy-min-height) !important;
		justify-content: space-between !important;
	}

	.get-in-touch__form .get-in-touch__submit .get-in-touch__cta-label {
		flex: 1 1 auto;
		min-width: 0;
		white-space: normal;
		text-align: left;
		line-height: 1.25;
	}

	.get-in-touch__form .get-in-touch__submit .btn__icon {
		flex: 0 0 auto !important;
	}

	.get-in-touch__cta.btn.btn--navy {
		width: 100%;
		height: auto;
		min-height: var(--btn-navy-min-height);
		justify-content: space-between;
	}

	.get-in-touch__cta .get-in-touch__cta-label {
		flex: 1 1 auto;
		min-width: 0;
		white-space: normal;
		text-align: left;
		line-height: 1.25;
	}
}

@media (min-width: 48rem) and (max-width: 63.9375rem) {
	.get-in-touch__card {
		max-width: min(var(--get-in-touch-card-max), 70%);
	}
}
