.hero-contact {
	background:
		radial-gradient(
			circle at top left,
			rgba(90, 74, 130, 0.14),
			transparent 55%
		),
		linear-gradient(120deg, rgba(20, 16, 11, 0.9), rgba(20, 16, 11, 0.75));
	color: #ffffff;
}
.hero-inner--contact {
	align-items: center;
}
.hero-contact-copy .hero-title,
.hero-contact-copy .hero-subtitle,
.hero-contact-copy p,
.hero-contact-copy dt,
.hero-contact-copy dd {
	color: #fdf7ea;
}
.hero-contact-copy .hero-subtitle {
	max-width: 620px;
}
.hero-actions--contact {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}
.hero-contact-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-6);
	margin-top: var(--space-5);
	font-size: var(--font-size-sm);
}
.hero-contact-meta dt {
	font-weight: 500;
	margin-bottom: var(--space-1);
}
.hero-contact-meta dd {
	margin: 0;
	color: rgba(253, 247, 234, 0.85);
}
.hero-contact-card {
	max-width: 420px;
	margin-left: auto;
}
.hero-image-frame--contact {
	min-height: 320px;
	background:
		radial-gradient(
			circle at 20% 0,
			rgba(255, 255, 255, 0.22),
			transparent 65%
		),
		linear-gradient(145deg, rgba(207, 161, 74, 0.4), rgba(45, 116, 104, 0.75));
}
.hero-contact-glow {
	position: absolute;
	inset: 12%;
	border-radius: inherit;
	background: radial-gradient(
		circle at 20% 20%,
		rgba(255, 255, 255, 0.5),
		transparent 55%
	);
	opacity: 0.65;
}
.contact-main-grid {
	align-items: flex-start;
	gap: var(--space-10);
}
.contact-form-wrapper {
	max-width: 720px;
}
.contact-form {
	padding: var(--space-6);
}
.form-row {
	margin-bottom: var(--space-4);
}
.form-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}
.form-field label,
.form-field legend {
	font-size: var(--font-size-sm);
	font-weight: 500;
	color: var(--color-heading);
}
.contact-radio-group {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-2);
}
.contact-radio {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: 6px 12px;
	border-radius: var(--radius-pill);
	border: 1px solid var(--color-border);
	background-color: rgba(255, 255, 255, 0.85);
	font-size: var(--font-size-sm);
}
.contact-radio input {
	accent-color: var(--color-primary);
}
.contact-consent {
	margin-top: var(--space-2);
	margin-bottom: var(--space-4);
	padding: var(--space-4);
	border-radius: var(--radius-md);
	background-color: var(--gray-50);
	border: 1px solid var(--color-border);
}
.card-consent {
	background: rgba(250, 248, 244, 0.9);
}
.contact-consent-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
}
.contact-consent-checkbox input[type="checkbox"] {
	margin-top: 4px;
}
.contact-consent-links a {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.contact-submit-btn {
	width: 100%;
	justify-content: center;
	margin-top: var(--space-2);
}
.contact-response-note {
	margin-top: var(--space-3);
	font-size: var(--font-size-sm);
}
.contact-sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-card {
	padding: var(--space-5);
}
.contact-card--muted {
	background: linear-gradient(
		135deg,
		rgba(238, 231, 219, 0.9),
		rgba(246, 244, 240, 0.95)
	);
}
.contact-details-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-details-heading {
	font-family: var(--font-serif);
	font-size: var(--font-size-lg);
	margin-bottom: var(--space-2);
}
.contact-cta-stack {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}
.contact-newsletter {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: var(--space-8);
	align-items: start;
}
.contact-newsletter-form form {
	display: flex;
	flex-direction: column;
}
.contact-navigation {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
}
.contact-navigation-grid {
	align-items: stretch;
}
.contact-nav-card {
	text-decoration: none;
}
.contact-nav-card p {
	font-size: var(--font-size-sm);
}
@media (max-width: 960px) {
	.hero-contact-card {
		max-width: 100%;
		margin-left: 0;
	}
	.contact-main-grid {
		grid-template-columns: minmax(0, 1fr);
	}
	.contact-sidebar {
		order: -1;
	}
	.contact-form {
		padding: var(--space-5);
	}
	.contact-newsletter {
		grid-template-columns: minmax(0, 1fr);
	}
}
@media (max-width: 640px) {
	.hero-actions--contact {
		flex-direction: column;
		align-items: stretch;
	}
	.contact-form {
		padding: var(--space-4);
	}
	.contact-submit-btn {
		width: 100%;
	}
}
