.role-public-vacancy .public-vacancy-shell {
    display: flex;
    min-height: 100vh;
    min-height: 100svh;
    flex-direction: column;
    color: #273247;
    background: #faf9f7;
}

.role-public-vacancy .public-vacancy-header {
    position: sticky;
    z-index: 20;
    top: 0;
    background: rgba(255, 255, 255, .97);
    border-bottom: 1px solid #e5e7eb;
    backdrop-filter: blur(12px);
}

.role-public-vacancy .public-vacancy-header__inner {
    display: flex;
    width: min(1280px, calc(100% - 40px));
    min-height: 66px;
    align-items: center;
    gap: 24px;
    margin: 0 auto;
}

.role-public-vacancy .public-vacancy-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 9px;
    color: #273247;
    text-decoration: none;
}

.role-public-vacancy .public-vacancy-brand > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 9px;
}

.role-public-vacancy .public-vacancy-brand img { display: block; width: 32px; height: 32px; object-fit: contain; }
.role-public-vacancy .public-vacancy-brand strong { font-size: 15px; font-weight: 650; letter-spacing: -.025em; white-space: nowrap; }
.role-public-vacancy .public-vacancy-nav { display: flex; align-items: center; gap: 5px; }
.role-public-vacancy .public-vacancy-nav a { padding: 8px 11px; color: #647386; border-radius: 8px; font-size: 13px; font-weight: 500; text-decoration: none; }
.role-public-vacancy .public-vacancy-nav a:hover { color: #4b48ae; background: #f0effb; }
.role-public-vacancy .public-vacancy-header__actions { display: flex; align-items: center; gap: 10px; margin-left: auto; }
.role-public-vacancy .language-switch { display: inline-flex; align-items: center; gap: 2px; padding: 3px; background: #f7f7fa; border: 1px solid #e5e7eb; border-radius: 8px; }
.role-public-vacancy .language-switch > span { display: none; }
.role-public-vacancy .language-switch a { display: grid; min-width: 32px; min-height: 28px; padding: 3px 6px; place-items: center; color: #647386; border-radius: 6px; font-size: 12px; font-weight: 550; text-decoration: none; }
.role-public-vacancy .language-switch a.active { color: #fff; background: #5e5bc8; }
.role-public-vacancy .public-vacancy-header__login { display: inline-flex; min-height: 36px; align-items: center; justify-content: center; padding: 7px 13px; color: #fff; background: #5e5bc8; border-radius: 8px; font-size: 13px; font-weight: 600; line-height: 1.2; text-decoration: none; white-space: nowrap; }
.role-public-vacancy .public-vacancy-header__login:hover { color: #fff; background: #4b48ae; }
.role-public-vacancy .public-vacancy-main { width: min(1280px, calc(100% - 40px)); flex: 1 0 auto; margin: 0 auto; padding: 24px 0 56px; }
.role-public-vacancy .public-vacancy-footer { display: flex; justify-content: space-between; gap: 8px 20px; padding: 18px max(20px, calc((100% - 1280px) / 2)); color: #647386; background: #fff; border-top: 1px solid #e5e7eb; font-size: 12px; line-height: 1.35; }
.role-public-vacancy :is(.public-vacancy-brand, .public-vacancy-nav a, .public-vacancy-header__login, .language-switch a):focus-visible { outline: 2px solid #5e5bc8; outline-offset: 3px; }

@media (max-width: 700px) {
    .role-public-vacancy .public-vacancy-header__inner { width: min(100% - 28px, 1280px); min-height: 58px; gap: 9px; }
    .role-public-vacancy .public-vacancy-nav { display: none; }
    .role-public-vacancy .public-vacancy-header__actions { gap: 7px; }
    .role-public-vacancy .public-vacancy-brand > span { width: 34px; height: 34px; }
    .role-public-vacancy .public-vacancy-brand img { width: 28px; height: 28px; }
    .role-public-vacancy .public-vacancy-brand strong { font-size: 13px; }
    .role-public-vacancy .public-vacancy-header__login { min-height: 34px; padding: 7px 10px; font-size: 12px; }
    .role-public-vacancy .public-vacancy-main { width: min(100% - 28px, 1280px); padding: 18px 0 40px; }
    .role-public-vacancy .public-vacancy-footer { flex-direction: column; padding: 16px 14px; }
}

@media (max-width: 350px) {
    .role-public-vacancy .public-vacancy-brand strong { font-size: 12px; }
    .role-public-vacancy .language-switch a { min-width: 29px; padding-inline: 4px; }
}
