.elementor-5115 .elementor-element.elementor-element-5dd15ff{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:48px;--padding-bottom:40px;--padding-left:20px;--padding-right:20px;}.elementor-5115 .elementor-element.elementor-element-5dd15ff:not(.elementor-motion-effects-element-type-background), .elementor-5115 .elementor-element.elementor-element-5dd15ff > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F0F2;}.elementor-5115 .elementor-element.elementor-element-7396d81{font-family:"Manrope", Sans-serif;font-size:14px;color:#7A7A7A;}.elementor-5115 .elementor-element.elementor-element-4fca3ee{font-family:"Manrope", Sans-serif;}.elementor-5115 .elementor-element.elementor-element-eb02344 .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:40px;font-weight:800;line-height:1.15em;color:#252525;}.elementor-5115 .elementor-element.elementor-element-e9af906{font-family:"Manrope", Sans-serif;font-size:16px;color:#7A7A7A;}.elementor-5115 .elementor-element.elementor-element-8431dbf{font-family:"Manrope", Sans-serif;}.elementor-5115 .elementor-element.elementor-element-10503c4{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:48px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-5115 .elementor-element.elementor-element-10503c4:not(.elementor-motion-effects-element-type-background), .elementor-5115 .elementor-element.elementor-element-10503c4 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-5115 .elementor-element.elementor-element-05fba4d{color:#4A4A4A;font-family:"Manrope", Sans-serif;font-size:17px;line-height:1.7em;}.elementor-5115 .elementor-element.elementor-element-c0c94c6{font-family:"Manrope", Sans-serif;font-size:16px;color:#7A7A7A;}.elementor-5115 .elementor-element.elementor-element-89c3584{--alignment:left;--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-5115 .elementor-element.elementor-element-e038e36{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-start;--padding-top:48px;--padding-bottom:56px;--padding-left:20px;--padding-right:20px;}.elementor-5115 .elementor-element.elementor-element-e038e36:not(.elementor-motion-effects-element-type-background), .elementor-5115 .elementor-element.elementor-element-e038e36 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F0F0F2;}.elementor-5115 .elementor-element.elementor-element-eff52ff .elementor-heading-title{font-family:"Manrope", Sans-serif;font-size:28px;font-weight:700;color:#252525;}.elementor-5115 .elementor-element.elementor-element-d1d5989{--grid-columns:1;--grid-row-gap:16px;}.elementor-5115 .elementor-element.elementor-element-08bad40{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:center;--padding-top:56px;--padding-bottom:64px;--padding-left:20px;--padding-right:20px;}.elementor-5115 .elementor-element.elementor-element-08bad40:not(.elementor-motion-effects-element-type-background), .elementor-5115 .elementor-element.elementor-element-08bad40 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-5115 .elementor-element.elementor-element-254537f{text-align:center;font-family:"Manrope", Sans-serif;font-size:17px;color:#7A7A7A;}@media(max-width:1024px){ .elementor-5115 .elementor-element.elementor-element-89c3584{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-5115 .elementor-element.elementor-element-d1d5989{--grid-columns:1;}}@media(max-width:767px){ .elementor-5115 .elementor-element.elementor-element-89c3584{--grid-side-margin:10px;--grid-column-gap:10px;--grid-row-gap:10px;--grid-bottom-margin:10px;}.elementor-5115 .elementor-element.elementor-element-d1d5989{--grid-columns:1;}}/* Start custom CSS *//* ── Kill Astra's blog chrome ────────────────────────────────────────────────
   A `job` is not a blog post, but Astra rendered it with the single-post layout:
   a widget sidebar carrying Search and Recent Posts (links to blog articles),
   plus an author/date byline. Remove both and let the template own the page. */
#secondary,
.ast-single-post .ast-author-details,
.single-job .entry-meta,
.single-job .post-navigation,
.single-job .ast-single-post-order {
	display: none !important;
}

.single-job #primary,
.single-job .ast-container > #primary {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.single-job .ast-container {
	max-width: 100%;
	padding-left: 0;
	padding-right: 0;
	display: block;
}

.single-job .ast-article-single {
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
}

/* ── Header band ─────────────────────────────────────────────────────────── */

.zr-breadcrumb {
	margin: 0;
	font-size: 14px;
}

.zr-breadcrumb a {
	color: #7A7A7A;
	text-decoration: none;
}

.zr-breadcrumb a:hover {
	color: #C60000;
}

.zr-breadcrumb span {
	margin: 0 6px;
	opacity: .5;
}

.zr-detail-badge {
	margin: 0;
}

.zr-detail-badge:empty {
	display: none;
}

.zr-job-badge--featured {
	display: inline-block;
	background: #C60000;
	color: #fff;
	font-family: Manrope, sans-serif;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .07em;
	text-transform: uppercase;
	padding: 4px 11px;
	border-radius: 999px;
}

.zr-detail-client {
	margin: 0;
	font-size: 18px;
	font-weight: 600;
	color: #252525;
}

.zr-detail-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 14px 0 0;
}

.zr-detail-chips .zr-chip {
	background: #FFFFFF;
	color: #252525;
	font-size: 14px;
	line-height: 1.2;
	padding: 7px 14px;
	border-radius: 999px;
	white-space: nowrap;
}

.zr-detail-chips .zr-chip:empty {
	display: none;
}

/* Salary is the field candidates look for first after the title. */
.zr-detail-salary {
	margin: 18px 0 0;
	font-family: Manrope, sans-serif;
	font-size: 22px;
	font-weight: 700;
	color: #252525;
}

.zr-detail-sub {
	margin: 6px 0 0;
	font-size: 14px;
	color: #7A7A7A;
}

/* ── Apply ───────────────────────────────────────────────────────────────────
   Salt repeats Apply at the top and again at the end of the description, so it
   is reachable whatever the scroll position. Same here — one filled primary
   button in each place, no competing CTA between them. */

.zr-job-apply {
	display: inline-block;
	background: #C60000;
	color: #FFFFFF !important;
	font-family: Manrope, sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	padding: 15px 40px;
	border: 2px solid #C60000;
	border-radius: 10px;
	transition: background-color .18s ease, border-color .18s ease;
}

.zr-job-apply:hover,
.zr-job-apply:focus {
	background: #252525;
	border-color: #252525;
	color: #FFFFFF !important;
}

.zr-apply-top {
	margin-top: 10px;
}

.zr-apply-foot {
	width: 100%;
	margin-top: 8px;
	padding: 32px;
	background: #F0F0F2;
	border-radius: 12px;
	text-align: center;
}

.zr-apply-foot__lead {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	color: #252525;
}

.zr-consultant {
	margin: 16px 0 0;
	font-size: 14px;
	color: #7A7A7A;
}

.zr-consultant:empty {
	display: none;
}

/* Closed role: the apply control is replaced, not merely hidden. */
.zr-job-closed {
	padding: 20px 24px;
	background: #FFF4F4;
	border: 1px solid #F3C9C9;
	border-left: 4px solid #C60000;
	border-radius: 10px;
	color: #252525;
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

.zr-job-closed a {
	color: #C60000;
	font-weight: 600;
}

/* ── Description ─────────────────────────────────────────────────────────── */

.single-job .elementor-widget-theme-post-content {
	max-width: 760px;
}

.single-job .elementor-widget-theme-post-content h3 {
	margin: 34px 0 12px;
	font-family: Manrope, sans-serif;
	font-size: 21px;
	font-weight: 700;
	color: #252525;
}

.single-job .elementor-widget-theme-post-content ul {
	margin: 0 0 18px;
	padding-left: 22px;
}

.single-job .elementor-widget-theme-post-content li {
	margin-bottom: 8px;
}

.single-job .elementor-widget-theme-post-content p {
	margin: 0 0 16px;
}

/* ── Closing band ────────────────────────────────────────────────────────── */

.zr-closing__title {
	margin: 0 0 8px;
	font-family: Manrope, sans-serif;
	font-size: 30px;
	font-weight: 800;
	color: #252525;
}

.zr-closing__lead {
	margin: 0 auto 22px;
	max-width: 520px;
}

.zr-closing__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
	margin: 0;
}

.zr-btn {
	display: inline-block;
	font-family: Manrope, sans-serif;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	padding: 13px 30px;
	border-radius: 10px;
	border: 2px solid transparent;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.zr-btn--filled {
	background: #C60000;
	border-color: #C60000;
	color: #FFFFFF !important;
}

.zr-btn--filled:hover {
	background: #252525;
	border-color: #252525;
}

.zr-btn--outline {
	background: #FFFFFF;
	border-color: #ED1215;
	color: #ED1215 !important;
}

.zr-btn--outline:hover {
	background: #252525;
	border-color: #252525;
	color: #FFFFFF !important;
}

/* ── Mobile ──────────────────────────────────────────────────────────────── */

@media (max-width: 767px) {
	.zr-detail-salary {
		font-size: 19px;
	}

	.zr-apply-foot {
		padding: 24px 18px;
	}

	.zr-job-apply,
	.zr-closing__actions .zr-btn {
		display: block;
		width: 100%;
		text-align: center;
	}

	.zr-closing__actions {
		flex-direction: column;
	}
}



/* The body container aligns its children to flex-start, which shrink-wraps each
   widget. The apply panel and the description need the full measure. */
.single-job .elementor-element-10503c4 > .e-con-inner > .elementor-widget,
.single-job .elementor-element-10503c4 > .elementor-widget {
	width: 100%;
}

.single-job .elementor-widget-theme-post-content {
	width: 100%;
	max-width: 760px;
}

.zr-apply-foot {
	max-width: 760px;
}


/* Elementor sets a --width custom property on the widget, which beats a plain
   max-width. Cap the reading measure at ~70 characters; 1140px ran to ~105,
   which is well past comfortable for body copy. */
.single-job .elementor-widget-theme-post-content {
	max-width: 760px !important;
	--width: 760px;
}


@media (max-width: 767px) {
	/* The header band shrink-wraps its widgets, so the top Apply came out
	   narrower than the one at the foot. Match them. */
	.single-job .elementor-element-5dd15ff > .e-con-inner > .elementor-widget,
	.single-job .elementor-element-5dd15ff > .elementor-widget {
		width: 100%;
	}
}


/* The confidential explainer. Collapses entirely when the client is named, so
   a disclosed vacancy does not carry an empty line. */
.zr-detail-client-note {
	margin: 6px 0 0;
	max-width: 560px;
	font-size: 14px;
	line-height: 1.5;
	color: #7A7A7A;
}

.zr-detail-client-note:empty {
	display: none;
}/* End custom CSS */