/* Careers page. */

.jmu-careers-hero {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	min-height: clamp(300px, 38vh, 430px);
	margin-block-start: 0 !important;
	padding: clamp(var(--space-lg), 4vw, var(--space-xl)) 40px;
	background:
		linear-gradient(
			115deg,
			color-mix(in srgb, var(--brand-charcoal) 94%, transparent) 0%,
			color-mix(in srgb, var(--brand-charcoal) 80%, transparent) 55%,
			color-mix(in srgb, var(--color-primary) 70%, var(--brand-charcoal)) 100%
		),
		var(--brand-charcoal);
	color: var(--text-inverse);
	overflow: hidden;
}

.jmu-careers-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(320px, 420px);
	gap: clamp(var(--space-lg), 5vw, var(--space-3xl));
	align-items: center;
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
}

.jmu-careers-hero__copy {
	display: grid;
	gap: var(--space-md);
	max-width: 780px;
}

.jmu-careers-hero__eyebrow,
.jmu-careers-showcase__eyebrow,
.jmu-careers-apply__eyebrow,
.jmu-careers-role__type,
.jmu-careers-hero__panel-kicker {
	margin: 0;
	color: var(--color-primary);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing-eyebrow);
	line-height: var(--line-height-normal);
	text-transform: uppercase;
}

.jmu-careers-hero__eyebrow,
.jmu-careers-hero__panel-kicker,
.jmu-careers-apply__eyebrow {
	color: color-mix(in srgb, var(--text-inverse) 84%, transparent);
}

.jmu-careers-hero__headline {
	margin: 0;
	color: var(--text-inverse);
	font-family: var(--font-display);
	font-size: clamp(2.25rem, 4vw, 3.75rem);
	font-weight: var(--font-weight-extrabold);
	letter-spacing: 0;
	line-height: var(--line-height-tight);
	text-shadow: 0 3px 10px color-mix(in srgb, var(--black) 34%, transparent);
}

.jmu-careers-hero__lead {
	max-width: 640px;
	margin: 0;
	color: color-mix(in srgb, var(--text-inverse) 90%, transparent);
	font-size: var(--text-lg);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-hero__actions,
.jmu-careers-showcase__actions,
.jmu-careers-apply__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-sm);
	margin: 0;
}

.jmu-careers-button .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: var(--space-xs) var(--space-md);
	border-radius: var(--radius-sm);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	text-decoration: none;
	transition:
		background var(--duration-normal) var(--ease-default),
		border-color var(--duration-normal) var(--ease-default),
		color var(--duration-normal) var(--ease-default),
		transform var(--duration-fast) var(--ease-default);
}

.jmu-careers-button--primary .wp-block-button__link,
.jmu-careers-button--rail .wp-block-button__link {
	background: var(--color-primary);
	color: var(--text-inverse);
}

.jmu-careers-button--primary .wp-block-button__link:hover,
.jmu-careers-button--primary .wp-block-button__link:focus-visible,
.jmu-careers-button--rail .wp-block-button__link:hover,
.jmu-careers-button--rail .wp-block-button__link:focus-visible {
	background: var(--color-primary-hover);
	transform: translateY(-1px);
}

.jmu-careers-button--secondary .wp-block-button__link {
	border: var(--border-width) solid color-mix(in srgb, var(--white) 54%, transparent);
	background: color-mix(in srgb, var(--white) 10%, transparent);
	color: var(--text-inverse);
}

.jmu-careers-button--secondary .wp-block-button__link:hover,
.jmu-careers-button--secondary .wp-block-button__link:focus-visible {
	border-color: var(--text-inverse);
	background: color-mix(in srgb, var(--white) 16%, transparent);
	transform: translateY(-1px);
}

.jmu-careers-button .wp-block-button__link:focus-visible {
	outline: 2px solid var(--text-inverse);
	outline-offset: 3px;
}

.jmu-careers-showcase .jmu-careers-button .wp-block-button__link:focus-visible {
	outline-color: var(--color-primary);
}

.jmu-careers-hero__proof {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.jmu-careers-hero__proof li {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	padding: var(--space-2xs) var(--space-sm);
	border: var(--border-width) solid color-mix(in srgb, var(--white) 34%, transparent);
	border-radius: var(--radius-full);
	background: color-mix(in srgb, var(--black) 22%, transparent);
	color: var(--text-inverse);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
}

.jmu-careers-hero__panel {
	box-sizing: border-box;
	padding: var(--space-lg);
	border: var(--border-width) solid color-mix(in srgb, var(--white) 18%, transparent);
	border-radius: var(--radius-lg);
	background: color-mix(in srgb, var(--white) 94%, transparent);
	box-shadow: var(--shadow-lg);
	color: var(--text-main);
}

.jmu-careers-hero__panel-kicker {
	margin-bottom: var(--space-sm);
	color: var(--color-primary);
}

.jmu-careers-hero__checklist {
	display: grid;
	gap: var(--space-sm);
	margin: 0;
	padding: 0;
	list-style: none;
}

.jmu-careers-hero__checklist li {
	position: relative;
	padding-left: var(--space-lg);
	color: var(--text-strong);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-hero__checklist li::before {
	content: "";
	position: absolute;
	top: 0.65em;
	left: 0;
	width: 10px;
	height: 10px;
	border-radius: var(--radius-full);
	background: var(--color-primary);
	box-shadow: 0 0 0 5px color-mix(in srgb, var(--color-primary) 12%, transparent);
}

.jmu-careers-showcase {
	box-sizing: border-box;
	margin-block-start: 0 !important;
	padding: clamp(3rem, 6vw, 5rem) 40px;
	background: var(--bg-base);
	scroll-margin-top: 160px;
}

.jmu-careers-showcase__inner {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: var(--space-xl);
	align-items: start;
	max-width: 1240px;
	margin: 0 auto;
}

.jmu-careers-showcase__rail {
	position: sticky;
	top: var(--space-lg);
	align-self: start;
	display: grid;
	gap: var(--space-sm);
}

.jmu-careers-showcase__heading,
.jmu-careers-culture__heading,
.jmu-careers-apply__heading {
	margin: 0;
	color: var(--text-strong);
	font-family: var(--font-display);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-tight);
	letter-spacing: 0;
}

.jmu-careers-showcase__intro {
	margin: 0;
	color: var(--text-muted);
	font-size: var(--text-md);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-crm {
	scroll-margin-top: 160px;
}

.jmu-careers-crm .jmu-careers-head {
	max-width: 760px;
	margin: 0 0 var(--space-md);
	text-align: left;
}

.jmu-careers-crm .jmu-careers-head h2,
.jmu-careers-crm .jmu-career-form-head h2 {
	margin: 0 0 var(--space-2xs);
	color: var(--text-strong);
	font-family: var(--font-display);
	font-size: clamp(1.75rem, 3vw, 2.4rem);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-tight);
}

.jmu-careers-crm .jmu-careers-head p,
.jmu-careers-crm .jmu-career-form-head p {
	margin: 0;
	color: var(--text-muted);
	font-size: var(--text-base);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-crm .jmu-careers-kicker {
	margin: 0 0 var(--space-2xs) !important;
	color: var(--color-primary) !important;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	letter-spacing: var(--letter-spacing-eyebrow);
	line-height: var(--line-height-normal);
	text-transform: uppercase;
}

.jmu-careers-crm .jmu-careers-jobs,
.jmu-careers-roles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-md);
	margin: 0 0 var(--space-xl);
}

.jmu-careers-crm .jmu-career-card,
.jmu-careers-role {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-content: start;
	gap: var(--space-sm);
	min-height: 100%;
	padding: var(--space-lg);
	border: var(--border-width) solid color-mix(in srgb, var(--brand-charcoal) 10%, transparent);
	border-radius: var(--radius-md);
	background: var(--bg-surface);
	box-shadow: var(--shadow-sm);
	transition:
		border-color var(--duration-normal) var(--ease-default),
		box-shadow var(--duration-normal) var(--ease-default),
		transform var(--duration-fast) var(--ease-default);
}

.jmu-careers-crm .jmu-career-card:hover,
.jmu-careers-crm .jmu-career-card:focus-within,
.jmu-careers-role:hover,
.jmu-careers-role:focus-within {
	border-color: color-mix(in srgb, var(--color-primary) 35%, transparent);
	box-shadow: var(--shadow-md);
	transform: translateY(-2px);
}

.jmu-careers-crm .jmu-career-card:first-of-type,
.jmu-careers-role--featured {
	grid-row: span 2;
	background:
		linear-gradient(180deg, color-mix(in srgb, var(--color-primary) 6%, transparent), transparent 46%),
		var(--bg-surface);
}

.jmu-careers-crm .jmu-career-card h3,
.jmu-careers-role__title {
	margin: 0;
	color: var(--text-strong);
	font-family: var(--font-display);
	font-size: clamp(1.55rem, 3vw, 2.2rem);
	font-weight: var(--font-weight-semibold);
	line-height: var(--line-height-tight);
}

.jmu-careers-crm .jmu-career-meta {
	margin: 0 0 var(--space-xs);
	color: var(--color-primary);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-snug);
}

.jmu-careers-crm .jmu-career-summary,
.jmu-careers-crm .jmu-career-description,
.jmu-careers-role__body,
.jmu-careers-role__list {
	margin: 0;
	color: var(--text-muted);
	font-size: var(--text-base);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-crm .jmu-career-description p {
	margin: var(--space-2xs) 0 0;
}

.jmu-careers-role__list {
	padding-left: var(--space-md);
}

.jmu-careers-crm .jmu-career-card-action {
	display: flex;
	justify-content: flex-start;
	margin-top: var(--space-xs);
}

.jmu-careers-crm .jmu-career-apply,
.jmu-careers-crm .jmu-careers-empty .jmu-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: var(--space-xs) var(--space-md);
	border: 0;
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: var(--text-inverse);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-tight);
	text-decoration: none;
	cursor: pointer;
	transition:
		background var(--duration-normal) var(--ease-default),
		transform var(--duration-fast) var(--ease-default);
}

.jmu-careers-crm .jmu-career-apply:hover,
.jmu-careers-crm .jmu-career-apply:focus-visible,
.jmu-careers-crm .jmu-careers-empty .jmu-btn:hover,
.jmu-careers-crm .jmu-careers-empty .jmu-btn:focus-visible {
	background: var(--color-primary-hover);
	transform: translateY(-1px);
}

.jmu-careers-crm .jmu-career-apply:focus-visible,
.jmu-careers-crm .jmu-careers-empty .jmu-btn:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 3px;
}

.jmu-careers-crm .jmu-career-form-wrap {
	max-width: 900px;
	margin-inline: 0;
	scroll-margin-top: 160px;
}

.jmu-careers-crm .jmu-career-form-wrap[hidden] {
	display: none !important;
}

.jmu-careers-crm .jmu-career-form-head {
	max-width: 760px;
	margin: 0 0 var(--space-md);
	text-align: left;
}

.jmu-careers-crm .jmu-career-form-wrap .jmu-form,
.jmu-careers-crm .jmu-career-form-panel {
	box-sizing: border-box;
	max-width: none;
	margin: 0;
	padding: var(--space-lg);
	border: var(--border-width) solid color-mix(in srgb, var(--color-primary) 18%, transparent);
	border-radius: var(--radius-lg);
	background: var(--bg-surface);
	box-shadow: var(--shadow-md);
}

.jmu-careers-crm .jmu-dashboard-form .jmu-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-sm);
}

.jmu-careers-crm .jmu-dashboard-form .full {
	grid-column: 1 / -1;
}

.jmu-careers-crm .jmu-dashboard-form label {
	display: block;
	margin: 0 0 var(--space-3xs);
	color: var(--text-strong);
	font-size: var(--text-sm);
	font-weight: var(--font-weight-bold);
	line-height: var(--line-height-snug);
}

.jmu-careers-crm .jmu-dashboard-form input,
.jmu-careers-crm .jmu-dashboard-form select,
.jmu-careers-crm .jmu-dashboard-form textarea {
	box-sizing: border-box;
	width: 100%;
	min-height: 46px;
	padding: var(--space-xs) var(--space-sm);
	border: var(--border-width) solid var(--border-color);
	border-radius: var(--radius-sm);
	background: var(--bg-surface);
	color: var(--text-main);
	font: inherit;
}

.jmu-careers-crm .jmu-dashboard-form textarea {
	min-height: 130px;
	resize: vertical;
}

.jmu-careers-crm .jmu-dashboard-form input[type="file"] {
	min-height: 0;
	line-height: var(--line-height-normal);
}

.jmu-careers-crm .jmu-dashboard-form input:focus,
.jmu-careers-crm .jmu-dashboard-form select:focus,
.jmu-careers-crm .jmu-dashboard-form textarea:focus {
	border-color: var(--color-primary);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--color-primary) 14%, transparent);
	outline: none;
}

.jmu-careers-crm .jmu-dashboard-form button[type="submit"] {
	width: 100%;
	min-height: 46px;
	border: 0;
	border-radius: var(--radius-sm);
	background: var(--color-primary);
	color: var(--text-inverse);
	cursor: pointer;
	font-family: var(--font-sans);
	font-weight: var(--font-weight-bold);
	padding: var(--space-xs) var(--space-md);
}

.jmu-careers-crm .jmu-dashboard-form button[type="submit"]:hover,
.jmu-careers-crm .jmu-dashboard-form button[type="submit"]:focus-visible {
	background: var(--color-primary-hover);
}

.jmu-careers-crm .jmu-dashboard-form button[type="submit"]:focus-visible {
	outline: 2px solid var(--color-primary);
	outline-offset: 3px;
}

.jmu-careers-crm .jmu-careers-empty {
	grid-column: 1 / -1;
	padding: var(--space-lg);
	border: var(--border-width) dashed color-mix(in srgb, var(--color-primary) 34%, transparent);
	border-radius: var(--radius-lg);
	background: var(--bg-surface);
	text-align: center;
}

.jmu-careers-crm .jmu-careers-empty p {
	margin: 0 0 var(--space-md);
	color: var(--text-muted);
}

.jmu-careers-culture {
	box-sizing: border-box;
	margin-block-start: 0 !important;
	padding: clamp(3rem, 6vw, 5rem) 40px;
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--color-primary) 4%, transparent) 0 1px, transparent 1px 100%),
		linear-gradient(0deg, color-mix(in srgb, var(--brand-charcoal) 4%, transparent) 0 1px, transparent 1px 100%),
		var(--bg-muted);
	background-size: 56px 56px;
}

.jmu-careers-culture__heading {
	max-width: 760px;
	margin: 0 auto var(--space-lg);
	text-align: center;
}

.jmu-careers-culture__grid {
	gap: var(--space-md);
	margin: 0;
}

.jmu-careers-culture__item {
	box-sizing: border-box;
	padding: var(--space-md);
	border-left: 4px solid var(--color-primary);
	border-radius: var(--radius-md);
	background: var(--bg-surface);
	box-shadow: var(--shadow-sm);
}

.jmu-careers-culture__item h3 {
	margin: 0 0 var(--space-2xs);
	color: var(--text-strong);
	font-size: var(--text-xl);
	line-height: var(--line-height-tight);
}

.jmu-careers-culture__item p {
	margin: 0;
	color: var(--text-muted);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-apply {
	box-sizing: border-box;
	margin-block-start: 0 !important;
	padding: clamp(3rem, 6vw, 5rem) 40px;
	background: var(--brand-charcoal);
	color: var(--text-inverse);
	text-align: center;
}

.jmu-careers-apply__heading {
	max-width: 780px;
	margin: 0 auto var(--space-sm);
	color: var(--text-inverse);
}

.jmu-careers-apply__body {
	max-width: 60ch;
	margin: 0 auto var(--space-lg);
	color: color-mix(in srgb, var(--text-inverse) 82%, transparent);
	font-size: var(--text-lg);
	line-height: var(--line-height-relaxed);
}

.jmu-careers-apply__actions {
	justify-content: center;
}

@media (max-width: 1023px) {
	.jmu-careers-hero__inner,
	.jmu-careers-showcase__inner {
		grid-template-columns: 1fr;
	}

	.jmu-careers-showcase__rail {
		position: static;
	}
}

@media (max-width: 719px) {
	.jmu-careers-hero,
	.jmu-careers-showcase,
	.jmu-careers-culture,
	.jmu-careers-apply {
		padding-right: 20px;
		padding-left: 20px;
	}

	.jmu-careers-hero__headline {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.jmu-careers-hero__panel,
	.jmu-careers-role,
	.jmu-careers-culture__item {
		padding: var(--space-md);
	}

	.jmu-careers-crm .jmu-careers-jobs,
	.jmu-careers-roles {
		grid-template-columns: 1fr;
	}

	.jmu-careers-crm .jmu-career-card:first-of-type,
	.jmu-careers-role--featured {
		grid-row: auto;
	}

	.jmu-careers-crm .jmu-career-form-wrap .jmu-form,
	.jmu-careers-crm .jmu-career-form-panel {
		padding: var(--space-md);
	}

	.jmu-careers-crm .jmu-dashboard-form .jmu-form-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 480px) {
	.jmu-careers-hero__actions,
	.jmu-careers-showcase__actions,
	.jmu-careers-apply__actions {
		display: grid;
		grid-template-columns: 1fr;
	}

	.jmu-careers-button .wp-block-button__link,
	.jmu-careers-crm .jmu-career-apply,
	.jmu-careers-crm .jmu-careers-empty .jmu-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.jmu-careers-button .wp-block-button__link,
	.jmu-careers-role,
	.jmu-careers-crm .jmu-career-card,
	.jmu-careers-crm .jmu-career-apply,
	.jmu-careers-crm .jmu-careers-empty .jmu-btn {
		transition-duration: 0.01ms;
	}

	.jmu-careers-button .wp-block-button__link:hover,
	.jmu-careers-button .wp-block-button__link:focus-visible,
	.jmu-careers-role:hover,
	.jmu-careers-role:focus-within,
	.jmu-careers-crm .jmu-career-card:hover,
	.jmu-careers-crm .jmu-career-card:focus-within,
	.jmu-careers-crm .jmu-career-apply:hover,
	.jmu-careers-crm .jmu-career-apply:focus-visible,
	.jmu-careers-crm .jmu-careers-empty .jmu-btn:hover,
	.jmu-careers-crm .jmu-careers-empty .jmu-btn:focus-visible {
		transform: none;
	}
}
