.contact-location {
	padding: clamp(4rem, 8vw, 7rem) 0;
	background: #ebebeb;
	color: #111;
}

.contact-location__layout {
	display: grid;
	grid-template-columns:
		minmax(18rem, 5fr)
		minmax(0, 7fr);
	align-items: center;
	gap: clamp(3rem, 7vw, 8rem);
}

.contact-location__content {
	max-width: 34rem;
}

.contact-location__eyebrow {
	display: flex;
	margin: 0 0 1.5rem;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.11em;
	text-transform: uppercase;
}

.contact-location__eyebrow::before {
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 0.15rem;
	background: var(--color-accent, #d52b22);
	content: "";
}

.contact-location__content h2 {
	margin: 0 0 clamp(2rem, 4vw, 3.5rem);
	font-size: clamp(3rem, 6vw, 6.5rem);
	line-height: 0.9;
	letter-spacing: -0.06em;
}

.contact-location__address {
	display: flex;
	margin: 0 0 1.5rem;
	flex-direction: column;
	gap: 0.45rem;
	font-style: normal;
	line-height: 1.55;
}

.contact-location__address strong {
	font-size: 1.15rem;
}

.contact-location__address span,
.contact-location__text {
	color: rgba(17, 17, 17, 0.65);
	font-size: 0.95rem;
}

.contact-location__text {
	margin: 0 0 2rem;
	line-height: 1.6;
}

.contact-location__map {
	position: relative;
	overflow: hidden;
	border-radius: var(--radius-media, 0.75rem);
	background: #d4d4d4;
	aspect-ratio: 4 / 3;
}

.contact-location__map iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	filter: grayscale(0%) contrast(0.92);
	transition: filter 300ms ease;
}

@media (hover: hover) {
	.contact-location__map:hover iframe {
		filter: grayscale(0%) contrast(1);
	}
}

@media (max-width: 767px) {
	.contact-location__layout {
		grid-template-columns: 1fr;
	}

	.contact-location__map {
		aspect-ratio: 1 / 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.contact-location__map iframe {
		transition: none;
	}
}