/* Contact-page-only editorial refinement. Header, hero, navigation, and form behavior are unchanged. */

body.landing-v2-contact-page .landing-v2-contact-grid {
	align-items: start;
	display: grid;
	gap: clamp(3.5rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
	margin: 0 auto;
	max-width: 1380px;
	padding: clamp(6rem, 9vw, 9rem) clamp(1.5rem, 6vw, 6rem) clamp(7rem, 10vw, 10rem);
	position: relative;
}

body.landing-v2-contact-page .landing-v2-contact-grid::before {
	background: linear-gradient(90deg, var(--landing-v2-red) 0 7rem, var(--landing-v2-line) 7rem 100%);
	content: "";
	height: 1px;
	left: clamp(1.5rem, 6vw, 6rem);
	position: absolute;
	right: clamp(1.5rem, 6vw, 6rem);
	top: clamp(3.5rem, 5.5vw, 5.5rem);
}

body.landing-v2-contact-page .landing-v2-contact-form,
body.landing-v2-contact-page .landing-v2-contact-sidebar,
body.landing-v2-contact-page .landing-v2-contact-details {
	background: transparent;
	color: var(--landing-v2-black);
	min-width: 0;
}

body.landing-v2-contact-page .landing-v2-contact-form {
	padding: clamp(1.75rem, 3vw, 2.75rem) 0 0;
	position: relative;
}

body.landing-v2-contact-page .landing-v2-contact-form .landing-v2-eyebrow,
body.landing-v2-contact-page .landing-v2-contact-details .landing-v2-eyebrow,
body.landing-v2-contact-page .landing-v2-reservation-policy .landing-v2-eyebrow {
	color: var(--landing-v2-mahogany);
}

body.landing-v2-contact-page .landing-v2-contact-form h2 {
	color: var(--landing-v2-black);
	font-size: clamp(4rem, 6vw, 6.4rem);
	line-height: 0.92;
	margin: 1rem 0 1.5rem;
	max-width: 9ch;
}

body.landing-v2-contact-page .landing-v2-contact-form > p:not(.landing-v2-eyebrow) {
	color: rgba(23, 19, 16, 0.72);
	font-size: 1.08rem;
	line-height: 1.75;
	max-width: 38rem;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-container {
	background: rgba(255, 255, 255, 0.34);
	border-left: 3px solid var(--landing-v2-red);
	border-top: 1px solid var(--landing-v2-line);
	margin-top: clamp(2.5rem, 4vw, 4rem) !important;
	padding: clamp(1.75rem, 3vw, 2.75rem);
}

body.landing-v2-contact-page .landing-v2-contact-form #wpforms-11151-field_0-container {
	float: none !important;
	margin-left: 0 !important;
	width: 100% !important;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row {
	display: grid !important;
	gap: clamp(1rem, 2.2vw, 1.75rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: none !important;
	width: 100% !important;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row-block {
	clear: none !important;
	display: block !important;
	float: none !important;
	margin: 0 !important;
	width: auto !important;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row-block:first-child {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row-block:last-child {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-label {
	font-size: 0.76rem !important;
}

body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-sublabel {
	font-size: 0.84rem !important;
	line-height: 1.45 !important;
	margin-top: 0.45rem !important;
}

body.landing-v2-contact-page .landing-v2-contact-form input[type="text"],
body.landing-v2-contact-page .landing-v2-contact-form input[type="email"],
body.landing-v2-contact-page .landing-v2-contact-form input[type="tel"],
body.landing-v2-contact-page .landing-v2-contact-form textarea,
body.landing-v2-contact-page .landing-v2-contact-form select {
	font-size: 1.06rem !important;
	min-height: 54px;
	padding: 0.85rem 0 !important;
}

body.landing-v2-contact-page .landing-v2-contact-form textarea {
	min-height: 170px;
}

body.landing-v2-contact-page .landing-v2-contact-form input[type="text"],
body.landing-v2-contact-page .landing-v2-contact-form input[type="email"],
body.landing-v2-contact-page .landing-v2-contact-form input[type="tel"],
body.landing-v2-contact-page .landing-v2-contact-form textarea,
body.landing-v2-contact-page .landing-v2-contact-form select {
	background: rgba(255, 255, 255, 0.28) !important;
	border-color: rgba(69, 40, 29, 0.32) !important;
}

body.landing-v2-contact-page .landing-v2-contact-form button[type="submit"],
body.landing-v2-contact-page .landing-v2-contact-form input[type="submit"] {
	min-width: 12rem;
}

body.landing-v2-contact-page .landing-v2-contact-sidebar {
	border-left: 1px solid var(--landing-v2-line);
	display: grid;
	gap: clamp(3.5rem, 5vw, 5rem);
	padding-left: clamp(2rem, 4vw, 4rem);
}

body.landing-v2-contact-page .landing-v2-reservation-policy {
	background: rgba(157, 31, 45, 0.045);
	border: 0;
	border-top: 3px solid var(--landing-v2-red);
	color: var(--landing-v2-black);
	display: block;
	padding: clamp(1.75rem, 3vw, 2.75rem) clamp(1.5rem, 3vw, 2.5rem) clamp(3.5rem, 5vw, 5rem);
	position: relative;
}

body.landing-v2-contact-page .landing-v2-reservation-policy::after {
	background: linear-gradient(90deg, var(--landing-v2-red) 0 3.5rem, var(--landing-v2-line) 3.5rem 100%);
	bottom: 0;
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
}

body.landing-v2-contact-page .landing-v2-reservation-policy h2 {
	color: var(--landing-v2-black);
	font-size: clamp(3.1rem, 4.3vw, 4.6rem);
	line-height: 0.96;
	margin: 0.9rem 0 2rem;
}

body.landing-v2-contact-page .landing-v2-reservation-policy p:not(.landing-v2-eyebrow) {
	color: rgba(23, 19, 16, 0.75);
	font-size: 1.03rem;
	line-height: 1.72;
	margin: 0 0 1.25rem;
}

body.landing-v2-contact-page .landing-v2-contact-details {
	padding: 0;
}

body.landing-v2-contact-page .landing-v2-contact-details h2 {
	color: var(--landing-v2-black);
	font-size: clamp(2.7rem, 3.6vw, 4rem);
	line-height: 0.98;
	margin: 0.9rem 0 1.5rem;
	max-width: 10ch;
}

body.landing-v2-contact-page .landing-v2-contact-details address {
	color: rgba(23, 19, 16, 0.7);
	font-size: 1.03rem;
	line-height: 1.65;
	margin: 0 0 2rem;
}

body.landing-v2-contact-page .landing-v2-contact-details dl {
	border-bottom: 1px solid var(--landing-v2-line);
	margin: 0 0 2.25rem;
}

body.landing-v2-contact-page .landing-v2-contact-details dl > div,
body.landing-v2-contact-page .landing-v2-contact-details .landing-v2-contact-email {
	align-items: center;
	border-color: var(--landing-v2-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 6.5rem minmax(0, 1fr);
	padding: 1rem 0;
}

body.landing-v2-contact-page .landing-v2-contact-details dt {
	color: var(--landing-v2-mahogany);
	line-height: 1.35;
}

body.landing-v2-contact-page .landing-v2-contact-details dd {
	color: var(--landing-v2-black);
	font-size: 1.03rem;
	min-width: 0;
}

body.landing-v2-contact-page .landing-v2-contact-details dd a {
	color: inherit;
	text-decoration-color: transparent;
	text-underline-offset: 0.25em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

body.landing-v2-contact-page .landing-v2-contact-details dl > div:not(.landing-v2-contact-email) dd a {
	display: inline-block;
	white-space: nowrap;
}

body.landing-v2-contact-page .landing-v2-contact-details .landing-v2-contact-email {
	align-items: start;
	gap: 0.55rem;
	grid-template-columns: minmax(0, 1fr);
}

body.landing-v2-contact-page .landing-v2-contact-details .landing-v2-contact-email a {
	font-size: clamp(0.76rem, 0.88vw, 0.9rem);
	overflow-wrap: anywhere;
}

body.landing-v2-contact-page .landing-v2-contact-details dd a:hover,
body.landing-v2-contact-page .landing-v2-contact-details dd a:focus-visible {
	color: var(--landing-v2-red);
	text-decoration-color: currentColor;
}

body.landing-v2-contact-page .landing-v2-contact-details .landing-v2-primary-action {
	display: inline-flex;
	min-width: 12rem;
}

@media only screen and (max-width: 1020px) {
	body.landing-v2-contact-page .landing-v2-contact-grid {
		gap: 5rem;
		grid-template-columns: minmax(0, 1fr);
		max-width: 820px;
	}

	body.landing-v2-contact-page .landing-v2-contact-sidebar {
		border-left: 0;
		border-top: 1px solid var(--landing-v2-line);
		padding-left: 0;
		padding-top: 4rem;
	}

	body.landing-v2-contact-page .landing-v2-contact-details h2 {
		max-width: 12ch;
	}
}

@media only screen and (max-width: 700px) {
	body.landing-v2-contact-page .landing-v2-contact-grid {
		gap: 4rem;
		padding: 5.25rem 1.25rem 7rem;
	}

	body.landing-v2-contact-page .landing-v2-contact-grid::before {
		left: 1.25rem;
		right: 1.25rem;
		top: 3rem;
	}

	body.landing-v2-contact-page .landing-v2-contact-form h2,
	body.landing-v2-contact-page .landing-v2-reservation-policy h2,
	body.landing-v2-contact-page .landing-v2-contact-details h2 {
		font-size: clamp(3rem, 13vw, 4.4rem);
	}

	body.landing-v2-contact-page .landing-v2-contact-sidebar {
		gap: 3.5rem;
	}

	body.landing-v2-contact-page .landing-v2-contact-form .wpforms-container {
		padding: 1.5rem 1.25rem 1.75rem;
	}

	body.landing-v2-contact-page .landing-v2-contact-details dl > div:not(.landing-v2-contact-email) {
		gap: 0.75rem;
		grid-template-columns: 6rem minmax(0, 1fr);
	}
}

@media only screen and (max-width: 540px) {
	body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row {
		grid-template-columns: minmax(0, 1fr);
	}

	body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row-block:first-child,
	body.landing-v2-contact-page .landing-v2-contact-form .wpforms-field-name .wpforms-field-row-block:last-child {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
}

@media only screen and (max-width: 390px) {
	body.landing-v2-contact-page .landing-v2-contact-details dl > div,
	body.landing-v2-contact-page .landing-v2-contact-details .landing-v2-contact-email {
		align-items: start;
		gap: 0.45rem;
		grid-template-columns: minmax(0, 1fr);
	}
}
