 /*
Theme Name: ARA TNA Job Site
Author: Powered By Reason
Version: 1.0
*/


html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed,  figure, figcaption, footer, header, hgroup,  menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

:root {
	--cyan-colour: #007a99;
	--blue-colour: #89cff0;
	--teal-colour: #4dc5d8;
	--amber-colour: #e5b820;
	--plum-colour: #7e5cad;
	--terracotta-colour: #d76c4d;
	--green-colour: #5faf3f;
	--grey-colour: #5a5d61;
	--ivory-colour: #f6f1e9;
	--seafoam-colour: #78d5b3;

	/* New design refresh palette */
	--teal: #0E7E94;
	--teal-dark: #0B6477;
	--ink: #23262A;
	--ink-2: #54585C;
	--sage: #E6EDEA;
	--mustard: #F4D469;
	--terracotta: #C0512F;
	--line: #E4EAE7;
	--panel: #F1F5F3;
	--chip-bg: #E1F1F4;
	--serif: "Fira Sans", system-ui, sans-serif;
	--sans: "Public Sans", system-ui, sans-serif;
}




body {
	font-size: 16px;
	line-height: 1.6;
	font-family: var(--sans);
	color: var(--ink);
	background: var(--sage);
}

h2 {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}

h3 {
	font-size: 1.1em;
	font-weight: bold;
	margin-bottom: 10px;
}

h4 {
	font-size: 1em;
	font-weight: bold;
	margin-bottom: 10px;
}

strong {
	font-weight: bolder;
}

u {
	text-decoration: underline;
}

em {
	font-style: italic;
}

label {
	font-weight: bold;
	margin-left: 20px;	
}

.row {
	width: 100%;
	position: relative;
}

.container {
	width: 1280px;
	margin: 0 auto;
	position: relative;
	overflow-x: visible !important;
	box-sizing: border-box;
}

.innerContainer {
	width: 100%;
	padding: 0 10px;
	position: relative;
	overflow-x: visible !important;
	box-sizing: border-box;
}


.oneQuarter {
	width: 25%;
	width: calc((100% / 4) - 20px);
	box-sizing: border-box;
	float: left;
	margin: 0 10px;
	position: relative;
}


.oneThird {
	width: 33.33333337%;
	width: calc((100% / 3) - 20.5px);
	box-sizing: border-box;
	float: left;
	margin:0 10px;
	position: relative;
}

.twoThirds {
	width: 66.6666666667%;
	width: calc(((100% / 3) * 2) - 20px);
	box-sizing: border-box;
	float: left;
	margin: 0 10px;
}

.fullWidth {
	width: calc(100% - 20px);
	margin: 0 10px;
}

.halfWidth {
	width: 50%;
	width: calc(50% - 20px);
	margin: 0 10px;
	float: left;
}


.oneFifth {
	width: 20%;
	width: calc((100% / 5) - 20px);
	box-sizing: border-box;
	float: left;
	margin:0 10px;
	position: relative;
}

.twoFifths {
	width: 40%;
	width: calc(((100% / 5) * 2) - 20px);
	box-sizing: border-box;
	float: left;
	margin:0 10px;
	position: relative;
}

.threeFifths {
	width: 60%;
	width: calc(((100% / 5) * 3) - 20px);
	box-sizing: border-box;
	float: left;
	margin:0 10px;
	position: relative;
}

.fourFifths {
	width: 80%;
	width: calc(((100% / 5) * 4) - 20px);
	box-sizing: border-box;
	float: left;
	margin:0 10px;
	position: relative;
}




.headerBanner {;

	overflow: hidden;
	padding: 5vh 0;
	box-sizing: border-box;
}

.logo img {
	max-width: 100%;
	min-height: 150px;
}


.menuBar {

	background-color: var(--cyan-colour);
	padding: 20px 0;

}

.menuBar li {
	display: inline-block;
	margin: 0 10px;
	color: #fff;
}


.menu a {
	color: #fff;
	text-decoration: none;
}

.menu {
	display: inline-block;
}

.menu li a:hover {
	color: #292929;
}

.rightMenuItems {
	display: inline-block;
	float: right;
}

.rightMenuItems li a {
	text-decoration: none;
	color: #fff;
}


.menu li .active {
	font-weight: 900;
}


.ctaBoxes {
	margin-top: 60px;
	box-sizing: border-box;
	overflow:hidden;
	margin-bottom: 40px;
}

.ctaContent {
	padding: 30px;
}

.ctaContent h2 {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}

.button {
	border: 1px solid #292929;
	display: inline-block;
	padding: 0px 10px;
	text-decoration: none;
	color: #292929;
	border-radius: 3px;
	margin: 15px 0;
	margin-right: 10px;
	font-weight: bold;
}

.oneTwoContentImage {
	margin-top: 60px;
}

.minusLeft {
margin-left: -10px;
}

.twoThirds.minusLeft {
	width: calc((100% / 3) * 2);
}

.generalContent {

	margin-top: 60px;
	padding-bottom: 40px;

}

.generalContent h2 {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}

.generalContent h1 {
	font-size: 1.3em;
	font-weight: bold;
	margin-bottom: 30px;
}



.generalContent p {
	margin-bottom: 30px;
}

.generalContent.background {

	background-color: #f1f1f1;
	padding: 60px 0;

}


footer .footerContent {

	background-color: var(--cyan-colour);
	overflow: hidden;
	padding: 60px 0;
	color: #fff;
	overflow: hidden;

}

.footerContent h3 {
	font-size: 1.1em;
	font-weight: bold;
}

.quickMenu {
	list-style: none;
}


footer a {
	text-decoration: none;
	color: #fff;
	border-bottom: 1px dotted #fff;
}

footer a:hover {
	color:#292929;
}

.footerBar {
	background-color: #292929;
	color: #fff;
	overflow: hidden;
	padding: 20px 0;
}

.leftFooterBar {
	float: left;
}

.rightFooterBar {
	float: right;
}

.rightFooterBar li {
	display: inline-block;
	margin-left: 15px;
}

.footerContent img {
	max-width: 100%;
}


.jobListingBlock {
	margin: 60px 0;
	overflow: hidden;
}

.memberLogoListing {
	max-width: 20%;
	height: auto;
	float: right;
}

.memberLogoJob {

	max-width: 100%;
	height: auto;

}

.listingContent {
	float: left;
	max-width:80%;
}


.inputCheck {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
	border: 0;
	height:20px;
	width: 20px;
	background-color: #d0d0d0;
	float: left;
	margin-right: 15px;
}

.inputCheck:checked {
	border: 4px solid #d0d0d0;
	height: 20px;
	width: 20px;
	background-color: #078768;
}

.jobListingSearchBar {

	background-color: #347896;
	color: #fff;
	overflow: hidden;
	margin: 40px 0;
	padding: 40px;
	box-sizing: border-box;

}

.inputSearch {
	width: 100%;
	padding: 20px;
	border: 0px;
	background-color: #fff;
	font-size: 1em;
	box-sizing: border-box;
}


.formBox {

	border-radius: 10px;
	padding: 20px;
	box-sizing: border-box;
	background-color: var(--cyan-colour);

}

.formBox label {
	font-size: 0.9em;
	font-weight: 600;
	margin-top: 10px;
	display: block;	
	color: #fff;
	margin-left: 0;
}

.formBox .inputBox {
padding: 10px 15px;
font-size: 1em;
border: 0;
border-radius: 4px;
background-color: #fff;
width: 100%;
box-sizing: border-box;
min-height: 37px;
height: 37px;	
}


.formBox button, .formBox .button {
	padding: 10px 30px;
	border-radius: 4px;
	font-weight: 600;
	display: inline-block;
    margin-top: 20px;
	margin-right: 10px;
    color: #fff;
    background-color: #838383;
    border: 0;
    background-color: var(--green-colour);
    outline: none;
    font-size: 14px;

}

.formBox a {
	color: #fff;
}




.jobListingResult {
	background-color: #f5f1ea;
	padding: 40px;
	margin: 20px 0;
	overflow: hidden;
}

.jobButton {
	border:2px solid #292929;
	border-radius: 4px;
	background-color: #f5f1ea;
	text-decoration: none;
	padding: 5px 15px;
	color: #292929;
	margin-top: 20px;
	display: inline-block;
}

.jobTitle {
	font-size: 1.1em;
	font-weight: bold;
}

.jobListingDetail {
	background-color: #f5f1ea;
	padding: 40px;
	overflow: hidden;
}

.jobListingDetail h4 {

	font-size: 0.8em;
	margin-top: 20px;
	margin-bottom: -10px;
}

.fileDownload {
	background-color: var(--cyan-colour);
	color: #fff;
	padding: 60px;
	box-sizing: border-box;
	margin:40px 0;
	overflow: hidden;
}

.fileDownloadContent {
	max-width: 75%;
	float: left;
	padding-right: 40px;
	box-sizing: border-box;
}

.fileDownloadThumbnail {
	max-width: 25%;
	float: right;
}

.fileDownloadButton {
	display: inline-block;
	padding: 5px 15px;
	border-radius: 5px;
	color: #fff;
	border: 1px #fff solid;
	margin: 20px 10px 10px 0;
	text-decoration: none;
}

.fileDownloadButton:hover {
	color: var(--cyan-colour);
	background-color: #fff;
}

.fileDownloadThumbnailImage {
	max-width: 100%;
}


.innerContainer li {
margin-left: 60px;
}







.mobileShow {
display: none;
}




/* ==========================================================================
   DESIGN REFRESH (new_flat) — component system
   ========================================================================== */

.wrap {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 40px;
	box-sizing: border-box;
}

.hero__card h1, .hero__heading h1, .split__body h2, .download__body h2 {
	font-family: var(--serif);
	font-weight: 500;
	letter-spacing: -0.01em;
	line-height: 1.12;
}

.section { padding: 28px 0; }
.section:first-of-type { padding-top: 48px; }
.section--tight { padding: 16px 0; }
.stack { display: flex; flex-direction: column; gap: 22px; }

/* ---- Buttons ---- */
.btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 15px;
	padding: 13px 24px;
	border-radius: 2px;
	border: 0;
	text-decoration: none;
	cursor: pointer;
	line-height: 1;
}
.btn--light { background: #fff; color: var(--teal); }
.btn--accent { background: var(--mustard); color: var(--ink); }
.btn--solid { background: var(--teal); color: #fff; }
.btn--ghost { background: #fff; color: var(--ink); border: 1px solid #CBD4D0; }
/* "Read more" links rendered as buttons (match .btn--solid) */
.readmore,
.card__more {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 8px;
	font-family: var(--sans);
	font-weight: 600;
	font-size: 15px;
	padding: 13px 24px;
	border-radius: 2px;
	background: var(--teal);
	color: #fff;
	text-decoration: none;
	line-height: 1;
}
.readmore:hover,
.card__more:hover {
	background: var(--teal-dark);
	color: #fff;
	text-decoration: none;
}

/* ---- Hero (page_header) ---- */
.hero { position: relative; background: var(--teal-dark); }
.hero__img { width: 100%; height: 520px; object-fit: cover; display: block; }
.hero--internal .hero__img { height: 340px; }
/* Graceful fallback when no background image is set (e.g. 404) */
.hero--plain { min-height: 440px; }
.hero--plain.hero--internal { min-height: 280px; }
.hero__scrim { position: absolute; inset: 0; background: rgba(13,20,24,0.40); }
.hero__inner { position: absolute; inset: 0; }
.hero__inner .wrap { height: 100%; position: relative; }
.hero__logo { position: absolute; top: 32px; left: 40px; height: 128px; width: auto; display: block; }
.hero--internal .hero__logo { height: 104px; top: 28px; }
.hero__card {
	position: absolute;
	left: 40px;
	bottom: 0;
	background: var(--teal);
	color: #fff;
	padding: 36px 40px;
	max-width: 640px;
}
.hero__card h1 { font-size: 42px; line-height: 1.07; margin: 0 0 14px; color: #fff; }
.hero__card p { font-size: 16.5px; line-height: 1.6; color: #E1F1F3; margin: 0 0 24px; }
.hero__buttons { display: flex; gap: 13px; flex-wrap: wrap; }
.hero__heading { position: absolute; left: 40px; bottom: 34px; color: #fff; }
.hero__heading h1 { font-size: 46px; line-height: 1.06; margin: 0; max-width: 760px; color: #fff; }
.hero__crumb { font-size: 13.5px; color: #CFE6EA; margin-bottom: 12px; }
.hero__crumb a { color: #CFE6EA; text-decoration: none; }
.hero__crumb a:hover { text-decoration: underline; }

/* ---- Nav bar ---- */
.nav { background: var(--teal-dark); }
.nav__inner { display: flex; align-items: stretch; font-size: 15px; font-weight: 500; }
.nav__link { color: #BFE0E6; text-decoration: none; padding: 17px 22px; transition: color .15s ease; }
.nav__link:first-child { padding-left: 0; }
.nav__link:hover { color: #fff; }
.nav__link.active { color: #fff; font-weight: 600; }
.nav__account {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: 6px;
	background: #fff;
	padding: 0 12px 0 22px;
}
.nav__account a { color: var(--teal); text-decoration: none; font-weight: 600; font-size: 14.5px; white-space: nowrap; }
.nav__search { width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; font-size: 18px; }

/* ---- Content + image split ---- */
.split {
	background: #fff;
	overflow: hidden;
	display: grid;
	grid-template-columns: 0.82fr 1.18fr;
}
.split--imgright { grid-template-columns: 1.18fr 0.82fr; }
.split__media { overflow: hidden; min-height: 320px; }
.split__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.split--imgright .split__media { order: 2; }
.split--imgright .split__body { order: 1; }
.split__body {
	padding: 44px 46px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.split__body h2 { font-size: 31px; margin: 0 0 16px; color: var(--ink); }
.split__body p { font-size: 16px; line-height: 1.62; color: var(--ink-2); margin: 0 0 24px; max-width: 540px; }

/* ---- Download block ---- */
.download {
	background: var(--ink);
	overflow: hidden;
	display: grid;
	grid-template-columns: 1fr 0.58fr;
}
.download__body { padding: 46px 48px; color: #F1EFE9; display: flex; flex-direction: column; justify-content: center; }
.download__body h2 { font-size: 29px; margin: 0 0 14px; line-height: 1.16; color: #fff; }
.download__body p { font-size: 15.5px; line-height: 1.6; color: #BFC2C6; margin: 0 0 26px; max-width: 470px; }
.download__body .btn { align-self: flex-start; }
.download__media { overflow: hidden; min-height: 260px; }
.download__media img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* ---- Notice ---- */
.notice { background: #FBF1D8; padding: 30px 34px; }
.notice h3 {
	font-family: var(--sans);
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	color: #9A6B12;
	margin: 0 0 12px;
}
.notice p { font-size: 15.5px; line-height: 1.62; color: #574F33; margin: 0 0 10px; max-width: 880px; }
.notice p:last-child { margin-bottom: 0; }
.notice a { color: #9A6B12; font-weight: 600; text-decoration: none; }
.notice a:hover { text-decoration: underline; }

/* ---- Prose / WYSIWYG ---- */
.proseWrap { background: #fff; padding: 50px 52px; }
.prose { max-width: 768px; font-size: 16.5px; line-height: 1.72; color: #3B3F43; }
.prose > *:first-child { margin-top: 0; }
.prose > *:last-child { margin-bottom: 0; }
.prose h2 { font-family: var(--serif); font-size: 30px; font-weight: 500; line-height: 1.16; letter-spacing: -0.01em; color: var(--ink); margin: 0 0 16px; }
.prose h3 { font-family: var(--serif); font-size: 23px; font-weight: 600; line-height: 1.2; color: var(--ink); margin: 36px 0 12px; }
.prose p { margin: 0 0 18px; }
.prose a { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
.prose strong { font-weight: 700; color: var(--ink); }
.prose em { font-style: italic; }
.prose ul, .prose ol { margin: 0 0 18px; padding-left: 24px; }
.prose li { margin: 0 0 9px; }
.prose ul li::marker { color: var(--teal); }
.prose blockquote { margin: 28px 0; padding: 4px 0 4px 26px; border-left: 3px solid var(--teal); font-family: var(--serif); font-style: italic; font-size: 21px; line-height: 1.5; color: var(--ink); }
.prose figure { margin: 30px 0; }
.prose figure img { width: 100%; display: block; }
.prose figcaption { font-size: 13px; color: #8A9591; margin-top: 9px; }
.prose hr { border: 0; border-top: 1px solid #D2DAD7; margin: 32px 0; }

/* ---- Section heading (above modules) ---- */
.modHeading { font-family: var(--serif); font-size: 30px; font-weight: 500; color: var(--ink); margin: 0 0 22px; letter-spacing: -0.01em; }

/* ---- Accordion ---- */
.accordion { background: #fff; }
.accordion details { border-bottom: 1px solid var(--line); }
.accordion details:last-child { border-bottom: 0; }
.accordion summary { list-style: none; cursor: pointer; outline: none; display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 28px; font-size: 17px; font-weight: 600; color: var(--ink); }
.accordion summary::-webkit-details-marker { display: none; }
.accordion .plus { display: inline-block; color: var(--teal); font-size: 24px; line-height: 1; flex: 0 0 auto; transition: transform .15s ease; }
.accordion details[open] .plus { transform: rotate(45deg); }
.accordion__body { padding: 0 28px 24px; font-size: 15.5px; line-height: 1.64; color: var(--ink-2); max-width: 840px; }

/* ---- Gallery ---- */
.gallery { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gallery__item { overflow: hidden; aspect-ratio: 4 / 3; }
.gallery__item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.gallery__item:hover img { transform: scale(1.04); }

/* ---- Card grid (child page listings) ---- */
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.card { background: #fff; text-decoration: none; display: block; }
.card__media { overflow: hidden; aspect-ratio: 16 / 10; }
.card__media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.card__body { padding: 24px 26px; }
.card__body h3 { font-family: var(--serif); font-size: 21px; font-weight: 600; color: var(--ink); margin: 0 0 9px; }
.card__body p { font-size: 14.5px; line-height: 1.55; color: var(--ink-2); margin: 0 0 14px; }
.card__more { font-size: 14px; padding: 11px 20px; margin-top: 4px; }

/* ---- CTA row (coloured) ---- */
.ctarow { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.cta { padding: 34px 32px; display: flex; flex-direction: column; color: #fff; }
.cta h3 { font-family: var(--serif); font-size: 23px; font-weight: 500; margin: 0 0 10px; color: #fff; }
.cta p { font-size: 14.5px; line-height: 1.55; margin: 0 0 22px; flex: 1; }
.cta .btn { align-self: flex-start; font-size: 14.5px; padding: 12px 22px; }
.cta--teal { background: var(--teal); }
.cta--teal p { color: #DCF0F2; }
.cta--dark { background: var(--ink); }
.cta--dark p { color: #C3C4C7; }
.cta--terracotta { background: var(--terracotta); }
.cta--terracotta p { color: #F5DDD3; }

/* ---- Job search + results ---- */
.jobsearch__bar {
	background: #fff;
	padding: 18px;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr auto;
	gap: 12px;
	align-items: center;
}
.jobsearch__field { display: flex; align-items: center; gap: 10px; background: var(--panel); padding: 0 14px; }
.jobsearch__field input { border: 0; background: transparent; font-size: 15px; color: var(--ink); width: 100%; outline: none; padding: 13px 0; font-family: var(--sans); }
.jobsearch__bar select { border: 0; background: var(--panel); font-size: 15px; color: var(--ink); padding: 13px 14px; outline: none; cursor: pointer; font-family: var(--sans); }
.jobsearch__meta { display: flex; justify-content: space-between; align-items: center; padding: 18px 4px 12px; }
.jobsearch__meta .count { font-size: 14px; color: var(--ink-2); }
.jobsearch__meta .count strong { color: var(--ink); }
.jobsearch__meta .sort { font-size: 13.5px; color: #8A9591; }

.jobrow {
	background: #fff;
	text-decoration: none;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 20px;
	align-items: center;
	padding: 22px 26px;
	border-bottom: 1px solid var(--line);
	transition: background .12s ease;
}
.jobrow:hover { background: #F3F7F5; }
.jobrow__title { font-family: var(--serif); font-size: 21px; font-weight: 600; color: var(--ink); margin-bottom: 5px; }
.jobrow__org { font-size: 14.5px; color: var(--ink-2); }
.jobrow__meta { display: flex; align-items: center; gap: 10px; }
.jobrow__salary { font-size: 14px; color: var(--ink); font-weight: 600; white-space: nowrap; }
.jobrow__chip { font-size: 12.5px; color: var(--teal); background: var(--chip-bg); padding: 5px 12px; white-space: nowrap; }
.jobEmpty { background: #fff; padding: 40px; text-align: center; color: var(--ink-2); font-size: 15.5px; }

/* ---- Job detail ---- */
.jobdetail {
	background: #fff;
	padding: 46px 48px;
	display: grid;
	grid-template-columns: 1.55fr 0.95fr;
	gap: 48px;
	align-items: start;
}
.jobdetail__org { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.jobdetail__badge { width: 52px; height: 52px; background: var(--chip-bg); display: flex; align-items: center; justify-content: center; font-family: var(--serif); color: var(--teal); font-size: 20px; font-weight: 600; flex: 0 0 auto; }
.jobdetail__org span { font-size: 15px; color: var(--ink-2); }
.jobdetail h2 { font-family: var(--serif); font-size: 34px; line-height: 1.1; font-weight: 500; color: var(--ink); margin: 0 0 22px; letter-spacing: -0.01em; }
.jobdetail__body p { font-size: 16px; line-height: 1.64; color: var(--ink-2); margin: 0 0 16px; }
.jobdetail__body h3, .jobdetail__body h4 { font-family: var(--sans); font-size: 15px; font-weight: 700; color: var(--ink); margin: 24px 0 12px; }
.jobdetail__body h3.jobdetail__subhead { font-family: var(--serif); font-size: 21px; font-weight: 600; letter-spacing: -0.01em; color: var(--ink); margin: 28px 0 12px; }
.jobdetail__body ul { margin: 0; padding: 0 0 0 20px; font-size: 15.5px; line-height: 1.7; color: var(--ink-2); }
.jobfacts { background: var(--panel); padding: 26px 28px; margin-bottom: 16px; }
.jobfacts__label { font-size: 12px; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; color: #8A9591; margin-bottom: 16px; }
.jobfacts__rows { display: flex; flex-direction: column; gap: 14px; }
.jobfact { display: flex; justify-content: space-between; gap: 16px; font-size: 14.5px; }
.jobfact + .jobfact { border-top: 1px solid #E0E7E3; padding-top: 14px; }
.jobfact span:first-child { color: var(--ink-2); }
.jobfact span:last-child { color: var(--ink); font-weight: 600; text-align: right; }
.jobfact .closing { color: var(--terracotta); }
.jobdetail aside .btn { display: block; text-align: center; }
.jobdetail aside .btn--apply { background: var(--teal); color: #fff; font-size: 15.5px; padding: 15px; margin-bottom: 10px; }
.jobdetail aside .btn--save { background: #fff; color: var(--ink); border: 1px solid #CBD4D0; font-size: 15.5px; padding: 14px; }

/* ---- 404 / not found ---- */
.notfound {
	background: #fff;
	padding: 64px 48px;
	text-align: center;
	max-width: 760px;
	margin: 0 auto;
}
.notfound__code {
	font-family: var(--serif);
	font-size: 88px;
	line-height: 1;
	font-weight: 600;
	color: var(--teal);
	margin-bottom: 14px;
}
.notfound h2 {
	font-family: var(--serif);
	font-size: 30px;
	font-weight: 500;
	color: var(--ink);
	letter-spacing: -0.01em;
	margin: 0 0 16px;
}
.notfound__body {
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--ink-2);
	max-width: 520px;
	margin: 0 auto 30px;
}
.notfound__body p { margin: 0 0 14px; }
.notfound__body p:last-child { margin-bottom: 0; }
.notfound__body a { color: var(--teal); text-decoration: underline; text-underline-offset: 2px; }
.notfound__actions {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}

/* ---- Refreshed footer ---- */
.foot { background: var(--ink); color: #BFC0C4; }
.foot__top { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 48px; align-items: start; padding: 54px 0 30px; }
.foot__logo { height: 96px; width: auto; display: block; margin-bottom: 22px; }
.foot__address { font-size: 13.5px; line-height: 1.6; color: #9A9B9F; margin: 0; }
.foot__heading { font-size: 13px; font-weight: 700; color: #86888C; margin-bottom: 16px; }
.foot__links { display: flex; flex-direction: column; gap: 11px; font-size: 14px; list-style: none; }
.foot__links a, .foot a { color: #BFC0C4; text-decoration: none; border: 0; }
.foot__links a:hover, .foot a:hover { color: #fff; text-decoration: underline; }
.foot__contact a { font-size: 14px; color: #5BC4D6; }
.foot__bar { border-top: 1px solid #3A3D41; }
.foot__bar-inner {
	padding: 18px 0;
	font-size: 12.5px;
	color: #83858A;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
}
.foot__legal {
	list-style: none;
	display: flex;
	gap: 20px;
	margin: 0;
	padding: 0;
}
.foot__legal a { color: #83858A; text-decoration: none; border: 0; }
.foot__legal a:hover { color: #fff; text-decoration: underline; }

/* ---- Responsive ---- */
@media (max-width: 880px) {
	.wrap { padding: 0 20px; }
	.split, .split--imgright,
	.download, .jobdetail { grid-template-columns: 1fr; }
	.split--imgright .split__media { order: 0; }
	.split--imgright .split__body { order: 0; }
	.gallery, .cards, .ctarow { grid-template-columns: 1fr; }
	.jobsearch__bar { grid-template-columns: 1fr; }
	.foot__top { grid-template-columns: 1fr; gap: 28px; }
	.hero__card { position: static; max-width: none; }
	.hero__logo { height: 84px; }
	.nav__inner { flex-wrap: wrap; }
}




