/* Dedicated Contact Us page. */
.gwo-contact-main,
.gwo-contact-page {
	margin: 0;
	max-inline-size: none;
	padding: 0;
}

.gwo-contact-main + .wp-block-template-part {
	margin-block-start: 0;
}

.gwo-contact-main + .wp-block-template-part .gwo-home-contact {
	display: none;
}

.gwo-contact-main + .wp-block-template-part .gwo-site-footer__inner {
	margin-block-start: 0;
}

.gwo-contact-page {
	/* Direct green shades preserve the brand hue while keeping small text at AA contrast. */
	--gwo-contact-green-deep: #2f6f27;
	--gwo-contact-green-text: #37792f;
	--gwo-contact-header-clearance: calc(var(--gwo-space-20) + var(--gwo-space-5));

	background-color: var(--gwo-white);
	color: var(--gwo-black);
	font-family: var(--font-heading);
}

/* Let the hero begin at the viewport edge while the navigation floats above it. */
.gwo-site-header {
	background-color: transparent;
	inset-block-start: 0;
	inset-inline: 0;
	position: absolute;
}

.gwo-site-header.is-scroll-hidden,
.gwo-site-header.is-scroll-visible {
	position: fixed;
}

.gwo-site-header.is-scroll-hidden {
	transform: translateY(-100%);
}

.gwo-site-header.is-scroll-hidden:focus-within,
.gwo-site-header.is-scroll-visible {
	transform: none;
}

.gwo-contact-page > * + *,
.gwo-contact-page :where(h1, h2, h3, p, ul, ol) {
	margin-block: 0;
}

.gwo-contact-shell {
	box-sizing: border-box;
	inline-size: min(calc(100% - (2 * var(--gwo-space-4))), var(--wp--style--global--wide-size));
	margin-inline: auto;
}

.gwo-contact-hero {
	background:
		radial-gradient(circle at 15% 20%, rgb(244 216 10 / 18%), transparent 20rem),
		linear-gradient(135deg, var(--gwo-surface-green) 0%, #eaf5e8 58%, var(--gwo-white) 100%);
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.gwo-contact-hero__orb {
	border: 1px solid rgb(68 158 55 / 18%);
	border-radius: 50%;
	pointer-events: none;
	position: absolute;
}

.gwo-contact-hero__orb--one {
	block-size: 24rem;
	inline-size: 24rem;
	inset-block-start: -14rem;
	inset-inline-end: -5rem;
}

.gwo-contact-hero__orb--two {
	block-size: 12rem;
	inline-size: 12rem;
	inset-block-end: -7rem;
	inset-inline-start: 42%;
}

.gwo-contact-hero__inner {
	padding-block: var(--gwo-contact-header-clearance) 0;
	position: relative;
	z-index: 1;
}

.gwo-breadcrumb.gwo-contact-breadcrumb {
	color: var(--gwo-text-muted);
	margin-block-end: var(--gwo-space-8);
}

.gwo-breadcrumb.gwo-contact-breadcrumb .gwo-breadcrumb__separator {
	color: var(--gwo-border-strong);
}

.gwo-breadcrumb.gwo-contact-breadcrumb .gwo-breadcrumb__list a {
	color: var(--gwo-text-muted);
	text-decoration-color: var(--gwo-border-default);
}

.gwo-breadcrumb.gwo-contact-breadcrumb .gwo-breadcrumb__list a:hover {
	background-color: rgb(68 158 55 / 10%);
	color: var(--gwo-black);
	text-decoration-color: var(--gwo-green);
}

.gwo-breadcrumb.gwo-contact-breadcrumb .gwo-breadcrumb__list [aria-current="page"] {
	color: var(--gwo-black);
}

.gwo-contact-hero__layout {
	align-items: center;
	display: grid;
	gap: clamp(var(--gwo-space-10), 6vw, var(--gwo-space-20));
	grid-template-columns: minmax(0, 1.02fr) minmax(18rem, 0.98fr);
}

.gwo-contact-hero__content {
	max-inline-size: 44rem;
}

.gwo-contact-hero__heading {
	font-size: clamp(2.65rem, 6vw, 5.65rem);
	font-weight: var(--font-weight-regular);
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin-block-start: 0;
	max-inline-size: 13ch;
	text-wrap: balance;
}

.gwo-contact-hero__heading strong {
	color: var(--gwo-green);
	font-weight: var(--font-weight-bold);
}

.gwo-contact-hero__summary {
	color: var(--gwo-text-muted);
	font-size: clamp(var(--wp--preset--font-size--body), 1.7vw, var(--wp--preset--font-size--body-lg));
	line-height: 1.65;
	margin-block-start: var(--gwo-space-6);
	max-inline-size: 42rem;
	text-wrap: pretty;
}

.gwo-contact-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--gwo-space-3);
	margin-block-start: var(--gwo-space-8);
}

.gwo-contact-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: var(--gwo-radius-pill);
	box-sizing: border-box;
	display: inline-flex;
	font-family: var(--font-heading);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--font-weight-semibold);
	gap: var(--gwo-space-2);
	justify-content: center;
	line-height: 1.35;
	min-block-size: var(--gwo-space-12);
	padding: var(--gwo-space-3) var(--gwo-space-5);
	text-decoration: none;
	transition: background-color 180ms var(--gwo-ease-standard), border-color 180ms var(--gwo-ease-standard), color 180ms var(--gwo-ease-standard), transform 180ms var(--gwo-ease-standard);
}

.gwo-contact-button svg,
.gwo-contact-route a svg,
.gwo-contact-form-section__assessment-link svg {
	block-size: var(--gwo-space-5);
	fill: none;
	flex: 0 0 auto;
	inline-size: var(--gwo-space-5);
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.gwo-contact-button--primary,
.gwo-contact-button--submit {
	background-color: var(--gwo-red);
	border-color: var(--gwo-red);
	color: var(--gwo-white);
}

.gwo-contact-button--secondary {
	background-color: rgb(255 255 255 / 70%);
	border-color: var(--gwo-border-default);
	color: var(--gwo-black);
}

.gwo-contact-button:is(:hover, :focus-visible) {
	background-color: var(--gwo-yellow);
	border-color: var(--gwo-yellow);
	color: var(--gwo-black);
	transform: translateY(-2px);
}

.gwo-contact-button:active {
	background-color: var(--gwo-black);
	border-color: var(--gwo-black);
	color: var(--gwo-white);
	transform: translateY(0) scale(0.985);
}

.gwo-contact-button:focus-visible,
.gwo-contact-route a:focus-visible,
.gwo-contact-form-section__assessment-link:focus-visible,
.gwo-contact-form :is(input, textarea, select):focus-visible {
	box-shadow: 0 0 0 5px var(--gwo-yellow);
	outline: 3px solid var(--gwo-black);
	outline-offset: 2px;
}

.gwo-contact-hero__visual {
	align-self: end;
	isolation: isolate;
	justify-self: end;
	max-inline-size: 38rem;
	position: relative;
}

.gwo-contact-hero__image-halo {
	background: linear-gradient(135deg, var(--gwo-green), var(--gwo-yellow));
	block-size: 75%;
	border-radius: 50%;
	filter: saturate(0.88);
	inline-size: 82%;
	inset-block-end: 5%;
	inset-inline-start: 9%;
	position: absolute;
	z-index: -1;
}

.gwo-contact-hero__visual img {
	block-size: auto;
	display: block;
	filter: drop-shadow(0 1.5rem 2.4rem rgb(35 31 32 / 16%));
	inline-size: 100%;
}

.gwo-contact-routes {
	padding-block: clamp(var(--gwo-space-16), 8vw, var(--gwo-space-24));
}

.gwo-contact-section-heading {
	margin-inline: auto;
	max-inline-size: 46rem;
	text-align: center;
}

.gwo-contact-section-heading h2,
.gwo-contact-form-section__intro > h2 {
	font-size: clamp(2rem, 4vw, 3.75rem);
	font-weight: var(--font-weight-semibold);
	letter-spacing: -0.045em;
	line-height: 1.08;
	margin-block-start: 0;
	text-wrap: balance;
}

.gwo-contact-section-heading > p:last-child,
.gwo-contact-form-section__intro > p {
	color: var(--gwo-text-muted);
	font-size: var(--wp--preset--font-size--body);
	line-height: 1.65;
	margin-block-start: var(--gwo-space-4);
	text-wrap: pretty;
}

.gwo-contact-routes__grid {
	display: grid;
	gap: var(--gwo-space-4);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	list-style: none;
	margin-block-start: var(--gwo-space-10);
	padding: 0;
}

.gwo-contact-route {
	background-color: var(--gwo-white);
	border: 1px solid var(--gwo-border-soft);
	border-radius: var(--gwo-radius-xl);
	box-shadow: var(--gwo-shadow-1);
	display: flex;
	flex-direction: column;
	min-block-size: 19.5rem;
	padding: var(--gwo-space-5);
	position: relative;
	transition: background-color 180ms var(--gwo-ease-standard), border-color 180ms var(--gwo-ease-standard), box-shadow 180ms var(--gwo-ease-standard), color 180ms var(--gwo-ease-standard), transform 180ms var(--gwo-ease-standard);
}

.gwo-contact-route:hover {
	background-color: var(--gwo-surface-green);
	border-color: rgb(68 158 55 / 48%);
	box-shadow: var(--gwo-shadow-3);
	transform: translateY(-4px);
}

.gwo-contact-route:active {
	background-color: var(--gwo-contact-green-deep);
	border-color: var(--gwo-contact-green-deep);
	box-shadow: var(--gwo-shadow-1);
	color: var(--gwo-white);
	transform: translateY(-1px) scale(0.985);
}

.gwo-contact-route:focus-within {
	border-color: var(--gwo-green);
	box-shadow: 0 0 0 5px var(--gwo-yellow);
	outline: 3px solid var(--gwo-black);
	outline-offset: 2px;
}

.gwo-contact-route__icon {
	align-items: center;
	background-color: var(--gwo-surface-green);
	block-size: var(--gwo-space-12);
	border-radius: var(--gwo-radius-md);
	color: var(--gwo-green);
	display: inline-flex;
	inline-size: var(--gwo-space-12);
	justify-content: center;
}

.gwo-contact-route__icon svg {
	block-size: var(--gwo-space-6);
	fill: none;
	inline-size: var(--gwo-space-6);
	stroke: currentcolor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
}

.gwo-contact-route:active .gwo-contact-route__icon {
	background-color: rgb(255 255 255 / 15%);
	color: var(--gwo-yellow);
}

.gwo-contact-route__label {
	color: var(--gwo-contact-green-text);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--font-weight-semibold);
	letter-spacing: 0.05em;
	margin-block-start: var(--gwo-space-5);
	text-transform: none;
}

.gwo-contact-route:active .gwo-contact-route__label {
	color: var(--gwo-white);
}

.gwo-contact-route h3 {
	font-size: var(--wp--preset--font-size--title-sm);
	font-weight: var(--font-weight-semibold);
	letter-spacing: -0.025em;
	line-height: 1.25;
	margin-block-start: var(--gwo-space-2);
}

.gwo-contact-route__description {
	color: var(--gwo-text-muted);
	font-family: var(--font-heading);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 1.6;
	margin-block-start: var(--gwo-space-3);
}

.gwo-contact-route:active .gwo-contact-route__description {
	color: var(--gwo-white);
}

.gwo-contact-route a {
	align-items: center;
	align-self: flex-start;
	border-radius: var(--gwo-radius-sm);
	color: var(--gwo-contact-green-text);
	display: inline-flex;
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--font-weight-semibold);
	gap: var(--gwo-space-2);
	margin-block-start: auto;
	min-block-size: 44px;
	padding-block-start: var(--gwo-space-5);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.gwo-contact-route a::after {
	content: "";
	inset: 0;
	position: absolute;
}

.gwo-contact-route a:focus-visible {
	box-shadow: none;
	outline: 0;
}

.gwo-contact-route a:hover {
	color: var(--gwo-black);
	text-decoration-thickness: 2px;
}

.gwo-contact-route:active a,
.gwo-contact-route:active a:hover {
	color: var(--gwo-white);
}

.gwo-contact-form-section {
	background:
		linear-gradient(115deg, rgb(68 158 55 / 7%), transparent 44%),
		var(--gwo-surface-subtle);
	padding-block: clamp(var(--gwo-space-16), 9vw, var(--gwo-space-24));
	scroll-margin-top: calc(var(--gwo-space-16) + var(--gwo-space-4));
}

.gwo-contact-form-section__inner {
	align-items: start;
	display: grid;
	gap: clamp(var(--gwo-space-8), 5vw, var(--gwo-space-16));
	grid-template-columns: minmax(16rem, 0.68fr) minmax(0, 1.32fr);
}

.gwo-contact-form-section__intro {
	position: sticky;
	top: var(--gwo-space-8);
}

.gwo-contact-form-section__inner > .gwo-home-contact__form {
	position: sticky;
	top: var(--gwo-space-8);
}

.gwo-contact-form-section .gwo-home-contact__field--message {
	grid-column: 1 / -1;
}

.gwo-contact-form-section .gwo-home-contact__field--message textarea {
	appearance: none;
	background-color: color-mix(in srgb, var(--gwo-surface-subtle) 92%, var(--gwo-white));
	border: 1px solid var(--gwo-border-soft);
	border-radius: var(--gwo-radius-md);
	box-sizing: border-box;
	box-shadow: inset 0 1px 0 rgb(255 255 255 / 82%);
	color: var(--gwo-black);
	font-family: var(--font-body);
	font-size: var(--wp--preset--font-size--body-sm);
	inline-size: 100%;
	line-height: 1.4;
	min-block-size: 8rem;
	padding: var(--gwo-space-3) var(--gwo-space-4);
	resize: vertical;
}

.gwo-contact-form-section .gwo-home-contact__field--message textarea::placeholder {
	color: color-mix(in srgb, var(--gwo-text-muted) 74%, var(--gwo-white));
	opacity: 1;
}

.gwo-contact-form-section .gwo-home-contact__field--message textarea:hover {
	border-color: color-mix(in srgb, var(--gwo-green) 52%, var(--gwo-border-soft));
}

.gwo-contact-form-section .gwo-home-contact__field--message textarea:focus-visible {
	border-color: var(--gwo-green);
	box-shadow: 0 0 0 3px rgb(68 158 55 / 24%), inset 0 1px 0 rgb(255 255 255 / 90%);
	outline: none;
}

.gwo-contact-form-guide {
	border-block-start: 1px solid var(--gwo-border-soft);
	margin-block-start: var(--gwo-space-8);
	padding-block-start: var(--gwo-space-6);
}

.gwo-contact-form-guide h3 {
	font-size: var(--wp--preset--font-size--title-sm);
	font-weight: var(--font-weight-semibold);
}

.gwo-contact-form-guide ul {
	display: grid;
	gap: var(--gwo-space-4);
	list-style: none;
	margin-block-start: var(--gwo-space-5);
	padding: 0;
}

.gwo-contact-form-guide li {
	align-items: start;
	display: grid;
	gap: var(--gwo-space-3);
	grid-template-columns: auto minmax(0, 1fr);
}

.gwo-contact-form-guide li > svg {
	block-size: var(--gwo-space-6);
	fill: none;
	inline-size: var(--gwo-space-6);
	stroke: var(--gwo-green);
	stroke-width: 1.8;
}

.gwo-contact-form-guide li > span {
	color: var(--gwo-text-muted);
	display: grid;
	font-size: var(--wp--preset--font-size--body-sm);
	gap: var(--gwo-space-1);
	line-height: 1.5;
}

.gwo-contact-form-guide strong {
	color: var(--gwo-black);
	font-weight: var(--font-weight-semibold);
}

.gwo-contact-form-section__assessment-link {
	align-items: center;
	background-color: var(--gwo-red);
	border-radius: var(--gwo-radius-lg);
	color: var(--gwo-white);
	display: grid;
	gap: var(--gwo-space-1) var(--gwo-space-3);
	grid-template-columns: minmax(0, 1fr) auto;
	margin-block-start: var(--gwo-space-8);
	min-block-size: 44px;
	padding: var(--gwo-space-4);
	text-decoration: none;
}

.gwo-contact-form-section__assessment-link span,
.gwo-contact-form-section__assessment-link strong {
	grid-column: 1;
}

.gwo-contact-form-section__assessment-link span {
	color: rgb(255 255 255 / 72%);
	font-size: var(--wp--preset--font-size--caption);
}

.gwo-contact-form-section__assessment-link strong {
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--font-weight-semibold);
}

.gwo-contact-form-section__assessment-link svg {
	grid-column: 2;
	grid-row: 1 / 3;
}

.gwo-contact-form-section__assessment-link:hover {
	background-color: color-mix(in srgb, var(--gwo-red) 82%, var(--gwo-black));
	color: var(--gwo-white);
}

.gwo-contact-form-card {
	background-color: var(--gwo-white);
	border: 1px solid var(--gwo-border-soft);
	border-radius: var(--gwo-radius-xl);
	box-shadow: var(--gwo-shadow-4);
	padding: clamp(var(--gwo-space-5), 4vw, var(--gwo-space-10));
}

.gwo-contact-result {
	align-items: start;
	border: 1px solid;
	border-radius: var(--gwo-radius-lg);
	display: grid;
	gap: var(--gwo-space-3);
	grid-template-columns: auto minmax(0, 1fr);
	margin-block-end: var(--gwo-space-6);
	padding: var(--gwo-space-4);
}

.gwo-contact-result:focus {
	box-shadow: 0 0 0 5px var(--gwo-yellow);
	outline: 3px solid var(--gwo-black);
	outline-offset: 2px;
}

.gwo-contact-result > svg {
	block-size: var(--gwo-space-6);
	fill: none;
	inline-size: var(--gwo-space-6);
	stroke: currentcolor;
	stroke-width: 1.8;
}

.gwo-contact-result h3 {
	font-size: var(--wp--preset--font-size--body);
	font-weight: var(--font-weight-semibold);
}

.gwo-contact-result p {
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 1.5;
	margin-block-start: var(--gwo-space-1);
}

.gwo-contact-result--success {
	background-color: var(--gwo-surface-green);
	border-color: var(--gwo-green);
	color: #285f20;
}

.gwo-contact-result--error {
	background-color: var(--gwo-surface-red);
	border-color: var(--gwo-red);
	color: #8a0811;
}

.gwo-contact-form {
	display: grid;
	gap: var(--gwo-space-6);
}

.gwo-contact-form__grid {
	display: grid;
	gap: var(--gwo-space-5);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gwo-contact-field {
	display: grid;
	gap: var(--gwo-space-2);
	min-inline-size: 0;
}

.gwo-contact-field--wide {
	grid-column: 1 / -1;
}

.gwo-contact-field label,
.gwo-contact-consent label {
	color: var(--gwo-black);
	font-size: var(--wp--preset--font-size--label);
	font-weight: var(--font-weight-semibold);
	line-height: 1.45;
}

.gwo-contact-field label span,
.gwo-contact-consent label span {
	color: var(--gwo-text-muted);
	font-size: var(--wp--preset--font-size--caption);
	font-weight: var(--font-weight-regular);
}

.gwo-contact-form :is(input:not([type="checkbox"]), textarea, select) {
	background-color: var(--gwo-white);
	border: 1px solid var(--gwo-border-default);
	border-radius: var(--gwo-radius-md);
	box-sizing: border-box;
	color: var(--gwo-black);
	font: inherit;
	font-size: var(--wp--preset--font-size--body);
	inline-size: 100%;
	line-height: 1.5;
	min-block-size: 3.25rem;
	padding: var(--gwo-space-3) var(--gwo-space-4);
	transition: border-color 160ms var(--gwo-ease-standard), box-shadow 160ms var(--gwo-ease-standard);
}

.gwo-contact-form textarea {
	min-block-size: 10rem;
	resize: vertical;
}

.gwo-contact-form :is(input:not([type="checkbox"]), textarea, select):hover {
	border-color: var(--gwo-border-strong);
}

.gwo-contact-form :is(input, textarea, select)[aria-invalid="true"] {
	border-color: var(--gwo-red);
	box-shadow: 0 0 0 1px var(--gwo-red);
}

.gwo-contact-field__help,
.gwo-contact-field__error {
	font-size: var(--wp--preset--font-size--caption);
	line-height: 1.45;
}

.gwo-contact-field__help {
	color: var(--gwo-text-muted);
}

.gwo-contact-field__error {
	color: #8a0811;
	font-weight: var(--font-weight-semibold);
}

.gwo-contact-consent {
	align-items: start;
	background-color: var(--gwo-surface-subtle);
	border: 1px solid var(--gwo-border-soft);
	border-radius: var(--gwo-radius-md);
	display: grid;
	gap: var(--gwo-space-3);
	grid-template-columns: auto minmax(0, 1fr);
	padding: var(--gwo-space-4);
}

.gwo-contact-consent input[type="checkbox"] {
	accent-color: var(--gwo-green);
	block-size: var(--gwo-space-6);
	cursor: pointer;
	inline-size: var(--gwo-space-6);
	margin: 0;
}

.gwo-contact-consent > div {
	display: grid;
	gap: var(--gwo-space-2);
}

.gwo-contact-consent label {
	cursor: pointer;
}

.gwo-contact-consent:focus-within {
	border-color: var(--gwo-green);
}

.gwo-contact-error-summary {
	background-color: var(--gwo-surface-red);
	border: 2px solid var(--gwo-red);
	border-radius: var(--gwo-radius-md);
	color: var(--gwo-black);
	padding: var(--gwo-space-4);
}

.gwo-contact-error-summary h3 {
	font-size: var(--wp--preset--font-size--title-sm);
	font-weight: var(--font-weight-semibold);
}

.gwo-contact-error-summary p {
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 1.5;
	margin-block-start: var(--gwo-space-2);
}

.gwo-contact-error-summary ul {
	margin-block-start: var(--gwo-space-3);
	padding-inline-start: var(--gwo-space-5);
}

.gwo-contact-error-summary li + li {
	margin-block-start: var(--gwo-space-2);
}

.gwo-contact-error-summary a {
	color: #74070e;
	font-weight: var(--font-weight-semibold);
	text-underline-offset: 0.2em;
}

.gwo-contact-form__status {
	color: #8a0811;
	font-size: var(--wp--preset--font-size--body-sm);
	font-weight: var(--font-weight-semibold);
	line-height: 1.5;
	min-block-size: 0;
}

.gwo-contact-form__status:empty {
	display: none;
}

.gwo-contact-button--submit {
	inline-size: fit-content;
	min-inline-size: 11rem;
}

.gwo-contact-button--submit:disabled {
	background-color: var(--gwo-border-default);
	border-color: var(--gwo-border-default);
	color: var(--gwo-black);
	cursor: wait;
	transform: none;
}

.gwo-contact-form__honeypot {
	block-size: 1px;
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	inline-size: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
}

@media (max-width: 1099px) {
	.gwo-contact-routes__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.gwo-contact-route {
		min-block-size: 18rem;
	}
}

@media (min-width: 600px) {
	.gwo-contact-page {
		--gwo-contact-header-clearance: calc(var(--gwo-space-20) + var(--gwo-space-10));
	}
}

@media (min-width: 1024px) {
	.gwo-contact-page {
		--gwo-contact-header-clearance: calc(var(--gwo-space-24) + var(--gwo-space-10));
	}
}

@media (max-width: 899px) {
	.gwo-contact-hero__layout,
	.gwo-contact-form-section__inner {
		grid-template-columns: minmax(0, 1fr);
	}

	.gwo-contact-hero__content {
		max-inline-size: 46rem;
	}

	.gwo-contact-hero__visual {
		justify-self: center;
		max-inline-size: 31rem;
	}

	.gwo-contact-form-section__intro,
	.gwo-contact-form-section__inner > .gwo-home-contact__form {
		position: static;
	}

	.gwo-contact-form-guide ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.gwo-contact-form-guide li {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 599px) {
	.gwo-contact-shell {
		inline-size: min(calc(100% - (2 * var(--gwo-space-3))), var(--wp--style--global--wide-size));
	}

	.gwo-contact-hero__heading {
		font-size: clamp(2.45rem, 14vw, 4rem);
	}

	.gwo-contact-hero__actions,
	.gwo-contact-hero__actions > *,
	.gwo-contact-button--submit {
		inline-size: 100%;
	}

	.gwo-contact-hero__visual {
		max-inline-size: 25rem;
	}

	.gwo-contact-routes__grid,
	.gwo-contact-form__grid,
	.gwo-contact-form-guide ul {
		grid-template-columns: minmax(0, 1fr);
	}

	.gwo-contact-route {
		min-block-size: 0;
	}

	.gwo-contact-field--wide {
		grid-column: auto;
	}

	.gwo-contact-form-card {
		border-radius: var(--gwo-radius-lg);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gwo-contact-button,
	.gwo-contact-route,
	.gwo-contact-form :is(input, textarea, select) {
		transition: none;
	}

	.gwo-contact-button:is(:hover, :focus-visible),
	.gwo-contact-route:hover {
		transform: none;
	}
}
