

/* Start:/local/templates/salary_research_2026/styles/css/style.css?178904595749703*/
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-cyrillic-400-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:400;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-cyrillic-500-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:500;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-cyrillic-600-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:600;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-cyrillic-700-normal.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'IBM Plex Sans';font-style:normal;font-weight:700;font-display:swap;src:url(/local/templates/salary_research_2026/styles/css/../fonts/ibm-plex-sans-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215}

/* --------------------------------------------------------------- токены */
:root{
  --ink:#25292a;          /* основной текст и тёмные плашки */
  --green:#4dad33;        /* бренд: заливки, кнопки, графика */
  --green-ink:#35761f;    /* зелёный, проходящий по контрасту для текста */
  --green-mid:#7ec96a;
  --green-light:#b6e2a8;
  --green-pale:#e8f5e3;
  --paper:#fff;
  --mute:#6b7472;
  --line:#e4e7e6;
  --line-soft:#eff1f0;
  --wash:#f7f9f8;
  --wrap:1180px;
  --rail:250px;          /* ширина оглавления-рельса на широких экранах */
  --line-strong:#b8c0be;
  --r:14px;
  --shadow:0 1px 2px rgba(37,41,42,.05),0 8px 24px -12px rgba(37,41,42,.14);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
  font:400 20px/1.58 'IBM Plex Sans',-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  font-feature-settings:'tnum' 0;-webkit-font-smoothing:antialiased}
h1,h2,h3{margin:0;letter-spacing:-.02em;font-weight:600;line-height:1.16}
p{margin:0 0 1em}
a{color:var(--green-ink);text-underline-offset:2px}
b,strong{font-weight:600}
code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88em;
  background:var(--green-pale);padding:.12em .38em;border-radius:5px}
ul{margin:0 0 1.2em;padding-left:1.15em}
li{margin:.4em 0}
figure{margin:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px}
.cap{color:var(--mute);font-size:17px;line-height:1.5}
.todo{color:#b26a00;border-bottom:1px dashed #b26a00}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:10px 16px;z-index:100}
.skip:focus{left:0}

/* ------------------------------------------------- совместная плашка логотипов
   Два логотипа с разной геометрией: у Okdesk это только шрифтовое начертание,
   у ЮMoney рядом со словом стоит высокий знак. Поэтому высоты задаются по
   отдельности — при равной высоте бокса слово «money» выглядело бы мельче. */
.colab{display:inline-flex;align-items:center;gap:var(--colab-gap,.62em);
  font-size:var(--colab-okdesk)}
.colab img{display:block;width:auto;max-width:none}
.colab-okdesk{height:var(--colab-okdesk)}
.colab-yoomoney{height:var(--colab-yoomoney)}
.colab-zz{height:var(--colab-zz)}
.colab-x{font-size:1.05em;line-height:1;font-weight:400;opacity:.42;
  transform:translateY(-.02em)}
:focus-visible{outline:2px solid var(--green-ink);outline-offset:2px;border-radius:4px}

/* цифры в интерфейсных блоках — моноширинные, чтобы разряды вставали в колонку */
.hs b,.ks b,.bs-v,.rec-grid b,.vilka-med-v,.vilka-mean-v,.vilka-n,.vx,
table td,.facts b,.share-head b,.c-val,.c-val-s,.c-tick,.c-mark{
  font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}

/* --------------------------------------------------------------- кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font:600 15px/1 'IBM Plex Sans',sans-serif;padding:14px 22px;border-radius:999px;
  border:1.5px solid transparent;cursor:pointer;text-decoration:none;
  transition:background .15s,color .15s,border-color .15s,transform .08s}
.btn:active{transform:translateY(1px)}
.btn-solid{background:var(--green);color:#fff}
.btn-solid:hover{background:#42962b}
.btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.btn-line:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-sm{padding:9px 16px;font-size:14px}
.btn-lg{padding:16px 30px;font-size:16px}

/* --------------------------------------------------------------- навигация
   Шапка держит только логотип, текущий раздел и кнопку PDF. Полное
   оглавление — в рельсе слева, а на узких экранах в выпадающей панели. */
.nav{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.94);
  backdrop-filter:saturate(180%) blur(12px);border-bottom:1px solid var(--line)}
.nav-progress{position:absolute;left:0;right:0;bottom:-1px;height:2px;background:transparent}
.nav-progress i{display:block;height:100%;width:0;background:var(--green)}
.nav-in{display:flex;align-items:center;gap:16px;height:60px}
.nav-logo{display:inline-flex;flex:none;text-decoration:none}
.nav-here{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
  color:var(--mute);font-size:15px;font-weight:500}
.nav-here:not(:empty)::before{content:"";display:inline-block;width:5px;height:5px;
  border-radius:50%;background:var(--green);margin-right:9px;vertical-align:middle}
.nav-toggle{display:inline-flex;align-items:center;gap:8px;background:none;border:0;
  font:600 15px 'IBM Plex Sans',sans-serif;color:var(--ink);cursor:pointer;
  padding:8px 10px;border-radius:8px}
.nav-toggle:hover{background:var(--wash)}
.nav-toggle i{width:8px;height:8px;border-right:2px solid var(--mute);
  border-bottom:2px solid var(--mute);transform:translateY(-2px) rotate(45deg);
  transition:transform .18s}
.nav-toggle[aria-expanded=true] i{transform:translateY(1px) rotate(-135deg)}

.nav-links{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;
  border-bottom:1px solid var(--line);box-shadow:0 18px 40px -24px rgba(0,0,0,.35);
  max-height:72vh;overflow:auto}
.nav-links.open{display:block}
.nav-links-in{display:grid;grid-template-columns:repeat(3,1fr);gap:2px 20px;padding:18px 24px 24px}
.nav-links a{display:flex;align-items:baseline;gap:10px;padding:9px 10px;border-radius:8px;
  font-size:16px;color:var(--ink);text-decoration:none;font-weight:500}
.nav-links a:hover{background:var(--wash)}
.nav-links a.on{background:var(--green-pale);color:var(--green-ink)}
.nl-num{font-size:13px;font-weight:600;color:var(--mute);letter-spacing:.04em;flex:none}
.nav-links a.on .nl-num{color:var(--green-ink)}
.nav-cta{flex:none;white-space:nowrap}

/* рельс включается только на широких экранах, см. медиазапрос ниже */
.rail{display:none}

/* --------------------------------------------------------------- герой */
.hero{background:var(--ink);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;right:-180px;top:-180px;width:620px;height:620px;
  border-radius:50%;background:radial-gradient(circle,rgba(77,173,51,.34),transparent 62%)}
.hero .wrap{position:relative;z-index:1}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-bottom:38px}
.brand-sub{color:rgba(255,255,255,.6);font-size:14px;letter-spacing:.02em}
.colab-hero{--colab-okdesk:26px;--colab-yoomoney:36px;--colab-gap:.7em}
.colab-nav{--colab-okdesk:15px;--colab-yoomoney:21px}
.colab-foot{--colab-okdesk:20px;--colab-yoomoney:28px;--colab-zz:14px;margin-bottom:14px}
.hero h1{font-size:clamp(30px,4.4vw,54px);max-width:16em;letter-spacing:-.028em}
.hero-lead{margin:20px 0 0;max-width:34em;color:rgba(255,255,255,.76);font-size:21px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:40px 0 0}
.hs{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);
  border-radius:var(--r);padding:18px 18px 15px}
.hs b{display:block;font-size:clamp(24px,3.1vw,36px);font-weight:600;letter-spacing:-.03em;
  white-space:nowrap}
.hs span{display:block;margin-top:6px;color:rgba(255,255,255,.7);font-size:16px}
.hs:first-child{background:var(--green);border-color:var(--green)}
.hs:first-child span{color:rgba(255,255,255,.85)}
.hero-unit{margin:12px 0 0;color:rgba(255,255,255,.5);font-size:15px}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin:26px 0 0;
  color:rgba(255,255,255,.62);font-size:14px}
.hero-meta b{color:#fff;font-weight:600}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}

/* --------------------------------------------------------------- секции */
.sec{padding:64px 0;border-top:1px solid var(--line-soft)}
.sec:first-of-type{border-top:0}
.sec>.wrap>h2{font-size:clamp(28px,3.6vw,40px);margin-bottom:26px;max-width:20em}
.sec>.wrap>h2::before{content:"";display:block;width:38px;height:3px;border-radius:2px;
  background:var(--green);margin-bottom:16px}
h3{font-size:clamp(23px,2.4vw,30px);margin:40px 0 14px}
.sec p,.sec ul{max-width:64ch}
.sec-cta{background:var(--wash)}

.two-col{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:44px;align-items:start}
.col-side{position:sticky;top:80px}

.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin-bottom:20px}
.facts div{background:#fff;padding:16px 18px}
.facts b{display:block;font-size:30px;font-weight:600;letter-spacing:-.02em}
.facts span{color:var(--mute);font-size:15px}

.method{border:1px solid var(--line);border-radius:var(--r);padding:20px 22px;background:var(--wash)}
.method h3{margin:0 0 12px;font-size:22px}

/* --------------------------------------------------------------- аккордеон */
.acc{border-top:1px solid var(--line);}
.acc:last-of-type{border-bottom:1px solid var(--line)}
.acc>summary{cursor:pointer;padding:13px 28px 13px 0;position:relative;
  font-weight:600;font-size:18px;line-height:1.4;list-style:none}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary::after{content:"";position:absolute;right:4px;top:50%;width:9px;height:9px;
  border-right:2px solid var(--mute);border-bottom:2px solid var(--mute);
  transform:translateY(-70%) rotate(45deg);transition:transform .18s}
.acc[open]>summary::after{transform:translateY(-30%) rotate(-135deg)}
.acc>summary:hover{color:var(--green-ink)}
.acc-in{padding:0 0 14px}
.acc-in p{font-size:18px;color:#3a4142;margin:0}
.acc-tbl{border:1px solid var(--line);border-radius:var(--r);margin:14px 0 20px;background:#fff}
.acc-tbl>summary{padding:13px 34px 13px 16px}
.acc-tbl>summary::after{right:15px}
.acc-tbl .acc-in{padding:0}

/* --------------------------------------------------------------- ключевые выводы */
.keystrip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:30px}
.ks{border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;background:var(--wash)}
.ks b{display:block;font-size:clamp(21px,2.5vw,30px);font-weight:600;letter-spacing:-.025em;
  color:var(--green-ink);white-space:nowrap}
.ks span{color:var(--mute);font-size:16px}
.card{border:1px solid var(--line);border-radius:var(--r);padding:22px 24px;background:#fff;
  box-shadow:var(--shadow)}
.card p{margin:0;max-width:none;font-size:18px}
.card b{color:var(--green-ink);font-weight:600;white-space:nowrap}

.findings-lead{margin-bottom:26px}
.findings-lead .lead{margin-bottom:26px}
.keystrip-dark{margin:0;gap:1px;background:rgba(255,255,255,.14);border-radius:10px;
  overflow:hidden}
.keystrip-dark .ks{background:#2f3435;border:0;border-radius:0}
.keystrip-dark .ks b{color:#fff}
.keystrip-dark .ks span{color:rgba(255,255,255,.6)}
.keystrip-dark .ks:first-child{background:var(--green)}
.keystrip-dark .ks:first-child span{color:rgba(255,255,255,.85)}

.gaps{display:grid;gap:18px}
.gapc{border:1px solid var(--line);border-radius:var(--r);background:#fff;
  box-shadow:var(--shadow);padding:26px 28px;
  display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:10px 32px;align-items:start}
.gapc-head{grid-column:1/-1}
.gapc-eyebrow{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;color:var(--green-ink);background:var(--green-pale);
  border-radius:6px;padding:3px 9px;margin-bottom:12px}
.gapc h3{font-size:26px;margin:0 0 20px}
.gapc-duel{display:grid;gap:18px;align-content:start}
.gd-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  margin-bottom:8px}
.gd-name{font-size:17px;font-weight:500;color:var(--mute)}
.gd-v{font-size:clamp(26px,2.6vw,32px);font-weight:600;letter-spacing:-.03em;
  white-space:nowrap}
.gd-bar{display:block;height:14px;border-radius:7px;background:var(--wash)}
.gd-bar i{display:block;height:100%;border-radius:7px;background:var(--green)}
.gd-lo .gd-bar i{background:var(--green-light)}
.gd-lo .gd-v{color:var(--mute)}
.gd-sub{display:block;margin-top:7px;color:var(--mute);font-size:15px}
.gapc-diff{background:var(--ink);color:#fff;border-radius:12px;padding:20px;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.gapc-diff-l{font-size:13px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;
  color:rgba(255,255,255,.55)}
.gapc-diff b{display:block;margin:10px 0 2px;font-size:clamp(26px,2.5vw,32px);
  font-weight:600;letter-spacing:-.03em;color:var(--green-mid);white-space:nowrap}
.gapc-diff-p{font-size:17px;color:rgba(255,255,255,.72)}
p.gapc-text{grid-column:1/-1;margin:22px 0 0;padding-top:20px;
  border-top:1px solid var(--line-soft);max-width:none;font-size:18px;color:#3a4142}
.gapc-text b{color:var(--green-ink);font-weight:600;white-space:nowrap}

/* Врезка со вторым источником: тот же приём, что и у карточек сравнения,
   но тёмная — чтобы данные ЮMoney читались как отдельный голос, а не как
   продолжение опроса. */
.why{margin-top:26px;background:var(--ink);color:#fff;border-radius:var(--r);
  padding:26px 28px}
.why-head{display:flex;align-items:center;justify-content:space-between;gap:20px;
  margin-bottom:16px}
.why-eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--green-mid)}
.why-logo{display:block;width:auto;height:22px;flex:none;
  filter:brightness(0) invert(1);opacity:.9}
.why p{margin:0;max-width:none;font-size:19px;line-height:1.55;color:rgba(255,255,255,.82)}
.why b{color:#fff;font-weight:600;white-space:nowrap}

.verdict{margin-top:26px;border:1px solid var(--green-light);background:var(--green-pale);
  border-radius:var(--r);padding:26px 28px;display:grid;
  grid-template-columns:auto minmax(0,1fr);gap:22px;align-items:start}
.verdict-mark{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:#fff;background:var(--green-ink);border-radius:6px;padding:5px 10px;white-space:nowrap}
.verdict p{margin:0;max-width:none;font-size:20px;line-height:1.5;color:#2f3839}
.verdict b{font-weight:600}

/* ------------------------------------------------------- данные ЮMoney
   Полосы нормированы внутри карточки, поэтому подпись значения обязательна:
   без неё +24 % и «в 3,5 раза» выглядели бы одинаково длинными. */
.ymx{margin:28px 0 30px}
.ym-head{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--line)}
.ym-eyebrow{font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--mute)}
.ym-logo{display:block;width:auto;height:24px;flex:none}
.ym-cards{display:grid;gap:18px}
.ymc{border:1px solid var(--line);border-radius:var(--r);background:#fff;
  box-shadow:var(--shadow);padding:26px 28px;
  display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:10px 32px;align-items:start}
.ymc h3{grid-column:1/-1;font-size:26px;margin:0 0 20px;line-height:1.25}
.ym-rows{display:grid;gap:16px;align-content:start}
.ym-row{display:grid;grid-template-columns:120px minmax(0,1fr) auto;gap:0 14px;
  align-items:center}
.ym-lab{font-size:16px;color:var(--mute)}
.ym-bar{display:block;height:14px;border-radius:7px;background:var(--wash)}
.ym-bar i{display:block;height:100%;border-radius:7px;background:var(--green);min-width:2px}
.ym-v{font-size:19px;font-weight:600;letter-spacing:-.02em;white-space:nowrap}
.ym-row.is-flat .ym-bar i{background:var(--line-strong)}
.ym-row.is-flat .ym-v{color:var(--mute);font-weight:500}
.ym-avg{background:var(--ink);color:#fff;border-radius:12px;padding:20px;
  align-self:stretch;display:flex;flex-direction:column;justify-content:center}
.ym-avg b{font-size:clamp(26px,2.5vw,32px);font-weight:600;letter-spacing:-.03em;
  white-space:nowrap;color:var(--green-mid);margin-bottom:4px}
.ym-avg span{color:rgba(255,255,255,.6);font-size:15px}
p.ym-note{grid-column:1/-1;margin:22px 0 0;padding-top:20px;
  border-top:1px solid var(--line-soft);font-size:16px;line-height:1.45;
  color:var(--mute);max-width:none}
p.ym-src{margin-top:24px;padding-top:16px;border-top:1px solid var(--line-soft);
  max-width:none;font-size:16px}

/* --------------------------------------------------------------- перцентили */
/* селекторы с тегом: иначе .sec p с его max-width:64ch перебивает по весу */
p.lead-p{font-size:24px;line-height:1.45;letter-spacing:-.012em;max-width:24em}
.ruler{margin:34px 0 30px}
.ruler-track{position:relative;padding-top:34px}
.dots{display:flex;gap:2px;height:52px}
.dot{flex:1;border-radius:2px}
.dot-a{background:var(--green-pale)}
.dot-b{background:var(--green-light)}
.dot-c{background:var(--green)}
.dot-d{background:var(--ink)}
.rm{position:absolute;top:0;bottom:0;transform:translateX(-1px);
  font-size:14px;font-weight:600;color:var(--ink);white-space:nowrap;
  padding-left:8px;line-height:20px}
.rm i{position:absolute;left:0;top:22px;bottom:0;width:2px;background:var(--ink);
  border-radius:1px}
.rm-med{color:var(--mute)}
.rm-med i{background:var(--mute)}
.ruler-ends{display:flex;justify-content:space-between;margin-top:10px;
  color:var(--mute);font-size:15px}
.pcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}
.pc{border:1px solid var(--line);border-radius:var(--r);padding:24px;background:#fff;
  box-shadow:var(--shadow);border-top:4px solid var(--green-light)}
.pc-75{border-top-color:var(--green)}
.pc-90{border-top-color:var(--ink)}
.pc-rank{display:inline-block;font-size:13px;font-weight:600;letter-spacing:.04em;
  text-transform:uppercase;color:var(--green-ink);background:var(--green-pale);
  border-radius:6px;padding:3px 8px}
.pc-v{display:block;margin:14px 0 2px;font-size:34px;font-weight:600;
  letter-spacing:-.03em;white-space:nowrap}
.pc h3{font-size:19px;margin:0 0 10px;color:var(--mute);font-weight:500}
.pc p{margin:0;font-size:17px;color:#3a4142;max-width:none}

/* --------------------------------------------------------------- вилки */
.vilki{margin:22px 0 0;--lab:250px;--num:104px}
.vilki-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:14px;
  color:var(--mute);font-size:15px}
.lg{display:inline-flex;align-items:center;gap:7px}
.lg::before{content:"";width:16px;height:10px;border-radius:2px;flex:none}
.lg-iqr::before{background:var(--green)}
.lg-span::before{background:var(--green-light)}
.lg-med::before{width:3px;height:15px;background:var(--ink);border-radius:1px}
.lg-mean::before{width:9px;height:9px;border-radius:50%;background:#fff;
  border:2px solid var(--ink)}
.vilki-top{display:grid;grid-template-columns:var(--lab) minmax(0,1fr) repeat(3,var(--num));
  gap:0 14px;align-items:end;color:var(--mute);font-size:14px;margin-bottom:4px}
.vilki-top>span{text-align:right}
.vilki-axis{grid-column:2;position:relative;height:18px}
.vx{position:absolute;top:0;transform:translateX(-50%)}
.vx:first-child{transform:none}
.vx:last-child{transform:translateX(-100%)}
.lg-unit{margin-left:auto;font-size:14px}
.vilka{display:grid;grid-template-columns:var(--lab) minmax(0,1fr) repeat(3,var(--num));
  gap:0 14px;align-items:center;padding:9px 0;border-top:1px solid var(--line-soft);
  position:relative;outline-offset:-2px}
.vilka:hover,.vilka:focus-visible{background:var(--wash)}
.vilka-name{font-size:16px;font-weight:500;line-height:1.3;display:flex;
  align-items:center;flex-wrap:wrap;gap:6px}
.badge{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  color:var(--green-ink);background:var(--green-pale);border-radius:5px;padding:2px 6px}
.warn{cursor:help;font-size:14px;filter:grayscale(.15)}
.vilka-track{position:relative;height:22px}
.vilka-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  background:var(--line);transform:translateY(-50%)}
.v-span,.v-iqr,.v-med,.v-mean{position:absolute;top:50%;transform:translateY(-50%)}
.v-span{height:10px;background:var(--green-light);border-radius:5px}
.v-iqr{height:16px;background:var(--green);border-radius:4px}
.v-med{width:3px;height:22px;background:var(--ink);border-radius:2px;margin-left:-1.5px}
.v-mean{width:11px;height:11px;margin-left:-5.5px;border-radius:50%;background:#fff;
  border:2px solid var(--ink)}
.is-thin .v-iqr{background:repeating-linear-gradient(-45deg,var(--green),var(--green) 3px,
  var(--green-mid) 3px,var(--green-mid) 6px)}
.vilka-med-v,.vilka-mean-v,.vilka-n{text-align:right;font-size:16px}
.vilka-mean-v,.vilka-n{color:var(--mute)}
.vilka-nums{display:none;grid-column:1/-1;color:var(--mute);font-size:15px;padding-top:4px}
.vilka:hover .vilka-nums,.vilka:focus-visible .vilka-nums{
  display:block;position:absolute;left:var(--lab);bottom:calc(100% - 6px);z-index:5;
  background:var(--ink);color:#fff;padding:7px 11px;border-radius:8px;white-space:nowrap;
  box-shadow:var(--shadow);font-size:14px;grid-column:auto}

/* -------------------------------------------------- гантели: пары по округам */
.dumb{margin:22px 0 0;--dl:74px;--dn:96px;--dg:112px}
.dumb-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:14px;
  color:var(--mute);font-size:15px}
.lg-gov::before{width:11px;height:11px;border-radius:50%;background:#fff;
  border:2px solid var(--mute)}
.lg-priv::before{width:13px;height:13px;border-radius:50%;background:var(--green)}
.dumb-top{display:grid;grid-template-columns:var(--dl) minmax(0,1fr) var(--dn) var(--dn) var(--dg);
  gap:0 14px;align-items:end;color:var(--mute);font-size:14px;margin-bottom:4px}
.dumb-top>span{text-align:right}
.dumb-axis{grid-column:2;position:relative;height:18px}
.dx{position:absolute;top:0;transform:translateX(-50%)}
.dx:first-child{transform:none}
.dx:last-child{transform:translateX(-100%)}
.dumb-row{display:grid;grid-template-columns:var(--dl) minmax(0,1fr) var(--dn) var(--dn) var(--dg);
  gap:0 14px;align-items:center;padding:11px 0;border-top:1px solid var(--line-soft);
  position:relative;outline-offset:-2px}
.dumb-row:hover,.dumb-row:focus-visible{background:var(--wash)}
.dumb-name{font-size:17px;font-weight:600}
.dumb-track{position:relative;height:22px}
.dumb-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;
  background:var(--line);transform:translateY(-50%)}
.d-link,.d-gov,.d-priv{position:absolute;top:50%;transform:translateY(-50%)}
.d-link{height:8px;background:var(--green-light);border-radius:4px}
.d-gov{width:13px;height:13px;margin-left:-6.5px;border-radius:50%;background:#fff;
  border:2px solid var(--mute)}
.d-priv{width:15px;height:15px;margin-left:-7.5px;border-radius:50%;background:var(--green);
  border:2px solid var(--green)}
.is-thin .d-link{background:repeating-linear-gradient(-45deg,var(--green-light),
  var(--green-light) 3px,#fff 3px,#fff 6px)}
.dumb-gov,.dumb-priv,.dumb-gap{text-align:right;font-size:16px}
.dumb-gov{color:var(--mute)}
.dumb-gap{font-weight:600;color:var(--green-ink)}
p.dumb-note{margin:14px 0 0;color:var(--mute);font-size:15px;max-width:none;
  border-top:1px solid var(--line-soft);padding-top:12px}
.dumb-nums{display:none;grid-column:1/-1;color:var(--mute);font-size:15px;padding-top:4px}
.dumb-row:hover .dumb-nums,.dumb-row:focus-visible .dumb-nums{
  display:block;position:absolute;left:var(--dl);bottom:calc(100% - 6px);z-index:5;
  background:var(--ink);color:#fff;padding:7px 11px;border-radius:8px;white-space:nowrap;
  box-shadow:var(--shadow);grid-column:auto}

/* ----------------------------------------- матрица «сектор x уровень должности» */
.mx{display:grid;grid-template-columns:200px 1fr 1fr;gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.mx-corner,.mx-col,.mx-row,.mx-cell{background:#fff;padding:16px 18px}
.mx-corner,.mx-col{background:var(--wash)}
.mx-col{font-size:16px;font-weight:600;color:var(--mute)}
.mx-row{display:flex;align-items:center;font-size:18px;font-weight:600;background:var(--wash)}
.mx-cell b{display:block;font-size:30px;font-weight:600;letter-spacing:-.03em;
  white-space:nowrap}
.mx-bar{display:block;height:8px;border-radius:4px;background:var(--green);margin:10px 0 10px}
.mx-cell:nth-of-type(odd) .mx-bar{background:var(--green)}
.mx-who{display:none}
.mx-sub,.mx-n{display:block;color:var(--mute);font-size:15px}
.mx-n{margin-top:2px}
.mx-cell.is-thin b{color:var(--mute)}
.mx-cell.is-thin .mx-bar{background:repeating-linear-gradient(-45deg,var(--green-light),
  var(--green-light) 4px,var(--green-pale) 4px,var(--green-pale) 8px)}

/* --------------------------------------------------------------- доли */
.shares{display:grid;gap:16px;margin:20px 0 0;max-width:760px}
.share-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;
  font-size:17px;margin-bottom:6px}
.share-head b{font-weight:600;color:var(--green-ink)}
.share-bar{height:10px;border-radius:5px;background:var(--green-pale);overflow:hidden}
.share-bar i{display:block;height:100%;background:var(--green);border-radius:5px}
.share-n{color:var(--mute);font-size:15px;margin-top:5px}

/* --------------------------------------------------------------- крупная сводка */
.bigstat{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden;margin:22px 0 0}
.bs{background:#fff;padding:18px 14px}
.bs-v{font-size:24px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}
.bs-l{color:var(--mute);font-size:15px;margin-top:4px;line-height:1.35}
.bs:first-child{background:var(--green-pale)}

/* --------------------------------------------------------------- ориентиры */
.recs{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:16px;margin-top:22px}
.rec{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:#fff;
  display:flex;flex-direction:column;box-shadow:var(--shadow)}
.rec h3{font-size:22px;margin:0 0 14px}
.rec-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding-bottom:14px;
  border-bottom:1px solid var(--line-soft);margin-bottom:14px}
.rec-grid b{display:block;font-size:22px;font-weight:600;letter-spacing:-.025em;white-space:nowrap}
.rec-grid div:nth-child(2) b{color:var(--green-ink)}
.rec-grid span{color:var(--mute);font-size:14px}
.rec p{margin:0 0 14px;font-size:17px;color:#3a4142;flex:1;max-width:none}
.rec-n{color:var(--mute);font-size:14px}

/* --------------------------------------------------------------- таблицы */
.tbl-wrap{width:100%;overflow-x:auto}
table{width:100%;min-width:640px;border-collapse:collapse;font-size:16px}
th,td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--line-soft);vertical-align:top}
th{background:var(--wash);font-weight:600;font-size:14px;color:var(--mute);
  white-space:nowrap;position:sticky;top:0}
td:not(:first-child){white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:var(--wash)}

/* --------------------------------------------------------------- прочее */
.callout{border-left:3px solid var(--green);background:var(--green-pale);
  padding:16px 20px;border-radius:0 10px 10px 0;margin:18px 0 22px;
  font-size:18px;color:#2f3839;max-width:70ch}
.fig{margin:26px 0 24px;border:1px solid var(--line);border-radius:var(--r);
  padding:22px 24px 18px;background:#fff}
.chart{display:block;width:100%;height:auto;overflow:visible}
.chart text{font-family:'IBM Plex Sans',sans-serif;fill:var(--ink)}
.c-title{font-size:17px;font-weight:600}
.c-sub{font-size:14px;fill:var(--mute)}
.c-lab{font-size:14px}
.c-lab-b{font-size:15px;font-weight:600}
.c-val{font-size:14px;font-weight:600}
.c-val-s{font-size:12.5px;fill:var(--mute)}
.c-tick,.c-axis,.c-legend{font-size:13px;fill:var(--mute)}
.c-mark{font-size:12.5px;font-weight:600}
.c-mark-soft{fill:var(--mute);font-weight:400}
.c-grid{stroke:var(--line);stroke-width:1}
.fig figcaption{margin-bottom:16px;font-size:20px;font-weight:600;letter-spacing:-.015em}

.panel{background:var(--ink);color:#fff;border-radius:var(--r);padding:38px 42px;max-width:none}
.panel p{max-width:62ch;color:rgba(255,255,255,.78)}
.panel .lead{font-size:24px;line-height:1.48;color:#fff}
.panel p:last-child{margin:0}

.dl{border:1px solid var(--line);border-radius:var(--r);padding:22px;background:var(--wash)}
.dl h3{margin:0 0 14px;font-size:22px}
.dl .btn{width:100%;margin-bottom:10px}
.dl .cap{margin:6px 0 0;font-size:15px}

.sec-cta{padding:52px 0}
.cta-box{display:flex;align-items:center;justify-content:space-between;gap:32px;
  background:var(--ink);color:#fff;border-radius:var(--r);padding:34px 40px}
.cta-box h2{font-size:30px;margin-bottom:10px}
.cta-box p{margin:0;color:rgba(255,255,255,.72);font-size:18px;max-width:52ch}
.cta-box .btn{flex:none}

/* ------------------------------------------------------------- об авторах
   Две карточки-организации. Логотипы разной геометрии, поэтому высота у
   каждого своя, а выравниваются они по общей базовой линии карточки. */
.sec-orgs{padding:48px 0;background:var(--wash)}
.orgs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.org{display:flex;flex-direction:column;align-items:flex-start;
  border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:26px 28px}
.org-logo{display:block;width:auto;max-width:none;margin-bottom:18px}
.org-okdesk{height:26px}
.org-yoomoney{height:34px;margin-top:-4px}
.org p{margin:0;font-size:17px;line-height:1.5;color:#3a4142;max-width:none}
/* margin-top:auto прижимает ссылки к низу, чтобы в карточках с разным
   объёмом текста они всё равно стояли на одной линии */
.org-link{margin-top:auto;padding-top:16px;font-size:15px;color:var(--mute);
  text-decoration:none;line-height:1.2}
.org-link span{border-bottom:1px solid var(--line-strong)}
.org-link:hover{color:var(--green-ink)}
.org-link:hover span{border-bottom-color:var(--green)}

.sec-partners{padding:48px 0;background:var(--wash)}
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:22px}
.partner{display:flex;flex-direction:column;align-items:flex-start;
  border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:26px 28px}
.partner-logo{display:block;width:auto;max-width:100%}
.partner-brand{display:flex;align-items:center;width:100%;height:56px;margin-bottom:18px}
.partner-zz{height:22px}
.partner-eam{height:56px}
.partner-well{display:flex;align-items:center;justify-content:center;width:100%;
  height:56px;margin-bottom:18px;padding:12px 14px;background:var(--ink);
  border-radius:10px}
.partner-well .partner-logo{height:28px;margin:0}
.partner p{margin:0;font-size:17px;line-height:1.5;color:#3a4142;max-width:none}
.partner .org-link{margin-top:auto;padding-top:16px}

.authors{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:22px}
.author{display:flex;align-items:center;gap:14px;border:1px solid var(--line);
  border-radius:var(--r);padding:16px 18px}
.ava{width:64px;height:64px;flex:none;border-radius:50%;background:var(--green-pale);
  color:var(--green-ink);display:flex;align-items:center;justify-content:center;
  font-weight:600;font-size:18px;letter-spacing:.02em}
img.ava{object-fit:cover;object-position:center 18%;padding:0;background:var(--wash)}
.author b{display:block;font-size:18px}
.author span{color:var(--mute);font-size:15px;line-height:1.4}

.foot{background:var(--ink);color:rgba(255,255,255,.66);padding:40px 0;margin-top:8px}
.foot-in{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap}
.foot .colab-x{opacity:.5}
.foot .cap{color:rgba(255,255,255,.55);max-width:46ch;margin:0}
.foot-links{display:flex;flex-direction:column;gap:8px}
.foot-links a{color:rgba(255,255,255,.8);font-size:16px}

/* --------------------------------------------------------------- модалка */
.modal{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px}
.modal[hidden]{display:none}
.modal-bd{position:absolute;inset:0;background:rgba(37,41,42,.62)}
.modal-win{position:relative;background:#fff;border-radius:18px;padding:34px;width:min(480px,100%);
  max-height:90vh;overflow:auto;box-shadow:0 24px 70px -20px rgba(0,0,0,.4)}
.modal-win h2{font-size:26px;margin-bottom:10px}
.modal-x{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;background:none;
  font-size:26px;line-height:1;color:var(--mute);cursor:pointer;border-radius:8px}
.modal-x:hover{background:var(--wash);color:var(--ink)}
.form{display:grid;gap:14px;margin-top:20px}
.form label{display:block;font-size:15px;color:var(--mute);font-weight:500}
.form input[type=text],.form input[type=email]{display:block;width:100%;margin-top:6px;
  padding:12px 14px;border:1.5px solid var(--line);border-radius:10px;
  font:400 16px 'IBM Plex Sans',sans-serif;color:var(--ink);background:#fff}
.form input::placeholder{color:#b0b6b7}
.form input:focus{outline:none;border-color:var(--green)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.45;color:#3a4142}
.form .check input{margin-top:2px;width:17px;height:17px;flex:none;accent-color:var(--green)}
.form-msg{margin:0;font-size:14px;min-height:1.2em}
.form-msg.ok{color:var(--green-ink)}
.form-msg.err{color:#c0392b}
.is-locked{overflow:hidden}

/* ------------------------------------------------- оглавление-рельс (широкие) */
@media (min-width:1400px){
  /* рельс съедает четверть тысячи пикселей, поэтому колонку текста сужаем,
     иначе на 1440 макет упирается в края экрана */
  :root{--wrap:1120px}
  body{padding-left:var(--rail)}
  .rail{display:block;position:fixed;left:0;top:0;bottom:0;width:var(--rail);z-index:45;
    background:var(--wash);border-right:1px solid var(--line);overflow-y:auto}
  .rail-in{padding:22px 18px 28px;display:flex;flex-direction:column;min-height:100%}
  .rail-title{display:block;font-size:12px;font-weight:600;letter-spacing:.1em;
    text-transform:uppercase;color:var(--mute);padding:0 10px;margin-bottom:14px}
  .rail-list{list-style:none;margin:0;padding:0;counter-reset:none}
  .rail-list li{margin:0}
  .rail-list a{display:flex;gap:11px;align-items:baseline;padding:8px 10px;
    border-radius:9px;text-decoration:none;color:var(--mute);font-size:15px;
    line-height:1.3;font-weight:500;border-left:2px solid transparent}
  .rail-list a:hover{background:#fff;color:var(--ink)}
  .rail-list a.on{background:#fff;color:var(--green-ink);border-left-color:var(--green);
    box-shadow:var(--shadow)}
  .rail-num{flex:none;font-size:12px;font-weight:600;color:var(--line-strong);
    letter-spacing:.04em}
  .rail-list a.on .rail-num{color:var(--green)}
  .rail-top{margin-top:auto;padding:14px 10px 0;font-size:14px;color:var(--mute);
    text-decoration:none}
  .rail-top:hover{color:var(--green-ink)}
  .nav-toggle,.nav-links{display:none!important}
  .nav-here{font-size:16px}
}

/* --------------------------------------------------------------- адаптив */
@media (max-width:1080px){
  .two-col{grid-template-columns:1fr;gap:28px}
  .col-side{position:static}
  .facts{grid-template-columns:repeat(4,1fr)}
  .vilki{--lab:200px;--num:88px}
  .dumb{--dl:64px;--dn:88px;--dg:100px}
  .bigstat{grid-template-columns:repeat(3,1fr)}
  /* плашка разрыва переезжает под сравнение и вытягивается в строку */
  .gapc{grid-template-columns:1fr;gap:0}
  .gapc-diff{margin-top:20px;flex-direction:row;align-items:baseline;gap:14px;
    padding:16px 20px}
  .gapc-diff b{margin:0}
  .gapc-diff-l{margin-right:auto}
  .mx{grid-template-columns:150px 1fr 1fr}
}
@media (max-width:860px){
  .pcards{grid-template-columns:1fr}
  .pc{border-top-width:3px}
  .nav-links-in{grid-template-columns:1fr 1fr}
  .keystrip{grid-template-columns:1fr 1fr}
  .hero-stats{grid-template-columns:1fr 1fr}
  .cta-box{flex-direction:column;align-items:flex-start}
  .nav-cta{display:none}
}
@media (max-width:760px){
  body{font-size:18px;line-height:1.55}
  .lead-p{font-size:21px}
  .dots{gap:1px;height:40px}
  .rm{font-size:13px}
  .pc-v{font-size:30px}
  .sec{padding:44px 0}
  .wrap{padding:0 16px}
  .hero{padding:32px 0 44px}
  .brand{margin-bottom:26px}
  .fig{padding:16px 14px 12px}
  .panel{padding:26px 22px}
  .facts{grid-template-columns:1fr 1fr}

  /* навигация сворачивается в одну колонку, название раздела уходит из шапки */
  .nav-here{display:none}
  .nav-toggle{margin-left:auto;font-size:14px;padding:8px 6px}
  .orgs{grid-template-columns:1fr;gap:14px}
  .org{padding:22px 20px}
  .partners{grid-template-columns:1fr;gap:14px}
  .partner{padding:22px 20px}
  .ymc{grid-template-columns:1fr;padding:20px}
  .ymc h3{font-size:21px}
  .ym-avg{margin-top:20px;padding:16px 18px}
  .ym-row{grid-template-columns:minmax(0,1fr) auto;gap:0 12px}
  .ym-lab{grid-column:1/-1;margin-bottom:5px}
  .why{padding:22px 20px}
  .why-head{gap:12px}
  /* иначе «2025-му» переносится по дефису и подпись ломается пополам */
  .ym-eyebrow{font-size:11px;white-space:nowrap}
  .ym-logo{height:20px}
  .why p{font-size:18px}
  .colab-nav{--colab-okdesk:12px;--colab-yoomoney:17px;--colab-gap:.5em}
  .colab-hero{--colab-okdesk:20px;--colab-yoomoney:28px}
  .colab-foot{--colab-okdesk:17px;--colab-yoomoney:24px}
  .nav-in{gap:10px}
  .nav-links-in{grid-template-columns:1fr;padding:8px 16px 16px}
  .nav-links a{padding:11px 10px;font-size:16px}

  /* гантель тоже становится карточкой: округ, полоса, числа под ней */
  .dumb{--dl:auto;--dn:auto;--dg:auto}
  .dumb-top{grid-template-columns:1fr}
  .dumb-top>span{display:none}
  .dumb-axis{grid-column:1}
  .dumb-row{grid-template-columns:1fr auto;gap:8px 12px;padding:14px 0}
  .dumb-name{grid-area:1/1}
  .dumb-gap{grid-area:1/2}
  .dumb-track{grid-area:2/1/3/3}
  .dumb-gov,.dumb-priv{display:none}
  .dumb-nums{display:block;grid-area:3/1/4/3;padding:0;white-space:normal}
  .dumb-row:hover .dumb-nums,.dumb-row:focus-visible .dumb-nums{
    display:block;position:static;background:none;color:var(--mute);
    padding:0;white-space:normal;box-shadow:none}
  .dumb-row:hover,.dumb-row:focus-visible{background:none}

  /* матрица разворачивается в четыре карточки с собственными подписями */
  .mx{grid-template-columns:1fr 1fr}
  .mx-corner,.mx-col{display:none}
  .mx-row{grid-column:1/-1;font-size:17px}
  .mx-cell{padding:14px}
  .mx-who{display:block;color:var(--mute);font-size:14px;margin-bottom:8px;line-height:1.3}
  .mx-cell b{font-size:clamp(19px,5.4vw,24px)}
  p.dumb-note{padding-top:14px}

  .verdict{grid-template-columns:1fr;gap:14px;padding:22px}
  .verdict-mark{justify-self:start}
  .verdict p{font-size:18px}
  .gapc{padding:22px 20px}
  .gapc h3{font-size:23px}

  /* вилка перестраивается в карточку: подпись, полоса, все числа под ней */
  .vilki{--lab:auto;--num:auto}
  .vilki-top{grid-template-columns:1fr}
  .vilki-top>span{display:none}
  .vilki-axis{grid-column:1}
  .vilka{grid-template-columns:1fr;gap:6px;padding:14px 0}
  .vilka-med-v,.vilka-mean-v,.vilka-n{display:none}
  .vilka-nums{display:block;position:static;background:none;color:var(--mute);
    padding:0;white-space:normal;box-shadow:none;font-size:15px}
  .vilka:hover .vilka-nums,.vilka:focus-visible .vilka-nums{
    display:block;position:static;background:none;color:var(--mute);
    padding:0;white-space:normal;box-shadow:none;font-size:15px}
  .vilka:hover,.vilka:focus-visible{background:none}

  .recs,.authors{grid-template-columns:1fr}
  .modal{padding:0}
  .modal-win{border-radius:0;max-height:100vh;height:100%;padding:26px 20px}
}
@media (max-width:520px){
  .keystrip,.hero-stats,.facts{grid-template-columns:1fr 1fr}
  .bigstat{grid-template-columns:1fr 1fr}
  .rec-grid{grid-template-columns:1fr 1fr}
  .colab-nav{--colab-okdesk:11px;--colab-yoomoney:15px}
  .gapc-diff{flex-direction:column;align-items:flex-start;gap:2px}
  .gapc-diff b{margin:8px 0 2px}
  .mx{grid-template-columns:1fr}
  .mx-cell{padding:16px 18px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
}

/* --------------------------------------------------------------- печать и PDF */
@media print{
  @page{size:A4}
  body{font-size:10.5pt;background:#fff;padding-left:0!important}
  .nav,.hero-cta,.sec-cta,.modal,.skip,.dl .btn,.nav-progress,
  .rail,.hero-stats,.hero-unit,.hero-meta,.brand-sub{display:none!important}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}

  /* Титульный лист: логотипы, название, описание, год — и больше ничего. */
  .hero{background:var(--ink)!important;color:#fff;
    break-after:page;page-break-after:always;
    min-height:270mm;padding:9mm 8mm 10mm;margin:0;
    display:flex;align-items:stretch;box-sizing:border-box;
    -webkit-print-color-adjust:exact;print-color-adjust:exact}
  .hero .wrap{display:flex;flex-direction:column;min-height:250mm;padding:0}
  .hero .wrap::after{content:"2026";margin-top:auto;padding-top:28pt;
    font-size:15pt;font-weight:600;letter-spacing:.22em;
    color:rgba(255,255,255,.7)}
  .hero h1{font-size:26pt;max-width:13em;line-height:1.15;margin:0}
  .hero-lead{display:block!important;margin:18pt 0 0;max-width:32em;
    font-size:13pt;line-height:1.45;color:rgba(255,255,255,.78)}
  .brand{margin-bottom:36pt}
  .colab-hero{--colab-okdesk:22pt;--colab-yoomoney:30pt}

  .wrap{max-width:none;padding:0 2mm}
  .sec{padding:16pt 0;break-inside:auto}
  .sec>.wrap>h2{break-after:avoid}
  h3{break-after:avoid}
  /* Каждый график — отдельный лист: иначе высокий SVG (города, округа)
     начинается внизу страницы и обрезается по краю А4. */
  .fig{break-before:page;page-break-before:always;break-after:page;
    page-break-after:always;break-inside:avoid;page-break-inside:avoid;
    max-height:250mm;overflow:visible;display:flex;flex-direction:column}
  .fig svg.chart{max-height:215mm;width:100%;height:auto}
  .fig .mx{max-height:215mm}
  .dumb,.vilki,.ymx{break-before:page;page-break-before:always;
    break-after:page;page-break-after:always;break-inside:auto}
  .acc-tbl{break-before:page;page-break-before:always;break-inside:auto}
  thead{display:table-header-group}
  tr{break-inside:avoid;page-break-inside:avoid}
  p,li{orphans:3;widows:3}
  .card,.rec,.vilka,.author,.org,.partner,.callout,.panel{break-inside:avoid}
  .sec-orgs,.sec-partners{padding:14pt 0}
  .orgs,.partners{gap:10pt;margin-top:12pt}
  .partners{grid-template-columns:1fr 1fr 1fr}
  .org,.partner{padding:12pt 14pt}
  .org p,.partner p{font-size:10pt}
  .org-logo,.partner-logo{margin-bottom:10pt}
  .org-okdesk{height:14pt}
  .org-yoomoney{height:19pt}
  .partner-zz{height:12pt}
  .partner-eam{height:28pt}
  .partner-well{min-height:28pt;padding:6pt 8pt;margin-bottom:10pt}
  .partner-well .partner-logo{height:14pt;margin:0}
  .org-link{margin-top:8pt;font-size:9pt}
  .two-col{grid-template-columns:1fr}
  .col-side{position:static}
  /* в PDF ничего не должно оставаться свёрнутым */
  .acc>summary{list-style:none;font-size:11pt}
  .acc>summary::after{display:none}
  .acc-tbl>summary{display:none!important}
  .acc-in{display:block!important;padding-bottom:8pt}
  /* Широкая таблица с nowrap-ячейками раздвигает холст страницы и весь макет
     съезжает в левую треть листа. В печати разрешаем перенос и запрещаем
     содержимому вылезать за обёртку. */
  table{min-width:0;width:100%;font-size:8pt}
  th,td{padding:3.5pt 5pt;white-space:normal!important;overflow-wrap:anywhere}
  th{position:static}
  .tbl-wrap{overflow:hidden;max-width:100%}
  .sec p,.sec ul{max-width:none}
  .colab-foot{--colab-okdesk:11pt;--colab-yoomoney:15pt}
  .hero-stats{gap:6pt}
  .hs{padding:10pt 10pt 8pt}
  .hs b{font-size:17pt}
  .keystrip{gap:6pt}
  .ks b{font-size:15pt}
  .recs,.authors,.shares,.pcards{grid-template-columns:1fr 1fr}
  .gapc,.verdict,.why,.ymc{break-inside:avoid;box-shadow:none;padding:12pt 14pt}
  .ymx{margin:14pt 0 16pt;break-inside:avoid}
  .ym-head{padding-bottom:8pt;margin-bottom:10pt}
  .ym-logo{height:13pt}
  .why-logo{height:12pt}
  /* ширина печатной полосы попадает под мобильный брейкпоинт, поэтому вернуть
     подпись показателя влево от полосы приходится вручную */
  .ymc{grid-template-columns:minmax(0,1fr) 120pt;gap:6pt 16pt}
  .ymc h3{font-size:14pt;margin-bottom:12pt}
  .ym-rows{gap:9pt}
  .ym-row{grid-template-columns:70pt minmax(0,1fr) auto;gap:0 8pt}
  .ym-lab{grid-column:auto;margin-bottom:0}
  .ym-lab,.ym-avg span{font-size:9pt}
  .ym-v{font-size:11pt}
  .ym-avg{margin-top:0;padding:12pt}
  .ym-avg b{font-size:16pt}
  p.ym-note,p.ym-src{font-size:9pt}
  .why p{font-size:11pt}
  .why-eyebrow,.ym-eyebrow{font-size:8pt}
  .gapc h3{font-size:15pt;margin-bottom:12pt}
  .gd-v,.gapc-diff b{font-size:16pt}
  .gapc-text{font-size:9.5pt;margin-top:12pt;padding-top:10pt}
  .verdict p{font-size:11pt}
  .keystrip-dark{gap:1px}
  .dumb{--dl:56px;--dn:70px;--dg:78px}
  .dumb-name,.dumb-gov,.dumb-priv,.dumb-gap{font-size:8.5pt}
  .mx{grid-template-columns:130px 1fr 1fr;break-inside:avoid}
  .mx-corner,.mx-col,.mx-row,.mx-cell{padding:8pt 10pt}
  .mx-cell b{font-size:15pt}
  .mx-row{font-size:10pt}
  .mx-col,.mx-sub,.mx-n{font-size:8.5pt}
  .lead-p{font-size:13pt}
  .ruler{break-inside:avoid;margin:16pt 0 14pt}
  .dots{height:22pt;gap:1px}
  .rm{font-size:8pt}
  .pc{padding:10pt 12pt;break-inside:avoid;box-shadow:none}
  .pc-v{font-size:17pt;margin:8pt 0 2pt}
  .pc h3{font-size:11pt;margin:0 0 6pt}
  .pc p{font-size:9pt}
  .vilki{--lab:130px;--num:62px}
  .vilka{align-items:center;padding:3pt 0}
  .vilka-name{font-size:8.5pt}
  .vilka-med-v,.vilka-mean-v,.vilka-n{font-size:8.5pt}
  .fig{padding:10pt 12pt}
  .vilka-nums{display:block;position:static;background:none;color:var(--mute);
    padding:1pt 0 0;white-space:normal;box-shadow:none;font-size:7.5pt}
  a{text-decoration:none;color:var(--ink)}
}

/* End */
/* /local/templates/salary_research_2026/styles/css/style.css?178904595749703 */
