/* =============================================================================
 * Contact — editorial layout (rhythm inspired by fine-dining "invitation"
 * pages: centered headline flanked by motifs → elegant contact blocks with
 * underlined links → message form). Brand: cream / sage / gold.
 * ========================================================================== */

:root {
	--ct-cream: #EFE8DA;
	--ct-sage:  #394839;
	--ct-deep:  #2B2522;
	--ct-gold:  #8B6F3D;
	--ct-line:  rgba(43, 37, 34, 0.14);
}

/* ----------------------------------------------------------------------------
 * 1. Invitation — centered statement flanked by faint brand motifs
 * -------------------------------------------------------------------------- */
.exspa-contact-invite {
	position: relative;
	background: var(--ct-cream);
	color: var(--ct-deep);
	padding: clamp(80px, 12vw, 170px) clamp(24px, 6vw, 96px);
	overflow: hidden;
	text-align: center;
}
.exspa-contact-invite__motif {
	position: absolute;
	top: 50%;
	width: clamp(70px, 9vw, 150px);
	height: auto;
	transform: translateY(-50%);
	color: var(--ct-sage);
	opacity: 0.08;
	pointer-events: none;
}
.exspa-contact-invite__motif--left  { left: clamp(8px, 4vw, 80px); }
.exspa-contact-invite__motif--right { right: clamp(8px, 4vw, 80px); }

.exspa-contact-invite__inner {
	position: relative;
	z-index: 2;
	max-width: 820px;
	margin: 0 auto;
}
.exspa-contact-invite__eyebrow {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.36em;
	text-transform: uppercase;
	color: var(--ct-gold);
	margin: 0 0 30px;
}
.exspa-contact-invite__title {
	font-family: var(--exspa-font-display, 'Romance', 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(30px, 4.6vw, 64px);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.01em;
	margin: 0 0 30px;
	color: var(--ct-deep);
}
.exspa-contact-invite__title em {
	font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
	font-style: italic;
	color: var(--ct-sage);
}
.exspa-contact-invite__lede {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: clamp(15px, 1.5vw, 17px);
	line-height: 1.8;
	color: var(--ct-deep);
	opacity: 0.78;
	max-width: 58ch;
	margin: 0 auto 34px;
}
.exspa-contact-invite__tags {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--ct-sage);
	opacity: 0.85;
	margin: 0;
}

/* ----------------------------------------------------------------------------
 * 2. Contact blocks — dark sage band, 4 elegant columns with underlined links
 * -------------------------------------------------------------------------- */
.exspa-contact-cols {
	background: var(--ct-deep);
	color: var(--ct-cream);
	padding: clamp(72px, 9vw, 130px) clamp(24px, 6vw, 96px);
}
.exspa-contact-cols__inner {
	max-width: 1200px;
	margin: 0 auto;
}
.exspa-contact-cols__head {
	margin-bottom: clamp(48px, 7vw, 96px);
}
.exspa-contact-cols__brand {
	font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
	font-style: italic;
	font-size: clamp(28px, 3.4vw, 44px);
	line-height: 1.1;
	margin: 0 0 14px;
	color: var(--ct-cream);
}
.exspa-contact-cols__sub {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--ct-cream);
	opacity: 0.7;
	margin: 0;
}
.exspa-contact-cols__sub a {
	color: var(--ct-gold);
	text-decoration: none;
	font-style: italic;
	font-family: 'Cormorant Garamond', Georgia, serif;
	font-size: 16px;
}

.exspa-contact-cols__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: clamp(28px, 3vw, 48px);
	border-top: 1px solid rgba(239, 232, 218, 0.16);
	padding-top: clamp(40px, 5vw, 64px);
}
.exspa-contact-block__title {
	font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
	font-size: clamp(18px, 1.7vw, 22px);
	font-weight: 400;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 6px;
	color: var(--ct-cream);
}
.exspa-contact-block__subtitle {
	font-family: 'Cormorant Garamond', 'EB Garamond', Georgia, serif;
	font-style: italic;
	font-size: 16px;
	color: var(--ct-gold);
	margin: 0 0 18px;
}
.exspa-contact-block__body {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 14.5px;
	line-height: 1.65;
	color: var(--ct-cream);
	opacity: 0.74;
	margin: 0 0 20px;
}
.exspa-contact-block__link {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--ct-cream);
	text-decoration: none;
	border-bottom: 1px solid rgba(239, 232, 218, 0.5);
	padding-bottom: 4px;
	transition: color 220ms ease, border-color 220ms ease;
	display: inline-block;
}
.exspa-contact-block__link:hover {
	color: var(--ct-gold);
	border-bottom-color: var(--ct-gold);
}

/* ----------------------------------------------------------------------------
 * 3. Message form — centered on cream, refined
 * -------------------------------------------------------------------------- */
.exspa-contact-message {
	background: var(--ct-cream);
	color: var(--ct-deep);
	padding: clamp(72px, 9vw, 130px) clamp(24px, 6vw, 96px);
}
.exspa-contact-message__inner {
	max-width: 640px;
	margin: 0 auto;
}
.exspa-contact-message__eyebrow {
	font-family: 'Inter', system-ui, sans-serif;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: var(--ct-gold);
	margin: 0 0 16px;
	text-align: center;
}
.exspa-contact-message__title {
	font-family: var(--exspa-font-display, 'Romance', 'Cormorant Garamond', Georgia, serif);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 400;
	line-height: 1.12;
	text-align: center;
	margin: 0 0 40px;
	color: var(--ct-deep);
}

/* Tablet / mobile */
@media (max-width: 900px) {
	.exspa-contact-cols__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 40px 32px;
	}
	.exspa-contact-invite__motif { display: none; }
}
@media (max-width: 540px) {
	.exspa-contact-cols__grid {
		grid-template-columns: 1fr;
	}
}
