/* Карьерная страница и вакансии. Все правила заперты в .dkHr. */
.dkHr,
.dkHr * { box-sizing: border-box; }

.dkHr {
	background: #fff;
	color: var(--body);
	font-family: var(--font-body);
	font-size: var(--fz-body);
	line-height: var(--lh-body);
	overflow: clip;
}

.dkHr h1,
.dkHr h2,
.dkHr h3,
.dkHr strong,
.dkHr button,
.dkHr .dkHrButton {
	font-family: var(--font-head);
}

.dkHr h1,
.dkHr h2,
.dkHr h3,
.dkHr p { margin-top: 0; }

.dkHr h1,
.dkHr h2,
.dkHr h3 { color: var(--ink); }

.dkHr h1 {
	font-size: var(--fz-h1);
	letter-spacing: var(--tracking-h1);
	line-height: var(--lh-h1);
	margin-bottom: var(--sp-6);
}

.dkHr h2 {
	font-size: var(--fz-h2);
	letter-spacing: -.015em;
	line-height: var(--lh-h2);
	margin-bottom: var(--sp-5);
}

.dkHr h3 {
	font-size: var(--fz-h3);
	line-height: var(--lh-h3);
}

.dkHr a { color: inherit; }

.dkHr__wrap {
	margin-inline: auto;
	max-width: calc(var(--max) + (2 * var(--gutter)));
	padding-inline: var(--gutter);
	width: 100%;
}

.dkHrEyebrow {
	color: var(--cyan);
	font-family: var(--font-head);
	font-size: var(--fz-eyebrow);
	font-weight: 750;
	letter-spacing: var(--tracking-eyebrow);
	line-height: 1.4;
	margin-bottom: var(--sp-4);
	text-transform: uppercase;
}

.dkHrButton {
	align-items: center;
	background: var(--accent);
	border: 0;
	border-radius: var(--r-pill);
	color: #fff !important;
	cursor: pointer;
	display: inline-flex;
	font-size: var(--fz-btn);
	font-style: normal;
	font-weight: 750;
	justify-content: center;
	letter-spacing: .01em;
	min-height: 48px;
	padding: 13px 24px;
	text-decoration: none !important;
	transition: background var(--dur) var(--ease), transform var(--dur) var(--ease);
}

.dkHrButton:hover { background: var(--accent-hover); transform: translateY(-1px); }
.dkHrButton:disabled { cursor: wait; opacity: .7; transform: none; }

.dkHrTextLink,
.dkHrVacancyCard__link {
	color: var(--navy) !important;
	font-family: var(--font-head);
	font-size: var(--fz-btn);
	font-weight: 750;
	text-decoration-thickness: 1px;
	text-underline-offset: 5px;
}

.dkHr :focus-visible {
	outline: 3px solid var(--cyan);
	outline-offset: 3px;
}

.dkHrHero {
	background: #f4f9fd;
	color: var(--body);
	padding-block: 56px 61px;
}

.dkHrHero__grid {
	align-items: center;
	display: grid;
	gap: clamp(44px, 6vw, 82px);
	grid-template-columns: minmax(0, 1fr) minmax(420px, 466px);
}

.dkHrHero__copy { max-width: 560px; }
.dkHrHero h1 { color: var(--ink); font-weight: 750; max-width: 690px; }
.dkHrHero h1 span { display: block; }

.dkHrHero__lead {
	font-size: var(--fz-sub);
	line-height: var(--lh-sub);
	margin-bottom: var(--sp-8);
	max-width: 720px;
}

.dkHrHero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--sp-5);
}

.dkHrHero .dkHrTextLink { color: var(--navy) !important; text-decoration: none; }

.dkHrHero__note {
	align-items: center;
	color: var(--muted);
	display: flex;
	font-size: var(--fz-meta);
	gap: var(--sp-2);
	margin: var(--sp-7) 0 0;
}

.dkHrHero__note span {
    background: url('brand/mark.svg') center / contain no-repeat;
	display: block;
	flex: 0 0 14px;
	height: 14px;
}

.dkHrHero__visual {
	isolation: isolate;
	min-height: 430px;
	position: relative;
}

.dkHrHero__mark {
	height: auto;
	left: -66px;
	top: clamp(-52px, -4vw, -34px);
	width: clamp(132px, 14vw, 196px);
	z-index: -1;
	position: absolute;
	opacity: .13;
}

.dkHrHero__photo {
	aspect-ratio: 1.12;
	background: #e8eef2;
	border-radius: 38px 38px 88px 38px;
	overflow: hidden;
	position: relative;
}

.dkHrHero__photo img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: 58% center;
	width: 100%;
}

.dkHrHero__status {
	background: #fff;
	border-radius: 22px;
	bottom: -52px;
	box-shadow: var(--sh2);
	color: var(--ink);
	display: grid;
	gap: 3px;
	left: -52px;
	max-width: calc(100% - 18px);
	min-width: min(330px, calc(100% - 18px));
	padding: 20px 24px;
	position: absolute;
}

.dkHrHero__status strong { font-size: 16px; line-height: 1.35; }
.dkHrHero__status span { color: var(--body); font-size: var(--fz-meta); }

@media (min-width: 960px) {
	.dkHrHero h1 { font-size: clamp(56px, 4.85vw, 60px); }
}

.dkHrFacts { background: var(--air); border-bottom: 1px solid var(--line); }

.dkHrFacts__grid {
	align-items: stretch;
	display: grid;
	grid-template-columns: 1.35fr repeat(3, 1fr);
}

.dkHrFacts__intro,
.dkHrFact {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	min-height: 150px;
	padding: var(--sp-6);
}

.dkHrFacts__intro {
	color: var(--ink);
	font-family: var(--font-head);
	font-size: 20px;
	font-weight: 700;
	padding-left: 0;
}

.dkHrFact { border-left: 1px solid var(--line); }
.dkHrFact strong { color: var(--navy); font-size: clamp(28px, 4vw, 44px); line-height: 1; }
.dkHrFact span { color: var(--muted); font-size: var(--fz-meta); margin-top: var(--sp-2); }

.dkHrSection { padding-block: var(--section-y); }
.dkHrSection--air { background: var(--air); }

.dkHrSection__head { max-width: 760px; }
.dkHrSection__head > p:last-child { font-size: var(--fz-sub); line-height: var(--lh-sub); margin-bottom: 0; }

.dkHrPrinciples {
	display: grid;
	gap: var(--grid-gap);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--sp-12);
}

.dkHrPrinciples article {
	border-top: 3px solid var(--blue);
	padding: var(--sp-6) var(--sp-2) 0 0;
}

.dkHrPrinciples article > span {
	color: var(--cyan);
	font-family: var(--font-head);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .16em;
}

.dkHrPrinciples h3 { margin: var(--sp-4) 0 var(--sp-3); }
.dkHrPrinciples p { margin-bottom: 0; }

.dkHrEnvironment {
	align-items: start;
	display: grid;
	gap: clamp(32px, 7vw, 96px);
	grid-template-columns: .8fr 1.2fr;
}

.dkHrProofs { list-style: none; margin: 0; padding: 0; }

.dkHrProofs li {
	border-bottom: 1px solid var(--line);
	display: grid;
	gap: var(--sp-3);
	grid-template-columns: minmax(170px, .65fr) 1.35fr;
	padding: var(--sp-5) 0;
}

.dkHrProofs li:first-child { padding-top: 0; }
.dkHrProofs strong { color: var(--ink); font-size: 15px; }

.dkHrVacancies { background: #fff; }
.dkHrTeam { background: var(--tint); }

.dkHrRailHead {
	align-items: end;
	display: flex;
	gap: var(--sp-8);
	justify-content: space-between;
	margin-bottom: var(--sp-10);
}

.dkHrRailControls { display: flex; flex: 0 0 auto; gap: var(--sp-2); }

.dkHrRailControls button {
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 50%;
	color: var(--navy);
	cursor: pointer;
	display: inline-flex;
	font-size: 20px;
	height: 48px;
	justify-content: center;
	transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease);
	width: 48px;
}

.dkHrRailControls button:hover { background: var(--air); border-color: var(--blue); }
.dkHrRailControls button:disabled { cursor: default; opacity: .35; }

.dkHrRail {
	display: grid;
	gap: var(--grid-gap);
	grid-auto-flow: column;
	overflow-x: auto;
	overflow-y: hidden;
	overscroll-behavior-inline: contain;
	padding: 4px 4px var(--sp-5);
	scroll-behavior: smooth;
	scroll-snap-type: inline mandatory;
	scrollbar-color: var(--blue) var(--air);
	-webkit-overflow-scrolling: touch;
}

.dkHrRail--vacancies { grid-auto-columns: minmax(330px, calc((100% - (2 * var(--grid-gap))) / 3)); }
.dkHrRail--doctors { grid-auto-columns: minmax(330px, calc((100% - (2 * var(--grid-gap))) / 3)); }

.dkHrVacancyCard {
	background: #fff;
	border: 1px solid var(--line);
	box-shadow: var(--sh1);
	display: flex;
	flex-direction: column;
	min-height: 430px;
	padding: clamp(24px, 3vw, 34px);
	scroll-snap-align: start;
}

.dkHrVacancyCard__eyebrow {
	color: var(--cyan);
	font-family: var(--font-head);
	font-size: 11px;
	font-weight: 750;
	letter-spacing: .16em;
	margin-bottom: var(--sp-4);
	text-transform: uppercase;
}

.dkHrVacancyCard__title { font-size: clamp(21px, 2.4vw, 27px) !important; margin-bottom: var(--sp-4); }
.dkHrVacancyCard__title a { text-decoration: none; }
.dkHrVacancyCard__title a:hover { color: var(--navy); }
.dkHrVacancyCard__summary { margin-bottom: var(--sp-6); }

.dkHrVacancyCard__facts { border-top: 1px solid var(--line); list-style: none; margin: auto 0 var(--sp-6); padding: var(--sp-4) 0 0; }
.dkHrVacancyCard__facts li { align-items: baseline; display: flex; gap: var(--sp-3); justify-content: space-between; padding-block: 5px; }
.dkHrVacancyCard__facts span { color: var(--muted); font-size: var(--fz-meta); }
.dkHrVacancyCard__facts strong { color: var(--ink); font-size: 13px; text-align: right; }
.dkHrVacancyCard__link { margin-top: auto; }

.dkHrTeam .dkA__card {
	height: 100%;
	min-width: 0;
	scroll-snap-align: start;
}

.dkHrTeam .dkA__photo { aspect-ratio: 7 / 6; }
.dkHrTeam .dkA__photo img { object-position: 50% 6%; }
.dkHrTeam .dkA__nameLink { color: var(--ink); text-decoration: none; }
.dkHrTeam .dkA__proof,
.dkHrTeam .dkA__moreHead { color: var(--navy); }
.dkHrTeam .dkA__more > summary { min-height: 44px; }
.dkHrTeam .dkA__cta,
.dkHrTeam .dkA__cta:hover { color: #fff; }

.dkHrReserve { background: var(--navy); color: rgba(255,255,255,.78); }
.dkHrReserve h2 { color: #fff; }

.dkHrReserve__grid {
	align-items: start;
	display: grid;
	gap: clamp(40px, 7vw, 90px);
	grid-template-columns: .9fr 1.1fr;
}

.dkHrReserve__copy > p { font-size: var(--fz-sub); line-height: var(--lh-sub); }
.dkHrReserve__copy ul { list-style: none; margin: var(--sp-8) 0 0; padding: 0; }
.dkHrReserve__copy li { border-top: 1px solid rgba(255,255,255,.16); padding: var(--sp-3) 0 var(--sp-3) 28px; position: relative; }
.dkHrReserve__copy li::before { color: var(--blue); content: '✓'; font-weight: 800; left: 0; position: absolute; }

.dkHrFormPanel { background: #fff; border-radius: var(--r-xl); box-shadow: var(--sh2); color: var(--body); padding: clamp(24px, 4vw, 42px); }
.dkHrFormPanel__title { font-size: clamp(22px, 2.7vw, 30px) !important; margin-bottom: var(--sp-3); }
.dkHrFormPanel__lead { margin-bottom: var(--sp-6); }
.dkHrForm { display: grid; gap: var(--sp-4); }
.dkHrForm__field { display: grid; gap: var(--sp-2); }
.dkHrForm__field > span { color: var(--ink); font-size: var(--fz-meta); font-weight: 700; }
.dkHrForm__field em { color: var(--muted); font-style: normal; font-weight: 400; }

.dkHrForm__field input {
	appearance: none;
	background: var(--air);
	border: 1px solid var(--line);
	border-radius: var(--r-md);
	color: var(--ink);
	font: inherit;
	min-height: 52px;
	padding: 13px 15px;
	width: 100%;
}

.dkHrForm__field input:focus { background: #fff; border-color: var(--cyan); outline: 0; }
.dkHrForm__consent { align-items: start; display: grid; font-size: 12px; gap: var(--sp-3); grid-template-columns: 20px 1fr; line-height: 1.45; }
.dkHrForm__consent input { height: 20px; margin: 1px 0 0; width: 20px; }
.dkHrForm__consent a { color: var(--navy); }
.dkHrForm__submit { justify-self: start; margin-top: var(--sp-2); }
.dkHrForm__note { color: var(--muted); font-size: 12px; margin: 0; }
.dkHrForm__hp { height: 0; left: -9999px; overflow: hidden; position: absolute; width: 0; }
.dkHrForm__done { background: var(--air); border-left: 3px solid #27a96d; padding: var(--sp-5); }
.dkHrForm__done strong { color: var(--ink); }
.dkHrForm__done p { margin: var(--sp-2) 0 0; }
.dkHrForm__error { color: #a53030; font-size: 13px; margin: 0; }
.dkHrFormPanel__alt { border-top: 1px solid var(--line); font-size: 13px; margin: var(--sp-6) 0 0; padding-top: var(--sp-4); }
.dkHrFormPanel__alt a { color: var(--navy); font-family: var(--font-head); font-weight: 750; }

.dkHrArchive__hero,
.dkHrVacancy__hero {
	background: var(--air);
	border-bottom: 1px solid var(--line);
	padding-block: clamp(56px, 8vw, 96px);
}

.dkHrArchive__hero p:not(.dkHrEyebrow) { font-size: var(--fz-sub); max-width: 720px; }
.dkHrVacancyGrid { display: grid; gap: var(--grid-gap); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dkHrEmpty { background: var(--air); border: 1px solid var(--line); max-width: 780px; padding: clamp(28px, 5vw, 56px); }

.dkHrBreadcrumbs { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: 13px; gap: var(--sp-2); margin-bottom: var(--sp-10); }
.dkHrBreadcrumbs a { color: var(--navy); }
.dkHrVacancy__hero h1 { max-width: 900px; }
.dkHrVacancy__lead { font-size: var(--fz-sub); line-height: var(--lh-sub); max-width: 780px; }
.dkHrVacancy__salary { color: var(--navy); font-family: var(--font-head); font-size: clamp(21px, 3vw, 30px); font-weight: 750; margin: var(--sp-6) 0; }
.dkHrVacancy__actions { align-items: center; display: flex; flex-wrap: wrap; gap: var(--sp-5); }

.dkHrVacancy__facts { background: #fff; border-bottom: 1px solid var(--line); }
.dkHrVacancy__facts dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.dkHrVacancy__facts dl > div { border-right: 1px solid var(--line); min-height: 124px; padding: var(--sp-6); }
.dkHrVacancy__facts dl > div:nth-child(3n) { border-right: 0; }
.dkHrVacancy__facts dt { color: var(--muted); font-size: 12px; margin-bottom: var(--sp-2); }
.dkHrVacancy__facts dd { color: var(--ink); font-family: var(--font-head); font-size: 15px; font-weight: 700; margin: 0; }

.dkHrVacancy__content { align-items: start; display: grid; gap: clamp(40px, 7vw, 90px); grid-template-columns: minmax(0, 1fr) minmax(320px, 430px); }
.dkHrVacancy__body { max-width: 760px; }
.dkHrVacancy__editor { font-size: 18px; margin-bottom: var(--sp-10); }
.dkHrVacancy__section { border-top: 1px solid var(--line); padding: var(--sp-8) 0; }
.dkHrVacancy__section:first-child { border-top: 0; padding-top: 0; }
.dkHrVacancy__section h2 { font-size: clamp(24px, 3vw, 32px); }
.dkHrVacancy__section ul { list-style: none; margin: 0; padding: 0; }
.dkHrVacancy__section li { margin: 0 0 var(--sp-3); padding-left: 28px; position: relative; }
.dkHrVacancy__section li::before { color: var(--cyan); content: '—'; font-weight: 800; left: 0; position: absolute; }
.dkHrVacancy__aside { position: sticky; top: 24px; }

@media (max-width: 959px) {
	.dkHrHero__grid,
	.dkHrEnvironment,
	.dkHrReserve__grid,
	.dkHrVacancy__content { grid-template-columns: 1fr; }

	.dkHrHero__grid { gap: var(--sp-12); }
	.dkHrHero h1 span { display: inline; }
	.dkHrHero__visual { min-height: 0; }
	.dkHrHero__status { left: var(--sp-5); }
	.dkHrFacts__grid { grid-template-columns: repeat(3, 1fr); }
	.dkHrFacts__intro { grid-column: 1 / -1; min-height: 96px; padding-left: 0; }
	.dkHrPrinciples { grid-template-columns: 1fr; }
	.dkHrProofs li { grid-template-columns: 1fr; }
	.dkHrRail--vacancies { grid-auto-columns: minmax(310px, 65%); }
	.dkHrRail--doctors { grid-auto-columns: minmax(320px, 58%); }
	.dkHrVacancyGrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.dkHrVacancy__aside { position: static; }
}

@media (max-width: 640px) {
	.dkHrHero { padding-block: 48px 92px; }
	.dkHrHero__grid { gap: var(--sp-10); }
	.dkHrHero__photo { aspect-ratio: 1.08; border-radius: 26px 26px 62px 26px; }
	.dkHrHero__mark { left: -34px; top: -34px; width: 112px; }
	.dkHrHero__status { bottom: -58px; left: 12px; max-width: calc(100% - 24px); min-width: 0; padding: 16px 18px; width: calc(100% - 24px); }
	.dkHrFacts__grid { grid-template-columns: 1fr 1fr; }
	.dkHrFacts__intro { grid-column: 1 / -1; }
	.dkHrFact { border-top: 1px solid var(--line); min-height: 120px; padding: var(--sp-5) var(--sp-3); }
	.dkHrFact:nth-of-type(odd) { border-left: 0; }
	.dkHrRailHead { align-items: start; margin-bottom: var(--sp-8); }
	.dkHrRailControls { display: none; }
	.dkHrRail { margin-right: calc(-1 * var(--gutter)); padding-right: var(--gutter); }
	.dkHrRail--vacancies { grid-auto-columns: minmax(278px, 86vw); }
	.dkHrRail--doctors { grid-auto-columns: minmax(280px, 82vw); }
	.dkHrVacancyCard { min-height: 400px; }
	.dkHrVacancyGrid { grid-template-columns: 1fr; }
	.dkHrVacancy__facts dl { grid-template-columns: 1fr 1fr; }
	.dkHrVacancy__facts dl > div,
	.dkHrVacancy__facts dl > div:nth-child(3n) { border-bottom: 1px solid var(--line); border-right: 1px solid var(--line); min-height: 106px; padding: var(--sp-4); }
	.dkHrVacancy__facts dl > div:nth-child(2n) { border-right: 0; }
	.dkHrVacancy__facts dl > div:nth-last-child(-n+2) { border-bottom: 0; }
	.dkHrFormPanel { border-radius: var(--r-lg); }
	.dkHrForm__submit { justify-self: stretch; width: 100%; }
}

@media (max-width: 380px) {
	.dkHrRail--vacancies { grid-auto-columns: calc(100vw - 48px); }
	.dkHrRail--doctors { grid-auto-columns: calc(100vw - 48px); }
	.dkHrVacancy__facts dl { grid-template-columns: 1fr; }
	.dkHrVacancy__facts dl > div,
	.dkHrVacancy__facts dl > div:nth-child(2n),
	.dkHrVacancy__facts dl > div:nth-child(3n) { border-bottom: 1px solid var(--line); border-right: 0; }
	.dkHrVacancy__facts dl > div:last-child { border-bottom: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.dkHrRail { scroll-behavior: auto; }
	.dkHrButton { transition: none; }
}
