/* Contact page layout; colors, buttons, Agency cards and motion are shared. */
.contact-main {
	padding: 0;
}

.contact-hero,
.contact-section {
	padding-block: var(--recruitment-home-section-space);
}

.contact-hero,
.contact-section--muted {
	background: var(--recruitment-color-surface-muted);
}

.contact-eyebrow {
	margin: 0 0 var(--recruitment-space-small);
	color: var(--recruitment-color-primary-strong);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.contact-hero h1 {
	margin: 0;
	font-size: clamp(2.125rem, 5vw + 0.5rem, 4.5rem);
	font-weight: 800;
	line-height: 1.08;
}

.contact-lead {
	max-width: 46rem;
	margin: var(--recruitment-space-medium) 0 0;
	color: var(--recruitment-color-text-muted);
	font-size: 1.125rem;
}

.contact-main h2 {
	margin: 0;
	font-size: var(--recruitment-home-heading-size);
	font-weight: 800;
	line-height: 1.15;
}

.contact-main h3 {
	margin: 0;
	font-size: 1.25rem;
	line-height: 1.3;
}

.contact-section__header {
	max-width: 46rem;
	margin-bottom: var(--recruitment-space-large);
}

.contact-section__header > p:not(.contact-eyebrow) {
	margin: var(--recruitment-space-medium) 0 0;
	color: var(--recruitment-color-text-muted);
}

.contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--recruitment-space-medium);
}

.contact-grid > * {
	min-width: 0;
}

.contact-route {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: var(--recruitment-home-card-space);
	background: var(--recruitment-color-surface);
	border: 1px solid var(--recruitment-color-border);
	border-top: 3px solid var(--recruitment-color-primary);
	border-radius: var(--recruitment-radius-large);
}

.contact-route p {
	margin: var(--recruitment-space-small) 0 var(--recruitment-space-large);
	color: var(--recruitment-color-text-muted);
}

.contact-route .home-button {
	width: 100%;
	margin-top: auto;
}

.contact-actions {
	display: flex;
	flex-direction: column;
	gap: var(--recruitment-space-small);
	margin-top: var(--recruitment-space-large);
}

.contact-actions > a {
	padding: 0.75rem 1.25rem;
}

.contact-section__footer {
	margin: var(--recruitment-space-large) 0 0;
}

.contact-section__footer .home-button {
	width: 100%;
}

/* Keep the existing multi-link Agency card usable in the narrower preview grid. */
.contact-agencies .agency-card {
	align-content: space-between;
	padding: var(--recruitment-home-card-space);
	box-shadow: var(--recruitment-home-shadow);
}

.contact-agencies .agency-card__footer {
	grid-template-columns: minmax(0, 1fr);
}

.contact-agencies .agency-button {
	width: 100%;
}

.contact-agencies .agency-card__title a,
.contact-agencies .agency-card__contact a {
	overflow-wrap: anywhere;
}

.contact-agencies:has(> :only-child) {
	max-width: 26rem;
	grid-template-columns: minmax(0, 1fr);
}

.contact-guidance {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--recruitment-space-large);
}

.contact-guidance > *,
.contact-help > * {
	min-width: 0;
}

.contact-guidance .contact-section__header,
.contact-help .contact-section__header {
	margin-bottom: 0;
}

.contact-guidance__note {
	align-self: center;
	padding: var(--recruitment-space-large);
	background: var(--recruitment-color-primary-soft);
	border: 1px solid var(--recruitment-color-primary-strong);
	border-radius: var(--recruitment-radius-large);
}

.contact-guidance__note p {
	margin: var(--recruitment-space-small) 0 0;
	color: var(--recruitment-color-text-muted);
}

.contact-employer {
	color: var(--recruitment-color-on-dark);
	background: var(--recruitment-color-text);
}

.contact-employer__inner {
	max-width: var(--recruitment-content-width-narrow);
}

.contact-employer .contact-eyebrow {
	color: var(--recruitment-color-primary);
}

.contact-employer .contact-lead {
	color: var(--recruitment-color-on-dark-muted);
}

@media (min-width: 48rem) {
	.contact-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contact-actions {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.contact-section__footer .home-button {
		width: auto;
	}
}

@media (min-width: 64rem) {
	.contact-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.contact-guidance {
		grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
		gap: var(--recruitment-space-2xlarge);
	}
}
