/* Contact form (Gravity Form ID 1). Keep these rules scoped so other forms retain their own treatment. */
#gform_wrapper_1 {
	max-width: 54.25rem;
	margin-inline: auto;
	color: var(--contrast);
	font-family: var(--font-body);
}

#gform_wrapper_1 .gform_heading:empty {
	display: none;
}

#gform_wrapper_1 .gform_fields {
	display: grid;
	gap: var(--space-xs);
}

#gform_wrapper_1 .gfield {
	margin: 0;
}

#gform_wrapper_1 .gfield_label {
	display: block;
	margin-bottom: var(--space-xxs);
	color: var(--primary-dark);
	font-family: var(--font-heading);
	font-size: var(--text-m);
	font-weight: 400;
	line-height: 1.3;
}

#gform_wrapper_1 :is(
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="url"],
	input[type="number"],
	input[type="password"],
	input[type="date"],
	select,
	textarea
) {
	box-sizing: border-box;
	width: 100%;
	min-height: 3.5rem;
	margin: 0;
	padding: 0.75rem 1rem;
	border: 0.125rem solid var(--primary-light);
	border-radius: var(--radius-s);
	background: var(--base);
	color: var(--contrast);
	font: inherit;
	line-height: 1.5;
	box-shadow: none;
}

#gform_wrapper_1 .ginput_container textarea {
	min-height: 12rem;
	resize: vertical;
}

#gform_wrapper_1 :is(input, textarea)::placeholder {
	color: var(--primary-dark);
	opacity: 0.7;
}

#gform_wrapper_1 :is(input, select, textarea):focus-visible {
	border-color: var(--primary-dark);
	outline: 0.1875rem solid var(--primary-dark);
	outline-offset: 0.125rem;
}

#gform_wrapper_1 :is(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--primary);
}

#gform_wrapper_1 .gfield_description {
	margin-top: var(--space-xxs);
	color: var(--contrast);
	font-size: var(--text-s);
	line-height: 1.5;
}

#gform_wrapper_1 .gform_footer {
	margin-top: var(--space-s);
	padding: 0;
}

#gform_wrapper_1 .gform_button {
	min-height: 3.25rem;
	padding: 0.75rem 1.75rem;
	border: 0.125rem solid var(--primary);
	border-radius: var(--radius-full);
	background: var(--primary);
	color: var(--base);
	font-family: var(--font-heading);
	font-size: var(--text-s);
	font-weight: 400;
	line-height: 1.3;
	cursor: pointer;
	transition: background-color var(--transition), border-color var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
	#gform_wrapper_1 .gform_button:hover {
	border-color: var(--primary-dark);
	background: var(--primary-dark);
	transform: translateY(-0.125rem);
	}
}

#gform_wrapper_1 .gform_button:focus-visible {
	outline: 0.1875rem solid var(--primary-dark);
	outline-offset: 0.1875rem;
}

#gform_wrapper_1 .gform_validation_errors,
#gform_wrapper_1 .gfield_validation_message {
	border: 0.125rem solid var(--accent-dark);
	border-radius: var(--radius-s);
	background: var(--accent-light);
	color: var(--accent-ultra-dark);
}

#gform_wrapper_1 .gform_validation_errors {
	margin-bottom: var(--space-s);
	padding: var(--space-xs) var(--space-s);
}

#gform_wrapper_1 .gfield_validation_message {
	display: inline-block;
	margin-top: var(--space-xxs);
	padding: 0.25rem 0.5rem;
	font-size: var(--text-s);
}

#gform_wrapper_1 :is(input, select, textarea)[aria-invalid="true"] {
	border-color: var(--accent-dark);
}

#gform_wrapper_1 .gfield_required {
	color: var(--accent-dark);
}

#gform_wrapper_1 .gform_confirmation_message {
	padding: var(--space-s);
	border: 0.125rem solid var(--primary-light);
	border-radius: var(--radius-s);
	background: var(--secondary-ultra-light);
	color: var(--primary-dark);
	font-family: var(--font-heading);
	font-size: var(--text-m);
	line-height: 1.4;
}

@media (max-width: 42rem) {
	#gform_wrapper_1 .gform_fields {
		gap: var(--space-xs);
	}

	#gform_wrapper_1 .gform_button {
		width: 100%;
	}
}
