
/* ═══════════════════════════════════════════════════════════════
   RN8 v2 — единый визуальный язык для всей главной.
   Первый блок переопределяет токены прежней темы: старые секции
   написаны на переменных --rn8-*, поэтому меняем значения, а не
   121 КБ правил. Один источник правды на обе половины страницы.
   ═══════════════════════════════════════════════════════════════ */
:root{
  --rn8-bg-ivory:#F7F5F2;
  --rn8-bg-porcelain:#FFFFFF;
  --rn8-surface:#FFFFFF;
  --rn8-surface-glass:rgba(255,255,255,.78);
  --rn8-grid:rgba(19,19,24,.06);
  --rn8-line-structure:rgba(19,19,24,.11);
  --rn8-line-measure:rgba(19,19,24,.16);
  --rn8-ink-900:#131318;
  --rn8-ink-500:#3C3C45;
  --rn8-ink-400:#585863;
  --rn8-bronze-500:#8A5A32;
  --rn8-copper-600:#B87450;
  --rn8-champagne-300:#F0A85C;
  --rn8-smoke:rgba(19,19,24,.04);
  --rn8-focus:#8A5A32;
  --rn8-font-display:"Onest","Segoe UI",Arial,sans-serif;
  /* Шапка сайта и плашки жили на --blue: синий в новой палитре
     не встречается нигде, поэтому перекрашиваем в медь одним местом. */
  /* Кнопки всего сайта красились этим токеном в синий.
     В новой палитре синего нет ни в одном месте. */
  --rn8-fn-info:#8A5A32;
  --blue:#8A5A32;
  --blue2:#6E4224;
  --line:rgba(19,19,24,.11);
  --rn8-font-body:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
}
/* старые секции подхватывают новый ритм и шрифт */
.mp-v2 h1,.mp-v2 h2,.mp-v2 h3,.mp-v2 h4{font-family:var(--rn8-font-display);letter-spacing:-.025em}
.mp-v2{font-family:var(--rn8-font-body)}

/* ═══════════════════════════════════════════════════════════════
   RN8 — версия 2
   Тёмная сцена наверху, рассвет, дальше светлая страница.
   Один тёплый источник света на всю верхнюю сцену.
   ═══════════════════════════════════════════════════════════════ */
:root{
  /* светлая часть */
  --bg:#F7F5F2;
  --bg-2:#EFECE6;
  --paper:#F7F5F2;          /* синоним для унаследованных блоков */
  --card:#FFFFFF;
  --ink:#131318;
  --ink-2:#585863;
  --ink-3:#63636E;
  --line:rgba(19,19,24,.11);

  /* тёмная сцена */
  --night:#08070B;
  --night-2:#100C10;

  /* тёплый акцент */
  --amber:#F0A85C;
  --amber-2:#E0913F;
  --copper:#B87450;
  --copper-lt:#C98B5E;
  --copper-dk:#8A5A32;
  --copper-dp:#6E4224;

  /* девять типов — цвета из отчёта Team DNA */
  --t1:#E07848; --t2:#5AAAC8; --t3:#C9A030;
  --t4:#7AB84A; --t5:#4898D8; --t6:#5870C8;
  --t7:#8868D8; --t8:#B848D8; --t9:#C06888;

  /* смысловые цвета */
  --d-good:#1B7A50; --d-warn:#DA9420; --d-crit:#C4402C; --d-info:#2C6FA8;

  --ease:cubic-bezier(.22,.61,.36,1);
  --swift:cubic-bezier(.22,1,.36,1);
  /* приближение пружины: лёгкий перелёт и мягкая посадка */
  --spring:cubic-bezier(.18,1.16,.3,1);
  /* для смены фраз: без перелёта, долгий вход и мягкая остановка */
  --soft:cubic-bezier(.16,.84,.24,1);
  --r:20px;
}.rn8v2 *{box-sizing:border-box}html{scroll-behavior:smooth}html, body{margin:0}body{
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  background:var(--bg);color:var(--ink);
  -webkit-font-smoothing:antialiased;line-height:1.55;overflow-x:hidden
}.rn8v2 img{max-width:100%;display:block}.rn8v2 .wrap{max-width:1280px;margin:0 auto;padding:0 clamp(18px,4vw,56px)}.rn8v2 section{padding:clamp(58px,7.5vw,124px) 0}.rn8v2 h1, .rn8v2 h2, .rn8v2 h3, .rn8v2 h4{margin:0;font-family:Onest,Inter,sans-serif;font-weight:800;line-height:1.12;letter-spacing:-.025em}.rn8v2 h2{font-size:clamp(26px,3.4vw,46px)}.rn8v2 h3{font-size:clamp(18px,1.5vw,23px);letter-spacing:-.015em}.rn8v2 h4{font-size:17px;font-weight:700;letter-spacing:-.012em}.rn8v2 p{margin:0}.rn8v2 .lead{margin-top:18px;font-size:clamp(15px,1.12vw,18px);line-height:1.65;color:var(--ink-2);max-width:62ch}.rn8v2 .hint{font-size:13.5px;color:var(--ink-3)}

/* издательская пометка, как в референсе */
.rn8v2 .mark{
  font-family:Onest,sans-serif;font-size:11px;font-weight:700;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ink-3)
}.rn8v2 .eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;
  letter-spacing:.2em;text-transform:uppercase;color:var(--copper-dk);margin-bottom:22px
}.rn8v2 .eyebrow::before{content:"";width:26px;height:1px;background:currentColor;opacity:.6}.rn8v2 .rule{width:100%;height:1px;background:var(--line);margin:0 0 26px}.rn8v2 .accent{color:var(--copper)}

/* ── кнопки ── */
.rn8v2 .btn{
  display:inline-flex;align-items:center;gap:12px;padding:14px 15px 14px 26px;
  border-radius:999px;border:1px solid transparent;background:var(--ink);color:#fff;
  font:inherit;font-weight:600;font-size:15px;text-decoration:none;cursor:pointer;
  transition:background .3s var(--ease),transform .25s var(--swift),box-shadow .3s var(--ease)
}.rn8v2 .btn i{
  width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.16);
  display:grid;place-items:center;transition:transform .3s var(--swift)
}.rn8v2 .btn:hover{background:#2A2A34;box-shadow:0 14px 34px rgba(19,19,24,.22)}.rn8v2 .btn:hover i{transform:translate(3px,-1px)}.rn8v2 .btn:active{transform:scale(.985)}.rn8v2 .btn--amber{background:linear-gradient(120deg,var(--amber-2),var(--amber));color:#241305}.rn8v2 .btn--amber i{background:rgba(36,19,5,.14)}.rn8v2 .btn--amber:hover{background:linear-gradient(120deg,#EC9A48,#F5B570);box-shadow:0 16px 40px rgba(224,145,63,.36)}.rn8v2 .btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}.rn8v2 .btn--ghost i{background:rgba(19,19,24,.07)}.rn8v2 .btn--ghost:hover{background:rgba(19,19,24,.04);box-shadow:none}.rn8v2 .btn--onDark{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.16);backdrop-filter:blur(8px)}.rn8v2 .btn--onDark i{background:rgba(255,255,255,.12)}.rn8v2 .btn--onDark:hover{background:rgba(255,255,255,.13);box-shadow:none}.rn8v2 .actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px}

/* ═══════════════════════════════════════════════════════════════
   ВЕРХНЯЯ СЦЕНА: ночь → рассвет → бумага
   Весь переход — один градиент, поэтому шва не видно.
   ═══════════════════════════════════════════════════════════════ */
.rn8v2 .stage{
  position:relative;overflow:hidden;isolation:isolate;
  /* Рассвет жил внизу, чтобы перетечь в светлую страницу. Страницы
     этой больше нет: низ доходил до кремового и обрывался в чёрное.
     Свет уходит наверх, за шар, как в референсе, а низ спокойно
     садится в тот же грунт, что и вся страница. */
  background:linear-gradient(180deg,#1A1108 0%,#130C0A 30%,#0C0908 64%,var(--bg) 100%)
}
/* Солнце за шаром: медленно дышит. Это и есть та жизнь, которую
   видно в ролике, — не объект ездит по странице, а свет пульсирует. */
.rn8v2 .stage::before{
  content:"";position:absolute;left:50%;top:4%;
  width:min(1400px,146vw);height:clamp(420px,60vw,780px);
  transform:translate(-50%,-50%);z-index:0;pointer-events:none;
  /* Ядро света сидит на верхней кромке экрана и уходит за неё —
     шар оказывается подсвечен сверху, а не подвешен в дымке. */
  background:radial-gradient(closest-side ellipse at 50% 50%,
    rgba(255,214,164,.72) 0%, rgba(243,175,102,.34) 30%,
    rgba(198,110,44,.12) 54%, rgba(240,168,92,0) 74%);
  animation:rn8-breathe 12s ease-in-out infinite
}
@keyframes rn8-breathe{
  0%,100%{transform:translate(-50%,-50%) scale(1);opacity:.84}
  50%    {transform:translate(-50%,-50%) scale(1.12);opacity:1}
}
@media(prefers-reduced-motion:reduce){
  .rn8v2 .stage::before{animation:none;opacity:.92}
}.rn8v2 #net{position:absolute;inset:0;width:100%;height:100%;z-index:0;
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.4) 68%,transparent 82%);
  mask-image:linear-gradient(180deg,#000 0%,#000 52%,rgba(0,0,0,.4) 68%,transparent 82%);
  opacity:0;transition:opacity 1.4s var(--ease)}.rn8v2 #net.on{opacity:1}.rn8v2 .stage > .wrap{position:relative;z-index:2}

/* шапка */
.rn8v2 .top{position:absolute;top:0;left:0;right:0;z-index:40}.rn8v2 .top .wrap{display:flex;align-items:center;justify-content:space-between;height:82px;gap:20px}.rn8v2 .brand{font-family:Onest,sans-serif;font-weight:800;font-size:22px;letter-spacing:.16em;
  text-decoration:none;color:#fff;flex:none;transition:color .4s var(--ease)}.rn8v2 .brand i{font-style:normal;color:var(--amber)}.rn8v2 .nav{display:flex;gap:28px}.rn8v2 .nav a{font-size:14px;font-weight:500;color:rgba(255,255,255,.66);text-decoration:none;transition:color .25s}.rn8v2 .nav a:hover{color:#fff}
/* прилипшая шапка — уже светлая */
.rn8v2 .top.stuck{position:fixed;background:rgba(247,245,242,.86);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--line);animation:drop .45s var(--swift) both}
@keyframes drop{from{transform:translateY(-100%)}to{transform:none}}.rn8v2 .top.stuck .wrap{height:66px}.rn8v2 .top.stuck .brand{color:var(--ink)}.rn8v2 .top.stuck .nav a{color:var(--ink-2)}.rn8v2 .top.stuck .nav a:hover{color:var(--copper-dk)}.rn8v2 .top.stuck .btn--onDark{background:var(--ink);color:#fff;border-color:transparent}.rn8v2 .top .btn{padding:10px 11px 10px 20px;font-size:13.5px}.rn8v2 .top .btn i{width:22px;height:22px}
@media(max-width:960px){.rn8v2 .nav{display:none}}

/* герой */
.rn8v2 .hero{
  position:relative;min-height:100svh;display:flex;flex-direction:column;
  justify-content:flex-end;padding:150px 0 clamp(150px,20vh,240px)
}.rn8v2 .hero .eyebrow{color:var(--amber)}.rn8v2 .hero h1{
  font-size:clamp(29px,4.7vw,63px);line-height:1.06;letter-spacing:-.035em;
  text-transform:uppercase;color:#fff;max-width:18ch
}.rn8v2 .hero h1 .stat{display:block;opacity:0;transform:translateY(20px);
  animation:up 1s var(--swift) .25s both}
@keyframes up{to{opacity:1;transform:none}}
/* Колесо фраз: ушедшие уезжают вверх, будущие ждут снизу.
   overflow скрывает их за краем, поэтому строка не наезжает на соседние. */
.rn8v2 .rot{display:grid;margin-top:.04em}
/* Обе строки одной гарнитурой: разница только в цвете и прозрачности. */
.rn8v2 .rot > span{grid-area:1/1;color:var(--amber)}
/* Маска у каждого слова: строка переносится как обычный текст,
   а прятать нужно всего одну строку высоты, не весь абзац.
   Поля сверху и снизу дают место выносным элементам и перелёту пружины. */
.rn8v2 .rot .m{
  display:inline-block;overflow:hidden;vertical-align:bottom;
  padding:.14em 0;margin:-.14em 0
}
/* Каждое слово едет само, с небольшой задержкой друг за другом:
   движение нескольких элементов сразу читается как анимация, а одна
   строка целиком — нет, её принимают за статичный текст. */
.rn8v2 .rot i{
  display:block;font-style:normal;opacity:0;transform:translateY(108%);
  transition:opacity .72s var(--soft),transform 1.15s var(--soft)
}.rn8v2 .rot > span.up i{transform:translateY(-108%)}
/* строка живёт чуть приглушённее статичной — она вторым планом */
.rn8v2 .rot > span.on i{opacity:.82;transform:translateY(0)}.rn8v2 .hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);
  gap:clamp(26px,4vw,64px);align-items:end}.rn8v2 .hero-side{padding-bottom:6px}.rn8v2 .hero-side p{font-size:15px;line-height:1.68;color:rgba(255,255,255,.62);max-width:38ch}.rn8v2 .hero-side .mark{color:rgba(255,255,255,.56);display:block;margin-bottom:16px}.rn8v2 .hero .actions{margin-top:26px}

/* нижняя лента сцены */
.rn8v2 .hero-strip{
  position:relative;z-index:2;display:flex;gap:clamp(20px,4vw,64px);flex-wrap:wrap;
  padding:22px 0 0;margin-top:44px;border-top:1px solid rgba(255,255,255,.13)
}.rn8v2 .hero-strip div{display:flex;flex-direction:column;gap:5px}.rn8v2 .hero-strip b{all:unset;font-family:Onest,sans-serif;font-size:clamp(20px,2vw,27px);
  font-weight:800;letter-spacing:-.03em;color:#fff}.rn8v2 .hero-strip span{font-size:12px;color:rgba(255,255,255,.56);letter-spacing:.02em}

/* подсказка прокрутки */
.rn8v2 .scroll-hint{
  position:absolute;left:50%;bottom:clamp(58px,9vh,104px);transform:translateX(-50%);
  z-index:3;display:flex;flex-direction:column;align-items:center;gap:9px;
  font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.56)
}.rn8v2 .scroll-hint i{display:block;width:1px;height:42px;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent);
  animation:drip 2.4s ease-in-out infinite}
@keyframes drip{0%,100%{transform:scaleY(.4);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}

@media(max-width:900px){.rn8v2 .hero{min-height:auto;padding:132px 0 90px}.rn8v2 .hero-grid{grid-template-columns:1fr}.rn8v2 .hero h1{max-width:none}.rn8v2 .scroll-hint{display:none}
}

/* ═══ светлые секции ═══ */
.rn8v2 .sec-head{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);
  gap:clamp(20px,3vw,52px);align-items:start}.rn8v2 .sec-head h2{max-width:16ch}
@media(max-width:860px){.rn8v2 .sec-head{grid-template-columns:1fr}}

/* узнавание */
.rn8v2 .recog{display:grid;grid-template-columns:repeat(auto-fit,minmax(252px,1fr));gap:1px;
  margin-top:52px;background:var(--line);border:1px solid var(--line);border-radius:18px;overflow:hidden}.rn8v2 .recog article{background:var(--bg);padding:30px 26px 34px;transition:background .35s var(--ease)}.rn8v2 .recog article:hover{background:var(--card)}.rn8v2 .recog .n{font-family:Onest,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;
  color:var(--copper-dk);display:block;margin-bottom:20px}.rn8v2 .recog h4{margin-bottom:10px;font-size:16.5px}.rn8v2 .recog p{font-size:14px;color:var(--ink-2);line-height:1.6}

/* тёмная вставка — цена бездействия */
.rn8v2 .inset{
  border-radius:26px;padding:clamp(32px,4.4vw,72px);color:#fff;position:relative;overflow:hidden;
  background:
    radial-gradient(64% 78% at 84% 4%, rgba(240,168,92,.28) 0%, rgba(240,168,92,0) 60%),
    linear-gradient(150deg,#0A090D 0%,#161018 42%,#2A1A14 100%);
  box-shadow:0 30px 78px rgba(19,19,24,.28)
}.rn8v2 .inset h2{color:#fff;max-width:22ch}.rn8v2 .inset .lead{color:rgba(255,255,255,.62)}.rn8v2 .costgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:clamp(20px,3vw,42px);margin-top:48px}.rn8v2 .costgrid > div{padding-top:22px;border-top:1px solid rgba(255,255,255,.16)}.rn8v2 .costgrid b{all:unset;display:block;font-family:Onest,sans-serif;font-size:clamp(38px,4.6vw,62px);
  font-weight:800;line-height:1;letter-spacing:-.04em;
  background:linear-gradient(120deg,#F5C08A,#E0913F);-webkit-background-clip:text;
  background-clip:text;color:transparent}.rn8v2 .costgrid span{display:block;margin-top:13px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.6)}

/* механизм */
.rn8v2 .mech{margin-top:50px;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:var(--card)}.rn8v2 .mech-top{display:grid;grid-template-columns:auto 1fr;gap:clamp(20px,3vw,46px);
  align-items:center;padding:clamp(24px,3vw,42px);border-bottom:1px solid var(--line);background:var(--bg)}.rn8v2 .date-in{text-align:center;flex:none}.rn8v2 .date-in .lb{font-size:10.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}.rn8v2 .date-in .val{font-family:Onest,sans-serif;font-size:clamp(26px,3vw,40px);font-weight:800;
  letter-spacing:-.03em;margin-top:10px;font-variant-numeric:tabular-nums}.rn8v2 .date-in .val u{text-decoration:none;color:var(--copper-dk);position:relative}.rn8v2 .date-in .val u::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;
  background:var(--copper);opacity:.45}.rn8v2 .lanes{display:grid;gap:12px;min-width:0}.rn8v2 .lane{display:grid;grid-template-columns:auto 1fr auto;gap:clamp(10px,1.6vw,20px);
  align-items:center;padding:15px 18px;border-radius:14px;border:1px solid var(--line);background:var(--card)}.rn8v2 .lane .tag{font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  padding:5px 10px;border-radius:999px;white-space:nowrap}.rn8v2 .lane .math{font-size:13.5px;color:var(--ink-2);font-variant-numeric:tabular-nums;
  min-width:0;overflow-wrap:anywhere}.rn8v2 .lane .math b{all:unset;font-weight:700;color:var(--ink)}.rn8v2 .lane .out{display:flex;align-items:center;gap:10px;white-space:nowrap}.rn8v2 .lane .out em{all:unset;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;
  font-family:Onest,sans-serif;font-weight:800;font-size:15px;color:#fff}.rn8v2 .lane .out span{font-weight:600;font-size:14px}
@media(max-width:820px){.rn8v2 .mech-top{grid-template-columns:1fr}.rn8v2 .lane{grid-template-columns:1fr;gap:10px}}.rn8v2 .mech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}.rn8v2 .mech-grid > div{padding:clamp(22px,2.6vw,32px);border-right:1px solid var(--line)}.rn8v2 .mech-grid > div:last-child{border-right:0}.rn8v2 .mech-grid b{all:unset;display:block;font-family:Onest,sans-serif;font-size:12.5px;font-weight:700;
  letter-spacing:.14em;text-transform:uppercase;color:var(--copper-dk)}.rn8v2 .mech-grid p{margin-top:11px;font-size:14px;color:var(--ink-2);line-height:1.6}
@media(max-width:760px){.rn8v2 .mech-grid > div{border-right:0;border-top:1px solid var(--line)}}.rn8v2 .verdicts{display:grid;grid-template-columns:repeat(auto-fit,minmax(212px,1fr));gap:12px;margin-top:28px}.rn8v2 .verdicts div{padding:19px 20px;border-radius:15px;background:var(--card);
  border:1px solid var(--line);border-left:3px solid var(--vc)}.rn8v2 .verdicts b{all:unset;display:flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px}.rn8v2 .verdicts b::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--vc)}.rn8v2 .verdicts p{margin-top:9px;font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* девять типов */
.rn8v2 .types{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:10px;margin-top:48px}.rn8v2 .type{padding:22px 18px;border-radius:16px;background:var(--card);border:1px solid var(--line);
  position:relative;overflow:hidden;transition:transform .35s var(--swift),box-shadow .35s var(--ease)}.rn8v2 .type::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--c)}.rn8v2 .type:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(19,19,24,.1)}.rn8v2 .type em{all:unset;display:grid;place-items:center;width:34px;height:34px;border-radius:10px;
  font-family:Onest,sans-serif;font-weight:800;font-size:14px;color:#fff;background:var(--c);margin:6px 0 14px}.rn8v2 .type h4{font-size:15.5px}.rn8v2 .type p{margin-top:8px;font-size:13px;color:var(--ink-2);line-height:1.5}

/* квиз */
.rn8v2 .quiz{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(26px,3.5vw,58px);
  align-items:center;margin-top:48px;padding:clamp(26px,3.4vw,52px);border-radius:24px;
  background:var(--card);border:1px solid var(--line)}.rn8v2 .steps{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:14px}.rn8v2 .steps li{display:flex;gap:15px;align-items:flex-start}.rn8v2 .steps b{all:unset;flex:none;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;
  font-family:Onest,sans-serif;font-weight:700;font-size:12px;background:var(--bg-2);color:var(--copper-dk)}.rn8v2 .steps span{font-size:14px;color:var(--ink-2);line-height:1.55;padding-top:2px}.rn8v2 .qcard{border-radius:20px;background:var(--bg);border:1px solid var(--line);padding:clamp(20px,2.4vw,30px)}.rn8v2 .qbar{height:2px;border-radius:2px;background:var(--line);overflow:hidden;margin-bottom:22px}.rn8v2 .qbar i{display:block;height:100%;width:46%;background:var(--copper);border-radius:2px}.rn8v2 .qcard .q{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}.rn8v2 .qcard h4{margin:12px 0 20px;font-size:18px;line-height:1.3}.rn8v2 .opt{display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:12px;background:var(--card);
  border:1px solid var(--line);font-size:14px;cursor:pointer;margin-bottom:8px;
  transition:border-color .2s,transform .25s var(--swift)}.rn8v2 .opt em{all:unset;font-style:normal;flex:none;width:6px;height:6px;border-radius:50%;background:var(--line)}.rn8v2 .opt:hover{border-color:rgba(184,116,80,.5);transform:translateX(3px)}.rn8v2 .opt.sel{border-color:var(--copper);background:#FFF8F1;font-weight:600}.rn8v2 .opt.sel em{background:var(--copper)}
@media(max-width:940px){.rn8v2 .quiz{grid-template-columns:1fr}}

/* отчёт */
.rn8v2 .shots{display:grid;grid-template-columns:repeat(auto-fit,minmax(272px,1fr));gap:18px;margin-top:48px}.rn8v2 .shot{margin:0}.rn8v2 .shot img{border-radius:14px;border:1px solid var(--line);background:var(--card);
  box-shadow:0 20px 48px rgba(19,19,24,.12);transition:transform .4s var(--swift)}.rn8v2 .shot:hover img{transform:translateY(-5px)}.rn8v2 .shot figcaption{margin-top:14px;font-size:13.5px;color:var(--ink-2);line-height:1.55}

/* доказательства */
.rn8v2 .proof{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:14px;margin-top:46px}.rn8v2 .case, .rn8v2 .quote{padding:28px 25px;border-radius:18px;border:1px solid var(--line);background:var(--card);
  display:flex;flex-direction:column;gap:14px}.rn8v2 .case .num{font-family:Onest,sans-serif;font-size:clamp(30px,3.4vw,42px);font-weight:800;
  letter-spacing:-.04em;line-height:1;color:var(--copper-dk)}.rn8v2 .case p, .rn8v2 .quote p{font-size:14px;color:var(--ink-2);line-height:1.6}.rn8v2 .case .src{margin-top:auto;padding-top:14px;border-top:1px solid var(--line);font-size:12.5px;color:var(--ink-3)}.rn8v2 .quote{background:var(--bg-2);position:relative}.rn8v2 .quote p{font-size:15px;color:var(--ink)}.rn8v2 .quote .who{display:flex;align-items:center;gap:12px;margin-top:auto}.rn8v2 .quote .who em{all:unset;width:38px;height:38px;border-radius:50%;flex:none;display:grid;place-items:center;
  font-style:normal;font-weight:700;background:var(--card);color:var(--copper-dk)}.rn8v2 .quote .who b{all:unset;display:block;font-weight:600;font-size:14px}.rn8v2 .quote .who span{display:block;font-size:12.5px;color:var(--ink-3)}

/* тарифы */
.rn8v2 .plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(262px,1fr));gap:16px;margin-top:48px;align-items:start}.rn8v2 .plan{padding:32px 28px;border-radius:20px;background:var(--card);border:1px solid var(--line);
  display:flex;flex-direction:column;gap:16px;position:relative}.rn8v2 .plan--pick{color:#fff;border-color:transparent;transform:translateY(-12px);
  background:radial-gradient(70% 80% at 86% 4%, rgba(240,168,92,.3) 0%, rgba(240,168,92,0) 58%),
             linear-gradient(150deg,#0A090D 0%,#1A1118 46%,#33200F 100%);
  box-shadow:0 30px 70px rgba(19,19,24,.3)}.rn8v2 .plan--pick h3{color:#fff}.rn8v2 .plan--pick .desc, .rn8v2 .plan--pick li{color:rgba(255,255,255,.68)}.rn8v2 .plan--pick li::before{background:var(--amber)}.rn8v2 .plan--pick .price{color:#fff}.rn8v2 .plan--pick .price small{color:rgba(255,255,255,.5)}.rn8v2 .tag{position:absolute;top:-11px;left:28px;font-size:10px;font-weight:700;letter-spacing:.14em;
  text-transform:uppercase;padding:5px 12px;border-radius:999px;
  background:linear-gradient(120deg,var(--amber-2),var(--amber));color:#241305}.rn8v2 .plan .desc{font-size:13.5px;color:var(--ink-2);line-height:1.55}.rn8v2 .price{font-family:Onest,sans-serif;font-size:clamp(25px,2.6vw,33px);font-weight:800;letter-spacing:-.035em}.rn8v2 .price small{font-size:13.5px;font-weight:500;color:var(--ink-3);letter-spacing:0}.rn8v2 .plan ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}.rn8v2 .plan li{position:relative;padding-left:22px;font-size:13.5px;color:var(--ink-2);line-height:1.5}.rn8v2 .plan li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;
  background:rgba(184,116,80,.32)}.rn8v2 .plan .btn{margin-top:auto;align-self:flex-start}
@media(max-width:940px){.rn8v2 .plan--pick{transform:none}}

/* кто за этим */
.rn8v2 .who-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(296px,1fr));gap:18px;margin-top:46px}.rn8v2 .who-grid article{display:grid;grid-template-columns:112px 1fr;gap:20px;padding:22px;
  border-radius:18px;background:var(--card);border:1px solid var(--line);align-items:start}.rn8v2 .who-grid img{border-radius:12px;aspect-ratio:4/5;object-fit:cover}.rn8v2 .who-grid .role{font-size:12px;font-weight:600;color:var(--copper-dk);margin:5px 0 10px;
  letter-spacing:.04em;text-transform:uppercase}.rn8v2 .who-grid p{font-size:13.5px;color:var(--ink-2);line-height:1.6}
@media(max-width:420px){.rn8v2 .who-grid article{grid-template-columns:1fr}}

/* вопросы */
.rn8v2 .faq{margin-top:42px;border-top:1px solid var(--line)}.rn8v2 .faq details{border-bottom:1px solid var(--line)}.rn8v2 .faq summary{list-style:none;cursor:pointer;padding:24px 46px 24px 0;position:relative;
  font-family:Onest,sans-serif;font-weight:600;font-size:17px;line-height:1.4}.rn8v2 .faq summary::-webkit-details-marker{display:none}.rn8v2 .faq .sign{position:absolute;right:6px;top:29px;width:14px;height:14px}.rn8v2 .faq .sign::before, .rn8v2 .faq .sign::after{content:"";position:absolute;background:var(--copper);
  border-radius:2px;transition:transform .3s var(--swift)}.rn8v2 .faq .sign::before{left:0;right:0;top:6px;height:2px}.rn8v2 .faq .sign::after{top:0;bottom:0;left:6px;width:2px}.rn8v2 .faq details[open] .sign::after{transform:scaleY(0)}.rn8v2 .faq details p{padding:0 14% 26px 0;font-size:15px;color:var(--ink-2);line-height:1.68}

/* финал — возвращаемся в ночь */
.rn8v2 .final{
  position:relative;padding:clamp(40px,6vw,96px);
  text-align:center;color:#fff
}
/* Финал — полноширинная сцена (правка PO 23.08): фон и закат идут
   от края до края экрана, а не внутри скруглённой карточки.
   Фон — на 100vw-полосе (::after), как у #instrumenty. */
.rn8v2 .final::after{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;
  transform:translateX(-50%);z-index:0;pointer-events:none;
  background:linear-gradient(180deg,#0A0908 0%,#120D12 52%,#2E1C11 78%,#0A0908 100%)
}
/* Закат под финальным экраном — второе и последнее место, где
   в референсе есть свет. Дышит в том же ритме, что и рассвет.
   Ширина 100vw — золотой градиент на всю страницу. */
.rn8v2 .final::before{
  content:"";position:absolute;left:50%;top:100%;
  width:100vw;height:clamp(320px,44vw,620px);
  transform:translate(-50%,-50%);z-index:1;pointer-events:none;
  background:radial-gradient(closest-side ellipse at 50% 50%,
    rgba(255,199,138,.5) 0%, rgba(240,168,92,.22) 36%, rgba(240,168,92,0) 72%);
  animation:rn8-breathe 12s ease-in-out infinite;animation-delay:-6s
}
@media(prefers-reduced-motion:reduce){.rn8v2 .final::before{animation:none}}
.rn8v2 .final h2{color:#fff;max-width:17ch;margin:0 auto;text-transform:uppercase;
  font-size:clamp(26px,4vw,52px);letter-spacing:-.035em}.rn8v2 .final .lead{color:rgba(255,255,255,.64);margin:20px auto 0;max-width:50ch}.rn8v2 .final .actions{justify-content:center}.rn8v2 #netEnd{position:absolute;inset:0;width:100%;height:100%;opacity:.5;pointer-events:none;z-index:1;
  -webkit-mask-image:radial-gradient(70% 90% at 50% 50%,#000 20%,transparent 76%);
  mask-image:radial-gradient(70% 90% at 50% 50%,#000 20%,transparent 76%)}.rn8v2 .final > *:not(#netEnd){position:relative;z-index:2}footer{padding:38px 0 52px;border-top:1px solid var(--line);font-size:13px;color:var(--ink-3)}footer .wrap{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}

/* ── варианты шапки секции ──
   Один и тот же приём десять раз подряд читается как шаблон,
   поэтому шапок три вида и они чередуются. */
.rn8v2 .sec-head--center{
  grid-template-columns:1fr;text-align:center;max-width:66ch;margin:0 auto
}.rn8v2 .sec-head--center h2{max-width:22ch;margin:0 auto}.rn8v2 .sec-head--center .lead{margin-left:auto;margin-right:auto}

/* ── нумерованные строки вместо ряда карточек ── */
.rn8v2 .rows{margin-top:54px;border-top:1px solid var(--line)}.rn8v2 .rows article{
  display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(16px,3vw,52px);align-items:baseline;
  padding:clamp(24px,3vw,38px) 0;border-bottom:1px solid var(--line);
  transition:background .35s var(--ease)
}.rn8v2 .rows article:hover{background:rgba(184,116,80,.04)}.rn8v2 .rows .n{
  font-family:Onest,sans-serif;font-size:clamp(22px,2.4vw,34px);font-weight:800;
  letter-spacing:-.04em;color:var(--copper-dk);opacity:.42;font-variant-numeric:tabular-nums
}.rn8v2 .rows h4{font-size:clamp(17px,1.7vw,22px);letter-spacing:-.02em}.rn8v2 .rows p{font-size:14.5px;color:var(--ink-2);line-height:1.65}
@media(max-width:820px){.rn8v2 .rows article{grid-template-columns:auto 1fr;gap:14px 18px}.rn8v2 .rows p{grid-column:2}
}

/* ── полоса во всю ширину: единственное место, где палитра звучит целиком ── */
.rn8v2 .band{
  position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(78% 120% at 50% -10%, rgba(240,168,92,.2) 0%, rgba(240,168,92,0) 60%),
    linear-gradient(180deg,#0A090D 0%,#141018 100%)
}.rn8v2 .band h2{color:#fff}.rn8v2 .band .lead{color:rgba(255,255,255,.62)}.rn8v2 .spectrum{
  display:grid;grid-template-columns:repeat(9,minmax(0,1fr));
  margin-top:52px;border-radius:16px;overflow:hidden
}.rn8v2 .spectrum div{
  padding:26px 16px 30px;position:relative;
  background:linear-gradient(180deg,var(--c) 0%,rgba(10,9,13,.9) 190%);
  transition:transform .4s var(--swift)
}.rn8v2 .spectrum div:hover{transform:translateY(-6px)}.rn8v2 .spectrum b{
  all:unset;display:block;font-family:Onest,sans-serif;font-size:13px;font-weight:800;
  color:rgba(10,9,13,.55);margin-bottom:56px
}.rn8v2 .spectrum h4{font-size:15px;color:#fff;letter-spacing:-.02em}.rn8v2 .spectrum p{margin-top:8px;font-size:12.5px;line-height:1.45;color:rgba(255,255,255,.72)}
@media(max-width:900px){.rn8v2 .spectrum{grid-template-columns:repeat(3,minmax(0,1fr))}.rn8v2 .spectrum b{margin-bottom:22px}
}
@media(max-width:520px){.rn8v2 .spectrum{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ── отчёт: одна крупная карточка и две поменьше ── */
.rn8v2 .shots--lead{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}.rn8v2 .shots--lead .shot:first-child{grid-row:span 2}.rn8v2 .shots--lead .shot:first-child figcaption{font-size:15px;max-width:44ch}
@media(max-width:900px){.rn8v2 .shots--lead{grid-template-columns:1fr}.rn8v2 .shots--lead .shot:first-child{grid-row:auto}
}

/* ── доказательства: широкий отзыв и два кейса ── */
.rn8v2 .proof--wide{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr)}.rn8v2 .proof--wide .quote{grid-row:span 2;justify-content:center}.rn8v2 .proof--wide .quote p{font-size:clamp(16px,1.5vw,20px);line-height:1.6}
@media(max-width:900px){.rn8v2 .proof--wide{grid-template-columns:1fr}.rn8v2 .proof--wide .quote{grid-row:auto}
}

/* ── фокус с клавиатуры ──
   Без этого страницу нельзя пройти табом: видно, где ты находишься,
   только по случайным изменениям hover. */
:where(a, .rn8v2 button, .rn8v2 summary, .rn8v2 input, .rn8v2 [tabindex]):focus-visible{
  outline:2px solid var(--copper-dk);
  outline-offset:3px;
  border-radius:8px
}
/* на тёмных участках медь тонет — берём янтарь */
.rn8v2 .stage :where(a, .rn8v2 button, .rn8v2 [tabindex]):focus-visible, .rn8v2 .inset :where(a, .rn8v2 button):focus-visible, .rn8v2 .plan--pick :where(a, .rn8v2 button):focus-visible, .rn8v2 .final :where(a, .rn8v2 button):focus-visible, .rn8v2 .panel :where(a, .rn8v2 button, .rn8v2 summary, .rn8v2 input):focus-visible{
  outline-color:var(--amber)
}

/* появление */
.rn8v2 .js .rise{opacity:0;transform:translateY(26px)}.rn8v2 .js .rise.in{opacity:1;transform:none;
  transition:opacity .8s var(--ease),transform .8s var(--swift)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rn8v2 .js .rise{opacity:1;transform:none}.rn8v2 .rot > span, .rn8v2 .hero h1 .stat{transition:none;animation:none;opacity:1;transform:none;filter:none}.rn8v2 .scroll-hint i{animation:none}
}

/* ═══ перенесено из первой версии ═══ */
.rn8v2 /* ═══════════════════════════════════════════════════════════
   Карусель инструментов + погружение внутрь
   Стекло в светлой теме: не затемнение, .rn8v2 а морозный белый слой.
   ═══════════════════════════════════════════════════════════ */

.tools{margin-top:46px;position:relative}

/* ── сцена карусели ── */
.rn8v2 .car{
  position:relative;height:392px;
  transition:opacity .5s var(--ease),transform .5s var(--ease);
  transform-origin:50% 30%
}.rn8v2 .car-stage{position:absolute;inset:0;z-index:2}.rn8v2 .car-num{
  position:absolute;left:0;right:0;bottom:6px;text-align:center;z-index:1;
  pointer-events:none;user-select:none;line-height:1;font-variant-numeric:tabular-nums
}.rn8v2 .car-num b{
  all:unset;display:block;font-size:clamp(56px,7.5vw,92px);font-weight:800;
  letter-spacing:-.045em;color:rgba(122,74,40,.13);
  transition:color .5s var(--ease)
}.rn8v2 .car-num span{
  display:block;margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.16em;
  text-transform:uppercase;color:var(--ink-3)
}.rn8v2 .tools.open .car{opacity:0;transform:scale(.9);pointer-events:none}.rn8v2 .tools.open .car-ctrl{opacity:0;pointer-events:none}

/* ── карточка-стекло ── */
.rn8v2 .tcard{
  position:absolute;left:50%;top:40%;width:216px;min-height:188px;
  margin:-94px 0 0 -108px;padding:17px 16px;border-radius:19px;
  display:flex;flex-direction:column;gap:9px;text-align:left;
  opacity:0;transform:scale(.8);
  font:inherit;color:var(--ink);cursor:pointer;
  border:1px solid rgba(255,255,255,.9);
  background:
    linear-gradient(150deg,rgba(255,255,255,.86) 0%,rgba(255,255,255,.58) 100%),
    radial-gradient(120% 90% at 82% 4%,var(--glow) 0%,transparent 62%);
  -webkit-backdrop-filter:blur(16px) saturate(1.5);
  backdrop-filter:blur(16px) saturate(1.5);
  box-shadow:0 10px 26px rgba(94,68,40,.16), inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .65s cubic-bezier(.22,1,.36,1),
             opacity .65s cubic-bezier(.22,1,.36,1),
             filter .65s cubic-bezier(.22,1,.36,1),
             box-shadow .35s var(--ease),border-color .35s var(--ease);
  will-change:transform,opacity
}.rn8v2 .tcard.is-active{
  box-shadow:0 34px 74px -14px rgba(94,68,40,.42), 0 0 0 1px var(--c),
             inset 0 1px 0 rgba(255,255,255,.95)
}.rn8v2 .tcard:not(.is-active):hover{box-shadow:0 20px 46px rgba(94,68,40,.17)}.rn8v2 .tcard:focus-visible{outline:2px solid var(--c);outline-offset:3px}.rn8v2 .tcard .ic{
  width:38px;height:38px;border-radius:12px;display:grid;place-items:center;
  background:var(--c);color:#fff;box-shadow:0 7px 18px var(--glow2);flex:none
}.rn8v2 .tcard .tg{
  position:absolute;top:17px;right:17px;font-size:9.5px;font-weight:800;
  letter-spacing:.1em;text-transform:uppercase;padding:4px 9px;border-radius:999px;
  background:var(--glow);color:var(--c)
}.rn8v2 .tcard h4{font-size:15.5px;line-height:1.24}.rn8v2 .tcard p{font-size:12.5px;line-height:1.45;color:var(--ink-2);
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rn8v2 .tcard .viz{margin-top:auto;height:28px;display:flex;align-items:flex-end}.rn8v2 .tcard .open{
  display:none;align-items:center;gap:7px;font-size:12.5px;font-weight:800;
  color:var(--c);letter-spacing:.02em
}.rn8v2 .tcard.is-active .open{display:flex}.rn8v2 .tcard.locked{cursor:not-allowed;filter:saturate(.35)}.rn8v2 .tcard.locked .ic{background:var(--ink-3);box-shadow:none}

/* ── управление ── */
.rn8v2 .car-ctrl{
  display:flex;align-items:center;justify-content:center;gap:16px;margin-top:6px;
  transition:opacity .4s var(--ease)
}.rn8v2 .car-ctrl button.arr{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--line);background:rgba(255,255,255,.86);color:var(--copper-dk);
  cursor:pointer;transition:background .2s,transform .2s var(--ease)
}.rn8v2 .car-ctrl button.arr:hover{background:#fff;transform:scale(1.07)}.rn8v2 .car-dots{display:flex;align-items:center;gap:6px}.rn8v2 .car-dots button{
  height:6px;width:6px;padding:0;border:0;border-radius:999px;cursor:pointer;
  background:rgba(122,74,40,.22);transition:width .3s var(--ease),background .3s;
  position:relative
}
/* Видимая точка остаётся мелкой, а нажимаемая область — 44px по высоте:
   пальцем в шестипиксельную точку никто не попадёт. */
.rn8v2 .car-dots button::after{
  content:"";position:absolute;left:-5px;right:-5px;top:-19px;bottom:-19px
}.rn8v2 .car-dots button.on{width:22px;background:var(--copper)}

/* ── панель инструмента ── */
.rn8v2 .panel{
  display:none;border-radius:24px;overflow:hidden;
  border:1px solid rgba(255,255,255,.9);
  background:
    linear-gradient(160deg,rgba(255,255,255,.9) 0%,rgba(255,255,255,.66) 100%),
    radial-gradient(90% 120% at 88% 0%,var(--glow) 0%,transparent 58%);
  -webkit-backdrop-filter:blur(18px) saturate(1.5);
  backdrop-filter:blur(18px) saturate(1.5);
  box-shadow:0 30px 76px rgba(94,68,40,.18)
}.rn8v2 .tools.open .panel{display:block;animation:dive .55s var(--ease) both}
@keyframes dive{
  from{opacity:0;transform:translateY(26px) scale(.95)}
  to{opacity:1;transform:none}
}.rn8v2 .p-head{
  display:flex;align-items:center;gap:15px;padding:22px clamp(20px,2.6vw,34px);
  border-bottom:1px solid var(--line)
}.rn8v2 .p-head .ic{
  width:44px;height:44px;border-radius:13px;display:grid;place-items:center;
  background:var(--c);color:#fff;flex:none;box-shadow:0 8px 20px var(--glow2)
}.rn8v2 .p-head h3{font-size:19px}.rn8v2 .p-head .sub{font-size:13px;color:var(--ink-3);margin-top:2px}.rn8v2 .p-back{
  margin-left:auto;display:inline-flex;align-items:center;gap:8px;flex:none;
  border:1px solid var(--line);background:rgba(255,255,255,.7);border-radius:999px;
  padding:9px 16px;font:inherit;font-size:13.5px;font-weight:700;color:var(--ink-2);
  cursor:pointer;transition:background .2s,color .2s
}.rn8v2 .p-back:hover{background:#fff;color:var(--copper-dk)}.rn8v2 .p-body{padding:clamp(22px,2.8vw,34px)}

/* ── поля даты ── */
.rn8v2 .dob3{display:flex;gap:11px;flex-wrap:wrap;align-items:flex-end}.rn8v2 .dob3 label{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:6px}.rn8v2 .dob3 input{
  font:inherit;font-size:20px;font-weight:700;text-align:center;width:86px;
  padding:12px 8px;border-radius:13px;border:1px solid var(--line);
  background:rgba(255,255,255,.85);color:var(--ink);font-variant-numeric:tabular-nums
}.rn8v2 .dob3 input.y{width:112px}.rn8v2 .dob3 input:focus{outline:2px solid var(--c);outline-offset:2px;border-color:transparent}

/* ── результат: карточки типов ── */
.rn8v2 .res{margin-top:26px;display:none}.rn8v2 .res.on{display:block;animation:dive .45s var(--ease) both}.rn8v2 .tw{display:grid;grid-template-columns:repeat(auto-fit,minmax(248px,1fr));gap:14px}.rn8v2 .tw > div{
  padding:20px 19px;border-radius:17px;background:rgba(255,255,255,.8);
  border:1px solid var(--line);border-top:3px solid var(--tc)
}.rn8v2 .tw .ax{font-size:10.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-3)}.rn8v2 .tw .nm{display:flex;align-items:center;gap:12px;margin:11px 0 9px}.rn8v2 .tw .nm em{
  all:unset;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  font-weight:800;font-size:16px;color:#fff;background:var(--tc)
}.rn8v2 .tw .nm b{all:unset;font-weight:800;font-size:17px;letter-spacing:-.01em}.rn8v2 .tw p{font-size:13.5px;line-height:1.55;color:var(--ink-2)}

/* раскрывающийся расчёт */
.rn8v2 .calcbox{margin-top:16px;border-radius:13px;border:1px solid var(--line);
  background:rgba(255,255,255,.6);overflow:hidden}.rn8v2 .calcbox summary{
  list-style:none;cursor:pointer;padding:13px 17px;font-size:13.5px;font-weight:700;
  color:var(--copper-dk);display:flex;align-items:center;gap:9px
}.rn8v2 .calcbox summary::-webkit-details-marker{display:none}.rn8v2 .calcbox summary::before{content:"+";font-weight:800;font-size:16px;line-height:1}.rn8v2 .calcbox[open] summary::before{content:"–"}.rn8v2 .calcbox .in{padding:0 17px 15px;font-size:13.5px;color:var(--ink-2);
  line-height:1.7;font-variant-numeric:tabular-nums}.rn8v2 .calcbox .in b{all:unset;font-weight:800;color:var(--ink)}

/* ── вкладки ── */
.rn8v2 .tabs{display:inline-flex;gap:4px;padding:4px;border-radius:999px;
  background:rgba(122,74,40,.07);margin-bottom:22px}.rn8v2 .tabs button{
  border:0;background:transparent;font:inherit;font-size:13.5px;font-weight:700;
  padding:9px 18px;border-radius:999px;cursor:pointer;color:var(--ink-2);
  transition:background .25s,color .25s
}.rn8v2 .tabs button.on{background:#fff;color:var(--ink);box-shadow:0 3px 10px rgba(94,68,40,.12)}

/* ── фразы клиента ── */
.rn8v2 .phr{display:flex;flex-wrap:wrap;gap:9px}.rn8v2 .phr label{
  display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border-radius:999px;
  border:1px solid var(--line);background:rgba(255,255,255,.75);cursor:pointer;
  font-size:13.5px;line-height:1.3;transition:border-color .2s,background .2s,transform .2s var(--ease)
}.rn8v2 .phr label:hover{transform:translateY(-2px)}.rn8v2 .phr input{position:absolute;opacity:0;pointer-events:none}.rn8v2 .phr label .bx{
  width:16px;height:16px;border-radius:5px;border:1.5px solid rgba(122,74,40,.3);
  flex:none;display:grid;place-items:center;transition:background .2s,border-color .2s
}.rn8v2 .phr input:checked + .bx{background:var(--c);border-color:var(--c)}.rn8v2 .phr input:checked + .bx::after{content:"";width:5px;height:9px;margin-top:-2px;
  border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}.rn8v2 .phr label:has(input:checked){border-color:var(--c);background:#fff}.rn8v2 .phr-n{margin-top:16px;font-size:13px;color:var(--ink-3)}

/* ── карточка сделки ── */
.rn8v2 .deal{display:grid;gap:13px}.rn8v2 .deal .row{
  padding:17px 19px;border-radius:15px;background:rgba(255,255,255,.8);
  border:1px solid var(--line);border-left:3px solid var(--rc,var(--c))
}.rn8v2 .deal .row b{all:unset;display:block;font-size:10.5px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3);margin-bottom:8px}.rn8v2 .deal .row p{font-size:14px;line-height:1.55;color:var(--ink-2)}.rn8v2 .deal ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.rn8v2 .deal li{position:relative;padding-left:20px;font-size:14px;
  line-height:1.5;color:var(--ink-2)}.rn8v2 .deal li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;
  border-radius:2px;background:var(--rc,var(--c));opacity:.5}.rn8v2 .deal .fm{font-size:19px;font-weight:800;letter-spacing:-.01em;color:var(--ink)}

/* закрытая часть */
.rn8v2 .gate{
  margin-top:15px;padding:20px;border-radius:15px;text-align:center;
  border:1px dashed rgba(122,74,40,.32);background:rgba(122,74,40,.045)
}.rn8v2 .gate .bl{filter:blur(4.5px);opacity:.5;user-select:none;pointer-events:none;
  font-size:14px;color:var(--ink-2);line-height:1.6}.rn8v2 .gate .msg{margin-top:14px;font-size:14px;font-weight:700;color:var(--copper-dk)}.rn8v2 .gate .sm{margin-top:5px;font-size:12.5px;color:var(--ink-3)}

/* превью неготовых инструментов */
.rn8v2 .soon{display:grid;gap:16px}.rn8v2 .soon .demo{
  padding:20px;border-radius:16px;background:rgba(255,255,255,.8);
  border:1px solid var(--line)
}.rn8v2 .soon .demo b{all:unset;display:block;font-size:10.5px;font-weight:800;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:11px}

/* сетка функций для превью карты команды */
.rn8v2 .mapgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rn8v2 .mapgrid span{
  padding:11px 9px;border-radius:11px;font-size:11.5px;font-weight:700;text-align:center;
  border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--ink-2)
}.rn8v2 .mapgrid span.f{color:#fff;border-color:transparent}.rn8v2 .mapgrid span.hole{border-style:dashed;border-color:var(--d-crit);color:var(--d-crit)}.rn8v2 .note{margin-top:18px;font-size:12.5px;color:var(--ink-3);line-height:1.55}

/* ── замок ── */
.rn8v2 .locked-body{text-align:center;padding:clamp(26px,4vw,52px)}.rn8v2 .locked-body .lk{
  width:54px;height:54px;border-radius:16px;margin:0 auto 18px;display:grid;
  place-items:center;background:rgba(122,74,40,.09);color:var(--copper-dk)
}.rn8v2 .locked-body h3{margin-bottom:10px}.rn8v2 .locked-body p{font-size:14.5px;color:var(--ink-2);line-height:1.6;max-width:46ch;margin:0 auto}.rn8v2 .reset{
  margin-top:16px;text-align:center;font-size:12.5px;color:var(--ink-3)
}.rn8v2 .reset button{
  border:0;background:none;font:inherit;font-size:12.5px;color:var(--copper-dk);
  text-decoration:underline;cursor:pointer;padding:0
}

/* ── телефон: эллипс не работает, переключаемся на ленту ── */
/* Здесь была опечатка: медиазапрос стоял ПОСЛЕ селектора
   (.rn8v2 @media...), а так CSS не работает — браузер выбрасывал весь
   блок. Из-за этого на телефоне карточки инструментов оставались
   невидимыми (opacity 0, scale .8): стрелки листали пустоту. */
@media(max-width:760px){
  .rn8v2 .car{height:auto}
  .rn8v2 .car-num{display:none}
  .rn8v2 .car-stage{position:static;display:flex;gap:12px;overflow-x:auto;
    scroll-snap-type:x mandatory;padding:4px 2px 14px;
    scrollbar-width:none}
  .rn8v2 .car-stage::-webkit-scrollbar{display:none}
  .rn8v2 .tcard{position:static;margin:0;flex:0 0 236px;scroll-snap-align:center;
    transform:none;opacity:1}
  .rn8v2 .tcard .open{display:flex}
  .rn8v2 .car-ctrl .arr{display:none}
}
@media(prefers-reduced-motion:reduce){.rn8v2 .tcard{transition:none}.rn8v2 .tools.open .panel, .rn8v2 .res.on{animation:none}
}

/* надзаголовок без плашки: в теме .eyebrow это пилюля с фоном и рамкой,
   в новой части это просто строка с чертой. */
.rn8v2 .eyebrow{
  padding:0;border:0;background:none;border-radius:0;
  font-size:11px;font-weight:700;letter-spacing:.2em
}

/* Тема красит все кнопки правилом .mp-v2 .btn:not(.secondary) — три класса,
   вес выше моего. Поэтому свои варианты объявляем таким же весом. */
.rn8v2 .btn.btn--amber{
  background-image:linear-gradient(120deg,var(--amber-2),var(--amber));
  background-color:var(--amber-2);color:#241305
}
.rn8v2 .btn.btn--amber:hover{
  background-image:linear-gradient(120deg,#EC9A48,#F5B570);
  box-shadow:0 16px 40px rgba(224,145,63,.36)
}
.rn8v2 .btn.btn--ghost{
  background-image:none;background-color:transparent;color:var(--ink);
  border:1px solid var(--line)
}
.rn8v2 .btn.btn--light{background-image:none;background-color:#fff;color:var(--copper-dp)}
.rn8v2 .btn.btn--onDark{background-image:none;background-color:rgba(255,255,255,.07);color:#fff}


/* ═══════════════════════════════════════════════════════════════
   МОСТ: прежние блоки в новом языке.
   Перекраска токенов сменила цвет и шрифт, но страница всё равно
   читалась как два сайта: разная ширина колонки, разный вертикальный
   ритм и полная неподвижность нижней половины. Здесь это сводится.
   ═══════════════════════════════════════════════════════════════ */

/* 1. Одна колонка на всю страницу.
   Прежние секции шли во всю ширину экрана, новые — в колонке 1280.
   Глазу это заметнее любой разницы в цвете. */
.mp-v2 .wrap{
  max-width:1280px;
  padding-left:clamp(18px,4vw,56px);
  padding-right:clamp(18px,4vw,56px)
}
/* полноширинные полосы остаются полноширинными */
.mp-v2 .band .wrap,
.mp-v2 .rn8v2 .band .wrap{max-width:1280px}

/* 2. Общий вертикальный ритм. */
.mp-v2 section:not(.rn8v2 section):not(.hero):not(.band){
  padding-top:clamp(58px,7.5vw,124px);
  padding-bottom:clamp(58px,7.5vw,124px)
}

/* 3. Заголовки по шкале новой части. */
.mp-v2 h2{font-size:clamp(26px,3.4vw,46px);line-height:1.12;letter-spacing:-.025em}
.mp-v2 h3{font-size:clamp(18px,1.5vw,23px);letter-spacing:-.015em}
.mp-v2 h4{font-size:17px;letter-spacing:-.012em}

/* 4. Вводный абзац: длина строки и цвет как в новой части. */
.mp-v2 .lead,
.mp-v2 .mmp-sub,
.mp-v2 .section-sub{
  font-size:clamp(15px,1.12vw,18px);line-height:1.65;
  color:var(--rn8-ink-400);max-width:62ch
}

/* 5. Один радиус на странице: в новой части карточки 16-18. */
.mp-v2 .v2-panel,
.mp-v2 .v2-card,
.mp-v2 .mmp-card,
.mp-v2 .rn8-card{border-radius:18px}

/* 6. Появление при прокрутке — прежняя половина была неподвижной,
   и переход к ней ощущался как обрыв. */
.js .mp-v2 .mmp-rise{opacity:0;transform:translateY(22px)}
.js .mp-v2 .mmp-rise.in{
  opacity:1;transform:none;
  transition:opacity .8s cubic-bezier(.22,.61,.36,1),
             transform .8s cubic-bezier(.22,1,.36,1)
}
@media(prefers-reduced-motion:reduce){
  .js .mp-v2 .mmp-rise{opacity:1;transform:none}
}


/* ═══════════════════════════════════════════════════════════════
   ИНСТРУМЕНТЫ В НОЧИ.
   На светлой бумаге пастельные карточки читались как наклейки.
   Блок уходит в ту же ночь, что и первый экран: цвет инструмента
   остаётся, но работает свечением и кантом, а не заливкой.
   ═══════════════════════════════════════════════════════════════ */

.rn8v2 #instrumenty{position:relative;color:#fff}
/* Фон рисуется ОДИН раз — только на полосе во всю ширину экрана.
   background:inherit на псевдоэлементе рисовал те же градиенты вторым
   слоем в другом масштабе (коробка секции vs 100vw) — по краям колонки
   были видны прямоугольные швы. */
.rn8v2 #instrumenty::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;
  transform:translateX(-50%);z-index:-1;
  background:
    radial-gradient(70% 82% at 50% -10%, rgba(240,168,92,.16) 0%, rgba(240,168,92,0) 60%),
    linear-gradient(180deg,#0A0908 0%,#141018 46%,#191211 74%,#0A0908 100%);
  /* свечение вплывает постепенно: без маски янтарь начинался с полной
     силы прямо на верхней границе полосы и давал жёсткую кромку.
     Верх линейного слоя = грунт #0A0908, поэтому растворение к
     прозрачному сверху бесшовно. */
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 clamp(160px,22vw,340px),#000 100%);
          mask-image:linear-gradient(180deg,transparent 0,#000 clamp(160px,22vw,340px),#000 100%)
}
.rn8v2 #instrumenty h2,
.rn8v2 #instrumenty h3,
.rn8v2 #instrumenty h4{color:#fff}
.rn8v2 #instrumenty .lead{color:rgba(255,255,255,.62)}
.rn8v2 #instrumenty .hint,
.rn8v2 #instrumenty .reset{color:rgba(255,255,255,.5)}
.rn8v2 #instrumenty .reset button{color:var(--amber)}

/* ── карточка: тёмное стекло вместо белого ── */
.rn8v2 #instrumenty .tcard{
  border-color:rgba(255,255,255,.1);
  background:
    linear-gradient(150deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.02) 100%),
    radial-gradient(120% 90% at 80% 0%,var(--glow) 0%,transparent 62%);
  box-shadow:0 16px 40px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.12)
}
.rn8v2 #instrumenty .tcard.is-active{
  border-color:transparent;
  box-shadow:0 34px 74px -14px rgba(0,0,0,.72), 0 0 0 1px var(--c),
             inset 0 1px 0 rgba(255,255,255,.18)
}
/* значок: кант и свечение вместо сплошной заливки */
.rn8v2 #instrumenty .tcard .ic{
  background:var(--glow);color:var(--c);
  border:1px solid var(--c);box-shadow:0 0 22px -4px var(--glow2)
}
.rn8v2 #instrumenty .tcard .tg{
  background:rgba(255,255,255,.06);color:var(--c);
  border:1px solid rgba(255,255,255,.1)
}
.rn8v2 #instrumenty .tcard p{color:rgba(255,255,255,.6)}
.rn8v2 #instrumenty .tcard.locked{filter:saturate(.2) brightness(.7)}
.rn8v2 #instrumenty .tcard.locked .ic{
  background:rgba(255,255,255,.05);color:rgba(255,255,255,.45);
  border-color:rgba(255,255,255,.16);box-shadow:none
}

/* ── счётчик и управление ── */
.rn8v2 #instrumenty .car-num b{color:rgba(255,255,255,.1)}
.rn8v2 #instrumenty .car-num span{color:rgba(255,255,255,.42)}
.rn8v2 #instrumenty .car-ctrl button.arr{
  border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:#fff
}
.rn8v2 #instrumenty .car-ctrl button.arr:hover{background:rgba(255,255,255,.12)}
.rn8v2 #instrumenty .car-dots button{background:rgba(255,255,255,.2)}
.rn8v2 #instrumenty .car-dots button.on{background:var(--amber)}

/* ── панель погружения ── */
.rn8v2 #instrumenty .panel{
  border-color:rgba(255,255,255,.1);
  background:
    linear-gradient(160deg,rgba(255,255,255,.07) 0%,rgba(255,255,255,.02) 100%),
    radial-gradient(90% 120% at 88% 0%,var(--glow) 0%,transparent 58%);
  box-shadow:0 30px 76px rgba(0,0,0,.5)
}
.rn8v2 #instrumenty .p-head{border-bottom-color:rgba(255,255,255,.1)}
.rn8v2 #instrumenty .p-head .ic{
  background:var(--glow);color:var(--c);border:1px solid var(--c);box-shadow:none
}
.rn8v2 #instrumenty .p-head .sub{color:rgba(255,255,255,.45)}
.rn8v2 #instrumenty .p-back{
  border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.05);color:rgba(255,255,255,.72)
}
.rn8v2 #instrumenty .p-back:hover{background:rgba(255,255,255,.12);color:#fff}

/* ── поля и результаты внутри инструментов ── */
.rn8v2 #instrumenty .dob3 label{color:rgba(255,255,255,.45)}
.rn8v2 #instrumenty .dob3 input{
  background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16);color:#fff
}
.rn8v2 #instrumenty .tw > div,
.rn8v2 #instrumenty .deal .row,
.rn8v2 #instrumenty .soon .demo,
.rn8v2 #instrumenty .mapgrid span{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)
}
.rn8v2 #instrumenty .tw .ax{color:rgba(255,255,255,.45)}
.rn8v2 #instrumenty .tw p,
.rn8v2 #instrumenty .deal .row p,
.rn8v2 #instrumenty .deal li,
.rn8v2 #instrumenty .soon .demo p{color:rgba(255,255,255,.68)}
.rn8v2 #instrumenty .deal .row b,
.rn8v2 #instrumenty .soon .demo b{color:rgba(255,255,255,.45)}
.rn8v2 #instrumenty .deal .fm{color:#fff}
.rn8v2 #instrumenty .calcbox{
  background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.1)
}
.rn8v2 #instrumenty .calcbox summary{color:var(--amber)}
.rn8v2 #instrumenty .calcbox .in{color:rgba(255,255,255,.62)}
.rn8v2 #instrumenty .calcbox .in b{color:#fff}

/* вкладки и фразы клиента */
.rn8v2 #instrumenty .tabs{background:rgba(255,255,255,.06)}
.rn8v2 #instrumenty .tabs button{color:rgba(255,255,255,.6)}
.rn8v2 #instrumenty .tabs button.on{
  background:rgba(255,255,255,.14);color:#fff;box-shadow:none
}
.rn8v2 #instrumenty .phr label{
  background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12);color:rgba(255,255,255,.8)
}
.rn8v2 #instrumenty .phr label:has(input:checked){
  background:rgba(255,255,255,.12);border-color:var(--c);color:#fff
}
.rn8v2 #instrumenty .phr label .bx{border-color:rgba(255,255,255,.3)}
.rn8v2 #instrumenty .phr-n{color:rgba(255,255,255,.45)}

/* закрытая часть и замок */
.rn8v2 #instrumenty .gate{
  border-color:rgba(255,255,255,.18);background:rgba(255,255,255,.04)
}
.rn8v2 #instrumenty .gate .bl{color:rgba(255,255,255,.5)}
.rn8v2 #instrumenty .gate .msg{color:var(--amber)}
.rn8v2 #instrumenty .gate .sm{color:rgba(255,255,255,.4)}
.rn8v2 #instrumenty .locked-body .lk{
  background:rgba(255,255,255,.06);color:rgba(255,255,255,.6)
}
.rn8v2 #instrumenty .locked-body p{color:rgba(255,255,255,.62)}
.rn8v2 #instrumenty .note{color:rgba(255,255,255,.45)}

/* кнопки внутри блока — как в герое */
.rn8v2 #instrumenty .btn.btn--ghost{
  color:#fff;border-color:rgba(255,255,255,.2);background-color:transparent
}
.rn8v2 #instrumenty .btn:not(.btn--amber):not(.btn--ghost){
  background-image:none;background-color:rgba(255,255,255,.1);color:#fff
}


/* ═══════════════════════════════════════════════════════════════
   ВОСЬМЁРКА RN8 — живая, в языке первого экрана.
   Прежняя схема была золотой картинкой на светлой бумаге и выпадала
   из общего языка. Теперь это та же сеть узлов и связей, что в герое,
   только собранная в контур восьмёрки и вращающаяся в объёме.
   ═══════════════════════════════════════════════════════════════ */

.mp-v2 .v2-suite{position:relative;color:#fff}
/* тот же принцип, что у #instrumenty: фон только на 100vw-полосе,
   иначе двойная отрисовка градиентов даёт швы по краям колонки */
.mp-v2 .v2-suite::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;
  transform:translateX(-50%);z-index:0;
  background:
    radial-gradient(64% 100% at 50% 0%, rgba(240,168,92,.16) 0%, rgba(240,168,92,0) 62%),
    linear-gradient(180deg,#0A090D 0%,#141018 58%,#1B1310 100%)
}
.mp-v2 .v2-suite > *{position:relative;z-index:1}
.mp-v2 .v2-suite h2,
.mp-v2 .v2-suite h3,
.mp-v2 .v2-suite h4,
.mp-v2 .v2-suite strong{color:#fff}
.mp-v2 .v2-suite p,
.mp-v2 .v2-suite .lead,
.mp-v2 .v2-suite li{color:rgba(255,255,255,.66)}

.mp-v2 .rn8-eco-stage{position:relative;min-height:clamp(340px,42vw,560px)}
.mp-v2 .rn8-eren{
  position:absolute;inset:0;width:100%;height:100%;display:block;z-index:2;
  opacity:0;transition:opacity 1.2s cubic-bezier(.22,.61,.36,1)
}
.mp-v2 .rn8-eren.on{opacity:1}
/* прежняя схема остаётся для случая без скриптов */
.js .mp-v2 .rn8-diagram--eco{visibility:hidden}

/* правая колонка — тёмное стекло */
.mp-v2 .v2-suite .rn8-eco-panel,
.mp-v2 .v2-suite .rn8-eco-list{
  background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)
}
.mp-v2 .v2-suite .rn8-eco-row{border-color:rgba(255,255,255,.08)}
.mp-v2 .v2-suite .rn8-eco-row:hover,
.mp-v2 .v2-suite .rn8-eco-row.is-active{background:rgba(255,255,255,.07)}
.mp-v2 .v2-suite .rn8-eco-hint{color:rgba(255,255,255,.45)}
.mp-v2 .v2-suite .rn8-eco-play{
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.18);color:#fff
}

/* ═══════════════════════════════════════════════════════════════
   АВТОРЫ МЕТОДОЛОГИИ — двое в одном блоке, ровно.
   Фото ставится сверху во всю ширину карточки, а не сбоку: при двух
   карточках в ряд боковое деление оставляло тексту около трёхсот
   пикселей, и всё рвалось на переносах.
   Объём у авторов разный — 17 пунктов против 13, — поэтому ровными
   делаются карточки, а не содержание: обе тянутся до общей высоты.
   ═══════════════════════════════════════════════════════════════ */

.mp-v2 .mmp-founders{background:var(--rn8-bg-porcelain)}
.mp-v2 .mmp-founders .section-title{
  font-size:clamp(26px,3.4vw,46px);letter-spacing:-.025em;max-width:20ch
}
.mp-v2 .mmp-founders .section-lead{
  font-size:clamp(15px,1.12vw,18px);line-height:1.65;
  color:var(--rn8-ink-400);max-width:62ch;margin-top:18px
}

.mp-v2 .mmp-founders-grid{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(18px,2vw,26px);margin-top:52px;
  align-items:stretch                      /* обе карточки одной высоты */
}
@media(max-width:900px){
  .mp-v2 .mmp-founders-grid{grid-template-columns:1fr}
}

.mp-v2 .mmp-founder-card{
  display:flex;flex-direction:column;gap:0;
  padding:clamp(18px,1.8vw,24px);border-radius:22px;
  background:var(--rn8-surface);border:1px solid var(--rn8-line-structure);
  box-shadow:0 18px 46px rgba(19,19,24,.07);
  transition:box-shadow .4s
}
.mp-v2 .mmp-founder-card:hover{box-shadow:0 26px 60px rgba(19,19,24,.12)}

/* фото сверху, широкое: лицо в верхней трети кадра */
.mp-v2 .mmp-founder-ph{margin:0 0 22px}
/* Пропорцию задаём самой картинке: .mmp-founder-photo — это обёртка,
   и правило на ней изображение внутри не трогало. */
/* Тема тянет обёртку на всю высоту карточки — это под боковое
   расположение. Здесь фото сверху, поэтому растяжку снимаем. */
.mp-v2 .mmp-founder-photo{
  display:block;width:100%;border-radius:16px;overflow:hidden;
  align-self:auto;min-height:0;height:auto;aspect-ratio:auto;background:none
}
.mp-v2 .mmp-founder-photo img,
.mp-v2 img.mmp-founder-photo{
  width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 22%;
  border-radius:16px;display:block;
  filter:saturate(.94) contrast(1.02)
}

.mp-v2 .mmp-founder-body{display:flex;flex-direction:column;flex:1}

.mp-v2 .mmp-founder-head h3{
  font-size:clamp(21px,1.9vw,27px);letter-spacing:-.025em;color:var(--rn8-ink-900);
  text-wrap:balance
}
.mp-v2 .mmp-founder-role{
  margin-top:7px;font-size:12px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;color:var(--rn8-bronze-500)
}
.mp-v2 .mmp-founder-short{
  margin-top:12px;font-size:14.5px;line-height:1.62;color:var(--rn8-ink-400)
}

.mp-v2 .mmp-founder-facts{
  display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none
}
.mp-v2 .mmp-founder-facts li{
  padding:7px 13px;border-radius:999px;font-size:12.5px;font-weight:600;
  white-space:nowrap;
  background:rgba(184,116,80,.09);color:var(--rn8-bronze-500);
  border:1px solid rgba(184,116,80,.18)
}
@media(max-width:520px){
  .mp-v2 .mmp-founder-facts li{white-space:normal}
}

.mp-v2 .mmp-founder-sec{margin-top:24px}
.mp-v2 .mmp-founder-sec h4{
  font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--rn8-ink-400);margin-bottom:11px;
  padding-bottom:9px;border-bottom:1px solid var(--rn8-line-structure)
}
.mp-v2 .mmp-founder-sec ul{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.mp-v2 .mmp-founder-sec li{
  position:relative;padding-left:19px;font-size:14px;line-height:1.55;
  color:var(--rn8-ink-400)
}
.mp-v2 .mmp-founder-sec li::before{
  content:"";position:absolute;left:0;top:9px;width:9px;height:1px;
  background:var(--rn8-copper-600);opacity:.7
}
/* Последний раздел прижимается вниз, чтобы карточки заканчивались
   одинаково даже при разном числе пунктов. */
.mp-v2 .mmp-founder-sec:last-of-type{margin-bottom:auto}
.mp-v2 .mmp-founder-body > .btn{margin-top:24px;align-self:flex-start}

/* ═══════════════════════════════════════════════════════════════
   ПРЕЖНИЕ БЛОКИ В НОВОМ ЯЗЫКЕ.
   Перекраска токенов сменила цвет, но не почерк: остались залитые
   площади, чужие синие в жёстко прописанных значениях и карточки
   с иным радиусом и тенью. Здесь почерк выравнивается.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. смысловые цвета диаграмм: их не было, и точки оставались чёрными ── */
:root{
  --rn8-d-good:#1B7A50;
  --rn8-d-warn:#DA9420;
  --rn8-d-crit:#C4402C;
  --rn8-d-info:#8A5A32;
}

/* ── 2. остатки синего, прописанные значением, а не переменной ── */
.mp-v2 .btn:not(.secondary):hover{box-shadow:0 10px 26px rgba(138,90,50,.24)}
.mp-v2 .mmp-hero-copy .eyebrow{background-color:rgba(184,116,80,.1);color:var(--rn8-bronze-500)}
.mp-v2 .v2-role-row i{background:linear-gradient(90deg,#C98B5E,#8A5A32)}
.mp-v2 .v2-insight{
  background:linear-gradient(140deg,rgba(184,116,80,.08),rgba(184,116,80,.02));
  border-color:rgba(184,116,80,.26)
}
.mp-v2 .mmp-imgstyle--gradient_card,
.mp-v2 .mmp-expimg--gradient_background .mmp-founder-photo{
  background:linear-gradient(135deg,rgba(184,116,80,.14),rgba(122,74,40,.08))
}
.mmp-promo{background:var(--rn8-copper-600)}
.mmp-promo-btn{color:var(--rn8-copper-600)}
.mmp-promo--pricing_badge{background:var(--rn8-copper-dp,#6E4224)}

/* ── 3. диаграммы: только линии, никаких залитых площадей ──
   Заливка под кривой и цветная полоса риска были самым заметным
   отличием от языка первого экрана. */
.mp-v2 .rn8-area{fill:none;stroke:rgba(184,116,80,.28);stroke-width:1;stroke-dasharray:3 4}
.mp-v2 .rn8-riskband{
  fill:none;stroke:var(--rn8-d-warn);stroke-width:1;
  stroke-dasharray:2 5;opacity:.5
}
.mp-v2 .rn8-flow{stroke:var(--rn8-copper-600);stroke-width:1.6}
.mp-v2 .rn8-struct{stroke:var(--rn8-line-structure);stroke-width:1}
.mp-v2 .rn8-diagram text,
.mp-v2 .rn8-label{fill:var(--rn8-ink-900);font-family:Onest,Inter,sans-serif;font-weight:600}
.mp-v2 .rn8-sub{fill:var(--rn8-ink-400);font-family:Inter,sans-serif;font-weight:400}
.mp-v2 .rn8-dot{r:5}

/* ── 4. один почерк у карточек прежней половины ── */
.mp-v2 .v2-panel,
.mp-v2 .v2-card,
.mp-v2 .v2-module,
.mp-v2 .v2-page-card,
.mp-v2 .v2-roadmap-item,
.mp-v2 .mmp-problem,
.mp-v2 .rn8-eco-panel{
  border-radius:18px;
  border:1px solid var(--rn8-line-structure);
  background:var(--rn8-surface);
  box-shadow:0 14px 38px rgba(19,19,24,.06)
}
.mp-v2 .v2-module:hover,
.mp-v2 .v2-page-card:hover{box-shadow:0 22px 52px rgba(19,19,24,.1)}

/* ── 5. статусы: остаются, но перестают кричать ──
   Сайт ещё не открыт, пометки нужны команде. Делаем их спокойными:
   волосяная рамка и точка вместо заливки. */
.mp-v2 .v2-status{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 11px;border-radius:999px;
  font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  background:none;border:1px solid var(--rn8-line-structure);color:var(--rn8-ink-400)
}
.mp-v2 .v2-status::before{
  content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none
}
.mp-v2 .v2-status--available{color:var(--rn8-d-good);border-color:rgba(31,138,91,.32)}
.mp-v2 .v2-status--connected{color:var(--rn8-copper-600);border-color:rgba(184,116,80,.34)}
.mp-v2 .v2-status--development{color:var(--rn8-d-warn);border-color:rgba(218,148,32,.34)}
.mp-v2 .v2-status--planned{color:var(--rn8-ink-3,#63636E);border-color:var(--rn8-line-structure)}

/* ── 6. демонстрационные карточки: тише и в одном тоне ── */
.mp-v2 .v2-demo-chip,
.mp-v2 .mmp-demo-chip{
  background:none;border:1px solid rgba(138,90,50,.3);color:var(--rn8-bronze-500);
  border-radius:999px;padding:5px 11px;font-size:10.5px;letter-spacing:.12em
}

/* ── 7. ссылки внутри схем ── */
.mp-v2 .rn8-link{stroke:rgba(184,116,80,.4);stroke-width:1.2;fill:none}
.mp-v2 .rn8-node{fill:var(--rn8-surface);stroke:var(--rn8-copper-600);stroke-width:1.4}
.mp-v2 .rn8-inode{fill:var(--rn8-copper-600)}

/* Содержимое обязано лежать выше слоя света. */
.mp-v2 > *,
.mp-v2 main,
.mp-v2 header,
.mp-v2 footer{position:relative;z-index:1}


/* ── полосы без залитой дорожки ──
   Дорожка под полосой — приём из панелей приборов; на продающей
   странице она добавляет вес, но ничего не сообщает. */
.mp-v2 .v2-role-row div{background:none;border-bottom:1px solid var(--rn8-line-structure);height:auto}
.mp-v2 .v2-role-row i{
  display:block;height:3px;border-radius:2px;
  background:linear-gradient(90deg,var(--rn8-copper-600),var(--rn8-bronze-500))
}
/* латиница в демо-подписях осталась только в названиях модулей RN */
.mp-v2 .v2-demo-chip,
.mp-v2 .mmp-demo-chip{text-transform:none;letter-spacing:.06em;font-size:11px}

/* ═══════════════════════════════════════════════════════════════
   ГЕРОЙ: чистое поле под сетью.
   Текст уходит к левому краю, короткая строка и кнопка — к правому.
   Середина остаётся сети: именно она несёт смысл первого экрана.
   ═══════════════════════════════════════════════════════════════ */

.rn8v2 .stage > .wrap{max-width:none;padding-left:clamp(20px,3vw,54px);padding-right:clamp(20px,3vw,54px)}
.rn8v2 .hero-grid{
  grid-template-columns:minmax(0,clamp(360px,34vw,520px)) minmax(0,1fr) minmax(0,clamp(220px,20vw,300px));
  gap:clamp(20px,3vw,48px);align-items:center
}
/* средняя колонка пустая — она и есть окно для сети */
.rn8v2 .hero-grid::before{content:"";grid-column:2;grid-row:1}
.rn8v2 .hero-grid > :first-child{grid-column:1}
.rn8v2 .hero-side{grid-column:3;padding-bottom:0;text-align:left}
.rn8v2 .hero-side p{font-size:15.5px;line-height:1.6;color:rgba(255,255,255,.72);max-width:26ch}
.rn8v2 .hero .actions{margin-top:22px}
.rn8v2 .hero h1{max-width:none;font-size:clamp(28px,3.9vw,56px)}
.rn8v2 .hero{padding-bottom:clamp(90px,12vh,150px)}
@media(max-width:1100px){
  .rn8v2 .hero-grid{grid-template-columns:minmax(0,1fr) minmax(0,clamp(200px,26vw,280px))}
  .rn8v2 .hero-grid::before{display:none}
  .rn8v2 .hero-side{grid-column:2}
}
@media(max-width:900px){
  .rn8v2 .hero-grid{grid-template-columns:1fr}
  .rn8v2 .hero-side{grid-column:1}
}
/* Колонка сузилась — кегль подстраиваем, чтобы заголовок остался
   в три строки и не уезжал за нижний край. */
.rn8v2 .hero h1{font-size:clamp(26px,3.1vw,46px);line-height:1.08}
.rn8v2 .hero{justify-content:center;padding-top:120px;padding-bottom:clamp(70px,9vh,120px)}

/* ═══════════════════════════════════════════════════════════════
   ПРЕЖНЯЯ ПОЛОВИНА: смена почерка, а не только цвета.
   До этого менялись значения токенов — оставались клетчатая калька,
   шампанские рамки, слоновая кость вперемешку с фарфором и по три
   радиуса на секцию. Здесь выравнивается сам приём.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Клетчатая калька убирается ──
   Сетка 32 пикселя читалась как миллиметровка и мгновенно выдавала
   прежний слой. Глубину даёт мягкое пятно света, а не клетка. */
.mp-v2 .mmp-why,
.mp-v2 .mmp-legend,
.mp-v2 .v2-suite,
.mp-v2 .mmp-idea,
.mp-v2 .mmp-diag{
  background-image:none
}
.mp-v2 .mmp-why,
.mp-v2 .mmp-legend,
.mp-v2 .mmp-idea{
  background-color:var(--rn8-bg-ivory);
  position:relative
}
/* тёплая дымка вместо клетки: глубина без графления */
.mp-v2 .mmp-why::after,
.mp-v2 .mmp-legend::after,
.mp-v2 .mmp-idea::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:radial-gradient(58% 74% at 76% 12%,rgba(184,116,80,.07) 0%,rgba(184,116,80,0) 62%)
}
.mp-v2 .mmp-why > *,
.mp-v2 .mmp-legend > *,
.mp-v2 .mmp-idea > *{position:relative;z-index:1}

/* ── 2. Один фон, а не три ──
   Слоновая кость, фарфор и белый чередовались без правила. */
.mp-v2 .v2-hero,
.mp-v2 .mmp-diag,
.mp-v2 .mmp-forwhom,
.mp-v2 .mmp-trends,
.mp-v2 .mmp-inside,
.mp-v2 .v2-module,
.mp-v2 .v2-module.alt{
  background:var(--rn8-bg-ivory);background-image:none
}

/* ── 3. Поверхности: одна рамка, одна тень, один радиус ──
   Шампанские рамки rgba(217,199,167) выдавали прежнюю палитру
   даже после перекраски токенов. */
.mp-v2 .v2-panel,
.mp-v2 .v2-card,
.mp-v2 .v2-page-card,
.mp-v2 .v2-roadmap-item,
.mp-v2 .v2-crm-table,
.mp-v2 .mmp-pillar,
.mp-v2 .mmp-problem,
.mp-v2 .mmp-trend-out,
.mp-v2 .mmp-diag-card,
.mp-v2 .mmp-diag-gains,
.mp-v2 .mmp-forwhom-item,
.mp-v2 .mmp-idea-core,
.mp-v2 .rn8-figure,
.mp-v2 .rn8-figure--levels,
.mp-v2 .rn8-eco-panel,
.mp-v2 .rn8-eco-list,
.mp-v2 .rn8-eco-detail,
.mp-v2 .v2-suite-card--eren,
.mp-v2 .v2-msg.bot,
.mp-v2 .v2-insight{
  background:var(--rn8-surface);
  background-image:none;
  border:1px solid var(--rn8-line-structure);
  border-radius:18px;
  box-shadow:0 14px 38px rgba(19,19,24,.06)
}
/* внутренние элементы — радиус мельче, тени нет */
.mp-v2 .v2-msg.user,
.mp-v2 .rn8-eco-row,
.mp-v2 .mmp-legend-grid > *,
.mp-v2 .v2-roadmap > *{border-radius:12px;box-shadow:none}

/* ── 4. Остатки чужих цветов ── */
.mp-v2 .v2-insight{
  background:linear-gradient(140deg,rgba(184,116,80,.07),rgba(255,255,255,.6))
}
.mp-v2 .v2-msg.user{
  background:rgba(184,116,80,.1);border:1px solid rgba(184,116,80,.2)
}
.mp-v2 .mmp-trend-out{
  background:linear-gradient(140deg,rgba(184,116,80,.08),rgba(255,255,255,.6))
}
.mp-v2 .mmp-diag-go:hover{
  background:var(--rn8-copper-dp,#6E4224);border-color:transparent;
  box-shadow:0 14px 30px rgba(110,66,36,.28)
}
.mp-v2 .rn8-eco-row.is-active{
  background:rgba(184,116,80,.08)
}
.mp-v2 .mmp-diag{background:var(--rn8-bg-ivory)}

/* ── 5. Живые состояния: прежняя половина стояла неподвижно ── */
.mp-v2 .v2-panel,
.mp-v2 .v2-card,
.mp-v2 .v2-page-card,
.mp-v2 .mmp-pillar,
.mp-v2 .mmp-forwhom-item,
.mp-v2 .v2-module{
  transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,border-color .35s
}
.mp-v2 .v2-panel:hover,
.mp-v2 .v2-card:hover,
.mp-v2 .v2-page-card:hover,
.mp-v2 .mmp-pillar:hover,
.mp-v2 .mmp-forwhom-item:hover{
  transform:translateY(-3px);
  border-color:rgba(184,116,80,.32);
  box-shadow:0 22px 52px rgba(19,19,24,.1)
}

/* ── 6. Цифры табличными: в прежней половине они прыгали ── */
.mp-v2 .mmp-trend-num,
.mp-v2 .v2-stat b,
.mp-v2 .mmp-diag-gain b,
.mp-v2 .rn8-label{font-variant-numeric:tabular-nums}

/* ── 7. Заголовки секций: одна шкала и висячие слова ── */
.mp-v2 .section-title,
.mp-v2 h2{text-wrap:balance}
.mp-v2 .section-lead,
.mp-v2 .lead{text-wrap:pretty}

/* ── Одна шкала скруглений на всю страницу ──
   Было пятнадцать значений вперемешку: 2, 3, 10, 14, 16, 19, 20, 22, 24…
   Оставляем три: 999 у пилюль и кнопок, 18 у поверхностей, 12 внутри. */
.mp-v2 .mmp-problems,
.mp-v2 .mmp-trends-panel,
.mp-v2 .mmp-inside-grid,
.mp-v2 .v2-program,
.mp-v2 .mmp-legend-grid,
.mp-v2 .v2-roadmap,
.mp-v2 .mmp-founder-card{border-radius:18px}

.mp-v2 .mmp-founder-photo,
.mp-v2 .mmp-founder-photo img,
.mp-v2 .rn8-eren,
.mp-v2 .rn8-levels-note,
.mp-v2 .mmp-diag-emblem{border-radius:12px}

.mp-v2 .rn8-eco-play,
.mp-v2 .v2-status,
.mp-v2 .v2-demo-chip,
.mp-v2 .mmp-demo-chip,
.mp-v2 .btn,
.mp-v2 .mmp-diag-go{border-radius:999px}

/* Пунктирная рамка вокруг схемы восьмёрки — приём из чертежей,
   в новом языке его нет. */
.mp-v2 .rn8-eren{border:0;padding:0;margin-top:0}
/* последние отклонения от шкалы */
.mp-v2 .v2-chat,
.mp-v2 .v2-cabinet-demo{border-radius:18px}
.mp-v2 .rn8-levels-note,
.mp-v2 .rn8-levels-list li{border-radius:12px}
.mp-v2 section a[class*="btn"],
.mp-v2 section a.mmp-diag-go{border-radius:999px}
/* мелкие отметки в 2–3px — остатки чертёжного приёма */
.mp-v2 .v2-module i,
.mp-v2 .rn8-eco-play{border-radius:999px}

/* ── Схема навигатора: заливки заменяются кантом ──
   Мятная и песочная плашки — единственные заливки, оставшиеся
   в диаграммах. В новом языке решение обозначается цветом линии. */
.mp-v2 .rn8-diagram--nav .rn8-box--yes{
  fill:rgba(31,138,91,.08);stroke:var(--rn8-d-good);stroke-width:1.2
}
.mp-v2 .rn8-diagram--nav .rn8-box--no{
  fill:rgba(218,148,32,.08);stroke:var(--rn8-d-warn);stroke-width:1.2
}
.mp-v2 .rn8-diagram--nav .rn8-box{
  fill:var(--rn8-surface);stroke:var(--rn8-line-structure);stroke-width:1
}

/* ── Боковая колонка демо-кабинета: тот же фон, что у страницы ──
   Бежевая заливка была последним пятном прежней палитры. */
.mp-v2 .v2-cabinet-demo > :first-child,
.mp-v2 .v2-cabinet-nav{
  background:var(--rn8-bg-ivory);border-right:1px solid var(--rn8-line-structure)
}
.mp-v2 .v2-cabinet-demo .v2-kpi,
.mp-v2 .v2-cabinet-demo .v2-tile{
  background:var(--rn8-surface);border:1px solid var(--rn8-line-structure);
  box-shadow:none;border-radius:12px
}

/* Остаточные скругления вне шкалы: приводим по назначению элемента,
   а не поштучно — иначе список правил растёт быстрее, чем страница. */
.mp-v2 section :is(article, figure, aside, table, form,
  [class*="card"], [class*="panel"], [class*="grid"], [class*="table"],
  [class*="demo"], [class*="figure"], [class*="box"]:not(svg *)){
  border-radius:18px
}
.mp-v2 section :is(li, input, textarea, select, [class*="item"], [class*="row"],
  [class*="tile"], [class*="kpi"], [class*="note"], [class*="msg"]){
  border-radius:12px
}
.mp-v2 section :is(button, .btn, [class*="chip"], [class*="badge"],
  [class*="status"], [class*="pill"], [class*="tag"]){
  border-radius:999px
}
/* у изображений и холстов скругление контейнера, а не своё */
.mp-v2 section :is(img, canvas, video){border-radius:12px}

/* ═══════════════════════════════════════════════════════════════
   МЕТОДОЛОГИЯ: один блок вместо двух половинчатых.
   Тёмная сцена, как первый экран: после него светлый блок читался
   блёкло. Ведёт по шагам от даты рождения до трёх карт.
   ═══════════════════════════════════════════════════════════════ */

.rn8v2 .method{
  position:relative;color:var(--ink);
  background:var(--bg)
}
.rn8v2 .method::before{
  content:"";position:absolute;top:0;bottom:0;left:50%;width:100vw;
  transform:translateX(-50%);z-index:-1;background:inherit
}
.rn8v2 .method h2,
.rn8v2 .method h3,
.rn8v2 .method h4{color:var(--ink)}
.rn8v2 .method .lead{color:var(--ink-2)}

/* ── шаги: тонкая вертикаль слева, отметка на каждом ── */
.rn8v2 .m-steps{
  list-style:none;margin:clamp(38px,4.4vw,64px) 0 0;padding:0;
  display:grid;gap:clamp(30px,3.6vw,56px)
}
.rn8v2 .m-step{
  display:grid;grid-template-columns:clamp(88px,11vw,140px) minmax(0,1fr);
  gap:clamp(18px,2.6vw,44px);align-items:start;
  padding-top:clamp(22px,2.6vw,36px);
  border-top:1px solid var(--line)
}
.rn8v2 .m-num{
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--amber);padding-top:5px
}
.rn8v2 .m-body h3{font-size:clamp(19px,1.9vw,26px);letter-spacing:-.02em}
.rn8v2 .m-body > p{
  margin-top:11px;font-size:15px;line-height:1.65;color:var(--ink-2);max-width:62ch
}
@media(max-width:760px){
  .rn8v2 .m-step{grid-template-columns:1fr;gap:10px}
}

/* ── расчёт: дата и два плеча ── */
.rn8v2 .m-calc{
  margin-top:22px;display:grid;
  grid-template-columns:auto minmax(0,1fr);gap:14px clamp(18px,2.4vw,36px);
  align-items:center
}
.rn8v2 .m-date{
  grid-row:span 2;font-family:Onest,sans-serif;
  font-size:clamp(24px,2.6vw,36px);font-weight:800;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;white-space:nowrap
}
.rn8v2 .m-date u{text-decoration:none;color:var(--amber);position:relative}
.rn8v2 .m-date u::after{
  content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;
  background:var(--amber);opacity:.5
}
.rn8v2 .m-arm{
  display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;
  padding:13px 18px;border:1px solid var(--line);border-radius:12px;
  font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums
}
.rn8v2 .m-arm b{color:var(--ink);font-weight:600}
.rn8v2 .m-arm em{
  font-style:normal;font-family:Onest,sans-serif;font-weight:800;font-size:18px;
  color:var(--amber)
}
.rn8v2 .m-arm i{
  font-style:normal;margin-left:auto;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ink-3)
}
@media(max-width:700px){
  .rn8v2 .m-calc{grid-template-columns:1fr}
  .rn8v2 .m-date{grid-row:auto}
  .rn8v2 .m-arm i{margin-left:0;flex-basis:100%}
}

/* ── две ориентации мышления ── */
.rn8v2 .m-axes{
  margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:16px;overflow:hidden
}
.rn8v2 .m-axis{background:var(--card);padding:clamp(20px,2.2vw,28px)}
.rn8v2 .m-axis h4{font-size:16px;letter-spacing:-.01em}
.rn8v2 .m-axis-sub{
  margin-top:7px;font-size:13px;line-height:1.55;color:var(--ink-3)
}
.rn8v2 .m-axis ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:10px}
.rn8v2 .m-axis li{
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
  padding-bottom:10px;border-bottom:1px solid var(--line)
}
.rn8v2 .m-axis li:last-child{border-bottom:0;padding-bottom:0}
.rn8v2 .m-axis li b{font-weight:600;font-size:14.5px;color:var(--ink)}
.rn8v2 .m-axis li span{font-size:13px;color:var(--ink-3)}

/* ── три функции действия ── */
.rn8v2 .m-funcs{
  margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:clamp(14px,1.8vw,22px)
}
.rn8v2 .m-func{
  padding:clamp(18px,2vw,26px);border-radius:16px;
  border:1px solid var(--line);
  background:linear-gradient(160deg,var(--rn8-smoke),var(--rn8-smoke))
}
.rn8v2 .m-func h4{font-size:15.5px}
.rn8v2 .m-func > p{margin-top:8px;font-size:13px;line-height:1.55;color:var(--ink-3)}
.rn8v2 .m-func ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:7px}
.rn8v2 .m-func li{
  position:relative;padding-left:16px;font-size:13.5px;color:var(--ink)
}
.rn8v2 .m-func li::before{
  content:"";position:absolute;left:0;top:9px;width:8px;height:1px;background:var(--amber);opacity:.7
}

/* ── три карты ── */
.rn8v2 .m-maps{
  margin-top:24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:16px;overflow:hidden
}
.rn8v2 .m-maps article{
  background:var(--card);padding:clamp(20px,2.2vw,28px);
  transition:background .35s var(--ease)
}
.rn8v2 .m-maps article:hover{background:var(--bg-2)}
.rn8v2 .m-maps h4{font-size:16px}
.rn8v2 .m-maps p{margin-top:9px;font-size:13.5px;line-height:1.58;color:var(--ink-2)}

.rn8v2 .m-next{
  margin-top:clamp(30px,3.4vw,50px);padding-top:clamp(20px,2.4vw,32px);
  border-top:1px solid var(--line);
  font-size:15px;color:var(--ink-3)
}

/* поле сочетаний: 9×9, одна клетка занята */
.rn8v2 .m-grid{
  margin-top:26px;display:grid;
  grid-template-columns:auto auto;grid-template-rows:auto auto auto;
  gap:9px 12px;align-items:center;justify-content:start
}
.rn8v2 .m-gx{
  grid-column:2;grid-row:1;font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-3)
}
.rn8v2 .m-gy{
  grid-column:1;grid-row:2;writing-mode:vertical-rl;
  font-size:10.5px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)
}
.rn8v2 .m-cells{
  grid-column:2;grid-row:2;display:grid;grid-template-columns:repeat(9,1fr);gap:6px
}
.rn8v2 .m-cells i{
  width:16px;height:16px;border-radius:4px;
  border:1px solid var(--rn8-line-measure);background:var(--rn8-smoke)
}
.rn8v2 .m-cells i.on{
  background:var(--amber);border-color:var(--amber);
  box-shadow:0 0 0 4px rgba(240,168,92,.16)
}
.rn8v2 .m-gn{
  grid-column:2;grid-row:3;font-family:Onest,sans-serif;font-size:13px;font-weight:600;
  color:var(--ink-3);letter-spacing:.02em
}
.rn8v2 .m-gn::after{content:" сочетания, из них ваше — одно";font-weight:400}
@media(max-width:520px){
  .rn8v2 .m-cells i{width:12px;height:12px}
  .rn8v2 .m-cells{gap:4px}
}


/* Шапка живёт выше света: пятно не должно ползать по навигации. */
.rn8v2 .top,
.rn8v2 .top.stuck{z-index:60}

/* ═══════════════════════════════════════════════════════════════
   УЗНАВАНИЕ: второй экран.
   Был по центру, широкими строками через всю ширину: заголовок
   слева, текст у правого края, между ними метр пустоты — отсюда
   ощущение блёклости сразу после плотного первого экрана.
   Теперь несимметричная шапка и плотная сетка два на два.
   ═══════════════════════════════════════════════════════════════ */

.rn8v2 .uz{position:relative}
.rn8v2 .uz-head{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);
  gap:clamp(20px,3vw,60px);align-items:end
}
.rn8v2 .uz-head h2{margin-top:16px;text-wrap:balance}
.rn8v2 .uz-head .lead{margin:0;padding-bottom:6px;max-width:46ch}
@media(max-width:860px){
  .rn8v2 .uz-head{grid-template-columns:1fr;align-items:start;gap:16px}
}

/* сетка без просветов: четыре ситуации читаются как одна картина */
.rn8v2 .uz-grid{
  margin-top:clamp(34px,4vw,56px);
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;background:var(--rn8-line-structure);
  border:1px solid var(--rn8-line-structure);border-radius:18px;overflow:hidden
}
.rn8v2 .uz-grid article{
  position:relative;background:var(--rn8-surface);
  padding:clamp(26px,3vw,40px) clamp(24px,3vw,40px) clamp(28px,3.2vw,44px);
  transition:background .4s var(--ease)
}
.rn8v2 .uz-grid article:hover{background:#FBF8F4}
.rn8v2 .uz-grid b{
  position:absolute;top:clamp(16px,2vw,24px);right:clamp(18px,2.2vw,28px);
  font-family:Onest,sans-serif;font-size:clamp(38px,4.4vw,62px);font-weight:800;
  line-height:1;letter-spacing:-.04em;color:rgba(184,116,80,.13);
  font-variant-numeric:tabular-nums;pointer-events:none
}
.rn8v2 .uz-grid h4{
  font-size:clamp(17px,1.75vw,22px);letter-spacing:-.02em;
  max-width:15ch;text-wrap:balance
}
.rn8v2 .uz-grid p{
  margin-top:12px;font-size:14.5px;line-height:1.65;
  color:var(--rn8-ink-400);max-width:40ch
}
@media(max-width:700px){
  .rn8v2 .uz-grid{grid-template-columns:1fr}
  .rn8v2 .uz-grid h4{max-width:none}
}

.rn8v2 .uz-foot{
  margin-top:clamp(24px,2.8vw,38px);font-size:16px;line-height:1.6;
  color:var(--rn8-ink-3);max-width:70ch
}
.rn8v2 .uz-foot span{color:var(--rn8-ink-900);font-weight:500}

/* Общее правило скругления округляет и ячейки сетки — на стыках
   появляются белые уголки и картина рассыпается. Скругление здесь
   держит только внешняя рамка. */
.mp-v2 section .uz-grid article,
.mp-v2 section .m-axes .m-axis,
.mp-v2 section .m-maps article,
.mp-v2 section .m-funcs .m-func{border-radius:0}
.mp-v2 section .m-funcs .m-func{border-radius:16px}

/* ═══════════════════════════════════════════════════════════════
   НОЧЬ НА ВСЮ СТРАНИЦУ.
   Референс тёмный от шапки до подвала: свет там существует потому,
   что есть чему светить. Половина светлой бумаги ломала весь набор
   приёмов — свечение, шар, медные плашки, — и каждый из них
   приходилось подделывать. Меняем грунт, а не приёмы.

   Всё держится на токенах: старые секции написаны на --rn8-*,
   новые на --bg/--ink. Переопределяем оба набора в одном месте,
   правила остаются нетронутыми.
   ═══════════════════════════════════════════════════════════════ */
:root{
  /* грунт: тёплый почти-чёрный, не синий и не угольный */
  --rn8-bg-ivory:#0A0908;
  --rn8-bg-porcelain:#0F0D0C;
  --rn8-surface:#151112;
  --rn8-surface-glass:rgba(21,17,18,.72);
  --rn8-grid:rgba(255,255,255,.05);
  --rn8-line-structure:rgba(255,255,255,.11);
  --rn8-line-measure:rgba(255,255,255,.17);
  --rn8-ink-900:#FFFFFF;
  --rn8-ink-500:rgba(255,255,255,.72);
  --rn8-ink-400:rgba(255,255,255,.62);
  --rn8-ink-3:rgba(255,255,255,.5);
  --rn8-smoke:rgba(255,255,255,.04);
  /* медь на чёрном темнеет и глохнет — акцент светлеет до янтаря */
  --rn8-bronze-500:#F0A85C;
  --rn8-copper-600:#E0913F;
  --rn8-fn-info:#F0A85C;
  --blue:#C87B45;
  --blue2:#8A5A32;

  --bg:#0A0908;
  --bg-2:#100D0C;
  --paper:#0A0908;
  --card:#151112;
  --ink:#FFFFFF;
  --ink-2:rgba(255,255,255,.66);
  --ink-3:rgba(255,255,255,.5);
  --line:rgba(255,255,255,.11);

  --copper:#C87B45;
  --copper-lt:#E0913F;
  --copper-dk:#F0A85C;

  /* смысловые цвета осветляем: на чёрном тёмно-зелёный и тёмно-синий
     не читаются вовсе */
  --d-good:#4FBF8B; --d-warn:#EFB44A; --d-crit:#E8705C; --d-info:#6BA8E0;
}

/* ═══════════════════════════════════════════════════════════════
   БУМАЖНЫЕ ВСТАВКИ.
   На тёмном грунте светлым остаётся только то, что и в жизни лежит
   на бумаге или светится экраном: таблица программы, дорожная карта,
   переписка, демонстрация кабинета. Такой блок читается как документ
   на столе в тёмной комнате — и длинный текст в нём не утомляет.

   Внутри плашки токены возвращаются к светлым значениям, поэтому
   всё содержимое перекрашивается само, без отдельных правил.
   ═══════════════════════════════════════════════════════════════ */
.mp-v2 .rn8-paper,
.mp-v2 .program-table.v2-program,
.mp-v2 .v2-roadmap,
.mp-v2 .v2-cabinet-demo,
.mp-v2 .v2-chat,
.mp-v2 .mmp-trends-panel{
  --rn8-surface:#FFFFFF;
  --rn8-bg-ivory:#F4F1EC;
  --rn8-bg-porcelain:#FFFFFF;
  --rn8-grid:rgba(19,19,24,.06);
  --rn8-line-structure:rgba(19,19,24,.12);
  --rn8-line-measure:rgba(19,19,24,.17);
  --rn8-ink-900:#131318;
  --rn8-ink-500:#3C3C45;
  --rn8-ink-400:#585863;
  --rn8-ink-3:#63636E;
  --rn8-smoke:rgba(19,19,24,.04);
  --rn8-bronze-500:#8A5A32;
  --rn8-copper-600:#B87450;
  --rn8-fn-info:#8A5A32;
  --blue:#8A5A32; --blue2:#6E4224;

  --bg:#F4F1EC; --bg-2:#EFECE6; --paper:#F4F1EC; --card:#FFFFFF;
  --ink:#131318; --ink-2:#585863; --ink-3:#63636E;
  --line:rgba(19,19,24,.12);
  --copper:#B87450; --copper-lt:#C98B5E; --copper-dk:#8A5A32;
  --d-good:#1B7A50; --d-warn:#B87A16; --d-crit:#C4402C; --d-info:#2C6FA8;

  background:var(--bg);color:var(--ink);
  /* тень тёплая, а не чёрная: лист лежит на тёплом грунте */
  box-shadow:0 30px 70px -24px rgba(0,0,0,.6), 0 0 0 1px rgba(255,255,255,.07)
}
.mp-v2 .rn8-paper :is(h1,h2,h3,h4,h5,b,strong),
.mp-v2 .program-table.v2-program :is(h1,h2,h3,h4,h5,b,strong),
.mp-v2 .v2-roadmap :is(h1,h2,h3,h4,h5,b,strong),
.mp-v2 .v2-cabinet-demo :is(h1,h2,h3,h4,h5,b,strong),
.mp-v2 .v2-chat :is(h1,h2,h3,h4,h5,b,strong),
.mp-v2 .mmp-trends-panel :is(h1,h2,h3,h4,h5,b,strong){color:var(--ink)}

/* ═══════════════════════════════════════════════════════════════
   ШАПКА В НОЧИ.
   Полоса шапки жила на светлом стекле и после переворота осталась
   единственной светлой деталью наверху: белая кнопка с белым
   текстом внутри читалась как пустой прямоугольник.
   ═══════════════════════════════════════════════════════════════ */
/* Шапка и подвал лежат СНАРУЖИ .mp-v2 — это главный контейнер
   страницы, а не всей разметки. Поэтому цепляемся за body той
   страницы, где такой контейнер есть. */
body:has(main.mp-v2) > header{
  background:transparent;border-bottom:none
}
body:has(main.mp-v2) > header .wrap.nav{background:transparent}
body:has(main.mp-v2) > header .navlinks a{color:rgba(255,255,255,.66)}
body:has(main.mp-v2) > header .navlinks a:hover{color:var(--amber)}
body:has(main.mp-v2) > header .rn8-name{color:#fff}
body:has(main.mp-v2) > header .rn8-name-8{color:var(--amber)}
body:has(main.mp-v2) > header .rn8-tag{color:rgba(255,255,255,.5)}
body:has(main.mp-v2) > header .rn8-lockup{border-left-color:rgba(255,255,255,.16)}

/* второстепенная кнопка — контур по стеклу, а не белая плашка */
body:has(main.mp-v2) .btn.secondary,
.mp-v2 .btn.secondary{
  background:rgba(255,255,255,.06);
  color:#fff;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:none
}
body:has(main.mp-v2) .btn.secondary:hover,
.mp-v2 .btn.secondary:hover{
  background:rgba(255,255,255,.12);
  border-color:var(--amber);color:var(--amber)
}
/* Подвал темы — там же, снаружи. */
body:has(main.mp-v2) > footer,
body:has(main.mp-v2) body > footer{
  background:var(--bg);color:var(--ink-3);border-top-color:var(--line)
}
body:has(main.mp-v2) > footer a{color:rgba(255,255,255,.62)}
body:has(main.mp-v2) > footer a:hover{color:var(--amber)}

/* ═══════════════════════════════════════════════════════════════
   ОСТАТКИ БЕЛЫХ ПЛАШЕК.
   Часть старых блоков красилась не токеном, а прямым #fff. На
   тёмном грунте они висели белыми прямоугольниками, а текст внутри
   них — белый по белому. Бумажными оставлены только документы,
   остальное уходит в ночь.
   ═══════════════════════════════════════════════════════════════ */
.mp-v2 .mmp-inside-grid,
.mp-v2 .price,
.mp-v2 .mmp-why-card,
.mp-v2 .mmp-legend-card{
  background:var(--card);
  border-color:var(--line)
}

/* Кнопки старой темы залиты янтарём — белая надпись на нём не
   читается. Текст уходит в тёмно-коричневый, как на новых кнопках. */
body:has(main.mp-v2) .btn:not(.secondary):not(.btn--ghost),
.mp-v2 button.btn.mmp-diag-go,
.mp-v2 a.btn{color:#241305}
.mp-v2 .btn:not(.secondary):not(.btn--ghost):hover{color:#241305}

/* Ступени уровней жили на белом листе. */
.mp-v2 .rn8-levels-list li{
  background:var(--card);border-color:var(--line)
}
/* Плитки внутри тёмной панели были белыми: белый текст по белому. */
.mp-v2 .v2-panel.dark .v2-mini-grid > div{
  background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.12)
}

/* ═══════════════════════════════════════════════════════════════
   ПРИЁМЫ ИЗ РЕФЕРЕНСА, КОТОРЫЕ ЗАРАБОТАЛИ ПОСЛЕ СМЕНЫ ГРУНТА.
   ═══════════════════════════════════════════════════════════════ */

/* ── 1. Звёздное поле ──
   В макете по чёрному рассыпаны еле заметные плюсики. Один
   закреплённый слой со смешением: на ночи он добавляет крупицы
   света, на бумажных вставках исчезает сам собой. */
.rn8-sparks{
  position:fixed;inset:0;z-index:29;pointer-events:none;
  mix-blend-mode:screen;opacity:.2;
  /* Дырка под шаром: слой звёзд не заходит на сферу — координаты
     и радиус подставляет скрипт путешествия шара (v2.js) */
  -webkit-mask-image:radial-gradient(circle var(--hole,0px) at var(--hx,50%) var(--hy,-30%),
    transparent 0 74%, #000 100%);
  mask-image:radial-gradient(circle var(--hole,0px) at var(--hx,50%) var(--hy,-30%),
    transparent 0 74%, #000 100%);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='520' height='520'%3E%3Cg stroke='%23ffffff' stroke-width='1' stroke-linecap='round' opacity='.5'%3E%3Cpath d='M56 40h9M60.5 35.5v9'/%3E%3Cpath d='M316 104h6M319 101v6'/%3E%3Cpath d='M192 236h11M197.5 230.5v11'/%3E%3Cpath d='M428 280h7M431.5 276.5v7'/%3E%3Cpath d='M104 392h6M107 389v6'/%3E%3Cpath d='M352 440h9M356.5 435.5v9'/%3E%3Cpath d='M252 352h5M254.5 349.5v5'/%3E%3C/g%3E%3C/svg%3E")
}
@media(prefers-reduced-motion:reduce){.rn8-sparks{opacity:.32}}

/* ── 2. Одна залитая плашка на секцию ──
   В макете из трёх карточек метрик одна залита сплошным оранжевым
   с тёмным текстом. Акцент работает заливкой, а не свечением. */
.rn8v2 .costgrid > div:nth-child(2){
  background:linear-gradient(150deg,var(--amber-2),var(--amber));
  border-color:transparent;
  color:#241305;
  padding:clamp(22px,2.4vw,30px);
  border-radius:16px
}
.rn8v2 .costgrid > div:nth-child(2) b{color:#241305}
.rn8v2 .costgrid > div:nth-child(2) span{color:rgba(36,19,5,.78)}

/* ── 3. Линия под заголовком секции ──
   Тонкая черта во всю ширину отбивает шапку блока от содержимого
   и держит вертикальный ритм. */
.rn8v2 .sec-head:not(.sec-head--center),
.rn8v2 .uz-head{
  padding-bottom:clamp(20px,2.4vw,32px);
  border-bottom:1px solid var(--line)
}

/* ── 4. Имя бренда во всю ширину подвала ──
   В макете подвал заканчивается гигантским ORBYTE, обрезанным
   нижним краем экрана. */
body:has(main.mp-v2) > footer{
  position:relative;overflow:hidden;
  padding-bottom:clamp(90px,11vw,170px)
}
body:has(main.mp-v2) > footer::after{
  content:"RN8";
  position:absolute;left:50%;bottom:clamp(6px,1vw,16px);
  transform:translateX(-50%);
  font-family:Onest,sans-serif;font-weight:800;
  font-size:clamp(96px,20vw,290px);line-height:.8;letter-spacing:-.04em;
  color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.11);
  pointer-events:none;user-select:none;white-space:nowrap
}
body:has(main.mp-v2) > footer .wrap{position:relative;z-index:1}


/* Шапка сайта выше обоих закреплённых слоёв: ни свет, ни крупицы
   не должны ползать по навигации. */
body:has(main.mp-v2) > header{z-index:40}

/* ═══════════════════════════════════════════════════════════════
   ПУТЕШЕСТВУЮЩИЙ ШАР.
   Закреплён в окне, размер постоянный — место и масштаб задаёт
   преобразование. Смешение «экран» убирает чёрный фон холста:
   остаются только точки и линии, поэтому шар плывёт НАД содержимым,
   а не прячется под непрозрачным фоном секции.
   ═══════════════════════════════════════════════════════════════ */
.rn8-orb{
  position:fixed;left:0;top:0;z-index:25;pointer-events:none;
  transform-origin:50% 50%;mix-blend-mode:screen;
  -webkit-mask-image:none;mask-image:none;
  /* Прозрачностью управляет скрипт: она зависит от размера шара.
     Переход оставлен только на первое появление. */
  opacity:0;transition:opacity 1.4s var(--ease);
  will-change:transform, opacity
}
.rn8-orb.on{transition:opacity .5s linear}

/* ═══════════════════════════════════════════════════════════════
   РИТМ ДЕНЬ И НОЧЬ.
   Ночь на всю страницу оказалась перебором: у референса короткая
   витрина из четырёх экранов, а у нас длинная продающая страница,
   и подряд двадцать тёмных блоков утомляют. Ночь остаётся там, где
   она работает на смысл — боль, цена, свет, инструменты, финал.
   День возвращается туда, где нужно спокойно читать и разглядывать:
   методология, документы, авторы, состав программы.

   Механика та же, что у бумажных вставок: внутри дневной секции
   токены возвращаются к светлым значениям, и содержимое
   перекрашивается само.
   ═══════════════════════════════════════════════════════════════ */
.mp-v2 .rn8-day,
.mp-v2 #kak,
.mp-v2 #razbor,
.mp-v2 #otchet,
.mp-v2 .mmp-founders,
.mp-v2 #inside,
.mp-v2 .mmp-forwhom,
.mp-v2 .mmp-trends,
.mp-v2 .v2-module.alt{
  --rn8-surface:#FFFFFF;
  --rn8-bg-ivory:#F7F5F2;
  --rn8-bg-porcelain:#FFFFFF;
  --rn8-grid:rgba(19,19,24,.06);
  --rn8-line-structure:rgba(19,19,24,.12);
  --rn8-line-measure:rgba(19,19,24,.17);
  --rn8-ink-900:#131318;
  --rn8-ink-500:#3C3C45;
  --rn8-ink-400:#585863;
  --rn8-ink-3:#63636E;
  --rn8-smoke:rgba(19,19,24,.04);
  --rn8-bronze-500:#8A5A32;
  --rn8-copper-600:#B87450;
  --rn8-fn-info:#8A5A32;
  --blue:#8A5A32; --blue2:#6E4224;

  --bg:#F7F5F2; --bg-2:#EFECE6; --paper:#F7F5F2; --card:#FFFFFF;
  --ink:#131318; --ink-2:#585863; --ink-3:#63636E;
  --line:rgba(19,19,24,.12);
  --copper:#B87450; --copper-lt:#C98B5E; --copper-dk:#8A5A32;
  --amber:#8A5A32; --amber-2:#6E4224;
  --d-good:#1B7A50; --d-warn:#B87A16; --d-crit:#C4402C; --d-info:#2C6FA8;

  background:var(--bg);color:var(--ink)
}
/* Полоса дневной секции идёт во всю ширину окна, а не только по
   колонке содержимого. */
.mp-v2 .rn8-day,
.mp-v2 #kak,
.mp-v2 #razbor,
.mp-v2 #otchet,
.mp-v2 .mmp-founders,
.mp-v2 #inside,
.mp-v2 .mmp-forwhom,
.mp-v2 .mmp-trends,
.mp-v2 .v2-module.alt{position:relative;isolation:isolate}

/* Заголовки и акценты внутри дня — тёмные. Ночные правила писались
   с расчётом на белый текст, поэтому здесь их надо перебить. */
.mp-v2 :is(.rn8-day,#kak,#razbor,#otchet,.mmp-founders,#inside,.mmp-forwhom,.mmp-trends,.v2-module.alt)
  :is(h1,h2,h3,h4,h5){color:var(--ink)}
.mp-v2 :is(.rn8-day,#kak,#razbor,#otchet,.mmp-founders,#inside,.mmp-forwhom,.mmp-trends,.v2-module.alt)
  .lead{color:var(--ink-2)}

/* ═══════════════════════════════════════════════════════════════
   РЕНДЕРЫ В МЕТОДОЛОГИИ.
   Два изображения, отрисованных на белом, поэтому блок и переведён
   на бумагу: на ночи они превратились бы в светящиеся прямоугольники.
   Раскладка полосой — картинка с одной стороны, подпись с другой:
   сетки внутри шага не обтекают всплывающие элементы, а полоса
   работает предсказуемо на любой ширине.
   ═══════════════════════════════════════════════════════════════ */
.rn8v2 .m-fig{
  margin:clamp(22px,2.6vw,34px) 0 0;
  display:grid;gap:clamp(16px,2.4vw,34px);align-items:center
}
.rn8v2 .m-fig img{
  width:100%;height:auto;display:block;
  /* Рендеры сделаны на белом фоне; на бумаге край не виден, но
     умножение убирает и остаточную серость по контуру. */
  mix-blend-mode:multiply
}
.rn8v2 .m-fig figcaption{
  font-size:13.5px;line-height:1.6;color:var(--ink-3);max-width:44ch
}

/* вложенные сферы: подпись слева, картинка справа */
.rn8v2 .m-fig--sphere{grid-template-columns:minmax(0,1fr) clamp(150px,17vw,230px)}
.rn8v2 .m-fig--sphere figcaption{order:-1;justify-self:end;text-align:right}

/* слои: картинка слева, подпись справа */
.rn8v2 .m-fig--plates{grid-template-columns:clamp(170px,19vw,260px) minmax(0,1fr)}

@media(max-width:640px){
  .rn8v2 .m-fig{grid-template-columns:1fr !important;justify-items:start}
  .rn8v2 .m-fig--sphere figcaption{order:0;text-align:left;justify-self:start}
  .rn8v2 .m-fig img{max-width:220px}
}

/* Широкие схемы методологии: ваши рендеры во всю колонку. Текст в них
   вписан, поэтому уменьшать нельзя — иначе подписи перестают читаться. */
.rn8v2 .m-fig--wide{grid-template-columns:1fr;margin-top:clamp(20px,2.4vw,30px)}
/* Схема лежит на своём белом листе: умножение с бумагой уводило её
   в серый и всё изображение читалось как выцветшая плашка. */
.rn8v2 .m-fig--wide{
  background:#FFFFFF;border:1px solid var(--line);border-radius:16px;
  padding:clamp(10px,1.2vw,18px);
  box-shadow:0 18px 44px -22px rgba(19,19,24,.28)
}
.rn8v2 .m-fig--wide img{
  width:100%;border-radius:8px;mix-blend-mode:normal
}
@media(max-width:640px){
  .rn8v2 .m-fig--wide img{max-width:none}
}

/* ═══════════════════════════════════════════════════════════════
   ЛИЧНЫЙ КАБИНЕТ.
   Рабочее место, поэтому бумага: длинные матрицы на ночи утомляют.
   Язык тот же, что у дневных глав лендинга — скобочные метки,
   волосяные линии, медь как единственный акцент.
   ═══════════════════════════════════════════════════════════════ */
.mp-cab{
  --bg:#F7F5F2; --bg-2:#EFECE6; --card:#FFFFFF;
  --ink:#131318; --ink-2:#585863; --ink-3:#63636E;
  --line:rgba(19,19,24,.12);
  --copper:#B87450; --copper-dk:#8A5A32;
  --amber:#B87450; --amber-2:#8A5A32;
  /* Старые встроенные экраны («Мой бизнес», «Сотрудники») красят ссылки
     переменной --blue. В светлой палитре кабинета её не было, и цвет
     протекал из тёмной темы: светлая медь на белом давала контраст 3,3
     вместо 4,5. Задаём тёмную медь — тот же акцент, но читаемый. */
  --blue:#8A5A32; --blue2:#6E4224;
  background:var(--bg);color:var(--ink)
}
.mp-cab h1,.mp-cab h2,.mp-cab h3{color:var(--ink)}
.mp-cab .lead{color:var(--ink-2)}
.mp-cab section{padding:clamp(40px,5vw,72px) 0}
/* Квадратнее пилюли — правка PO 24.08. Второй селектор перебивает
   унификатор «.mp-v2 section :is(button,.btn,…)» с радиусом 999. */
.mp-cab .btn,
.mp-v2 .mp-cab .btn,
.mp-v2 section .mp-cab .btn{color:#fff;border-radius:12px}
.mp-cab .btn.btn--amber{
  background:linear-gradient(120deg,var(--copper-dk),var(--copper));color:#fff
}

/* ── шапка кабинета ── */
.mp-cab .cab-hero{
  display:grid;grid-template-columns:minmax(0,1.4fr) auto;
  gap:clamp(24px,4vw,64px);align-items:center;
  border-bottom:1px solid var(--line)
}
.mp-cab .cab-hero h1{font-size:clamp(26px,3vw,40px);letter-spacing:-.025em;margin-top:14px}
.mp-cab .cab-next{
  margin-top:22px;display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  padding:16px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card)
}
.mp-cab .cab-next b{display:block;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--copper-dk)}
.mp-cab .cab-next span{font-size:15px}
.mp-cab .cab-next .btn{margin-left:auto}

.mp-cab .cab-ring{position:relative;width:150px;height:150px;margin:0 auto}
.mp-cab .cab-ring-num{
  position:absolute;inset:0;display:grid;place-content:center;text-align:center
}
.mp-cab .cab-ring-num b{font-family:Onest,sans-serif;font-size:34px;font-weight:800;line-height:1}
.mp-cab .cab-ring-num span{font-size:12px;color:var(--ink-3)}
.mp-cab .cab-chips{display:flex;flex-direction:column;gap:8px;margin-top:14px}
.mp-cab .cab-chip{
  font-size:13px;color:var(--ink-2);text-align:center;
  padding:7px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card)
}
.mp-cab .cab-chip b{color:var(--copper-dk)}
@media(max-width:760px){.mp-cab .cab-hero{grid-template-columns:1fr}}

/* ── маршрут ── */
.mp-cab .cab-route{list-style:none;margin:clamp(28px,3vw,44px) 0 0;padding:0;position:relative}
.mp-cab .cab-route::before{
  content:"";position:absolute;left:23px;top:10px;bottom:10px;width:1px;background:var(--line)
}
.mp-cab .cab-stop{
  position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);
  gap:clamp(14px,2vw,28px);padding:0 0 clamp(26px,3vw,40px)
}
.mp-cab .cab-stop-rail i{
  position:relative;z-index:1;display:grid;place-content:center;
  width:48px;height:48px;border-radius:50%;font-style:normal;
  font-family:Onest,sans-serif;font-weight:800;font-size:17px;
  background:var(--card);border:1px solid var(--line);color:var(--ink-3)
}
.mp-cab .cab-stop.is-done .cab-stop-rail i{background:var(--copper);border-color:var(--copper);color:#fff}
.mp-cab .cab-stop.is-open .cab-stop-rail i{border-color:var(--copper);color:var(--copper-dk);box-shadow:0 0 0 5px rgba(184,116,80,.14)}
.mp-cab .cab-stop-body{
  border:1px solid var(--line);border-radius:16px;background:var(--card);
  padding:clamp(18px,2.2vw,28px)
}
.mp-cab .cab-stop.is-locked .cab-stop-body{opacity:.55;background:transparent}
.mp-cab .cab-stop-head{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.mp-cab .cab-stop-head h3{font-size:clamp(16px,1.6vw,20px)}
.mp-cab .cab-state{
  margin-left:auto;font-size:11px;font-weight:700;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink-3)
}
.mp-cab .cab-stop.is-done .cab-state{color:#1B7A50}
.mp-cab .cab-stop.is-open .cab-state{color:var(--copper-dk)}
.mp-cab .cab-stop-body > p{margin-top:8px;font-size:14px;line-height:1.6;color:var(--ink-2)}
.mp-cab .cab-hw{margin-top:10px;font-size:13.5px}
.mp-cab .cab-hw b{color:var(--copper-dk)}
.mp-cab .cab-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.mp-cab .cab-tools span{
  font-size:12px;color:var(--ink-3);
  padding:4px 10px;border:1px solid var(--line);border-radius:999px
}
.mp-cab .cab-link{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:600;color:var(--copper-dk)}
.mp-cab .cab-submit{margin-top:16px}

/* ── workbook ── */
.mp-cab .cab-matrix{
  margin-top:clamp(24px,3vw,36px);
  border:1px solid var(--line);border-radius:18px;background:var(--card);
  overflow:hidden
}
.mp-cab .cab-matrix-head{
  display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap;
  padding:clamp(18px,2.2vw,28px);border-bottom:1px solid var(--line)
}
.mp-cab .cab-matrix-head h3{font-size:clamp(16px,1.7vw,21px)}
.mp-cab .cab-matrix-head p{margin-top:8px;font-size:13.5px;line-height:1.6;color:var(--ink-2);max-width:64ch}
.mp-cab .cab-bar{
  margin-left:auto;position:relative;width:180px;height:8px;flex:none;
  border-radius:99px;background:var(--bg-2);align-self:center
}
.mp-cab .cab-bar i{
  position:absolute;left:0;top:0;bottom:0;border-radius:99px;
  background:linear-gradient(90deg,var(--copper-dk),var(--copper));
  transition:width .5s var(--ease)
}
.mp-cab .cab-bar span{
  position:absolute;right:0;top:-22px;font-size:12px;color:var(--ink-3);
  font-variant-numeric:tabular-nums
}
.mp-cab .cab-matrix-grid{padding:8px clamp(12px,1.6vw,20px) clamp(14px,1.8vw,20px)}
.mp-cab .cab-matrix-row{
  display:grid;grid-template-columns:110px repeat(var(--cols),minmax(0,1fr));
  gap:10px;padding:10px 0;border-bottom:1px solid rgba(19,19,24,.06);
  align-items:start
}
.mp-cab .cab-matrix-row:last-child{border-bottom:0}
.mp-cab .cab-matrix-row--head{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-3);border-bottom:1px solid var(--line)
}
.mp-cab .cab-rownum{
  font-size:12.5px;font-weight:700;color:var(--copper-dk);padding-top:10px;
  overflow-wrap:break-word
}
.mp-cab .cab-matrix textarea{
  width:100%;border:1px solid transparent;border-radius:10px;background:var(--bg);
  font:inherit;font-size:13.5px;line-height:1.5;color:var(--ink);
  padding:9px 11px;resize:vertical;min-height:44px;transition:border-color .25s
}
.mp-cab .cab-matrix textarea:hover{border-color:var(--line)}
.mp-cab .cab-matrix textarea:focus{outline:none;border-color:var(--copper);background:#fff}
.mp-cab .cab-percent{display:flex;align-items:center;gap:10px;padding-top:8px}
.mp-cab .cab-percent input[type=range]{flex:1;accent-color:var(--copper)}
.mp-cab .cab-percent output{
  font-family:Onest,sans-serif;font-weight:800;font-size:15px;min-width:44px;
  color:var(--copper-dk);font-variant-numeric:tabular-nums
}
.mp-cab .cab-save-note{display:block;padding:0 20px 14px;font-size:12.5px;color:#1B7A50;min-height:18px}
@media(max-width:860px){
  .mp-cab .cab-matrix-row{grid-template-columns:1fr}
  .mp-cab .cab-matrix-row--head{display:none}
  .mp-cab .cab-rownum{padding-top:4px}
}

/* ── energy ── */
.mp-cab .cab-energy{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);
  gap:clamp(18px,2.6vw,32px);margin-top:clamp(24px,3vw,36px)
}
.mp-cab .cab-energy-form,.mp-cab .cab-energy-chart{
  border:1px solid var(--line);border-radius:18px;background:var(--card);
  padding:clamp(18px,2.2vw,28px)
}
.mp-cab .cab-energy h3{font-size:16px;margin-bottom:14px}
.mp-cab .cab-scale{margin-top:12px}
.mp-cab .cab-scale > span{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.mp-cab .cab-scale-dots{display:flex;gap:4px;margin-top:6px}
.mp-cab .cab-scale-dots label{flex:1;position:relative}
.mp-cab .cab-scale-dots input{position:absolute;opacity:0;pointer-events:none}
.mp-cab .cab-scale-dots i{
  display:grid;place-content:center;height:30px;border-radius:8px;
  font-style:normal;font-size:11.5px;color:var(--ink-3);
  background:var(--bg);border:1px solid transparent;cursor:pointer;
  transition:all .2s
}
.mp-cab .cab-scale-dots input:checked + i{
  background:var(--copper);color:#fff;font-weight:700
}
.mp-cab .cab-scale-dots input:focus-visible + i{border-color:var(--copper-dk)}
.mp-cab .cab-energy-notes{display:grid;gap:10px;margin:16px 0}
.mp-cab .cab-energy-notes textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);
  font:inherit;font-size:13.5px;padding:9px 11px;resize:vertical
}
.mp-cab .cab-energy-notes textarea:focus{outline:none;border-color:var(--copper);background:#fff}
.mp-cab .cab-energy-chart svg{width:100%;height:auto;display:block;border-radius:0}
.mp-cab .cab-legend{display:flex;gap:16px;margin-top:12px;font-size:12.5px;color:var(--ink-3);flex-wrap:wrap}
.mp-cab .cab-legend i{
  display:inline-block;width:16px;height:3px;border-radius:2px;vertical-align:middle;margin-right:6px
}
.mp-cab .cab-empty{font-size:13.5px;color:var(--ink-3);line-height:1.6}
@media(max-width:860px){.mp-cab .cab-energy{grid-template-columns:1fr}}

/* ── отчёт ── */
.mp-cab .cab-report{
  border:1px solid var(--line);border-radius:18px;background:var(--card);
  padding:clamp(20px,2.6vw,34px);margin-top:clamp(24px,3vw,36px)
}
.mp-cab .cab-report-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:1px;background:var(--line);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;margin-bottom:20px
}
.mp-cab .cab-report-cell{background:var(--card);padding:18px;text-align:center}
.mp-cab .cab-report-cell b{
  display:block;font-family:Onest,sans-serif;font-size:26px;font-weight:800;
  color:var(--copper-dk)
}
.mp-cab .cab-report-cell span{font-size:12px;color:var(--ink-3)}

/* печать: только содержимое кабинета */
@media print{
  body *{visibility:hidden}
  .mp-cab,.mp-cab *{visibility:visible}
  .mp-cab{position:absolute;left:0;top:0;width:100%}
  .mp-cab .btn,.mp-cab .cab-scale-dots,.mp-cab .cab-energy-form{display:none}
}


/* Кабинет: шапка секции колонкой, а не сеткой лендинга. */
.mp-cab .sec-head{display:block}
.mp-cab .sec-head h2{max-width:24ch;margin-top:14px}
.mp-cab .sec-head .lead{margin-top:12px}
/* Матричная шапка — это не шапка сайта. */
.mp-cab header.cab-matrix-head{position:static;background:var(--card);backdrop-filter:none;border-bottom:1px solid var(--line)}


/* Однострочные поля матриц и чип расчёта ТМ/ТД. */
.mp-cab .cab-input{
  width:100%;border:1px solid transparent;border-radius:10px;background:var(--bg);
  font:inherit;font-size:13.5px;color:var(--ink);padding:10px 11px;transition:border-color .25s
}
.mp-cab .cab-input:hover{border-color:var(--line)}
.mp-cab .cab-input:focus{outline:none;border-color:var(--copper);background:#fff}
.mp-cab .cab-matrix-grid--dna .cab-matrix-row{
  grid-template-columns:110px repeat(var(--cols),minmax(0,1fr)) 110px
}
.mp-cab .cab-dna{
  align-self:center;font-family:Onest,sans-serif;font-weight:800;font-size:13px;
  color:var(--copper-dk);font-variant-numeric:tabular-nums;min-height:18px
}
@media(max-width:860px){
  .mp-cab .cab-matrix-grid--dna .cab-matrix-row{grid-template-columns:1fr}
}


/* Полный отчёт: раскрывающиеся таблицы заполненного. */
.mp-cab .cab-report-body{margin-bottom:20px}
.mp-cab .cab-report-block{
  border:1px solid var(--line);border-radius:14px;background:var(--bg);
  margin-top:12px;overflow:hidden
}
.mp-cab .cab-report-block summary{
  display:flex;gap:12px;align-items:baseline;cursor:pointer;
  padding:14px 18px;font-weight:700;font-size:14.5px;list-style:none
}
.mp-cab .cab-report-block summary::-webkit-details-marker{display:none}
.mp-cab .cab-report-block summary::before{content:"+";color:var(--copper-dk);font-weight:800}
.mp-cab .cab-report-block[open] summary::before{content:"−"}
.mp-cab .cab-report-block summary span{
  margin-left:auto;font-weight:400;font-size:12.5px;color:var(--ink-3)
}
.mp-cab .cab-report-table{
  width:100%;border-collapse:collapse;background:var(--card);font-size:13px
}
.mp-cab .cab-report-table th{
  text-align:left;padding:9px 12px;font-size:11.5px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink-3);border-bottom:1px solid var(--line)
}
.mp-cab .cab-report-table td{
  padding:10px 12px;border-bottom:1px solid rgba(19,19,24,.06);
  vertical-align:top;line-height:1.55
}
.mp-cab .cab-report-num{font-weight:700;color:var(--copper-dk);white-space:nowrap}

/* печать: отчёт как документ */
.mp-cab .cab-print-head{display:none}
@media print{
  .mp-cab section{padding:12px 0}
  .mp-cab .cab-hero-right,.mp-cab .cab-route,.mp-cab #cab-workbook,
  .mp-cab #cab-energy,.mp-cab .cab-next,.mp-cab .hint{display:none}
  .mp-cab .cab-print-head{
    display:flex;justify-content:space-between;gap:20px;
    border-bottom:2px solid #131318;padding-bottom:8px;margin-bottom:14px;
    font-size:13px
  }
  .mp-cab .cab-report,.mp-cab .cab-report-block{border:none;background:#fff}
  .mp-cab .cab-report-block{break-inside:avoid;margin-top:18px}
  .mp-cab .cab-report-block summary::before{display:none}
  .mp-cab .cab-report-table td,.mp-cab .cab-report-table th{border:1px solid #ccc}
}

/* Кнопки кабинета: тёмная заливка — белый текст. Общее правило для
   янтарных кнопок лендинга давало здесь тёмное на тёмном. */
body:has(main.mp-v2) .mp-cab .btn:not(.secondary):not(.btn--ghost){color:#fff}
/* Раньше hover снимал градиент (background-image:none) — кнопка
   становилась прозрачной, и белый текст пропадал на светлом фоне
   кабинета. Теперь при наведении медь просто темнеет. */
.mp-cab .btn.btn--amber:hover{
  background:linear-gradient(120deg,#6F4626,#9C5F38);color:#fff;
  box-shadow:0 10px 24px rgba(138,90,50,.3)
}

/* Кабинет как страница-приложение: полная ширина, свой грунт. */
.mp-v2 > .mp-cab{min-height:60vh}
/* Панель WordPress сверху: шапка сайта съезжает под неё, а не под наезд. */
body.admin-bar > header{top:32px}
@media(max-width:782px){body.admin-bar > header{top:46px}}


/* ═══ Кабинет-платформа: вкладки и обзор ═══ */
.mp-cab .cab-pane{display:none}
.mp-cab .cab-pane.is-on{display:block}

.mp-cab .cab-tabs{
  position:sticky;top:88px;z-index:5;
  display:flex;gap:6px;flex-wrap:wrap;
  margin-top:clamp(20px,2.4vw,30px);padding:6px;
  border:1px solid var(--line);border-radius:999px;background:var(--card);
  box-shadow:0 10px 30px -18px rgba(19,19,24,.25);width:fit-content
}
body.admin-bar .mp-cab .cab-tabs{top:120px}
.mp-cab .cab-tabs button{
  border:0;background:transparent;cursor:pointer;font:inherit;
  font-size:13.5px;font-weight:600;color:var(--ink-2);
  padding:9px 18px;border-radius:999px;transition:all .2s
}
.mp-cab .cab-tabs button:hover{color:var(--ink)}
.mp-cab .cab-tabs button.is-on{
  background:var(--copper);color:#fff
}

/* плитки уроков */
.mp-cab .cab-lessons{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;margin-top:clamp(22px,2.6vw,32px)
}
.mp-cab .cab-lesson{
  display:flex;flex-direction:column;gap:6px;align-items:flex-start;text-align:left;
  border:1px solid var(--line);border-radius:14px;background:var(--card);
  padding:14px 14px 12px;cursor:pointer;font:inherit;transition:all .25s
}
.mp-cab .cab-lesson:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(19,19,24,.3)}
.mp-cab .cab-lesson-no{
  font-family:Onest,sans-serif;font-weight:800;font-size:19px;color:var(--ink-3)
}
.mp-cab .cab-lesson-title{font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ink);min-height:32px}
.mp-cab .cab-lesson-state{
  font-size:10.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)
}
.mp-cab .cab-lesson.is-done{border-color:rgba(31,138,91,.35)}
.mp-cab .cab-lesson.is-done .cab-lesson-no{color:#1B7A50}
.mp-cab .cab-lesson.is-done .cab-lesson-state{color:#1B7A50}
.mp-cab .cab-lesson.is-open{border-color:var(--copper);box-shadow:0 0 0 3px rgba(184,116,80,.12)}
.mp-cab .cab-lesson.is-open .cab-lesson-no{color:var(--copper-dk)}
.mp-cab .cab-lesson.is-open .cab-lesson-state{color:var(--copper-dk)}
.mp-cab .cab-lesson.is-locked{opacity:.55;background:transparent}

/* карточки статуса */
.mp-cab .cab-status-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;margin-top:14px
}
.mp-cab .cab-status-card{
  position:relative;border:1px solid var(--line);border-radius:14px;background:var(--card);
  padding:16px 16px 20px;cursor:pointer;font:inherit;text-align:left;transition:all .25s;
  overflow:hidden
}
.mp-cab .cab-status-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(19,19,24,.3)}
.mp-cab .cab-status-card b{
  display:block;font-family:Onest,sans-serif;font-size:24px;font-weight:800;color:var(--ink)
}
.mp-cab .cab-status-card span{font-size:12px;color:var(--ink-3)}
.mp-cab .cab-status-card i{
  position:absolute;left:0;bottom:0;height:4px;
  background:linear-gradient(90deg,var(--copper-dk),var(--copper))
}

/* «сейчас» */
.mp-cab .cab-now{
  display:flex;gap:20px;align-items:center;flex-wrap:wrap;
  margin-top:14px;padding:clamp(18px,2.2vw,26px);
  border:1px solid var(--copper);border-radius:16px;background:var(--card);
  box-shadow:0 0 0 4px rgba(184,116,80,.08)
}
.mp-cab .cab-now h3{font-size:clamp(16px,1.7vw,20px);margin-top:8px}
.mp-cab .cab-now p{margin-top:6px;font-size:13.5px;color:var(--ink-2)}
.mp-cab .cab-now .btn{margin-left:auto}

@media print{
  .mp-cab .cab-tabs,.mp-cab #cab-overview{display:none}
  .mp-cab .cab-pane#cab-report{display:block}
}


/* ═══ Онбординг-степпер «Подготовка» ═══ */
.mp-cab .cab-prep{padding-top:clamp(36px,4vw,60px)}
.mp-cab .cab-prep h1{font-size:clamp(24px,2.8vw,38px);letter-spacing:-.025em;margin-top:12px}
.mp-cab .cab-prep-bar{
  position:relative;height:10px;max-width:420px;border-radius:99px;
  background:var(--bg-2);margin-top:22px
}
.mp-cab .cab-prep-bar i{
  position:absolute;left:0;top:0;bottom:0;border-radius:99px;
  background:linear-gradient(90deg,var(--copper-dk),var(--copper));
  transition:width .5s var(--ease)
}
.mp-cab .cab-prep-bar span{
  position:absolute;right:0;top:-24px;font-size:12.5px;color:var(--ink-3)
}
.mp-cab .cab-prep-date{margin-top:16px;font-size:14px;color:var(--copper-dk);font-weight:600}
.mp-cab .cab-steps{list-style:none;margin:clamp(24px,3vw,40px) 0 0;padding:0;position:relative;max-width:760px}
.mp-cab .cab-steps::before{content:"";position:absolute;left:19px;top:8px;bottom:8px;width:1px;background:var(--line)}
.mp-cab .cab-step{
  position:relative;display:grid;grid-template-columns:40px minmax(0,1fr);
  gap:16px;padding-bottom:clamp(18px,2.2vw,28px)
}
.mp-cab .cab-step-no{
  position:relative;z-index:1;display:grid;place-content:center;
  width:40px;height:40px;border-radius:50%;
  font-family:Onest,sans-serif;font-weight:800;font-size:15px;
  background:var(--card);border:1px solid var(--line);color:var(--ink-3)
}
.mp-cab .cab-step.is-done .cab-step-no{background:#1B7A50;border-color:#1B7A50;color:#fff}
.mp-cab .cab-step.is-active .cab-step-no{border-color:var(--copper);color:var(--copper-dk);box-shadow:0 0 0 4px rgba(184,116,80,.14)}
.mp-cab .cab-step-body{padding-top:6px}
.mp-cab .cab-step-body h3{font-size:16px}
.mp-cab .cab-step-body h3 em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--copper-dk);margin-left:8px}
.mp-cab .cab-step-body > p{margin-top:6px;font-size:13.5px;color:var(--ink-2);line-height:1.55}
.mp-cab .cab-step .btn{margin-top:12px}
.mp-cab .cab-step.is-wait .cab-step-body{opacity:.55}
.mp-cab .cab-prep-note{margin-top:8px;font-size:13px;color:var(--ink-3);max-width:60ch}

/* мини-форма людей */
.mp-cab .cab-people-mini{margin-top:14px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:16px}
.mp-cab .cab-people-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px}
.mp-cab .cab-people-list li{font-size:13.5px}
.mp-cab .cab-people-list li span{color:var(--ink-3);margin-left:8px;font-size:12.5px}
.mp-cab .cab-person-form{display:grid;gap:10px}
.mp-cab .cab-person-form input[type=text]{
  width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);
  font:inherit;font-size:13.5px;padding:9px 11px
}
.mp-cab .cab-person-form input[type=text]:focus{outline:none;border-color:var(--copper);background:#fff}
.mp-cab .cab-person-relations{display:flex;gap:6px;flex-wrap:wrap}
.mp-cab .cab-person-relations label input{position:absolute;opacity:0;pointer-events:none}
.mp-cab .cab-person-relations label i{
  display:inline-block;font-style:normal;font-size:12.5px;padding:6px 12px;
  border:1px solid var(--line);border-radius:999px;cursor:pointer;color:var(--ink-2);
  transition:all .2s
}
.mp-cab .cab-person-relations label input:checked + i{
  background:var(--copper);border-color:var(--copper);color:#fff
}

/* карточка «подготовка не завершена» на дашборде */
.mp-cab .cab-prep-card{
  display:flex;gap:18px;align-items:center;flex-wrap:wrap;
  margin-top:clamp(20px,2.4vw,30px);padding:clamp(16px,2vw,24px);
  border:1px solid var(--copper);border-radius:16px;background:var(--card);
  box-shadow:0 0 0 4px rgba(184,116,80,.08)
}
.mp-cab .cab-prep-card b{font-size:15px}
.mp-cab .cab-prep-card ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.mp-cab .cab-prep-card li{font-size:13.5px;color:var(--ink-2)}
.mp-cab .cab-prep-card li.ok{color:#1B7A50}
.mp-cab .cab-prep-card .btn{margin-left:auto}


/* ═══ Страница встречи ═══ */
.mp-meeting .mtg-head{padding:clamp(32px,4vw,52px) 0 clamp(16px,2vw,24px)}
.mp-meeting .mtg-head h1{font-size:clamp(24px,3vw,40px);letter-spacing:-.025em;margin-top:12px}
.mp-meeting .mtg-question{margin-top:10px;font-size:clamp(15px,1.4vw,19px);color:var(--copper-dk);font-weight:600}
.mp-meeting .mtg-meta{display:flex;gap:18px;margin-top:14px;font-size:13.5px;color:var(--ink-3);flex-wrap:wrap}
.mp-meeting .mtg-warn{
  margin-top:16px;padding:12px 16px;border-radius:12px;font-size:13.5px;
  background:rgba(218,148,32,.1);border:1px solid rgba(218,148,32,.4);color:#8a5f12
}
.mp-meeting .mtg-slot{padding:clamp(22px,2.6vw,36px) 0;border-top:1px solid var(--line)}
.mp-meeting .mtg-slot > h2{font-size:clamp(17px,1.8vw,22px);margin-bottom:14px}
.mp-meeting .mtg-slot > h2 span{color:var(--copper-dk);font-family:Onest,sans-serif;margin-right:10px;font-size:.85em}
.mp-meeting .mtg-desc{font-size:14px;color:var(--ink-2);line-height:1.6;max-width:70ch}
.mp-meeting .mtg-video{margin-top:14px;max-width:760px}
.mp-meeting .mtg-video h4{font-size:15px}
.mp-meeting .mtg-frame{
  position:relative;margin-top:10px;border-radius:14px;overflow:hidden;
  background:var(--bg-2);aspect-ratio:16/9
}
.mp-meeting .mtg-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mp-meeting .mtg-frame--doc{aspect-ratio:4/3}
.mp-meeting .mtg-frame--soon{display:grid;place-content:center}
.mp-meeting .mtg-frame--soon span{font-size:13px;color:var(--ink-3);padding:20px;text-align:center}
.mp-meeting .mtg-map{display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.mp-meeting .mtg-map-node{
  flex:1 1 150px;border:1px solid var(--line);border-radius:12px;background:var(--card);padding:4px 12px
}
.mp-meeting .mtg-map-node summary{cursor:pointer;font-weight:600;font-size:13.5px;padding:8px 0;list-style:none}
.mp-meeting .mtg-map-node summary::-webkit-details-marker{display:none}
.mp-meeting .mtg-map-node p{font-size:12.5px;color:var(--ink-2);line-height:1.55;padding-bottom:10px}
.mp-meeting .mtg-map-arrow{align-self:center;color:var(--copper-dk);font-weight:700}
.mp-meeting .mtg-feedback{margin:12px 0 22px;max-width:760px}
.mp-meeting .mtg-fb-form{display:grid;gap:8px;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:16px}
.mp-meeting .mtg-fb-form textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);
  font:inherit;font-size:13.5px;padding:9px 11px
}
.mp-meeting .mtg-fb-form textarea:focus{outline:none;border-color:var(--copper);background:#fff}
.mp-meeting .mtg-fb-done{font-size:13.5px;color:#1B7A50}
.mp-meeting .mtg-locked{
  border:1px dashed var(--line);border-radius:14px;padding:20px;max-width:70ch
}
.mp-meeting .mtg-locked p{margin-top:8px;font-size:13.5px;color:var(--ink-2);line-height:1.6}
.mp-meeting .mtg-check{margin-top:14px;font-size:13.5px}
.mp-meeting .mtg-check-ok{color:#1B7A50;font-weight:600}
.mp-meeting .mtg-missing{margin:8px 0 0;padding-left:18px;color:var(--ink-2);display:grid;gap:4px}
.mp-meeting .mtg-hw-actions{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.mp-meeting .mtg-versions{list-style:none;margin:0;padding:0;display:grid;gap:12px;max-width:760px}
.mp-meeting .mtg-versions > li{border:1px solid var(--line);border-radius:12px;background:var(--card);padding:14px 16px}
.mp-meeting .mtg-versions b{font-size:14px}
.mp-meeting .mtg-versions > li > span{margin-left:10px;font-size:12.5px;color:var(--ink-3)}
.mp-meeting .mtg-comment{margin-top:10px;padding:10px 12px;border-left:3px solid var(--copper);background:var(--bg);border-radius:0 10px 10px 0}
.mp-meeting .mtg-comment i{font-style:normal;font-size:11.5px;color:var(--copper-dk);font-weight:700}
.mp-meeting .mtg-comment p{font-size:13.5px;margin-top:4px}
.mp-meeting .mtg-decision{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:18px;max-width:760px;display:grid;gap:10px}
.mp-meeting .mtg-decision.is-draft{border-color:var(--copper);box-shadow:0 0 0 4px rgba(184,116,80,.08)}
.mp-meeting .mtg-dec-status{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--copper-dk)}
.mp-meeting .mtg-decision label{font-size:12.5px;font-weight:600;color:var(--ink-2);display:grid;gap:6px}
.mp-meeting .mtg-decision textarea{
  width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);
  font:inherit;font-size:13.5px;padding:9px 11px;font-weight:400
}
.mp-meeting .mtg-decision textarea:focus{outline:none;border-color:var(--copper);background:#fff}


/* Описания из методички: введение недели и объяснение задания. */
.mp-meeting .mtg-intro{
  margin-top:14px;font-size:15px;line-height:1.65;color:var(--ink-2);max-width:74ch
}
.mp-meeting .mtg-hw-intro{
  margin-bottom:14px;padding:14px 18px;border-left:3px solid var(--copper);
  background:var(--card);border-radius:0 12px 12px 0;
  font-size:14px;line-height:1.65;color:var(--ink-2);max-width:74ch
}


/* ═══ Pre-Onboarding анкета: три блока, сценарии A/B/C ═══ */
.mp-pre .pre-block{
  margin-top:42px;padding-top:34px;border-top:1px solid var(--line)
}
.mp-pre .pre-block h2{font-size:24px;margin:0 0 8px}
.mp-pre .pre-block h2 em{color:var(--copper-dk);font-style:normal}
.mp-pre .pre-block-desc{color:var(--ink-2);font-size:14px;line-height:1.6;max-width:70ch;margin:0 0 18px}
.mp-pre .pre-note{min-height:20px;margin:10px 0 0}
.mp-pre .pre-save-note{font-size:13px;color:var(--copper-dk)}

.mp-pre .pre-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
.mp-pre .pre-stack{display:grid;gap:14px}
@media (max-width:720px){.mp-pre .pre-grid{grid-template-columns:1fr}}

.mp-pre .pre-field{display:flex;flex-direction:column;gap:6px}
.mp-pre .pre-label{font-size:13px;font-weight:600;color:var(--ink)}
.mp-pre .pre-field input,.mp-pre .pre-field select,.mp-pre .pre-field textarea{
  font:inherit;font-size:14px;padding:10px 12px;border:1px solid var(--line);
  border-radius:10px;background:var(--card);color:var(--ink);width:100%
}
.mp-pre .pre-field input:focus,.mp-pre .pre-field select:focus,.mp-pre .pre-field textarea:focus{
  outline:2px solid var(--copper);outline-offset:1px;border-color:var(--copper)
}
.mp-pre .pre-field input[readonly]{opacity:.6}
.mp-pre .pre-hint{font-size:12px;color:var(--ink-2);font-style:normal;line-height:1.45}
.mp-pre .pre-code{
  margin:16px 0 0;padding:12px 16px;border-left:3px solid var(--copper);
  background:var(--card);border-radius:0 10px 10px 0;font-size:14px
}

.mp-pre .pre-scenarios{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 22px}
@media (max-width:820px){.mp-pre .pre-scenarios{grid-template-columns:1fr}}
.mp-pre .pre-scen-card{
  display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);
  border-radius:14px;background:var(--card);cursor:pointer;transition:border-color .2s, box-shadow .2s
}
.mp-pre .pre-scen-card:hover{border-color:var(--copper)}
.mp-pre .pre-scen-card.is-on{border-color:var(--copper);box-shadow:0 0 0 1px var(--copper) inset}
.mp-pre .pre-scen-card input{position:absolute;opacity:0;pointer-events:none}
.mp-pre .pre-scen-card b{font-size:15px}
.mp-pre .pre-scen-card span{font-size:13px;color:var(--ink-2);line-height:1.5}

.mp-pre .pre-sub{margin-top:24px;padding:18px;border:1px dashed var(--line);border-radius:14px}
.mp-pre .pre-sub-title{font-weight:700;font-size:14px;margin:0 0 10px}
.mp-pre .pre-inline-radios{display:flex;gap:14px;margin:0 0 14px}
.mp-pre .pre-inline-radios label{display:flex;align-items:center;gap:6px;font-size:14px;cursor:pointer}
.mp-pre .pre-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 16px}
@media (max-width:720px){.mp-pre .pre-checks{grid-template-columns:1fr}}
.mp-pre .pre-checks label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}
.mp-pre .pre-checks i{font-style:normal}

.mp-pre .pre-checklist{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.mp-pre .pre-checklist li{display:flex;align-items:baseline;gap:10px;font-size:14px}
.mp-pre .pre-checklist li.is-done{color:var(--ink-2)}
.mp-pre .pre-checklist li em{font-size:12px;color:var(--ink-2);font-style:italic}
.mp-pre .pre-check-mark{color:var(--copper-dk);font-weight:700;width:16px;flex:none}
.mp-pre .pre-checklist li.is-done .pre-check-mark{color:#1B7A50}

.mp-pre .pre-mri-card,.mp-pre .pre-consent,.mp-pre .pre-thanks{
  margin-top:16px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--card)
}
.mp-pre .pre-mri-card b,.mp-pre .pre-consent b,.mp-pre .pre-thanks b{display:block;margin:0 0 6px;font-size:15px}
.mp-pre .pre-mri-card p,.mp-pre .pre-consent p,.mp-pre .pre-thanks p{font-size:14px;color:var(--ink-2);line-height:1.6;margin:0 0 12px}
.mp-pre .pre-mri-muted{opacity:.75}
.mp-pre .pre-mri-done{border-color:#1B7A50}
.mp-pre .pre-thanks{border-left:3px solid var(--copper)}
.mp-pre .pre-thanks-back{margin:14px 0 0}


/* ═══ RN Energy 2.0: Компас реализации ═══ */
.mp-en .en-hero{display:flex;gap:36px;align-items:center;flex-wrap:wrap;margin:28px 0 8px}
.mp-en .en-ring{position:relative;width:160px;height:160px;flex:none}
.mp-en .en-ring-num{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.mp-en .en-ring-num b{font-size:38px;line-height:1;font-weight:800}
.mp-en .en-ring-num span{font-size:13px;color:var(--ink-2)}
.mp-en .en-ring-num i{font-size:11px;color:var(--ink-2);font-style:normal;max-width:90px;line-height:1.3;margin-top:4px}
.mp-en .en-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:14px 22px;flex:1;min-width:260px}
.mp-en .en-stats b{display:block;font-size:22px;font-weight:800}
.mp-en .en-stats span{font-size:12px;color:var(--ink-2);line-height:1.4}

.mp-en .en-block{margin-top:40px;padding-top:30px;border-top:1px solid var(--line)}
.mp-en .en-block h2{font-size:22px;margin:0 0 8px}
.mp-en .en-h2-gap{margin-top:36px}
.mp-en .en-desc{color:var(--ink-2);font-size:14px;line-height:1.6;max-width:70ch;margin:0 0 16px}
.mp-en .en-done-note{color:#1B7A50}

.mp-en .en-quiz-head{display:flex;align-items:center;gap:14px;margin:0 0 14px;flex-wrap:wrap}
.mp-en .en-quiz-step{font-size:13px;font-weight:700;color:var(--copper-dk);white-space:nowrap}
.mp-en .en-quiz-bar{flex:1;min-width:120px;height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.mp-en .en-quiz-bar i{display:block;height:100%;background:var(--copper);border-radius:3px;transition:width .3s}
.mp-en .en-quiz-pct{font-size:12px;color:var(--ink-2);white-space:nowrap}

.mp-en .en-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--card);margin:0 0 14px}
.mp-en .en-card-pulse{text-align:center;padding:34px 22px}
.mp-en .en-sphere-title{font-size:20px;margin:0 0 6px}
.mp-en .en-q{font-size:14px;color:var(--ink-2);margin:14px 0 10px}
.mp-en .en-q-extra{margin-top:16px}
.mp-en .en-field{display:block;margin-top:6px}
.mp-en textarea{font:inherit;font-size:14px;width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--bg,#fff);color:var(--ink)}
.mp-en textarea:focus{outline:2px solid var(--copper);outline-offset:1px}

.mp-en .en-scale{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}
.mp-en .en-card-pulse .en-scale{justify-content:center}
.mp-en .en-scale-btn{
  min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:12px;
  background:var(--card);font:inherit;font-size:16px;font-weight:600;color:var(--ink);
  cursor:pointer;transition:border-color .15s, background .15s, transform .1s
}
.mp-en .en-scale-btn:hover{border-color:var(--copper)}
.mp-en .en-scale-btn:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.mp-en .en-scale-btn:active{transform:scale(.96)}
.mp-en .en-scale-btn.is-on{background:var(--copper);border-color:var(--copper);color:#fff;box-shadow:0 0 0 2px var(--copper)}
.mp-en .en-scale-btn.is-on::after{content:' ✓';font-size:11px}

.mp-en .en-quiz-nav{display:flex;gap:12px;align-items:center;margin-top:20px;flex-wrap:wrap}
.mp-en .en-nav-hint{font-size:13px;color:#C4402C}
.mp-en .en-finish{text-align:center;padding:34px}
.mp-en .en-finish b{display:block;font-size:20px;margin-bottom:8px}

.mp-en .en-review{display:grid;gap:10px}
.mp-en .en-review-row{padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.mp-en .en-review-top{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;flex-wrap:wrap}
.mp-en .en-review-row .en-scale{gap:4px}
.mp-en .en-review-row .en-scale-btn{min-width:38px;min-height:38px;font-size:14px;border-radius:10px}
.mp-en .en-add-note{background:none;border:none;color:var(--copper-dk);font-size:12px;cursor:pointer;padding:4px}
.mp-en .en-note-wrap{margin-top:10px}
.mp-en .en-general{margin-top:16px}
.mp-en .en-general summary{font-size:14px;color:var(--ink-2);cursor:pointer}
.mp-en .en-general textarea{margin-top:10px}

.mp-en .en-prompt{border-left:3px solid var(--copper)}
.mp-en .en-prompt-resource{border-left-color:#1B7A50}
.mp-en .en-prompt .en-q{margin-top:0;color:var(--ink);font-weight:600}
.mp-en .en-share{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--ink-2);margin:12px 0}
.mp-en .en-share i{font-style:normal}
.mp-en .en-prompt .btn{margin-right:10px}

.mp-en .en-chart-wrap{max-width:640px;margin:0 auto}
.mp-en .en-chart-trend{max-width:100%}
.mp-en .en-table-alt{margin:14px 0 0;font-size:13px}
.mp-en .en-table-alt summary{cursor:pointer;color:var(--ink-2)}
.mp-en .en-table-alt table{margin-top:10px;border-collapse:collapse;width:100%;max-width:480px}
.mp-en .en-table-alt th,.mp-en .en-table-alt td{text-align:left;padding:5px 10px;border-bottom:1px solid var(--line)}

.mp-en .en-insights{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:22px}
.mp-en .en-insight{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.mp-en .en-insight b{display:block;font-size:13px;margin-bottom:8px}
.mp-en .en-insight ul{margin:0;padding:0 0 0 18px;font-size:13px;color:var(--ink-2)}
.mp-en .en-insight li{margin:3px 0}

.mp-en .en-heatmap-wrap{overflow-x:auto}
.mp-en .en-heatmap-wrap table{border-collapse:collapse;font-size:11px}
.mp-en .en-heatmap-wrap th{text-align:left;padding:3px 8px 3px 0;font-weight:500;color:var(--ink-2);white-space:nowrap}
.mp-en .en-heatmap-wrap td{width:22px;height:22px;border:1px solid var(--bg,#fff);border-radius:4px;text-align:center}
.mp-en .en-back{margin-top:36px}
@media (max-width:640px){
  .mp-en .en-hero{gap:20px}
  .mp-en .en-stats{grid-template-columns:repeat(2,1fr)}
  .mp-en .en-scale-btn{min-width:42px}
}


/* Компактная карта RN Energy на дашборде. */
.mp-cab .cab-energy-card{
  display:flex;gap:26px;align-items:center;padding:26px 30px;
  border:1px solid var(--line);border-radius:16px;background:var(--card);max-width:520px
}
.mp-cab .cab-energy-num b{font-size:52px;font-weight:800;line-height:1}
.mp-cab .cab-energy-num span{font-size:14px;color:var(--ink-2)}
.mp-cab .cab-energy-meta p{margin:0 0 4px;font-size:14px}
.mp-cab .cab-energy-meta p.ok{color:#1B7A50}
.mp-cab .cab-energy-meta p.sub{color:var(--ink-2);font-size:13px;margin-bottom:12px}


/* Secondary-кнопка в СВЕТЛЫХ областях кабинета (карточки, анкета, RN Energy):
   глобальный .btn.secondary белый — рассчитан на тёмные секции лендинга
   и на светлом фоне невидим. Здесь — чернильный текст и видимая рамка. */
body:has(main.mp-v2) .mp-cab .btn.secondary,
.mp-v2 .mp-cab .btn.secondary{
  color:var(--ink);
  border-color:var(--copper);
  background:transparent
}
body:has(main.mp-v2) .mp-cab .btn.secondary:hover,
.mp-v2 .mp-cab .btn.secondary:hover{
  background:rgba(184,116,80,.10);
  color:var(--ink)
}


/* Аналитика RN Energy: Компас и Динамика рядом, каждая — на карточке. */
.mp-en .en-analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch}
@media (max-width:900px){.mp-en .en-analytics-grid{grid-template-columns:1fr}}
.mp-en .en-panel{padding:22px 24px;border:1px solid var(--line);border-radius:16px;background:var(--card);display:flex;flex-direction:column}
.mp-en .en-panel h2{font-size:19px}
.mp-en .en-panel .en-chart-wrap{max-width:440px;margin:auto;width:100%;flex:1;display:flex;align-items:center}
.mp-en .en-panel .en-chart-trend{max-width:100%;min-height:280px;position:relative}
.mp-en .en-panel .en-chart-trend canvas{max-height:320px}


/* ═══ Landing rewrite: цепочки, два формата, панели, вкладки ═══ */
.rn8v2 .rn-chain{
  list-style:none;margin:8px 0 0;padding:0;display:flex;flex-wrap:wrap;
  gap:10px;align-items:center;counter-reset:chain
}
.rn8v2 .rn-chain li{
  padding:13px 20px;border:1px solid var(--line);border-radius:999px;
  font-size:14px;font-weight:600;color:var(--ink);background:var(--card);position:relative
}
.rn8v2 .rn-chain li + li::before{
  content:'→';position:absolute;left:-13px;top:50%;transform:translateY(-50%);
  color:var(--copper-dk);font-weight:700
}
.rn8v2 .rn-chain li + li{margin-left:16px}
.rn8v2 .rn-chain--route{flex-direction:column;align-items:stretch;gap:8px;max-width:520px}
.rn8v2 .rn-chain--route li{border-radius:12px}
.rn8v2 .rn-chain--route li + li{margin-left:0}
.rn8v2 .rn-chain--route li + li::before{content:'↓';left:22px;top:-15px;transform:none}
@media (max-width:720px){
  .rn8v2 .rn-chain{flex-direction:column;align-items:stretch}
  .rn8v2 .rn-chain li + li{margin-left:0;margin-top:6px}
  .rn8v2 .rn-chain li + li::before{content:'↓';left:22px;top:-16px;transform:none}
}

.rn8v2 .uz-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.rn8v2 .uz-grid--three{grid-template-columns:1fr}}

.rn8v2 .fmt-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:8px}
@media (max-width:900px){.rn8v2 .fmt-grid{grid-template-columns:1fr}}
.rn8v2 .fmt-card{
  padding:30px 32px;border:1px solid var(--line);border-radius:20px;background:var(--card);
  display:flex;flex-direction:column;gap:14px
}
.rn8v2 .fmt-card h3{font-size:23px;margin:0;line-height:1.25}
.rn8v2 .fmt-card > p{font-size:14px;line-height:1.65;color:var(--ink-2);margin:0}
.rn8v2 .fmt-list{list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:13.5px}
.rn8v2 .fmt-list li{padding-left:20px;position:relative;color:var(--ink)}
.rn8v2 .fmt-list li::before{content:'—';position:absolute;left:0;color:var(--copper-dk)}
.rn8v2 .fmt-list--titled li b{display:block;font-size:14px}
.rn8v2 .fmt-list--titled li span{color:var(--ink-2);font-size:13px}
.rn8v2 .fmt-key{
  font-size:13.5px;font-weight:600;padding:12px 16px;border-left:3px solid var(--copper);
  background:rgba(184,116,80,.07);border-radius:0 10px 10px 0;margin:0
}
.rn8v2 .fmt-card .btn{align-self:flex-start;margin-top:auto}

.rn8v2 .fmt-formula{
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px
}
@media (max-width:900px){.rn8v2 .fmt-formula{grid-template-columns:1fr}}
.rn8v2 .fmt-formula > div{
  padding:16px 20px;border:1px dashed var(--line);border-radius:14px;font-size:13px
}
.rn8v2 .fmt-formula b{display:block;margin-bottom:6px;font-size:14px}
.rn8v2 .fmt-formula span{color:var(--ink-2);line-height:1.6}

.rn8v2 .fmt-panel{
  margin-top:22px;padding:34px 36px;border:1px solid var(--copper);border-radius:22px;
  background:var(--card)
}
@media (max-width:720px){.rn8v2 .fmt-panel{padding:24px 20px}}
.rn8v2 .fmt-panel h3{font-size:24px;margin:0 0 10px}
.rn8v2 .fmt-panel h4{font-size:16px;margin:28px 0 14px}
.rn8v2 .fmt-panel > .lead{max-width:70ch}
.rn8v2 .fmt-steps{
  list-style:none;counter-reset:st;margin:0;padding:0;
  display:flex;flex-wrap:wrap;gap:10px
}
.rn8v2 .fmt-steps li{
  counter-increment:st;padding:11px 16px 11px 40px;border:1px solid var(--line);
  border-radius:12px;font-size:13.5px;position:relative;background:var(--card)
}
.rn8v2 .fmt-steps li::before{
  content:counter(st);position:absolute;left:14px;top:50%;transform:translateY(-50%);
  font-weight:800;color:var(--copper-dk);font-size:13px
}
.rn8v2 .fmt-gets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media (max-width:900px){.rn8v2 .fmt-gets{grid-template-columns:1fr}}
.rn8v2 .fmt-gets > div{
  padding:16px 18px;border:1px solid var(--line);border-radius:14px
}
.rn8v2 .fmt-gets b{display:block;font-size:14px;margin-bottom:5px}
.rn8v2 .fmt-gets i{display:block;font-size:12px;color:var(--copper-dk);font-style:normal;margin-bottom:5px}
.rn8v2 .fmt-gets p{font-size:13px;color:var(--ink-2);line-height:1.55;margin:0}

.rn8v2 .fmt-report{margin-top:26px}
.rn8v2 .fmt-report summary{
  cursor:pointer;font-weight:700;font-size:15px;color:var(--copper-dk);padding:6px 0
}
.rn8v2 .fmt-report .shots{margin-top:16px}
.rn8v2 .fmt-next{margin-top:30px;padding-top:24px;border-top:1px solid var(--line)}
.rn8v2 .plans--duo{grid-template-columns:repeat(2,minmax(0,1fr))}
@media (max-width:900px){.rn8v2 .plans--duo{grid-template-columns:1fr}}
.rn8v2 .fmt-collapse{margin-top:26px}

.rn8v2 .fmt-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
.rn8v2 .fmt-tabs button{
  font:inherit;font-size:13.5px;font-weight:600;padding:10px 16px;border-radius:999px;
  border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;
  transition:border-color .15s, background .15s
}
.rn8v2 .fmt-tabs button:hover{border-color:var(--copper)}
.rn8v2 .fmt-tabs button:focus-visible{outline:2px solid var(--copper);outline-offset:2px}
.rn8v2 .fmt-tabs button.on{background:var(--copper);border-color:var(--copper);color:#fff}
.rn8v2 .fmt-tabpane > .hint{margin-top:14px}


/* Team Map на странице Встречи 3. */
.mp-meeting .mtg-team-map{border-collapse:collapse;width:100%;font-size:13.5px}
.mp-meeting .mtg-team-map th{text-align:left;padding:8px 12px;color:var(--ink-2);font-size:12px;border-bottom:1px solid var(--line)}
.mp-meeting .mtg-team-map td{padding:8px 12px;border-bottom:1px solid var(--line)}
.mp-meeting .mtg-muted{color:var(--ink-2);font-size:12px}


/* Навигатор решений на странице встречи. */
.mp-meeting .mtg-navigator{margin-top:22px;padding-top:18px;border-top:1px dashed var(--line)}
.mp-meeting .mtg-navigator h3{font-size:15px;margin:0 0 10px}
.mp-meeting .mtg-nav-list{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}
.mp-meeting .mtg-nav-list li{padding:10px 14px;border:1px solid var(--line);border-radius:12px;font-size:13.5px}
.mp-meeting .mtg-nav-meta{display:block;font-size:12px;color:var(--ink-2);margin-top:3px}
.mp-meeting .mtg-nav-add summary{cursor:pointer;color:var(--copper-dk);font-weight:600;font-size:14px;padding:4px 0}
.mp-meeting .mtg-nav-form{display:grid;gap:10px;margin-top:12px;max-width:560px}
.mp-meeting .mtg-nav-form label{font-size:13px;font-weight:600;display:grid;gap:5px}
.mp-meeting .mtg-nav-form label i{color:var(--copper-dk);font-style:normal}
.mp-meeting .mtg-nav-form textarea,.mp-meeting .mtg-nav-form select,.mp-meeting .mtg-nav-form input{font:inherit;font-size:14px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink)}
.mp-meeting .mtg-nav-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:640px){.mp-meeting .mtg-nav-row{grid-template-columns:1fr}}
.mp-meeting .mtg-nav-form .btn{justify-self:start}


/* В7: свод защиты и контроль 30/60/90. */
.mp-meeting .mtg-defense{margin:0;display:grid;gap:10px}
.mp-meeting .mtg-defense dt{font-size:12px;font-weight:700;color:var(--copper-dk);text-transform:uppercase;letter-spacing:.06em}
.mp-meeting .mtg-defense dd{margin:2px 0 6px;font-size:14px;line-height:1.55}
.mp-meeting .mtg-checkpoints{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.mp-meeting .mtg-checkpoints li{padding:10px 14px;border:1px solid var(--line);border-radius:12px;font-size:14px}
.mp-meeting .mtg-checkpoints li span{color:var(--ink-2);font-size:12px;margin-left:8px}


/* Final Report Viewer (frozen). */
.mp-cab .cab-report--frozen{border:1px solid var(--copper);border-radius:16px;padding:22px 26px;background:var(--card)}
.mp-cab .cab-final-sec{margin:0 0 16px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.mp-cab .cab-final-sec:last-child{border-bottom:none;margin-bottom:0}
.mp-cab .cab-final-sec h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--copper-dk);margin:0 0 8px}
.mp-cab .cab-final-sec p{margin:2px 0;font-size:14px;line-height:1.55}
.mp-cab .cab-final-list{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px}
.mp-cab .cab-final-list li{font-size:13.5px}
.mp-cab .cab-final-rows{display:grid;gap:8px;margin-top:8px}
.mp-cab .cab-final-row{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;color:var(--ink-2);padding:6px 0;border-top:1px dotted var(--line)}
.mp-cab .cab-final-row span{max-width:100%}


/* Сгруппированная навигация кабинета.
   Правка PO 24.08: пункты выглядели как простой текст — теперь это
   объёмные кнопки, а четыре группы растянуты равномерно на всю ширину. */
.mp-cab .cab-nav{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px 22px;
  padding:18px 0 24px;border-bottom:1px solid var(--line);margin-bottom:8px
}
/* Меню при прокрутке (правка PO 24.08, вторая итерация): само меню
   обычное, а сверху появляется ПЛАВАЮЩАЯ копия-строка (fixed) — она
   не участвует в раскладке, поэтому не может «цеплять» прокрутку,
   как это делал sticky с меняющейся высотой. */
.mp-cab .cab-nav-float{
  position:fixed;left:0;right:0;top:88px;z-index:60;
  background:var(--bg);
  box-shadow:0 14px 26px -18px rgba(19,19,24,.45);
  opacity:0;transform:translateY(-10px);pointer-events:none;
  transition:opacity .18s ease, transform .18s ease
}
.mp-cab .cab-nav-float.is-vis{opacity:1;transform:none;pointer-events:auto}
.mp-cab .cab-nav-float .cab-nav{
  border-bottom:0;margin:0;padding:10px 0 12px;
  display:flex;flex-wrap:wrap;gap:8px;align-items:center
}
.mp-cab .cab-nav-float .cab-nav-group{flex-direction:row;flex-wrap:wrap;gap:8px}
.mp-cab .cab-nav-float .cab-nav-label{display:none}
.mp-cab .cab-nav-float .cab-nav button,
.mp-cab .cab-nav-float .cab-nav a{width:auto;padding:8px 13px;font-size:13px;border-radius:10px}
.mp-cab .cab-nav-group{display:flex;flex-direction:column;gap:9px}
.mp-cab .cab-nav-label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-2);margin-bottom:2px}
.mp-cab .cab-nav button,.mp-cab .cab-nav a{
  display:flex;align-items:center;width:100%;
  font:inherit;font-size:14px;font-weight:600;color:var(--ink);
  text-align:left;text-decoration:none;cursor:pointer;
  background:var(--card);
  border:1px solid var(--line);border-radius:12px;
  padding:11px 14px;
  box-shadow:0 1px 0 rgba(19,19,24,.06), 0 2px 8px rgba(19,19,24,.07);
  transition:transform .15s, box-shadow .15s, border-color .15s, color .15s
}
.mp-cab .cab-nav button:hover,.mp-cab .cab-nav a:hover{
  color:var(--copper-dk);border-color:var(--copper);
  transform:translateY(-1px);
  box-shadow:0 2px 2px rgba(19,19,24,.06), 0 8px 18px rgba(19,19,24,.11)
}
.mp-cab .cab-nav button:active,.mp-cab .cab-nav a:active{
  transform:translateY(1px);
  box-shadow:inset 0 2px 4px rgba(19,19,24,.1)
}
.mp-cab .cab-nav button.is-on,
.mp-cab .cab-nav a.is-on{
  background:linear-gradient(120deg,var(--copper-dk),var(--copper));
  color:#fff;border-color:transparent;
  box-shadow:0 6px 16px rgba(138,90,50,.32)
}
.mp-cab .cab-nav button.is-on:hover,
.mp-cab .cab-nav a.is-on:hover{color:#fff;transform:none}
.mp-cab .cab-nav button.is-on::before{content:none}
@media (max-width:900px){
  .mp-cab .cab-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:480px){
  .mp-cab .cab-nav{grid-template-columns:1fr}
}


/* Контроль 30/60/90: карточки контрольных точек. */
.mp-cab .mtg-cp-context{border:1px solid var(--line);border-radius:12px;background:var(--bg);padding:12px 16px;margin-bottom:14px}
.mp-cab .mtg-cp-context p{margin:3px 0;font-size:13.5px}
.mp-cab .mtg-cp-card{border:1px solid var(--line);border-radius:14px;background:var(--card);padding:16px 18px;margin-bottom:12px}
.mp-cab .mtg-cp-card.is-current{border-color:var(--copper)}
.mp-cab .mtg-cp-card.is-done{background:var(--bg)}
.mp-cab .mtg-cp-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px}
.mp-cab .mtg-cp-head b{font-size:15px}
.mp-cab .mtg-cp-due{color:var(--ink-2);font-size:13px}
.mp-cab .mtg-cp-status{margin-left:auto;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--copper-dk)}
.mp-cab .mtg-cp-card.is-done .mtg-cp-status{color:var(--ok,#2e7d4f)}
.mp-cab .mtg-cp-open{margin-top:10px}
.mp-cab .mtg-cp-open summary{cursor:pointer;font-weight:600;font-size:13.5px}
.mp-cab .mtg-cp-form{display:grid;gap:10px;margin-top:12px}
.mp-cab .mtg-cp-form label{font-size:13px;font-weight:600;display:grid;gap:6px}
.mp-cab .mtg-cp-form textarea{width:100%;border:1px solid var(--line);border-radius:10px;background:var(--bg);font:inherit;font-size:13.5px;padding:9px 11px}
.mp-cab .mtg-cp-form textarea:focus{outline:none;border-color:var(--copper);background:#fff}
.mp-cab .mtg-cp-result{margin-top:10px}
.mp-cab .mtg-cp-result p{margin:6px 0;font-size:13.5px;line-height:1.5}


/* ═══════════════════════════════════════════════════════════════
   СВЕТ КАК ОБЪЁМ (PO 22.08): светлые секции — выпуклые 3D-плиты,
   парящие над непрерывным тёмным миром. Тёмный грунт и сфера нигде
   не обрываются; плита несёт светлые токены внутри себя.
   pl-1 старт (молочная) · pl-2 узнавание (стекло) · pl-3 форматы
   (стопка) · pl-4 команда (медная кромка) · pl-5 FAQ (капсула).
   ═══════════════════════════════════════════════════════════════ */
.rn8v2 section.pl, section.pl{
  --ink:#131318; --ink-2:rgba(19,19,24,.66); --ink-3:rgba(19,19,24,.5);
  --line:rgba(19,19,24,.12);
  --copper:#B06A3C; --copper-lt:#C8834E; --copper-dk:#8A5A32; --copper-dp:#6E4224;
  --bg:#FFFFFF; --bg-2:#F6F4F0; --paper:#FFFFFF; --card:#FFFFFF;
  --rn8-bg-ivory:#FFFFFF; --rn8-bg-porcelain:#FFFFFF; --rn8-surface:#FFFFFF;
  --rn8-surface-glass:rgba(255,255,255,.9);
  --rn8-grid:rgba(19,19,24,.05);
  --rn8-line-structure:rgba(19,19,24,.12); --rn8-line-measure:rgba(19,19,24,.17);
  --rn8-ink-900:#131318; --rn8-ink-600:#3C3C44; --rn8-ink-400:#57575F;
  --rn8-bronze-500:#8A5A32; --rn8-copper-600:#B06A3C;
  --rn8-fn-info:#8A5A32; --blue:#B06A3C; --blue2:#8A5A32;
  color:var(--ink);
  /* плиты лежат внутри .wrap (контент 1168px), а сами шире (1320px):
     auto-центровка при переполнении прижимает влево — поэтому считаем
     симметричные поля от ширины родителя сами */
  width:min(1320px,94vw);
  margin-block:clamp(48px,6vw,96px);
  margin-inline:calc((100% - min(1320px,94vw))/2);
  padding:clamp(44px,5vw,80px) clamp(26px,4vw,72px) !important;
  border-radius:30px;position:relative;box-sizing:border-box}
section.pl h2,section.pl h3,section.pl h4{color:var(--ink)}
section.pl .sec-head .mark{color:var(--copper-dk)}
section.pl .uz-foot{color:var(--ink-2)} section.pl .uz-foot span{color:var(--ink)}
section.pl .lead{color:var(--ink-2)}

/* появление из глубины — только при работающем JS */
.rn8-plates-js section.pl{opacity:.001;
  transition:opacity .9s cubic-bezier(.32,.72,0,1);
  will-change:transform;transform-style:preserve-3d;transform-origin:50% 92%}
.rn8-plates-js section.pl.in{opacity:1}
@media (prefers-reduced-motion:reduce){
  .rn8-plates-js section.pl{transform:none !important;opacity:1 !important;transition:none !important}
}

/* узел сети на верхней кромке плиты (кроме стопки) */
section.pl::after{content:'';position:absolute;left:50%;top:-5px;
  width:11px;height:11px;border-radius:50%;transform:translateX(-50%);
  background:radial-gradient(circle at 35% 30%,#F5B570,#B06A3C);
  box-shadow:0 0 18px rgba(240,168,92,.8)}

/* ═ плита 1 · молочная, выпуклая ═ */
.rn8v2 section.pl-1, .rn8v2 section.pl-2{background:
  radial-gradient(120% 90px at 50% -30px, #FFFFFF, rgba(255,255,255,0) 70%),
  linear-gradient(180deg,#FFFEF9 0%,#FDFBF4 100%);
  border-top:1px solid rgba(240,168,92,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    inset 22px 0 44px -30px rgba(19,19,24,.10),
    inset -22px 0 44px -30px rgba(19,19,24,.10),
    inset 0 -26px 48px -34px rgba(19,19,24,.12),
    0 60px 140px -30px rgba(0,0,0,.62)}

/* плита 2: по PO 22.08 — тот же молочный стиль, что и плита 1 (стекло убрано) */

/* ═ плита 3 · стопка слоёв, розово-жемчужная ═ */
.rn8v2 section.pl-3{background:linear-gradient(180deg,#FEFAF9 0%,#FBF5F3 100%);
  box-shadow:inset 0 1px 0 #fff, 0 46px 120px -26px rgba(0,0,0,.6)}
/* подложки стопки убраны по PO 22.08 — читались как обрезанные полосы */

/* ═ плита 4 · медная кромка, тёплое молоко ═ */
.rn8v2 section.pl-4{background:
  radial-gradient(700px 320px at 85% 0%, rgba(240,168,92,.13), rgba(240,168,92,0) 60%),
  radial-gradient(600px 380px at 4% 100%, rgba(176,106,60,.08), rgba(176,106,60,0) 58%),
  #FFFDF8;
  border-top:2px solid rgba(240,168,92,.8);
  box-shadow:
    0 -8px 34px -12px rgba(240,168,92,.45),
    inset 0 1px 0 rgba(255,255,255,.9),
    0 54px 130px -28px rgba(0,0,0,.62)}

/* ═ плита 5 · капсула, сильная выпуклость ═ */
.rn8v2 section.pl-5{border-radius:44px;background:
  radial-gradient(140% 140px at 50% -50px, #FFFFFF, rgba(255,255,255,0) 75%),
  linear-gradient(180deg,#FFFFFF 0%,#FBF8F3 88%,#F7F2EA 100%);
  box-shadow:
    inset 0 2px 0 rgba(255,255,255,1),
    inset 34px 0 60px -40px rgba(19,19,24,.14),
    inset -34px 0 60px -40px rgba(19,19,24,.14),
    inset 0 -34px 56px -38px rgba(138,90,50,.16),
    0 70px 160px -30px rgba(0,0,0,.66)}


/* Кто стоит за RN8: миниатюры и раскрытие «Подробнее» без перехода. */
section.pl-4 .who-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
section.pl-4 .who-grid article{display:block;border:1px solid var(--line);border-radius:18px;
  background:var(--card);padding:22px;box-shadow:0 14px 40px rgba(19,19,24,.07)}
section.pl-4 .who-head{display:grid;grid-template-columns:96px 1fr;gap:18px;align-items:center}
section.pl-4 .who-grid img{width:96px;height:120px;object-fit:cover;border-radius:14px;
  border:1px solid rgba(176,106,60,.35)}
section.pl-4 .who-grid h4{margin:0 0 4px}
section.pl-4 .who-grid .role{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--copper-dk);margin-bottom:8px}
section.pl-4 .who-grid p{font-size:13.5px;line-height:1.55;color:var(--ink-2)}
section.pl-4 details.who-more{margin-top:14px;border-top:1px solid var(--line);padding-top:12px}
section.pl-4 details.who-more summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:8px;
  font-weight:700;font-size:13.5px;color:var(--copper-dk)}
section.pl-4 details.who-more summary::-webkit-details-marker{display:none}
section.pl-4 details.who-more summary::after{content:'↓';transition:transform .35s cubic-bezier(.32,.72,0,1)}
section.pl-4 details.who-more[open] summary::after{transform:rotate(180deg)}
section.pl-4 details.who-more summary .less{display:none}
section.pl-4 details.who-more[open] summary .more{display:none}
section.pl-4 details.who-more[open] summary .less{display:inline}
section.pl-4 details.who-more .who-full{margin-top:10px;animation:whoIn .45s cubic-bezier(.32,.72,0,1)}
@keyframes whoIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
@media(max-width:760px){section.pl-4 .who-grid{grid-template-columns:1fr}}

/* Mini-tools gate (утверждено PO): лёгкая форма вместо тарифного замка. */
.rn8v2 .gate-body{max-width:460px;margin:0 auto;text-align:left;padding:26px 8px}
.rn8v2 .gate-body h3{margin-bottom:10px}
.rn8v2 .gate-body > p{color:var(--ink-2);font-size:14.5px;line-height:1.6;margin-bottom:16px}
.rn8v2 .gate-form{display:grid;gap:10px}
.rn8v2 .gate-form input[type=text],.rn8v2 .gate-form input[type=email]{
  width:100%;border:1px solid var(--line);border-radius:12px;background:var(--card);
  font:inherit;font-size:14px;color:var(--ink);padding:12px 14px}
.rn8v2 .gate-form input:focus{outline:none;border-color:var(--copper)}
.rn8v2 .gate-consent{display:flex;gap:9px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);line-height:1.5}
.rn8v2 .gate-consent input{margin-top:2px}
.rn8v2 .gate-consent a{color:var(--copper-dk)}
.rn8v2 .gate-note{font-size:13px;color:var(--copper-dk);min-height:18px}
/* CTA после инструментов */
.rn8v2 .tools-next{margin-top:44px;text-align:center;border-top:1px solid var(--line);padding-top:34px}
.rn8v2 .tools-next h3{margin-bottom:8px}
.rn8v2 .tools-next p{color:var(--ink-2);max-width:56ch;margin:0 auto 16px;font-size:14.5px;line-height:1.6}

/* Шапка-оверлей (PO 22.08): чёрной остаётся только плашка — сцена шара
   поднимается под шапку, полоса над сферой исчезает, подписи не теряются. */
body:has(main.mp-v2) > header{
  position:fixed;left:0;right:0;top:0;
  background:rgba(10,9,8,.88);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.09)
}
body.admin-bar:has(main.mp-v2) > header{top:32px}
/* контент hero ниже плашки; сфера и рассвет начинаются с самого верха */
.rn8v2 .hero{padding-top:210px}

/* Карточки карусели инструментов крупнее на ~18% (PO 22.08). */
.rn8v2 .car{height:460px}
.rn8v2 .tcard{
  width:255px;min-height:222px;
  margin:-111px 0 0 -128px;padding:20px 19px;border-radius:22px;gap:11px
}
.rn8v2 .tcard h4{font-size:16.5px}
.rn8v2 .tcard p{font-size:13.5px}
.rn8v2 .tcard .tag{font-size:11px}
.rn8v2 .tcard .open{font-size:14px}

/* Тарифы (#pricing) на светлой карточке: читаемые цвета и компактный шрифт
   (PO 22.08 — «слишком крупный текст, часть не видно»). */
.rn8v2 #pricing, #pricing{--ink:#131318}
#pricing .price h3, #pricing .price .pkg-badge ~ *{color:#131318}
#pricing .price p, #pricing .price .muted{color:#3C3C44;font-size:14.5px;line-height:1.55}
#pricing .price > p:first-of-type{font-size:14.5px}
#pricing .price li{color:#3C3C44 !important;font-size:14px;line-height:1.55}
#pricing .price .amount{font-size:26px;color:#8A5A32}
#pricing .section-lead{font-size:14.5px;color:#3C3C44}
#pricing h2{font-size:clamp(24px,2.6vw,34px)}

/* Hover-карточки .uz-grid (несколько экранов): фон светлеет — текст темнеет,
   чтобы ничего не терялось (PO 22.08). */
.rn8v2 .uz-grid article{transition:background .35s var(--ease),color .35s var(--ease)}
.rn8v2 .uz-grid article h4,
.rn8v2 .uz-grid article p{transition:color .35s var(--ease)}
.rn8v2 .uz-grid article:hover{color:#131318}
.rn8v2 .uz-grid article:hover h4{color:#131318}
.rn8v2 .uz-grid article:hover p{color:#3C3C44}
.rn8v2 .uz-grid article:hover b{color:rgba(184,116,80,.55)}

/* Пирамида «Собственник → Команда → Система бизнеса» — цветная, с каскадом. */
.rn8v2 .rn-pyr{display:flex;flex-direction:column;align-items:center;gap:6px;
  position:relative;width:100%;max-width:800px;margin:14px auto 10px;padding:8px 4px;grid-column:1/-1}
.rn8v2 .rn-pyr::before{content:'';position:absolute;inset:-30px -40px;pointer-events:none;z-index:0;
  background:radial-gradient(60% 70% at 50% 40%, rgba(184,116,80,.10), transparent 72%)}
.rn8v2 .rn-pyr-node{width:12px;height:12px;border-radius:50%;z-index:1;
  background:radial-gradient(circle at 35% 30%,#F5B570,#E07848);
  box-shadow:0 0 18px rgba(240,168,92,.8);margin-bottom:2px}
.rn8v2 .rn-pyr-tier{position:relative;z-index:1;text-align:center;border-radius:18px;padding:20px 32px;
  background:linear-gradient(165deg, rgba(20,17,14,.94), rgba(30,24,19,.9));
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1px solid rgba(240,168,92,.35);border-top:2px solid rgba(240,168,92,.8);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 24px 56px -18px rgba(19,13,8,.55);
  transition:transform .45s cubic-bezier(.32,.72,0,1),box-shadow .45s cubic-bezier(.32,.72,0,1)}
.rn8v2 .rn-pyr-tier:hover{transform:translateY(-4px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 32px 70px -18px rgba(19,13,8,.65), 0 0 40px rgba(240,168,92,.14)}
.rn8v2 .rn-pyr-tier b{display:block;font-family:Onest,Inter,sans-serif;font-weight:800;
  font-size:21px;color:#FFFFFF;margin-bottom:5px}
.rn8v2 .rn-pyr-tier b::after{content:'';display:block;width:44px;height:3px;border-radius:3px;
  margin:7px auto 0;background:linear-gradient(90deg,#F0A85C,rgba(240,168,92,.2))}
.rn8v2 .rn-pyr-tier span{font-size:14.5px;color:rgba(255,255,255,.66);line-height:1.55}
.rn8v2 .rn-pyr-tier.t1{width:min(460px,88%)}
.rn8v2 .rn-pyr-tier.t2{width:min(630px,96%)}
.rn8v2 .rn-pyr-tier.t3{width:100%}
.rn8v2 .rn-pyr-arr{width:22px;height:20px;position:relative;z-index:1;opacity:.9;animation:pyrArr 2.2s ease-in-out infinite}
.rn8v2 .rn-pyr-arr::before{content:'';position:absolute;left:50%;top:2px;width:11px;height:11px;
  border-right:2.5px solid #B06A3C;border-bottom:2.5px solid #B06A3C;
  transform:translateX(-50%) rotate(45deg)}
@keyframes pyrArr{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}
/* каскад появления вместе с плитой */
.rn8-plates-js section.pl .rn-pyr-tier,
.rn8-plates-js section.pl .rn-pyr-arr,
.rn8-plates-js section.pl .rn-pyr-node{opacity:0}
.rn8-plates-js section.pl.in .rn-pyr-node{animation:pyrPop .6s cubic-bezier(.32,.72,0,1) .1s forwards}
.rn8-plates-js section.pl.in .rn-pyr-tier.t1{animation:pyrPop .7s cubic-bezier(.32,.72,0,1) .15s forwards}
.rn8-plates-js section.pl.in .rn-pyr-tier.t2{animation:pyrPop .7s cubic-bezier(.32,.72,0,1) .35s forwards}
.rn8-plates-js section.pl.in .rn-pyr-tier.t3{animation:pyrPop .7s cubic-bezier(.32,.72,0,1) .55s forwards}
.rn8-plates-js section.pl.in .rn-pyr-arr{animation:pyrArr 2.2s ease-in-out .9s infinite, pyrFade .5s ease .5s forwards}
@keyframes pyrPop{from{opacity:0;transform:translateY(26px) scale(.96)}to{opacity:1;transform:none}}
@keyframes pyrFade{to{opacity:.9}}
@media (prefers-reduced-motion:reduce){
  .rn8-plates-js section.pl .rn-pyr-tier,.rn8-plates-js section.pl .rn-pyr-arr,.rn8-plates-js section.pl .rn-pyr-node{opacity:1;animation:none}
  .rn8v2 .rn-pyr-arr{animation:none}}
@media(max-width:900px){.rn8v2 .rn-pyr{max-width:100%;margin-left:0}}

/* ═══════════ АНКЕТА: ПОШАГОВЫЙ WIZARD ═══════════ */
.mp-pre .pre-req{color:#B34A1F;font-style:normal;font-weight:800;margin-left:2px}
.mp-pre .pre-req-legend{font-size:12.5px;color:var(--ink-2);margin:2px 0 6px}
.mp-pre .pre-req-legend .pre-req{margin-left:0}

.mp-pre .pre-step{
  margin-top:18px;border:1px solid var(--line);border-radius:14px;background:#fff;
  overflow:hidden;transition:border-color .25s ease, box-shadow .25s ease
}
.mp-pre .pre-step.is-open{border-color:rgba(178,94,42,.45);box-shadow:0 10px 30px rgba(31,26,21,.07)}
.mp-pre .pre-step.is-locked{background:rgba(31,26,21,.025)}
.mp-pre .pre-step-head{
  display:flex;align-items:center;gap:14px;width:100%;text-align:left;
  padding:16px 20px;background:none;border:0;cursor:pointer;font:inherit;color:var(--ink)
}
.mp-pre .pre-step.is-locked .pre-step-head{cursor:not-allowed;color:var(--ink-3)}
.mp-pre .pre-step-num{
  flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;
  font-weight:800;font-size:15px;border:1.5px solid var(--line);color:var(--ink-2);background:#fff
}
.mp-pre .pre-step.is-open .pre-step-num{border-color:#B34A1F;color:#B34A1F}
.mp-pre .pre-step.is-done .pre-step-num{background:#1B7A50;border-color:#1B7A50;color:#fff}
.mp-pre .pre-step-title{font-size:17px;font-weight:700;flex:1 1 auto}
.mp-pre .pre-step-title em{font-style:normal;font-weight:500;font-size:12.5px;color:var(--ink-2);margin-left:8px}
.mp-pre .pre-step-state{flex:0 0 auto;font-size:13px;color:var(--ink-2)}
.mp-pre .pre-step.is-done .pre-step-state::before{content:'заполнено ✓';color:#1B7A50;font-weight:600}
.mp-pre .pre-step.is-locked .pre-step-state::before{content:'откроется дальше'}
.mp-pre .pre-step-body{padding:4px 20px 24px}
@media (min-width:721px){.mp-pre .pre-step-body{padding:4px 26px 28px}}
.mp-pre .pre-step.is-shake{animation:preShake .45s ease}
@keyframes preShake{
  20%{transform:translateX(-5px)}40%{transform:translateX(5px)}
  60%{transform:translateX(-3px)}80%{transform:translateX(3px)}
}
.mp-pre .pre-step-nextrow{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:22px}
.mp-pre .pre-next-hint{font-size:13px;color:#B34A1F;font-weight:600}

.mp-pre .pre-field.pre-miss input,.mp-pre .pre-field.pre-miss select,.mp-pre .pre-field.pre-miss textarea{
  border-color:#B34A1F;box-shadow:0 0 0 3px rgba(179,74,31,.14)
}
.mp-pre .pre-scenarios.pre-miss{outline:2px solid rgba(179,74,31,.5);outline-offset:6px;border-radius:12px}

.mp-pre .pre-program-note{
  border:1px solid rgba(178,94,42,.35);border-left:4px solid #B34A1F;border-radius:10px;
  background:rgba(240,168,92,.08);padding:14px 18px;margin:2px 0 18px
}
.mp-pre .pre-program-note b{display:block;font-size:14.5px;margin-bottom:4px;color:var(--ink)}
.mp-pre .pre-program-note p{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink-2)}

.mp-pre .pre-checklist-title{font-size:17px;margin:28px 0 10px}

/* Люди: строки списка с датой и удалением */
.mp-pre .cab-people-list li{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff
}
.mp-pre .cab-people-list li span{margin-left:0}
.mp-pre .pre-person-bd{
  font-style:normal;font-size:12px;color:var(--ink-2);
  border:1px solid var(--line);border-radius:999px;padding:2px 9px;background:rgba(31,26,21,.03)
}
.mp-pre .pre-person-del{
  margin-left:auto;flex:0 0 auto;width:26px;height:26px;border-radius:50%;
  border:1px solid var(--line);background:#fff;color:var(--ink-2);
  font-size:16px;line-height:1;cursor:pointer;transition:all .18s ease
}
.mp-pre .pre-person-del:hover{border-color:#B34A1F;color:#B34A1F;background:rgba(179,74,31,.06)}
.mp-pre .pre-person-bd-row{margin:2px 0 6px}
.mp-pre .pre-person-bd-toggle{
  background:none;border:0;padding:0;cursor:pointer;font:inherit;font-size:13px;
  color:#B34A1F;font-weight:600;text-decoration:underline;text-underline-offset:3px
}
.mp-pre .pre-person-bd-field{margin-top:10px;max-width:260px}

/* Встроенный Business MRI */
.mp-pre .pre-mri-embed{margin-top:18px;border-top:1px dashed var(--line);padding-top:8px}
.mp-pre .pre-mri-embed .mmp-mri{padding:0}

/* Анкета: атрибут hidden сильнее классов раскладки (иначе «Дата регистрации»
   показывалась при «Пока нет»); подписи радио не переносим. */
.mp-pre [hidden]{display:none!important}
.mp-pre .pre-inline-radios label i{white-space:nowrap;font-style:normal}

/* Чекбоксы анкеты («Что уже существует», «Ресурсы»): аккуратные карточки-строки. */
.mp-pre .pre-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
@media (max-width:720px){.mp-pre .pre-checks{grid-template-columns:1fr}}
.mp-pre .pre-checks label{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:14px;line-height:1.35;cursor:pointer;text-align:left;transition:border-color .15s ease,background .15s ease}
.mp-pre .pre-checks label:hover{border-color:rgba(178,94,42,.45)}
.mp-pre .pre-checks label:has(input:checked){border-color:#B34A1F;background:rgba(240,168,92,.10)}
.mp-pre .pre-checks input{flex:0 0 auto;width:17px;height:17px;margin:0;accent-color:#B34A1F}
.mp-pre .pre-checks i{font-style:normal;flex:1 1 auto;text-align:left;margin:0}
/* Встроенный вводный опрос в шаге 5 */
.mp-pre .pre-consent-embed{margin-top:4px}
.mp-pre .pre-consent-embed .mmp-is .mmp-card,.mp-pre .pre-consent-embed .mmp-is .mmp-rules{box-shadow:none}

/* «Моя система» внутри кабинета: экраны без внешних отступов отдельных страниц. */
.mp-cab .cab-pane-embed .mmp-op,.mp-cab .cab-pane-embed .mmp-company,.mp-cab .cab-pane-embed .mmp-emp,.mp-cab .cab-pane-embed .mmp-dna{margin:8px 0 0;padding:0;max-width:none}
.mp-cab .cab-pane-embed h2{margin-bottom:6px}

/* ═══════════ МИНИ-ИНСТРУМЕНТЫ: карта Team DNA, редактор, симулятор ═══════════ */
/* Редактор команды (3–7 человек) */
.rn8v2 .ted{display:grid;gap:9px}
.rn8v2 .ted-row{display:grid;grid-template-columns:minmax(120px,1.4fr) 58px 58px 78px minmax(120px,1fr) 30px;gap:8px;align-items:center}
.rn8v2 .ted-row input{font:inherit;font-size:14.5px;padding:10px 11px;border-radius:11px;border:1px solid rgba(19,19,24,.16);background:#fff;color:#131318}
.rn8v2 .ted-row input[data-d],.rn8v2 .ted-row input[data-m],.rn8v2 .ted-row input[data-y]{text-align:center;font-variant-numeric:tabular-nums;font-weight:700}
.rn8v2 .ted-row input:focus{outline:2px solid var(--c);outline-offset:1px;border-color:transparent}
.rn8v2 .ted-chip{font-size:12px;font-weight:800;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rn8v2 .ted-del{width:28px;height:28px;border-radius:50%;border:1px solid rgba(19,19,24,.16);background:#fff;color:#5c5c68;font-size:15px;line-height:1;cursor:pointer}
.rn8v2 .ted-del:hover{color:#C4402C;border-color:#C4402C}
.rn8v2 .ted-foot{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:12px}
@media (max-width:720px){.rn8v2 .ted-row{grid-template-columns:1fr 52px 52px 72px 26px;grid-auto-rows:auto}.rn8v2 .ted-chip{grid-column:1/-1}}

/* Карта Team DNA — поле из утверждённого отчёта */
.rn8v2 .dmap{position:relative;margin-top:20px;height:clamp(360px,44vw,470px);border-radius:16px;
  background:linear-gradient(90deg,#F4F5F9 50%,#FBFAF2 50%);border:1px solid var(--line);overflow:hidden}
.rn8v2 .dmap .dm-line{position:absolute;background:rgba(19,19,24,.14)}
.rn8v2 .dmap .dm-line.v{left:50%;top:0;bottom:0;width:1px}
.rn8v2 .dmap .dm-line.h{top:50%;left:0;right:0;height:1px}
.rn8v2 .dm-zone{position:absolute;font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(19,19,24,.34)}
.rn8v2 .dm-zone.tl{top:12px;left:16px}.rn8v2 .dm-zone.tr{top:12px;right:16px}
.rn8v2 .dm-zone.bl{bottom:12px;left:16px}.rn8v2 .dm-zone.br{bottom:12px;right:16px}
.rn8v2 .dm-ax{position:absolute;font-size:9.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:rgba(19,19,24,.30)}
.rn8v2 .dm-ax.x{bottom:2px;left:50%;transform:translateX(-50%)}
.rn8v2 .dm-ax.y{left:2px;top:50%;transform:translate(-42%,-50%) rotate(-90deg)}
.rn8v2 .dm-band{position:absolute;right:8px;transform:translateY(-50%);font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:rgba(19,19,24,.22)}
.rn8v2 .dm-p{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;text-align:center;max-width:120px}
.rn8v2 .dm-p i{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;font-style:normal;font-size:12px;font-weight:800;
  color:var(--pc);background:#fff;border:2px solid var(--pc);box-shadow:0 4px 14px rgba(19,19,24,.10)}
.rn8v2 .dm-p b{all:unset;margin-top:5px;font-size:12px;font-weight:800;color:#131318;line-height:1.2;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.rn8v2 .dm-p s{all:unset;font-size:10.5px;color:#5c5c68;line-height:1.25}
.rn8v2 .dm-sim i{border-style:dashed;background:rgba(255,255,255,.72)}
.rn8v2 .dm-sim s{color:#B7791F;font-weight:700}
.rn8v2 .dm-cand i{box-shadow:0 0 0 4px rgba(136,104,216,.22),0 4px 14px rgba(19,19,24,.12);width:38px;height:38px}
.rn8v2 .dm-cand s{color:#6B4FC4;font-weight:700}

/* Список «кто где на карте» */
.rn8v2 .dlist{margin-top:14px;display:grid;gap:8px}
.rn8v2 .dlist-row{display:grid;grid-template-columns:32px minmax(90px,.8fr) minmax(180px,1.4fr) minmax(140px,1fr);gap:10px;align-items:center;
  padding:9px 13px;border-radius:12px;background:#fff;border:1px solid rgba(19,19,24,.12)}
.rn8v2 .dlist-row i{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-style:normal;font-size:11px;font-weight:800;color:var(--pc);border:2px solid var(--pc);background:#fff}
.rn8v2 .dlist-row b{all:unset;font-weight:800;font-size:13.5px;color:#131318;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rn8v2 .dlist-row span{font-size:12.5px;color:#45454f}
.rn8v2 .dlist-row em{font-style:normal;font-size:11.5px;font-weight:700;color:#6a6a76;text-align:right}
@media (max-width:720px){.rn8v2 .dlist-row{grid-template-columns:28px 1fr;grid-auto-rows:auto}.rn8v2 .dlist-row em{text-align:left}}

/* Симулятор: варианты профилей */
.rn8v2 .simopts{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));gap:10px;margin-top:6px}
.rn8v2 .simopt{font:inherit;text-align:left;padding:12px 14px;border-radius:13px;cursor:pointer;
  background:#fff;border:1.5px solid rgba(19,19,24,.14);transition:border-color .15s ease,transform .15s ease}
.rn8v2 .simopt:hover{transform:translateY(-2px);border-color:var(--pc)}
.rn8v2 .simopt.on{border-color:var(--pc);box-shadow:0 0 0 3px rgba(19,19,24,.05);background:#fff}
.rn8v2 .simopt b{all:unset;display:block;font-size:13px;font-weight:800;color:var(--pc)}
.rn8v2 .simopt span{display:block;font-size:12px;color:#131318;margin-top:2px}
.rn8v2 .simopt em{display:block;font-style:normal;font-size:11.5px;color:#66666f;margin-top:5px;line-height:1.4}

/* Форма кандидата */
.rn8v2 .cand-form{display:grid;grid-template-columns:minmax(160px,1fr) minmax(200px,1.4fr);gap:10px;margin:0 0 14px}
.rn8v2 .cand-form input{font:inherit;font-size:14.5px;padding:11px 13px;border-radius:12px;border:1px solid rgba(19,19,24,.16);background:#fff;color:#131318}
.rn8v2 .cand-form input:focus{outline:2px solid var(--c);outline-offset:1px;border-color:transparent}
@media (max-width:720px){.rn8v2 .cand-form{grid-template-columns:1fr}}

/* Разъяснение под картой Team DNA */
.rn8v2 .dmap-legend{margin-top:12px;display:grid;gap:8px;padding:14px 17px;border-radius:13px;background:rgba(255,255,255,.85);border:1px solid rgba(19,19,24,.12)}
.rn8v2 .dmap-legend div{font-size:13px;line-height:1.55;color:#3c3c46}
.rn8v2 .dmap-legend b{all:unset;font-weight:800;color:#131318}

/* Опции-пилюли внутри .deal .row: заголовок не должен наследовать стиль ярлыка ряда */
.rn8v2 .deal .row .simopt b{all:unset;display:block;font-size:13px;font-weight:800;letter-spacing:0;text-transform:none;color:var(--pc);margin:0}
.rn8v2 .deal .row .simopt span{display:block;font-size:12px;color:#131318;margin-top:2px}
.rn8v2 .deal .row .simopt em{display:block;font-style:normal;font-size:11.5px;color:#66666f;margin-top:5px;line-height:1.4}

/* Опции квиза/симулятора: квадратные карточки, крупный читаемый шрифт (правка PO) */
.rn8v2 .simopt,.rn8v2 .deal .row .simopt{border-radius:10px;padding:16px 18px;min-height:64px;background:#fff;border:1.5px solid rgba(19,19,24,.14);border-left:4px solid var(--pc)}
.rn8v2 .simopt b,.rn8v2 .deal .row .simopt b{all:unset;display:block;font-size:15px;line-height:1.35;font-weight:800;letter-spacing:0;text-transform:none;color:#131318;margin:0}
.rn8v2 .simopt span,.rn8v2 .deal .row .simopt span{display:block;font-size:13px;line-height:1.45;color:#45454f;margin-top:4px}
.rn8v2 .simopt em,.rn8v2 .deal .row .simopt em{display:block;font-style:normal;font-size:12px;color:#5c5c68;margin-top:6px;line-height:1.45}
.rn8v2 .simopt.on,.rn8v2 .deal .row .simopt.on{border-color:var(--pc);box-shadow:0 0 0 3px rgba(19,19,24,.06)}
.rn8v2 .simopts{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}

/* Белые карточки-опции внутри тёмной секции #instrumenty: текст всегда тёмный
   (ID-правило тёмной темы перебивало классы — уравниваем специфичность). */
.rn8v2 #instrumenty .simopt b,.rn8v2 #instrumenty .deal .row .simopt b{color:#131318;font-size:15px;letter-spacing:0;text-transform:none;margin:0}
.rn8v2 #instrumenty .simopt span,.rn8v2 #instrumenty .deal .row .simopt span{color:#45454f}
.rn8v2 #instrumenty .simopt em,.rn8v2 #instrumenty .deal .row .simopt em{color:#5c5c68}

/* ── Мягкое предложение почты под результатом инструмента (PO 23.08):
   гейт отменён, вместо него ненавязчивый блок «получить разборы письмом» ── */
.rn8v2 .mail-offer{
  margin-top:16px;padding:16px 18px;border:1px solid rgba(240,168,92,.25);
  border-radius:14px;background:rgba(240,168,92,.06)
}
.rn8v2 .mail-offer b{display:block;color:#fff;font-size:15px;margin-bottom:4px}
.rn8v2 .mail-offer p{color:rgba(255,255,255,.62);font-size:13px;margin:0 0 10px;line-height:1.55}
.rn8v2 .mail-offer-form{display:flex;gap:10px;flex-wrap:wrap}
.rn8v2 .mail-offer-form input[type=email]{
  flex:1;min-width:200px;padding:10px 14px;border-radius:10px;
  border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);
  color:#fff;font-size:14px
}
.rn8v2 .mail-offer-form input[type=email]::placeholder{color:rgba(255,255,255,.4)}
.rn8v2 .mail-consent{display:flex;gap:7px;align-items:flex-start;margin-top:9px;
  font-size:12px;color:rgba(255,255,255,.5);cursor:pointer}
.rn8v2 .mail-consent a{color:#F0A85C}
.rn8v2 .mail-note{display:block;margin-top:7px;font-size:12.5px;color:#F0A85C}

/* Шапка фиксированная — без запаса якорные переходы прятали
   верх секции под ней. Плюс плавный скролл по якорям. */
html{scroll-behavior:smooth;scroll-padding-top:104px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ── «Найдите себя на шаре»: форма даты в hero (PO 24.08) ── */
.rn8v2 .hero-dob{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.rn8v2 .hero-dob input{
  flex:1;min-width:200px;padding:11px 15px;border-radius:999px;
  border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.06);
  color:#fff;font-size:14px
}
.rn8v2 .hero-dob input::placeholder{color:rgba(255,255,255,.42)}
.rn8v2 .hero-dob input:focus{outline:2px solid rgba(240,168,92,.7);outline-offset:1px}
.rn8v2 .hero-dob-res{margin:10px 0 0;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.75);width:100%}
.rn8v2 .hero-dob-res a{color:#F0A85C;font-weight:600}

/* С админ-баром WP шапка ниже на 32px — плавающее меню опускаем. */
body.admin-bar .mp-cab .cab-nav-float{top:120px}
@media (max-width:782px){ body.admin-bar .mp-cab .cab-nav-float{top:134px} }

/* ── Чек-лист домашнего задания в рабочей тетради (В1, план программы) ── */
.mp-cab .cab-homework{
  background:var(--card);border:1px solid var(--line);border-left:4px solid var(--copper);
  border-radius:14px;padding:16px 18px;margin-bottom:20px
}
.mp-cab .cab-homework > b{font-size:15px;color:var(--ink)}
.mp-cab .cab-homework ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:7px}
.mp-cab .cab-homework li{font-size:14px;line-height:1.5;color:var(--ink-2);padding-left:24px;position:relative}
.mp-cab .cab-homework li::before{content:'○';position:absolute;left:2px;color:var(--ink-3)}
.mp-cab .cab-homework li.ok{color:var(--ink)}
.mp-cab .cab-homework li.ok::before{content:'✓';color:#1B7A50;font-weight:700}
.mp-cab .cab-homework .hint{display:block;margin:10px 0 0;font-size:12.5px;color:var(--ink-3)}

/* ── Живой список ключевых людей в тетради (canonical Person) ── */
.mp-cab .cab-plist{display:grid;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.mp-cab .cab-plist-row{
  display:grid;grid-template-columns:1.4fr 1.2fr .9fr 1fr 1.4fr;gap:12px;
  padding:10px 14px;border-bottom:1px solid var(--line);font-size:14px;color:var(--ink)
}
.mp-cab .cab-plist-row:last-child{border-bottom:0}
.mp-cab .cab-plist-row--head{
  font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);
  background:var(--bg-2)
}
.mp-cab .cab-plist-row:nth-child(even):not(.cab-plist-row--head){background:rgba(19,19,24,.02)}
.mp-cab .cab-plist-empty{color:var(--ink-2);font-size:14px;margin:6px 0 0}
.mp-cab .cab-plist-foot{margin:14px 0 0}
@media (max-width:720px){
  .mp-cab .cab-plist-row{grid-template-columns:1fr 1fr;gap:6px 12px}
}

/* ── Свёрнутые матрицы принятых встреч: архив по кнопке «Показать» ── */
.mp-cab .cab-matrix.cab-fold:not(.is-open) > *:not(.cab-matrix-head){display:none}
.mp-cab .cab-fold .cab-matrix-head{margin-bottom:0}
.mp-cab .cab-fold-btn{align-self:center;white-space:nowrap}

/* ═══ Матрица смыслов В1: мастер, звёзды, карта энергозатрат, фокус ═══ */
.mp-cab .mx-wiz{margin-bottom:14px}
.mp-cab .mx-dots{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}
.mp-cab .mx-dot{
  width:34px;height:34px;border-radius:10px;border:1px solid var(--line);
  background:var(--card);color:var(--ink-2);font:inherit;font-size:13px;font-weight:700;
  cursor:pointer;transition:border-color .15s, transform .15s
}
.mp-cab .mx-dot:hover{border-color:var(--copper);transform:translateY(-1px)}
.mp-cab .mx-dot.done{color:#1B7A50;border-color:rgba(31,138,91,.45)}
.mp-cab .mx-dot.on{background:linear-gradient(120deg,var(--copper-dk),var(--copper));color:#fff;border-color:transparent}
.mp-cab .mx-card{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:20px 22px;box-shadow:0 2px 10px rgba(19,19,24,.06)
}
.mp-cab .mx-eyebrow{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--copper-dk);margin-bottom:10px}
.mp-cab .mx-title{display:block;font-size:16px;color:var(--ink);margin-bottom:6px}
.mp-cab .mx-field{display:block;margin-bottom:14px}
.mp-cab .mx-field b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:6px}
.mp-cab .mx-field textarea{
  width:100%;box-sizing:border-box;padding:11px 13px;font:inherit;font-size:14.5px;
  color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:10px
}
.mp-cab .mx-field textarea:focus{outline:2px solid rgba(184,116,80,.55);outline-offset:1px}
.mp-cab .mx-slider{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;margin:4px 0 14px}
.mp-cab .mx-slider b{grid-column:1/-1;font-size:13.5px;color:var(--ink)}
.mp-cab .mx-slider input[type=range]{width:100%;accent-color:var(--copper)}
.mp-cab .mx-slider output{font-size:19px;font-weight:800;color:var(--ink-2);min-width:58px;text-align:right}
.mp-cab .mx-slider.mid output{color:#B87450}
.mp-cab .mx-slider.hot output{color:#C4402C}
.mp-cab .mx-nav{display:flex;gap:10px;margin-top:6px}
.mp-cab .mx-hint{font-size:12.5px;color:var(--ink-3);margin:10px 0 0}
.mp-cab .mx-warn{font-size:13.5px;color:#8A3B2A;background:rgba(196,64,44,.08);border:1px solid rgba(196,64,44,.25);border-radius:10px;padding:9px 12px;margin:10px 0 0}
.mp-cab .mx-starlist{display:grid;gap:8px;margin-top:10px}
.mp-cab .mx-staritem{
  display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;
  text-align:left;font:inherit;font-size:14px;color:var(--ink);
  background:var(--bg);border:1px solid var(--line);border-radius:10px;
  padding:10px 14px;cursor:pointer;transition:border-color .15s
}
.mp-cab .mx-staritem:hover{border-color:var(--copper)}
.mp-cab .mx-staritem.on{border-color:var(--copper);background:rgba(184,116,80,.08)}
.mp-cab .mx-staritem.deny{border-color:#C4402C}
.mp-cab .mx-star{font-style:normal;font-size:18px;color:var(--copper-dk)}
.mp-cab .mx-staritem em{font-style:normal;color:var(--ink-3);font-variant-numeric:tabular-nums}
.mp-cab .mx-overview{margin-top:6px}
.mp-cab .mx-overview > summary{
  cursor:pointer;font-size:13.5px;font-weight:600;color:var(--ink-2);
  padding:8px 0;list-style:none
}
.mp-cab .mx-overview > summary::before{content:'▸ '}
.mp-cab .mx-overview[open] > summary::before{content:'▾ '}
.mp-cab .mx-insights{margin-top:16px;display:grid;gap:14px}
.mp-cab .mx-chart{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}
.mp-cab .mx-bar{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) auto;gap:10px;align-items:center;padding:5px 0;font-size:13.5px}
.mp-cab .mx-bar-name{color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mp-cab .mx-bar-track{display:block;height:9px;background:var(--bg-2);border-radius:999px;overflow:hidden}
.mp-cab .mx-bar-fill{display:block;height:100%;border-radius:999px;background:#B9AFa2;transition:width .3s}
.mp-cab .mx-bar.mid .mx-bar-fill{background:var(--copper)}
.mp-cab .mx-bar.hot .mx-bar-fill{background:#C4402C}
.mp-cab .mx-bar-val{font-style:normal;color:var(--ink-3);min-width:44px;text-align:right;font-variant-numeric:tabular-nums}
.mp-cab .mx-growth{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--copper);border-radius:14px;padding:16px 18px}
.mp-cab .mx-growth ul{margin:8px 0 0;padding-left:20px}
.mp-cab .mx-growth li{margin-bottom:4px;color:var(--ink)}
.mp-cab .mx-focus{
  background:linear-gradient(120deg,var(--copper-dk),var(--copper));color:#fff;
  border-radius:14px;padding:16px 20px;margin-bottom:20px
}
.mp-cab .mx-focus b{font-size:15px}
.mp-cab .mx-focus ol{margin:8px 0 0;padding-left:22px}
.mp-cab .mx-focus li{margin-bottom:3px}

/* ── Всплывающий пример из методологии в мастере Матрицы смыслов ── */
.mp-cab .mx-sample-btn{
  display:inline-flex;align-items:center;gap:6px;margin:0 0 12px;
  font:inherit;font-size:13px;font-weight:600;color:var(--copper-dk);
  background:rgba(184,116,80,.08);border:1px dashed rgba(184,116,80,.5);
  border-radius:999px;padding:6px 14px;cursor:pointer;transition:background .15s
}
.mp-cab .mx-sample-btn::before{content:'💡'}
.mp-cab .mx-sample-btn:hover,.mp-cab .mx-sample-btn.on{background:rgba(184,116,80,.14)}
.mp-cab .mx-sample{
  background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--copper);
  border-radius:12px;padding:12px 16px;margin:0 0 14px
}
.mp-cab .mx-sample p{margin:0 0 6px;font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.mp-cab .mx-sample p:last-child{margin-bottom:0}
.mp-cab .mx-sample b{color:var(--ink)}

/* ── «Сохранено» и колесо векторов в мастере тетради ── */
.mp-cab .mx-done{border-left:4px solid #1B7A50}
.mp-cab .mx-wheel-box{
  background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:16px 18px;margin-top:14px
}
.mp-cab .mx-wheel-grid{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px 26px;align-items:center}
.mp-cab .mx-wheel{width:220px;max-width:100%;height:auto}
.mp-cab .mx-wheel-seg{fill:#EBE6DD;stroke:var(--card);stroke-width:1;transition:fill .3s}
.mp-cab .mx-wheel-seg.part{fill:rgba(184,116,80,.38)}
.mp-cab .mx-wheel-seg.full{fill:var(--copper)}
.mp-cab .mx-wheel-num{font-size:12px;font-weight:700;fill:var(--ink-3);text-anchor:middle}
.mp-cab .mx-wheel-num.on{fill:#fff}
.mp-cab .mx-wheel-legend{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.mp-cab .mx-wheel-legend li{display:flex;align-items:center;gap:9px;font-size:13.5px;color:var(--ink-2)}
.mp-cab .mx-wheel-legend .dot{width:10px;height:10px;border-radius:3px;background:#EBE6DD;flex-shrink:0}
.mp-cab .mx-wheel-legend li.part .dot{background:rgba(184,116,80,.45)}
.mp-cab .mx-wheel-legend li.full .dot{background:var(--copper)}
.mp-cab .mx-wheel-legend li.full{color:var(--ink)}
.mp-cab .mx-wheel-legend em{font-style:normal;margin-left:auto;color:var(--ink-3);font-size:12px}
.mp-cab .mx-nav .btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
@media (max-width:720px){ .mp-cab .mx-wheel-grid{grid-template-columns:1fr} }

/* Колесо по процентам удовлетворённости */
.mp-cab .mx-wheel-seg.p-low{fill:#D98A72}
.mp-cab .mx-wheel-seg.p-mid{fill:var(--copper)}
.mp-cab .mx-wheel-seg.p-hi{fill:#2E9E6B}
.mp-cab .mx-wheel-legend li.l-low .dot{background:#D98A72}
.mp-cab .mx-wheel-legend li.l-mid .dot{background:var(--copper)}
.mp-cab .mx-wheel-legend li.l-hi .dot{background:#2E9E6B}
.mp-cab .mx-wheel-legend li.l-hi,.mp-cab .mx-wheel-legend li.l-mid{color:var(--ink)}

/* Полный список примеров В1 внутри подсказки */
.mp-cab .mx-sample-item{padding:9px 0;border-bottom:1px dashed var(--line)}
.mp-cab .mx-sample-item:last-child{border-bottom:0}
.mp-cab .mx-sample-num{display:block;font-size:12px;color:var(--copper-dk);margin-bottom:2px}
.mp-cab .mx-sample{max-height:420px;overflow-y:auto}

/* ── Зоны шкал мастера (ТЗ 04.09) ──
   Цвет ведёт и ползунок, и цифру: спокойно → средне → сигнал.
   Шкала «удовлетворённости» зеркальна шкале «напряжения». */
.mp-cab .mx-slider.good input[type=range]{accent-color:#7C8A7F}
.mp-cab .mx-slider.mid  input[type=range]{accent-color:#B87450}
.mp-cab .mx-slider.hot  input[type=range]{accent-color:#C4402C}
.mp-cab .mx-slider.good output{color:#4E6B58}

/* ── Примеры под ваш тип (ТЗ 04.09) ── */
.mp-cab .mx-sample-item.is-mine{
  border-left:3px solid var(--copper);padding-left:13px;
  background:rgba(184,116,80,.07);border-radius:0 8px 8px 0}
.mp-cab .mx-sample-mine{
  display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--copper-dk);margin-bottom:6px}
.mp-cab .mx-sample-use{
  all:unset;display:inline-block;margin-top:8px;cursor:pointer;
  font-size:13px;font-weight:600;color:var(--copper-dk);
  border-bottom:1px dashed rgba(184,116,80,.55);padding-bottom:1px}
.mp-cab .mx-sample-use:hover{color:var(--ink)}
.mp-cab .mx-sample-use:focus-visible{outline:2px solid var(--copper);outline-offset:3px}

/* ── Пустая дата рождения в списке людей ── */
.mp-cab .cab-plist td.is-nodob,
.mp-cab .cab-plist .is-nodob{
  color:var(--copper-dk);font-weight:600;
  background:linear-gradient(90deg,rgba(184,116,80,.14),transparent)}

/* ── Журнал дня в трекере (ТЗ 04.09) ── */
.mp-en .en-journal-card{display:grid;gap:12px}
.mp-en .en-journal-title{font-family:Onest,sans-serif;font-size:17px;font-weight:700;color:var(--ink)}
.mp-en .en-journal-field{display:grid;gap:5px}
.mp-en .en-journal-field b{font-size:13.5px;font-weight:600;color:var(--ink)}
/* Оформление наследуем от .mp-en textarea: там уже верный светлый фон
   кабинета. Свой background не задаём — токен --paper в кабинете тёмный. */
.mp-en .en-journal-field textarea{font-size:14.5px;resize:vertical}

/* ── Выводы платформы под матрицами (ТЗ 04.09) ── */
.mp-cab .mx-verdict{
  border:1px solid var(--line);border-left:3px solid var(--copper);
  border-radius:0 12px 12px 0;padding:16px 20px;margin:0 0 16px;
  background:rgba(184,116,80,.06);display:grid;gap:8px}
.mp-cab .mx-verdict--alarm{border-left-color:#C4402C;background:rgba(196,64,44,.06)}
.mp-cab .mx-verdict > b{font-family:Onest,sans-serif;font-size:16px;color:var(--ink)}
.mp-cab .mx-verdict p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.mp-cab .mx-verdict-lead{font-size:15.5px !important;color:var(--ink) !important}
.mp-cab .mx-verdict-item{padding-top:10px;border-top:1px solid var(--line);display:grid;gap:5px}
.mp-cab .mx-verdict-item b{font-size:14.5px;color:var(--ink)}

/* ── Диагностические вопросы к SWOT (В6) ──
   Вопросы читают подряд, поэтому они набраны крупнее обычной подсказки
   и разделены по типам. Цвет подписи — copper-dk, а не copper: на
   светло-медной плашке verdict светлый медный давал 3,2:1. */
.mp-cab .mx-swotq-grp{display:grid;gap:4px;padding-top:10px;
  border-top:1px solid var(--line)}
.mp-cab .mx-swotq-lead,.mp-cab .mx-swotq-no{
  font-family:"IBM Plex Mono",monospace;font-size:12px;letter-spacing:.02em;
  text-transform:uppercase;color:var(--copper-dk)}
.mp-cab .mx-swotq ul{margin:0;padding-left:18px;display:grid;gap:6px}
.mp-cab .mx-swotq li{font-size:14.5px;line-height:1.55;color:var(--ink)}
.mp-cab .mx-swotq-all{margin-top:4px}
.mp-cab .mx-swotq-all summary{
  cursor:pointer;font-size:14px;color:var(--copper-dk);
  padding:6px 0;min-height:34px;display:flex;align-items:center}
.mp-cab .mx-swotq-all[open] summary{margin-bottom:4px}
.mp-cab .mx-swotq-all li{font-size:14px;color:var(--ink-2)}

/* ── Лингвистический детектив (В2) ──
   Кнопки типов — крупная зона нажатия: тренажёр листают с телефона.
   Выбранная версия отмечается заливкой и рамкой, а не только цветом
   текста: по одному цвету выбор не читается. */
.mp-cab .det-body{display:grid;gap:14px}
.mp-cab .det-say{
  font-family:Onest,sans-serif;font-size:19px;line-height:1.45;color:var(--ink);
  margin:0;padding:16px 20px;border-left:3px solid var(--copper);
  background:var(--bg-2);border-radius:0 12px 12px 0}
.mp-cab .det-ask{margin:0;font-size:14.5px;color:var(--ink-2)}
.mp-cab .det-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}
.mp-cab .det-opt{
  display:flex;align-items:center;gap:9px;min-height:46px;padding:8px 14px;
  border:1.5px solid var(--line);border-radius:12px;background:#fff;
  font:inherit;font-size:14.5px;color:var(--ink);text-align:left;cursor:pointer;
  transition:border-color .15s,background .15s}
.mp-cab .det-opt:hover:not(:disabled){border-color:var(--copper)}
.mp-cab .det-opt-no{
  font-family:"IBM Plex Mono",monospace;font-size:12px;color:var(--ink-3);
  width:22px;height:22px;flex:0 0 22px;display:flex;align-items:center;
  justify-content:center;border:1px solid var(--line);border-radius:7px}
.mp-cab .det-opt.is-on{border-color:var(--copper-dk);background:rgba(184,116,80,.1)}
.mp-cab .det-opt.is-on .det-opt-no{border-color:var(--copper-dk);color:var(--copper-dk)}
.mp-cab .det-opt.is-right{border-color:#2E7D4F;background:rgba(46,125,79,.1)}
.mp-cab .det-opt.is-wrong{border-color:#C4402C;background:rgba(196,64,44,.08)}
.mp-cab .det-opt:disabled{cursor:default;opacity:1}
.mp-cab .det-verdict{
  display:grid;gap:6px;padding:14px 18px;border:1px solid var(--line);
  border-left:3px solid #C4402C;border-radius:0 12px 12px 0;
  background:rgba(196,64,44,.05)}
.mp-cab .det-verdict.is-ok{border-left-color:#2E7D4F;background:rgba(46,125,79,.06)}
.mp-cab .det-verdict b{font-family:Onest,sans-serif;font-size:16px;color:var(--ink)}
.mp-cab .det-verdict p{margin:0;font-size:14.5px;line-height:1.55;color:var(--ink-2)}
.mp-cab .det-check,.mp-cab .det-next{justify-self:start}
/* Пока выбрана одна версия, кнопка не работает — и должна выглядеть так же. */
.mp-cab .det-check:disabled{opacity:.4;cursor:not-allowed}
.mp-cab .det-score{
  margin:0;font-family:"IBM Plex Mono",monospace;font-size:12.5px;color:var(--ink-3)}

/* ── Карта команды: сетка типов ── */
.mp-cab .cab-tmap{
  display:grid;grid-template-columns:auto repeat(9,minmax(0,1fr));
  gap:3px;margin:6px 0 10px;overflow-x:auto}
.mp-cab .cab-tmap-corner{
  font-family:"IBM Plex Mono",monospace;font-size:10.5px;color:var(--ink-3);
  display:flex;align-items:center;justify-content:center;white-space:nowrap;padding:0 6px}
.mp-cab .cab-tmap-h,.mp-cab .cab-tmap-v{
  font-size:12px;font-weight:600;color:var(--ink-3);
  display:flex;align-items:center;justify-content:center;min-height:22px}
.mp-cab .cab-tmap-cell{
  min-height:38px;border:1px solid var(--line);border-radius:7px;
  display:flex;flex-wrap:wrap;gap:3px;align-items:center;justify-content:center;padding:3px}
.mp-cab .cab-tmap-cell.has-people{background:rgba(184,116,80,.09);border-color:rgba(184,116,80,.4)}
.mp-cab .cab-tmap-dot{
  width:24px;height:24px;border-radius:50%;background:var(--copper);color:#fff;
  font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;
  cursor:default}
.mp-cab .cab-tmap-dot.is-flip{background:#C4402C;box-shadow:0 0 0 3px rgba(196,64,44,.22)}
.mp-cab .cab-tmap-legend{font-size:13px;color:var(--ink-3);display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.mp-cab .cab-tmap-legend .cab-tmap-dot{width:19px;height:19px;font-size:11px}

/* ── Глоссарий типов ── */
.mp-cab .ty-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.mp-cab .ty-card{
  border:1px solid var(--line);border-radius:12px;padding:16px 18px;
  background:var(--bg,#fff);display:grid;gap:7px;align-content:start}
.mp-cab .ty-card.is-mine{border-color:var(--copper);box-shadow:0 0 0 2px rgba(184,116,80,.18)}
/* Шапка карточки: свои цвета явно — общий header в кабинете тёмный. */
.mp-cab .ty-head{display:flex;align-items:center;gap:9px;flex-wrap:wrap;
  background:transparent;padding:0;border:0}
.mp-cab .ty-no{
  width:26px;height:26px;border-radius:50%;background:var(--copper);color:#fff;
  font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;flex:none}
.mp-cab .ty-head b{font-family:Onest,sans-serif;font-size:17px;color:var(--ink)}
.mp-cab .ty-mine{
  font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--copper-dk);border:1px solid var(--copper);border-radius:100px;padding:2px 8px}
.mp-cab .ty-card p{margin:0;font-size:14px;line-height:1.5;color:var(--ink-2)}
.mp-cab .ty-card p b{color:var(--ink);font-weight:600}
.mp-cab .ty-weak b{color:#B0503C}
.mp-cab .ty-marker{
  font-style:italic;color:var(--ink-2);border-left:2px solid var(--line);
  padding-left:11px;margin-top:2px !important}
.mp-cab .ty-words{font-size:13px !important;color:var(--ink-3) !important}

/* ── Эталон отрасли в мастере девяти функций ── */
.mp-cab .mx-ref{
  border:1px solid var(--line);border-left:3px solid var(--copper);
  border-radius:0 10px 10px 0;padding:13px 16px;margin:0 0 14px;
  background:rgba(184,116,80,.05);display:grid;gap:6px}
.mp-cab .mx-ref-title{font-family:Onest,sans-serif;font-size:14.5px;color:var(--ink)}
.mp-cab .mx-ref p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.mp-cab .mx-ref p b{color:var(--ink);font-weight:600}
.mp-cab .mx-ref-symptom{color:#A0503E !important}
.mp-cab .mx-ref-symptom b{color:#A0503E !important}

/* ── Индекс эффективности ── */
.mp-cab .mx-kpd-row{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.mp-cab .mx-kpd-num{
  font-family:Onest,sans-serif;font-weight:800;font-size:38px;line-height:1;
  color:var(--copper-dk);font-variant-numeric:tabular-nums}
.mp-cab .mx-kpd-formula{font-size:13.5px;color:var(--ink-3)}

/* ── Памятки по типам клиентов ── */
.mp-cab .mx-playbook{border:1px solid var(--line);border-radius:12px;padding:14px 18px;margin:0 0 16px;background:var(--bg,#fff)}
.mp-cab .mx-playbook > summary{cursor:pointer;font-family:Onest,sans-serif;font-weight:600;font-size:15.5px;color:var(--ink)}
.mp-cab .mx-playbook > summary:hover{color:var(--copper-dk)}
.mp-cab .pb-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(290px,1fr));margin-top:12px}
.mp-cab .pb-card{border:1px solid var(--line);border-radius:11px;padding:14px 16px;display:grid;gap:6px;align-content:start}
.mp-cab .pb-head{display:flex;align-items:center;gap:9px}
.mp-cab .pb-head b{font-family:Onest,sans-serif;font-size:16px;color:var(--ink)}
.mp-cab .pb-card p{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink-2)}
.mp-cab .pb-card p b{color:var(--ink);font-weight:600}
.mp-cab .pb-live{font-style:italic}

/* ── Перенесённое из прошлых встреч ── */
.mp-cab .mx-carry{
  border:1px dashed rgba(184,116,80,.5);border-radius:12px;
  padding:14px 18px;margin:0 0 14px;background:rgba(184,116,80,.04);display:grid;gap:7px}
.mp-cab .mx-carry > b{font-family:Onest,sans-serif;font-size:14.5px;color:var(--ink)}
.mp-cab .mx-carry ul{margin:0;padding-left:20px;display:grid;gap:4px}
.mp-cab .mx-carry li{font-size:14px;line-height:1.5;color:var(--ink)}
.mp-cab .mx-carry .mx-hint{margin:0;font-size:13.5px;color:var(--ink-2)}

/* ── Мягкий ориентир недели (не блокирует сдачу) ── */
.mp-cab .cab-soft-note{
  margin:10px 0 0;padding:9px 13px;border-radius:9px;
  background:rgba(184,116,80,.08);border-left:2px solid rgba(184,116,80,.5);
  font-size:13.5px;line-height:1.5;color:var(--ink-2)}

/* ── Подсказка шага мастера ── */
.mp-cab .mx-step-hint{
  margin:0 0 12px;padding:10px 14px;border-radius:9px;
  background:rgba(184,116,80,.07);border-left:2px solid var(--copper);
  font-size:14px;line-height:1.5;color:var(--ink-2)}
.mp-cab .mx-step-warn{
  background:rgba(196,64,44,.07);border-left-color:#C4402C;color:var(--ink)}

/* ═══════════════════════════════════════════════════════════════
   ЗАМЕР ДНЯ: сетка бегунков.
   Первый замер идёт подробно, по одной сфере на экран. Ежедневный
   должен закрываться за полторы минуты, поэтому все двенадцать
   сфер лежат на одном экране в две колонки.
   ═══════════════════════════════════════════════════════════════ */
.mp-en .en-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 34px;margin-top:6px}
.mp-en .en-row{display:grid;grid-template-columns:minmax(0,1fr) 150px 30px;gap:14px;
  align-items:center;padding:7px 0}
.mp-en .en-row-name{font-size:14px;color:var(--ink);line-height:1.25}
.mp-en .en-row.is-empty .en-row-name{color:var(--ink-3)}
.mp-en .en-row-track{display:block}
.mp-en .en-row-track input[type=range]{width:100%;accent-color:var(--copper-dk);cursor:pointer}
.mp-en .en-row.is-empty .en-row-track input[type=range]{accent-color:var(--line)}
.mp-en .en-row.is-low .en-row-track input[type=range]{accent-color:#B0503C}
.mp-en .en-row-val{font-family:Onest,sans-serif;font-size:16px;font-weight:700;text-align:right;
  font-variant-numeric:tabular-nums;color:var(--ink)}
.mp-en .en-row.is-empty .en-row-val{color:var(--ink-3);font-weight:500}
.mp-en .en-row.is-low .en-row-val{color:#9A3B28}
.mp-en .en-grid-hint{margin:14px 0 0;font-size:13px;color:var(--ink-3);max-width:70ch}
@media(max-width:760px){
  .mp-en .en-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .mp-en .en-row{grid-template-columns:minmax(0,1fr) 120px 28px;gap:10px}
}

/* Карта команды и её разбор стоят рядом: поле слева, наблюдения справа. */
.mp-cab .cab-tmap-wrap{display:grid;grid-template-columns:auto minmax(0,1fr);gap:30px;align-items:start}
.mp-cab .cab-tmap-read{display:grid;gap:10px;align-content:start}
.mp-cab .cab-tmap-read>b{font-family:Onest,sans-serif;font-size:15px}
.mp-cab .cab-ob{border-left:2px solid rgba(184,116,80,.5);padding:2px 0 2px 12px;display:grid;gap:3px}
.mp-cab .cab-ob.is-alarm{border-left-color:rgba(176,80,60,.65)}
.mp-cab .cab-ob.is-ok{border-left-color:rgba(31,138,91,.55)}
.mp-cab .cab-ob>span{font-size:11px;color:var(--copper-dk);font-weight:600}
.mp-cab .cab-ob>b{font-family:Onest,sans-serif;font-size:13px}
.mp-cab .cab-ob p{margin:0;font-size:12.5px;color:var(--ink-2);line-height:1.45}
.mp-cab .cab-miss{display:flex;gap:5px;flex-wrap:wrap;margin:3px 0}
.mp-cab .cab-miss i{font-style:normal;font-size:11px;border:1px dashed var(--line);border-radius:6px;
  padding:3px 8px;color:var(--ink-3);background:var(--bg)}
.mp-cab .cab-miss i.is-hot{border-color:rgba(176,80,60,.5);border-style:solid;color:#7A3325;
  background:rgba(176,80,60,.06)}
@media(max-width:1000px){.mp-cab .cab-tmap-wrap{grid-template-columns:minmax(0,1fr);gap:20px}}

/* Оргструктура «было → стало»: две схемы рядом, левая заморожена. */
.mp-cab .cab-org{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:14px 0 0}
.mp-cab .cab-org-col{border:1px solid var(--line);border-radius:13px;padding:14px 16px;background:var(--bg)}
.mp-cab .cab-org-col.is-now{border-color:var(--copper);background:var(--card)}
.mp-cab .cab-org-col>b{display:block;font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:10px;font-family:Onest,sans-serif}
.mp-cab .cab-org-col.is-now>b{color:var(--copper-dk)}
.mp-cab .cab-org-top{border:1px solid var(--line);border-radius:9px;padding:8px 11px;background:var(--card);
  font-size:13px;font-weight:600;text-align:center;margin-bottom:9px}
.mp-cab .cab-org-node{border-bottom:1px solid var(--line-2, rgba(19,19,24,.07));padding:7px 0;font-size:12.5px;
  color:var(--ink-2);line-height:1.35}
.mp-cab .cab-org-node:last-child{border-bottom:none}
.mp-cab .cab-org-node b{display:block;font-family:Onest,sans-serif;font-size:13px;color:var(--ink)}
.mp-cab .cab-org-node.is-moved b{color:#186B47}
.mp-cab .cab-org-boss{display:block;font-size:11px;color:var(--copper-dk)}
.mp-cab .cab-org-empty{color:var(--ink-3);font-style:italic}
.mp-cab .cab-org-note{margin:11px 0 0;font-size:12.5px;color:var(--ink-2)}
@media(max-width:820px){.mp-cab .cab-org{grid-template-columns:minmax(0,1fr)}}

/* Определитель типа клиента по речи: тип клиента почти никогда не
   известен по дате, поэтому предполагаем его по фразам. */
.mp-cab .cab-detect{border:1px solid var(--copper);border-radius:14px;background:var(--card);
  padding:16px 18px;margin:14px 0}
.mp-cab .cab-detect>b{font-family:Onest,sans-serif;font-size:15px;display:block;margin-bottom:6px}
.mp-cab .cab-detect-q{margin:12px 0 8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.mp-cab .cab-detect-list{display:grid;gap:6px}
.mp-cab .cab-detect-row{display:grid;grid-template-columns:19px minmax(0,1fr);gap:11px;align-items:start;
  border:1px solid var(--line);border-radius:10px;padding:9px 13px;font-size:13px;cursor:pointer;
  background:var(--bg)}
.mp-cab .cab-detect-row:has(input:checked){border-color:var(--copper);background:rgba(184,116,80,.05)}
.mp-cab .cab-detect-row span{font-style:italic;color:var(--ink)}
.mp-cab .cab-detect-out{margin-top:12px;border:1px solid var(--copper);border-radius:12px;
  background:rgba(184,116,80,.07);padding:14px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.mp-cab .cab-detect-num{width:42px;height:42px;border-radius:50%;flex:none;display:grid;place-content:center;
  background:linear-gradient(120deg,var(--copper-dk),var(--copper));color:#fff;
  font-family:Onest,sans-serif;font-size:17px;font-weight:800}
.mp-cab .cab-detect-out b{font-family:Onest,sans-serif;font-size:14.5px;display:block}
.mp-cab .cab-detect-why{font-size:12.5px;color:var(--ink-2)}

/* Итог аудита: колесо девяти функций и нагрузка по людям. */
.mp-cab .cab-wheel{display:grid;grid-template-columns:auto minmax(0,1fr);gap:28px;align-items:center;margin-top:12px}
.mp-cab .cab-wheel-side{display:grid;gap:6px;align-content:start}
.mp-cab .cab-wheel-side>b{font-family:Onest,sans-serif;font-size:14px;margin-bottom:2px}
.mp-cab .cab-wheel-row{display:grid;grid-template-columns:minmax(0,1fr) 120px 26px;gap:11px;align-items:center;
  font-size:12.5px;color:var(--ink-2)}
.mp-cab .cab-wheel-tr{height:8px;border-radius:99px;background:var(--bg-2);overflow:hidden}
.mp-cab .cab-wheel-tr i{display:block;height:100%;border-radius:99px;background:var(--copper-dk)}
.mp-cab .cab-wheel-tr i.is-hot{background:#B0503C}
.mp-cab .cab-wheel-row b{font-family:Onest,sans-serif;font-size:13px;text-align:right;
  font-variant-numeric:tabular-nums}
@media(max-width:820px){.mp-cab .cab-wheel{grid-template-columns:minmax(0,1fr);gap:16px;justify-items:center}}

/* Итог диагностики: плитки с числами по всем инструментам недели. */
.mp-cab .cab-final-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;
  margin:14px 0}
.mp-cab .cab-final-tile{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--bg)}
.mp-cab .cab-final-tile b{display:block;font-family:Onest,sans-serif;font-size:25px;font-weight:800;
  line-height:1.1;font-variant-numeric:tabular-nums}
.mp-cab .cab-final-tile span{display:block;font-size:12px;color:var(--ink-3);margin-top:4px}
.mp-cab .cab-final-tile.is-alarm b{color:#9A3B28}
.mp-cab .cab-final-tile.is-ok b{color:#186B47}

/* ═══════════════════════════════════════════════════════════════
   ПРЕЗЕНТАЦИЯ ЗАЩИТЫ.
   Слайды лежат на подложке как распечатки на столе. Открытие
   и финал тёмные — их видят первыми и последними с проектора,
   рабочие светлые: их читают вблизи и передают в команду.
   ═══════════════════════════════════════════════════════════════ */
.mp-cab .cab-deck{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;
  background:var(--bg-2);border-radius:16px;padding:18px;margin-top:16px}
.mp-cab .cab-slide{aspect-ratio:16/9;background:#FAF7F3;border:1px solid var(--line);border-radius:10px;
  padding:22px 24px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;
  box-shadow:0 1px 2px rgba(43,43,47,.06),0 6px 16px rgba(43,43,47,.07)}
.mp-cab .cab-slide.is-wide{grid-column:1 / -1;aspect-ratio:auto;min-height:250px}
.mp-cab .cab-slide.is-dark{background:#2B2B2F;border-color:#2B2B2F;color:#F0F0F1}
.mp-cab .cab-slide-head{padding-bottom:12px;border-bottom:1px solid var(--line)}
.mp-cab .cab-slide.is-dark .cab-slide-head{border-bottom-color:rgba(255,255,255,.16)}
.mp-cab .cab-slide-head span{font-size:9.5px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--ink-3);font-weight:700}
.mp-cab .cab-slide.is-dark .cab-slide-head span{color:#9C9CA3}
.mp-cab .cab-slide-head h3{font-family:Onest,sans-serif;font-size:20px;margin:5px 0 0}
.mp-cab .cab-slide.is-dark .cab-slide-head h3{color:#fff}
.mp-cab .cab-slide-body{display:grid;gap:10px;align-content:center;min-height:0;padding:14px 0}
.mp-cab .cab-slide-body p{margin:0;font-size:13px;color:var(--ink-2);line-height:1.5}
.mp-cab .cab-slide.is-dark .cab-slide-body p{color:#C6C6C9}
.mp-cab .cab-slide-src{font-size:11px;color:var(--ink-3);border-top:1px solid var(--line);padding-top:10px}
.mp-cab .cab-slide.is-dark .cab-slide-src{color:#A6A6AE;border-top-color:rgba(255,255,255,.12)}

.mp-cab .cab-slide-bars>div{display:grid;grid-template-columns:minmax(0,1fr) 130px 44px;gap:11px;
  align-items:center;font-size:12px;color:var(--ink-2);padding:3px 0}
.mp-cab .cab-slide-bars .tr{height:8px;border-radius:99px;background:var(--bg-2);overflow:hidden}
.mp-cab .cab-slide-bars .tr i{display:block;height:100%;border-radius:99px;background:var(--copper-dk)}
.mp-cab .cab-slide-bars b{font-family:Onest,sans-serif;font-size:12.5px;text-align:right;
  font-variant-numeric:tabular-nums}
.mp-cab .cab-slide-types{display:flex;gap:20px;flex-wrap:wrap;font-size:13px}
.mp-cab .cab-slide-types b{font-family:Onest,sans-serif;font-size:19px;margin-right:5px}
.mp-cab .cab-slide-kv{display:flex;gap:24px;flex-wrap:wrap}
.mp-cab .cab-slide-kv b{display:block;font-family:Onest,sans-serif;font-size:24px;font-weight:800;line-height:1.1}
.mp-cab .cab-slide-kv span{font-size:10.5px;color:var(--ink-3)}
.mp-cab .cab-slide.is-dark .cab-slide-kv b{color:#fff}
.mp-cab .cab-slide.is-dark .cab-slide-kv span{color:#9C9CA3}
.mp-cab .cab-slide-rows>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;
  font-size:11.5px;color:var(--ink-2);padding:5px 0;border-bottom:1px solid rgba(19,19,24,.07)}
.mp-cab .cab-slide-rows>div:last-child{border-bottom:none}
.mp-cab .cab-slide-rows .is-head{font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3);font-weight:600}
.mp-cab .cab-slide-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.mp-cab .cab-slide-two>div{border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--card)}
.mp-cab .cab-slide-two b{display:block;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink-3);margin-bottom:5px}
.mp-cab .cab-slide-two span{display:block;font-size:11px;color:var(--ink-2);line-height:1.35}
.mp-cab .cab-slide-fn{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px;max-width:330px}
.mp-cab .cab-slide-fn i{aspect-ratio:1;border-radius:5px;display:grid;place-content:center;font-style:normal;
  font-family:Onest,sans-serif;font-size:11px;font-weight:700;background:var(--card);color:var(--ink-3);
  border:1px dashed var(--line)}
.mp-cab .cab-slide-fn i.is-on{background:var(--copper-dk);color:#fff;border-style:solid;border-color:var(--copper-dk)}
.mp-cab .cab-slide-swot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.mp-cab .cab-slide-swot>div{border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--card)}
.mp-cab .cab-slide-swot b{display:block;font-family:Onest,sans-serif;font-size:11.5px;margin-bottom:4px}
.mp-cab .cab-slide-swot span{display:block;font-size:10px;color:var(--ink-2);line-height:1.3;margin-bottom:3px}
.mp-cab .cab-slide-swot i{display:block;font-style:normal;font-size:8.5px;letter-spacing:.06em;
  text-transform:uppercase;color:var(--ink-3);font-weight:600}
.mp-cab .cab-slide-road{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mp-cab .cab-slide-road>div{border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:var(--card)}
.mp-cab .cab-slide-road b{display:block;font-family:Onest,sans-serif;font-size:12px;margin-bottom:3px}
.mp-cab .cab-slide-road span{display:block;font-size:10.5px;color:var(--ink-2);line-height:1.35}
.mp-cab .cab-slide-road .who{color:var(--copper-dk);margin-top:3px}
.mp-cab .cab-deck-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-top:16px}
@media(max-width:820px){.mp-cab .cab-deck{grid-template-columns:minmax(0,1fr)}}
@media print{
  .mp-cab .cab-deck{background:none;padding:0;gap:0}
  .mp-cab .cab-slide{page-break-after:always;box-shadow:none;aspect-ratio:auto;min-height:16cm}
}


/* ═══════════════════════════════════════════════════════════════
   ТЕЛЕФОН. До этой правки самый узкий брейкпоинт был 720px, и на
   экране 375px шапка рассыпалась: логотип уезжал за левый край,
   ссылки меню ложились в три строки, кнопки налезали друг на друга.
   Отдельного мобильного меню в разметке нет, поэтому строим его
   раскладкой: бренд и кнопки в первой строке, ссылки — во второй,
   прокручиваемой вбок. Кегль не уменьшаем ниже 14px.
   ═══════════════════════════════════════════════════════════════ */

/* Декоративный холст сферы шире экрана и торчал за края, добавляя
   горизонтальную прокрутку всей странице. clip, а не hidden: не
   ломает position:fixed у плавающего меню кабинета. */
html{overflow-x:clip}

.navtoggle{display:none}

@media (max-width:720px){
  header .wrap.nav{
    display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;
    /* Боковые отступы задаём явно: правило .nav из main.css перебивает
       padding контейнера .wrap и обнуляет их — на телефоне логотип
       и кнопки упирались в самый край экрана. */
    padding:10px 18px
  }
  header .wrap.nav > .brand{flex:0 1 auto;min-width:0;margin-right:auto}
  header .wrap.nav > div{flex:0 0 auto}

  /* Кнопка меню вместо строки ссылок: раньше ссылки уезжали за правый
     край и «Экспертный разбор» с «Что мы предлагаем» нельзя было нажать. */
  .navtoggle{
    display:inline-flex;align-items:center;gap:9px;order:2;
    min-height:44px;padding:8px 13px;
    background:transparent;border:1px solid rgba(255,255,255,.22);
    border-radius:12px;color:inherit;font:inherit;font-size:14px;
    font-weight:600;cursor:pointer
  }
  .navtoggle-bars{display:grid;gap:3.5px;width:17px}
  .navtoggle-bars i{display:block;height:2px;border-radius:2px;background:currentColor}
  .navtoggle[aria-expanded="true"]{border-color:var(--amber,#F0A85C)}

  header .navlinks{
    order:4;flex:1 0 100%;width:100%;
    display:none;flex-direction:column;gap:0;
    padding-top:6px;font-size:16px
  }
  body.nav-open header .navlinks{display:flex}
  header .navlinks a{
    display:flex;align-items:center;min-height:48px;
    padding:2px 2px;border-top:1px solid rgba(255,255,255,.10)
  }

  header .btn{padding:10px 14px;font-size:14px;white-space:nowrap;min-height:44px}

  /* Подпись под логотипом на узком экране съедает всю строку. */
  .rn8-tag{display:none}
  .rn8-name{font-size:26px}

  /* Якорные переходы приводили под шапку — контент оказывался
     перекрыт. Отступ равен её высоте. */
  section[id]{scroll-margin-top:84px}

  /* Шар на телефоне остаётся: скрипт уменьшает его под ширину экрана,
     а подписи типов при малом размере не рисуются — именно они и
     ложились поверх заголовка, а не сам шар. */

  /* iPhone приближает страницу, если поле мельче 16px. */
  input,select,textarea{font-size:16px}

  /* Пальцем нужно попадать: минимальная зона 44px. */
  .rn8v2 .car-dots button,.rn8v2 .car-dots i{min-width:16px;min-height:16px}
  .rn8v2 .car-dots{gap:12px;padding:10px 0}
  .rn8v2 .reset,.rn8v2 .more,.rn8v2 a.small,footer a{
    display:inline-flex;align-items:center;min-height:44px
  }

  /* Кнопки в столбик — одной ширины, иначе колонка выглядит рваной. */
  .rn8v2 .hero .btn,.rn8v2 .cta .btn,.rn8v2 .tools-next .btn{
    width:100%;justify-content:center
  }
}

/* Карусель вопросов в заголовке героя.
   Раньше движение на телефоне отключали целиком: варианты лежат в одной
   ячейке сетки, на узкой колонке они разной высоты и наплывали друг на
   друга полупрозрачными хвостами. Но без движения смена вопроса читается
   как сбой — текст просто моргает.
   Причина каши была не в движении, а в том, что ушедший вариант оставался
   в потоке полупрозрачным. Гасим его полностью (visibility), и слова
   активного вопроса въезжают так же, как на большом экране. */
@media (max-width:720px){
  .rn8v2 .rot > span{
    opacity:0;visibility:hidden;
    transition:opacity .22s linear,visibility 0s linear .22s
  }
  .rn8v2 .rot > span.on{
    opacity:1;visibility:visible;
    transition:opacity .34s linear,visibility 0s
  }
  /* Слова НЕ выезжают из масок. Маска высотой в строку рассчитана на
     крупный шрифт большого экрана; на телефоне, где строка ниже, слово
     в движении оказывалось срезанным — от букв оставались верхушки.
     Поэтому здесь вариант проявляется целиком, а слова стоят на месте:
     движение есть, обрезки нет. */
  .rn8v2 .rot .m{overflow:visible}
  .rn8v2 .rot i{
    transform:none !important;
    transition:opacity .34s linear
  }
  .rn8v2 .rot > span.on i{opacity:.92}
  .rn8v2 .rot > span:not(.on) i{opacity:0;transition:none}
}

@media (max-width:420px){
  /* Совсем узкий экран: кнопки уходят под бренд, чтобы ничего не жалось. */
  header .wrap.nav > div{margin-left:0;flex:1 0 100%;justify-content:flex-start}
}


/* Таблица отчёта — десять колонок. На телефоне она вылезала за экран
   и тянула за собой всю страницу. Обёртки в разметке нет, поэтому
   прокрутку даём самой таблице. */
@media (max-width:720px){
  .mp-cab .cab-report-table{
    display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
    white-space:nowrap
  }
  .mp-cab .cab-report-table td,
  .mp-cab .cab-report-table th{white-space:normal;min-width:120px}
  .mp-cab .cab-report-table td:first-child,
  .mp-cab .cab-report-table th:first-child{min-width:44px}
}


/* Контейнер кнопок шапки: раскладка была инлайновым стилем в разметке,
   а его нельзя перебить из CSS — на телефоне кнопки не убирались
   в меню. Теперь это класс. */
header .nav-cta{display:flex;gap:10px;align-items:center}

/* ═══════════════════════════════════════════════════════════════
   ТЕЛЕФОН — ФИНАЛЬНЫЙ БЛОК. Держим его последним в файле осознанно:
   ниже по коду есть более поздние десктопные правила без медиазапроса
   (увеличенные карточки карусели, высота сцены), и мобильные правки,
   стоявшие раньше, ими перебивались.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:760px){

  /* ── Шапка одной строкой ──
     У .nav была жёсткая высота 88px: кнопка «Меню» переносилась на
     вторую строку и вываливалась за фон шапки — висела поверх
     контента, а на светлых страницах белым по белому. */
  header .nav{height:auto}
  header .wrap.nav{
    display:flex;flex-wrap:wrap;align-items:center;
    gap:10px 12px;padding:10px 18px
  }
  header .wrap.nav > .brand{flex:0 1 auto;min-width:0;margin-right:auto}
  .navtoggle{order:2;margin-left:auto}

  /* Кнопки «Мой кабинет» / «Выйти» / «Подать заявку» переезжают
     внутрь раскрытого меню — иначе шапка съедает пятую часть экрана. */
  header .nav-cta{
    order:5;flex:1 0 100%;display:none;gap:10px;flex-wrap:wrap
  }
  body.nav-open header .nav-cta{display:flex}
  body.nav-open header .nav-cta .btn{flex:1 1 auto;justify-content:center}

  /* Панель меню — с фоном. Без него пункты рисовались прозрачными
     поверх текста первого экрана и были нечитаемы. */
  body.nav-open header .wrap.nav{
    background:rgba(10,9,8,.98);
    box-shadow:0 18px 40px -18px rgba(0,0,0,.8)
  }
  header .navlinks{
    order:4;flex:1 0 100%;width:100%;
    display:none;flex-direction:column;gap:0;
    padding-top:4px;font-size:16px
  }
  body.nav-open header .navlinks{display:flex}
  header .navlinks a{
    display:flex;align-items:center;min-height:48px;
    border-top:1px solid rgba(255,255,255,.10)
  }

  /* ── Карусель инструментов ──
     Сцена оставалась овальной (радиус 999px) и высотой 160px, а
     карточки сохраняли десктопные отрицательные поля: наезжали друг
     на друга и обрезались. */
  .rn8v2 .car{height:auto;min-height:0}
  /* Класс повторён намеренно: общий унификатор
     «.mp-v2 section :is(button,.btn,…)» задаёт радиус 999px и по
     специфичности перебивает одиночный класс — сцена оставалась
     овальной и обрезала карточки. */
  .rn8v2 .car-stage.car-stage{
    position:static;display:flex;gap:12px;overflow-x:auto;
    height:auto;border-radius:0;inset:auto;
    scroll-snap-type:x mandatory;padding:4px 2px 14px;
    scrollbar-width:none
  }
  .rn8v2 .tcard.tcard{border-radius:19px}
  .rn8v2 .car-stage::-webkit-scrollbar{display:none}
  .rn8v2 .tcard{
    position:static;margin:0;inset:auto;
    flex:0 0 min(268px,82vw);width:auto;min-height:0;
    scroll-snap-align:center;transform:none;opacity:1
  }
  .rn8v2 .car-num{display:none}
  .rn8v2 .car-ctrl{margin-top:6px}
  .rn8v2 .car-ctrl .arr{display:none}

  /* Шар закреплён в окне и места в потоке не занимает, поэтому пустых
     блоков под него держать не нужно. */
  .rn8v2 .hero-orb,.rn8v2 .orb-wrap,.rn8v2 .hero-visual{min-height:0;height:auto}

  /* iPhone приближает страницу, если поле мельче 16px. */
  input,select,textarea,.rn8v2 input,.rn8v2 select,.rn8v2 textarea{font-size:16px}
}


/* Шар — fixed-холст со смешением «экран» и z-index 25: он плывёт НАД
   содержимым. На широком экране длинные варианты вопроса заходили
   под него, и линии с подписями узлов ложились прямо на буквы.
   Композицию не трогаем — поднимаем текст героя выше холста. */
.rn8v2 .hero .wrap,
.rn8v2 .hero .hero-grid,
.rn8v2 .hero h1,
.rn8v2 .hero .eyebrow,
.rn8v2 .hero .hero-side,
.rn8v2 .hero .actions,
.rn8v2 .hero .hero-strip{position:relative;z-index:26}


/* ═══════════════════════════════════════════════════════════════
   ОТДЕЛЬНЫЕ ЭКРАНЫ КАБИНЕТА НА СВЕТЛОМ ЛИСТЕ.
   «Сотрудники», «Мой бизнес», «Мой профиль», Team DNA, анкеты и
   диагностика свёрстаны под светлый фон, но живут на тёмном body
   сайта и не обёрнуты в .mp-cab. Результат: подписи полей тёмно-синим
   по чёрному (контраст 1,8), значения в полях белым по белому (1,0),
   имена сотрудников не видны вовсе. Выдаём этим экранам ту же
   светлую палитру, что у кабинета, и явные цвета для полей.
   ═══════════════════════════════════════════════════════════════ */
.mmp-emp,.mmp-empty,.mmp-company,.mmp-op,.mmp-dna,.mmp-is,.mmp-nudge,.mmp-mri{
  --bg:#F7F5F2; --bg-2:#EFECE6; --card:#FFFFFF;
  --ink:#131318; --ink-2:#585863; --ink-3:#63636E;
  --line:rgba(19,19,24,.12);
  --copper:#B87450; --copper-dk:#8A5A32;
  --blue:#8A5A32; --blue2:#6E4224;
  --muted:#5C6B80;
  background:var(--bg);color:var(--ink);
  padding:clamp(22px,3vw,40px) clamp(16px,3vw,32px);
  border-radius:18px;margin:clamp(18px,3vw,34px) 0
}
.mmp-emp h1,.mmp-empty h1,.mmp-company h1,.mmp-op h1,.mmp-dna h1,.mmp-is h1,.mmp-nudge h1,.mmp-mri h1,
.mmp-emp h2,.mmp-empty h2,.mmp-company h2,.mmp-op h2,.mmp-dna h2,.mmp-is h2,.mmp-nudge h2,.mmp-mri h2,
.mmp-emp h3,.mmp-empty h3,.mmp-company h3,.mmp-op h3,.mmp-dna h3,.mmp-is h3,.mmp-nudge h3,.mmp-mri h3,
.mmp-emp h4,.mmp-company h4,.mmp-op h4,.mmp-dna h4,.mmp-mri h4,
.mmp-emp b,.mmp-company b,.mmp-op b,.mmp-dna b,.mmp-mri b,
.mmp-emp strong,.mmp-company strong,.mmp-op strong,.mmp-dna strong,.mmp-mri strong{color:var(--ink)}
.mmp-emp p,.mmp-empty p,.mmp-company p,.mmp-op p,.mmp-dna p,.mmp-is p,.mmp-nudge p,.mmp-mri p,
.mmp-emp label,.mmp-company label,.mmp-op label,.mmp-dna label,.mmp-is label,.mmp-nudge label,.mmp-mri label,
.mmp-emp li,.mmp-company li,.mmp-op li,.mmp-dna li,.mmp-is li,.mmp-nudge li,.mmp-mri li,
.mmp-emp td,.mmp-company td,.mmp-op td,.mmp-dna td,.mmp-mri td,
.mmp-emp th,.mmp-company th,.mmp-op th,.mmp-dna th,.mmp-mri th,
.mmp-emp span,.mmp-company span,.mmp-op span,.mmp-dna span,.mmp-mri span,
.mmp-emp small,.mmp-company small,.mmp-op small,.mmp-dna small,.mmp-mri small{color:var(--ink-2)}
.mmp-emp input,.mmp-emp select,.mmp-emp textarea,
.mmp-company input,.mmp-company select,.mmp-company textarea,
.mmp-op input,.mmp-op select,.mmp-op textarea,
.mmp-dna input,.mmp-dna select,.mmp-dna textarea,
.mmp-is input,.mmp-is select,.mmp-is textarea,
.mmp-nudge input,.mmp-nudge select,.mmp-nudge textarea,
.mmp-mri input,.mmp-mri select,.mmp-mri textarea{
  color:var(--ink);background:var(--card);
  border:1px solid var(--line);border-radius:10px
}
.mmp-emp input::placeholder,.mmp-company input::placeholder,.mmp-op input::placeholder,
.mmp-emp textarea::placeholder,.mmp-company textarea::placeholder,.mmp-op textarea::placeholder{color:var(--ink-3)}
.mmp-emp a,.mmp-company a,.mmp-op a,.mmp-dna a,.mmp-is a,.mmp-nudge a,.mmp-mri a{color:var(--copper-dk)}
/* Плитки ТМ/ТД в профиле: светлая подложка требует тёмного текста. */
.mmp-op .mmp-code-card,.mmp-op .mmp-code-card *{color:var(--ink)}
.mmp-op .mmp-code-card .sub,.mmp-op .mmp-code-card small{color:var(--ink-2)}


/* Экран «страницы нет»: короткий, с выходами. */
.rn8v2 .mp-404{padding:clamp(120px,14vh,190px) 0 clamp(80px,10vh,140px);max-width:60ch}
.rn8v2 .mp-404 h1{font-size:clamp(30px,4vw,52px);margin:10px 0 14px}
.rn8v2 .mp-404-links{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}


/* ═══════════════════════════════════════════════════════════════
   КАБИНЕТ НА ТЕЛЕФОНЕ. По аудиту 06.09: панель вкладок занимала до
   40% экрана, таблицы отчёта обрезались наглухо, первая строка
   уходила под шапку.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:760px){

  /* Навигация — одной прокручиваемой строкой вместо пяти рядов
     кнопок во всю ширину. Это же убирает список на 700px в начале
     страниц встреч. */
  .mp-cab .cab-nav{
    display:flex;flex-wrap:nowrap;gap:8px;
    overflow-x:auto;scrollbar-width:none;
    padding:10px 0 12px;margin-bottom:4px
  }
  .mp-cab .cab-nav::-webkit-scrollbar{display:none}
  .mp-cab .cab-nav-group{
    display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px
  }
  .mp-cab .cab-nav-label{display:none}
  .mp-cab .cab-nav a,
  .mp-cab .cab-nav button{
    width:auto;white-space:nowrap;
    padding:10px 14px;font-size:14px;border-radius:11px;min-height:44px
  }
  .mp-cab .cab-nav-float .cab-nav{flex-wrap:nowrap;overflow-x:auto}

  /* Первая строка («( КАБИНЕТ УЧАСТНИКА · ЭТАП… )») пряталась под
     фиксированной шапкой. */
  .mp-cab .wrap > section:first-child,
  .mp-cab .cab-hero{padding-top:26px}

  /* Таблицы отчёта: у блока стояло overflow:hidden, и столбцы
     «Раздражение», «Что именно» было не достать никак. */
  .mp-cab .cab-report-block{overflow:visible}
  .mp-cab .cab-report-block > .cab-report-table,
  .mp-cab .cab-report-block table{
    display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;
    max-width:100%
  }

  /* RN Energy: длинная подпись сферы наезжала на ползунок. */
  .mp-cab .en-grid-row,.mp-en .en-grid-row{
    display:grid;grid-template-columns:1fr;gap:6px;align-items:start
  }
  .mp-cab .en-grid-row input[type=range],
  .mp-en .en-grid-row input[type=range]{width:100%}

  /* Любая таблица кабинета шире экрана — со своей прокруткой. */
  .mp-cab table,.mp-en table{max-width:100%;display:block;overflow-x:auto}

  /* Мелкие подписи: на телефоне ниже 12px нечитаемо. */
  .mp-cab .cab-state,.mp-cab .cab-slide-src,.mp-cab .cab-slide-no,
  .mp-cab .cab-org-top,.mp-cab .cab-tag,.mp-cab .mx-hint small{font-size:12px}

  /* Тап-цели ссылок-переходов. */
  .mp-cab a.cab-link,.mp-cab .mmp-card a{min-height:44px;display:inline-flex;align-items:center}

  /* Слайды защиты — в одну колонку: три и две колонки на 390px
     ломались переносами по слогам. */
  .mp-cab .cab-slide-two,.mp-cab .cab-slide-cols,.mp-cab .cab-slide-team{
    grid-template-columns:1fr
  }
}


/* Вторичная кнопка на СВЕТЛОЙ карточке.
   Её стиль рассчитан на тёмный фон: белый текст на заливке
   rgba(255,255,255,.06). В белых карточках тарифов такая кнопка была
   не видна вовсе — проявлялась только при наведении, и человек не
   понимал, что у Basic и VIP вообще есть кнопка. */
.rn8v2 .price .btn.secondary,
.rn8v2 .fmt-card .btn.secondary,
.rn8v2 .mmp-card .btn.secondary{
  color:var(--copper-dk,#8A5A32);
  background:#fff;
  border:1.5px solid rgba(138,90,50,.45);
  font-weight:700
}
.rn8v2 .price .btn.secondary:hover,
.rn8v2 .fmt-card .btn.secondary:hover,
.rn8v2 .mmp-card .btn.secondary:hover{
  background:rgba(138,90,50,.08);
  border-color:rgba(138,90,50,.75)
}
/* Кнопки тарифов — одной ширины: три карточки читаются как один ряд. */
.rn8v2 .price .btn{width:100%;justify-content:center;margin-top:auto}

/* Основная кнопка тарифа: тёмный текст на медной заливке давал 3,07 —
   ниже нормы. Белый на той же заливке даёт 5,85. */
.rn8v2 .price .btn:not(.secondary){color:#fff}


/* ═══ Косметика по аудиту 06.09 ═══ */

/* Поля «Моего бизнеса»: textarea наследовала моноширинный шрифт от
   служебных подписей, остальные поля были обычным — вид разъезжался. */
.mmp-company textarea,.mmp-company input,.mmp-company select,
.mmp-emp textarea,.mmp-emp input,.mmp-emp select{
  font-family:Inter,"Segoe UI",system-ui,sans-serif;font-size:15px
}

/* Подсказка про выбор сегмента висела между блоками мелким серым
   и читалась как потерянная строка — возвращаем её в карточку. */
.mp-cab .mx-hint{
  margin:10px 0 0;padding:10px 14px;
  background:var(--bg-2);border-radius:10px;
  font-size:13px;color:var(--ink-2);max-width:none
}

/* Кнопка «Открыть неделю» стояла вплотную к ряду чипов. */
.mp-cab .cab-week-open,.mp-cab .cab-route .btn{margin-top:16px}

/* Счётчик в углу ячейки Team DNA наезжал на карточку сотрудника. */
.mp-cab .cab-dna-cell{position:relative;padding-top:22px}
.mp-cab .cab-dna-count{position:absolute;top:6px;right:8px;z-index:2}

/* Широкие карты и таблицы: край подсказывает, что можно листать. */
.mp-cab .cab-scroll-x,.mp-cab .cab-map-wrap,.mp-cab [style*="overflow-x:auto"]{
  background:
    linear-gradient(to right,var(--card) 30%,rgba(255,255,255,0)),
    linear-gradient(to right,rgba(255,255,255,0),var(--card) 70%) 100% 0,
    radial-gradient(farthest-side at 0 50%,rgba(19,19,24,.14),transparent),
    radial-gradient(farthest-side at 100% 50%,rgba(19,19,24,.14),transparent) 100% 0;
  background-repeat:no-repeat;background-size:40px 100%,40px 100%,14px 100%,14px 100%;
  background-attachment:local,local,scroll,scroll
}

/* Плавающая панель проступала сквозь заголовок во время перехода. */
.mp-cab .cab-nav-float{transition:opacity .1s linear, transform .1s linear}

/* Карточка RN Energy в кабинете занимала треть ширины, справа пусто. */
.mp-cab .cab-energy-card,.mp-cab #cab-energy .cab-en-compact{width:100%;max-width:none}

@media (max-width:760px){
  /* Форма «Моего бизнеса» не растягивалась: поля 221px при экране 390. */
  .mmp-company,.mmp-emp,.mmp-op{max-width:none;width:100%}
  .mmp-company form,.mmp-emp form,.mmp-op form{width:100%}
  .mmp-company input,.mmp-company select,.mmp-company textarea,
  .mmp-emp input,.mmp-emp select,.mmp-emp textarea,
  .mmp-op input,.mmp-op select,.mmp-op textarea{width:100%;max-width:none}
  .mmp-company .mmp-row,.mmp-emp .mmp-row{grid-template-columns:1fr}

  /* Подсказка под Team Map выходила за левый край карточки. */
  .mp-cab .mx-hint,.mp-cab .cab-hint{margin-left:0;margin-right:0}
}


/* ═══════════════════════════════════════════════════════════════
   ПЕЧАТЬ ПРЕЗЕНТАЦИИ ЗАЩИТЫ.
   Решение PO 07.09: колода отдаётся в PDF и обязана выглядеть ровно
   как в кабинете. Поэтому при печати убираем всё, что к колоде не
   относится, и кладём каждый слайд на свою страницу-альбом.
   ═══════════════════════════════════════════════════════════════ */
@page{size:A4 landscape;margin:0}

@media print{
  html,body{background:#fff}
  /* Всё, кроме колоды, из печати уходит. */
  /* Только шапка и подвал САЙТА: внутри слайдов есть свои header
     и footer, и общий селектор снёс бы заголовки слайдов. */
  body.cab-print-deck > header,
  body.cab-print-deck > footer,
  body.cab-print-deck .cab-nav,
  body.cab-print-deck .cab-nav-float,
  body.cab-print-deck .cab-tabs,
  body.cab-print-deck .cab-hero,
  body.cab-print-deck .cab-deck-actions,
  body.cab-print-deck .cab-pane:not(#cab-slides),
  body.cab-print-deck .cab-deck-intro,
  body.cab-print-deck .cab-deck-head{display:none !important}

  body.cab-print-deck .mp-cab,
  body.cab-print-deck .mp-cab .wrap,
  body.cab-print-deck #cab-slides{margin:0;padding:0;max-width:none;background:#fff}

  .mp-cab .cab-deck{display:block;background:none;padding:0;gap:0}
  .mp-cab .cab-slide{
    box-sizing:border-box;
    width:100%;min-height:19cm;height:19cm;
    margin:0;border:0;border-radius:0;box-shadow:none;
    padding:1.6cm 1.8cm;
    page-break-after:always;break-after:page;
    /* Контента на слайде немного — на альбомном листе он смотрится
       лучше по центру, а не прижатым к верхнему краю. */
    display:flex;flex-direction:column;justify-content:center;
    -webkit-print-color-adjust:exact;print-color-adjust:exact
  }
  .mp-cab .cab-slide:last-child{page-break-after:auto;break-after:auto}
  /* Тёмный первый слайд печатается тёмным — так утверждено. */
  .mp-cab .cab-slide.is-dark{background:#2B2B2F !important;color:#F0F0F1 !important}
  .mp-cab .cab-slide.is-dark *{color:inherit}
  /* Ничего не режем пополам между страницами. */
  .mp-cab .cab-slide *{break-inside:avoid}
}


/* ═══ По аудиту 07.09 ═══ */

/* Форма отклика показывалась даже с атрибутом hidden: правило
   .mp-meeting .mtg-fb-form{display:grid} его перебивало. Участник с
   принятым откликом видел рядом «✓ Отклик оставлен» и пустую форму
   с требованием заполнить. Такая же защита уже стояла для .mp-pre. */
.mp-meeting [hidden]{display:none !important}
.mp-cab [hidden]{display:none !important}

/* Кнопка тарифа Premium: белый текст задавался селектором той же
   специфичности, что и правило темы, и не всегда выигрывал. Тёмный
   текст на медном давал 2,98 при норме 4,5. */
.rn8v2 .price .btn:not(.secondary),
.rn8v2 .price a.btn:not(.secondary),
.rn8v2 #pricing .price .btn:not(.secondary){color:#fff !important}

/* Плавающая копия навигации на телефоне складывала кнопки столбиком
   и занимала 222px — четверть экрана. Делаем её такой же строкой,
   как основная панель, и сажаем вплотную под шапку (было top:88px
   при высоте мобильной шапки 65px — сквозь зазор просвечивал текст). */
@media (max-width:760px){
  .mp-cab .cab-nav-float{top:65px}
  .mp-cab .cab-nav-float .cab-nav{
    display:flex;flex-wrap:nowrap;overflow-x:auto;gap:8px;
    scrollbar-width:none;padding:8px 0
  }
  .mp-cab .cab-nav-float .cab-nav::-webkit-scrollbar{display:none}
  .mp-cab .cab-nav-float .cab-nav-group{
    display:flex;flex-direction:row;flex-wrap:nowrap;gap:8px
  }
  .mp-cab .cab-nav-float .cab-nav a,
  .mp-cab .cab-nav-float .cab-nav button{white-space:nowrap;min-height:40px}
}


/* «Замера пока нет» вместо чёрточки в карточке RN Energy. */
.mp-cab .cab-energy-empty{font-size:15px;color:var(--ink-2);font-weight:600}

/* Кнопка «Изменить» под откликом: была ссылкой с href="#", теперь
   button — стилизуем как ссылку и даём нормальную зону нажатия. */
.mp-meeting .mtg-fb-edit{
  background:none;border:0;padding:6px 2px;font:inherit;
  color:var(--copper-dk);text-decoration:underline;cursor:pointer;
  min-height:44px;display:inline-flex;align-items:center
}

/* Карта системы на телефоне: край подсказывает, что её листают вбок. */
.mmp-map-wrap{
  background:
    linear-gradient(to right,var(--card,#fff) 30%,rgba(255,255,255,0)),
    linear-gradient(to right,rgba(255,255,255,0),var(--card,#fff) 70%) 100% 0,
    radial-gradient(farthest-side at 0 50%,rgba(19,19,24,.16),transparent),
    radial-gradient(farthest-side at 100% 50%,rgba(19,19,24,.16),transparent) 100% 0;
  background-repeat:no-repeat;
  background-size:40px 100%,40px 100%,14px 100%,14px 100%;
  background-attachment:local,local,scroll,scroll
}

/* Мелкий текст по аудиту: ниже 12px на телефоне не читается,
   на десктопе тоже мелко. Поднимаем служебные подписи. */
.rn8v2 .tcard .tg{font-size:11.5px}
.mp-cab .cab-lesson-state,.mp-cab .cab-state,.mp-cab .cab-nav-label,
.mp-cab .cab-org-boss,.mp-cab .cab-tmap-corner,.mp-cab .cd,
.mp-cab .mtg-dec-status,.mp-cab table th{font-size:12px}
@media (max-width:760px){
  .rn8v2 .tcard .tg,.rn8v2 .mark,.rn8v2 .eyebrow{font-size:12px}
  .mp-cab .cab-slide-src,.mp-cab .cab-slide-no{font-size:12px}
}

/* Зоны нажатия по аудиту. */
.rn8v2 .car-dots button{min-width:20px;min-height:20px}
.rn8v2 footer a{display:inline-flex;align-items:center;min-height:44px}
.mp-cab .cab-tabs button,.mp-cab .cab-nav button,.mp-cab .cab-nav a{min-height:44px}
.mmp-emp .mmp-actions a,.mmp-company .mmp-actions a,
.mmp-emp a[href*="team-dna"],.mmp-company a[href*="employees"],
.mmp-company a[href*="business-mri"]{display:inline-flex;align-items:center;min-height:44px}

/* Водяные номера карточек на телефоне наезжали на заголовки. */
@media (max-width:760px){
  .rn8v2 .case .num,.rn8v2 .rows .n{opacity:.08;font-size:44px}
}

/* Замороженное поле: видно, что оно не редактируется. */
.mp-cab .cab-input.is-frozen,.mp-cab textarea.is-frozen{
  background:var(--bg-2);color:var(--ink-2);cursor:default;border-style:dashed
}

/* Колесо на слайде защиты — как в самом аудите, только компактнее. */
.mp-cab .cab-slide-wheel{display:flex;justify-content:center;align-items:center;padding:4px 0}
.mp-cab .cab-slide.is-dark .cab-slide-wheel circle[fill="#FAF7F3"]{fill:#2B2B2F}

/* Разделитель встречи в колоде защиты: занимает всю ширину сетки,
   на печати не отрывает лист — это подпись, а не слайд. */
.mp-cab .cab-deck-part{
  grid-column:1 / -1;display:flex;align-items:center;gap:14px;
  margin:14px 2px 2px;color:var(--ink-2);
  font-family:Onest,sans-serif;font-size:13px;letter-spacing:.06em;text-transform:uppercase
}
.mp-cab .cab-deck-part::after{content:"";flex:1;height:1px;background:var(--line)}
@media print{
  .mp-cab .cab-deck-part{
    break-after:avoid;page-break-after:avoid;margin:0;padding:0 0 6px;
    font-size:11px;color:#585863
  }
}


/* Ссылка-кнопка внутри текста инструмента (пример команды). */
.rn8v2 .lnk{
  background:none;border:0;padding:0;font:inherit;
  color:var(--amber,#F0A85C);text-decoration:underline;cursor:pointer
}
.rn8v2 .lnk:hover{text-decoration:none}

/* Термин с пояснением при наведении: «Team DNA» и подобные названия
   появлялись раньше, чем объяснялись. */
.rn8v2 .tt{border-bottom:1px dotted currentColor;cursor:help}

/* Подсказка о формулировке: мягкая, не ошибка — человек вправе
   оставить как есть. */
.mp-cab .cab-smart-hint{
  margin:6px 0 0;padding:8px 11px;border-radius:9px;
  background:var(--bg-2);border-left:3px solid var(--copper);
  font-size:12.5px;line-height:1.45;color:var(--ink-2)
}
/* ═══════════════════════════════════════════════════════════════
   ТЕЛЕФОН: ПЛОТНОСТЬ И ПОРЯДОК (правки PO 12.09)
   Замечание владельца после запуска: «всё крупно, громоздко, не видно
   картину целиком, сложно ориентироваться». Замеры подтвердили: первый
   экран начинался с отступа в 210 px — четверть экрана пустоты до
   заголовка, а вся страница занимала 14,5 экранов прокрутки.
   Десктоп не трогаем: там композиция выверена и владельцем принята.
   ═══════════════════════════════════════════════════════════════ */
@media (max-width:760px){
  /* Первый экран начинался слишком низко: шапка занимает 64 px, всё
     остальное было воздухом. Заголовок должен попадать в первый взгляд. */
  .rn8v2 .hero{padding-top:104px;padding-bottom:48px}

  /* Заголовок в пять строк «съедал» экран. Межстрочный интервал был
     1,08 — буквы липли друг к другу и читались тяжело.
     Размер привязан к ширине экрана, а не задан жёстко: на телефоне
     владельца строка «НАСКОЛЬКО ВЫ УВЕРЕНЫ,» уходила за правый край.
     Причина — iOS раздувает текст по системным настройкам, и честные
     24 px превращались в тридцать. Теперь ширина экрана решает, а
     верхняя граница не даёт заголовку разрастись на планшете. */
  .rn8v2 .hero h1{font-size:clamp(19px,5.5vw,24px);line-height:1.18}
  /* Длинное слово, которому не хватило строки, переносится, а не
     торчит за краем. */
  .rn8v2 .hero h1,.rn8v2 h2,.rn8v2 h3{overflow-wrap:break-word}

  /* Шаг между секциями: 44–58 px сверху и снизу на телефоне дают
     ощущение разреженной простыни. 32 px держат ритм и экономят экран. */
  /* У базового правила для .pl стоит !important (оно задаёт и боковые
     отступы), поэтому переопределяем тем же способом — но только по
     вертикали, чтобы поля по бокам остались как задуманы. */
  .rn8v2 section.pl.pl{padding-top:32px !important;padding-bottom:32px !important}
  .rn8v2 .mp-v2 > section{padding-top:32px;padding-bottom:32px}

  /* Заголовки секций были в один размер с заголовком страницы: на узкой
     колонке это стирало разницу между «о чём страница» и «о чём блок». */
  .rn8v2 h2{font-size:22px;line-height:1.2}

  /* Появление секций: сдвиг в 26 px на коротком экране читается как
     рывок — блок будто прыгает снизу. Уменьшаем ход и удлиняем время. */
  .rn8v2 .js .rise{transform:translateY(12px)}
  .rn8v2 .js .rise.in{transition-duration:.55s}
}

/* Карточки авторов: на телефоне оставались в две колонки — фото 96 px и
   текст в полосе 141 px, где слова рвались по два в строку. Складываем
   в один столбец, фото делаем крупнее: это лица, их надо видеть. */
@media (max-width:760px){
  section.pl-4 .who-grid{grid-template-columns:1fr;gap:18px}
  section.pl-4 .who-head{grid-template-columns:1fr;gap:14px;align-items:start}
  section.pl-4 .who-grid img{width:132px;height:165px}
}
/* ═══════════════════════════════════════════════════════════════
   ШАР В ПОТОКЕ (телефон, решение PO 12.09)
   На широком экране слот пуст: шар плавает поверх страницы.
   На узком скрипт переносит холст сюда, и здесь он ведёт себя как
   обычная картинка — стоит на своём месте, принимает касания и не
   налезает на текст.
   ═══════════════════════════════════════════════════════════════ */
.rn8v2 .hero-orb-slot{display:none}

@media (max-width:760px){
  .rn8v2 .hero-orb-slot{
    display:flex;justify-content:center;align-items:center;
    margin:16px 0 4px;min-height:240px
  }
  /* Важнее правил путешествующего слоя: те задают fixed и смещение. */
  .rn8v2 canvas.rn8-orb.is-inline{
    position:static !important;
    transform:none !important;
    opacity:1 !important;
    left:auto;top:auto;z-index:auto;
    /* Касания шару теперь нужны: по узлу надо попасть пальцем. */
    pointer-events:auto;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
    /* Страховка: даже если расчёт размера не успел к первой отрисовке,
       холст не вылезет за колонку. */
    max-width:100%
  }
}
/* Описания инструментов на телефоне.
   В карточках стоит обрезка в две строки — на широком экране карточки
   стоят рядом и одинаковая высота держит ряд. На телефоне они идут
   друг под другом, ряд держать не нужно, а фраза обрывалась на
   полуслове: «Первый рабочий профиль того, как вы обычно…». Место по
   вертикали есть — показываем текст целиком. */
@media (max-width:760px){
  .rn8v2 .tcard p{
    -webkit-line-clamp:unset;line-clamp:unset;
    display:block;overflow:visible
  }
}
/* Системное увеличение шрифта на телефоне.
   iOS и Android умеют раздувать текст по настройкам доступности. Для
   обычного текста это правильно и нужно. Но заголовок первого экрана
   свёрстан по ширине колонки, и раздутый он уезжал за край — владелец
   видела обрезанное «НАСКОЛЬКО ВЫ УВЕРЕНЬ». Запрет ставим только на
   автоматическое масштабирование браузером; ручной зум двумя пальцами
   и системный размер шрифта в остальном тексте продолжают работать. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
