.contact-hero {
	position: relative;
	background:
		radial-gradient(circle at top, #d9d0c5 0, transparent 55%),
		linear-gradient(135deg, #0f0e0c, #3b2d1d);
	color: #f9f5ee;
	overflow: hidden;
}
.contact-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	opacity: 0.22;
	mix-blend-mode: soft-light;
	pointer-events: none;
}
.contact-hero .container {
	position: relative;
	z-index: 1;
}
.contact-hero-text h1 {
	color: #f6f3ee;
}
.contact-hero-text .lead {
	color: rgba(249, 245, 238, 0.9);
}
.contact-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: var(--space-8);
	align-items: center;
}
.contact-hero-card {
	background: rgba(20, 18, 14, 0.88);
	color: #f9f5ee;
	border-radius: var(--radius-xl);
	border: 1px solid rgba(210, 169, 78, 0.35);
	box-shadow: var(--shadow-soft-glass);
}
.contact-hero-card h2 {
	color: #f6f3ee;
}
.contact-hero-card .card-subtitle {
	color: rgba(249, 245, 238, 0.7);
}
.contact-hero-cta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-top: var(--space-6);
	margin-bottom: var(--space-4);
}
.contact-hero-meta {
	margin-top: var(--space-4);
	max-width: 32rem;
}
.contact-hero-meta .muted {
	color: rgba(249, 245, 238, 0.8);
}
.contact-highlight-grid {
	display: grid;
	gap: var(--space-4);
}
.contact-highlight-item h3 {
	font-size: var(--font-size-lg);
	margin-bottom: var(--space-2);
}
.contact-hours-list {
	margin-top: var(--space-2);
	margin-bottom: var(--space-2);
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	font-size: var(--font-size-sm);
}
.contact-hours-list li {
	display: flex;
	justify-content: space-between;
	gap: var(--space-4);
}
.contact-details-grid {
	align-items: flex-start;
}
.contact-data-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-bottom: var(--space-6);
}
.contact-data-item h3 {
	font-size: var(--font-size-xl);
	margin-bottom: var(--space-2);
}
.contact-link {
	font-weight: 500;
	color: var(--color-heading);
}
.contact-link:hover {
	color: var(--color-primary-hover);
}
.contact-amenities {
	margin-top: var(--space-4);
}
.contact-amenities h3 {
	font-size: var(--font-size-lg);
	margin-bottom: var(--space-2);
}
.contact-amenities-list {
	margin-top: var(--space-2);
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	font-size: var(--font-size-sm);
}
.contact-amenities-list li::before {
	content: "\2022";
	color: var(--color-accent);
	display: inline-block;
	width: 1em;
	margin-left: -1em;
}
.contact-form {
	display: flex;
	flex-direction: column;
}
.contact-checkbox-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
	margin-top: var(--space-2);
}
.contact-checkbox {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: var(--font-size-sm);
	color: rgba(44, 48, 53, 0.9);
}
.contact-checkbox input {
	margin-top: 3px;
}
.contact-consent {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: var(--font-size-xs);
	color: rgba(44, 48, 53, 0.9);
}
.contact-consent input {
	margin-top: 3px;
}
.contact-form-footer {
	margin-top: var(--space-4);
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}
.contact-bottom-grid {
	align-items: flex-start;
}
.contact-bottom-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	margin-bottom: var(--space-6);
}
.contact-bottom-item h3 {
	font-size: var(--font-size-lg);
	margin-bottom: var(--space-2);
}
.contact-links-row {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}
.contact-social-card h2 {
	margin-bottom: var(--space-3);
}
.contact-social-links {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	margin-top: var(--space-3);
	margin-bottom: var(--space-4);
}
.contact-social-link {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-3);
	border-radius: var(--radius-lg);
	border: 1px solid rgba(229, 221, 210, 0.9);
	background: rgba(255, 255, 255, 0.9);
	font-size: var(--font-size-sm);
	color: var(--color-text);
	transition:
		background-color var(--transition-base),
		transform var(--transition-fast),
		box-shadow var(--transition-base);
}
.contact-social-link:hover {
	background: #f6f3ee;
	transform: translateY(-1px);
	box-shadow: var(--shadow-xs);
}
.contact-note {
	margin-top: var(--space-4);
}
.contact-quick-links {
	margin-top: var(--space-4);
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
}
@media (max-width: 1024px) {
	.contact-hero-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--space-6);
	}
	.contact-hero-card {
		order: -1;
	}
}
@media (max-width: 768px) {
	.contact-hero {
		padding-top: var(--space-12);
		padding-bottom: var(--space-12);
	}
	.contact-hours-list li {
		flex-direction: column;
		align-items: flex-start;
	}
	.contact-links-row,
	.contact-quick-links {
		flex-direction: column;
	}
}
@media (max-width: 480px) {
	.contact-hero-cta {
		flex-direction: column;
	}
	.contact-social-link {
		padding: var(--space-2);
	}
}
