.home-main{padding:0}.home-top-area{padding:clamp(3rem,6vw,5rem) 0 var(--recruitment-space-xlarge);background:var(--recruitment-color-surface-muted)}.home-top-area__grid{display:grid;gap:1.25rem;grid-template-columns:minmax(0,1fr)}.home-hero__eyebrow{margin:0 0 var(--recruitment-space-small);color:var(--recruitment-color-primary-strong);font-weight:800}.home-hero__content h1{max-width:12ch;margin:0;font-size:clamp(2.125rem,8.5vw,3.5rem);line-height:1.03}.home-hero__intro{max-width:42rem;font-size:1.125rem;color:var(--recruitment-color-text-muted)}.home-hero__actions{display:grid;gap:var(--recruitment-space-small);max-width:24rem}.home-button{display:inline-flex;align-items:center;justify-content:center;min-height:var(--recruitment-home-button-height);padding:.75rem 1.25rem;font:inherit;line-height:1.4;text-align:center;border:1px solid var(--recruitment-color-primary);border-radius:var(--recruitment-radius-small);font-weight:800;text-decoration:none}.home-button--primary{color:var(--recruitment-color-on-primary);background:var(--recruitment-color-primary)}.home-button--secondary{border-color:var(--recruitment-color-primary-strong);color:var(--recruitment-color-primary-strong);background:var(--recruitment-color-surface)}.home-job-search{position:relative}.home-job-search__form{display:grid;gap:var(--recruitment-space-medium);padding:var(--recruitment-space-medium);background:var(--recruitment-color-surface);border:1px solid var(--recruitment-color-border);border-radius:var(--recruitment-radius-large);box-shadow:var(--recruitment-shadow-card)}.home-job-search__field label{display:block;margin-bottom:.3rem;font-weight:700}.home-job-search input,.home-job-search select{width:100%;min-width:0;min-height:var(--recruitment-home-button-height);padding:.75rem;color:var(--recruitment-color-text);background:var(--recruitment-color-surface);border:1px solid var(--recruitment-color-border-strong);border-radius:var(--recruitment-radius-small);font:inherit}.home-job-search button{width:100%}.home-hero__media{width:100%;height:230px;margin:0;overflow:hidden;border-radius:var(--recruitment-radius-large)}.home-hero__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.home-trust{padding:var(--recruitment-space-large) 0;border-bottom:1px solid var(--recruitment-color-border)}.home-trust__items{display:grid;gap:var(--recruitment-space-medium)}.home-trust p{margin:0;font-weight:700}.home-trust span{display:inline-grid;place-items:center;width:1.5rem;height:1.5rem;margin-right:.45rem;color:var(--recruitment-color-primary-strong);background:var(--recruitment-color-primary-soft);border-radius:50%}@media(min-width:48rem){.home-top-area__grid{grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);grid-template-areas:"content media" "search search";align-items:center;gap:var(--recruitment-space-large)}.home-hero__content{grid-area:content}.home-hero__content h1{font-size:clamp(3rem,6vw,5.6rem)}.home-hero__media{grid-area:media;height:auto;aspect-ratio:4/3;margin:0}.home-job-search{grid-area:search;margin-top:var(--recruitment-space-small)}.home-hero__actions{display:flex;flex-wrap:wrap;max-width:none}.home-job-search__form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;padding:var(--recruitment-space-large)}.home-job-search button{width:auto}.home-trust__items{grid-template-columns:repeat(3,1fr)}}
.home-latest-jobs{padding:var(--recruitment-home-section-space) 0;background:var(--recruitment-color-surface-muted)}.home-latest-jobs__header{max-width:42rem;margin-bottom:var(--recruitment-space-large)}.home-latest-jobs__header h2{margin:0;font-size:var(--recruitment-home-heading-size);font-weight:800;line-height:1.15}.home-latest-jobs__header p:last-child{color:var(--recruitment-color-text-muted)}.home-latest-jobs__grid{display:grid;gap:var(--recruitment-space-medium)}.home-latest-jobs__grid .job-card{height:100%}.home-latest-jobs__empty{max-width:42rem;padding:var(--recruitment-space-large);margin:0;background:var(--recruitment-color-surface);border:1px solid var(--recruitment-color-border);border-radius:var(--recruitment-radius-medium)}.home-latest-jobs__footer{margin:var(--recruitment-space-large) 0 0}.home-latest-jobs__footer .home-button{width:100%}@media(min-width:48rem){.home-latest-jobs__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-latest-jobs__footer .home-button{width:auto}}@media(min-width:70rem){.home-latest-jobs__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Homepage sector exploration. */
.home-sectors {
	padding: var(--recruitment-home-section-space) 0;
	background: var(--recruitment-color-surface-muted);
}

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

.home-sectors__eyebrow {
	margin: 0 0 var(--recruitment-space-small);
	color: var(--recruitment-color-primary-strong);
}

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

.home-sectors__header p:last-child {
	max-width: 40rem;
	margin-bottom: 0;
	color: var(--recruitment-color-text-muted);
}

.home-sectors__grid {
	display: grid;
	gap: var(--recruitment-space-medium);
}

.home-sector-link,
.home-sector-link:hover,
.home-sector-link:focus {
	color: var(--recruitment-color-text);
	text-decoration: none;
}

.home-sector-link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--recruitment-space-medium);
	min-height: 9rem;
	padding: var(--recruitment-home-card-space);
	min-width: 0;
	overflow: hidden;
	background: var(--recruitment-color-surface);
	border: 1px solid var(--recruitment-color-border);
	border-radius: var(--recruitment-radius-large);
}

.home-sector-link::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 0.25rem;
	content: "";
	background: var(--recruitment-color-primary);
	transform: scaleX(0.22);
	transform-origin: left;
}

.home-sector-link:hover {
	border-color: var(--recruitment-color-primary);
	box-shadow: var(--recruitment-home-shadow);
	transform: translateY(-2px);
}

.home-sector-link:hover::before {
	transform: scaleX(1);
}

.home-sector-link:focus-visible {
	outline: 3px solid var(--recruitment-color-focus);
	outline-offset: 3px;
}

.home-sector-link__content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 0.35rem;
	min-width: 0;
}

.home-sector-link__title,
.home-sector-link__meta,
.home-sector-link__arrow {
	display: block;
}

.home-sector-link__title {
	font-size: clamp(1.125rem, 2vw, 1.3rem);
	line-height: 1.25;
}

.home-sector-link__meta {
	color: var(--recruitment-color-text-muted);
	font-size: 0.875rem;
}

.home-sector-link__arrow {
	flex: 0 0 auto;
	color: var(--recruitment-color-primary-strong);
	font-size: 1.35rem;
}

.home-sector-link:hover .home-sector-link__arrow {
	transform: translateX(4px);
}

.home-sectors__footer {
	margin: var(--recruitment-space-large) 0 0;
}

.home-sectors__footer .home-button {
	gap: 0.65rem;
	width: 100%;
}

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

	.home-sectors__footer .home-button {
		width: auto;
	}
}

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


/* Homepage component refinements, scoped to preserve archive card styling. */
.home-top-area__grid > *,
.home-job-search__field {
	min-width: 0;
}

.home-hero__intro {
	margin: var(--recruitment-space-medium) 0 var(--recruitment-space-large);
}

.home-latest-jobs__header p:last-child,
.home-sectors__header p:last-child {
	margin-top: var(--recruitment-space-medium);
	margin-bottom: 0;
}

.home-button:hover {
	text-decoration: none;
}

.home-button--primary:hover {
	background: var(--recruitment-color-primary-hover);
	border-color: var(--recruitment-color-primary-hover);
}

.home-button--secondary:hover {
	background: var(--recruitment-color-primary-soft);
	border-color: var(--recruitment-color-primary-strong);
}

.home-job-search button {
	cursor: pointer;
}

.home-latest-jobs .job-card {
	display: flex;
	flex-direction: column;
	padding: var(--recruitment-home-card-space);
	border-radius: var(--recruitment-radius-large);
	box-shadow: var(--recruitment-home-shadow);
}

.home-latest-jobs .job-card__content {
	padding-bottom: var(--recruitment-space-medium);
}

.home-latest-jobs .job-card__title {
	font-size: clamp(1.25rem, 2vw, 1.5rem);
}

.home-latest-jobs .job-card__fact {
	flex-wrap: wrap;
	max-width: 100%;
}

.home-latest-jobs .job-card__footer {
	display: grid;
	justify-content: stretch;
	gap: var(--recruitment-space-small);
	margin-top: auto;
}

.home-latest-jobs .job-card__date {
	margin: var(--recruitment-space-medium) 0 0;
}

.home-latest-jobs .job-button {
	width: 100%;
	min-height: var(--recruitment-home-button-height);
	padding: 0.75rem 1.25rem;
	border-width: 1px;
	font-weight: 800;
	line-height: 1.4;
}

.home-latest-jobs .job-button--secondary:hover {
	background: var(--recruitment-color-primary-soft);
}

@media (min-width: 64rem) {
	.home-job-search__form {
		grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)) auto;
	}
}

