/* Candidate Page presentation; shared cards, controls and motion stay unchanged. */
.candidates-main.site-main {
	padding-block: 0;
}

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

.candidates-hero {
	padding-block: clamp(3.5rem, 8vw, 6rem);
	background: var(--recruitment-color-primary-soft);
	border-bottom: 1px solid var(--recruitment-color-border);
}

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

.candidates-hero h1 {
	max-width: 48rem;
	margin: 0;
	font-size: clamp(2.25rem, 5.2vw, 4.5rem);
	line-height: 1.08;
	letter-spacing: -0.035em;
}

.candidates-lead {
	max-width: 42rem;
	margin: var(--recruitment-space-large) 0 0;
	color: var(--recruitment-color-text-muted);
	font-size: clamp(1.0625rem, 1.6vw, 1.25rem);
}

.candidates-section--muted {
	background: var(--recruitment-color-surface-muted);
}

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

.candidates-section h2 {
	margin: 0;
	font-size: var(--recruitment-home-heading-size);
	line-height: 1.15;
	letter-spacing: -0.025em;
}

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

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

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

.candidates-filters,
.candidates-journey {
	padding: 0;
	margin: 0;
	list-style: none;
}

.candidates-search > *,
.candidates-guidance > *,
.candidates-grid > *,
.candidates-filters > li,
.candidates-journey > li,
.candidates-agencies .agency-card > * {
	min-width: 0;
}

.candidates-filters > li {
	padding: var(--recruitment-home-card-space);
	background: var(--recruitment-color-surface-muted);
	border: 1px solid var(--recruitment-color-border);
	border-radius: var(--recruitment-radius-medium);
}

.candidates-filters strong {
	display: block;
	color: var(--recruitment-color-primary-strong);
}

.candidates-filters p,
.candidates-apply-card p,
.candidates-journey p {
	margin: var(--recruitment-space-small) 0 0;
	color: var(--recruitment-color-text-muted);
}

.candidates-apply-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(1.25rem, 3vw, 2rem);
	background: var(--recruitment-color-surface);
	border: 1px solid var(--recruitment-color-border);
	border-top: 3px solid var(--recruitment-color-primary-strong);
	border-radius: var(--recruitment-radius-large);
	box-shadow: var(--recruitment-home-shadow);
}

.candidates-apply-card p {
	flex: 1;
	margin-bottom: var(--recruitment-space-large);
}

.candidates-journey > li {
	padding: var(--recruitment-space-large) var(--recruitment-space-medium) 0 0;
	border-top: 2px solid var(--recruitment-color-border);
}

.candidates-journey__number {
	display: block;
	margin-bottom: var(--recruitment-space-medium);
	color: var(--recruitment-color-primary-strong);
	font-size: 2.75rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.04em;
}

.candidates-areas .home-sector-link {
	min-height: 7.5rem;
	overflow-wrap: anywhere;
}

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

.candidates-agencies > .agency-card {
	min-width: 0;
	grid-template-columns: minmax(0, 1fr);
	overflow-wrap: anywhere;
}

.candidates-agencies .agency-card__footer {
	grid-template-columns: minmax(0, 1fr);
	align-content: end;
}

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

.candidates-actions .home-employer-cta__button {
	max-width: 100%;
	padding: 0.75rem 1.25rem;
	line-height: 1.4;
}

.candidates-final {
	color: var(--recruitment-color-on-dark);
	background: var(--recruitment-color-text);
}

.candidates-final .candidates-eyebrow {
	color: var(--recruitment-color-primary);
}

.candidates-final h2 {
	max-width: 48rem;
}

.candidates-final__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--recruitment-home-button-height);
	color: var(--recruitment-color-on-dark);
	font-weight: 700;
	text-underline-offset: 0.25em;
}

.candidates-final__link:hover {
	color: var(--recruitment-color-primary);
}

.candidates-final__link:focus-visible {
	outline-color: var(--recruitment-color-primary);
}

@media (max-width: 47.999rem) {
	.candidates-main .home-button {
		width: 100%;
	}
}

@media (min-width: 48rem) {
	.candidates-grid--two,
	.candidates-filters,
	.candidates-journey,
	.candidates-areas {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--recruitment-space-large);
	}

	.candidates-actions {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
	}

	.candidates-final__link {
		padding-inline: var(--recruitment-space-small);
	}

	.candidates-agencies .agency-button {
		justify-self: start;
	}
}

@media (min-width: 64rem) {
	.candidates-search,
	.candidates-guidance {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
		gap: var(--recruitment-space-xlarge);
		align-items: start;
	}

	.candidates-search .candidates-section__header,
	.candidates-guidance .candidates-section__header {
		margin-bottom: 0;
	}

	.candidates-journey {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.candidates-areas {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
