/* Вакансии: расширение уже подключённых токенов rate.css. */
.vacancy-hero { overflow: hidden; }
.vacancy-hero__layout { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(260px, .65fr); gap: clamp(28px, 6vw, 88px); align-items: center; }
.vacancy-hero__art { max-width: 490px; justify-self: end; width: 100%; }
.vacancy-hero__art picture, .vacancy-card__art picture, .vacancy-company__art picture { display: block; }
.vacancy-hero__art img, .vacancy-card__art img, .vacancy-company__art img { display: block; width: 100%; height: auto; }
.vacancy-section { overflow: hidden; }
.site-page-vacancy-card.vacancy-card { position: relative; overflow: hidden; padding-top: clamp(20px, 2.6vw, 30px); }
.vacancy-card__art { width: min(100%, 220px); aspect-ratio: 16 / 10; margin: -16px auto 12px; }
.vacancy-card__art img { height: 100%; object-fit: contain; }
.vacancy-card--technical .vacancy-card__art { width: min(100%, 230px); }
.site-page-vacancy-card:last-child { grid-column: auto; }
.site-page-vacancy-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.site-page-vacancy-head { margin-bottom: 17px; }
.site-page-vacancy-columns { grid-template-columns: 1fr; gap: 17px; }
.site-page-vacancy-conditions { margin: 20px 0; }
.site-page-vacancy-action { border: 0; cursor: pointer; font-family: inherit; }
.site-page-vacancy-action:focus-visible, .job-dialog__close:focus-visible { outline: 3px solid rgba(25, 85, 246, .35); outline-offset: 3px; }
.vacancy-company { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr); gap: clamp(24px, 5vw, 72px); align-items: center; margin-top: clamp(32px, 5vw, 64px); padding: clamp(24px, 4vw, 54px); border: 1px solid var(--mk-rate-color-border); border-radius: var(--mk-rate-radius-panel); background: var(--mk-rate-color-surface); box-shadow: var(--mk-rate-shadow-card); }
.vacancy-company .site-page-kicker { margin-bottom: 10px; }
.vacancy-company h2 { margin: 0; color: #0B1530; font-family: "Onest", -apple-system, BlinkMacSystemFont, "Inter", sans-serif; font-size: clamp(25px, 3.4vw, 42px); font-weight: 800; letter-spacing: -.025em; line-height: 1.12; text-wrap: balance; }
.vacancy-company p:not(.site-page-kicker) { max-width: 590px; margin: 15px 0 0; color: #4A5575; font-size: 16px; line-height: 1.58; text-wrap: pretty; }
.vacancy-company ul { display: grid; gap: 9px; margin: 22px 0 0; padding: 0; list-style: none; color: #273653; font-size: 14px; font-weight: 650; }
.vacancy-company li { display: flex; gap: 9px; align-items: flex-start; }
.vacancy-company li::before { content: ""; width: 8px; height: 8px; flex: none; margin-top: .43em; border-radius: 50%; background: var(--brand); }
.vacancy-company__art { max-width: 500px; width: 100%; justify-self: end; }
.vacancy-company__art img { border-radius: var(--mk-rate-radius-card); }
.job-dialog { width: min(100% - 32px, 640px); max-height: min(90dvh, 780px); padding: 0; border: 0; border-radius: 24px; background: transparent; color: #0B1530; box-shadow: 0 24px 80px rgba(11, 21, 48, .32); }
.job-dialog::backdrop { background: rgba(11, 21, 48, .62); backdrop-filter: blur(3px); }
.job-dialog__card { position: relative; overflow: auto; max-height: min(90dvh, 780px); padding: clamp(28px, 5vw, 48px); border-radius: inherit; background: #fff; }
.job-dialog__close { position: absolute; top: 15px; right: 17px; display: grid; width: 38px; height: 38px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #0B1530; cursor: pointer; font-size: 35px; font-weight: 300; line-height: 1; }
.job-dialog__close:hover { background: #F1F4FA; }
.job-form__eyebrow { margin: 0 0 6px; color: var(--brand); font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.job-form h2 { max-width: 440px; margin: 0; padding-right: 36px; font-family: "Onest", -apple-system, BlinkMacSystemFont, "Inter", sans-serif; font-size: clamp(28px, 4.3vw, 42px); font-weight: 800; letter-spacing: -.03em; line-height: 1.1; text-wrap: balance; }
.job-form__lead { margin: 10px 0 0; color: #4A5575; font-size: 16px; line-height: 1.45; }
.job-form__fields { display: grid; gap: 18px; margin-top: 29px; }
.job-form__grid { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 14px; }
.job-form__field { min-width: 0; }
.job-form__field label { display: block; margin-bottom: 7px; color: #0B1530; font-size: 14px; font-weight: 700; line-height: 1.35; }
.job-form__field label span { color: var(--brand); }
.job-form__field input { width: 100%; min-height: 48px; padding: 11px 13px; border: 1px solid #DDE5F1; border-radius: 12px; outline: 0; background: #fff; color: #0B1530; font: inherit; font-size: 16px; transition: border-color .15s var(--ease), box-shadow .15s var(--ease); }
.job-form__field input:hover { border-color: #B4C4E0; }
.job-form__field input:focus { border-color: var(--brand); box-shadow: 0 0 0 3px rgba(25, 85, 246, .16); }
.job-form__field input[aria-invalid="true"] { border-color: #C62A47; }
.job-form__error { min-height: 1.2em; margin: 5px 0 0; color: #B51F3B; font-size: 12px; line-height: 1.35; }
.job-form__status { min-height: 1.35em; margin: 15px 0 0; color: #B51F3B; font-size: 14px; line-height: 1.4; }
.job-form__submit { width: 100%; min-height: 52px; margin-top: 4px; border: 0; cursor: pointer; font-family: inherit; }
.job-form__submit:disabled { cursor: wait; opacity: .68; }
.job-form__privacy { margin: 15px 0 0; color: #6B7891; font-size: 12px; line-height: 1.45; }
.job-form__privacy a { color: inherit; text-underline-offset: 2px; }
.job-form__honeypot { position: absolute; overflow: hidden; width: 1px; height: 1px; clip: rect(0, 0, 0, 0); clip-path: inset(50%); white-space: nowrap; }
.job-form__success { padding: 30px 8px 8px; text-align: center; }
.job-form__success > span { display: inline-grid; width: 52px; height: 52px; place-items: center; border-radius: 50%; background: #E8FAF7; color: #007E68; font-size: 28px; font-weight: 800; }
.job-form__success h2 { margin: 18px auto 0; padding: 0; }
.job-form__success p { max-width: 370px; margin: 12px auto 22px; color: #4A5575; font-size: 15px; line-height: 1.55; }
.job-form__success .btn-secondary { width: auto; min-height: 44px; padding: 12px 18px; border: 0; cursor: pointer; font-family: inherit; }
@media (max-width: 1100px) { .site-page-vacancy-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .site-page-vacancy-card:last-child { grid-column: 1 / -1; } .site-page-vacancy-card:last-child .vacancy-card__art { width: min(100%, 265px); } }
@media (max-width: 760px) { .vacancy-hero__layout, .vacancy-company { grid-template-columns: 1fr; } .vacancy-hero__art, .vacancy-company__art { justify-self: start; max-width: 320px; } .vacancy-company { border-radius: 20px; } }
@media (max-width: 700px) { .site-page-vacancy-grid { grid-template-columns: 1fr; } .site-page-vacancy-card:last-child { grid-column: auto; } .job-dialog { width: min(100% - 20px, 640px); border-radius: 18px; } .job-dialog__card { padding: 32px 20px 24px; border-radius: inherit; } .job-form__grid { grid-template-columns: 1fr; gap: 18px; } }
@media (prefers-reduced-motion: reduce) { .job-form__field input { transition: none; } .job-dialog::backdrop { backdrop-filter: none; } }
