/* Positions and hiring pages */
.positions-page .nav .container,
.position-page .nav .container {
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.positions-page .nav .nav-links,
.position-page .nav .nav-links {
	display: flex;
	height: 100%;
	align-items: center;
	gap: 2rem;
}
.positions-page .nav-brand,
.position-page .nav-brand {
	display: flex;
	align-items: center;
	height: 100%;
	font-size: 0.8rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-shadow: 0 0 0.25rem rgba(255, 255, 255, 0.5);
	color: var(--text-header);
}
.positions-page .nav .link,
.position-page .nav .link {
	font-size: 0.6rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--text-meta);
	opacity: 0.6;
	transition: color 0.5s ease, opacity 0.5s ease, text-shadow 0.75s ease;
}
.positions-page .nav .link:hover,
.position-page .nav .link:hover {
	color: var(--text-section-header);
	text-shadow: 0 0 0.5rem rgba(255, 255, 255, 0.8);
	opacity: 1;
}
.positions-page .nav,
.position-page .nav { position: fixed; top: 0; right: 0; left: 0; z-index: 100; height: 56px; border-bottom: 1px solid var(--border); background: rgba(2, 2, 2, 0.58); backdrop-filter: blur(18px); }
.positions-page .hero { min-height: 62vh; display: grid; place-items: center; position: relative; overflow: hidden; }
.positions-page .hero .cover { position: absolute; inset: 0; background-size: cover; background-position: center; pointer-events: none; }
.positions-page .cover-gradient { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(2, 2, 2, 0.2), rgba(2, 2, 2, 0.5) 60%, rgba(2, 2, 2, 1)); }
.positions-page .hero-content { position: absolute; bottom: 2rem; z-index: 20; width: 100%; max-width: 1560px; display: flex; flex-direction: column; align-items: flex-start; padding-inline: 12rem; text-align: left; }
 .positions-page .hero::before { background-image: url("../../images/ABERRATION_background_edit.png"); background-size: cover; background-position: center; }
.positions-page .hero .cover { animation: none; }
.positions-page .hero { min-height: 62vh; }
.positions-filter { display: flex; align-items: center; flex-wrap: wrap; gap: 0.9rem; max-width: 1100px; margin-bottom: 2rem; }
.positions-filter label { width: 100%; color: var(--text-meta); font-size: 0.65rem; letter-spacing: 0.18em; text-transform: uppercase; }
.positions-filter input { flex: 1 1 24rem; min-width: 18rem; padding: 0.9rem 1rem; border: 1px solid var(--border-mid); border-radius: var(--radius-sm); outline: none; background: var(--code-bg); color: var(--text-header); font: inherit; font-size: 0.85rem; }
.position-filter-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.position-filter-tags button { padding: 0.6rem 0.9rem; border: 1px solid var(--border-mid); border-radius: var(--radius-pill); color: var(--text-meta); font-size: 0.7rem; cursor: pointer; box-shadow: 0 0 0.6rem rgba(200, 200, 200, 0.04); }
.position-filter-tags button:hover, .position-filter-tags button.filter-active { border-color: var(--text-body); color: var(--text-header); box-shadow: 0 0 0.8rem rgba(225, 225, 225, 0.12); }
.position-card[hidden] { display: none; }
.position-empty { display: none; color: var(--text-meta); }
.position-empty:not([hidden]) { display: block; }
.position-page .hero { min-height: 72vh; }
.position-page .article-content { width: min(100%, 62rem); min-width: 0; margin: 0 auto; }
.position-page .article-body { display: grid; grid-template-columns: minmax(10rem, 0.34fr) minmax(0, 0.66fr); column-gap: 3rem; row-gap: 1.25rem; padding: 0; }
.position-page .position-meta { grid-column: 1 / -1; margin: 0 0 0.75rem; color: var(--text-meta); font-size: 0.7rem; letter-spacing: 0.12em; text-transform: uppercase; }
.position-page .article-body h2 { align-self: start; margin: 0; padding-top: 0.25rem; border-top: 1px solid var(--border-mid); color: var(--text-header); font-size: 1.1rem; letter-spacing: 0.06em; line-height: 1.4; text-transform: uppercase; }
.position-page .article-body p:not(.position-meta) { margin: 0; color: var(--text-body); font-size: 0.95rem; line-height: 1.8; }
.position-page .position-callout { grid-column: 1 / -1; margin: 0.75rem 0 0; padding: 1rem 1.25rem; }

@media (max-width: 700px) {
	.position-page .hero-content { padding-inline: 1.5rem; }
	.position-page .nav .container { padding-inline: 1rem; }
	.position-page .nav .nav-links { gap: 0.75rem; }
	.position-page .nav-brand { font-size: 0.65rem; letter-spacing: 0.12em; }
	.position-page .nav .link { font-size: 0.5rem; letter-spacing: 0.1em; }
	.position-page .article-body { display: block; padding: 0; }
	.position-page .position-meta { margin-bottom: 2rem; }
	.position-page .article-body h2 { margin-top: 2rem; }
	.position-page .article-body h2:first-of-type { margin-top: 0; }
	.position-page .article-body p:not(.position-meta) { margin-top: 0.75rem; }
	.position-page .position-callout { margin-top: 2rem; }
}
