:root {
	--holistit-cyan: #00d8ff;
	--holistit-black: #000000;
	--holistit-white: #ffffff;
	--holistit-text: #15191b;
	--holistit-muted: #6e767a;
	--holistit-line: #e6eaec;
	--holistit-soft: #f4f6f7;

	--holistit-dark: #0d1113;
	--holistit-dark-soft: #171c1f;
	--holistit-dark-line: #30373b;

	--holistit-content-width: 1160px;
	--holistit-radius: 14px;
}

/* =========================================================
 * SHARED
 * ========================================================= */

body.holistit-job-page,
body.holistit-jobs-page,
body.holistit-job-application-page {
	margin: 0;
	padding: 0;

	background: var(--holistit-soft);
	color: var(--holistit-text);

	font-family: "Manrope", sans-serif;
}

.holistit-job-page .page-container,
.holistit-jobs-page .page-container,
.holistit-job-application-page .page-container {
	max-width: none;
}

.holistit-job-page .page_content,
.holistit-jobs-page .page_content,
.holistit-job-application-page .page_content {
	padding-top: 0;
}

.holistit-job-page .footer-powered,
.holistit-job-page .web-footer .footer-powered,
.holistit-jobs-page .footer-powered,
.holistit-jobs-page .web-footer .footer-powered,
.holistit-job-application-page .footer-powered,
.holistit-job-application-page .web-footer .footer-powered {
	display: none !important;
}

/* =========================================================
 * JOB DETAIL PAGE
 * ========================================================= */

.holistit-job-page .page-breadcrumbs,
.holistit-job-page .breadcrumb-container,
.holistit-job-page .breadcrumb {
	display: none !important;
}

.holistit-job,
.holistit-job *,
.holistit-job *::before,
.holistit-job *::after {
	box-sizing: border-box;
}

.holistit-job {
	width: min(calc(100% - 36px), var(--holistit-content-width));

	margin-inline: auto;

	font-family: "Manrope", sans-serif;
}

.holistit-job-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 8px;

	padding-top: 26px;
	margin-bottom: 38px;

	color: var(--holistit-muted);

	font-size: 13px;
	font-weight: 600;
}

.holistit-job-breadcrumb a {
	display: inline-flex;
	align-items: center;

	gap: 7px;

	color: var(--holistit-muted);

	text-decoration: none;

	transition: color 150ms ease;
}

.holistit-job-breadcrumb a:hover,
.holistit-job-breadcrumb a:focus {
	color: var(--holistit-black);

	text-decoration: none;
}

.holistit-job-breadcrumb-separator {
	color: #b1b6b9;
}

.holistit-job-breadcrumb span[aria-current="page"] {
	color: var(--holistit-text);

	font-weight: 700;
}

.holistit-job-hero {
	padding: 0 0 44px;
}

.holistit-job-chips {
	display: flex;
	flex-wrap: wrap;

	gap: 8px;

	margin-bottom: 20px;
}

.holistit-job-chip {
	display: inline-flex;
	align-items: center;

	padding: 6px 11px;

	border-radius: 999px;

	background: #e9fbff;
	color: #007488;

	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.035em;
}

.holistit-job-title {
	max-width: 920px;

	margin: 0 0 18px;

	color: var(--holistit-black);

	font-size: clamp(42px, 6vw, 70px);
	font-weight: 650;
	letter-spacing: -0.055em;
	line-height: 1;
}

.holistit-job-meta {
	display: flex;
	flex-wrap: wrap;

	gap: 8px 18px;

	color: var(--holistit-muted);

	font-size: 14px;
}

.holistit-job-company {
	color: var(--holistit-text);

	font-weight: 700;
}

.holistit-job-intro {
	max-width: 790px;

	margin-top: 28px;

	color: #4d5458;

	font-size: 17px;
	line-height: 1.75;
}

.holistit-job-intro > :first-child {
	margin-top: 0;
}

.holistit-job-intro > :last-child {
	margin-bottom: 0;
}

.holistit-job-layout {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		350px;

	gap: 48px;

	align-items: start;

	padding: 20px 0 30px;
}

.holistit-job-main {
	min-width: 0;

	padding: 40px;

	border: 1px solid var(--holistit-line);
	border-radius: var(--holistit-radius);

	background: var(--holistit-white);
}

.holistit-content-section + .holistit-content-section {
	margin-top: 44px;
	padding-top: 38px;

	border-top: 1px solid var(--holistit-line);
}

.holistit-content-kicker {
	margin-bottom: 8px;

	color: #007f94;

	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.11em;

	text-transform: uppercase;
}

.holistit-content-body {
	color: #454b4f;

	font-size: 15px;
	line-height: 1.78;
}

.holistit-content-body > :first-child {
	margin-top: 0;
}

.holistit-content-body > :last-child {
	margin-bottom: 0;
}

.holistit-content-body p {
	margin-bottom: 18px;
}

.holistit-content-body h1,
.holistit-content-body h2,
.holistit-content-body h3,
.holistit-content-body h4 {
	margin-top: 28px;
	margin-bottom: 14px;

	color: var(--holistit-black);

	font-family: "Manrope", sans-serif;
	font-weight: 650;
	letter-spacing: -0.03em;
	line-height: 1.25;
}

.holistit-content-body h2 {
	font-size: 25px;
}

.holistit-content-body h3 {
	font-size: 21px;
}

.holistit-content-body ul,
.holistit-content-body ol {
	padding-left: 21px;
}

.holistit-content-body li {
	margin-bottom: 9px;
}

.holistit-job-applications {
	margin-top: 36px;
	padding-top: 20px;

	border-top: 1px solid var(--holistit-line);

	color: var(--holistit-muted);

	font-size: 12px;
}

.holistit-job-sidebar {
	position: sticky;

	top: 24px;

	align-self: start;
}

.holistit-job-summary {
	overflow: hidden;

	border: 1px solid var(--holistit-dark-line);
	border-radius: var(--holistit-radius);

	background: var(--holistit-dark);
	color: var(--holistit-white);

	box-shadow: 0 18px 44px rgba(0, 0, 0, 0.14);
}

.holistit-summary-header {
	padding: 22px 22px 18px;

	border-bottom: 1px solid var(--holistit-dark-line);
}

.holistit-summary-header small {
	display: block;

	margin-bottom: 5px;

	color: var(--holistit-cyan);

	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.11em;

	text-transform: uppercase;
}

.holistit-summary-header strong {
	display: block;

	color: var(--holistit-white);

	font-size: 18px;
	font-weight: 700;
	letter-spacing: -0.025em;
}

.holistit-summary-facts {
	padding: 4px 22px;
}

.holistit-summary-fact {
	display: flex;
	justify-content: space-between;

	gap: 22px;

	padding: 15px 0;

	border-bottom: 1px solid var(--holistit-dark-line);

	font-size: 13px;
}

.holistit-summary-fact:last-child {
	border-bottom: 0;
}

.holistit-summary-fact span {
	color: #9ca5aa;
}

.holistit-summary-fact strong {
	max-width: 58%;

	color: var(--holistit-white);

	font-weight: 700;

	text-align: right;
}

.holistit-summary-fact .holistit-rate,
.holistit-rate {
	color: var(--holistit-cyan);
}

.holistit-summary-apply {
	padding: 20px 22px 22px;

	border-top: 1px solid var(--holistit-dark-line);

	background: var(--holistit-dark-soft);
}

.holistit-apply-button {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;

	padding: 15px 16px;

	border: 1px solid var(--holistit-cyan);
	border-radius: 9px;

	background: var(--holistit-cyan);
	color: var(--holistit-black);

	font-family: "Manrope", sans-serif;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.07em;

	text-decoration: none;
	text-transform: uppercase;
}

.holistit-job-closed {
	padding: 14px;

	border: 1px solid var(--holistit-dark-line);

	color: #aab2b6;

	text-align: center;
}

.holistit-static-facts {
	display: none;

	margin: 0 auto 92px;
}

.holistit-static-facts-card {
	overflow: hidden;

	border: 1px solid var(--holistit-line);
	border-radius: var(--holistit-radius);

	background: var(--holistit-white);
}

.holistit-static-facts-header {
	padding: 18px 20px;

	border-bottom: 1px solid var(--holistit-line);

	color: var(--holistit-black);

	font-size: 12px;
	font-weight: 800;
	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.holistit-static-facts-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.holistit-static-fact {
	padding: 18px 20px;

	border-right: 1px solid var(--holistit-line);
	border-bottom: 1px solid var(--holistit-line);
}

.holistit-static-fact:nth-child(3n) {
	border-right: 0;
}

.holistit-static-fact small {
	display: block;

	margin-bottom: 5px;

	color: var(--holistit-muted);

	font-size: 11px;
	font-weight: 700;
}

.holistit-static-fact strong {
	color: var(--holistit-black);

	font-size: 14px;
	font-weight: 750;
}

.holistit-static-fact .holistit-rate {
	color: #007a90;
}

.holistit-static-apply {
	padding: 18px 20px 20px;
}

.holistit-mobile-sheet {
	display: none;
}

/* =========================================================
 * JOB LISTING
 * ========================================================= */

.holistit-jobs-page .page-breadcrumbs,
.holistit-jobs-page .breadcrumb-container,
.holistit-jobs-page .breadcrumb,
.holistit-jobs-page .page-header {
	display: none !important;
}

.holistit-jobs,
.holistit-jobs *,
.holistit-jobs *::before,
.holistit-jobs *::after {
	box-sizing: border-box;
}

.holistit-jobs {
	width: min(calc(100% - 36px), var(--holistit-content-width));

	margin-inline: auto;
	padding-bottom: 100px;
}

.holistit-jobs-hero {
	padding: 58px 0 48px;
}

.holistit-jobs-eyebrow {
	margin-bottom: 14px;

	color: #007f94;

	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.12em;

	text-transform: uppercase;
}

.holistit-jobs-title {
	max-width: 850px;

	margin: 0;

	color: var(--holistit-black);

	font-size: clamp(46px, 7vw, 76px);
	font-weight: 650;
	letter-spacing: -0.06em;
	line-height: 0.98;
}

.holistit-jobs-lead {
	max-width: 630px;

	margin: 24px 0 0;

	color: var(--holistit-muted);

	font-size: 17px;
	line-height: 1.7;
}

.holistit-jobs-search-row {
	display: flex;
	align-items: stretch;

	gap: 12px;

	margin-top: 38px;
}

.holistit-jobs-search {
	position: relative;

	display: flex;
	align-items: center;

	width: min(100%, 790px);
	min-height: 58px;

	overflow: hidden;

	border: 1px solid var(--holistit-line);
	border-radius: 12px;

	background: var(--holistit-white);
}

.holistit-jobs-search-icon {
	width: 18px;
	height: 18px;

	margin-left: 18px;

	color: var(--holistit-muted);
}

.holistit-jobs-search input {
	flex: 1;

	min-width: 0;
	height: 56px;

	padding: 0 18px;

	border: 0;
	outline: 0;

	background: transparent;

	color: var(--holistit-black);

	font: inherit;
	font-size: 14px;
}

.holistit-jobs-search-button {
	align-self: stretch;

	padding: 0 24px;

	border: 0;

	background: var(--holistit-dark);
	color: var(--holistit-white);

	font: inherit;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;

	text-transform: uppercase;

	cursor: pointer;
}

.holistit-jobs-filter-button {
	display: none;

	align-items: center;
	justify-content: center;

	gap: 8px;

	min-width: 118px;

	padding: 0 16px;

	border: 1px solid var(--holistit-line);
	border-radius: 12px;

	background: var(--holistit-white);
	color: var(--holistit-black);

	font: inherit;
	font-size: 12px;
	font-weight: 750;

	cursor: pointer;
}

.holistit-jobs-filter-icon {
	width: 17px;
	height: 17px;
}

.holistit-filter-count {
	display: inline-grid;

	min-width: 20px;
	height: 20px;

	padding: 0 5px;

	place-items: center;

	border-radius: 999px;

	background: var(--holistit-cyan);
	color: var(--holistit-black);

	font-size: 10px;
	font-weight: 850;
}

.holistit-jobs-content {
	display: grid;

	grid-template-columns:
		245px
		minmax(0, 1fr);

	gap: 52px;

	align-items: start;
}

.holistit-jobs-sidebar {
	position: sticky;

	top: 24px;
}

.holistit-filter-heading {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 12px;

	padding-bottom: 18px;

	border-bottom: 1px solid var(--holistit-line);
}

.holistit-filter-eyebrow {
	display: block;

	margin-bottom: 3px;

	color: #007f94;

	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.12em;

	text-transform: uppercase;
}

.holistit-filter-heading h2,
.holistit-mobile-filter-header h2 {
	margin: 0;

	color: var(--holistit-black);

	font-size: 17px;
	font-weight: 700;
	letter-spacing: -0.025em;
}

.holistit-filter-clear {
	padding: 0;

	border: 0;

	background: transparent;
	color: var(--holistit-muted);

	font: inherit;
	font-size: 11px;
	font-weight: 700;

	cursor: pointer;
}

.holistit-filter-group {
	padding: 18px 0;

	border-bottom: 1px solid var(--holistit-line);
}

.holistit-filter-group-title {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;

	margin: 0;
	padding: 0;

	border: 0;

	background: transparent;
	color: var(--holistit-black);

	font: inherit;
	font-size: 12px;
	font-weight: 800;

	text-align: left;

	cursor: pointer;
}

.holistit-filter-options {
	display: grid;

	gap: 9px;

	margin-top: 13px;
}

.holistit-filter-option {
	display: flex;
	align-items: flex-start;

	gap: 10px;

	margin: 0;

	color: var(--holistit-muted);

	font-size: 12px;
	font-weight: 600;

	cursor: pointer;
}

.holistit-filter-option input {
	position: absolute;

	width: 1px;
	height: 1px;

	opacity: 0;

	pointer-events: none;
}

.holistit-filter-checkbox {
	position: relative;

	flex: 0 0 17px;

	width: 17px;
	height: 17px;

	margin-top: 1px;

	border: 1px solid #cbd1d4;
	border-radius: 4px;

	background: var(--holistit-white);
}

.holistit-filter-option input:checked + .holistit-filter-checkbox {
	border-color: var(--holistit-black);

	background: var(--holistit-black);
}

.holistit-filter-option input:checked + .holistit-filter-checkbox::after {
	content: "";

	position: absolute;

	top: 3px;
	left: 5px;

	width: 5px;
	height: 8px;

	border: solid var(--holistit-cyan);
	border-width: 0 2px 2px 0;

	transform: rotate(45deg);
}

.holistit-results-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;

	gap: 18px;

	min-height: 44px;

	margin-bottom: 18px;
}

.holistit-results-count {
	color: var(--holistit-muted);

	font-size: 13px;
}

.holistit-results-count strong {
	color: var(--holistit-black);

	font-weight: 800;
}

.holistit-sort-button {
	display: inline-flex;
	align-items: center;

	gap: 8px;

	padding: 9px 12px;

	border: 1px solid var(--holistit-line);
	border-radius: 8px;

	background: var(--holistit-white);
	color: var(--holistit-muted);

	font: inherit;
	font-size: 11px;
	font-weight: 700;

	cursor: pointer;
}

.holistit-sort-icon {
	width: 15px;
	height: 15px;
}

.holistit-job-grid {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 18px;
}

.holistit-job-card {
	position: relative;

	display: flex;
	flex-direction: column;

	min-width: 0;
	min-height: 310px;

	overflow: hidden;

	border: 1px solid var(--holistit-line);
	border-radius: var(--holistit-radius);

	background: var(--holistit-white);
	color: var(--holistit-text);

	text-decoration: none;

	transition:
		transform 170ms ease,
		border-color 170ms ease,
		box-shadow 170ms ease;
}

.holistit-job-card:hover,
.holistit-job-card:focus {
	border-color: #cdd3d6;

	color: var(--holistit-text);

	text-decoration: none;

	transform: translateY(-3px);

	box-shadow: 0 18px 42px rgba(0, 0, 0, 0.08);
}

.holistit-job-card::before {
	content: "";

	position: absolute;

	top: 0;
	right: 0;
	left: 0;

	height: 3px;

	background: var(--holistit-cyan);

	opacity: 0;
}

.holistit-job-card:hover::before,
.holistit-job-card:focus::before {
	opacity: 1;
}

.holistit-job-card-top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	gap: 18px;

	padding: 22px 22px 0;
}

.holistit-job-card-badges {
	display: flex;
	flex-wrap: wrap;

	gap: 6px;
}

.holistit-job-card-badge {
	display: inline-flex;
	align-items: center;

	min-height: 25px;

	padding: 4px 9px;

	border-radius: 999px;

	background: #f0f2f3;
	color: #4f575b;

	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.075em;

	text-transform: uppercase;
}

.holistit-job-card-badge.is-freelance {
	background: #e8fbff;

	color: #007589;
}

.holistit-job-card-badge.is-work-mode {
	background: #f4f5f5;

	color: #70787c;
}

.holistit-job-card-arrow {
	display: grid;

	flex: 0 0 34px;

	width: 34px;
	height: 34px;

	place-items: center;

	border: 1px solid var(--holistit-line);
	border-radius: 999px;

	color: var(--holistit-muted);

	font-size: 17px;
}

.holistit-job-card-body {
	flex: 1;

	padding: 24px 22px 26px;
}

.holistit-job-card-title {
	margin: 0 0 8px;

	color: var(--holistit-black);

	font-size: 25px;
	font-weight: 650;
	letter-spacing: -0.04em;
	line-height: 1.12;
}

.holistit-job-card-company {
	color: var(--holistit-muted);

	font-size: 12px;
	font-weight: 700;
}

.holistit-job-card-meta {
	display: grid;

	gap: 9px;

	margin-top: 24px;
}

.holistit-job-card-meta-item {
	display: flex;
	align-items: center;

	gap: 7px;

	color: #646c70;

	font-size: 11px;
	font-weight: 600;
}

.holistit-job-card-meta-item svg {
	width: 15px;
	height: 15px;
}

.holistit-job-card-footer {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 16px;

	padding: 18px 22px;

	border-top: 1px solid var(--holistit-line);

	background: #fafbfb;
}

.holistit-job-card-rate {
	color: #007c91;

	font-size: 13px;
	font-weight: 800;
}

.holistit-job-card-rate-unit {
	color: var(--holistit-muted);

	font-size: 10px;
	font-weight: 700;
}

.holistit-job-card-employment {
	color: var(--holistit-muted);

	font-size: 11px;
	font-weight: 700;
}

.holistit-job-card-posted {
	flex-shrink: 0;

	color: #969da1;

	font-size: 10px;
	font-weight: 650;

	text-align: right;
}

.holistit-job-card-secondary {
	display: flex;
	flex-wrap: wrap;

	gap: 8px 18px;

	padding: 10px 22px;

	border-top: 1px solid var(--holistit-line);

	background: var(--holistit-dark);
	color: #9da6aa;

	font-size: 9px;
}

.holistit-job-card-secondary strong {
	color: var(--holistit-white);
}

.holistit-jobs-empty {
	padding: 70px 30px;

	border: 1px solid var(--holistit-line);
	border-radius: var(--holistit-radius);

	background: var(--holistit-white);

	text-align: center;
}

.holistit-jobs-empty-icon {
	margin-bottom: 16px;

	color: var(--holistit-cyan);

	font-size: 42px;
}

.holistit-jobs-empty h2 {
	margin: 0 0 10px;

	color: var(--holistit-black);

	font-size: 24px;
	font-weight: 650;
}

.holistit-jobs-empty p {
	max-width: 450px;

	margin: 0 auto;

	color: var(--holistit-muted);

	font-size: 13px;
	line-height: 1.6;
}

.holistit-jobs-empty-button {
	margin-top: 24px;

	padding: 12px 18px;

	border: 1px solid var(--holistit-dark);
	border-radius: 8px;

	background: var(--holistit-dark);
	color: var(--holistit-white);

	font: inherit;
	font-size: 10px;
	font-weight: 800;

	cursor: pointer;
}

.holistit-pagination {
	display: flex;
	align-items: center;
	justify-content: center;

	gap: 5px;

	margin-top: 34px;
}

.holistit-pagination-button {
	display: grid;

	min-width: 37px;
	height: 37px;

	padding: 0 8px;

	place-items: center;

	border: 1px solid var(--holistit-line);
	border-radius: 8px;

	background: var(--holistit-white);
	color: var(--holistit-muted);

	font: inherit;
	font-size: 11px;
	font-weight: 750;

	cursor: pointer;
}

.holistit-pagination-button.is-active {
	border-color: var(--holistit-dark);

	background: var(--holistit-dark);
	color: var(--holistit-cyan);
}

.holistit-pagination-button:disabled {
	opacity: 0.35;

	cursor: default;
}

.holistit-pagination-gap {
	padding: 0 4px;

	color: var(--holistit-muted);
}

.holistit-jobs-overlay {
	position: fixed;

	inset: 0;

	z-index: 999;

	background: rgba(0, 0, 0, 0.42);

	opacity: 0;
	visibility: hidden;
}

.holistit-jobs-overlay.is-visible {
	opacity: 1;
	visibility: visible;
}

.holistit-jobs-filter-drawer {
	position: fixed;

	right: 0;
	bottom: 0;
	left: 0;

	z-index: 1000;

	display: flex;
	flex-direction: column;

	max-height: 82vh;

	border-radius: 18px 18px 0 0;

	background: var(--holistit-white);

	transform: translateY(105%);

	transition: transform 220ms ease;
}

.holistit-jobs-filter-drawer.is-open {
	transform: translateY(0);
}

.holistit-mobile-filter-header {
	display: flex;
	align-items: center;
	justify-content: space-between;

	padding: 20px 22px;

	border-bottom: 1px solid var(--holistit-line);
}

.holistit-mobile-filter-close {
	display: grid;

	width: 38px;
	height: 38px;

	place-items: center;

	border: 1px solid var(--holistit-line);
	border-radius: 999px;

	background: var(--holistit-white);

	font-size: 22px;

	cursor: pointer;
}

.holistit-mobile-filter-content {
	flex: 1;

	overflow-y: auto;

	padding: 4px 22px 20px;
}

.holistit-mobile-filter-footer {
	display: grid;

	grid-template-columns:
		1fr
		2fr;

	gap: 10px;

	padding: 16px 22px max(18px, env(safe-area-inset-bottom));

	border-top: 1px solid var(--holistit-line);

	background: var(--holistit-white);
}

.holistit-mobile-filter-clear,
.holistit-mobile-filter-apply {
	min-height: 48px;

	border-radius: 9px;

	font: inherit;
	font-size: 10px;
	font-weight: 850;

	cursor: pointer;
}

.holistit-mobile-filter-clear {
	border: 1px solid var(--holistit-line);

	background: var(--holistit-white);
	color: var(--holistit-muted);
}

.holistit-mobile-filter-apply {
	border: 1px solid var(--holistit-dark);

	background: var(--holistit-dark);
	color: var(--holistit-white);
}

html.holistit-filter-open {
	overflow: hidden;
}

/* =========================================================
 * JOB APPLICATION
 * ========================================================= */

body.holistit-job-application-page {
	padding-bottom: 120px;
}

.holistit-job-application-page .web-form-container {
	width: min(calc(100% - 36px), var(--holistit-content-width));

	max-width: none;

	margin-inline: auto;
	padding: 26px 0 100px;
}

.holistit-job-application-page .web-form-container > div[style*="height: 3rem"] {
	display: none !important;
}

.holistit-job-application-page .web-form-header {
	display: none !important;
}

.holistit-job-application-page .web-form {
	margin: 0;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 0 !important;

	background: transparent !important;

	box-shadow: none !important;
}

.holistit-job-application-page .web-form-body {
	padding: 0 !important;

	background: transparent;
}

.holistit-job-application-page .web-form-wrapper {
	padding: 0 !important;
}

.holistit-job-application-page .web-form-footer {
	position: absolute;

	width: 1px;
	height: 1px;

	overflow: hidden;

	opacity: 0;

	pointer-events: none;
}

/* ---------------------------------------------------------
 * Application breadcrumb
 * --------------------------------------------------------- */

.holistit-application-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;

	gap: 8px;

	margin-bottom: 28px;

	color: var(--holistit-muted);

	font-size: 13px;
	font-weight: 600;
}

.holistit-application-breadcrumb a {
	color: var(--holistit-muted);

	text-decoration: none;
}

.holistit-application-breadcrumb a:hover,
.holistit-application-breadcrumb a:focus {
	color: var(--holistit-black);

	text-decoration: none;
}

.holistit-application-breadcrumb-separator {
	color: #aeb5b8;
}

.holistit-application-breadcrumb-current {
	color: var(--holistit-text);

	font-weight: 700;
}

/* ---------------------------------------------------------
 * Application hero
 * --------------------------------------------------------- */

.holistit-application-hero {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;

	gap: 24px;

	padding: 30px;
	margin-bottom: 22px;

	border-radius: 18px;

	background: var(--holistit-black);
	color: var(--holistit-white);
}

.holistit-application-hero-main {
	min-width: 0;
}

.holistit-application-eyebrow {
	color: var(--holistit-cyan);

	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.12em;

	text-transform: uppercase;
}

.holistit-application-hero h1 {
	margin: 8px 0;

	color: var(--holistit-white);

	font-size: clamp(42px, 6vw, 66px);
	font-weight: 650;
	letter-spacing: -0.055em;
	line-height: 1;
}

.holistit-application-hero-meta {
	color: #aab2b6;

	font-size: 14px;
	line-height: 1.55;
}

.holistit-application-badges {
	display: flex;
	flex-wrap: wrap;

	gap: 8px;

	flex-shrink: 0;
}

.holistit-application-badge {
	display: inline-flex;
	align-items: center;

	padding: 6px 10px;

	border-radius: 999px;

	background: #e9fbff;
	color: #007589;

	font-size: 10px;
	font-weight: 850;
	letter-spacing: 0.08em;

	text-transform: uppercase;
}

.holistit-application-badge--dark {
	background: #23292c;
	color: #d0d6d9;
}

.holistit-application-intro {
	max-width: 760px;

	margin: 0 0 34px;

	color: var(--holistit-muted);

	font-size: 16px;
	line-height: 1.7;
}

/* ---------------------------------------------------------
 * One large dynamic application card
 * --------------------------------------------------------- */

.holistit-application-form-card {
	width: 100%;

	overflow: hidden;

	border: 1px solid var(--holistit-line);
	border-radius: 18px;

	background: var(--holistit-white);

	box-shadow: 0 10px 32px rgba(0, 0, 0, 0.025);
}

.holistit-application-section {
	padding: 34px 36px 38px;
}

.holistit-application-section + .holistit-application-section {
	border-top: 1px solid var(--holistit-line);
}

.holistit-application-section-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;

	gap: 20px;

	margin-bottom: 24px;
}

.holistit-application-section-heading {
	min-width: 0;
}

.holistit-application-section-head h2 {
	margin: 0;

	color: var(--holistit-black);

	font-size: 21px;
	font-weight: 700;
	letter-spacing: -0.035em;
	line-height: 1.25;
}

.holistit-application-section-note {
	max-width: 680px;

	margin: 6px 0 0;

	color: var(--holistit-muted);

	font-size: 12px;
	line-height: 1.6;
}

.holistit-application-optional-pill {
	flex-shrink: 0;

	padding: 5px 9px;

	border: 1px solid #d7dddf;
	border-radius: 999px;

	background: #f8fafb;
	color: #768084;

	font-size: 9px;
	font-weight: 850;
	letter-spacing: 0.09em;

	text-transform: uppercase;
}

/* ---------------------------------------------------------
 * Dynamic field grid
 * --------------------------------------------------------- */

.holistit-application-section-fields {
	display: grid;

	grid-template-columns: repeat(2, minmax(0, 1fr));

	gap: 22px 20px;

	align-items: start;
}

.holistit-application-field {
	position: relative;

	float: none !important;

	min-width: 0 !important;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;

	margin: 0 !important;
	padding: 0 !important;

	align-self: start;
}

.holistit-application-field[class*="col-"],
.holistit-application-field[class*="col-sm-"],
.holistit-application-field[class*="col-md-"],
.holistit-application-field[class*="col-lg-"] {
	float: none !important;

	width: 100% !important;
	max-width: none !important;

	padding-right: 0 !important;
	padding-left: 0 !important;
}

.holistit-application-field--wide {
	grid-column: 1 / -1;
}

/* ---------------------------------------------------------
 * Reset Frappe control internals
 * --------------------------------------------------------- */

.holistit-job-application-page .holistit-application-field .form-group {
	width: 100% !important;
	max-width: none !important;

	margin: 0 !important;
	padding: 0 !important;
}

.holistit-job-application-page .holistit-application-field .form-group > div,
.holistit-job-application-page .holistit-application-field .control-input-wrapper,
.holistit-job-application-page .holistit-application-field .control-input,
.holistit-job-application-page .holistit-application-field .control-value {
	width: 100% !important;
	max-width: none !important;
}

.holistit-job-application-page .holistit-application-field .control-label,
.holistit-job-application-page .holistit-application-field label:not(.checkbox) {
	display: block;

	min-height: 18px;

	margin: 0 0 7px !important;

	color: #343a3d;

	font-size: 12px;
	font-weight: 750;
	line-height: 1.35;
}

.holistit-job-application-page .holistit-application-field .form-control,
.holistit-job-application-page
	.holistit-application-field
	input:not([type="checkbox"]):not([type="radio"]),
.holistit-job-application-page .holistit-application-field select,
.holistit-job-application-page .holistit-application-field textarea {
	display: block;

	width: 100% !important;
	max-width: none !important;

	min-height: 46px;

	margin: 0;

	padding: 11px 13px;

	border: 1px solid #d7dddf;
	border-radius: 9px;

	background: var(--holistit-white);
	color: var(--holistit-black);

	box-shadow: none;

	font-family: "Manrope", sans-serif;
	font-size: 13px;
	line-height: 1.4;
}

.holistit-job-application-page .holistit-application-field select {
	padding-right: 34px;
}

.holistit-job-application-page .holistit-application-field textarea {
	min-height: 105px;

	resize: vertical;
}

.holistit-job-application-page .holistit-application-field .form-control:focus,
.holistit-job-application-page .holistit-application-field input:focus,
.holistit-job-application-page .holistit-application-field select:focus,
.holistit-job-application-page .holistit-application-field textarea:focus {
	border-color: #8b979c;

	outline: none;

	box-shadow: 0 0 0 3px rgba(0, 216, 255, 0.08);
}

.holistit-job-application-page .holistit-application-field .help-box,
.holistit-job-application-page .holistit-application-field .help-block,
.holistit-job-application-page .holistit-application-field .description {
	margin-top: 6px;

	color: #8a9397;

	font-size: 11px;
	line-height: 1.5;
}

/* ---------------------------------------------------------
 * Checkbox controls
 * --------------------------------------------------------- */

.holistit-job-application-page .holistit-application-field .checkbox {
	display: flex;

	min-height: 46px;

	align-items: center;

	margin: 0 !important;
	padding: 10px 0;
}

.holistit-job-application-page .holistit-application-field .checkbox label {
	display: flex;
	align-items: flex-start;

	gap: 9px;

	min-height: 0;

	margin: 0 !important;

	color: #434a4d;

	font-size: 12px;
	font-weight: 650;
	line-height: 1.45;

	cursor: pointer;
}

.holistit-job-application-page .holistit-application-field .checkbox input[type="checkbox"] {
	flex: 0 0 auto;

	width: 16px !important;
	height: 16px;

	margin: 1px 0 0;

	accent-color: var(--holistit-black);
}

/* ---------------------------------------------------------
 * Attach field
 * --------------------------------------------------------- */

.holistit-job-application-page .holistit-application-field .attach-input {
	width: 100%;
}

.holistit-job-application-page .holistit-application-field .attach-input .btn,
.holistit-job-application-page .holistit-application-field .btn-attach {
	min-height: 42px;

	padding: 9px 14px;

	border: 1px solid #d7dddf;
	border-radius: 8px;

	background: #f8fafb;
	color: var(--holistit-text);

	font-size: 11px;
	font-weight: 700;
}

/* ---------------------------------------------------------
 * Sticky submit sheet
 * --------------------------------------------------------- */

.holistit-application-sheet {
	position: fixed;

	right: 0;
	bottom: 0;
	left: 0;

	z-index: 1000;

	padding: 0 14px max(10px, env(safe-area-inset-bottom));

	pointer-events: none;
}

.holistit-application-sheet-inner {
	width: min(760px, 100%);

	margin-inline: auto;

	overflow: hidden;

	border: 1px solid #2e363a;
	border-radius: 16px;

	background: rgba(13, 17, 19, 0.98);
	color: var(--holistit-white);

	box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.23);

	backdrop-filter: blur(14px);

	pointer-events: auto;
}

.holistit-application-sheet-bar {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		auto;

	gap: 16px;

	align-items: center;

	padding: 12px 14px;
}

.holistit-application-sheet-copy {
	min-width: 0;
}

.holistit-application-sheet-eyebrow {
	color: #9aa4a9;

	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0.07em;

	text-transform: uppercase;
}

.holistit-application-sheet-title {
	overflow: hidden;

	color: var(--holistit-white);

	font-size: 14px;
	font-weight: 800;

	text-overflow: ellipsis;
	white-space: nowrap;
}

.holistit-application-sheet-rate {
	color: var(--holistit-cyan);
}

.holistit-application-sheet-actions {
	display: flex;
	align-items: center;

	gap: 8px;
}

.holistit-application-submit {
	padding: 10px 13px;

	border: 0;
	border-radius: 9px;

	background: var(--holistit-cyan);
	color: var(--holistit-black);

	font-family: "Manrope", sans-serif;
	font-size: 11px;
	font-weight: 850;
	letter-spacing: 0.05em;

	text-transform: uppercase;

	cursor: pointer;
}

.holistit-application-submit:hover,
.holistit-application-submit:focus {
	background: var(--holistit-white);
}

.holistit-application-sheet-toggle {
	display: grid;

	width: 36px;
	height: 36px;

	place-items: center;

	border: 1px solid #3b4448;
	border-radius: 9px;

	background: transparent;
	color: var(--holistit-white);

	cursor: pointer;

	font-size: 17px;

	transition: transform 180ms ease;
}

.holistit-application-sheet.is-open .holistit-application-sheet-toggle {
	transform: rotate(180deg);
}

.holistit-application-sheet-details {
	max-height: 0;

	overflow: hidden;

	border-top: 0 solid #2e363a;

	transition:
		max-height 220ms ease,
		border-width 220ms ease;
}

.holistit-application-sheet.is-open .holistit-application-sheet-details {
	max-height: 520px;

	border-top-width: 1px;
}

.holistit-application-sheet-grid {
	display: grid;

	grid-template-columns: repeat(3, minmax(0, 1fr));

	padding: 4px 14px 14px;
}

.holistit-application-sheet-detail {
	padding: 12px 14px 12px 0;

	border-bottom: 1px solid #2d3438;
}

.holistit-application-sheet-detail:nth-child(3n + 2),
.holistit-application-sheet-detail:nth-child(3n + 3) {
	padding-left: 14px;

	border-left: 1px solid #2d3438;
}

.holistit-application-sheet-detail small {
	display: block;

	color: #8d989e;

	font-size: 10px;
	font-weight: 700;
}

.holistit-application-sheet-detail strong {
	display: block;

	margin-top: 3px;

	color: var(--holistit-white);

	font-size: 13px;
	font-weight: 700;
}

.holistit-application-sheet-cyan {
	color: var(--holistit-cyan) !important;
}

/* =========================================================
 * TABLET
 * ========================================================= */

@media (max-width: 1000px) {
	.holistit-jobs-content {
		grid-template-columns:
			210px
			minmax(0, 1fr);

		gap: 30px;
	}

	.holistit-job-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 900px) {
	body.holistit-job-page {
		padding-bottom: 78px;
	}

	.holistit-job-layout {
		grid-template-columns: 1fr;
	}

	.holistit-job-sidebar {
		display: none;
	}

	.holistit-job-main {
		padding: 30px;
	}

	.holistit-static-facts {
		display: block;
	}

	.holistit-mobile-sheet {
		display: block;

		position: fixed;

		right: 0;
		bottom: 0;
		left: 0;

		z-index: 100;

		padding: 0 12px max(10px, env(safe-area-inset-bottom));

		pointer-events: none;
	}

	.holistit-mobile-sheet.is-hidden {
		opacity: 0;

		transform: translateY(110%);
	}

	.holistit-mobile-sheet-inner {
		max-width: 620px;

		margin-inline: auto;

		overflow: hidden;

		border: 1px solid var(--holistit-dark-line);
		border-radius: 16px;

		background: rgba(13, 17, 19, 0.98);
		color: var(--holistit-white);

		pointer-events: auto;
	}

	.holistit-mobile-sheet-bar {
		display: grid;

		grid-template-columns:
			minmax(0, 1fr)
			auto;

		gap: 16px;

		align-items: center;

		padding: 12px 14px;
	}

	.holistit-mobile-sheet-primary {
		min-width: 0;
	}

	.holistit-mobile-sheet-eyebrow {
		color: #9aa4a9;

		font-size: 10px;
		font-weight: 750;
		letter-spacing: 0.07em;

		text-transform: uppercase;
	}

	.holistit-mobile-sheet-value {
		overflow: hidden;

		color: var(--holistit-cyan);

		font-size: 14px;
		font-weight: 800;

		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.holistit-mobile-sheet-actions {
		display: flex;
		align-items: center;

		gap: 8px;
	}

	.holistit-mobile-apply {
		padding: 10px 13px;

		border-radius: 9px;

		background: var(--holistit-cyan);
		color: var(--holistit-black);

		font-size: 11px;
		font-weight: 800;

		text-decoration: none;
	}

	.holistit-mobile-toggle {
		display: grid;

		width: 36px;
		height: 36px;

		place-items: center;

		border: 1px solid #3b4448;
		border-radius: 9px;

		background: transparent;
		color: var(--holistit-white);

		font-size: 17px;
	}

	.holistit-mobile-sheet.is-open .holistit-mobile-toggle {
		transform: rotate(180deg);
	}

	.holistit-mobile-sheet-details {
		max-height: 0;

		overflow: hidden;

		border-top: 0 solid var(--holistit-dark-line);
	}

	.holistit-mobile-sheet.is-open .holistit-mobile-sheet-details {
		max-height: 480px;

		border-top-width: 1px;
	}

	.holistit-mobile-sheet-grid {
		display: grid;

		grid-template-columns:
			1fr
			1fr;

		padding: 4px 14px 14px;
	}

	.holistit-mobile-detail {
		padding: 12px 0;

		border-bottom: 1px solid #2d3438;
	}

	.holistit-mobile-detail:nth-child(odd) {
		padding-right: 14px;
	}

	.holistit-mobile-detail:nth-child(even) {
		padding-left: 14px;

		border-left: 1px solid #2d3438;
	}

	.holistit-mobile-detail small {
		display: block;

		color: #8d989e;

		font-size: 10px;
		font-weight: 700;
	}

	.holistit-mobile-detail strong {
		display: block;

		margin-top: 3px;

		color: var(--holistit-white);

		font-size: 13px;
		font-weight: 700;
	}

	.holistit-mobile-detail .holistit-rate {
		color: var(--holistit-cyan);
	}

	.holistit-application-sheet-grid {
		grid-template-columns:
			1fr
			1fr;
	}

	.holistit-application-sheet-detail:nth-child(3n + 2),
	.holistit-application-sheet-detail:nth-child(3n + 3) {
		padding-left: 0;

		border-left: 0;
	}

	.holistit-application-sheet-detail:nth-child(even) {
		padding-left: 14px;

		border-left: 1px solid #2d3438;
	}
}

/* =========================================================
 * JOB LIST MOBILE SWITCH
 * ========================================================= */

@media (max-width: 800px) {
	.holistit-jobs-sidebar {
		display: none;
	}

	.holistit-jobs-content {
		display: block;
	}

	.holistit-jobs-filter-button {
		display: inline-flex;
	}

	.holistit-job-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* =========================================================
 * MOBILE
 * ========================================================= */

@media (max-width: 600px) {
	.holistit-job,
	.holistit-jobs,
	.holistit-job-application-page .web-form-container {
		width: calc(100% - 24px);
	}

	/* Detail */

	.holistit-job-breadcrumb {
		padding-top: 18px;
		margin-bottom: 28px;

		font-size: 12px;
	}

	.holistit-job-breadcrumb span[aria-current="page"] {
		overflow: hidden;

		max-width: 55vw;

		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.holistit-job-hero {
		padding-bottom: 32px;
	}

	.holistit-job-title {
		font-size: clamp(38px, 14vw, 54px);
	}

	.holistit-job-meta {
		display: grid;

		gap: 4px;
	}

	.holistit-job-intro {
		font-size: 15px;
		line-height: 1.7;
	}

	.holistit-job-layout {
		padding-top: 12px;
	}

	.holistit-job-main {
		padding: 22px;
	}

	.holistit-content-section + .holistit-content-section {
		margin-top: 34px;
		padding-top: 30px;
	}

	.holistit-static-facts-grid {
		grid-template-columns:
			1fr
			1fr;
	}

	.holistit-static-fact:nth-child(3n) {
		border-right: 1px solid var(--holistit-line);
	}

	.holistit-static-fact:nth-child(2n) {
		border-right: 0;
	}

	.holistit-mobile-sheet-grid {
		grid-template-columns: 1fr;
	}

	.holistit-mobile-detail:nth-child(odd),
	.holistit-mobile-detail:nth-child(even) {
		padding-right: 0;
		padding-left: 0;

		border-left: 0;
	}

	/* Listing */

	.holistit-jobs {
		padding-bottom: 72px;
	}

	.holistit-jobs-hero {
		padding: 34px 0;
	}

	.holistit-jobs-title {
		font-size: clamp(42px, 13vw, 58px);
	}

	.holistit-jobs-lead {
		margin-top: 18px;

		font-size: 14px;
		line-height: 1.65;
	}

	.holistit-jobs-search-row {
		gap: 8px;

		margin-top: 28px;
	}

	.holistit-jobs-search {
		min-height: 52px;
	}

	.holistit-jobs-search input {
		height: 50px;

		padding: 0 10px;

		font-size: 13px;
	}

	.holistit-jobs-search-icon {
		width: 16px;
		height: 16px;

		margin-left: 14px;
	}

	.holistit-jobs-search-button {
		display: none;
	}

	.holistit-jobs-filter-button {
		min-width: 52px;

		padding: 0 14px;
	}

	.holistit-jobs-filter-button > span:not(.holistit-filter-count) {
		display: none;
	}

	.holistit-sort-button span {
		display: none;
	}

	.holistit-job-grid {
		grid-template-columns: 1fr;

		gap: 14px;
	}

	.holistit-job-card {
		min-height: 280px;
	}

	.holistit-job-card-top {
		padding: 18px 18px 0;
	}

	.holistit-job-card-body {
		padding: 20px 18px 22px;
	}

	.holistit-job-card-title {
		font-size: 23px;
	}

	.holistit-job-card-footer {
		padding: 15px 18px;
	}

	/* Application */

	body.holistit-job-application-page {
		padding-bottom: 150px;
	}

	.holistit-job-application-page .web-form-container {
		padding-top: 18px;
	}

	.holistit-application-breadcrumb {
		margin-bottom: 22px;

		font-size: 12px;
	}

	.holistit-application-hero {
		display: block;

		padding: 24px;
	}

	.holistit-application-hero h1 {
		font-size: 44px;
	}

	.holistit-application-badges {
		margin-top: 20px;
	}

	.holistit-application-intro {
		font-size: 14px;
	}

	.holistit-application-section {
		padding: 26px 22px 30px;
	}

	.holistit-application-section-head {
		gap: 12px;

		margin-bottom: 20px;
	}

	.holistit-application-section-head h2 {
		font-size: 19px;
	}

	.holistit-application-section-fields {
		grid-template-columns: 1fr;

		gap: 18px;
	}

	.holistit-application-field--wide {
		grid-column: auto;
	}

	.holistit-application-sheet {
		padding: 0 10px max(10px, env(safe-area-inset-bottom));
	}

	.holistit-application-sheet-bar {
		gap: 10px;
	}

	.holistit-application-submit {
		padding-inline: 11px;

		font-size: 10px;
	}

	.holistit-application-sheet-grid {
		grid-template-columns: 1fr;
	}

	.holistit-application-sheet-detail,
	.holistit-application-sheet-detail:nth-child(even),
	.holistit-application-sheet-detail:nth-child(3n + 2),
	.holistit-application-sheet-detail:nth-child(3n + 3) {
		padding-right: 0;
		padding-left: 0;

		border-left: 0;
	}
}
