/*
 * smh/section-contact (root .smh-contact.smh-contact--band, id contact) and smh/page-contact (.smh-contact--page).
 * Owner: WP2 (band, design A) / the contact page body keeps its own rules below. Contract: docs/ARCHITECTURE.md
 * 5.3.6, 5.8.
 * Band (design A "Living Network"): a petrol band with its own quieter network (data-net="contact": the site
 * engine's living network, base.css section 11 + assets/js/living.js), the framed H2, intro, the channels (smh/contact-details restyled on petrol: glass icon
 * tabs, label over value, hairlines), the confidentiality note with a lock, and the form card (contact-form.css).
 * 5 / 7 columns from 1081 px, stacked below.
 */

/* ---------- Band (home, services page) ---------- */
.smh-contact--band.smh-living {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(112px, 11vw, 170px) 0;
	color: var(--smh-white);
	background-color: var(--smh-petrol-deep);
}
.smh-contact--band .smh-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(40px, 6vw, 104px);
	align-items: start;
	margin: 0 auto;
}
.smh-contact--band .smh-contact__grid > * { margin: 0; min-inline-size: 0; }
.smh-contact--band .smh-contact__title { font-size: clamp(32px, 3.1vw, 46px); color: var(--smh-white); }
.smh-contact--band .smh-contact__intro {
	max-inline-size: none;
	margin-top: 30px;
	font-size: clamp(17px, 1.3vw, 19px);
	line-height: 1.95;
	color: var(--smh-mist);
}
html[lang|="en"] .smh-contact--band .smh-contact__intro { line-height: 1.7; }

/* channels: smh/contact-details on petrol */
.smh-contact--band .smh-contact__details { margin-top: 40px; color: var(--smh-white); }
.smh-contact--band .smh-contact-details__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.smh-contact--band .smh-contact-details__row {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid rgb(255 255 255 / .09);
}
.smh-contact--band .smh-contact-details__row:last-child { border-bottom: 0; }
.smh-contact--band .smh-contact-details__tab,
.smh-contact--band .smh-contact-details .smh-tab {
	inline-size: 46px;
	block-size: 46px;
	border-radius: var(--smh-r-tab);
	display: grid;
	place-items: center;
	color: var(--smh-white);
	background: linear-gradient(160deg, rgb(255 255 255 / .14), rgb(255 255 255 / .05));
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / .14), 0 10px 20px -12px rgb(0 0 0 / .5);
}
.smh-contact--band .smh-contact-details__icon { inline-size: 20px; block-size: 20px; }
.smh-contact--band .smh-contact-details__body { display: block; min-inline-size: 0; }
.smh-contact--band .smh-contact-details__label { display: block; font-size: 13.5px; line-height: 1.5; color: rgb(220 230 233 / .84); }
.smh-contact--band .smh-contact-details__value { display: block; font-size: 16.5px; font-weight: 500; line-height: 1.6; color: var(--smh-white); }
.smh-contact--band .smh-contact-details__value * { color: inherit; }
.smh-contact--band .smh-contact-details a { color: var(--smh-white); text-decoration: none; }
.smh-contact--band .smh-contact-details a:hover { text-decoration: underline; text-underline-offset: .3em; }
.smh-contact--band .smh-contact-details :focus-visible { outline-color: var(--smh-white); }

.smh-contact--band .smh-contact__note {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	max-inline-size: none;
	margin-top: 26px;
	padding: 16px 18px;
	border-radius: var(--smh-r-tab);
	background: rgb(3 24 31 / .28);
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / .08);
	font-size: 14.5px;
	line-height: 1.8;
	color: var(--smh-mist);
}
.smh-contact--band .smh-contact__note .smh-home-icon { margin-top: 4px; opacity: .85; }

@media (max-width: 1080px) {
	.smh-contact--band .smh-contact__grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- Contact page (.smh-contact--page; light) ---------- */
.smh-contact--page .smh-contact__intro,
.smh-contact--page .smh-contact__lead {
	max-inline-size: var(--smh-measure);
	margin: var(--wp--preset--spacing--30) 0 0;
	font-size: var(--wp--preset--font-size--large);
	line-height: var(--smh-lh-loose);
	color: var(--smh-ink);
}
html[lang|="en"] .smh-contact--page .smh-contact__lead { line-height: var(--smh-lh-normal); }
.smh-contact--page .smh-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--70);
	align-items: start;
	margin-block: 0;
}
.smh-contact--page .smh-contact__grid > *,
.smh-contact--page .smh-contact__aside > *,
.smh-contact--page .smh-contact__main > * { margin-block: 0; }
.smh-contact--page .smh-contact__aside {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--70);
	align-content: start;
	min-inline-size: 0;
}
.smh-contact--page .smh-contact__main,
.smh-contact--page .smh-contact__channels { min-inline-size: 0; }
.smh-contact--page .smh-contact__main > .smh-contact__subtitle + * { margin-block-start: 0; }
@media (min-width: 1024px) {
	.smh-contact--page .smh-contact__grid {
		grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
		column-gap: clamp(1.5rem, 3.5vw, 3rem);
	}
}
.smh-contact--page .smh-contact__subtitle {
	margin: 0 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 700;
	color: var(--smh-petrol);
}
.smh-contact--page .smh-contact__note {
	max-inline-size: var(--smh-measure);
	margin: var(--wp--preset--spacing--40) 0 0;
	font-size: var(--wp--preset--font-size--small);
	line-height: var(--smh-lh-relaxed);
	color: var(--smh-muted);
}
.smh-contact.smh-contact--page { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--80); }
.smh-contact--page .smh-contact__lead { margin: 0 0 var(--wp--preset--spacing--70); }
.smh-contact--page > .smh-map { margin-block: var(--wp--preset--spacing--80) 0; }
.smh-contact--page > .smh-contact__note { margin-block-start: var(--wp--preset--spacing--40); }
@media (min-width: 600px) and (max-width: 1023px) {
	.smh-contact--page .smh-contact-details--full .smh-contact-details__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media print {
	.smh-contact--band.smh-living { color: inherit; background: none; }
}
