.contact {
	padding: var(--space-2xl, 64px) 5%;
	background: var(--color-bg);
}

.contact-header {
	text-align: center;
	margin-bottom: var(--space-xl, 48px);
	opacity: 0;
	transform: translateY(16px);
	transition: opacity .8s var(--ease-smooth), transform .8s var(--ease-smooth);
}

.contact-header.in-view { opacity: 1; transform: translateY(0); }

.contact-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	color: var(--color-gold);
	font-family: var(--font-fa);
	font-weight: 500;
	font-size: .85rem;
	letter-spacing: .15em;
	margin-bottom: 14px;
}

.contact-eyebrow-line {
	display: inline-block;
	width: 0;
	height: 1px;
	background: var(--color-gold);
	transition: width .8s var(--ease-spring) .3s;
}

.contact-header.in-view .contact-eyebrow-line { width: 28px; }

.contact-title {
	font-family: var(--font-fa);
	font-weight: 700;
	font-size: clamp(1.8rem, 5.5vw, 2.8rem);
	color: var(--color-black);
}

.contact-title-line {
	display: block;
	filter: blur(6px);
	opacity: 0;
	transform: translateY(10px);
	transition: filter .9s var(--ease-smooth), opacity .9s var(--ease-smooth), transform .9s var(--ease-smooth);
}

.contact-title-line:nth-child(1) { transition-delay: .1s; }
.contact-title-line:nth-child(2) { transition-delay: .25s; }

.contact-header.in-view .contact-title-line { filter: blur(0); opacity: 1; transform: translateY(0); }

.contact-container {
	display: flex;
	flex-direction: column;
	gap: var(--space-xl, 40px);
	max-width: 1100px;
	margin: 0 auto;
}

@media (min-width: 900px) {
	.contact-container { flex-direction: row-reverse; align-items: stretch; gap: var(--space-2xl, 64px); }
	.contact-info { flex: 1; }
	.contact-maps { flex: 1; }
}

.contact-info {
	display: flex;
	flex-direction: column;
	gap: var(--space-lg, 28px);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .8s var(--ease-spring), transform .8s var(--ease-spring);
}

.contact-info.in-view { opacity: 1; transform: translateY(0); }

.contact-info-item {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding-bottom: var(--space-lg, 24px);
	border-bottom: 1px solid rgba(201,162,75,0.2);
}

.contact-info-item i {
	font-size: 1.6rem;
	color: var(--color-gold);
	flex-shrink: 0;
	margin-top: 2px;
}

.contact-info-item > div {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.contact-info-label {
	font-family: var(--font-fa);
	font-weight: 500;
	font-size: .8rem;
	color: var(--color-gold);
	letter-spacing: .05em;
}

.contact-info-value {
	font-family: var(--font-fa);
	font-weight: 400;
	font-size: 1rem;
	color: var(--color-black);
}

a.contact-phone {
	display: block;
	text-decoration: none;
	direction: ltr;
	text-align: right;
	transition: color .25s var(--ease-smooth);
}

a.contact-phone:hover { color: var(--color-gold); }

.contact-maps {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.contact-map-card {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 20px 24px;
	border-radius: var(--radius-lg, 14px);
	background: var(--color-bg);
	border: 1px solid rgba(20,20,20,0.08);
	box-shadow: 0 6px 24px rgba(0,0,0,0.05);
	text-decoration: none;
	color: var(--color-black);
	opacity: 0;
	transform: translateY(20px);
	transition: opacity .6s var(--ease-spring), transform .6s var(--ease-spring),
							border-color .3s var(--ease-smooth), box-shadow .3s var(--ease-smooth), background .3s var(--ease-smooth);
}

.contact-maps.in-view .contact-map-card { opacity: 1; transform: translateY(0); }
.contact-maps.in-view .contact-map-card:nth-child(1) { transition-delay: .1s; }
.contact-maps.in-view .contact-map-card:nth-child(2) { transition-delay: .22s; }
.contact-maps.in-view .contact-map-card:nth-child(3) { transition-delay: .34s; }

.contact-map-card:hover {
	border-color: var(--color-gold);
	box-shadow: 0 10px 30px rgba(201,162,75,0.18);
	background: #fffdf8;
}

.contact-map-card i:first-child {
	font-size: 1.7rem;
	color: var(--color-gold);
	flex-shrink: 0;
}

.contact-map-name {
	font-family: var(--font-fa);
	font-weight: 500;
	font-size: 1.05rem;
	flex: 1;
}

.contact-map-arrow {
	font-size: 1.2rem;
	color: var(--color-gold);
	transform: translateX(0);
	transition: transform .3s var(--ease-smooth);
}

.contact-map-card:hover .contact-map-arrow { transform: translateX(-6px); }
