/**
 * Nicholas Air Corporate Careers — standalone styles
 *
 * Scoped design tokens + component styles that mirror the new site's
 * design language (Playfair Display headings, Figtree body copy, red
 * accent, animated underline links, expand/collapse accordion rows)
 * without depending on the theme's global stylesheet being present.
 * Everything is namespaced under .na-corporate-careers so it can't
 * leak into (or be broken by) the rest of the page.
 */

@import url('https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

.na-corporate-careers {
	--na-c0: #FFFFFF;
	--na-c1: #111111;
	--na-c2: #F0F0F0;
	--na-c3: #E1251B;
	--na-c4: #F4BFBB;
	--na-c5: #F04438;

	--na-c7: color-mix(in srgb, currentColor 80%, transparent);
	--na-c9: color-mix(in srgb, currentColor 60%, transparent);
	--na-c13: color-mix(in srgb, currentColor 20%, transparent);

	--na-basefont: 'Figtree', -apple-system, BlinkMacSystemFont, sans-serif;
	--na-altfont: 'Playfair Display', serif;

	--na-gap: 24px;
	--na-sl: 1px;
	--na-br1: 6px;

	--na-f-s: clamp(13px, 1.4vw, 15px);
	--na-f-m: clamp(15px, 1.6vw, 18px);
	--na-f-l: clamp(17px, 2.0vw, 24px);

	font-family: var(--na-basefont);
	color: var(--na-c1);
	background-color: var(--na-c0);
	max-width: 900px;
	margin: 0 auto;
}

.na-corporate-careers * {
	box-sizing: border-box;
}

.na-corporate-careers ul,
.na-corporate-careers p,
.na-corporate-careers h1,
.na-corporate-careers h2,
.na-corporate-careers h3 {
	margin: 0;
	padding: 0;
}

.na-corporate-careers .na-cc-altfont,
.na-corporate-careers .na-cc-title {
	font-family: var(--na-altfont);
	letter-spacing: -.02em;
}

/* ---------- accordion item ---------- */

.na-cc-item {
	border-bottom: var(--na-sl) solid var(--na-c13);
}

.na-cc-item:first-child {
	border-top: var(--na-sl) solid var(--na-c13);
}

.na-cc-item-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--na-gap);
	width: 100%;
	padding: 22px 4px;
	background: transparent;
	border: 0;
	cursor: pointer;
	text-align: left;
	-webkit-appearance: none;
	appearance: none;
	font: inherit;
	color: inherit;
}

.na-cc-title {
	font-size: var(--na-f-l);
	font-weight: 400;
	line-height: 1.1;
	color: var(--na-c1) !important;
	text-transform: none !important;
	text-align: left !important;
	transition: color .3s;
}

.na-cc-item-header:hover .na-cc-title {
	color: var(--na-c3) !important;
}

.na-cc-toggle-icon {
	position: relative;
	flex: none;
	width: 20px;
	height: 20px;
}

.na-cc-toggle-icon::before,
.na-cc-toggle-icon::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	background-color: currentColor;
	transform: translate(-50%, -50%);
	transition: transform .3s ease, opacity .3s ease;
}

.na-cc-toggle-icon::before {
	width: 16px;
	height: 2px;
}

.na-cc-toggle-icon::after {
	width: 2px;
	height: 16px;
}

.na-cc-item.active .na-cc-toggle-icon::after {
	transform: translate(-50%, -50%) rotate(90deg);
	opacity: 0;
}

.na-cc-item.active .na-cc-toggle-icon::before {
	background-color: var(--na-c3);
}

/* animated height reveal, no JS measuring required */
.na-cc-item-body-wrap {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .5s ease;
}

.na-cc-item.active .na-cc-item-body-wrap {
	grid-template-rows: 1fr;
}

.na-cc-item-body {
	overflow: hidden;
	min-height: 0;
}

.na-cc-item-body-inner {
	padding: 0 4px 28px;
}

.na-cc-loading,
.na-cc-empty,
.na-cc-error {
	font-size: var(--na-f-m);
	color: var(--na-c7);
	padding: 8px 0;
}

/* ---------- job links ---------- */

.na-cc-jobs {
	display: flex;
	flex-direction: column;
}

.na-cc-job-link {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--na-gap);
	padding: 14px 0;
	border-top: var(--na-sl) solid var(--na-c13);
	text-decoration: none;
	color: inherit;
}

.na-cc-job-link:first-child {
	border-top: 0;
}

.na-cc-job-link-text {
	font-family: var(--na-altfont);
	font-style: italic;
	font-size: var(--na-f-m);
	letter-spacing: -.01em;
	position: relative;
	padding-bottom: .3em;
	color: var(--na-c1) !important;
	transition: color .25s;
}

.na-cc-job-link-text::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	height: var(--na-sl);
	background-color: currentColor;
	width: 0%;
	transition: width .25s;
}

.na-cc-job-link-location {
	flex: none;
	font-size: var(--na-f-s);
	color: var(--na-c9);
	white-space: nowrap;
	transition: color .25s;
}

.na-cc-job-link:hover .na-cc-job-link-text,
.na-cc-job-link:focus .na-cc-job-link-text,
.na-cc-job-link:focus-visible .na-cc-job-link-text {
	color: var(--na-c3) !important;
}

.na-cc-job-link:hover .na-cc-job-link-text::after,
.na-cc-job-link:focus .na-cc-job-link-text::after,
.na-cc-job-link:focus-visible .na-cc-job-link-text::after {
	width: 100%;
}

.na-cc-job-link:hover .na-cc-job-link-location,
.na-cc-job-link:focus .na-cc-job-link-location,
.na-cc-job-link:focus-visible .na-cc-job-link-location {
	color: var(--na-c3);
}

@media screen and (max-width: 640px) {
	.na-cc-job-link {
		flex-direction: column;
		gap: 4px;
	}
}

/* ---------- job detail page ---------- */

.na-corporate-careers-job-page {
	font-family: var(--na-basefont);
	color: var(--na-c1);
}

.na-cc-detail-container {
	box-sizing: border-box;
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	padding: 24px 20px 48px;
}

.na-cc-detail-container * {
	box-sizing: border-box;
}

.na-corporate-careers-job-page .na-cc-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-family: var(--na-altfont);
	font-style: italic;
	font-size: var(--na-f-s);
	color: var(--na-c7);
	text-decoration: none;
	margin-bottom: 24px;
}

.na-corporate-careers-job-page .na-cc-back-link:hover {
	color: var(--na-c3);
}

.na-corporate-careers-job-page #grnhse_iframe {
	display: block;
	width: 100%;
	max-width: 100%;
	min-height: 3200px;
	overflow: auto;
}
