:root {
   color-scheme: light;
   --mj-red: #d71920;
   --mj-red-dark: #b9151b;
   --mj-red-deep: #8f1015;
   --mj-ink: #151515;
   --mj-ink-2: #252525;
   --mj-muted: #656565;
   --mj-line: #dedede;
   --mj-soft: #f5f5f5;
   --mj-soft-red: #fff1f1;
   --mj-white: #ffffff;
   --mj-success: #176b3a;
   --mj-warning: #8a5400;
   --mj-radius-sm: 12px;
   --mj-radius: 20px;
   --mj-radius-lg: 30px;
   --mj-shadow: 0 24px 70px rgb(0 0 0 / 10%);
   --mj-container: 1180px;
   --mj-header-height: 76px;
   font-family: "Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
   font-synthesis: none;
   text-rendering: optimizeLegibility;
}

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

html {
   min-width: 320px;
   scrollbar-gutter: stable;
   scroll-behavior: smooth;
   scroll-padding-top: calc(var(--mj-header-height) + 20px);
   background: var(--mj-white);
}

body {
   min-height: 100vh;
   margin: 0;
   background: var(--mj-white);
   color: var(--mj-ink);
   font-size: 16px;
   line-height: 1.55;
   -webkit-font-smoothing: antialiased;
}

button,
input,
select,
textarea {
   font: inherit;
}

button,
a {
   -webkit-tap-highlight-color: transparent;
}

a {
   color: inherit;
}

img,
svg {
   display: block;
   max-width: 100%;
}

button {
   color: inherit;
}

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

h1,
h2,
h3 {
   text-wrap: balance;
}

p {
   text-wrap: pretty;
}

.mj-container {
   width: min(calc(100% - 40px), var(--mj-container));
   margin-inline: auto;
}

.mj-skip-link {
   position: fixed;
   z-index: 9999;
   top: 10px;
   left: 10px;
   padding: 10px 14px;
   border-radius: 8px;
   background: var(--mj-ink);
   color: var(--mj-white);
   transform: translateY(-150%);
}

.mj-skip-link:focus {
   transform: translateY(0);
}

.mj-eyebrow {
   margin-bottom: 10px;
   color: var(--mj-red);
   font-size: .78rem;
   font-weight: 800;
   letter-spacing: .11em;
   text-transform: uppercase;
}

.mj-eyebrow--light {
   color: #fff0f0;
}

.mj-header {
   position: sticky;
   z-index: 100;
   top: 0;
   min-height: var(--mj-header-height);
   border-bottom: 1px solid rgb(0 0 0 / 8%);
   background: rgb(255 255 255 / 94%);
   backdrop-filter: blur(14px);
}

.mj-header__inner {
   min-height: var(--mj-header-height);
   display: flex;
   align-items: center;
   gap: 28px;
}

.mj-brand {
   display: inline-flex;
   align-items: center;
   gap: 10px;
   flex: 0 0 auto;
   color: var(--mj-ink);
   text-decoration: none;
}

.mj-brand__mark {
   display: grid;
   width: 38px;
   height: 38px;
   place-items: center;
   border-radius: 12px 12px 12px 4px;
   background: var(--mj-red);
   color: var(--mj-white);
   font-size: 1.12rem;
   font-weight: 900;
}

.mj-brand__text {
   font-size: 1.15rem;
   font-weight: 900;
   letter-spacing: -.035em;
}

.mj-brand__text span {
   color: var(--mj-red);
}

.mj-nav {
   display: flex;
   align-items: center;
   gap: 24px;
   margin-left: auto;
}

.mj-nav a {
   color: #414141;
   font-size: .93rem;
   font-weight: 650;
   text-decoration: none;
}

.mj-nav a:hover,
.mj-nav a:focus-visible {
   color: var(--mj-red);
}

.mj-header__actions {
   display: flex;
   align-items: center;
   gap: 10px;
}

.mj-city-trigger,
.mj-city-quick {
   border: 0;
   background: transparent;
   cursor: pointer;
}

.mj-city-trigger {
   display: inline-flex;
   min-height: 42px;
   align-items: center;
   gap: 7px;
   padding: 8px 10px;
   border-radius: 12px;
   color: #424242;
   font-size: .88rem;
   font-weight: 700;
}

.mj-city-trigger:hover,
.mj-city-trigger:focus-visible {
   background: var(--mj-soft);
   color: var(--mj-red);
}

.mj-city-trigger svg {
   width: 18px;
   fill: currentColor;
}

.mj-button {
   display: inline-flex;
   min-height: 50px;
   align-items: center;
   justify-content: center;
   padding: 13px 20px;
   border: 1px solid var(--mj-red);
   border-radius: 14px;
   background: var(--mj-red);
   color: var(--mj-white);
   cursor: pointer;
   font-weight: 800;
   line-height: 1.15;
   text-align: center;
   text-decoration: none;
   transition: transform .16s ease, background-color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.mj-button:hover {
   border-color: var(--mj-red-dark);
   background: var(--mj-red-dark);
   transform: translateY(-1px);
}

.mj-button:focus-visible,
.mj-text-button:focus-visible,
.mj-text-link:focus-visible,
.mj-city-trigger:focus-visible,
.mj-city-quick:focus-visible,
.mj-role-mini:focus-visible,
.mj-icon-button:focus-visible,
.mj-combobox__option:focus-visible {
   outline: 3px solid #ffb7b9;
   outline-offset: 3px;
}

.mj-button--sm {
   min-height: 42px;
   padding: 10px 16px;
   border-radius: 12px;
   font-size: .9rem;
}

.mj-button--wide {
   width: 100%;
}

.mj-button--light {
   border-color: var(--mj-white);
   background: var(--mj-white);
   color: var(--mj-red-deep);
}

.mj-button--light:hover {
   border-color: var(--mj-white);
   background: #f8f8f8;
}

.mj-button--ghost-light {
   border-color: rgb(255 255 255 / 55%);
   background: transparent;
   color: var(--mj-white);
}

.mj-button--ghost-light:hover {
   border-color: var(--mj-white);
   background: rgb(255 255 255 / 10%);
}

.mj-hero {
   position: relative;
   overflow: hidden;
   background:
       radial-gradient(circle at 85% 10%, rgb(255 255 255 / 16%) 0 130px, transparent 131px),
       radial-gradient(circle at 4% 96%, rgb(0 0 0 / 13%) 0 220px, transparent 221px),
       linear-gradient(125deg, var(--mj-red) 0%, #c3171d 52%, #a50f15 100%);
   color: var(--mj-white);
}

.mj-hero::after {
   position: absolute;
   right: -100px;
   bottom: -170px;
   width: 410px;
   height: 410px;
   border: 80px solid rgb(255 255 255 / 6%);
   border-radius: 50%;
   content: "";
}

.mj-hero__grid {
   position: relative;
   z-index: 1;
   display: grid;
   min-height: 610px;
   grid-template-columns: minmax(0, 1.15fr) minmax(350px, .85fr);
   align-items: center;
   gap: clamp(36px, 7vw, 90px);
   padding-block: clamp(70px, 10vw, 118px);
}

.mj-hero__content h1,
.mj-city-hero h1 {
   max-width: 850px;
   margin-bottom: 24px;
   font-size: clamp(2.8rem, 6.2vw, 5.6rem);
   font-weight: 900;
   letter-spacing: -.065em;
   line-height: .96;
}

.mj-hero__content h1 span,
.mj-city-hero h1 span {
   color: #ffd9da;
}

.mj-hero__lead {
   max-width: 650px;
   margin-bottom: 30px;
   color: rgb(255 255 255 / 90%);
   font-size: clamp(1.05rem, 2vw, 1.3rem);
   line-height: 1.55;
}

.mj-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
}

.mj-hero__trust {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 34px;
}

.mj-hero__trust span {
   padding: 8px 11px;
   border: 1px solid rgb(255 255 255 / 25%);
   border-radius: 999px;
   background: rgb(255 255 255 / 7%);
   color: rgb(255 255 255 / 84%);
   font-size: .78rem;
   font-weight: 700;
}

.mj-hero-visual {
   position: relative;
   padding: clamp(20px, 3vw, 30px);
   border: 1px solid rgb(255 255 255 / 24%);
   border-radius: var(--mj-radius-lg);
   background: rgb(19 19 19 / 88%);
   box-shadow: 0 35px 80px rgb(79 0 0 / 28%);
}

.mj-hero-visual__top {
   display: grid;
   gap: 2px;
   margin-bottom: 18px;
}

.mj-hero-visual__top span {
   color: #aaa;
   font-size: .78rem;
   font-weight: 700;
   letter-spacing: .06em;
   text-transform: uppercase;
}

.mj-hero-visual__top strong {
   font-size: 1.3rem;
}

.mj-role-stack {
   display: grid;
   gap: 10px;
}

.mj-role-mini {
   display: grid;
   width: 100%;
   grid-template-columns: 54px 1fr;
   align-items: center;
   gap: 14px;
   padding: 13px;
   border: 1px solid #3a3a3a;
   border-radius: 16px;
   background: #202020;
   color: var(--mj-white);
   cursor: pointer;
   text-align: left;
}

.mj-role-mini:hover {
   border-color: #5a5a5a;
   background: #292929;
}

.mj-role-mini__icon {
   display: grid;
   width: 54px;
   height: 54px;
   place-items: center;
   border-radius: 14px;
   background: #333;
   font-size: 1.55rem;
}

.mj-role-mini span:last-child {
   display: grid;
}

.mj-role-mini strong {
   font-size: .98rem;
}

.mj-role-mini small {
   margin-top: 2px;
   color: #aaa;
   font-size: .78rem;
}

.mj-city-quick {
   display: flex;
   width: 100%;
   align-items: center;
   justify-content: space-between;
   gap: 16px;
   margin-top: 14px;
   padding: 15px 16px;
   border-radius: 15px;
   background: var(--mj-red);
   color: var(--mj-white);
   text-align: left;
}

.mj-city-quick span {
   color: #ffd7d8;
   font-size: .78rem;
   font-weight: 700;
}

.mj-city-quick strong {
   font-size: .86rem;
}

.mj-section {
   padding-block: clamp(68px, 9vw, 110px);
}

.mj-section--soft {
   background: var(--mj-soft);
}

.mj-section--dark {
   background: var(--mj-ink);
   color: var(--mj-white);
}

.mj-section-heading {
   display: grid;
   grid-template-columns: minmax(0, 1.15fr) minmax(260px, .65fr);
   align-items: end;
   gap: 40px;
   margin-bottom: clamp(30px, 5vw, 52px);
}

.mj-section-heading--center {
   display: block;
   text-align: center;
}

.mj-section-heading h2,
.mj-faq-layout__intro h2,
.mj-application-card__intro h2,
.mj-local-info h2 {
   margin-bottom: 0;
   font-size: clamp(2rem, 4.3vw, 3.7rem);
   font-weight: 900;
   letter-spacing: -.055em;
   line-height: 1.02;
}

.mj-section-heading > p {
   margin-bottom: 4px;
   color: var(--mj-muted);
   font-size: 1.02rem;
}

.mj-format-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
}

.mj-format-card {
   position: relative;
   min-height: 350px;
   padding: 28px;
   border: 1px solid var(--mj-line);
   border-radius: var(--mj-radius);
   background: var(--mj-white);
}

.mj-format-card--featured {
   border-color: #efb6b8;
   box-shadow: 0 20px 55px rgb(183 17 23 / 9%);
}

.mj-format-card__badge {
   position: absolute;
   top: 18px;
   right: 18px;
   padding: 6px 9px;
   border-radius: 999px;
   background: var(--mj-soft-red);
   color: var(--mj-red-deep);
   font-size: .7rem;
   font-weight: 800;
}

.mj-format-card__number {
   color: var(--mj-muted);
   font-size: .78rem;
   font-weight: 800;
   letter-spacing: .08em;
}

.mj-format-card__icon {
   display: grid;
   width: 66px;
   height: 66px;
   place-items: center;
   margin: 38px 0 24px;
   border-radius: 18px;
   background: var(--mj-soft-red);
   font-size: 1.8rem;
}

.mj-format-card h3 {
   margin-bottom: 10px;
   font-size: 1.42rem;
   letter-spacing: -.025em;
}

.mj-format-card p {
   margin-bottom: 22px;
   color: var(--mj-muted);
}

.mj-text-button,
.mj-text-link {
   padding: 0;
   border: 0;
   background: none;
   color: var(--mj-red);
   cursor: pointer;
   font-weight: 800;
   text-decoration: none;
}

.mj-text-button:hover,
.mj-text-link:hover {
   color: var(--mj-red);
   text-decoration: underline;
   text-underline-offset: 3px;
}

.mj-steps {
   display: grid;
   max-width: 930px;
   margin: 0 auto;
   padding: 0;
   list-style: none;
}

.mj-steps li {
   display: grid;
   grid-template-columns: 66px 1fr;
   gap: 20px;
   padding: 24px 0;
   border-bottom: 1px solid #ddd;
}

.mj-steps li > span {
   display: grid;
   width: 52px;
   height: 52px;
   place-items: center;
   border-radius: 15px;
   background: var(--mj-ink);
   color: var(--mj-white);
   font-weight: 900;
}

.mj-steps h3 {
   margin-bottom: 5px;
   font-size: 1.2rem;
}

.mj-steps p {
   margin-bottom: 0;
   color: var(--mj-muted);
}

.mj-application-card {
   display: grid;
   overflow: hidden;
   grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
   border: 1px solid #dfdfdf;
   border-radius: var(--mj-radius-lg);
   background: var(--mj-white);
   box-shadow: var(--mj-shadow);
}

.mj-application-card__intro {
   padding: clamp(30px, 5vw, 58px);
   background: var(--mj-ink);
   color: var(--mj-white);
}

.mj-application-card__intro h2 {
   margin-bottom: 18px;
}

.mj-application-card__intro > p {
   color: #c4c4c4;
}

.mj-check-list {
   display: grid;
   gap: 13px;
   margin: 30px 0 0;
   padding: 0;
   list-style: none;
}

.mj-check-list li {
   position: relative;
   padding-left: 28px;
   color: #e7e7e7;
   font-size: .9rem;
}

.mj-check-list li::before {
   position: absolute;
   top: .18em;
   left: 0;
   display: grid;
   width: 18px;
   height: 18px;
   place-items: center;
   border-radius: 50%;
   background: var(--mj-red);
   color: var(--mj-white);
   content: "✓";
   font-size: .68rem;
   font-weight: 900;
}

.mj-form {
   display: grid;
   gap: 18px;
   padding: clamp(28px, 5vw, 54px);
}

.mj-form__grid {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.mj-field-wrap {
   position: relative;
}

.mj-field__label {
   display: inline-block;
   margin-bottom: 7px;
   color: #373737;
   font-size: .83rem;
   font-weight: 750;
}

.mj-field {
   position: relative;
   display: flex;
   min-height: 54px;
   align-items: center;
   border: 1px solid #cecece;
   border-radius: 14px;
   background: var(--mj-white);
   transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease;
}

.mj-field:hover {
   border-color: #aaa;
}

.mj-field.is-invalid {
   border-color: #a10e13;
   background: #fff8f8;
}

.mj-field.is-invalid:focus-within {
   border-color: #a10e13;
   box-shadow: 0 0 0 3px rgb(161 14 19 / 14%);
}

.mj-field.is-focused,
.mj-field:focus-within {
   border-color: var(--mj-red);
   box-shadow: 0 0 0 3px rgb(215 25 32 / 11%);
}

.mj-field input,
.mj-field select {
   width: 100%;
   min-width: 0;
   height: 52px;
   padding: 0 15px;
   border: 0;
   outline: 0;
   background: transparent;
   color: var(--mj-ink);
}

.mj-field input::placeholder {
   color: #6f6f6f;
}

.mj-field select {
   padding-right: 44px;
   appearance: none;
   cursor: pointer;
}

.mj-field__chevron {
   position: absolute;
   right: 15px;
   width: 18px;
   pointer-events: none;
   fill: none;
   stroke: #666;
   stroke-width: 2;
}

.mj-field__icon {
   width: 19px;
   min-width: 19px;
   margin-left: 15px;
   fill: currentColor;
   color: #777;
}

.mj-field--search input {
   padding-left: 10px;
}

.mj-field__prefix {
   padding-left: 15px;
   color: #555;
   font-weight: 750;
}

.mj-input--phone {
   padding-left: 7px !important;
}

.mj-form-errors {
   padding: 14px 16px;
   border: 1px solid #efb4b6;
   border-radius: 12px;
   background: #fff5f5;
   color: #7f0b10;
}

.mj-form-errors:focus {
   outline: 3px solid rgb(161 14 19 / 18%);
   outline-offset: 2px;
}

.mj-form-errors strong,
.mj-form-errors p {
   margin: 0;
}

.mj-form-errors p {
   margin-top: 3px;
   font-size: .84rem;
}

.mj-field__error {
   margin: 7px 0 0;
   color: #a10e13;
   font-size: .8rem;
   font-weight: 650;
}

.mj-combobox__list {
   position: absolute;
   z-index: 60;
   top: calc(100% + 7px);
   right: 0;
   left: 0;
   overflow: auto;
   max-height: 310px;
   padding: 7px;
   border: 1px solid #d4d4d4;
   border-radius: 14px;
   background: var(--mj-white);
   box-shadow: 0 18px 45px rgb(0 0 0 / 15%);
}

.mj-combobox__option {
   display: block;
   width: 100%;
   padding: 10px 12px;
   border: 0;
   border-radius: 9px;
   background: transparent;
   cursor: pointer;
   text-align: left;
}

.mj-combobox__option:hover,
.mj-combobox__option.is-active {
   background: var(--mj-soft-red);
   color: var(--mj-red-deep);
}

.mj-combobox__empty {
   margin: 0;
   padding: 11px;
   color: var(--mj-muted);
   font-size: .84rem;
}

.mj-consent {
   display: grid;
   grid-template-columns: 20px 1fr;
   gap: 10px;
   align-items: start;
   color: #555;
   cursor: pointer;
   font-size: .8rem;
}

.mj-consent input {
   width: 18px;
   height: 18px;
   margin: 1px 0 0;
   accent-color: var(--mj-red);
}

.mj-consent input[aria-invalid="true"] {
   outline: 2px solid #a10e13;
   outline-offset: 2px;
}

.mj-form__footnote {
   margin: -7px 0 0;
   color: var(--mj-muted);
   font-size: .74rem;
   text-align: center;
}

.mj-honeypot {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
   overflow: hidden !important;
   clip: rect(0 0 0 0) !important;
   white-space: nowrap !important;
}

.mj-faq-layout {
   display: grid;
   grid-template-columns: minmax(260px, .65fr) minmax(0, 1.35fr);
   gap: clamp(40px, 8vw, 110px);
}

.mj-faq-layout__intro {
   align-self: start;
   position: sticky;
   top: calc(var(--mj-header-height) + 32px);
}

.mj-faq-layout__intro h2 {
   margin-bottom: 20px;
}

.mj-faq-layout__intro > p:last-child {
   color: #505050;
}

.mj-faq details {
   border-bottom: 1px solid #3a3a3a;
}

.mj-faq summary {
   position: relative;
   padding: 22px 44px 22px 0;
   cursor: pointer;
   font-size: 1.04rem;
   font-weight: 750;
   list-style: none;
}

.mj-faq summary::-webkit-details-marker {
   display: none;
}

.mj-faq summary::after {
   position: absolute;
   top: 19px;
   right: 0;
   display: grid;
   width: 30px;
   height: 30px;
   place-items: center;
   border-radius: 50%;
   background: #2b2b2b;
   content: "+";
}

.mj-faq details[open] summary::after {
   content: "−";
}

.mj-faq details p {
   max-width: 70ch;
   margin: 0 0 22px;
   color: #bdbdbd;
}

.mj-footer {
   padding: 58px 0 28px;
   border-top: 1px solid #e4e4e4;
   background: #f8f8f8;
}

.mj-footer__grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   gap: 40px;
}

.mj-footer__note {
   max-width: 620px;
   margin: 18px 0 0;
   color: var(--mj-muted);
   font-size: .86rem;
}

.mj-footer__links {
   display: grid;
   align-content: start;
   gap: 8px;
}

.mj-footer__links a {
   font-size: .88rem;
   font-weight: 700;
   text-decoration: none;
}

.mj-footer__links a:hover {
   color: var(--mj-red);
}

.mj-footer__bottom {
   display: grid;
   grid-template-columns: auto 1fr;
   gap: 30px;
   margin-top: 44px;
   padding-top: 20px;
   border-top: 1px solid #ddd;
   color: var(--mj-muted);
   font-size: .72rem;
}

.mj-footer__bottom p {
   margin: 0;
}

.mj-footer__bottom p:last-child {
   text-align: right;
}

.mj-dialog {
   width: min(92vw, 650px);
   max-height: min(84vh, 720px);
   padding: 0;
   border: 0;
   border-radius: var(--mj-radius);
   background: transparent;
   overflow: visible;
}

.mj-dialog::backdrop {
   background: rgb(0 0 0 / 68%);
   backdrop-filter: blur(4px);
}

.mj-dialog__panel {
   max-height: 84vh;
   overflow: auto;
   overscroll-behavior: contain;
   padding: 28px;
   border-radius: var(--mj-radius);
   background: var(--mj-white);
   box-shadow: var(--mj-shadow);
}

.mj-dialog__head {
   display: flex;
   align-items: flex-start;
   justify-content: space-between;
   gap: 24px;
   margin-bottom: 24px;
}

.mj-dialog__head h2 {
   margin: 0;
   font-size: clamp(1.55rem, 4vw, 2.3rem);
   letter-spacing: -.04em;
}

.mj-icon-button {
   display: grid;
   width: 42px;
   height: 42px;
   flex: 0 0 auto;
   place-items: center;
   border: 1px solid #ddd;
   border-radius: 12px;
   background: var(--mj-white);
   cursor: pointer;
}

.mj-icon-button svg {
   width: 21px;
   fill: currentColor;
}

.mj-city-search {
   position: relative;
}

.mj-city-search__hint {
   margin: 12px 0 0;
   color: var(--mj-muted);
   font-size: .78rem;
}

.mj-city-hero {
   background: linear-gradient(130deg, #161616 0%, #222 55%, #2d0d0f 100%);
   color: var(--mj-white);
}

.mj-city-hero__grid {
   display: grid;
   min-height: 500px;
   grid-template-columns: minmax(0, 1fr) 330px;
   align-items: center;
   gap: clamp(38px, 8vw, 100px);
   padding-block: clamp(60px, 9vw, 100px);
}

.mj-city-hero h1 {
   font-size: clamp(2.65rem, 6vw, 5rem);
}

.mj-city-hero p:not(.mj-eyebrow) {
   max-width: 720px;
   color: #c5c5c5;
   font-size: 1.04rem;
}

.mj-breadcrumbs {
   display: flex;
   flex-wrap: wrap;
   gap: 7px;
   margin-bottom: 34px;
   color: #aaa;
   font-size: .76rem;
}

.mj-breadcrumbs a {
   color: #ddd;
   text-decoration: none;
}

.mj-city-fact-card {
   padding: 26px;
   border: 1px solid #3c3c3c;
   border-radius: var(--mj-radius);
   background: #1d1d1d;
}

.mj-city-fact-card__label {
   display: block;
   color: #999;
   font-size: .72rem;
   font-weight: 800;
   letter-spacing: .07em;
   text-transform: uppercase;
}

.mj-city-fact-card strong {
   display: block;
   margin: 6px 0 10px;
   font-size: 1.6rem;
   letter-spacing: -.035em;
}

.mj-city-fact-card button {
   padding: 0;
   border: 0;
   background: none;
   color: #ffb8bb;
   cursor: pointer;
   font-weight: 750;
}

.mj-city-fact-card hr {
   margin: 24px 0;
   border: 0;
   border-top: 1px solid #383838;
}

.mj-city-fact-card p {
   margin: 0;
   color: #aaa !important;
   font-size: .82rem !important;
}

.mj-local-info {
   display: grid;
   grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr);
   gap: clamp(35px, 8vw, 100px);
}

.mj-local-info__cards {
   display: grid;
   gap: 12px;
}

.mj-local-info__cards article {
   padding: 22px;
   border: 1px solid var(--mj-line);
   border-radius: 16px;
}

.mj-local-info__cards strong {
   display: block;
   margin-bottom: 4px;
}

.mj-local-info__cards p {
   margin: 0;
   color: var(--mj-muted);
   font-size: .88rem;
}

.mj-local-info code {
   padding: 2px 5px;
   border-radius: 5px;
   background: #eee;
   font-size: .8em;
}

.mj-status-page {
   min-height: 68vh;
   padding-block: clamp(70px, 10vw, 120px);
   background: var(--mj-soft);
}

.mj-status-card {
   max-width: 680px;
   margin: 0 auto;
   padding: clamp(28px, 6vw, 58px);
   border: 1px solid #ddd;
   border-radius: var(--mj-radius-lg);
   background: var(--mj-white);
   box-shadow: var(--mj-shadow);
}

.mj-status-card__icon {
   display: grid;
   width: 62px;
   height: 62px;
   place-items: center;
   margin-bottom: 22px;
   border-radius: 18px;
   background: var(--mj-red);
   color: var(--mj-white);
   font-size: 1.8rem;
   font-weight: 900;
}

.mj-status-card h1 {
   margin-bottom: 14px;
   font-size: clamp(2rem, 5vw, 3.5rem);
   line-height: 1;
   letter-spacing: -.055em;
}

.mj-status-card__lead {
   color: var(--mj-muted);
}

.mj-notice {
   margin: 26px 0;
   padding: 18px;
   border-left: 4px solid #888;
   border-radius: 10px;
   background: #f4f4f4;
}

.mj-notice--success {
   border-left-color: var(--mj-success);
   background: #edf8f1;
}

.mj-notice--warning {
   border-left-color: var(--mj-warning);
   background: #fff6e7;
}

.mj-notice strong {
   display: block;
   margin-bottom: 4px;
}

.mj-notice p {
   margin: 0;
   color: #555;
   font-size: .88rem;
}

.mj-status-card__back {
   display: inline-block;
   margin-top: 22px;
}

@media (max-width: 980px) {
   .mj-nav {
       display: none;
   }

   .mj-header__actions {
       margin-left: auto;
   }

   .mj-hero__grid,
   .mj-city-hero__grid,
   .mj-application-card,
   .mj-faq-layout,
   .mj-local-info {
       grid-template-columns: 1fr;
   }

   .mj-hero__grid {
       gap: 38px;
   }

   .mj-hero-visual {
       max-width: 620px;
   }

   .mj-city-fact-card {
       max-width: 520px;
   }

   .mj-section-heading {
       grid-template-columns: 1fr;
       gap: 16px;
   }

   .mj-faq-layout__intro {
       position: static;
   }
}

@media (max-width: 760px) {
   :root {
       --mj-header-height: 66px;
   }

   .mj-container {
       width: min(calc(100% - 28px), var(--mj-container));
   }

   .mj-header__inner {
       gap: 10px;
   }

   .mj-brand__mark {
       width: 34px;
       height: 34px;
   }

   .mj-brand__text {
       font-size: 1rem;
   }

   .mj-city-trigger span,
   .mj-header .mj-button {
       display: none;
   }

   .mj-city-trigger {
       width: 42px;
       height: 42px;
       justify-content: center;
       padding: 0;
       border: 1px solid #e1e1e1;
   }

   .mj-hero__grid {
       min-height: auto;
       padding-block: 58px;
   }

   .mj-hero__content h1,
   .mj-city-hero h1 {
       font-size: clamp(2.45rem, 12vw, 4.2rem);
   }

   .mj-hero__actions .mj-button,
   .mj-city-hero .mj-button {
       width: 100%;
   }

   .mj-hero__trust {
       gap: 6px;
   }

   .mj-hero-visual {
       padding: 16px;
       border-radius: 22px;
   }

   .mj-role-mini {
       grid-template-columns: 48px 1fr;
   }

   .mj-role-mini__icon {
       width: 48px;
       height: 48px;
   }

   .mj-format-grid {
       grid-template-columns: 1fr;
   }

   .mj-format-card {
       min-height: 0;
       padding: 24px;
   }

   .mj-format-card__icon {
       margin-top: 26px;
   }

   .mj-application-card {
       border-radius: 22px;
   }

   .mj-form__grid {
       grid-template-columns: 1fr;
   }

   .mj-dialog {
       width: calc(100vw - 20px);
       max-height: 88vh;
   }

   .mj-dialog__panel {
       max-height: 88vh;
       padding: 20px;
   }

   .mj-footer__grid,
   .mj-footer__bottom {
       grid-template-columns: 1fr;
   }

   .mj-footer__bottom p:last-child {
       text-align: left;
   }

   .mj-city-hero__grid {
       padding-block: 46px 58px;
   }

   .mj-breadcrumbs {
       margin-bottom: 24px;
   }
}

@media (prefers-reduced-motion: reduce) {
   html {
       scroll-behavior: auto;
   }

   *,
   *::before,
   *::after {
       scroll-behavior: auto !important;
       transition-duration: .001ms !important;
       animation-duration: .001ms !important;
       animation-iteration-count: 1 !important;
   }
}

/* Vacancy architecture --------------------------------------------------- */
.mj-vacancy-hero {
   position: relative;
   overflow: hidden;
   background:
       radial-gradient(circle at 92% 16%, rgb(255 255 255 / 11%) 0 120px, transparent 121px),
       linear-gradient(128deg, #171717 0%, #242424 54%, #961117 100%);
   color: var(--mj-white);
}

.mj-vacancy-hero--city {
   background:
       radial-gradient(circle at 90% 8%, rgb(255 255 255 / 10%) 0 105px, transparent 106px),
       linear-gradient(128deg, #151515 0%, #272727 50%, #ad1319 100%);
}

.mj-vacancy-hero--role,
.mj-vacancy-hero--detail {
   background:
       radial-gradient(circle at 82% 20%, rgb(255 255 255 / 10%) 0 130px, transparent 131px),
       linear-gradient(125deg, var(--mj-red-deep) 0%, #b4141a 44%, #171717 100%);
}

.mj-vacancy-hero__grid {
   display: grid;
   min-height: 520px;
   grid-template-columns: minmax(0, 1.15fr) minmax(300px, .55fr);
   align-items: center;
   gap: clamp(32px, 7vw, 90px);
   padding-block: clamp(64px, 9vw, 104px);
}

.mj-vacancy-hero h1 {
   max-width: 850px;
   margin-bottom: 22px;
   font-size: clamp(2.7rem, 5.8vw, 5.2rem);
   font-weight: 900;
   letter-spacing: -.06em;
   line-height: .98;
}

.mj-vacancy-hero h1 span {
   color: #ffd4d5;
}

.mj-vacancy-hero__lead {
   max-width: 720px;
   margin-bottom: 30px;
   color: rgb(255 255 255 / 86%);
   font-size: clamp(1.04rem, 1.8vw, 1.24rem);
}

.mj-vacancy-hero .mj-breadcrumbs {
   color: rgb(255 255 255 / 72%);
}

.mj-vacancy-hero .mj-breadcrumbs a:hover,
.mj-vacancy-hero .mj-breadcrumbs a:focus-visible {
   color: var(--mj-white);
}

.mj-vacancy-hero__aside {
   display: grid;
   gap: 10px;
   padding: clamp(24px, 3vw, 34px);
   border: 1px solid rgb(255 255 255 / 18%);
   border-radius: 24px;
   background: rgb(8 8 8 / 55%);
   box-shadow: 0 26px 70px rgb(0 0 0 / 20%);
   backdrop-filter: blur(8px);
}

.mj-vacancy-hero__aside > strong {
   color: var(--mj-white);
   font-size: clamp(2.6rem, 5vw, 4.4rem);
   letter-spacing: -.055em;
   line-height: 1;
}

.mj-vacancy-hero__aside > span {
   color: #d7d7d7;
   font-size: .86rem;
   font-weight: 750;
}

.mj-vacancy-hero__aside hr {
   width: 100%;
   margin: 12px 0 4px;
   border: 0;
   border-top: 1px solid rgb(255 255 255 / 16%);
}

.mj-vacancy-hero__aside p {
   margin: 0;
   color: rgb(255 255 255 / 74%);
   font-size: .93rem;
}

.mj-vacancy-hero__aside button {
   width: fit-content;
   padding: 0;
   border: 0;
   background: transparent;
   color: #ffd6d7;
   cursor: pointer;
   font-size: .9rem;
   font-weight: 800;
   text-decoration: underline;
   text-underline-offset: 3px;
}

.mj-vacancy-hero__city-name {
   font-size: clamp(1.8rem, 4vw, 3rem) !important;
   line-height: 1.08 !important;
}

.mj-vacancy-status-card > strong {
   font-size: clamp(1.8rem, 4vw, 3rem);
   line-height: 1.04;
}

.mj-role-title {
   display: flex;
   align-items: flex-start;
   gap: 18px;
}

.mj-role-title > span {
   display: grid;
   width: clamp(54px, 7vw, 76px);
   height: clamp(54px, 7vw, 76px);
   flex: 0 0 auto;
   place-items: center;
   border: 1px solid rgb(255 255 255 / 20%);
   border-radius: 20px;
   background: rgb(255 255 255 / 9%);
   font-size: clamp(1.6rem, 3vw, 2.3rem);
}

.mj-role-title h1 {
   margin-top: -3px;
}

.mj-vacancy-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.mj-vacancy-card {
   display: flex;
   min-width: 0;
   min-height: 430px;
   flex-direction: column;
   padding: 28px;
   border: 1px solid #e5e5e5;
   border-radius: 24px;
   background: var(--mj-white);
   box-shadow: 0 16px 45px rgb(0 0 0 / 5%);
}

.mj-vacancy-card__top {
   display: flex;
   align-items: center;
   gap: 12px;
   margin-bottom: 22px;
}

.mj-vacancy-card__icon {
   display: grid;
   width: 52px;
   height: 52px;
   flex: 0 0 auto;
   place-items: center;
   border-radius: 16px;
   background: var(--mj-soft-red);
   font-size: 1.7rem;
}

.mj-vacancy-card__eyebrow {
   color: var(--mj-red);
   font-size: .75rem;
   font-weight: 850;
   letter-spacing: .07em;
   text-transform: uppercase;
}

.mj-vacancy-card h3 {
   margin-bottom: 12px;
   font-size: clamp(1.5rem, 2.6vw, 2rem);
   letter-spacing: -.035em;
}

.mj-vacancy-card > p:not(.mj-status-pill) {
   color: #5f5f5f;
}

.mj-vacancy-card__income {
   display: grid;
   gap: 2px;
   margin: 14px 0 4px;
   padding: 12px 14px;
   border-radius: 14px;
   background: #fff4f4;
   color: #4b1719 !important;
}

.mj-vacancy-card__income strong {
   font-size: 1rem;
}

.mj-vacancy-card__income span {
   color: #78595a;
   font-size: .76rem;
}

.mj-income-section {
   padding-bottom: 0;
}

.mj-income-card {
   display: grid;
   grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr);
   gap: clamp(24px, 5vw, 64px);
   align-items: center;
   padding: clamp(26px, 4vw, 42px);
   border: 1px solid #ead7d8;
   border-radius: 26px;
   background: linear-gradient(135deg, #fff7f7 0%, #fff 58%, #f8f8f8 100%);
   box-shadow: 0 18px 55px rgb(0 0 0 / 5%);
}

.mj-income-card__amount {
   display: grid;
   gap: 8px;
}

.mj-income-card__amount > span {
   color: var(--mj-red);
   font-size: .78rem;
   font-weight: 850;
   letter-spacing: .07em;
   text-transform: uppercase;
}

.mj-income-card__amount strong {
   color: var(--mj-ink);
   font-size: clamp(2rem, 4.5vw, 3.7rem);
   letter-spacing: -.05em;
   line-height: .98;
}

.mj-income-card__amount small {
   display: block;
   margin-top: 7px;
   color: #6e6e6e;
   font-size: .9rem;
   font-weight: 750;
   letter-spacing: 0;
}

.mj-income-card__copy h2 {
   margin-bottom: 10px;
   font-size: clamp(1.5rem, 3vw, 2.2rem);
   letter-spacing: -.035em;
}

.mj-income-card__copy p {
   max-width: 820px;
   margin: 0;
   color: #595959;
}

.mj-vacancy-card__points {
   display: grid;
   gap: 9px;
   margin: 6px 0 22px;
   padding: 0;
   list-style: none;
}

.mj-vacancy-card__points li {
   position: relative;
   padding-left: 20px;
   color: #343434;
   font-size: .9rem;
}

.mj-vacancy-card__points li::before {
   position: absolute;
   top: .55em;
   left: 2px;
   width: 7px;
   height: 7px;
   border-radius: 50%;
   background: var(--mj-red);
   content: "";
}

.mj-vacancy-card .mj-text-link {
   margin-top: auto;
}

.mj-status-pill {
   width: fit-content;
   margin: 0 0 18px;
   padding: 7px 10px;
   border-radius: 999px;
   font-size: .76rem;
   font-weight: 800;
}

.mj-status-pill--closed {
   background: #fff0f0;
   color: #9d171c;
}

.mj-status-pill--check {
   background: #fff7e8;
   color: #744500;
}

.mj-status-pill--neutral {
   background: var(--mj-soft);
   color: #555;
}

.mj-table-scroll {
   max-width: 100%;
   overflow-x: auto;
   border: 1px solid #dedede;
   border-radius: 20px;
   background: var(--mj-white);
   box-shadow: 0 16px 40px rgb(0 0 0 / 4%);
   -webkit-overflow-scrolling: touch;
}

.mj-table-scroll:focus-visible {
   outline: 3px solid #ffb7b9;
   outline-offset: 3px;
}

.mj-compare-table {
   width: 100%;
   min-width: 760px;
   border-collapse: collapse;
   text-align: left;
}

.mj-compare-table th,
.mj-compare-table td {
   padding: 18px 20px;
   border-bottom: 1px solid #e9e9e9;
   vertical-align: top;
}

.mj-compare-table thead th {
   background: #1d1d1d;
   color: var(--mj-white);
   font-size: .86rem;
}

.mj-compare-table tbody th {
   width: 28%;
   color: var(--mj-ink);
   font-size: .92rem;
}

.mj-compare-table td {
   color: #4d4d4d;
   font-size: .92rem;
}

.mj-compare-table tbody tr:last-child th,
.mj-compare-table tbody tr:last-child td {
   border-bottom: 0;
}

.mj-vacancy-next {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 30px;
}

.mj-vacancy-next h2 {
   margin-bottom: 10px;
   color: var(--mj-white);
   font-size: clamp(2rem, 4vw, 3.4rem);
   letter-spacing: -.045em;
}

.mj-vacancy-next p:not(.mj-eyebrow) {
   max-width: 680px;
   margin-bottom: 0;
   color: #bdbdbd;
}

.mj-content-split {
   display: grid;
   grid-template-columns: minmax(0, 1.1fr) minmax(280px, .7fr);
   align-items: start;
   gap: clamp(30px, 7vw, 90px);
}

.mj-content-split h2,
.mj-role-details h2 {
   margin-bottom: 16px;
   font-size: clamp(2rem, 4vw, 3.3rem);
   letter-spacing: -.045em;
   line-height: 1.04;
}

.mj-content-split > div:first-child > p:not(.mj-eyebrow) {
   max-width: 720px;
   color: white;
   font-size: 1.02rem;
}

.mj-info-panel {
   padding: 26px;
   border: 1px solid #e1e1e1;
   border-left: 5px solid var(--mj-red);
   border-radius: 18px;
   background: var(--mj-white);
}

.mj-info-panel strong {
   display: block;
   margin-bottom: 9px;
   font-size: 1.12rem;
}

.mj-info-panel p {
   margin: 0;
   color: #5d5d5d;
}

.mj-role-details {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 20px;
}

.mj-role-details > article {
   padding: clamp(24px, 4vw, 40px);
   border: 1px solid #e4e4e4;
   border-radius: 24px;
   background: var(--mj-white);
}

.mj-large-list {
   display: grid;
   gap: 13px;
   margin: 0;
   padding: 0;
   list-style: none;
}

.mj-large-list li {
   display: grid;
   grid-template-columns: 28px 1fr;
   gap: 10px;
   align-items: start;
   color: #353535;
}

.mj-large-list li > span {
   display: grid;
   width: 26px;
   height: 26px;
   place-items: center;
   border-radius: 50%;
   background: #eaf7ef;
   color: #136836;
   font-size: .8rem;
   font-weight: 900;
}

.mj-large-list--neutral li > span {
   background: var(--mj-soft-red);
   color: var(--mj-red-deep);
}

.mj-recruitment-banner {
   display: grid;
   grid-template-columns: minmax(0, 1fr) auto;
   align-items: center;
   gap: 28px;
   padding: clamp(26px, 5vw, 46px);
   border: 1px solid #f0d9db;
   border-radius: 26px;
   background: linear-gradient(135deg, #fff5f5 0%, #fff 100%);
}

.mj-recruitment-banner--closed {
   border: 1px solid #f0c7c9;
   background: #fff5f5;
}

.mj-recruitment-banner h2 {
   margin-bottom: 10px;
   font-size: clamp(1.8rem, 3.7vw, 3rem);
   letter-spacing: -.04em;
}

.mj-recruitment-banner p:not(.mj-eyebrow) {
   max-width: 760px;
   margin-bottom: 0;
   color: #595959;
}

.mj-city-link-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 10px;
}

.mj-city-link-grid a {
   display: flex;
   min-width: 0;
   align-items: center;
   justify-content: space-between;
   gap: 12px;
   padding: 14px 16px;
   border: 1px solid #e5e5e5;
   border-radius: 14px;
   background: var(--mj-white);
   color: #303030;
   font-size: .9rem;
   font-weight: 750;
   text-decoration: none;
}

.mj-city-link-grid a:hover,
.mj-city-link-grid a:focus-visible {
   border-color: #efb4b6;
   background: var(--mj-soft-red);
   color: var(--mj-red-deep);
}

.mj-city-link-grid a span:first-child {
   min-width: 0;
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.mj-centered-action {
   display: flex;
   justify-content: center;
   margin-top: 30px;
}

.mj-related-roles {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.mj-related-roles a {
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   padding: 22px;
   border: 1px solid #383838;
   border-radius: 18px;
   background: #202020;
   color: var(--mj-white);
   text-decoration: none;
}

.mj-related-roles a:hover,
.mj-related-roles a:focus-visible {
   border-color: #6f6f6f;
   background: #282828;
}

.mj-related-roles span {
   color: #d2d2d2;
   font-size: .86rem;
   font-weight: 700;
}

@media (max-width: 980px) {
   .mj-vacancy-hero__grid,
   .mj-content-split {
       grid-template-columns: 1fr;
   }

   .mj-vacancy-hero__aside {
       max-width: 650px;
   }

   .mj-vacancy-grid {
       grid-template-columns: 1fr;
   }

   .mj-vacancy-card {
       min-height: 0;
   }

   .mj-role-details {
       grid-template-columns: 1fr;
   }

   .mj-recruitment-banner {
       grid-template-columns: 1fr;
   }

   .mj-city-link-grid {
       grid-template-columns: repeat(3, minmax(0, 1fr));
   }
}

@media (max-width: 760px) {
   .mj-vacancy-hero__grid {
       min-height: auto;
       padding-block: 46px 58px;
   }

   .mj-vacancy-hero h1 {
       font-size: clamp(2.4rem, 11vw, 4.1rem);
   }

   .mj-role-title {
       display: block;
   }

   .mj-role-title > span {
       margin-bottom: 18px;
   }

   .mj-vacancy-next {
       align-items: stretch;
       flex-direction: column;
   }

   .mj-vacancy-next .mj-button,
   .mj-recruitment-banner .mj-button {
       width: 100%;
   }

   .mj-city-link-grid,
   .mj-related-roles {
       grid-template-columns: 1fr;
   }

   .mj-related-roles a {
       align-items: flex-start;
       flex-direction: column;
       gap: 6px;
   }
}

/* Stage 08: editorial / verified-content surfaces */
.mj-fact-grid,
.mj-knowledge-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 16px;
}

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

.mj-fact-card,
.mj-knowledge-card {
   min-width: 0;
   border: 1px solid #e7e7e7;
   border-radius: 20px;
   background: #fff;
   padding: 24px;
   box-shadow: 0 12px 32px rgba(17, 17, 17, .05);
}

.mj-fact-card h3,
.mj-knowledge-card h3 {
   margin: 0 0 10px;
   font-size: clamp(1.05rem, 1.6vw, 1.3rem);
   line-height: 1.25;
}

.mj-fact-card p,
.mj-knowledge-card p {
   margin: 0;
   color: #555;
   line-height: 1.65;
}

.mj-knowledge-card {
   display: flex;
   flex-direction: column;
   align-items: flex-start;
   gap: 12px;
}

.mj-knowledge-card .mj-text-link {
   margin-top: auto;
}

.mj-knowledge-card__number {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   min-width: 42px;
   min-height: 30px;
   border-radius: 999px;
   background: #f8e8e9;
   color: #b80f16;
   font-weight: 800;
   font-size: .82rem;
   letter-spacing: .04em;
}

.mj-article-hero {
   background: linear-gradient(135deg, #191919 0%, #2c1011 100%);
   color: #fff;
   padding: clamp(48px, 7vw, 88px) 0;
}

.mj-article-hero__inner {
   /* Keep the hero on the same left grid line as the article below. */
   max-width: var(--mj-container);
}

.mj-article-hero h1 {
   max-width: 900px;
   margin: 14px 0 18px;
   font-size: clamp(2.2rem, 5vw, 4.35rem);
   line-height: .98;
   letter-spacing: -.045em;
}

.mj-article-hero p:last-child {
   max-width: 760px;
   margin: 0;
   color: rgba(255, 255, 255, .82);
   font-size: clamp(1.05rem, 2vw, 1.25rem);
   line-height: 1.65;
}

.mj-article {
   padding: clamp(44px, 7vw, 84px) 0;
}

.mj-article__grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr) 290px;
   gap: clamp(32px, 6vw, 72px);
   align-items: start;
}

.mj-article__body {
   min-width: 0;
   max-width: 820px;
}

.mj-article__body h2 {
   margin: 42px 0 14px;
   color: #171717;
   font-size: clamp(1.55rem, 3vw, 2.15rem);
   letter-spacing: -.025em;
}

.mj-article__body h2:first-child {
   margin-top: 0;
}

.mj-article__body p,
.mj-article__body li {
   color: #3f3f3f;
   font-size: 1.06rem;
   line-height: 1.78;
}

.mj-article-callout,
.mj-source-box {
   border-radius: 18px;
   background: #f6f6f6;
   padding: 22px;
}

.mj-article-callout {
   margin: 32px 0;
   border-left: 4px solid #d71920;
}

.mj-article-callout strong,
.mj-source-box strong {
   display: block;
   margin-bottom: 8px;
   color: #171717;
   font-size: 1.05rem;
}

.mj-article-callout p,
.mj-source-box p {
   margin: 0;
}

.mj-article__aside {
   position: sticky;
   top: 96px;
}

.mj-source-box {
   display: grid;
   gap: 10px;
   border: 1px solid #e5e5e5;
   background: #fff;
   box-shadow: 0 14px 34px rgba(17, 17, 17, .05);
}

.mj-source-box a,
.mj-inline-links a {
   color: #b51017;
   text-decoration-thickness: 1px;
   text-underline-offset: 3px;
}

.mj-source-box a:hover,
.mj-inline-links a:hover {
   color: #7f0b10;
}

.mj-inline-links {
   display: grid;
   gap: 10px;
   margin-top: 18px;
}

@media (max-width: 980px) {
   .mj-fact-grid {
       grid-template-columns: repeat(2, minmax(0, 1fr));
   }

   .mj-article__grid {
       grid-template-columns: 1fr;
   }

   .mj-article__aside {
       position: static;
   }
}

@media (max-width: 720px) {
   .mj-fact-grid,
   .mj-knowledge-grid {
       grid-template-columns: 1fr;
   }

   .mj-fact-card,
   .mj-knowledge-card {
       padding: 20px;
       border-radius: 16px;
   }

   .mj-article-hero h1 {
       font-size: clamp(2rem, 12vw, 3.1rem);
   }
}

/* MagnetJob live UX pass — 2026-09-09 */
.mj-faq--light details {
   border-color: #d9d9d9;
}

.mj-faq--light summary {
   color: var(--mj-ink);
}

.mj-faq--light summary::after {
   background: #ececec;
   color: #242424;
}

.mj-faq--light details p {
   color: #555;
}

.mj-section--faq-light .mj-content-split > div:first-child > p:not(.mj-eyebrow) {
   color: #666;
}

.mj-dialog--city {
   width: min(94vw, 760px);
   max-height: none;
}

.mj-dialog--city .mj-dialog__panel {
   min-height: 560px;
   max-height: none;
   overflow: visible;
   padding: clamp(24px, 4vw, 36px);
}

.mj-city-search--modal .mj-combobox__list--modal {
   position: static;
   max-height: none;
   overflow: visible;
   margin-top: 12px;
   box-shadow: none;
}

.mj-city-search--modal .mj-combobox__option {
   min-height: 46px;
   padding: 11px 14px;
}

.mj-select-native {
   position: absolute !important;
   width: 1px !important;
   height: 1px !important;
   overflow: hidden !important;
   opacity: 0 !important;
   pointer-events: none !important;
}

.mj-field--custom-select {
   width: 100%;
   padding: 0 48px 0 15px;
   border: 1px solid #cecece;
   color: #6f6f6f;
   cursor: pointer;
   font: inherit;
   text-align: left;
}

.mj-field--custom-select:hover {
   border-color: #aaa;
}

.mj-field--custom-select:focus-visible,
.mj-field--custom-select[aria-expanded="true"] {
   border-color: var(--mj-red);
   outline: 0;
   box-shadow: 0 0 0 3px rgb(215 25 32 / 11%);
}

.mj-field--custom-select.is-filled {
   color: var(--mj-ink);
}

.mj-field--custom-select .mj-field__chevron {
   transition: transform .15s ease;
}

.mj-field--custom-select[aria-expanded="true"] .mj-field__chevron {
   transform: rotate(180deg);
}

.mj-job-select__list {
   position: absolute;
   z-index: 70;
   top: calc(100% + 7px);
   right: 0;
   left: 0;
   padding: 7px;
   border: 1px solid #d4d4d4;
   border-radius: 14px;
   background: var(--mj-white);
   box-shadow: 0 18px 45px rgb(0 0 0 / 15%);
}

.mj-job-select__option {
   display: grid;
   width: 100%;
   min-height: 48px;
   grid-template-columns: 30px 1fr;
   gap: 9px;
   align-items: center;
   padding: 10px 12px;
   border: 0;
   border-radius: 9px;
   background: transparent;
   color: var(--mj-ink);
   cursor: pointer;
   text-align: left;
}

.mj-job-select__option:hover,
.mj-job-select__option.is-active,
.mj-job-select__option.is-selected {
   background: var(--mj-soft-red);
   color: var(--mj-red-deep);
}

.mj-job-select__option span {
   font-size: 1.25rem;
}

.mj-job-select__option strong {
   font-size: .94rem;
}

@media (max-width: 720px) {
   .mj-dialog--city {
      width: calc(100vw - 16px);
      max-height: 94vh;
   }

   .mj-dialog--city .mj-dialog__panel {
      min-height: min(650px, calc(94vh - 16px));
      max-height: 94vh;
      overflow-y: auto;
      padding: 20px;
   }

   .mj-city-search--modal .mj-combobox__list--modal {
      overflow: visible;
   }
}

/* MagnetJob UX/content polish — 2026-09-09 */
/* Final raster role icons: pre-rendered PNG assets, no SVG geometry. */
.mj-role-icon {
   position: relative;
   display: inline-block;
   flex: 0 0 auto;
   overflow: visible;
   aspect-ratio: 1 / 1;
   border: 0;
   background: transparent;
   box-shadow: none;
   line-height: 0;
}

.mj-role-icon__image {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: contain;
   object-position: center;
}

.mj-format-card__icon {
   width: 84px;
   height: 84px;
   margin: 34px 0 24px;
   padding: 0;
   border: 0;
   border-radius: 22px;
   background: transparent;
   font-size: 0;
}

.mj-vacancy-card__icon {
   width: 66px;
   height: 66px;
   padding: 0;
   border: 0;
   border-radius: 18px;
   background: transparent;
   font-size: 0;
}

.mj-role-mini__icon {
   width: 54px;
   height: 54px;
   border: 0;
   border-radius: 16px;
   background: transparent;
   font-size: 0;
}

.mj-role-title > .mj-role-title__icon {
   width: clamp(62px, 8vw, 86px);
   height: clamp(62px, 8vw, 86px);
   border: 0;
   border-radius: 24px;
   background: transparent;
}

.mj-job-select__role-icon {
   width: 40px;
   height: 40px;
   border: 0;
   border-radius: 12px;
   background: transparent;
   box-shadow: none;
}

/* Vacancy editorial block */
.mj-job-about-section {
   background: linear-gradient(180deg, #fafafa 0%, #fff 100%);
}

.mj-job-about {
   display: grid;
   grid-template-columns: minmax(250px, 31%) minmax(0, 1fr);
   overflow: hidden;
   border: 1px solid #e8e8e8;
   border-radius: 30px;
   background: #fff;
   box-shadow: 0 24px 64px rgb(17 17 17 / 7%);
}

.mj-job-about__header {
   position: relative;
   overflow: hidden;
   padding: clamp(28px, 4vw, 46px);
   background:
       radial-gradient(circle at 90% 8%, rgb(255 255 255 / 11%) 0 92px, transparent 94px),
       linear-gradient(155deg, #1b1b1b 0%, #281011 52%, #9d0b10 155%);
   color: #fff;
}

.mj-job-about__header::after {
   position: absolute;
   right: -80px;
   bottom: -90px;
   width: 210px;
   height: 210px;
   border: 1px solid rgb(255 255 255 / 10%);
   border-radius: 50%;
   content: "";
}

.mj-job-about__icon {
   width: 82px;
   height: 82px;
   margin: 30px 0 24px;
   border-radius: 24px;
}

.mj-job-about__header h2 {
   position: relative;
   z-index: 1;
   margin: 0;
   color: #fff;
   font-size: clamp(1.8rem, 3vw, 2.6rem);
   line-height: 1.04;
   letter-spacing: -.035em;
}

.mj-job-about__city {
   position: relative;
   z-index: 1;
   display: inline-flex;
   margin: 12px 0 0;
   padding: 7px 11px;
   border: 1px solid rgb(255 255 255 / 18%);
   border-radius: 999px;
   color: #fff;
   background: rgb(255 255 255 / 8%);
   font-size: .86rem;
   font-weight: 750;
}

.mj-job-about__note {
   position: relative;
   z-index: 1;
   margin: 24px 0 0;
   color: rgb(255 255 255 / 76%);
   font-size: .96rem;
   line-height: 1.65;
}

.mj-job-copy {
   min-width: 0;
   padding: clamp(30px, 5vw, 58px);
   color: #3e3e3e;
}

.mj-job-copy > p {
   max-width: 74ch;
   margin: 0 0 18px;
   color: #444;
   font-size: 1.02rem;
   line-height: 1.76;
}

.mj-job-copy > p:first-child {
   margin-bottom: 12px;
   color: #171717;
   font-size: clamp(1.16rem, 2vw, 1.34rem);
   font-weight: 720;
   line-height: 1.55;
   letter-spacing: -.012em;
}

.mj-job-copy > p:nth-child(2) {
   margin-bottom: 28px;
   color: #626262;
   font-size: 1rem;
}

.mj-job-copy > p:has(> b:first-child) {
   margin: 14px 0;
   padding: 17px 20px;
   border: 1px solid #ededed;
   border-left: 4px solid var(--mj-red);
   border-radius: 14px;
   background: #fafafa;
}

.mj-job-copy > p > b:first-child {
   color: #191919;
   font-weight: 850;
}

.mj-job-copy > p:has(> b:first-child) > b:first-child {
   display: block;
   margin-bottom: 4px;
   color: var(--mj-red-deep);
   font-size: .9rem;
   letter-spacing: .015em;
}

.mj-job-copy > ul {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 10px;
   margin: 12px 0 28px;
   padding: 0;
   list-style: none;
}

.mj-job-copy > ul > li {
   position: relative;
   padding: 13px 14px 13px 42px;
   border: 1px solid #ededed;
   border-radius: 13px;
   color: #333;
   background: #fff;
   line-height: 1.5;
}

.mj-job-copy > ul > li::before {
   position: absolute;
   top: 13px;
   left: 13px;
   display: grid;
   width: 20px;
   height: 20px;
   place-items: center;
   border-radius: 50%;
   background: #f7dfe0;
   color: var(--mj-red-deep);
   content: "✓";
   font-size: .72rem;
   font-weight: 900;
}

.mj-job-copy > p:last-child {
   max-width: none;
   margin: 30px 0 0;
   padding: 18px 20px;
   border-radius: 15px;
   background: linear-gradient(135deg, #f9e7e8 0%, #fff 100%);
   color: #321214;
   font-weight: 700;
}

/* FAQ contrast: dark FAQ stays readable; light FAQ uses a branded control. */
.mj-section--dark .mj-faq-layout__intro > p:last-child,
.mj-section--dark .mj-section-heading > p,
.mj-section--dark .mj-section-heading div + p {
   color: #dedede;
}

.mj-faq details p {
   color: #e0e0e0;
}

.mj-faq summary::after {
   background: #3a3a3a;
   color: #fff;
}

.mj-faq--light summary::after {
   background: linear-gradient(145deg, #db1b22 0%, #a90a10 100%);
   color: #fff;
   box-shadow: 0 6px 15px rgb(169 10 16 / 18%);
}

.mj-faq--light details p {
   color: #454545;
}

.mj-section--faq-light .mj-content-split > div:first-child > p:not(.mj-eyebrow) {
   color: #4f4f4f;
}

/* Privacy page */
.mj-privacy-intro-card {
   display: grid;
   grid-template-columns: minmax(0, 1.35fr) minmax(230px, .65fr);
   gap: 24px;
   margin-bottom: 34px;
   padding: clamp(24px, 4vw, 34px);
   border: 1px solid #e7e7e7;
   border-radius: 24px;
   background: linear-gradient(135deg, #fff 0%, #faf5f5 100%);
   box-shadow: 0 16px 40px rgb(17 17 17 / 5%);
}

.mj-privacy-intro-card h2 {
   margin-top: 0;
}

.mj-privacy-operator {
   align-self: start;
   padding: 20px;
   border-radius: 18px;
   background: #191919;
   color: #fff;
}

.mj-privacy-operator span {
   display: block;
   margin-bottom: 7px;
   color: #ffb7ba;
   font-size: .72rem;
   font-weight: 850;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.mj-privacy-operator strong {
   display: block;
   font-size: 1.08rem;
   line-height: 1.45;
}

.mj-privacy-operator p {
   margin: 7px 0 0;
   color: #d7d7d7;
   font-size: .92rem;
   line-height: 1.5;
}

.mj-privacy-table {
   display: grid;
   gap: 12px;
   margin: 18px 0 24px;
}

.mj-privacy-table__row {
   display: grid;
   grid-template-columns: minmax(150px, .55fr) minmax(0, 1.45fr);
   gap: 18px;
   padding: 17px 18px;
   border: 1px solid #e9e9e9;
   border-radius: 14px;
   background: #fafafa;
}

.mj-privacy-table__row strong {
   color: #181818;
}

.mj-privacy-table__row p {
   margin: 0;
}

.mj-privacy-rights {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 12px;
   margin: 18px 0 24px;
   padding: 0;
   list-style: none;
}

.mj-privacy-rights li {
   position: relative;
   padding: 15px 16px 15px 44px;
   border: 1px solid #e9e9e9;
   border-radius: 14px;
   background: #fff;
}

.mj-privacy-rights li::before {
   position: absolute;
   top: 16px;
   left: 15px;
   display: grid;
   width: 20px;
   height: 20px;
   place-items: center;
   border-radius: 50%;
   background: #f7dfe0;
   color: var(--mj-red-deep);
   content: "✓";
   font-size: .72rem;
   font-weight: 900;
}

@media (max-width: 820px) {
   .mj-job-about,
   .mj-privacy-intro-card,
   .mj-privacy-table__row {
       grid-template-columns: 1fr;
   }

   .mj-job-about__header {
       padding-bottom: 34px;
   }

   .mj-job-copy > ul,
   .mj-privacy-rights {
       grid-template-columns: 1fr;
   }
}

@media (max-width: 560px) {
   .mj-format-card__icon {
       width: 76px;
       height: 76px;
       border-radius: 23px;
   }

   .mj-vacancy-card__icon {
       width: 62px;
       height: 62px;
   }

   .mj-job-copy {
       padding: 26px 20px;
   }
}
.mj-job-select__option {
   grid-template-columns: 36px 1fr;
   gap: 11px;
}


/* Final typography system — Onest, tuned for Russian recruitment content. */
:root {
   --mj-font: "Onest", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
   font-family: var(--mj-font);
}

body {
   font-family: var(--mj-font);
   font-weight: 400;
   line-height: 1.62;
   letter-spacing: -0.006em;
}

button,
input,
select,
textarea {
   font-family: var(--mj-font);
}

h1,
h2,
h3,
h4,
.mj-brand__text {
   font-family: var(--mj-font);
   font-synthesis: none;
}

.mj-brand__mark,
.mj-brand__text {
   font-weight: 800;
}

.mj-hero__content h1,
.mj-city-hero h1,
.mj-vacancy-hero h1,
.mj-article-hero h1,
.mj-status-card h1 {
   font-weight: 800;
   letter-spacing: -0.04em;
   line-height: 1.02;
}

.mj-section-heading h2,
.mj-faq-layout__intro h2,
.mj-application-card__intro h2,
.mj-local-info h2,
.mj-vacancy-next h2,
.mj-content-split h2,
.mj-role-details h2,
.mj-recruitment-banner h2,
.mj-job-about__header h2 {
   font-weight: 750;
   letter-spacing: -0.026em;
   line-height: 1.08;
}

.mj-format-card h3,
.mj-steps h3,
.mj-vacancy-card h3,
.mj-article__body h2,
.mj-job-copy h3 {
   font-weight: 700;
   letter-spacing: -0.018em;
}

.mj-hero__lead,
.mj-vacancy-hero__lead,
.mj-section-heading > p,
.mj-format-card p,
.mj-steps p,
.mj-vacancy-card > p:not(.mj-status-pill),
.mj-article__body p,
.mj-article__body li,
.mj-job-copy p,
.mj-job-copy li,
.mj-faq details p {
   letter-spacing: -0.004em;
}

.mj-article__body p,
.mj-article__body li,
.mj-job-copy p,
.mj-job-copy li {
   line-height: 1.72;
}

.mj-button,
.mj-field__label,
.mj-nav a,
.mj-footer a,
.mj-city-result,
.mj-job-select__option,
.mj-status-pill {
   font-weight: 650;
}

.mj-eyebrow,
.mj-vacancy-card__eyebrow {
   font-weight: 750;
   letter-spacing: .075em;
}

@media (max-width: 720px) {
   .mj-hero__content h1,
   .mj-city-hero h1,
   .mj-vacancy-hero h1,
   .mj-article-hero h1 {
      letter-spacing: -0.032em;
      line-height: 1.04;
   }
}

/* MagnetJob APK landing — restored 2026-09-09. */
.mj-apk-hero {
   overflow: hidden;
   background:
      radial-gradient(circle at 80% 18%, rgb(215 25 32 / 24%), transparent 30%),
      linear-gradient(135deg, #151515 0%, #251012 54%, #3b0d11 100%);
   color: #fff;
}

.mj-apk-hero__grid {
   display: grid;
   grid-template-columns: minmax(0, 1.08fr) minmax(320px, .72fr);
   min-height: 650px;
   align-items: center;
   gap: clamp(40px, 7vw, 88px);
   padding-block: clamp(56px, 7vw, 92px);
}

.mj-apk-hero__content {
   position: relative;
   z-index: 2;
   max-width: 760px;
}

.mj-apk-hero h1 {
   max-width: 720px;
   margin: 14px 0 18px;
   font-size: clamp(2.55rem, 6vw, 5rem);
   font-weight: 800;
   letter-spacing: -.045em;
   line-height: 1;
}

.mj-apk-hero__lead {
   max-width: 700px;
   margin: 0;
   color: rgb(255 255 255 / 82%);
   font-size: clamp(1.05rem, 1.8vw, 1.23rem);
   line-height: 1.68;
}

.mj-apk-hero__actions {
   display: flex;
   flex-wrap: wrap;
   gap: 12px;
   margin-top: 30px;
}

.mj-apk-meta {
   display: flex;
   flex-wrap: wrap;
   gap: 8px;
   margin-top: 22px;
}

.mj-apk-meta span {
   padding: 7px 11px;
   border: 1px solid rgb(255 255 255 / 14%);
   border-radius: 999px;
   background: rgb(255 255 255 / 7%);
   color: rgb(255 255 255 / 82%);
   font-size: .8rem;
   font-weight: 650;
}

.mj-apk-hero__visual {
   position: relative;
   min-height: 510px;
}

.mj-apk-phone {
   position: absolute;
   overflow: hidden;
   width: min(245px, 64%);
   aspect-ratio: 768 / 1366;
   border: 8px solid #111;
   border-radius: 34px;
   background: #111;
   box-shadow: 0 34px 80px rgb(0 0 0 / 36%);
}

.mj-apk-phone img {
   display: block;
   width: 100%;
   height: 100%;
   object-fit: cover;
}

.mj-apk-phone--front {
   right: 7%;
   bottom: -32px;
   z-index: 2;
   transform: rotate(4deg);
}

.mj-apk-phone--back {
   left: 5%;
   top: 18px;
   opacity: .84;
   transform: rotate(-7deg) scale(.88);
}

.mj-apk-intro-grid {
   display: grid;
   grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
   align-items: start;
   gap: clamp(34px, 6vw, 76px);
}

.mj-apk-intro-grid > div > h2,
.mj-apk-install-grid h2 {
   margin: 8px 0 18px;
   font-size: clamp(2rem, 4vw, 3.35rem);
   font-weight: 750;
   letter-spacing: -.03em;
   line-height: 1.08;
}

.mj-apk-intro-grid > div > p:not(.mj-eyebrow),
.mj-apk-install-grid > div > p:not(.mj-eyebrow) {
   max-width: 740px;
   color: #4c4c4c;
   font-size: 1.05rem;
   line-height: 1.75;
}

.mj-apk-download-card {
   position: sticky;
   top: 96px;
   padding: 28px;
   border: 1px solid #e5e5e5;
   border-radius: 24px;
   background: #fff;
   box-shadow: 0 22px 52px rgb(17 17 17 / 8%);
}

.mj-apk-download-card__badge {
   display: inline-flex;
   margin-bottom: 14px;
   padding: 6px 9px;
   border-radius: 999px;
   background: #f8e8e9;
   color: #b80f16;
   font-size: .75rem;
   font-weight: 750;
}

.mj-apk-download-card h2 {
   margin: 0 0 20px;
   font-size: 1.65rem;
}

.mj-apk-download-card dl {
   display: grid;
   gap: 0;
   margin: 0 0 22px;
}

.mj-apk-download-card dl > div {
   display: flex;
   justify-content: space-between;
   gap: 18px;
   padding: 11px 0;
   border-bottom: 1px solid #ededed;
}

.mj-apk-download-card dt { color: #777; }
.mj-apk-download-card dd { margin: 0; color: #222; font-weight: 650; text-align: right; }

.mj-apk-checksum {
   margin-top: 16px;
   padding-top: 14px;
   border-top: 1px solid #ededed;
}

.mj-apk-checksum summary {
   cursor: pointer;
   color: #555;
   font-size: .86rem;
   font-weight: 650;
}

.mj-apk-checksum code {
   display: block;
   overflow-wrap: anywhere;
   margin-top: 10px;
   padding: 10px;
   border-radius: 10px;
   background: #f5f5f5;
   color: #333;
   font-size: .73rem;
   line-height: 1.55;
}

.mj-apk-feature-grid {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 14px;
}

.mj-apk-feature-grid article {
   min-height: 210px;
   padding: 24px;
   border: 1px solid #e8e8e8;
   border-radius: 20px;
   background: #fff;
}

.mj-apk-feature-grid article > span {
   display: inline-flex;
   margin-bottom: 38px;
   color: #c51219;
   font-size: .78rem;
   font-weight: 800;
   letter-spacing: .06em;
}

.mj-apk-feature-grid h3 { margin: 0 0 9px; font-size: 1.25rem; }
.mj-apk-feature-grid p { margin: 0; color: #666; line-height: 1.62; }

.mj-apk-screenshots {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 18px;
}

.mj-apk-screen {
   overflow: hidden;
   margin: 0;
   border: 1px solid #e5e5e5;
   border-radius: 20px;
   background: #111;
   box-shadow: 0 16px 36px rgb(17 17 17 / 7%);
   transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mj-apk-screen:hover {
   transform: translateY(-2px);
   border-color: #dfb2b4;
   box-shadow: 0 20px 44px rgb(17 17 17 / 12%);
}

.mj-apk-screen a {
   display: block;
   color: inherit;
   text-decoration: none;
}

.mj-apk-screen img {
   display: block;
   width: 100%;
   height: auto;
   aspect-ratio: 768 / 1366;
   object-fit: cover;
}

.mj-apk-install-grid {
   display: grid;
   grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
   align-items: start;
   gap: clamp(36px, 7vw, 88px);
}

.mj-apk-install-grid > div > p:not(.mj-eyebrow) { color: rgb(255 255 255 / 72%); }

.mj-apk-steps {
   display: grid;
   gap: 12px;
   margin: 0;
   padding: 0;
   list-style: none;
}

.mj-apk-steps li {
   display: grid;
   grid-template-columns: 46px minmax(0, 1fr);
   gap: 16px;
   align-items: start;
   padding: 19px;
   border: 1px solid rgb(255 255 255 / 12%);
   border-radius: 18px;
   background: rgb(255 255 255 / 6%);
}

.mj-apk-steps li > span {
   display: grid;
   width: 42px;
   height: 42px;
   place-items: center;
   border-radius: 13px;
   background: #d71920;
   color: #fff;
   font-weight: 800;
}

.mj-apk-steps strong { display: block; margin-bottom: 4px; font-size: 1rem; }
.mj-apk-steps p { margin: 0; color: rgb(255 255 255 / 68%); line-height: 1.6; }

.mj-apk-store-links {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 14px;
}

.mj-apk-store-links a {
   display: grid;
   gap: 7px;
   min-height: 140px;
   align-content: center;
   padding: 24px;
   border: 1px solid #e5e5e5;
   border-radius: 20px;
   background: #fff;
   color: #1d1d1d;
   text-decoration: none;
   transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.mj-apk-store-links a:hover {
   transform: translateY(-2px);
   border-color: #e2b1b3;
   box-shadow: 0 16px 34px rgb(17 17 17 / 7%);
}

.mj-apk-store-links strong { font-size: 1.15rem; }
.mj-apk-store-links span { color: #b51017; font-size: .9rem; font-weight: 650; }

.mj-apk-ios-panel h3 {
   margin: 0 0 12px;
   font-size: 1.5rem;
}

.mj-apk-ios-panel p:not(.mj-eyebrow) {
   margin-bottom: 18px;
   color: #4f4f4f;
}

.mj-apk-ios-section {
   scroll-margin-top: calc(var(--mj-header-height) + 18px);
}

.mj-apk-cta-section { padding-top: clamp(52px, 7vw, 88px); }

@media (max-width: 1100px) {
   .mj-apk-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
   .mj-apk-hero__grid,
   .mj-apk-intro-grid,
   .mj-apk-install-grid { grid-template-columns: 1fr; }
   .mj-apk-hero__grid { min-height: auto; }
   .mj-apk-hero__visual { min-height: 430px; max-width: 520px; width: 100%; margin-inline: auto; }
   .mj-apk-download-card { position: static; }
   .mj-apk-screenshots { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
   .mj-apk-hero__actions,
   .mj-apk-store-links { grid-template-columns: 1fr; }
   .mj-apk-hero__actions { display: grid; }
   .mj-apk-hero__actions .mj-button { width: 100%; }
   .mj-apk-hero__visual { min-height: 360px; }
   .mj-apk-phone { width: 53%; border-width: 6px; border-radius: 26px; }
   .mj-apk-feature-grid { grid-template-columns: 1fr; }
   .mj-apk-feature-grid article { min-height: 0; }
   .mj-apk-feature-grid article > span { margin-bottom: 20px; }
   .mj-apk-screenshots { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
   .mj-apk-screen { border-radius: 14px; }
   .mj-apk-store-links { display: grid; }
}

@media (max-width: 520px) {
   .mj-apk-screenshots { grid-template-columns: 1fr; }
}

/* V7 role landing / city-vacancy UX ------------------------------------------------ */
.mj-vacancy-hero--role .mj-vacancy-hero__grid {
   min-height: 470px;
   grid-template-columns: minmax(0, 1.28fr) minmax(280px, .48fr);
   gap: clamp(36px, 6vw, 76px);
   padding-block: clamp(54px, 7vw, 78px);
}

.mj-vacancy-hero--role h1 {
   max-width: 760px;
   margin-bottom: 18px;
   font-size: clamp(2.45rem, 4.7vw, 4.45rem);
   letter-spacing: -.052em;
   line-height: 1.01;
}

.mj-vacancy-hero--role .mj-vacancy-hero__lead {
   max-width: 680px;
   margin-bottom: 26px;
   font-size: clamp(1rem, 1.55vw, 1.15rem);
   line-height: 1.62;
}

.mj-role-hero-summary {
   gap: 8px;
   padding: clamp(24px, 3vw, 32px);
}

.mj-role-hero-summary > strong {
   margin: 3px 0 5px;
   font-size: clamp(3.4rem, 7vw, 5.8rem);
   letter-spacing: -.065em;
   line-height: .92;
}

.mj-role-hero-summary > span {
   color: #ffd5d6;
   font-size: .78rem;
   letter-spacing: .08em;
   text-transform: uppercase;
}

.mj-role-hero-summary > p {
   font-size: .95rem;
   line-height: 1.62;
}

.mj-role-hero-summary > small {
   padding-top: 12px;
   border-top: 1px solid rgb(255 255 255 / 14%);
   color: rgb(255 255 255 / 62%);
   font-size: .78rem;
   line-height: 1.55;
}

.mj-fact-grid--three {
   grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mj-fact-grid--three .mj-fact-card {
   min-height: 100%;
}

.mj-role-popular-cities {
   padding-top: clamp(58px, 7vw, 86px);
}

.mj-role-popular-cities .mj-city-link-grid,
.mj-city-link-grid--related {
   max-width: 1180px;
   margin-inline: auto;
}

.mj-role-related-cities {
   padding-block: clamp(54px, 7vw, 82px);
   border-top: 1px solid #ececec;
   background: #fff;
}

.mj-section-heading--compact {
   margin-bottom: 30px;
}

@media (max-width: 980px) {
   .mj-vacancy-hero--role .mj-vacancy-hero__grid {
      grid-template-columns: 1fr;
   }

   .mj-role-hero-summary {
      max-width: 620px;
   }

   .mj-fact-grid--three {
      grid-template-columns: 1fr;
   }
}

@media (max-width: 760px) {
   .mj-vacancy-hero--role h1 {
      font-size: clamp(2.25rem, 10.5vw, 3.7rem);
   }

   .mj-role-hero-summary > strong {
      font-size: clamp(3.2rem, 18vw, 5rem);
   }
}

@media (max-width: 720px) {
   .mj-income-card {
      grid-template-columns: 1fr;
   }
}

/* Income visibility expansion — 2026-09-11 */
.mj-role-income {
   display: grid;
   gap: 2px;
   min-width: 0;
}

.mj-role-income strong {
   font-weight: 850;
   line-height: 1.2;
}

.mj-role-income small {
   font-size: .74rem;
   line-height: 1.35;
}

.mj-role-income--card {
   margin: 14px 0 4px;
   padding: 12px 14px;
   border-radius: 14px;
   background: #fff4f4;
   color: #4b1719;
}

.mj-role-income--card strong {
   font-size: 1rem;
}

.mj-role-income--card small {
   color: #78595a;
}

.mj-role-income--format {
   margin: -6px 0 20px;
   padding: 11px 13px;
   border: 1px solid #f1d9da;
   border-radius: 13px;
   background: #fff6f6;
   color: #5b1518;
}

.mj-role-income--format strong {
   font-size: .98rem;
}

.mj-role-income--format small {
   color: #806062;
}

.mj-role-income--mini {
   margin-top: 5px;
   color: #ffb8bb;
}

.mj-role-income--mini strong {
   font-size: .79rem;
   letter-spacing: .005em;
}

.mj-income-overview {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 12px;
   margin-bottom: 14px;
}

.mj-income-overview__item {
   display: grid;
   grid-template-columns: 60px minmax(0, 1fr) auto;
   align-items: center;
   gap: 12px;
   min-width: 0;
   padding: 16px;
   border: 1px solid #ead7d8;
   border-radius: 16px;
   background: #fff;
   color: var(--mj-ink);
   text-decoration: none;
   transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.mj-income-overview__item:hover,
.mj-income-overview__item:focus-visible {
   border-color: #e6afb2;
   box-shadow: 0 12px 28px rgb(0 0 0 / 6%);
   transform: translateY(-1px);
}

.mj-income-overview__icon {
   width: 60px;
   height: 60px;
   align-self: center;
   border: 0;
   border-radius: 0;
   background: transparent;
   box-shadow: none;
}

.mj-income-overview__copy {
   display: grid;
   gap: 3px;
   min-width: 0;
}

.mj-income-overview__copy strong {
   overflow: hidden;
   font-size: .9rem;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.mj-income-overview__copy small {
   color: var(--mj-muted);
   font-size: .72rem;
}

.mj-role-income--overview {
   justify-items: end;
   color: var(--mj-red-deep);
   text-align: right;
}

.mj-role-income--overview strong {
   font-size: .94rem;
   white-space: nowrap;
}

.mj-income-overview__note {
   margin: 0 0 28px;
   color: #666;
   font-size: .86rem;
   line-height: 1.55;
}

.mj-related-roles__copy {
   display: grid;
   gap: 5px;
   min-width: 0;
}

.mj-related-roles .mj-related-roles__copy > strong {
   font-size: 1rem;
}

.mj-related-roles .mj-role-income--dark {
   color: #ffb8bb;
}

.mj-related-roles .mj-role-income--dark strong {
   font-size: .82rem;
   font-weight: 800;
}

.mj-related-roles .mj-related-roles__action {
   flex: 0 0 auto;
   color: #d2d2d2;
   font-size: .86rem;
   font-weight: 700;
}

.mj-city-link-grid--related a > span:first-child {
   display: grid;
   gap: 2px;
   overflow: visible;
   text-overflow: clip;
   white-space: normal;
}

.mj-city-link-grid--related a > span:first-child small {
   color: #9a5558;
   font-size: .7rem;
   font-weight: 750;
}

.mj-job-select__option .mj-job-select__option-copy {
   display: grid;
   gap: 2px;
   min-width: 0;
   font-size: inherit;
}

.mj-job-select__option .mj-job-select__option-copy strong {
   overflow: hidden;
   text-overflow: ellipsis;
   white-space: nowrap;
}

.mj-job-select__option .mj-job-select__option-copy small {
   color: #7c6667;
   font-size: .72rem;
   font-weight: 650;
   line-height: 1.25;
}

.mj-job-select__option:hover .mj-job-select__option-copy small,
.mj-job-select__option.is-active .mj-job-select__option-copy small,
.mj-job-select__option.is-selected .mj-job-select__option-copy small {
   color: #8f3b40;
}

.mj-article-note {
   margin-top: 18px;
   padding: 13px 15px;
   border-left: 3px solid #d71920;
   border-radius: 0 10px 10px 0;
   background: #fff5f5;
   color: #655052;
   font-size: .88rem;
   line-height: 1.6;
}

@media (max-width: 980px) {
   .mj-income-overview {
      grid-template-columns: 1fr;
   }

   .mj-income-overview__item {
      grid-template-columns: 60px minmax(0, 1fr) auto;
   }
}

@media (max-width: 560px) {
   .mj-income-overview__item {
      grid-template-columns: 52px minmax(0, 1fr);
   }

   .mj-income-overview__icon {
      width: 52px;
      height: 52px;
   }

   .mj-role-income--overview {
      grid-column: 2;
      justify-items: start;
      text-align: left;
   }

   .mj-related-roles a {
      align-items: flex-start;
   }

   .mj-related-roles .mj-related-roles__action {
      max-width: 42%;
      text-align: right;
   }
}

/* Cookie consent */
.mj-cookie-consent[hidden] {
   display: none !important;
}

.mj-cookie-consent {
   position: fixed;
   z-index: 250;
   right: max(18px, env(safe-area-inset-right));
   bottom: max(18px, env(safe-area-inset-bottom));
   left: max(18px, env(safe-area-inset-left));
   display: flex;
   justify-content: center;
   pointer-events: none;
   opacity: 0;
   transform: translateY(18px);
   transition: opacity .22s ease, transform .22s ease;
}

.mj-cookie-consent.is-visible {
   opacity: 1;
   transform: translateY(0);
}

.mj-cookie-consent.is-leaving {
   opacity: 0;
   transform: translateY(12px);
}

.mj-cookie-consent__inner {
   width: min(100%, 850px);
   display: grid;
   grid-template-columns: auto minmax(0, 1fr) auto;
   align-items: center;
   gap: 16px;
   padding: 16px 18px;
   border: 1px solid rgb(255 255 255 / 12%);
   border-radius: 20px;
   background: rgb(26 26 26 / 97%);
   box-shadow: 0 20px 60px rgb(0 0 0 / 24%);
   color: var(--mj-white);
   pointer-events: auto;
   backdrop-filter: blur(16px);
}

.mj-cookie-consent__icon {
   display: grid;
   width: 44px;
   height: 44px;
   place-items: center;
   flex: 0 0 auto;
   border-radius: 14px;
   background: var(--mj-red);
   color: var(--mj-white);
   box-shadow: inset 0 0 0 1px rgb(255 255 255 / 12%);
}

.mj-cookie-consent__copy {
   min-width: 0;
}

.mj-cookie-consent__copy strong {
   display: block;
   margin-bottom: 2px;
   font-size: .96rem;
   font-weight: 850;
   letter-spacing: -.015em;
}

.mj-cookie-consent__copy p {
   margin: 0;
   color: #d0d0d0;
   font-size: .82rem;
   line-height: 1.45;
}

.mj-cookie-consent__actions {
   display: flex;
   align-items: center;
   gap: 10px;
}

.mj-cookie-consent__details,
.mj-cookie-consent__accept {
   min-height: 42px;
   display: inline-flex;
   align-items: center;
   justify-content: center;
   border-radius: 12px;
   font-size: .84rem;
   font-weight: 800;
   text-decoration: none;
   white-space: nowrap;
}

.mj-cookie-consent__details {
   padding: 9px 10px;
   color: #ededed;
}

.mj-cookie-consent__details:hover,
.mj-cookie-consent__details:focus-visible {
   color: var(--mj-white);
   text-decoration: underline;
   text-underline-offset: 3px;
}

.mj-cookie-consent__accept {
   min-width: 112px;
   padding: 9px 18px;
   border: 1px solid var(--mj-red);
   background: var(--mj-red);
   color: var(--mj-white);
   cursor: pointer;
   transition: background-color .15s ease, border-color .15s ease, transform .15s ease;
}

.mj-cookie-consent__accept:hover,
.mj-cookie-consent__accept:focus-visible {
   border-color: var(--mj-red-dark);
   background: var(--mj-red-dark);
}

.mj-cookie-consent__accept:active {
   transform: translateY(1px);
}

@media (prefers-reduced-motion: reduce) {
   .mj-cookie-consent,
   .mj-cookie-consent__accept {
      transition: none;
   }
}

@media (max-width: 720px) {
   .mj-cookie-consent {
      right: max(10px, env(safe-area-inset-right));
      bottom: max(10px, env(safe-area-inset-bottom));
      left: max(10px, env(safe-area-inset-left));
   }

   .mj-cookie-consent__inner {
      grid-template-columns: 40px minmax(0, 1fr);
      gap: 11px 12px;
      padding: 14px;
      border-radius: 18px;
   }

   .mj-cookie-consent__icon {
      width: 40px;
      height: 40px;
      border-radius: 13px;
   }

   .mj-cookie-consent__copy strong {
      font-size: .91rem;
   }

   .mj-cookie-consent__copy p {
      font-size: .77rem;
      line-height: 1.42;
   }

   .mj-cookie-consent__actions {
      grid-column: 1 / -1;
      width: 100%;
      gap: 8px;
   }

   .mj-cookie-consent__details,
   .mj-cookie-consent__accept {
      min-height: 44px;
   }

   .mj-cookie-consent__details {
      flex: 0 1 42%;
      padding-inline: 8px;
   }

   .mj-cookie-consent__accept {
      flex: 1 1 auto;
      min-width: 0;
   }
}

@media (max-width: 390px) {
   .mj-cookie-consent__copy p {
      font-size: .74rem;
   }
}
