@font-face {
    font-family: Vacancy Inter;
    src: url('webpack/src/assets/fonts/Inter/Inter-VariableFont_slnt,wght.ttf') format('truetype');
    font-weight: 100 900;
    font-display: swap;
}

.vacancy-page {
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    --vacancy-header-height: clamp(64px, 4.375vw, 84px);
    --vacancy-ink: #212121;
    --vacancy-muted: #707683;
    --vacancy-blue: #0489e0;
    --vacancy-pale: #e9f0ff;
    --vacancy-radius: clamp(18px, 1.5625vw, 30px);
    --vacancy-gap: clamp(16px, 1.25vw, 24px);
    --vacancy-space: clamp(56px, 6.1vw, 117px);
    --vacancy-gradient: linear-gradient(104deg, #9d4df6 6%, #00befd 98%);
    --vacancy-wash: linear-gradient(119deg, #869bf1 12%, #f5efff 52%, #dff1ff 92%);
    --vacancy-join-background: linear-gradient(124.52deg, #869bf1 .8%, #f5efff 50.4%, #dff1ff 100%);
    --vacancy-join-top-space: clamp(22px, 1.6vw, 31px);
    color: var(--vacancy-ink);
    background: #fff;
    font: 400 clamp(15px, 1.04vw, 20px)/1.4 Vacancy Inter, Inter, Arial, sans-serif;
}

.vacancy-page a { color: inherit; text-decoration: none; }
.vacancy-page img { display: block; max-width: 100%; }
.vacancy-page h1, .vacancy-page h2, .vacancy-page h3, .vacancy-page p { margin: 0; }
.vacancy-page h1, .vacancy-page h2, .vacancy-page h3 { font-family: inherit; color: inherit; }
.vacancy-page h2 { font-size: clamp(30px, 3.125vw, 60px); font-weight: 600; line-height: 1.15; }
.vacancy-page h3 { font-size: clamp(19px, 1.51vw, 29px); font-weight: 600; line-height: 1.18; }
.vacancy-page h2 span { color: var(--vacancy-blue); }
.vacancy-main { flex: 1 0 auto; overflow: clip; }
.vacancy-wrap { width: min(1440px, calc(100% - 2 * clamp(16px, 3vw, 48px))); margin-inline: auto; }

.vacancy-page .vacancy-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    min-height: 74px;
    max-width: 100%;
    padding: 15px clamp(16px, calc((100vw - 300px) / 2), 34px);
    border: 0;
    border-radius: 14px;
    background: var(--vacancy-blue);
    color: #fff;
    font-family: inherit;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2;
    transition: background-color .2s ease-in-out;
    cursor: pointer;
}
.vacancy-page .vacancy-button:hover { background: #009bff; color: #fff; }
.vacancy-page :focus-visible { outline: 2px solid #0868a6; outline-offset: 4px; }

.vacancy-page .vacancy-header {
    position: fixed;
    inset: 0 0 auto;
    z-index: 5;
    height: var(--vacancy-header-height);
    opacity: 1;
    background: #fff;
    border-bottom: 1px solid #eaeff3;
    color: var(--vacancy-ink);
}
.vacancy-page .vacancy-header.header_fixed {
    background: rgba(234, 239, 243, .6);
    box-shadow: 0 16px 34px #512d8e1a;
    backdrop-filter: blur(24px);
}
.vacancy-page .vacancy-header.transparent {
    transform: none;
}
.vacancy-header__inner {
    width: min(91%, 1740px);
    height: 100%;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.667vw, 32px);
}
.vacancy-logo { display: inline-flex; align-items: center; flex: none; }
.vacancy-logo img { width: 119px; height: auto; }
.vacancy-footer__brand .vacancy-logo img { width: 144px; opacity: .55; }
.vacancy-header__nav {
    display: flex;
    align-items: center;
    gap: clamp(14px, 1.667vw, 32px);
    margin-left: auto;
    font-size: clamp(13px, .84vw, 16px);
}
.vacancy-header__links, .vacancy-footer__links { margin: 0; padding: 0; list-style: none; }
.vacancy-header__nav .vacancy-header__links { display: flex; align-items: center; gap: inherit; }
.vacancy-page .vacancy-header__phone { color: var(--vacancy-blue); font-weight: 600; white-space: nowrap; }
.vacancy-header__nav a, .vacancy-header__menu nav a, .vacancy-footer__nav a, .vacancy-breadcrumb a { transition: color .2s ease-in-out; }
.vacancy-header__nav a:hover, .vacancy-header__menu nav a:hover, .vacancy-footer__nav a:hover, .vacancy-breadcrumb a:hover { color: var(--vacancy-blue); text-decoration: none; }
.vacancy-page .vacancy-header__login { min-height: 46px; padding: 8px clamp(14px, 1.25vw, 24px); border-radius: 10px; font-size: 16px; font-weight: 400; gap: 8px; }
.vacancy-header__menu { display: none; }
.vacancy-header__menu summary { list-style: none; cursor: pointer; padding: 8px; }

.vacancy-hero, .vacancy-thanks { position: relative; background: var(--vacancy-wash); }
.vacancy-hero { overflow: hidden; min-height: clamp(604px, 51.5625vw, 990px); text-align: center; }
.vacancy-hero__content, .vacancy-join__content { position: relative; z-index: 1; }
.vacancy-hero__content { padding: calc(var(--vacancy-header-height) + clamp(20px, 2vw, 38px)) 0 clamp(110px, 10.5vw, 202px); }
.vacancy-breadcrumb { display: flex; align-items: center; justify-content: center; gap: 14px; font-size: clamp(14px, .94vw, 18px); line-height: 1.22; }
.vacancy-hero h1 {
    font-size: clamp(42px, 4.895vw, 94px);
    max-width: 12.7em;
    margin: clamp(46px, 5.73vw, 110px) auto 0;
    font-weight: 700;
    line-height: clamp(38px, 3.95833vw, 76px);
    white-space: pre-line;
    overflow-wrap: anywhere;
}
.vacancy-hero p, .vacancy-join p, .vacancy-thanks p { max-width: 39.5em; margin: 22px auto 0; }
.vacancy-hero p { margin-top: clamp(20px, 1.875vw, 36px); line-height: 1.2; }
.vacancy-hero .vacancy-button, .vacancy-join .vacancy-button, .vacancy-thanks .vacancy-button { margin-top: clamp(22px, 1.875vw, 36px); }
.vacancy-hero__photo, .vacancy-hero__dot, .vacancy-hero__star,
.vacancy-perks__photo, .vacancy-join__photo, .vacancy-join__star, .vacancy-join__dot {
    position: absolute;
    pointer-events: none;
}
.vacancy-hero img:is(.vacancy-hero__photo, .vacancy-hero__dot, .vacancy-hero__star) { max-width: none; }
.vacancy-perks__photo img, .vacancy-join__photo img { width: 100%; }
.vacancy-hero__photo--expo { width: min(33.2377%, 638.16px); left: -1.15%; top: -1.36%; }
.vacancy-hero__photo--desk { width: min(14.9333%, 286.72px); left: 3.9116%; top: 44.77%; transform: rotate(-9.85deg); }
.vacancy-hero__photo--award { width: min(16.2966%, 312.9px); right: -1.062%; top: 19.04%; transform: rotate(14.65deg); }
.vacancy-hero__photo--team { width: min(44.6417%, 857.12px); right: -.8854%; bottom: -.909%; }
.vacancy-hero__dot { width: min(3.0208%, 58px); left: 16.0938%; top: 46.16%; }
.vacancy-hero__star { width: min(4.3635%, 83.78px); right: 5.1406%; bottom: 35.15%; transform: rotate(-7.82deg); }

.vacancy-section { padding-block-start: var(--vacancy-space); }
.vacancy-section--flush-top { padding-block-start: 0; }
.vacancy-main:has(> .vacancy-block:first-child) { padding-block-start: var(--vacancy-header-height); }
.vacancy-block[id], .vacancy-block > [id], .vacancy-hero { scroll-margin-top: var(--vacancy-header-height); }
.vacancy-block--pale { background: var(--vacancy-pale); padding-block-end: var(--vacancy-space); }
.vacancy-block--pale:has(+ .vacancy-block--pale) { padding-block-end: 0; }
.vacancy-block:not(.vacancy-block--pale):has(+ .vacancy-block--pale) { padding-block-end: var(--vacancy-space); }
.vacancy-block:last-child:not(.vacancy-block--pale, .vacancy-block--faq, .vacancy-block--join-team) { padding-block-end: var(--vacancy-space); }
.vacancy-block--about + .vacancy-block--stats > .vacancy-section { padding-block-start: clamp(25px, 2.86vw, 55px); }
.vacancy-block--roles + .vacancy-block--hr-contact > .vacancy-section { padding-block-start: clamp(20px, 1.66vw, 32px); }
.vacancy-intro { margin-top: clamp(13px, 1.05vw, 20px) !important; }
.vacancy-grid { display: grid; gap: var(--vacancy-gap); margin-top: clamp(25px, 3.125vw, 60px); }
.vacancy-grid--products, .vacancy-grid--reasons { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.vacancy-grid--steps, .vacancy-grid--roles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.vacancy-card { min-width: 0; padding: var(--vacancy-gap); border-radius: var(--vacancy-radius); }
.vacancy-card p { margin-top: 9px; font-size: clamp(14px, .94vw, 18px); line-height: 1.24; }
.vacancy-card--product {
    display: flex;
    justify-content: space-between;
    gap: clamp(8px, 1.3021vw, 25px);
    min-height: clamp(142px, 11.72vw, 225px);
    background: #f3f7ff;
}
.vacancy-card--product > div { min-width: 0; }
.vacancy-card__art { position: relative; flex: none; align-self: flex-end; overflow: hidden; }
.vacancy-card__art img {
    position: absolute;
    max-width: none;
    width: var(--art-width);
    height: var(--art-height);
    left: var(--art-x);
    top: var(--art-y);
}
.vacancy-card--product .vacancy-card__art { width: min(42.36%, 175.855px); aspect-ratio: 175.855 / 162; transform: scaleX(-1); }
.vacancy-card--product:nth-child(1) { --art-width: 133.07%; --art-height: 133.28%; --art-x: -17.2%; --art-y: -11.84%; }
.vacancy-card--product:nth-child(2) { --art-width: 106.5%; --art-height: 106.67%; --art-x: -3.64%; --art-y: -1.26%; }
.vacancy-card--product:nth-child(3) { --art-width: 110.98%; --art-height: 111.15%; --art-x: -7.04%; --art-y: 0%; }
.vacancy-card--product:nth-child(4) { --art-width: 115.25%; --art-height: 125.1%; --art-x: -10.3%; --art-y: -12.78%; }
.vacancy-card--product:nth-child(5) { --art-width: 115.54%; --art-height: 115.72%; --art-x: -12.11%; --art-y: -5.26%; }
.vacancy-card--product:nth-child(6) { --art-width: 116.17%; --art-height: 116.35%; --art-x: -8.29%; --art-y: -4.51%; }
.vacancy-card--product p { color: var(--vacancy-muted); }

.vacancy-stats {
    display: grid;
    gap: var(--vacancy-gap);
}
.vacancy-stats--with-event { grid-template-columns: 2.052fr 1fr; grid-template-rows: auto 1fr; }
.vacancy-stats > img { width: 100%; height: 100%; object-fit: cover; border-radius: var(--vacancy-radius); }
.vacancy-stats > .vacancy-stats__team { height: auto; aspect-ratio: 952 / 464; object-position: center 66.34%; }
.vacancy-stats > .vacancy-stats__party { height: auto; }
.vacancy-stats--with-event > .vacancy-stats__party { grid-area: 1 / 2 / 3 / 3; height: 100%; contain: size; }
.vacancy-stats__copy {
    display: flex;
    align-items: center;
    gap: clamp(16px, 3.125vw, 60px);
    padding: clamp(22px, 2.08vw, 40px);
    min-height: clamp(125px, 12.7083vw, 244px);
    border-radius: var(--vacancy-radius);
    background: var(--vacancy-gradient);
    color: white;
}
.vacancy-stats__copy strong { font-size: clamp(46px, 4.68vw, 90px); line-height: 1; font-weight: 900; }

.vacancy-card--reason, .vacancy-card--step { background: var(--vacancy-pale); }
.vacancy-block--pale :is(.vacancy-card--reason, .vacancy-card--step) { background: #fff; }
.vacancy-card--reason {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: clamp(14px, 2vw, 38px);
    min-height: clamp(250px, 21.5vw, 413px);
}
.vacancy-card--reason:nth-child(-n+3) { min-height: clamp(265px, 24.8vw, 476px); }
.vacancy-card--reason .vacancy-card__art { width: min(48.1%, 199.74px); aspect-ratio: 199.74 / 184; }
.vacancy-card--reason:nth-child(1) { --art-width: 124.97%; --art-height: 125.17%; --art-x: -9.49%; --art-y: -11.84%; }
.vacancy-card--reason:nth-child(2) { --art-width: 118.05%; --art-height: 118.23%; --art-x: -7.95%; --art-y: -4.85%; }
.vacancy-card--reason:nth-child(3) { --art-width: 119.29%; --art-height: 119.47%; --art-x: -8%; --art-y: -5.68%; }
.vacancy-card--reason:nth-child(4) { --art-width: 122.26%; --art-height: 122.45%; --art-x: -11.08%; --art-y: -7.61%; }
.vacancy-card--reason:nth-child(5) { --art-width: 119.91%; --art-height: 120.1%; --art-x: -10.62%; --art-y: -5.25%; }
.vacancy-card--reason:nth-child(6) { --art-width: 113.4%; --art-height: 113.58%; --art-x: -7.21%; --art-y: 0%; }
.vacancy-card--reason:nth-child(6) .vacancy-card__art { transform: scaleX(-1); }
.vacancy-grid--steps {
    --vacancy-step-number-size: clamp(40px, 3.125vw, 60px);
    padding: 0;
    list-style: none;
}
.vacancy-card--step { position: relative; display: flex; flex-direction: column; gap: clamp(24px, 5.5vw, 106px); }
.vacancy-card--step:not(:last-child)::after {
    position: absolute;
    content: '';
    top: calc(var(--vacancy-gap) + var(--vacancy-step-number-size) / 2);
    left: calc(var(--vacancy-gap) + var(--vacancy-step-number-size));
    width: calc(100% + var(--vacancy-gap) - var(--vacancy-step-number-size));
    border-top: 3px solid var(--vacancy-blue);
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 1;
}
.vacancy-card--step span {
    z-index: 1;
    display: grid;
    place-items: center;
    width: var(--vacancy-step-number-size);
    aspect-ratio: 1;
    border-radius: 50%;
    background: var(--vacancy-blue);
    color: #fff;
    font-weight: 600;
}

.vacancy-perks {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: clamp(42px, 3.65vw, 70px) 0;
    min-height: clamp(385px, 35.47vw, 681px);
    border-radius: var(--vacancy-radius);
    background: var(--vacancy-gradient);
    color: white;
    text-align: center;
}
.vacancy-perks > h2, .vacancy-perks > p, .vacancy-perks__list { position: relative; z-index: 1; }
.vacancy-perks > p, .vacancy-perks__list { width: 49%; }
.vacancy-perks > p { margin-top: 18px; }
.vacancy-perks__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--vacancy-gap);
    padding: 0;
    margin: clamp(24px, 3.54vw, 68px) 0 0;
    text-align: left;
    list-style: none;
}
.vacancy-perks__list li { display: flex; align-items: flex-start; gap: 10px; font-size: clamp(14px, .94vw, 18px); }
.vacancy-perks__list img { flex: none; }
.vacancy-perks__photo--star { width: 33.525%; left: -12.75%; top: -27.08%; transform: rotate(-7.82deg); }
.vacancy-perks__photo--photo { width: 21.597%; left: -2.61%; top: 46.61%; transform: rotate(-17.99deg); }
.vacancy-perks__photo--pumpkins { width: 27.36%; left: 86.32%; top: -2.35%; }
.vacancy-perks__photo--team { width: 26.76%; left: 73.65%; bottom: -8.48%; transform: rotate(15.23deg); }

.vacancy-card--role {
    display: flex;
    flex-direction: column;
    min-height: clamp(235px, 26.8vw, 515px);
    padding: 0;
    overflow: hidden;
    background: var(--vacancy-pale);
}
.vacancy-card--role > div { padding: var(--vacancy-gap); overflow-wrap: anywhere; }
.vacancy-card--role picture {
    position: relative;
    flex: none;
    align-self: flex-end;
    margin-top: auto;
    width: min(92.69%, 317px);
    aspect-ratio: 317 / 297;
    overflow: hidden;
}
.vacancy-card--role img { position: absolute; left: 5.68%; top: 6.06%; width: 108.83%; max-width: none; }
.vacancy-contact {
    display: grid;
    grid-template-columns: 1.6fr 1fr;
    align-items: center;
    gap: var(--vacancy-gap);
    padding: clamp(20px, 2.08vw, 40px);
    border-radius: var(--vacancy-radius);
    background: #f1e3ff;
}
.vacancy-contact p { margin-top: 12px; }
.vacancy-contact__links { padding: var(--vacancy-gap); border-radius: var(--vacancy-radius); background: white; }
.vacancy-contact__links a, .vacancy-footer__contacts a { display: flex; align-items: center; gap: 10px; margin-top: 9px; color: var(--vacancy-blue); }
.vacancy-contact__links a:hover, .vacancy-footer__contacts a:hover { color: #0075bc; text-decoration: none; }

.vacancy-faq { padding-bottom: clamp(38px, 4.4vw, 85px); }
.vacancy-faq h2 { text-align: center; margin-bottom: clamp(26px, 3.49vw, 67px); }
.vacancy-faq__item { border-bottom: 1px solid #c2cfe0; }
.vacancy-faq__toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: clamp(12px, 1.04vw, 20px) 0;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 600;
    font-size: clamp(16px, 1.15vw, 22px);
    text-align: left;
    cursor: pointer;
    transition: color .2s ease-in-out;
}
.vacancy-faq__toggle:hover { color: var(--vacancy-blue); }
.vacancy-faq__toggle img { flex: none; transition: transform .2s ease-in-out; }
.vacancy-faq__toggle[aria-expanded="true"] img { transform: rotate(45deg); }
.vacancy-faq__answer {
    padding: 0 40px clamp(12px, 1.04vw, 20px) 0;
    color: var(--vacancy-muted);
    font-size: clamp(14px, .94vw, 18px);
}
.vacancy-header__menu summary::-webkit-details-marker { display: none; }

.vacancy-block--join-team { overflow: clip; padding-block-start: var(--vacancy-join-top-space); }
.vacancy-join {
    position: relative;
    text-align: center;
    min-height: clamp(340px, 30.16vw, 579px);
    border-radius: clamp(52px, 7.3vw, 140px) clamp(52px, 7.3vw, 140px) 0 0;
    background: var(--vacancy-join-background);
    scroll-margin-top: var(--vacancy-header-height);
}
.vacancy-join__content { padding-top: clamp(45px, 4.69vw, 90px); padding-bottom: 50px; }
@media (min-width: 768px) {
    .vacancy-join > .vacancy-join__content { width: min(46%, 790px); }
}
.vacancy-join p { margin-top: clamp(13px, 1.35vw, 26px); line-height: 1.2; }
.vacancy-join__photo--left { width: min(16.2%, 311px); top: min(6.999vw, 134.42px); left: 6.69%; transform: rotate(-17.99deg); }
.vacancy-join__photo--right { width: min(20.52%, 394px); top: max(-1.51vw, -29px); right: 4.375%; }
.vacancy-join__star { width: min(4.3635%, 83.78px); top: min(3.44vw, 66.05px); left: calc(6.69% - min(1.72vw, 33px)); transform: rotate(-7.82deg); }
.vacancy-join__dot { width: min(3.0208%, 58px); top: min(17.1875vw, 330px); right: calc(4.375% + min(11.1979vw, 215px)); }
.vacancy-footer { background: linear-gradient(105deg, #c1cdfa, #f2efff 55%, #dff1ff); padding-block: 28px; }
.vacancy-footer--with-join {
    margin-block-start: var(--vacancy-join-top-space);
    padding-block-start: 0;
    overflow-x: clip;
    border-radius: clamp(52px, 7.3vw, 140px) clamp(52px, 7.3vw, 140px) 0 0;
    background: var(--vacancy-join-background);
}
.vacancy-footer--pale { background: var(--vacancy-pale); }
.vacancy-footer--with-join > .vacancy-join { background: transparent; }
.vacancy-footer--with-join > .vacancy-footer__inner { padding-block-start: 28px; }
.vacancy-main:not(:has(> *)) + .vacancy-footer--with-join {
    margin-block-start: calc(var(--vacancy-header-height) + var(--vacancy-join-top-space));
}
.vacancy-footer__inner { display: flex; align-items: center; justify-content: space-between; gap: var(--vacancy-gap); }
.vacancy-footer__brand { display: grid; justify-items: start; gap: 6px; }
.vacancy-footer__brand small { color: var(--vacancy-muted); }
.vacancy-footer__contacts { flex-shrink: 0; font-size: clamp(14px, .94vw, 18px); }
.vacancy-footer__links { display: grid; grid-auto-flow: column; grid-template-rows: repeat(2, auto); gap: 12px clamp(14px, 2vw, 38px); font-size: clamp(13px, .84vw, 16px); }

.vacancy-thanks { display: grid; place-items: center; padding-top: var(--vacancy-header-height); text-align: center; }
.vacancy-thanks__content { padding-block: 72px; }
.vacancy-thanks h1 { font-size: clamp(34px, 4vw, 72px); line-height: 1.1; font-weight: 700; }

.vacancy-page .footer__up {
    z-index: 5;
    min-width: 60px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: var(--vacancy-blue);
}
.vacancy-page .footer__up.active { transform: translateY(calc(-50% + 5px)) rotate(-90deg); }
.vacancy-page .footer__up:hover { background: #009bff; }

.vacancy-page .vacancy-cookie {
    left: auto;
    right: 105px;
    bottom: 15px;
    width: calc(100% - 117px);
    color: #192a3e;
    line-height: 1.2;
    border-radius: 14px;
    box-shadow: 0 2px 12px rgba(160, 170, 220, .7);
}

.vacancy-page.admin-bar .vacancy-cookie { bottom: 47px; }
.vacancy-cookie .cookie-block__text, .vacancy-cookie .cookie-block__more { font-size: 16px; }
.vacancy-cookie .cookie-block__text p { font-weight: 500; }
.vacancy-page .vacancy-cookie a { color: var(--vacancy-blue); text-decoration: underline; }
.vacancy-cookie .cookie-block__more { color: var(--vacancy-blue) !important; }
.vacancy-cookie .cookie-block__btns { flex-direction: row; }
.vacancy-page .vacancy-cookie .vacancy-button {
    height: 45px;
    min-height: 0;
    width: auto;
    margin: 0;
    padding: 0 24px;
    border-radius: 10px;
    font-size: 16px;
    font-weight: 400;
}

@media (max-width: 782px) {
    .vacancy-page.admin-bar .vacancy-cookie { bottom: 61px; }
}

@media (max-width: 767px) {
    .vacancy-page .vacancy-cookie {
        left: 12px;
        right: 100px;
        bottom: calc(12px + env(safe-area-inset-bottom));
        width: auto;
        padding: 12px;
    }

    .vacancy-page.admin-bar .vacancy-cookie { bottom: calc(58px + env(safe-area-inset-bottom)); }

    .vacancy-cookie .cookie-block__btns {
        width: 100%;
        justify-content: space-between;
        gap: 8px;
    }

    .vacancy-cookie .cookie-block__more { margin-right: 0; }

    .vacancy-cookie .cookie-block__text, .vacancy-cookie .cookie-block__more { font-size: 13px; line-height: 1.25; }
    .vacancy-page .vacancy-cookie .vacancy-button { flex: none; height: 38px; padding-inline: 12px; font-size: 13px; }
}

@media (max-width: 1399px) {
    .vacancy-page { --vacancy-space: clamp(32px, 4.7vw, 66px); }
    .vacancy-page .vacancy-hero .vacancy-button,
    .vacancy-page .vacancy-join .vacancy-button { min-height: 56px; font-size: 17px; }
    .vacancy-grid { margin-top: clamp(20px, 2.8vw, 39px); }
    .vacancy-card--reason,
    .vacancy-card--reason:nth-child(-n+3) { min-height: 0; gap: 20px; }
    .vacancy-card--step { gap: clamp(16px, 2.5vw, 32px); }
    .vacancy-card--role { min-height: 0; }
}

@media (min-width: 600px) and (max-width: 1399px) {
    .vacancy-hero { min-height: 0; }
    .vacancy-hero > .vacancy-hero__content {
        width: min(66%, 880px);
        padding-bottom: clamp(52px, 9vw, 125px);
    }
    .vacancy-hero h1 {
        margin-top: clamp(24px, 3.4vw, 48px);
        font-size: clamp(38px, 4.7vw, 66px);
        line-height: .96;
    }
    .vacancy-hero__photo--expo { width: 23%; left: -7%; top: calc(var(--vacancy-header-height) - 18px); }
    .vacancy-hero__photo--desk { width: 12%; left: 3%; }
    .vacancy-hero__photo--award { width: 15%; right: -2%; }
    .vacancy-hero__photo--team { width: clamp(30%, calc(38% - 48px), 34%); right: -6%; }
    .vacancy-hero__dot { left: 12.5%; }
    .vacancy-hero__star { bottom: 24%; }
    .vacancy-join { min-height: 0; }
    .vacancy-join > .vacancy-join__content { width: 56%; }
    .vacancy-join__photo--left { width: 13%; left: 4%; }
    .vacancy-join__photo--right { width: 17%; right: 2%; }
    .vacancy-join__dot { right: 13%; top: 12vw; }
    .vacancy-perks { min-height: 0; }
    .vacancy-perks > h2, .vacancy-perks > p, .vacancy-perks__list { width: 70%; }
    .vacancy-perks__photo--star { width: 27%; left: -15%; }
    .vacancy-perks__photo--photo { width: 17%; left: -6%; }
    .vacancy-perks__photo--pumpkins { width: min(18%, 176px); top: -12px; left: auto; right: max(-5%, -43px); }
    .vacancy-perks__photo--team { width: min(17%, 164px); bottom: -18px; left: auto; right: max(-7%, -58px); }
}

@media (max-width: 1199px) {
    .vacancy-grid--roles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .vacancy-card--role picture { width: min(81.81%, 256px); }
    .vacancy-footer__inner {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 24px 32px;
    }
    .vacancy-footer__contacts { justify-self: end; }
    .vacancy-footer__contacts a:first-child { margin-top: 0; }
    .vacancy-footer__nav {
        grid-column: 1 / -1;
        border-top: 1px solid #21212126;
        padding-top: 12px;
    }
    .vacancy-footer__links {
        grid-auto-flow: row;
        grid-template: auto / repeat(4, minmax(0, 1fr));
    }
    .vacancy-footer__links a {
        display: flex;
        align-items: center;
        overflow-wrap: anywhere;
    }
}

@media (min-width: 600px) and (max-width: 959px) {
    .vacancy-grid--products, .vacancy-grid--reasons, .vacancy-grid--steps {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .vacancy-card--step:nth-child(even)::after { content: none; }
}

.vacancy-page.admin-bar .vacancy-footer { padding-bottom: calc(28px + 32px); }

@media (max-width: 782px) {
    .vacancy-page.admin-bar .vacancy-footer { padding-bottom: calc(28px + 46px); }
}

@media (max-width: 767px) {
    .vacancy-page { --vacancy-header-height: 56px; --vacancy-gap: 16px; }
    .vacancy-page h2 { font-size: clamp(27px, 7.5vw, 38px); }
    .vacancy-header__nav, .vacancy-page .vacancy-header__login { display: none; }
    .vacancy-header__menu { display: block; }
    .vacancy-header__menu nav {
        position: absolute;
        inset: 100% 0 auto;
        display: grid;
        gap: 15px;
        background: #fff;
        padding: 18px 20px;
        box-shadow: 0 8px 20px #18284314;
    }
    .vacancy-header__menu .vacancy-header__links { display: grid; gap: 15px; }
    .vacancy-header .vacancy-logo img { width: 79px; }
    .vacancy-header__inner .vacancy-logo { margin-right: auto; }
    .vacancy-grid { grid-template-columns: 1fr; }
    .vacancy-card--product { min-height: 0; padding: 20px; gap: 5px; }
    .vacancy-card--product .vacancy-card__art { width: 106px; aspect-ratio: 106 / 98; align-self: center; }
    .vacancy-stats--with-event { grid-template-columns: 1fr; grid-template-rows: auto; }
    .vacancy-stats__copy { flex-direction: column; align-items: flex-start; }
    .vacancy-stats > .vacancy-stats__party { grid-area: auto; height: auto; aspect-ratio: 335 / 524; contain: none; }
    .vacancy-card--reason, .vacancy-card--reason:nth-child(-n+3) { min-height: 0; padding: 24px; gap: 10px; }
    .vacancy-card--reason .vacancy-card__art { width: 102px; aspect-ratio: 102 / 94; }
    .vacancy-card--step:not(:last-child)::after { content: none; }
    .vacancy-card--step { gap: 16px; }

    .vacancy-perks {
        margin-block: 75px 55px;
        padding: 90px 20px clamp(130px, 42vw, 164px);
        min-height: 0;
    }
    .vacancy-perks > p, .vacancy-perks__list { width: 100%; }
    .vacancy-perks__list { grid-template-columns: 1fr; }
    .vacancy-perks__photo--star { width: min(64.09%, 214.07px); left: -10.945%; top: -132px; }
    .vacancy-perks__photo--photo { width: min(34.89%, 116.53px); left: 48.25%; top: -77.85px; }
    .vacancy-perks__photo--pumpkins { width: min(44.01%, 147px); left: 0; top: auto; bottom: -56px; }
    .vacancy-perks__photo--team { width: min(55.68%, 185.98px); left: 51.67%; bottom: -44px; }

    .vacancy-card--role { min-height: 0; }
    .vacancy-card--role > div { padding: 24px; }
    .vacancy-card--role picture { width: min(81.81%, 273.24px); aspect-ratio: 273.24 / 256; }
    .vacancy-card--role:nth-child(3) picture { margin-bottom: 22px; }
    .vacancy-contact { grid-template-columns: 1fr; }
    .vacancy-faq h2 { text-align: left; }
    .vacancy-footer__inner { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .vacancy-footer__brand .vacancy-logo img { width: 124px; }
    .vacancy-footer__contacts { justify-self: start; }
    .vacancy-footer__links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 599px) {
    .vacancy-hero { min-height: 0; background: linear-gradient(96.12deg, #869bf1 12.15%, #f5efff 51.85%, #dff1ff 91.54%); }
    .vacancy-hero__content {
        padding: calc(var(--vacancy-header-height) + clamp(105px, 36vw, 154px)) 0 clamp(130px, 39vw, 188px);
    }
    .vacancy-hero h1 { max-width: 12em; font-size: clamp(30px, 8.8vw, 42px); margin-top: 22px; line-height: .98; }
    .vacancy-hero p { margin-top: 18px; font-size: 16px; line-height: 21px; }
    .vacancy-hero__photo--expo { width: min(46%, 200px); left: -5%; top: var(--vacancy-header-height); }
    .vacancy-hero__photo--award { width: min(29%, 128px); top: calc(var(--vacancy-header-height) + 24px); right: -4%; }
    .vacancy-hero__photo--desk { width: min(28%, 142px); left: 4%; top: auto; bottom: 16px; }
    .vacancy-hero__photo--team { width: min(69%, 345px); right: -2%; left: auto; bottom: 0; }
    .vacancy-hero__dot { width: min(7%, 30px); top: auto; bottom: clamp(85px, 28vw, 144px); left: min(27%, 153px); }
    .vacancy-hero__star { width: min(9%, 40px); right: 11%; bottom: clamp(86px, 25vw, 144px); }
    .vacancy-page {
        --vacancy-join-top-space: 88px;
        --vacancy-join-background: linear-gradient(144.63deg, #869bf1 1.77%, #f5efff 27.57%, #dff1ff 56.91%);
    }
    .vacancy-join { min-height: 0; }
    .vacancy-join__content { padding: 72px 0 clamp(124px, 38vw, 174px); }
    .vacancy-join__photo--left { width: min(34%, 136px); top: -80px; right: -3%; left: auto; }
    .vacancy-join__photo--right { width: min(30%, 128px); top: auto; bottom: 12px; left: 0; right: auto; }
    .vacancy-join__star { width: min(10%, 40px); top: -68px; left: auto; right: calc(min(34%, 136px) - min(10%, 40px) - 3%); }
    .vacancy-join__dot { width: min(10%, 40px); top: auto; bottom: 72px; left: min(25%, 110px); right: auto; }
}

@media (min-width: 600px) and (max-width: 767px) {
    .vacancy-grid--products, .vacancy-grid--reasons, .vacancy-grid--steps, .vacancy-grid--roles {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.vacancy-block--pale > .vacancy-join { background: transparent; }

@media (prefers-reduced-motion: reduce) {
    .vacancy-page .vacancy-button, .vacancy-faq__toggle, .vacancy-faq__toggle img { transition: none; }
}

