.contact-main {
	padding-bottom: var(--space-20);
}
.contact-hero {
	padding: var(--space-16) 0 var(--space-10);
}
.contact-hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: var(--space-10);
	align-items: center;
}
.contact-hero-copy p {
	max-width: 40rem;
}
.contact-hero-badge {
	margin-bottom: var(--space-4);
}
.contact-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin: var(--space-5) 0 var(--space-3);
}
.contact-hero-meta {
	font-size: var(--font-size-sm);
	max-width: 32rem;
}
.contact-hero-visual {
	position: relative;
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-4);
}
.contact-hero-image {
	border-radius: var(--radius-xl);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	box-shadow: var(--shadow-sharp);
	border: 1px solid rgba(240, 234, 218, 0.08);
	min-height: 180px;
}
.contact-hero-image.primary {
	background-image:
		linear-gradient(135deg, rgba(1, 9, 28, 0.5), rgba(1, 4, 12, 0.95));
	min-height: 230px;
}
.contact-hero-image.secondary {
	background-image:
		linear-gradient(135deg, rgba(1, 9, 28, 0.45), rgba(1, 4, 12, 0.96));
	min-height: 160px;
}
.contact-layout {
	padding: 0 0 var(--space-16);
}
.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.7fr);
	gap: var(--space-8);
	align-items: flex-start;
}
.contact-aside {
	position: sticky;
	top: var(--space-10);
	align-self: flex-start;
}
.contact-details {
	display: grid;
	gap: var(--space-4);
	margin: var(--space-5) 0;
}
.contact-detail-item dt {
	font-size: var(--font-size-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-300);
	margin-bottom: var(--space-1);
}
.contact-detail-item dd {
	font-size: var(--font-size-md);
	color: var(--color-primary-contrast);
}
.contact-aside-links {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin-bottom: var(--space-5);
}
.contact-nav-link {
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}
.contact-aside-note {
	background: linear-gradient(
		145deg,
		rgba(7, 14, 30, 0.9),
		rgba(15, 28, 48, 0.98)
	);
	border-color: rgba(208, 169, 107, 0.35);
}
.contact-main-col {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
}
.contact-form-section h2 {
	margin-bottom: var(--space-2);
}
.contact-form {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-top: var(--space-3);
}
.contact-form-grid {
	margin-top: var(--space-2);
}
.form-field {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}
.form-field label,
.form-field legend {
	font-size: var(--font-size-sm);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gray-300);
}
.form-field-help {
	font-size: var(--font-size-sm);
	margin-bottom: 0;
}
.checkbox-field {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}
.checkbox-field input[type="checkbox"] {
	margin-top: 4px;
	min-width: 16px;
	min-height: 16px;
}
.contact-form-actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin-top: var(--space-2);
}
.contact-form-disclaimer {
	margin-bottom: 0;
	font-size: var(--font-size-xs);
	color: var(--gray-400);
}
.contact-section h2 {
	margin-bottom: var(--space-2);
}
.contact-editorial {
	padding: 0 0 var(--space-16);
}
.contact-editorial-grid {
	align-items: stretch;
}
.contact-editorial-card h2 {
	margin-bottom: var(--space-3);
}
.contact-editorial-list {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-2);
}
.contact-editorial-list li {
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}
.contact-faq-privacy {
	padding: 0 0 var(--space-16);
}
.contact-faq-grid {
	align-items: stretch;
}
.contact-faq-list {
	display: grid;
	gap: var(--space-4);
	margin-top: var(--space-3);
}
.contact-faq-item dt {
	font-weight: 600;
	color: var(--color-primary-contrast);
	margin-bottom: var(--space-1);
}
.contact-faq-item dd {
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}
.contact-privacy-list {
	display: grid;
	gap: var(--space-3);
	margin-top: var(--space-3);
}
.contact-privacy-list li {
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}
.contact-map {
	padding: 0 0 var(--space-16);
}
.contact-map-card {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.2fr);
	gap: var(--space-6);
	align-items: stretch;
}
.contact-map-content h2 {
	margin-bottom: var(--space-3);
}
.contact-address {
	display: grid;
	gap: var(--space-4);
	margin: var(--space-3) 0;
}
.contact-address dt {
	font-size: var(--font-size-xs);
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gray-300);
	margin-bottom: var(--space-1);
}
.contact-address dd {
	font-size: var(--font-size-sm);
	color: var(--color-text-muted);
}
.contact-map-note {
	font-size: var(--font-size-sm);
	margin-bottom: 0;
}
.contact-map-visual {
	border-radius: var(--radius-xl);
	overflow: hidden;
	position: relative;
	box-shadow: var(--shadow-soft);
	border: 1px solid var(--color-border-subtle);
	background: radial-gradient(
		circle at top,
		rgba(15, 37, 82, 0.9),
		rgba(3, 8, 20, 0.98)
	);
}
.contact-map-image {
	width: 100%;
	height: 100%;
	min-height: 220px;
	background-image:
		linear-gradient(145deg, rgba(1, 8, 24, 0.6), rgba(1, 4, 10, 0.96));
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.contact-crosslinks {
	padding: 0 0 var(--space-10);
}
.contact-crosslinks-inner h2 {
	margin-bottom: var(--space-5);
	text-align: center;
}
.contact-crosslinks-grid {
	align-items: stretch;
}
.contact-crosslink {
	transition:
		transform var(--transition-fast),
		box-shadow var(--transition-fast),
		border-color var(--transition-base);
}
.contact-crosslink h3 {
	margin-bottom: var(--space-2);
	font-size: var(--font-size-xl);
}
.contact-crosslink p {
	margin-bottom: 0;
	font-size: var(--font-size-sm);
}
.contact-crosslink:hover {
	transform: translateY(-2px);
	box-shadow: var(--shadow-soft);
	border-color: rgba(208, 169, 107, 0.5);
}
@media (max-width: 1080px) {
	.contact-grid {
		grid-template-columns: 1fr;
	}
	.contact-aside {
		position: static;
		order: 2;
	}
	.contact-main-col {
		order: 1;
	}
}
@media (max-width: 960px) {
	.contact-hero {
		padding: var(--space-12) 0 var(--space-8);
	}
	.contact-hero-inner {
		grid-template-columns: 1fr;
		gap: var(--space-8);
	}
	.contact-hero-visual {
		order: -1;
		max-width: 420px;
		margin: 0 auto;
	}
	.contact-map-card {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 640px) {
	.contact-hero-actions {
		flex-direction: column;
		align-items: stretch;
	}
	.card,
	.card-soft,
	.card-brass-edge {
		border-radius: var(--radius-lg);
	}
	.contact-main {
		padding-bottom: var(--space-12);
	}
	.contact-layout,
	.contact-editorial,
	.contact-faq-privacy,
	.contact-map,
	.contact-crosslinks {
		padding-bottom: var(--space-12);
	}
}
