.career-page {
	--career-forest: #155f3a;
	--career-leaf: #2e8b57;
	--career-mint: #eaf6ee;
	--career-sun: #f7c948;
	--career-sun-soft: #fff4c2;
	--career-cream: #ffffff;
	--career-ink: #26362d;
	--career-muted: #66756d;
	--career-line: #d8eadc;
	--career-shadow: 0 18px 45px rgba(21, 95, 58, 0.12);
	background: var(--career-cream);
	color: var(--career-ink);
	font-family: "Plus Jakarta Sans", Arial, sans-serif;
	line-height: 1.7;
	overflow: hidden;
}

.career-page *,
.career-page *::before,
.career-page *::after {
	box-sizing: border-box;
}

.career-page a {
	color: inherit;
}

.career-hero {
	display: grid;
	min-height: 78vh;
	place-items: center;
	padding: 80px 20px 96px;
	background:
		linear-gradient(135deg, rgba(14, 69, 43, 0.88), rgba(46, 139, 87, 0.74)),
		var(--career-hero-image, url("https://images.unsplash.com/photo-1503676260728-1c00da094a0b?auto=format&fit=crop&w=1600&q=80"));
	background-position: center;
	background-size: cover;
	color: #ffffff;
	text-align: center;
}

.career-hero__content {
	width: min(920px, 100%);
	animation: career-fade-up 0.8s ease both;
}

.career-eyebrow,
.career-section-label,
.career-job-tag {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0;
	text-transform: uppercase;
}

.career-eyebrow {
	margin-bottom: 20px;
	padding: 8px 16px;
	background: var(--career-sun);
	color: #284124;
}

.career-hero h1 {
	max-width: 860px;
	margin: 0 auto 22px;
	font-family: "Nunito", Arial, sans-serif;
	font-size: clamp(2.7rem, 7vw, 5.25rem);
	line-height: 1.05;
}

.career-hero p {
	max-width: 720px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.18rem;
}

.career-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin-top: 28px;
	padding: 12px 22px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	font-weight: 800;
	line-height: 1.2;
	color: #ffffff;
	text-align: center;
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.career-page a.career-button,
.career-page a.career-button:hover,
.career-page a.career-button:focus-visible {
	color: #ffffff;
}

.career-button:hover,
.career-button:focus-visible {
	box-shadow: 0 12px 24px rgba(21, 95, 58, 0.2);
	transform: translateY(-3px);
}

.career-button--primary {
	background: var(--career-sun);
	color: #ffffff;
}

.career-button--secondary {
	background: var(--career-forest);
	color: #ffffff;
}

.career-section {
	padding: 82px max(20px, 7vw);
}

.career-section--soft {
	background: var(--career-mint);
}

.career-section-heading {
	max-width: 760px;
	margin: 0 auto 38px;
	text-align: center;
}

.career-section-label,
.career-job-tag {
	margin-bottom: 12px;
	padding: 6px 12px;
	background: var(--career-sun-soft);
	color: #6c5300;
}

.career-section-heading h2 {
	margin: 0;
	color: var(--career-forest);
	font-family: "Nunito", Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 2.8rem);
	line-height: 1.18;
}

.career-section-heading p {
	margin: 12px auto 0;
	color: var(--career-muted);
}

.career-filters {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	margin-bottom: 34px;
}

.career-filter-button {
	min-height: 42px;
	padding: 9px 18px;
	border: 1px solid var(--career-line);
	border-radius: 999px;
	background: #ffffff;
	color: var(--career-forest);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.career-filter-button.active,
.career-filter-button:hover,
.career-filter-button:focus-visible {
	border-color: var(--career-forest);
	background: var(--career-forest);
	color: #ffffff;
}

.career-jobs,
.career-info-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 22px;
}

.career-job-card,
.career-info-box {
	border: 1px solid var(--career-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: var(--career-shadow);
}

.career-job-card {
	display: flex;
	flex-direction: column;
	min-height: 100%;
	padding: 24px;
	border-top: 5px solid var(--career-leaf);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.career-job-card:hover {
	box-shadow: 0 24px 52px rgba(21, 95, 58, 0.16);
	transform: translateY(-5px);
}

.career-job-card.is-hidden {
	display: none;
}

.career-job-card__header h3,
.career-info-box h2 {
	margin: 0;
	color: var(--career-forest);
	font-family: "Nunito", Arial, sans-serif;
	line-height: 1.25;
}

.career-job-card__header h3 {
	font-size: 1.32rem;
}

.career-job-card p {
	margin: 14px 0 0;
	color: var(--career-muted);
}

.career-accordion {
	margin-top: 18px;
}

.career-accordion-trigger {
	position: relative;
	width: 100%;
	min-height: 46px;
	padding: 11px 40px 11px 14px;
	border: 1px solid var(--career-line);
	border-radius: 8px;
	background: var(--career-mint);
	color: var(--career-forest);
	cursor: pointer;
	font: inherit;
	font-weight: 800;
	text-align: left;
}

.career-accordion-trigger::after {
	position: absolute;
	top: 50%;
	right: 16px;
	content: "+";
	font-size: 1.3rem;
	line-height: 1;
	transform: translateY(-50%);
}

.career-accordion-trigger[aria-expanded="true"]::after {
	content: "-";
}

.career-accordion-panel {
	padding: 14px 4px 2px;
}

.career-accordion-panel ol,
.career-info-box ol {
	margin: 0;
	padding-left: 24px;
	list-style: decimal;
}

.career-accordion-panel li,
.career-info-box li {
	margin-bottom: 8px;
	padding-left: 4px;
}

.career-job-card .career-button {
	margin-top: auto;
}

.career-info-box {
	padding: 28px;
}

.career-info-box h2 {
	margin-bottom: 14px;
	font-size: 1.35rem;
}

.career-cta {
	max-width: 1040px;
	margin: 0 auto;
	padding: 58px min(7vw, 68px);
	border-radius: 8px;
	background:
		linear-gradient(135deg, rgba(21, 95, 58, 0.96), rgba(46, 139, 87, 0.92)),
		url("https://images.unsplash.com/photo-1523050854058-8df90110c9f1?auto=format&fit=crop&w=1400&q=80");
	background-position: center;
	background-size: cover;
	color: #ffffff;
	text-align: center;
}

.career-cta h2 {
	margin: 0 0 14px;
	font-family: "Nunito", Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
}

.career-cta p {
	max-width: 760px;
	margin: 0 auto;
	color: rgba(255, 255, 255, 0.9);
}

.career-email-box {
	display: grid;
	gap: 3px;
	width: fit-content;
	max-width: 100%;
	margin: 24px auto 0;
	padding: 16px 20px;
	border: 1px solid rgba(255, 255, 255, 0.25);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.14);
}

.career-email-box strong {
	color: #ffffff;
	font-size: 1.08rem;
}

.career-email-box small {
	color: rgba(255, 255, 255, 0.82);
}

@keyframes career-fade-up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 720px) {
	.career-hero {
		min-height: 74vh;
		padding: 70px 20px 78px;
	}

	.career-hero p {
		font-size: 1rem;
	}

	.career-section {
		padding: 58px 20px;
	}

	.career-jobs,
	.career-info-grid {
		grid-template-columns: 1fr;
	}

	.career-job-card,
	.career-info-box {
		padding: 22px;
	}

	.career-cta {
		padding: 42px 22px;
	}
}
