/* ==========================================================================
   MPKM — раздел «Решения». Автоподключение: modules/resheniya/css/resheniya.css
   (Template::css по имени модуля) — то есть только внутри /resheniya/.
   Весь слой ограничен корневым классом .mpkm-solutions: глобальные h1/.btn/
   table/img/input/.product НЕ переопределяются.
   Токены — из живой дизайн-системы (mpkm-redesign-shell.css).
   ========================================================================== */

.mpkm-solutions{
  --sol-brand:var(--brand,#fecc2f);
  --sol-brand-d:var(--brand-d,#f0bd16);
  --sol-brand-ink:var(--brand-ink,#2e2e2e);
  --sol-ink:var(--ink,#15161a);
  --sol-ink2:var(--ink2,#5b5e66);
  --sol-mut:var(--mut2,#6e7178);
  --sol-line:var(--line,#ecebe7);
  /* линии и рамки на тёплом фоне ленты CTA: осознанный токен темнее --sol-line,
     иначе делители не читаются на wash */
  --sol-line2:#e4e1db;
  /* приглушённый текст на wash: #6e7178 на #f7f5f1 даёт 4.49:1 — на волосок
     ниже AA, поэтому на тёплом фоне мьют чуть темнее */
  --sol-mut-wash:#63666d;
  --sol-wash:var(--wash,#f7f5f1);
  --sol-bg:var(--bg,#fff);
  --sol-r:13px;
  color:var(--sol-ink);
  font-family:'Golos Text','Golos',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
}
.mpkm-solutions *,
.mpkm-solutions *::before,
.mpkm-solutions *::after{box-sizing:border-box}

.mpkm-solutions h1,.mpkm-solutions h2,.mpkm-solutions h3,.mpkm-solutions h4{
  margin:0;color:var(--sol-ink);line-height:1.18;font-weight:700;letter-spacing:-.01em}
.mpkm-solutions p{margin:0 0 12px}
.mpkm-solutions a{color:inherit}
.mpkm-solutions ul,.mpkm-solutions ol{margin:0;padding:0;list-style:none}

/* переход «Каталог товаров / Каталог решений» вынесен в mpkm-header.css:
   он нужен и на /shop/, где слой решений не подключается. */

/* ---------- кнопки ---------- */
.mpkm-sol-btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;
  border-radius:var(--sol-r);border:1.5px solid transparent;font-weight:700;font-size:15px;
  text-decoration:none;cursor:pointer;transition:background .18s,border-color .18s,color .18s}
.mpkm-sol-btn--brand{background:var(--sol-brand);color:var(--sol-brand-ink)}
.mpkm-sol-btn--brand:hover{background:var(--sol-brand-d)}
.mpkm-sol-btn--ghost{border-color:var(--sol-line);color:var(--sol-ink);background:transparent}
.mpkm-sol-btn--ghost:hover{border-color:var(--sol-ink);}
.mpkm-sol-btn--white{background:var(--sol-bg);color:var(--sol-ink);border-color:var(--sol-line)}
.mpkm-sol-btn--ink{background:#17181c;color:#fff}

/* ── Цвет текста кнопок ──────────────────────────────────────────────────────
   Общее правило `.mpkm-solutions a{color:inherit}` (0,1,1) перебивало цвет
   модификатора (0,1,0): у тёмной кнопки текст наследовал чернильный и исчезал
   на чернильном фоне (1.02:1). Цвет каждого варианта задаётся явно, вес выше
   наследования, и перечислены все состояния ссылки — включая :visited. */
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:link,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:visited,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:hover,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:focus,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:focus-visible,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:active{color:#fff}
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:hover,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ink:active{background:#2b2d33}
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand,
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand:link,
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand:visited,
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand:hover,
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand:focus,
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand:active{color:var(--sol-brand-ink)}
#wrapper .mpkm-solutions a.mpkm-sol-btn--white,
#wrapper .mpkm-solutions a.mpkm-sol-btn--white:visited,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ghost,
#wrapper .mpkm-solutions a.mpkm-sol-btn--ghost:visited{color:var(--sol-ink)}
.mpkm-solutions a.mpkm-sol-btn:focus-visible,
.mpkm-solutions button:focus-visible,
.mpkm-solutions a:focus-visible,
.mpkm-solutions input:focus-visible,
.mpkm-solutions summary:focus-visible{outline:3px solid var(--sol-brand);outline-offset:2px;border-radius:8px}

/* ---------- форма «Исходные данные» ----------
   Единственный набор правил полей: используется финальной лентой CTA.
   Метки видимы, плейсхолдеры-дубли не выводятся, поля ≥44px. */
.mpkm-sol-form{background:transparent;border:0;padding:0}
.mpkm-sol-form__row{display:flex;flex-direction:column;gap:5px;margin:0;min-width:0}
#wrapper .mpkm-solutions .mpkm-sol-form label{font-size:13px;font-weight:600;color:var(--sol-ink2)}
.mpkm-sol-form__req{color:#c0392b;margin-left:2px}
.mpkm-sol-form__optmark{margin-left:6px;font-weight:500;color:var(--sol-mut-wash)}
#wrapper .mpkm-solutions .mpkm-sol-form input[type=text],
#wrapper .mpkm-solutions .mpkm-sol-form input[type=tel],
#wrapper .mpkm-solutions .mpkm-sol-form input[type=email],
#wrapper .mpkm-solutions .mpkm-sol-form textarea{width:100%;max-width:none;box-sizing:border-box;
  min-height:46px;padding:11px 14px;background:#fff;border:1px solid #d9d6d0;border-radius:9px;
  color:var(--sol-ink);font-size:15px;font-family:inherit}
#wrapper .mpkm-solutions .mpkm-sol-form textarea{height:92px;min-height:84px;max-height:220px;resize:vertical}
#wrapper .mpkm-solutions .mpkm-sol-form input::placeholder,
#wrapper .mpkm-solutions .mpkm-sol-form textarea::placeholder{color:var(--sol-mut-wash)}
#wrapper .mpkm-solutions .mpkm-sol-form input:focus,
#wrapper .mpkm-solutions .mpkm-sol-form textarea:focus{outline:2px solid var(--sol-brand);
  outline-offset:1px;border-color:var(--sol-brand);box-shadow:none}
.mpkm-sol-form .errors{color:#c0392b;font-size:13px;margin:0}
.mpkm-sol-form__form>.errors{display:none}
.mpkm-sol-form__form>.captcha{margin:0}
.mpkm-sol-form__err{margin:4px 0 0;font-size:13px;color:#c0392b}

/* контактная тройка: Имя* / Телефон* / Город */
.mpkm-sol-form__trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 14px}

/* необязательная пара «Организация и e-mail» за переключателем.
   Кнопка появляется только с JS; без скрипта поля просто видимы. */
.mpkm-sol-form__opt{margin:8px 0 10px}
.mpkm-sol-form__optbtn{display:inline-flex;align-items:center;gap:9px;min-height:44px;
  margin:0 0 2px;padding:0 10px 0 8px;background:none;border:0;border-radius:8px;text-align:left;
  font-family:inherit;font-size:14px;font-weight:600;color:var(--sol-ink);cursor:pointer;
  transition:background .15s}
.mpkm-sol-form__optbtn:hover{background:#efece6}
.mpkm-sol-form__optbtn:focus-visible{outline:2px solid var(--sol-brand);outline-offset:2px}
.mpkm-sol-form__optbtn[hidden]{display:none}
.mpkm-sol-form__optplus{position:relative;width:20px;height:20px;border:1px solid #c9c6bf;
  border-radius:6px;flex:0 0 auto;background:#fff}
.mpkm-sol-form__optplus::before,.mpkm-sol-form__optplus::after{content:"";position:absolute;
  left:50%;top:50%;width:9px;height:1.6px;background:var(--sol-ink);transform:translate(-50%,-50%)}
.mpkm-sol-form__optplus::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .15s}
.mpkm-sol-form__optbtn.is-open .mpkm-sol-form__optplus::after{transform:translate(-50%,-50%) rotate(0deg)}
.mpkm-sol-form__optnote{font-weight:500;color:var(--sol-mut-wash);white-space:nowrap}
.mpkm-sol-form__duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px}
.mpkm-sol-form__duo[hidden]{display:none}

/* описание задачи: воздух до финальной строки */
.mpkm-sol-form__row--textarea{margin:0 0 18px}

/* финальная строка: файл слева, отправка справа */
.mpkm-sol-form__final{display:flex;align-items:flex-end;justify-content:space-between;
  gap:16px 24px;flex-wrap:wrap}
.mpkm-sol-form__row--attachments{flex:1 1 340px;min-width:0}
.mpkm-sol-file{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
#wrapper .mpkm-solutions .mpkm-sol-file__btn{display:inline-flex;align-items:center;gap:9px;
  min-height:46px;padding:0 16px;background:#fff;border:1px solid #d9d6d0;border-radius:9px;
  color:var(--sol-ink);font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}
#wrapper .mpkm-solutions .mpkm-sol-file__btn:hover{border-color:var(--sol-ink)}
#wrapper .mpkm-solutions .mpkm-sol-file__btn:focus-visible{outline:2px solid var(--sol-brand);outline-offset:2px}
.mpkm-sol-file__btn svg{color:var(--sol-mut);flex:0 0 auto}
/* без JS файловый инпут остаётся видимым — базовый вид */
.mpkm-sol-form .inpfiles{min-height:44px;width:100%;padding:9px 12px;background:#fff;
  border:1px solid #d9d6d0;border-radius:9px;font-size:14px}
.mpkm-sol-file__name{font-size:13px;color:var(--sol-ink2)}
.mpkm-sol-form__hint{margin:6px 0 0;font-size:13px;line-height:1.4;color:var(--sol-mut-wash)}
.mpkm-sol-files{list-style:none;margin:6px 0 0;padding:0;font-size:13px;color:var(--sol-ink)}
.mpkm-sol-files:empty{display:none;margin:0}
.mpkm-sol-files li{display:flex;align-items:center;gap:8px;padding:2px 0}
.mpkm-sol-files__size{color:var(--sol-mut-wash)}
.mpkm-sol-files__del{border:0;background:none;font-size:16px;color:var(--sol-mut);cursor:pointer;
  min-width:28px;min-height:28px}
.mpkm-sol-files__del:hover{color:#c0392b}

.mpkm-sol-form__actions{display:flex;flex-direction:column;align-items:flex-end;flex:0 1 auto}
#wrapper .mpkm-solutions .mpkm-sol-form__submit{width:auto;min-width:260px;min-height:48px;
  margin:0;padding:0 24px;font-size:15px;font-weight:700;border-radius:13px;white-space:nowrap}
.mpkm-sol-form__privacy{margin:12px 0 0;font-size:13px;line-height:1.45;color:var(--sol-ink2);
  text-align:right}
#wrapper .mpkm-solutions .mpkm-sol-form__privacy a{color:var(--sol-ink);text-decoration:underline}

/* rich-контент решения */
.mpkm-sol-rich{margin:0 0 44px;max-width:86ch}
.mpkm-sol-rich h2{font-size:clamp(20px,2vw,26px);margin:26px 0 12px}
.mpkm-sol-rich h3{font-size:18px;margin:22px 0 10px}
.mpkm-sol-rich p{color:var(--sol-ink2);font-size:16px;line-height:1.7}
.mpkm-sol-rich ul{list-style:none;display:grid;gap:8px;margin:0 0 16px}
.mpkm-sol-rich ul li{position:relative;padding-left:22px;color:var(--sol-ink2);line-height:1.65}
.mpkm-sol-rich ul li::before{content:'';position:absolute;left:2px;top:9px;width:8px;height:8px;
  border-radius:50%;background:var(--sol-brand)}
.mpkm-sol-rich ol{counter-reset:solr;display:grid;gap:8px;margin:0 0 16px}
.mpkm-sol-rich ol li{counter-increment:solr;position:relative;padding-left:30px;color:var(--sol-ink2);line-height:1.65}
.mpkm-sol-rich ol li::before{content:counter(solr)'.';position:absolute;left:2px;font-weight:700;color:var(--sol-ink)}
.mpkm-sol-rich table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
.mpkm-sol-rich th,.mpkm-sol-rich td{padding:10px 12px;border:1px solid var(--sol-line);text-align:left;vertical-align:top}
.mpkm-sol-rich th{background:var(--sol-wash);font-weight:700}


/* ==========================================================================
   КОМПОЗИЦИЯ ПОСЛЕ АУДИТА 2026-08-10
   Светлый первый экран корня, компактный тёмный hero направления и решения,
   карточки с реальными фотографиями, этапы аккордеоном, одна форма.
   Никаких вложенных панелей со статистикой и «логикой подбора».
   ========================================================================== */

/* ---------- светлый первый экран корня ---------- */
.mpkm-sol-lead{max-width:74ch;margin:0 0 44px}
.mpkm-sol-lead__h1{font-size:clamp(30px,3.6vw,46px);margin:0 0 16px}
.mpkm-sol-lead__text{color:var(--sol-ink2);font-size:17px;line-height:1.65;margin:0 0 22px}
.mpkm-sol-lead__actions{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center}
.mpkm-sol-btn--link{min-height:44px;padding:0;border:0;background:none;
  color:var(--sol-ink);font-weight:700;text-decoration:underline;
  text-decoration-color:var(--sol-brand);text-decoration-thickness:2px;text-underline-offset:5px}
.mpkm-sol-btn--link:hover{text-decoration-color:var(--sol-ink)}

/* ---------- секции и заголовки ---------- */
.mpkm-sol-sec{margin:0 0 48px;scroll-margin-top:24px}
.mpkm-sol-sechead{margin:0 0 20px;padding:0 0 14px;border-bottom:1px solid var(--sol-line)}
.mpkm-sol-sechead h2{font-size:clamp(21px,2.1vw,28px);margin:0}
.mpkm-sol-sechead__note{margin:8px 0 0;color:var(--sol-mut);font-size:15px;line-height:1.6;max-width:78ch}
.mpkm-sol-kicker{margin:0 0 8px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sol-mut)}
.mpkm-sol-kicker--onDark{color:#bbbfc6}
.mpkm-sol-kicker--onDark a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.4)}
.mpkm-sol-empty{padding:20px 22px;border:1px solid var(--sol-line);border-radius:var(--sol-r);
  background:var(--sol-wash);color:var(--sol-ink2);line-height:1.6}

/* ---------- поиск ---------- */
.mpkm-sol-search{display:flex;flex-wrap:wrap;align-items:center;max-width:640px;margin:0 0 22px;
  border:1.5px solid var(--sol-line);border-radius:var(--sol-r);overflow:hidden;background:var(--sol-bg)}
.mpkm-sol-search:focus-within{border-color:var(--sol-brand);box-shadow:0 0 0 4px rgba(254,204,47,.26)}
.mpkm-sol-search__label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.mpkm-sol-search input{flex:1 1 220px;min-height:46px;padding:10px 16px;border:0;background:transparent;
  font:inherit;font-size:15px;color:var(--sol-ink);min-width:0}
.mpkm-sol-search input:focus{outline:none}
.mpkm-sol-search__btn{min-height:46px;padding:0 22px;border:0;background:var(--sol-brand);
  color:var(--sol-brand-ink);font:inherit;font-weight:700;cursor:pointer}
.mpkm-sol-search__btn:hover{background:var(--sol-brand-d)}
.mpkm-sol-search--local{border-style:dashed}

/* ---------- карточки направлений ---------- */
.mpkm-sol-dirgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:18px;
  align-items:start}
/* карточка без схемы не резервирует пустую медиазону */
.mpkm-sol-dircard:not(.has-pic) .mpkm-sol-dircard__body,
.mpkm-sol-task:not(.has-pic) .mpkm-sol-task__body{padding-top:16px}
.mpkm-sol-dircard{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;
  border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg);
  transition:border-color .18s,box-shadow .18s,transform .18s}
.mpkm-sol-dircard:hover{border-color:var(--sol-ink);box-shadow:0 10px 28px rgba(0,0,0,.08);transform:translateY(-2px)}
.mpkm-sol-dircard__pic{display:block;aspect-ratio:3/2;background:var(--sol-wash);overflow:hidden}
.mpkm-sol-dircard__pic img{width:100%;height:100%;object-fit:cover;display:block}
.mpkm-sol-dircard__body{display:flex;flex-direction:column;gap:6px;padding:18px 20px 20px}
.mpkm-sol-dircard__name{font-size:17px;font-weight:700;line-height:1.3;color:var(--sol-ink)}
.mpkm-sol-dircard__count{font-size:13px;font-weight:600;color:var(--sol-mut)}

.mpkm-sol-soon{margin:28px 0 0;padding:22px 24px;border:1px dashed var(--sol-line);
  border-radius:var(--sol-r);background:var(--sol-wash)}
.mpkm-sol-soon__title{font-size:17px;margin:0 0 8px}
.mpkm-sol-soon__note{margin:0 0 12px;color:var(--sol-mut);font-size:14px;line-height:1.6;max-width:80ch}
.mpkm-sol-soon__list{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.mpkm-sol-soon__list a{display:inline-flex;align-items:center;min-height:44px;padding:8px 16px;
  border:1px solid var(--sol-line);border-radius:999px;background:var(--sol-bg);
  font-size:14px;font-weight:600;text-decoration:none;color:var(--sol-ink2)}
.mpkm-sol-soon__list a:hover{border-color:var(--sol-ink);color:var(--sol-ink)}

/* ---------- карточки задач ---------- */
.mpkm-sol-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.mpkm-sol-task{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;
  border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg);
  transition:border-color .18s,box-shadow .18s}
.mpkm-sol-task:hover{border-color:var(--sol-ink);box-shadow:0 8px 22px rgba(0,0,0,.07)}
.mpkm-sol-task__pic{display:block;aspect-ratio:3/2;background:var(--sol-wash);overflow:hidden}
.mpkm-sol-task__pic img{width:100%;height:100%;object-fit:cover;display:block}
.mpkm-sol-task__body{display:flex;flex-direction:column;gap:8px;padding:18px 20px 20px}
.mpkm-sol-task__title{font-size:16px;font-weight:700;line-height:1.35;color:var(--sol-ink)}
.mpkm-sol-task__lead{color:var(--sol-mut);font-size:14px;line-height:1.55}
.mpkm-sol-task__meta{display:flex;flex-wrap:wrap;gap:6px}
.mpkm-sol-tag{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;
  background:var(--sol-wash);color:var(--sol-mut);font-size:12px;font-weight:700}
.mpkm-sol-tag--project{background:#fff3c9;color:#6b5300}
.mpkm-sol-task.is-draft{background:var(--sol-wash);border-style:dashed;cursor:default}
.mpkm-sol-task__draft{padding:0 20px 16px;color:#8a5a00;font-size:12px;font-weight:700}

/* ---------- тёмный hero направления и решения ---------- */
/* hero направления светлый: тёмная плита остаётся только у решения —
   уровни иерархии различимы при беглом скролле */
.mpkm-sol-dirhero{padding:38px 40px;border-radius:var(--sol-r);background:var(--sol-wash);
  border:1px solid var(--sol-line2);color:var(--sol-ink);margin:0 0 28px}
.mpkm-sol-dirhero .mpkm-sol-kicker--onDark{color:var(--sol-mut-wash)}
.mpkm-sol-dirhero__h1{color:var(--sol-ink);font-size:clamp(26px,3vw,38px);margin:0 0 12px}
.mpkm-sol-dirhero__lead{max-width:76ch;color:#4a4d55;font-size:16px;line-height:1.65;margin:0}

.mpkm-sol-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:32px;align-items:center;
  padding:38px 40px;border-radius:var(--sol-r);background:#15161a;color:#fff;margin:0 0 24px}
.mpkm-sol-hero:not(.has-pic){grid-template-columns:minmax(0,1fr)}
.mpkm-sol-hero h1{color:#fff}
.mpkm-sol-hero__h1{font-size:clamp(26px,3vw,40px);margin:0 0 14px}
.mpkm-sol-hero__lead{max-width:60ch;color:#d6d8dc;font-size:17px;line-height:1.6;margin:0 0 22px}
.mpkm-sol-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 18px}
.mpkm-sol-hero__note{max-width:66ch;margin:0;color:#a9adb5;font-size:13px;line-height:1.6}
.mpkm-sol-hero__pic{margin:0;border-radius:var(--sol-r);overflow:hidden;background:rgba(255,255,255,.06)}
.mpkm-sol-hero__pic img{width:100%;height:100%;max-height:340px;object-fit:cover;display:block}
.mpkm-sol-hero__pic figcaption{padding:9px 14px;color:#a9adb5;font-size:12px}

/* ---------- якорная навигация ---------- */
/* маршрут страницы: номера шагов, линейки-связки, одна рамка */
.mpkm-sol-anchors{display:flex;flex-wrap:wrap;align-items:center;gap:0;margin:0 0 40px;
  padding:10px 14px;border:1px solid var(--sol-line2);border-radius:13px;background:#fff}
.mpkm-route__no{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 auto;
  border:1.5px solid #cfccc5;border-radius:7px;font-size:10.5px;font-weight:800;color:var(--sol-ink)}
.mpkm-route__sep{flex:1 0 18px;max-width:44px;height:1px;background:var(--sol-line2)}
@media (max-width:760px){
  /* маршрут остаётся путём: одна прокручиваемая строка с линейками-связками */
  .mpkm-sol-anchors{flex-wrap:nowrap;overflow-x:auto;gap:0;-webkit-overflow-scrolling:touch}
  .mpkm-sol-anchors a{white-space:nowrap;flex:0 0 auto}
  .mpkm-route__sep{flex:0 0 14px;max-width:14px}
}
.mpkm-sol-anchors a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;
  border:1px solid var(--sol-line);border-radius:999px;background:var(--sol-bg);
  color:var(--sol-ink2);font-size:14px;font-weight:600;text-decoration:none}
.mpkm-sol-anchors a:hover{border-color:var(--sol-ink);color:var(--sol-ink)}

/* ---------- «когда нужен расчёт» ---------- */
.mpkm-sol-fit{margin:0}
.mpkm-sol-fit h2{font-size:clamp(21px,2.1vw,28px);margin:0 0 14px}
.mpkm-sol-fit p{color:var(--sol-ink2);line-height:1.65;margin:0 0 10px}

/* ---------- этапы аккордеоном ---------- */
.mpkm-sol-stages{display:grid;gap:10px}
.mpkm-sol-stage{border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg);overflow:hidden}
.mpkm-sol-stage[open]{border-color:var(--sol-ink)}
.mpkm-sol-stage__sum{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,auto) auto;gap:14px;
  align-items:center;padding:16px 20px;min-height:56px;cursor:pointer;list-style:none}
.mpkm-sol-stage__sum::-webkit-details-marker{display:none}
.mpkm-sol-stage__sum::after{content:'+';color:var(--sol-mut);font-size:20px;line-height:1}
.mpkm-sol-stage[open] .mpkm-sol-stage__sum::after{content:'\2212'}
.mpkm-sol-stage__no{font-size:13px;font-weight:800;color:var(--sol-mut)}
.mpkm-sol-stage__name{font-size:16px;font-weight:700;line-height:1.35}
.mpkm-sol-stage__name em{font-style:normal;font-size:12px;font-weight:700;color:var(--sol-mut)}
.mpkm-sol-stage__key{color:var(--sol-mut);font-size:13px;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mpkm-sol-stage__body{padding:0 20px 20px}
.mpkm-sol-stage__body > p{color:var(--sol-ink2);line-height:1.65;margin:0 0 14px}
.mpkm-sol-stage__warn{color:#8a5a00;background:#fff7e0;border-radius:10px;padding:11px 14px;font-size:14px;line-height:1.55}
.mpkm-sol-roles{display:grid;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.mpkm-sol-roles li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;font-size:14px;line-height:1.5}
.mpkm-sol-roles b{font-weight:700}
.mpkm-sol-role{padding:2px 10px;border-radius:999px;background:var(--sol-wash);color:var(--sol-mut);font-size:12px;font-weight:700}
.mpkm-sol-roles small{flex:1 1 100%;color:var(--sol-mut);font-size:13px;line-height:1.55}
.mpkm-sol-more{margin:16px 0 0;border-top:1px solid var(--sol-line);padding-top:14px}
.mpkm-sol-more > summary{min-height:44px;display:flex;align-items:center;cursor:pointer;
  font-size:14px;font-weight:700;color:var(--sol-ink2)}
.mpkm-sol-pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;align-items:stretch}
.mpkm-sol-pgrid > .pr-block__item{width:auto;margin:0;float:none}
.mpkm-sol-calc{margin:20px 0 0}

.mpkm-sol-variants{margin:28px 0 0}
.mpkm-sol-variants h3{font-size:18px;margin:0 0 12px}
.mpkm-sol-variants__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.mpkm-sol-variant{padding:18px;border:1px solid var(--sol-line);border-radius:var(--sol-r)}
.mpkm-sol-variant h4{font-size:16px;margin:0 0 6px}
.mpkm-sol-variant__cond{color:var(--sol-mut);font-size:13px;font-weight:700}

/* ---------- условия задачи ---------- */
.mpkm-sol-wizard{display:grid;gap:14px}
/* стили вопросов и пилюль — в слое «паспорт задачи» ниже */
.mpkm-sol-wizard__foot{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between}
.mpkm-sol-wizard__progress{margin:0;color:var(--sol-mut);font-size:14px;font-weight:600}
.mpkm-sol-wizard__notes{display:grid;gap:8px}
.mpkm-sol-wizard__notes p{margin:0;padding:12px 14px;border-left:3px solid var(--sol-brand);
  background:var(--sol-wash);border-radius:0 10px 10px 0;font-size:14px;color:var(--sol-ink2)}

/* ---------- объекты, документы, FAQ ---------- */
.mpkm-sol-objgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px}
.mpkm-sol-obj{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;
  border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg)}
.mpkm-sol-obj:hover{border-color:var(--sol-ink)}
.mpkm-sol-obj__pic{display:block;aspect-ratio:3/2;background:var(--sol-wash);overflow:hidden}
.mpkm-sol-obj__pic img{width:100%;height:100%;object-fit:cover;display:block}
.mpkm-sol-obj__name{padding:14px 16px;font-size:14px;font-weight:600;line-height:1.4;color:var(--sol-ink)}

.mpkm-sol-docs{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.mpkm-sol-doc{display:flex;gap:14px;align-items:center;padding:16px;min-height:72px;
  border:1px solid var(--sol-line);border-radius:var(--sol-r);text-decoration:none;background:var(--sol-bg)}
.mpkm-sol-doc:hover{border-color:var(--sol-ink)}
.mpkm-sol-doc i{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;
  min-width:56px;height:32px;padding:0 8px;border-radius:8px;background:var(--sol-brand);
  color:var(--sol-brand-ink);font-style:normal;font-size:11px;font-weight:800;text-transform:uppercase}
.mpkm-sol-doc b{display:block;font-size:15px;line-height:1.35}
.mpkm-sol-doc small{color:var(--sol-mut);font-size:13px}

.mpkm-sol-faq{display:grid;gap:8px}
.mpkm-sol-faq__item{border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg)}
.mpkm-sol-faq__item summary{cursor:pointer;list-style:none;padding:16px 18px;min-height:44px;
  font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:space-between;gap:12px}
.mpkm-sol-faq__item summary::-webkit-details-marker{display:none}
.mpkm-sol-faq__item summary::after{content:'+';color:var(--sol-mut);font-size:20px;line-height:1}
.mpkm-sol-faq__item[open] summary::after{content:'\2212'}
.mpkm-sol-faq__a{padding:0 18px 18px;color:var(--sol-ink2);line-height:1.65}

.mpkm-sol-longread{margin:0 0 44px;border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg)}
.mpkm-sol-longread > summary{min-height:52px;display:flex;align-items:center;padding:14px 20px;
  cursor:pointer;font-size:16px;font-weight:700;list-style:none}
.mpkm-sol-longread > summary::-webkit-details-marker{display:none}
.mpkm-sol-longread > summary::after{content:'+';margin-left:auto;color:var(--sol-mut);font-size:20px}
.mpkm-sol-longread[open] > summary::after{content:'\2212'}
.mpkm-sol-longread .mpkm-sol-rich{padding:0 20px 20px;margin:0}

/* ---------- чипы ---------- */
.mpkm-sol-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.mpkm-sol-chips a{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:8px 16px;
  border:1px solid var(--sol-line);border-radius:999px;background:var(--sol-bg);
  font-size:14px;font-weight:600;text-decoration:none;color:var(--sol-ink)}
.mpkm-sol-chips a:hover{border-color:var(--sol-ink);background:var(--sol-wash)}
.mpkm-sol-chips small{color:var(--sol-mut);font-weight:700}

/* ---------- проектный блок ---------- */
.mpkm-sol-project{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;
  padding:32px 36px;border-radius:var(--sol-r);background:#15161a;color:#d6d8dc;margin:0 0 48px}
.mpkm-sol-project h2{color:#fff;font-size:clamp(20px,2vw,26px);margin:0 0 10px}
.mpkm-sol-project p{margin:0;line-height:1.65;max-width:80ch}

/* ---------- одна форма с карточкой сотрудника ---------- */
.mpkm-sol-cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,470px);gap:32px;align-items:start;
  padding:34px 36px;border-radius:var(--sol-r);background:var(--sol-wash);border:1px solid var(--sol-line);
  margin:0 0 20px;scroll-margin-top:24px}
.mpkm-sol-cta h2{font-size:clamp(20px,2vw,26px);margin:0 0 10px}
.mpkm-sol-cta__copy > p{color:var(--sol-ink2);line-height:1.65;margin:0 0 18px;max-width:60ch}
.mpkm-sol-cta__list{display:grid;gap:6px;margin:18px 0 0;padding:0;list-style:none}
.mpkm-sol-cta__list li{position:relative;padding-left:20px;color:var(--sol-ink2);font-size:14px}
.mpkm-sol-cta__list li::before{content:'';position:absolute;left:0;top:8px;width:8px;height:8px;
  border-radius:50%;background:var(--sol-brand)}

.mpkm-sol-person{display:flex;gap:14px;align-items:center;padding:16px;margin:0 0 4px;
  border:1px solid var(--sol-line);border-radius:var(--sol-r);background:var(--sol-bg)}
.mpkm-sol-person__pic{width:72px;height:72px;border-radius:50%;object-fit:cover;flex:0 0 auto}
.mpkm-sol-person__initial{width:72px;height:72px;border-radius:50%;flex:0 0 auto;
  display:inline-flex;align-items:center;justify-content:center;background:var(--sol-brand);
  color:var(--sol-brand-ink);font-size:28px;font-weight:800}
.mpkm-sol-person__info{display:grid;gap:2px;min-width:0}
.mpkm-sol-person__name{font-size:16px}
.mpkm-sol-person__name a{color:var(--sol-ink);text-decoration:none;border-bottom:2px solid var(--sol-brand)}
.mpkm-sol-person__job{color:var(--sol-mut);font-size:13px}
.mpkm-sol-person__contacts{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:4px}
.mpkm-sol-person__contacts a{display:inline-flex;align-items:center;min-height:44px;
  font-weight:700;font-size:14px;color:var(--sol-ink);text-decoration:none;border-bottom:2px solid var(--sol-brand)}

/* ---------- адаптив ---------- */
@media (max-width:1100px){
  .mpkm-sol-hero{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-hero__pic img{max-height:260px}
  .mpkm-sol-cta{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-project{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:768px){
  .mpkm-sol-hero,.mpkm-sol-dirhero,.mpkm-sol-project,.mpkm-sol-cta{padding:24px}
  .mpkm-sol-cards,.mpkm-sol-dirgrid{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-stage__sum{grid-template-columns:auto minmax(0,1fr) auto;gap:10px}
  .mpkm-sol-stage__key{display:none}
  .mpkm-sol-hero__actions .mpkm-sol-btn{flex:1 1 100%}
}
@media (max-width:400px){
  .mpkm-sol-hero,.mpkm-sol-dirhero,.mpkm-sol-project,.mpkm-sol-cta{padding:20px}
  .mpkm-sol-lead__actions .mpkm-sol-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .mpkm-solutions *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* ---------- подъём специфичности над глобальными `#wrapper … a` ---------- */
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand{background:var(--sol-brand);color:var(--sol-brand-ink)}
#wrapper .mpkm-solutions a.mpkm-sol-btn--brand:hover{background:var(--sol-brand-d);color:var(--sol-brand-ink)}
#wrapper .mpkm-solutions a.mpkm-sol-btn--white{background:var(--sol-bg);color:var(--sol-ink);border-color:var(--sol-line)}
.mpkm-sol-btn--ink{background:#17181c;color:#fff}
.mpkm-sol-btn--ink:hover{background:#2b2d33;color:#fff}
#wrapper .mpkm-solutions a.mpkm-sol-btn--white:hover{background:var(--sol-wash);color:var(--sol-ink)}
#wrapper .mpkm-solutions a.mpkm-sol-btn--link{color:var(--sol-ink)}
#wrapper .mpkm-sol-hero a.mpkm-sol-btn--ghost{color:#fff;border-color:rgba(255,255,255,.55)}
#wrapper .mpkm-solutions .mpkm-sol-dircard,
#wrapper .mpkm-solutions .mpkm-sol-task,
#wrapper .mpkm-solutions .mpkm-sol-obj{color:var(--sol-ink)}

/* блок «Подобрать систему» на сторонних страницах */
.mpkm-solutions--block{margin:32px 0}
.mpkm-sol-blockhead{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:baseline;justify-content:space-between;margin:0 0 14px}
.mpkm-sol-blockhead h2{font-size:20px}
.mpkm-sol-blockhead a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;
  text-decoration:none;border-bottom:2px solid var(--sol-brand)}

/* локализованное поле выбора файлов вместо браузерного «Choose File» */
.mpkm-sol-file{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.mpkm-sol-file__btn{min-height:44px;padding:10px 18px;border:1.5px dashed var(--sol-line);
  border-radius:11px;background:var(--sol-bg);font:inherit;font-size:14px;font-weight:700;
  color:var(--sol-ink);cursor:pointer}
.mpkm-sol-file__btn:hover{border-color:var(--sol-ink)}
.mpkm-sol-file__btn:focus-visible{outline:3px solid var(--sol-brand);outline-offset:2px}
.mpkm-sol-file__name{color:var(--sol-mut);font-size:13px}

/* товар этапа: роль и критерий выбора прямо у карточки, без дубля названия */
.mpkm-sol-pitem{display:flex;flex-direction:column;gap:8px}
.mpkm-sol-pitem .mpkm-sol-role{align-self:flex-start}
.mpkm-sol-pnote{margin:0;color:var(--sol-mut);font-size:13px;line-height:1.5}

/* ── Технические схемы ──────────────────────────────────────────────────────
   Схема — не фотография: её нельзя кадрировать и нельзя затемнять, иначе
   пропадают подписи и легенда. Поэтому чертёж всегда лежит на белом листе
   и вписывается целиком. */
.mpkm-sol-hero__pic.is-scheme{background:#fff;padding:14px 14px 2px;border-radius:var(--sol-r)}
.mpkm-sol-hero__pic.is-scheme img{width:100%;height:auto;max-height:none;object-fit:contain}
.mpkm-sol-hero__pic.is-scheme figcaption{color:var(--sol-mut);padding:4px 6px 12px;font-size:12px;line-height:1.5}
.mpkm-sol-hero.has-scheme{grid-template-columns:minmax(0,1fr) minmax(0,1.02fr);align-items:start}

.mpkm-sol-dirhero.has-scheme{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);
  gap:30px;align-items:center}
.mpkm-sol-dirhero__scheme{margin:0;background:#fff;border:1px solid var(--sol-line2);border-radius:var(--sol-r);padding:12px}
.mpkm-sol-dirhero__scheme img{display:block;width:100%;height:auto}

.mpkm-sol-dircard.is-scheme .mpkm-sol-dircard__pic{aspect-ratio:752/420;background:#fff;
  border-bottom:1px solid var(--sol-line)}
.mpkm-sol-dircard.is-scheme .mpkm-sol-dircard__pic img{object-fit:contain;padding:10px}

@media (max-width:900px){
  .mpkm-sol-dirhero.has-scheme{grid-template-columns:minmax(0,1fr)}
  .mpkm-sol-hero.has-scheme{grid-template-columns:minmax(0,1fr)}
}
.mpkm-sol-task.is-scheme .mpkm-sol-task__pic{aspect-ratio:752/420;background:#fff;
  border-bottom:1px solid var(--sol-line)}
.mpkm-sol-task.is-scheme .mpkm-sol-task__pic img{object-fit:contain;padding:8px}

/* ── Чек-лист исходных данных ───────────────────────────────────────────────
   Это не декоративные галочки: отметки собираются в текст заявки, поэтому
   состояния должны читаться однозначно и работать с клавиатуры. */
/* чек-лист исходных данных — в слое «паспорт задачи» ниже */

/* ── Якоря под липкой шапкой ────────────────────────────────────────────────
   Шапка .hd-new липкая, поэтому переход по якорю без компенсации прячет
   заголовок раздела под ней. Отступ задан один раз для всех целей раздела. */
:root{--sol-anchor:104px}
.mpkm-solutions [id^="mpkm-sol-"]{scroll-margin-top:var(--sol-anchor)}
.mpkm-solutions .mpkm-sol-sec,
.mpkm-solutions .mpkm-sol-cta{scroll-margin-top:var(--sol-anchor)}
@media (max-width:900px){:root{--sol-anchor:86px}}
@media (max-width:520px){:root{--sol-anchor:74px}}

/* ── Площадь нажатия ────────────────────────────────────────────────────────
   Ссылка в заголовке штатной карточки товара — 17 px по высоте: на телефоне
   в неё трудно попасть. Правило намеренно ограничено разделом: .pr-block
   используется всем сайтом, и менять его глобально нельзя. */
/* Ссылка-заголовок в штатной карточке товара остаётся 17 px по высоте.
   Расширить её площадь нажатия внутри раздела не получается: контейнер и сама
   ссылка обрезаны overflow:hidden, а высоту держит общесайтовое мобильное
   правило с !important (обрезка названия в четыре строки). Переопределять
   компонент всего каталога ради одного раздела неправильно, а измеренные
   крупные цели у карточки есть: картинка 200 px и кнопка 44 px ведут туда же. */
/* Ссылка-крошка в тёмной шапке остаётся строчной, но получает поле нажатия
   без изменения вёрстки. */
.mpkm-solutions .mpkm-sol-kicker a{position:relative;display:inline-block;padding:6px 0}
.mpkm-solutions .mpkm-sol-kicker a::after{content:"";position:absolute;left:0;right:0;top:50%;
  transform:translateY(-50%);height:44px}
.mpkm-sol-hero__pic.is-scheme picture{display:block}
.mpkm-sol-dirhero__scheme picture{display:block}
.mpkm-sol-dirhero__scheme figcaption{padding:8px 4px 0;font-size:12px}
/* ссылка на полную схему — самостоятельный элемент, не строчный текст */
#wrapper .mpkm-solutions a.mpkm-sol-scheme-full{display:inline-flex;align-items:center;min-height:44px;
  color:var(--sol-ink);border-bottom:1px solid currentColor;font-weight:600;text-decoration:none}
.mpkm-sol-dirhero__scheme a.mpkm-sol-scheme-full,
.mpkm-sol-hero__pic a.mpkm-sol-scheme-full{color:var(--sol-ink)}

/* ── Контраст заголовков против общесайтового #wrapper h1 ───────────────────
   Вес поднят явно: hero решения тёмный — заголовок белый; hero направления
   теперь светлый — заголовок чернильный. */
#wrapper .mpkm-solutions .mpkm-sol-dirhero__h1,
#wrapper .mpkm-solutions .mpkm-sol-dirhero .mpkm-sol-dirhero__h1{color:var(--sol-ink)}
#wrapper .mpkm-solutions .mpkm-sol-dirhero .mpkm-sol-kicker--onDark a{color:var(--sol-ink);
  border-bottom-color:#c9c6bf}
#wrapper .mpkm-solutions .mpkm-sol-hero__h1{color:#fff}
/* .mpkm-sol-cta — блок СВЕТЛЫЙ (--sol-wash), белый заголовок в нём исчезает;
   белым делается только заголовок тёмного проектного блока */
#wrapper .mpkm-solutions .mpkm-sol-project h2{color:#fff}
/* подпись «направления в работе» была на границе порога 4.5:1 */
.mpkm-sol-soon__note{color:#5b5e66}
/* роль материала внутри системы: было ровно 4.49:1 — на границе порога */
.mpkm-sol-role{color:#5b5e66}

/* подложка блока светлее белого — серый на ней требует более тёмного тона */


/* Заголовок направления прижимался к лиду: общесайтовое правило #wrapper h1
   сбрасывало нижний отступ вместе с цветом. */
#wrapper .mpkm-solutions .mpkm-sol-dirhero__h1{margin:0 0 14px}
/* Ссылка на полную схему нужна только там, где вместо неё показан силуэт.
   Вес правила должен совпадать с тем, что задаёт вид ссылки, иначе оно
   проигрывает объявленному выше #wrapper .mpkm-solutions a.… */
#wrapper .mpkm-solutions a.mpkm-sol-scheme-full{display:none}
@media (max-width:640px){
  #wrapper .mpkm-solutions a.mpkm-sol-scheme-full{display:inline-flex}
}
/* тот же сброс полей общесайтовым #wrapper h1, что и у направления */
#wrapper .mpkm-solutions .mpkm-sol-hero__h1{margin:0 0 14px}

/* ── Скрытие отфильтрованных карточек ───────────────────────────────────────
   [hidden] — это всего лишь display:none из таблицы стилей браузера, и любой
   собственный display его перебивает. У карточек задач стоит display:flex,
   поэтому скрытые фильтром карточки продолжали занимать место, попадать в Tab
   и оставаться в дереве доступности. Правило обязано быть жёстким. */
.mpkm-solutions [hidden]{display:none!important}

/* Пиктограмма материала вместо чужой фотографии: вписывается целиком,
   на светлой подложке карточки, без кадрирования. */
#wrapper .mpkm-solutions img.mpkm-sol-matico{object-fit:contain;background:var(--sol-wash);padding:6px}

/* ── Упрощение: свободнее сетка, короче карточки ────────────────────────────
   Пять текстовых карточек в одной строке не читались. Сетка идёт от ширины
   карточки, а не от числа колонок. */
.mpkm-sol-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
@media (max-width:1400px){.mpkm-sol-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1024px){.mpkm-sol-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.mpkm-sol-cards{grid-template-columns:minmax(0,1fr)}}
.mpkm-sol-task__cat{font-size:13px;font-weight:600;color:var(--sol-mut)}
.mpkm-sol-task__body{gap:6px;padding:14px 16px 16px}
/* вторичное действие первого экрана — текстовая ссылка, а не вторая кнопка */
#wrapper .mpkm-solutions a.mpkm-sol-textlink{display:inline-flex;align-items:center;min-height:44px;
  color:var(--sol-ink);font-weight:600;text-decoration:underline;text-underline-offset:4px}
#wrapper .mpkm-solutions a.mpkm-sol-textlink:hover{color:var(--sol-brand-d,#8a6d00)}

/* документы и объекты: без дополнительных абзацев внутри карточек */
.mpkm-sol-doc__descr,.mpkm-sol-obj__descr{display:none}





/* ══ Секция-указатель перед CTA ═══════════════════════════════════════════
   Строчные ряды с хайрлайнами: h2 остаются в разметке (семантика и SEO),
   визуально это капс-лейблы указателя, а не полноценные секции. */
.mpkm-bridge{margin:0 0 36px}
.mpkm-bridge__row{display:grid;grid-template-columns:236px minmax(0,1fr);gap:12px 24px;
  align-items:center;padding:14px 0;border-top:1px solid var(--sol-line)}
.mpkm-bridge__row:last-child{border-bottom:1px solid var(--sol-line)}
#wrapper .mpkm-solutions .mpkm-bridge h2.mpkm-bridge__lab{margin:0;font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--sol-mut);line-height:1.45}
.mpkm-bridge__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
#wrapper .mpkm-solutions .mpkm-bridge__chips a{display:inline-flex;align-items:center;min-height:44px;
  padding:8px 16px;border:1px solid var(--sol-line);border-radius:999px;background:var(--sol-bg);
  font-size:14px;font-weight:600;text-decoration:none;color:var(--sol-ink)}
#wrapper .mpkm-solutions .mpkm-bridge__chips a:hover{border-color:var(--sol-ink);background:var(--sol-wash)}
.mpkm-bridge__tasks{display:flex;flex-wrap:wrap;gap:8px 22px}
#wrapper .mpkm-solutions a.mpkm-bridge__task{display:inline-flex;align-items:center;gap:9px;
  min-height:44px;font-size:15px;font-weight:600;color:var(--sol-ink);text-decoration:none}
#wrapper .mpkm-solutions a.mpkm-bridge__task svg{color:var(--sol-mut);transition:transform .15s}
#wrapper .mpkm-solutions a.mpkm-bridge__task:hover svg{transform:translateX(3px);color:var(--sol-ink)}
.mpkm-bridge__task--draft{display:inline-flex;align-items:center;gap:9px;min-height:44px;
  font-size:15px;font-weight:600;color:var(--sol-mut)}
.mpkm-bridge__task--draft small{font-size:12px;font-weight:500}


/* ══ Финальная лента «Опишите задачу инженеру» ═══════════════════════════════
   Единственный актуальный набор правил CTA. Светлая лента на тёплом фоне со
   структурной рамкой и вертикальным делителем: слева заголовок, нумерованный
   индекс ценности и тёмная карточка специалиста-адресата, справа — компактная
   форма. Тёмными на странице остаются только карточка и футер. */
.mpkm-cta{margin:0 0 44px;scroll-margin-top:var(--sol-anchor)}
.mpkm-cta__band{display:grid;grid-template-columns:minmax(400px,452px) minmax(0,1fr);
  background:var(--sol-wash);border:1px solid var(--sol-line2);border-radius:14px;overflow:hidden}
.mpkm-cta__info{padding:28px 32px 26px;border-right:1px solid var(--sol-line2);min-width:0}
.mpkm-cta__formcol{padding:24px 28px 22px;min-width:0}

/* ── шапка левой части ── */
.mpkm-cta__kicker{display:flex;align-items:center;gap:9px;margin:0 0 10px;font-size:12px;
  font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--sol-ink2)}
.mpkm-cta__tick{width:9px;height:9px;border-radius:2px;background:var(--sol-brand);flex:0 0 auto}
#wrapper .mpkm-solutions .mpkm-cta h2.mpkm-cta__title{margin:0 0 10px;font-size:27px;
  line-height:1.16;letter-spacing:-.01em;color:var(--sol-ink)}
.mpkm-cta__lead{margin:0 0 16px;font-size:15px;line-height:1.5;color:var(--sol-ink2);max-width:46ch}

/* ── пункты ценности: инженерный индекс ── */
.mpkm-cta__points{list-style:none;margin:0;padding:0}
.mpkm-cta__points li{display:flex;align-items:baseline;gap:12px;padding:9px 0;
  border-top:1px solid var(--sol-line2);font-size:14px;line-height:1.4;color:var(--sol-ink)}
.mpkm-cta__points li:last-child{border-bottom:1px solid var(--sol-line2)}
.mpkm-cta__num{flex:0 0 auto;font-size:12px;font-weight:700;letter-spacing:.05em;color:var(--sol-mut-wash)}

/* ── специалист: тёмная карточка-адресат ──
   Сверху фото и имя с должностью, ниже — контакты строкой под делителем:
   идентичность не теснится в узкой колонке, цели нажатия полноразмерные. */
.mpkm-cta__person{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:16px 0 0;
  background:#17181c;border-radius:12px;padding:14px 16px;color:#fff}
.mpkm-cta__photolink{flex:0 0 88px;line-height:0;border-radius:10px}
#wrapper .mpkm-solutions .mpkm-cta__photo{width:88px;height:88px;min-width:88px;border-radius:10px;
  object-fit:cover;object-position:center 20%;display:block}
.mpkm-cta__pwho{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 0}
.mpkm-cta__pover{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:#a9adb5}
#wrapper .mpkm-solutions .mpkm-cta__pname{font-size:16.5px;font-weight:700;color:#fff;
  text-decoration:none;line-height:1.25}
#wrapper .mpkm-solutions a.mpkm-cta__pname:hover{color:var(--sol-brand)}
.mpkm-cta__ppost{font-size:13px;line-height:1.35;color:#a9adb5}
.mpkm-cta__pcontacts{display:flex;flex-wrap:wrap;gap:2px 20px;flex:1 1 100%;margin:0;
  padding-top:10px;border-top:1px solid rgba(255,255,255,.14)}
#wrapper .mpkm-solutions a.mpkm-cta__pc{display:inline-flex;align-items:center;gap:7px;
  min-height:32px;font-size:14px;font-weight:600;color:#fff;text-decoration:none}
#wrapper .mpkm-solutions a.mpkm-cta__pc:hover{color:var(--sol-brand)}
.mpkm-cta__pc svg{color:var(--sol-brand);flex:0 0 auto}

/* ── ширины ── */
@media (max-width:1240px){
  .mpkm-cta__band{grid-template-columns:minmax(300px,340px) minmax(0,1fr)}
  .mpkm-sol-form__trio{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* «Город» не остаётся в полупустой строке двухколоночной сетки */
  .mpkm-sol-form__trio .mpkm-sol-form__row:last-child:nth-child(odd){grid-column:1/-1}
  /* в узкой колонке имя не должно рваться: фото компактнее */
  .mpkm-cta__photolink{flex:0 0 72px}
  #wrapper .mpkm-solutions .mpkm-cta__photo{width:72px;height:72px;min-width:72px}
  #wrapper .mpkm-solutions .mpkm-cta__pname{font-size:15.5px}
}
@media (max-width:940px){
  .mpkm-cta__band{grid-template-columns:minmax(0,1fr)}
  .mpkm-cta__info{border-right:0;border-bottom:1px solid var(--sol-line2)}
  .mpkm-bridge__row{grid-template-columns:minmax(0,1fr);gap:8px;align-items:start}
}
@media (max-width:680px){
  .mpkm-cta__band{border-radius:12px}
  .mpkm-cta__info{padding:14px 16px 12px}
  .mpkm-cta__formcol{padding:12px 16px 12px}
  .mpkm-cta__kicker{margin:0 0 6px}
  #wrapper .mpkm-solutions .mpkm-cta h2.mpkm-cta__title{font-size:22px;margin:0 0 6px}
  .mpkm-cta__lead{font-size:14px;line-height:1.45;margin:0 0 8px}
  .mpkm-cta__points li{padding:6px 0;font-size:13.5px;gap:10px}
  .mpkm-cta__num{font-size:11px}
  .mpkm-cta__person{margin:12px 0 0;padding:10px 12px;gap:12px}
  .mpkm-cta__photolink{flex:0 0 64px}
  #wrapper .mpkm-solutions .mpkm-cta__photo{width:64px;height:64px;min-width:64px}
  #wrapper .mpkm-solutions .mpkm-cta__pname{font-size:15px}
  .mpkm-cta__ppost{font-size:12.5px;line-height:1.3}
  .mpkm-cta__person{gap:10px;padding:9px 12px}
  .mpkm-cta__pcontacts{gap:0 16px;padding-top:5px}
  #wrapper .mpkm-solutions a.mpkm-cta__pc{min-height:44px;font-size:14px}
  .mpkm-sol-form__trio{grid-template-columns:minmax(0,1fr);gap:7px}
  .mpkm-sol-form__row{gap:4px}
  #wrapper .mpkm-solutions .mpkm-sol-form input[type=text],
  #wrapper .mpkm-solutions .mpkm-sol-form input[type=tel],
  #wrapper .mpkm-solutions .mpkm-sol-form input[type=email]{min-height:44px;padding:10px 14px}
  .mpkm-sol-form__opt{margin:6px 0 6px}
  .mpkm-sol-form__optbtn{font-size:13.5px;gap:8px;flex-wrap:wrap;row-gap:2px}
  .mpkm-sol-form__optnote{font-size:13px}
  .mpkm-sol-form__duo{grid-template-columns:minmax(0,1fr);gap:8px}
  .mpkm-sol-form__row--textarea{margin:0 0 12px}
  #wrapper .mpkm-solutions .mpkm-sol-form textarea{height:68px;min-height:68px}
  .mpkm-sol-form__final{flex-direction:column;align-items:stretch;gap:10px}
  .mpkm-sol-form__row--attachments{flex:0 0 auto}
  .mpkm-sol-form__hint{margin:4px 0 0;line-height:1.35}
  .mpkm-sol-form__actions{align-items:stretch}
  #wrapper .mpkm-solutions .mpkm-sol-form__submit{width:100%;min-width:0;white-space:normal}
  .mpkm-sol-form__privacy{margin:8px 0 0;text-align:left}
  .mpkm-bridge{margin:0 0 28px}
  .mpkm-bridge__row{padding:12px 0}
}
@media (max-width:374px){
  /* на самых узких экранах пометка переносится под лейбл, а не к краю */
  .mpkm-sol-form__optnote{flex-basis:100%;margin-left:29px}
}

/* ══ «Инженерный конвейер»: шаги, маршрут, паспорт задачи ════════════════════
   Единый системный слой раздела. Планка шага: номер в контурном квадрате,
   капс-имя, тихий подзаголовок, линейка до правого края. Интервалы по
   иерархии: между шагами 72px (56 на мобильном), внутри шага 28px. */
.mpkm-step{margin:0 0 72px}
.mpkm-step__head{display:flex;align-items:center;gap:12px;margin:0 0 24px}
.mpkm-step__no{display:inline-grid;place-items:center;width:26px;height:26px;flex:0 0 auto;
  border:1.5px solid var(--sol-ink);border-radius:8px;font-size:11.5px;font-weight:800;color:var(--sol-ink)}
.mpkm-step__lab{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--sol-ink)}
.mpkm-step__sub{font-size:12px;letter-spacing:.02em;color:var(--sol-mut);font-weight:500}
.mpkm-step__head::after{content:"";flex:1 1 24px;height:1px;background:var(--sol-line2)}
.mpkm-step .mpkm-sol-sec{margin:0 0 28px}
.mpkm-step .mpkm-sol-sec:last-child,
.mpkm-step .mpkm-sol-rich:last-child{margin-bottom:0}
.mpkm-step--proof .mpkm-sol-sechead h2{font-size:20px}
.mpkm-step--proof .mpkm-sol-sechead{margin-bottom:14px;padding-bottom:10px}
.mpkm-step--proof{margin-bottom:44px}
.mpkm-step .mpkm-cta{margin-bottom:0}

/* подкаплайн внутри шага («Технологические этапы и материалы») */
.mpkm-subcap{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:11.5px;
  font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sol-mut)}
.mpkm-subcap::after{content:"";flex:1;height:1px;background:var(--sol-line2)}

/* ── лид «Когда подходит решение»: первое предложение крупно ── */
.mpkm-fit-lead{font-size:17.5px;line-height:1.6;color:var(--sol-ink);max-width:76ch;
  margin:0 0 10px;font-weight:500}
.mpkm-sol-fit p{max-width:76ch}
.mpkm-sol-variants{margin:0 0 26px}
.mpkm-sol-variants h3{font-size:18px}
.mpkm-sol-calc{margin:18px 0 0}

/* ── объекты: одиночный объект — широкая карточка, а не сирота сетки ── */
.mpkm-sol-objgrid .mpkm-sol-obj:only-child{grid-column:1/-1;display:grid;
  grid-template-columns:260px minmax(0,1fr);align-items:center;gap:0 22px;max-width:680px}
.mpkm-sol-objgrid .mpkm-sol-obj:only-child .mpkm-sol-obj__pic{margin:0}
.mpkm-sol-objgrid .mpkm-sol-obj:only-child .mpkm-sol-obj__pic img{height:160px;object-fit:cover}
.mpkm-sol-objgrid .mpkm-sol-obj:only-child .mpkm-sol-obj__name::after{content:"Открыть карточку объекта →";
  display:block;margin-top:6px;font-size:13px;font-weight:500;color:var(--sol-mut)}
@media (max-width:760px){
  .mpkm-sol-objgrid .mpkm-sol-obj:only-child{grid-template-columns:minmax(0,1fr);max-width:none}
}
/* объект без фото: осмысленное состояние вместо пустого серого поля */
.mpkm-sol-obj:not(.has-pic) .mpkm-sol-obj__name{padding-top:18px}
.mpkm-sol-obj:not(.has-pic)::before{content:"Объект МПКМ";display:block;padding:14px 16px 0;
  font-size:11.5px;font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--sol-mut)}

/* ── документы: тип различим действием ── */
@media (min-width:1000px){.mpkm-sol-docs{grid-template-columns:repeat(3,minmax(0,1fr))}}
.mpkm-sol-doc[data-kind=calculator] i{background:#17181c;color:#fff;border-color:#17181c}
.mpkm-sol-doc[data-kind=article] i{background:transparent;border:1px solid var(--sol-line);color:#4a4d55}

/* ══ Паспорт задачи (бывший «Что понадобится для подбора») ══════════════════ */
.mpkm-pass__head{margin:0 0 16px}
.mpkm-pass__head h2{font-size:clamp(21px,2.1vw,26px);margin:0 0 8px}
.mpkm-pass__head p{margin:0;color:var(--sol-mut);font-size:15px;line-height:1.6;max-width:84ch}
.mpkm-pass__cols{display:grid;grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);gap:14px;align-items:start}
.mpkm-pass__cols--single{grid-template-columns:minmax(0,1fr);max-width:760px}
.mpkm-pass__col{padding:20px 24px 22px;border:1px solid var(--sol-line2);border-radius:13px;background:#fff}
.mpkm-pass__colhead{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 14px;
  padding:0 0 12px;border-bottom:1px solid var(--sol-line2);font-size:16px;font-weight:700;
  color:var(--sol-ink);white-space:nowrap}
.mpkm-pass__colnote{font-size:12.5px;font-weight:500;color:var(--sol-mut);letter-spacing:.01em;white-space:normal}
.mpkm-pass__col--check{display:flex;flex-direction:column}

/* левый бланк: чек-лист направления */
.mpkm-chk{flex:1 0 auto}
.mpkm-chk__group{border:0;margin:0 0 18px;padding:0}
.mpkm-chk__group:last-child{margin-bottom:0}
.mpkm-chk__group legend{padding:0;margin:0 0 6px;font-size:11.5px;font-weight:700;
  letter-spacing:.13em;text-transform:uppercase;color:var(--sol-mut)}
.mpkm-chk__group ul{margin:0;padding:0;list-style:none}
.mpkm-chk__row{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:start;
  min-height:44px;padding:10px 10px 10px 12px;margin:0 -12px;border-radius:9px;cursor:pointer}
.mpkm-chk__row:hover{background:var(--sol-wash)}
.mpkm-chk__row input{position:absolute;width:1px;height:1px;opacity:0}
.mpkm-chk__box{width:22px;height:22px;margin-top:1px;border:1.5px solid #c6c3bc;border-radius:6px;
  background:#fff;display:grid;place-items:center;transition:background .15s,border-color .15s}
.mpkm-chk__box svg{opacity:0;transform:scale(.6);transition:opacity .12s,transform .12s}
.mpkm-chk__row input:checked ~ .mpkm-chk__box{background:var(--sol-brand);border-color:var(--sol-brand)}
.mpkm-chk__row input:checked ~ .mpkm-chk__box svg{opacity:1;transform:scale(1)}
.mpkm-chk__row input:focus-visible ~ .mpkm-chk__box{outline:3px solid var(--sol-brand);outline-offset:2px}
.mpkm-chk__text{font-size:15px;line-height:1.45;color:var(--sol-ink)}
.mpkm-chk__aside{margin:18px 0 0;padding:12px 0 0;border-top:1px solid var(--sol-line2);
  display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.5;color:var(--sol-mut)}
.mpkm-chk__aside svg{flex:0 0 auto;margin-top:2px;color:var(--sol-mut)}

/* правый бланк: вопросы решения */
.mpkm-sol-wizard{counter-reset:passq}
.mpkm-sol-q{border:0;margin:0 0 16px;padding:0}
.mpkm-sol-q legend{counter-increment:passq;padding:0;margin:0 0 8px;font-size:14.5px;
  font-weight:600;color:var(--sol-ink);line-height:1.4}
.mpkm-sol-q legend::before{content:"В" counter(passq) " · ";font-weight:800;color:var(--sol-mut)}
.mpkm-sol-q__help{margin:-4px 0 8px;font-size:13px;color:var(--sol-mut)}
.mpkm-sol-q__opts{display:flex;flex-wrap:wrap;gap:6px}
.mpkm-sol-choice{position:relative;margin:0;border:0;padding:0;background:transparent}
.mpkm-sol-choice input{position:absolute;width:1px;height:1px;opacity:0}
.mpkm-sol-choice span{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;
  border:1px solid var(--sol-line2);border-radius:999px;font-size:13.5px;line-height:1.3;
  color:var(--sol-ink);background:#fff;cursor:pointer;
  transition:border-color .15s,background .15s,color .15s}
.mpkm-sol-choice span:hover{border-color:var(--sol-ink)}
.mpkm-sol-choice input:checked + span,
.mpkm-sol-choice.is-checked span{background:#17181c;border-color:#17181c;color:#fff}
.mpkm-sol-choice input:focus-visible + span{outline:3px solid var(--sol-brand);outline-offset:2px}
@media (min-width:901px){
  .mpkm-sol-choice span{min-height:38px;padding:7px 13px;font-size:13px}
  .mpkm-sol-q{margin-bottom:14px}
  .mpkm-sol-q legend{margin-bottom:7px}
}
/* аккордеон условий: открыт один вопрос, остальные — компактные строки */
.mpkm-q__head{display:none;align-items:center;justify-content:space-between;gap:10px;width:100%;
  min-height:44px;margin:0;padding:6px 10px;background:none;border:0;border-radius:9px;
  font-family:inherit;font-size:13.5px;font-weight:600;color:var(--sol-ink2);cursor:pointer;
  text-align:left}
.mpkm-sol-q.is-open .mpkm-q__head,
.mpkm-sol-q.is-collapsed .mpkm-q__head{display:flex}
.mpkm-q__head:hover{background:var(--sol-wash)}
.mpkm-q__head:focus-visible{outline:3px solid var(--sol-brand);outline-offset:2px}
.mpkm-q__head svg{flex:0 0 auto;color:var(--sol-mut);transition:transform .18s}
.mpkm-sol-q.is-open .mpkm-q__head svg{transform:rotate(180deg)}
.mpkm-sol-q.is-answered .mpkm-q__state{color:var(--sol-ink);font-weight:600}
.mpkm-q__state{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mpkm-sol-q.is-collapsed .mpkm-q__body{display:none}
/* свёрнутый вопрос — одна строка: текст вопроса и статус справа, вся строка
   остаётся целью нажатия (кнопка растянута по строке и прозрачна) */
.mpkm-sol-q.is-collapsed{position:relative;margin:0;padding:7px 0;
  border-bottom:1px solid var(--sol-line)}
.mpkm-sol-q.is-collapsed legend{margin:0;padding-right:104px;font-size:13.5px;line-height:1.35;
  font-weight:600;color:var(--sol-ink2)}
.mpkm-sol-q.is-collapsed .mpkm-q__head{position:absolute;inset:0;width:auto;min-height:44px;
  justify-content:flex-end;padding:0 2px 0 0;background:transparent}
.mpkm-sol-q.is-collapsed .mpkm-q__head:hover{background:transparent}
.mpkm-sol-q.is-collapsed .mpkm-q__state{max-width:92px;font-size:12.5px;text-align:right}
/* у раскрытого вопроса свёртка — значок в правом верхнем углу строки вопроса,
   а не отдельная строка «свернуть» под ней */
.mpkm-sol-q.is-open{position:relative}
.mpkm-sol-q.is-open legend{padding-right:40px}
.mpkm-sol-q.is-open .mpkm-q__head{position:absolute;right:0;top:-4px;width:44px;min-height:44px;
  justify-content:center;padding:0}
.mpkm-sol-q.is-open .mpkm-q__state{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (min-width:901px){.mpkm-sol-q.is-collapsed .mpkm-q__state{max-width:170px}}
.mpkm-sol-q.is-collapsed legend{margin:0;font-weight:600;color:var(--sol-ink2)}
.mpkm-sol-q.is-answered.is-collapsed legend{color:var(--sol-ink)}
#mpkm-sol-progress{font-weight:600;color:var(--sol-ink)}
#mpkm-sol-wizard-notes{margin:12px 0 0;padding:12px 14px;border-left:3px solid var(--sol-brand);
  background:var(--sol-wash);border-radius:0 9px 9px 0;font-size:13.5px;color:#3f4147}
#mpkm-sol-wizard-notes p{margin:0 0 6px}
#mpkm-sol-wizard-notes p:last-child{margin:0}

/* планка итога «Что уйдёт инженеру» */
.mpkm-pass__foot{margin:14px 0 0;border:1px solid var(--sol-line2);border-radius:13px;
  background:var(--sol-wash);padding:20px 24px;display:grid;
  grid-template-columns:minmax(0,1fr) auto;gap:18px 28px;align-items:center}
.mpkm-sum__lab{margin:0 0 10px;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sol-mut-wash)}
.mpkm-sum__rows{display:grid;gap:5px;margin:0}
.mpkm-sum__row{display:grid;grid-template-columns:132px minmax(0,1fr);gap:12px;
  font-size:13.5px;line-height:1.5;margin:0}
.mpkm-sum__k{color:var(--sol-mut-wash);white-space:nowrap}
.mpkm-sum__v{color:#2c2d33}
.mpkm-sum__v b{font-weight:700;color:var(--sol-ink)}
.mpkm-sum__raw{margin:12px 0 0}
.mpkm-sum__raw summary{display:inline-flex;align-items:center;min-height:32px;font-size:13px;
  font-weight:600;color:var(--sol-ink);cursor:pointer;text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:#c9c6bf}
.mpkm-sum__raw summary:hover{text-decoration-color:var(--sol-ink)}
.mpkm-sum__raw pre{margin:8px 0 0;padding:12px 14px;border:1px solid var(--sol-line2);
  border-radius:9px;background:#fff;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  color:#2c2d33;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto}
.mpkm-pass__go{display:grid;gap:8px;justify-items:stretch;min-width:264px}
.mpkm-pass__gonote{margin:0;font-size:12.5px;line-height:1.45;color:var(--sol-mut-wash);text-align:center}
@media (max-width:900px){
  .mpkm-pass__cols{grid-template-columns:minmax(0,1fr)}
  .mpkm-pass__col,.mpkm-pass__foot{padding:16px 16px 18px}
  /* чек-лист плотнее: цель нажатия остаётся 44px */
  .mpkm-chk__row{padding:7px 10px 7px 12px}
  .mpkm-chk__text{font-size:14.5px;line-height:1.35}
  /* итог: кнопка выше строк расшифровки, сами строки — по требованию */
  .mpkm-pass__foot{display:flex;flex-direction:column-reverse;gap:14px}
  .mpkm-sum__rows{gap:4px}
  .mpkm-sum__row{grid-template-columns:minmax(0,1fr);gap:0}
  .mpkm-sum__k{font-size:12px;color:var(--sol-mut-wash)}
  .mpkm-pass__foot{grid-template-columns:minmax(0,1fr)}
  .mpkm-pass__go{min-width:0}
  .mpkm-sum__row{grid-template-columns:108px minmax(0,1fr)}
  .mpkm-step{margin-bottom:56px}
}

/* ══ Направление: светлый hero, факты, сетка rich + карточка данных ═════════ */
.mpkm-hero-meta{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:0;list-style:none}
.mpkm-hero-meta li{display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:4px 12px;
  border:1px solid var(--sol-line2);border-radius:999px;background:#fff;font-size:13px;
  font-weight:600;color:var(--sol-ink)}
.mpkm-hero-meta li a{color:inherit;text-decoration:none}
.mpkm-hero-meta li a:hover{color:var(--sol-brand-d)}
.mpkm-richgrid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:36px;align-items:start;margin:0 0 28px}
.mpkm-richgrid .mpkm-sol-rich{max-width:66ch;margin:0}
.mpkm-datacard{border:1px solid var(--sol-line2);border-radius:13px;background:#fff;
  padding:20px 22px;position:sticky;top:104px}
.mpkm-datacard__cap{margin:0 0 4px;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sol-mut)}
.mpkm-datacard__t{margin:0 0 12px;font-size:17px;font-weight:700;color:var(--sol-ink)}
.mpkm-datacard p.mpkm-datacard__g{margin:16px 0 6px;font-size:11.5px;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;color:var(--sol-mut)}
.mpkm-datacard p.mpkm-datacard__g:first-of-type{margin-top:12px}
.mpkm-datacard ul{margin:0;padding:0;list-style:none;display:grid;gap:7px}
.mpkm-datacard li{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;
  font-size:14px;line-height:1.5;color:#2c2d33}
.mpkm-datacard li::before{content:"";width:14px;height:14px;margin-top:3px;
  border:1.5px solid #c9c6bf;border-radius:4px}
.mpkm-datacard__note{margin:14px 0 12px;font-size:13px;line-height:1.5;color:var(--sol-mut)}
.mpkm-datacard .mpkm-sol-btn{width:100%}
@media (max-width:1000px){
  .mpkm-richgrid{grid-template-columns:minmax(0,1fr)}
  .mpkm-datacard{position:static}
}

/* тихая ветка-индекс («Другие направления») */
.mpkm-branch{margin:0 0 72px;padding:18px 0 0;border-top:1px solid var(--sol-line2)}
.mpkm-branch .mpkm-sol-sechead{border-bottom:0;padding-bottom:0;margin-bottom:12px}
.mpkm-branch .mpkm-sol-sechead h2{font-size:12px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sol-mut)}

/* ══ Корень: карта конвейера в лиде и плитка «задачи готовятся» ═════════════ */
.mpkm-leadmap{display:flex;flex-wrap:wrap;align-items:center;margin:26px 0 0;padding:12px 16px;
  border:1px solid var(--sol-line2);border-radius:13px;background:#fff;list-style:none;gap:2px}
.mpkm-leadmap li{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 10px;
  font-size:13.5px;font-weight:600;color:var(--sol-ink)}
.mpkm-leadmap li small{font-weight:500;color:var(--sol-mut);font-size:12.5px}
.mpkm-route__tick{display:inline-grid;place-items:center;width:22px;height:22px;flex:0 0 auto;
  border-radius:7px;background:var(--sol-brand);color:#2e2e2e}
.mpkm-sooncard{border:1px dashed #d7d4cd;border-radius:13px;background:var(--sol-wash);
  padding:18px 20px;display:flex;flex-direction:column}
.mpkm-sooncard__cap{margin:0 0 2px;font-size:11.5px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;color:var(--sol-mut-wash)}
.mpkm-sooncard__t{margin:0 0 10px;font-size:17px;font-weight:700;color:var(--sol-ink)}
.mpkm-sooncard ul{margin:0;padding:0;list-style:none;display:grid;gap:2px}
.mpkm-sooncard a{display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:40px;padding:2px 8px;margin:0 -8px;border-radius:8px;font-size:14px;
  font-weight:600;color:var(--sol-ink);text-decoration:none}
.mpkm-sooncard a:hover{background:#fff}
.mpkm-sooncard a svg{flex:0 0 auto;color:var(--sol-mut-wash)}
.mpkm-sooncard__note{margin:10px 0 0;font-size:12.5px;line-height:1.5;color:var(--sol-mut-wash)}
.mpkm-sol-lead{max-width:none}
.mpkm-sol-lead__h1,.mpkm-sol-lead__text{max-width:74ch}
@media (min-width:901px){.mpkm-sol-dirgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ── Этап без раскрытия (ночной прогон 2026-08-12) ──────────────────────────
   У части задач этап описан только названием: товаров на него не назначено,
   описания и предупреждения нет. Раньше такой этап открывался пустой створкой.
   Теперь это обычная строка: знак «+» убран, курсор обычный, а состояние
   этапа («подбирается по условиям эксплуатации» и т. п.) видно и на узком
   экране, где у раскрывающихся этапов эта подпись прячется. */
.mpkm-sol-stage--flat .mpkm-sol-stage__sum{cursor:default}
.mpkm-sol-stage--flat .mpkm-sol-stage__sum::after{content:none}
@media (max-width:768px){
  .mpkm-sol-stage--flat .mpkm-sol-stage__sum{grid-template-columns:auto minmax(0,1fr);row-gap:4px}
  .mpkm-sol-stage--flat .mpkm-sol-stage__key{display:block;grid-column:2;text-align:left;
    white-space:normal;overflow:visible}
}
