/* /contact: 1440px outer wrapper; 25% portrait / 25% space / 50% form. */
.is-style-contact-page {
	margin-block: 0;
	margin-inline: 0;
	overflow-x: clip;
	background: var(--oa-color-white);
	color: var(--oa-color-action);
	font-family: "OA Hero DM Sans", sans-serif;
}
.is-style-contact-page .wp-block-post-content {
	margin-block: 0;
	margin-inline: 0;
}
.is-style-contact-page-heading,
.is-style-contact-page-columns,
.is-style-contact-page-faq,
.is-style-contact-page-after {
	box-sizing: border-box;
	inline-size: 100%;
	max-inline-size: 1440px;
	margin-block: 0 !important;
	margin-inline: auto !important;
	padding-inline: 40px;
}
.is-style-contact-page-heading {
	padding-block-start: 96px;
	padding-block-end: 96px;
}
.is-style-contact-page-heading .is-style-contact-page-kicker {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-block: 0 12px;
	margin-inline: 0;
	color: var(--oa-color-olive);
	font-size: 14px;
	line-height: 1.3;
}
.is-style-contact-page-kicker::before {
	content: "";
	inline-size: 32px;
	block-size: 2px;
	flex-shrink: 0;
	background: currentColor;
}
.is-style-contact-page-heading h1 {
	margin-block: 0;
	margin-inline: 0;
	color: var(--oa-color-action);
	--oa-type-fluid: clamp(3rem, -1.3085106rem + 8.5106383vw, 5.5rem);
	font:
		300 var(--oa-type-fluid)/1.1 "OA Hero Fraunces",
		serif;
	letter-spacing: -0.06em;
	text-wrap: initial;
}
.is-style-contact-page-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr);
	align-items: stretch;
	gap: 0;
	color: var(--oa-color-action);
	--oliver-contact-hover-ease: linear(
		0,
		0.16258,
		0.38682,
		0.56389,
		0.69198,
		0.78282,
		0.84694,
		0.89213,
		0.92399,
		0.94643,
		0.96225,
		0.9734,
		0.98126,
		0.98679,
		0.99069,
		0.99344,
		0.99538,
		0.99674,
		0.9977,
		0.99838,
		1
	);
}
.is-style-contact-page-profile {
	grid-column: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 32px;
	min-inline-size: 0;
	margin-block: 0;
	margin-inline: 0;
}
.is-style-contact-page-founder {
	display: flex;
	flex-direction: column;
	gap: 32px;
}
.is-style-contact-page-founder > *,
.is-style-contact-page-name > *,
.is-style-contact-page-links > * {
	margin-block: 0 !important;
	margin-inline: 0 !important;
}
.is-style-contact-page-portrait {
	position: relative;
	inline-size: 100%;
	aspect-ratio: 296.25 / 359.875;
	overflow: clip;
}
.is-style-contact-page-portrait img {
	position: absolute;
	inset-block: 0;
	inset-inline: 0;
	display: block;
	inline-size: 100%;
	block-size: 105% !important;
	object-fit: cover;
	object-position: center;
	will-change: transform;
}
.is-style-contact-page-portrait figcaption {
	position: absolute;
	inset-block: auto 0;
	inset-inline: 0;
	margin-block: 0;
	margin-inline: 0;
	padding-block: 5px;
	padding-inline: 8px;
	background: var(--oa-color-white);
	color: var(--oa-color-body);
	font:
		400 11px/1.3 "OA Hero DM Sans",
		sans-serif;
}
.is-style-contact-page-name p:first-child {
	font-size: 14px;
	color: var(--oa-color-body);
	line-height: 1.3;
}
.is-style-contact-page-name p:last-child {
	font-size: 18px;
	line-height: 1.3;
	margin-block-start: 2px;
}
.is-style-contact-page-links {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.is-style-contact-page-links p {
	display: flex;
	gap: 8px;
	align-items: center;
	--oa-type-fluid: clamp(0.875rem, 0.6595745rem + 0.4255319vw, 1rem);
	font-size: var(--oa-type-fluid);
	line-height: 1.1;
}
.is-style-contact-page-links p::before {
	content: "";
	display: inline-block;
	inline-size: 24px;
	block-size: 24px;
	flex-shrink: 0;
	background: var(--oa-color-olive);
	mask: url("../images/contact-email.svg") center / contain no-repeat;
}
.is-style-contact-page-links .is-style-practice-contact-phone::before {
	mask-image: url("../images/contact-phone.svg");
}
.is-style-contact-page-links a {
	color: var(--oa-color-action);
	text-decoration: none;
	overflow-wrap: anywhere;
}
@media (hover: hover) and (pointer: fine) {
	.is-style-contact-page-links a:hover {
		color: var(--oa-color-olive);
	}
}
.is-style-contact-page-profile .is-style-contact-page-note {
	margin-block: 0;
	margin-inline: 0;
	color: var(--oa-color-body);
	--oa-type-fluid: clamp(1rem, 0.7845745rem + 0.4255319vw, 1.125rem);
	font-size: var(--oa-type-fluid);
	line-height: 1.3;
}
.is-style-contact-page-form {
	grid-column: 3;
	min-inline-size: 0;
	box-sizing: border-box;
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding-block: 48px;
	padding-inline: 48px;
	background: var(--oa-color-white);
	border: 1px solid var(--oa-color-border);
}
.is-style-contact-page-form > h2 {
	margin-block: 0 32px;
	margin-inline: 0;
	color: var(--oa-color-action);
	--oa-type-fluid: clamp(1.25rem, 0.3882979rem + 1.7021277vw, 1.75rem);
	font:
		300 var(--oa-type-fluid)/1.2 "OA Hero Fraunces",
		serif;
	letter-spacing: -0.04em;
}
.is-style-contact-page-form .forminator-module-edit-link {
	display: none;
}
.is-style-contact-page-faq {
	padding-block-start: 120px;
	padding-block-end: 132px;
}
.is-style-contact-page-faq .is-style-home-faq {
	padding-block: 0;
	padding-inline: 0;
	margin-block: 0;
	margin-inline: 0;
}
.is-style-contact-page-faq .is-style-home-faq-header[data-contact-line] {
	position: relative;
	border-block-end-color: transparent;
}
.is-style-contact-page-faq .is-style-home-faq-header[data-contact-line]::after {
	content: "";
	position: absolute;
	inset-block: auto -1px;
	inset-inline: 0;
	block-size: 1px;
	background: var(--oa-color-border);
	transform-origin: left;
	transform: scaleX(0.01);
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-contact-page-faq
		.is-style-home-faq-header[data-contact-line]::after {
		transition: transform 1s 0.25s cubic-bezier(0.12, 0.23, 0.5, 1);
	}
}
.is-style-contact-page-faq
	.is-style-home-faq-header[data-contact-line="visible"]::after {
	transform: scaleX(1);
}
.is-style-contact-page-after {
	padding-block-end: 64px;
}
.is-style-contact-page-after h2 {
	font:
		300 28px/1.2 "OA Hero Fraunces",
		serif;
}
.is-style-contact-page-after p {
	max-inline-size: 680px;
	font-size: 16px;
	line-height: 1.3;
	color: var(--oa-color-body);
}
@media (min-width: 810px) and (max-width: 1279px) {
	.is-style-contact-page-heading,
	.is-style-contact-page-columns,
	.is-style-contact-page-faq,
	.is-style-contact-page-after {
		padding-inline: 32px;
	}
	.is-style-contact-page-heading {
		padding-block-start: 46px;
		padding-block-end: 72px;
	}
	.is-style-contact-page-heading h1 {
		--oa-type-fluid: clamp(3rem, 1.9rem + 3vw, 3.5rem);
	}
	.is-style-contact-page-columns {
		grid-template-columns: minmax(0, 4fr) minmax(0, 1fr) minmax(0, 5fr);
	}
	.is-style-contact-page-founder {
		gap: 24px;
	}
	.is-style-contact-page-form {
		padding-block: 32px;
		padding-inline: 32px;
	}
	.is-style-contact-page-form > h2 {
		margin-block-end: 24px;
	}
	.is-style-contact-page-faq {
		padding-block-start: 80px;
		padding-block-end: 96px;
	}
}
@media (max-width: 809px) {
	.is-style-contact-page-heading,
	.is-style-contact-page-columns,
	.is-style-contact-page-faq,
	.is-style-contact-page-after {
		padding-inline: 20px;
	}
	.is-style-contact-page-heading {
		padding-block-start: 40px;
		padding-block-end: 32px;
	}
	.is-style-contact-page-heading h1 {
		--oa-type-fluid: clamp(2rem, 1.35rem + 2.8vw, 2.5rem);
	}
	.is-style-contact-page-heading .is-style-contact-page-kicker {
		display: none;
	}
	.is-style-contact-page-columns {
		display: flex;
		flex-direction: column;
		gap: 32px;
	}
	.is-style-contact-page-founder {
		gap: 16px;
	}
	.is-style-contact-page-portrait {
		max-block-size: 52svh;
	}
	.is-style-contact-page-profile {
		gap: 32px;
	}
	.is-style-contact-page-form {
		inline-size: 100%;
		padding-block: 24px;
		padding-inline: 24px;
	}
	.is-style-contact-page-form > h2 {
		margin-block-end: 20px;
	}
	.is-style-contact-page-links {
		gap: 8px;
	}
	.is-style-contact-page-faq {
		padding-block-start: 56px;
		padding-block-end: 64px;
	}
}
@media (min-width: 600px) and (max-width: 809px) {
	/* The portrait stops owning the whole column: the details flow beside it. */
	.is-style-contact-page-founder {
		display: flow-root;
	}
	.is-style-contact-page-portrait {
		float: left;
		inline-size: 300px;
		margin-inline-end: 40px;
		margin-block-end: 24px;
	}
	.is-style-contact-page-name {
		margin-block-end: 16px !important;
	}
}
@media (max-width: 599px) {
	.is-style-contact-page-heading {
		padding-block-start: 32px;
		padding-block-end: 24px;
	}
	.is-style-contact-page-columns {
		gap: 24px;
		padding-block: 32px !important;
	}
}
@media (prefers-reduced-motion: reduce) {
	.is-style-contact-page [data-contact-appear] {
		opacity: 1 !important;
		transform: none !important;
	}
	.is-style-contact-page-portrait img {
		transform: none !important;
	}
	.is-style-contact-page-faq .is-style-home-faq-header::after {
		transform: none !important;
		transition: none !important;
	}
}
