/**
 * Job Listings — open-role cards with badge, requirements and apply link.
 * Typography via utilities; layout/card/badge/bullets only here.
 */

.flexible-section.job-listings {
	background: var(--color-bg2);
	border-top: 1px solid var(--color-border);
	padding-inline: var(--section-pad-x);
}

.job-listings-head {
	max-width: var(--container-narrow);
	margin: 0 auto clamp(28px, 1.7vw + 21.9px, 50px);
	text-align: center;
}

.job-listings-ti {
	margin: clamp(4px, 0.16vw + 3.4px, 7.5px) 0 clamp(9px, 0.24vw + 8.1px, 15px);
}

.job-listings-sub {
	max-width: 800px;
	margin: 0 auto;
}

.job-listings-grid {
	max-width: 1250px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: clamp(16px, 1.09vw + 12.1px, 27.5px);
}

.job-card {
	background: var(--color-bg);
	border: 1px solid var(--color-border);
	border-top: 3px solid var(--color-navy);
	border-radius: 10px;
	padding: clamp(24px, 1.37vw + 19.1px, 42.5px) clamp(20px, 1.13vw + 16px, 37.5px);
	display: flex;
	flex-direction: column;
}

.job-card-badge {
	align-self: flex-start;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: rgba(196, 154, 26, 0.1);
	border: 1px solid rgba(196, 154, 26, 0.3);
	border-radius: 20px;
	padding: clamp(5px, 0.12vw + 4.6px, 6.25px) clamp(11px, 0.32vw + 9.8px, 15px);
	margin-bottom: clamp(13px, 0.56vw + 11px, 20px);
}

.job-card-ti {
	margin: 0 0 clamp(5px, 0.12vw + 4.6px, 7.5px);
}

.job-card-meta {
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-bottom: clamp(13px, 0.56vw + 11px, 20px);
}

.job-card-desc {
	margin: 0 0 clamp(13px, 0.56vw + 11px, 20px);
}

.job-card-reqs {
	list-style: none;
	margin: 0 0 clamp(18px, 0.77vw + 15.2px, 27.5px);
	padding: 0;
}

.job-card-reqs li {
	padding-inline-start: clamp(16px, 0.51vw + 14.2px, 22.5px);
	position: relative;
	margin-bottom: clamp(8px, 0.24vw + 7.1px, 11.25px);
}

.job-card-reqs li::before {
	content: '';
	position: absolute;
	inset-inline-start: 0;
	top: 0.55em;
	width: 7.5px;
	height: 7.5px;
	border-radius: 50%;
	background: var(--color-gold2);
}

.job-card-apply {
	margin-top: auto;
	align-self: flex-start;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	border-bottom: 2px solid var(--color-gold2);
	padding-bottom: 4px;
}

.job-card-apply:hover,
.job-card-apply:focus-visible {
	color: var(--color-gold);
}

@media (max-width: 1024px) {
	.job-listings-grid { grid-template-columns: 1fr; }
}
