.contact-page {
	background: var( --zeem-navy );
	color: var( --zeem-white );
	min-height: 100vh;
	padding: 180px 24px 120px;
	font-family: var( --zeem-font-sans );
}
.contact-page__inner { max-width: 1000px; margin: 0 auto; }
.contact-page__label {
	display: block; color: var( --zeem-gold );
	letter-spacing: .25em; text-transform: uppercase;
	font-size: .75rem; font-weight: var( --zeem-fw-semibold ); margin-bottom: 1.25rem;
}
.contact-page__heading {
	font-size: clamp( 2.5rem, 6vw, 4.5rem );
	font-weight: var( --zeem-fw-light ); line-height: 1.05; margin: 0 0 1.5rem;
}
.contact-page__text {
	color: var( --zeem-grey-light ); max-width: 640px;
	font-size: 1.05rem; line-height: 1.7; font-weight: var( --zeem-fw-light ); margin: 0 0 4rem;
}
.contact-page__offices { display: flex; flex-wrap: wrap; gap: 3rem 5rem; margin-bottom: 4rem; }
.contact-page__city { font-size: 1.5rem; font-weight: var( --zeem-fw-regular ); margin: 0 0 1rem; }
.contact-page__detail { display: flex; flex-direction: column; gap: .4rem; color: var( --zeem-grey-light ); line-height: 1.7; font-weight: var( --zeem-fw-light ); }
.contact-page__detail a { color: var( --zeem-grey-light ); text-decoration: none; width: fit-content; transition: color .25s var( --zeem-ease ); }
.contact-page__detail a:hover { color: var( --zeem-gold ); }
.contact-page__address { margin-top: .4rem; color: var( --zeem-grey ); }
.contact-page__footer-row {
	display: flex; align-items: center; justify-content: space-between;
	flex-wrap: wrap; gap: 2rem; border-top: 1px solid rgba( 255,255,255,.1 ); padding-top: 2.5rem;
}
.contact-page__cta { color: var( --zeem-gold ); text-decoration: none; font-weight: var( --zeem-fw-medium ); transition: opacity .25s var( --zeem-ease ); }
.contact-page__cta:hover { opacity: .7; }
.contact-page__socials { display: flex; gap: 1.25rem; }
.contact-page__socials a { color: var( --zeem-grey-light ); transition: color .25s var( --zeem-ease ); }
.contact-page__socials a:hover { color: var( --zeem-gold ); }
.contact-page__socials svg { width: 22px; height: 22px; fill: currentColor; }
@media ( max-width: 600px ) {
	.contact-page { padding: 140px 20px 80px; }
	.contact-page__offices { gap: 2.5rem; }
}


/* Page + below-content background so the footer area isn't white */
html:has( body.zeem-contact-page ) { background: var( --zeem-navy ); }
body.zeem-contact-page { background: var( --zeem-navy ); }

/* Shared site footer — branded to match the rest of the site */
.zeem-contact-page .site-footer {
	background: var( --zeem-navy );
	padding: 80px 24px 56px;
	display: flex; flex-direction: column; align-items: center; text-align: center;
	border-top: 1px solid rgba( 255, 255, 255, .08 );
	font-family: var( --zeem-font-sans );
}
.zeem-contact-page .footer-logo {
	font-size: 20px; font-weight: var( --zeem-fw-regular ); letter-spacing: .2em;
	color: var( --zeem-gold ); text-decoration: none; margin-bottom: 14px; transition: opacity .3s ease;
}
.zeem-contact-page .footer-logo:hover { opacity: .7; }
.zeem-contact-page .footer-locations { color: var( --zeem-grey-light ); font-size: 13px; letter-spacing: .1em; margin-bottom: 16px; }
.zeem-contact-page .footer-socials { display: flex; gap: 16px; margin-bottom: 16px; }
.zeem-contact-page .footer-socials a { color: var( --zeem-grey-light ); transition: color .25s var( --zeem-ease ); }
.zeem-contact-page .footer-socials a:hover { color: var( --zeem-gold ); }
.zeem-contact-page .footer-socials svg { width: 18px; height: 18px; fill: currentColor; }
.zeem-contact-page .footer-copyright { color: var( --zeem-grey ); font-size: 12px; letter-spacing: .05em; margin: 0; }
