/* ============================================================
   medical-reps.css — лендинг /ru/solutions/medical-reps
   «Цифровой двойник полевых визитов» (AI-тренажёр для медпредов).

   ВСЕ селекторы префиксованы `.mr` — страница обёрнута в
   <div class="mr">. tokens/base/components.css сюда НЕ подключаются,
   стиль изолирован (та же схема, что у managers.css).

   Палитра и примитивы намеренно совпадают с managers.css: это
   соседние страницы одного раздела, они должны читаться как одна
   система. Префикс свой, чтобы редизайн одной не ломал другую.
   ============================================================ */

.mr {
  /* палитра */
  --bg: #f1ece2;
  --bg-grad-top: #f6f1e9;
  --ink: #211c16;
  --ink-2: #5a5247;
  --ink-3: #6a6151;
  --ink-4: #8a7e6e;
  --indigo: #3f3d9e;
  --indigo-deep: #29276e;
  --orange: #ff7555;
  --green: #1a8a4a;
  --btn-from: #4d4ab8;
  --btn-to: #36338c;
  --btn-from-h: #5754c4;
  --btn-to-h: #3a3796;
  --btn-border: #322f86;
  --card-from: #ffffff;
  --card-to: #fcfbf7;
  --card-border: #ece6da;
  --card-border-h: #c9bfae;

  /* score-палитра (как в приложении и на /ru) */
  --score-high: #63be7b; /* >= 7   */
  --score-good: #a4d17f;
  --score-mid: #fdeb84;  /* 6–7    */
  --score-low: #f8696b;  /* < 6    */

  /* тени */
  --sh-card: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 2px 6px -2px rgba(45, 40, 90, 0.08),
    0 22px 44px -26px rgba(45, 40, 90, 0.22);
  --sh-btn: inset 0 1px 0 rgba(255, 255, 255, 0.28), 0 12px 24px -10px rgba(45, 40, 90, 0.55);

  font-family: 'Onest', system-ui, -apple-system, sans-serif;
  color: var(--ink);
  background: linear-gradient(180deg, var(--bg-grad-top) 0%, var(--bg) 100%);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  /* НЕ ставим overflow-x здесь: это сделало бы .mr скролл-контекстом и
     сломало position:sticky у хедера. Спилл гасим локально в .mr-hero. */
}

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

.mr ::selection {
  background: rgba(63, 61, 158, 0.18);
}

/* ---------- контейнер / секции ---------- */
.mr-wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 40px;
  padding-right: 40px;
}
.mr-section {
  padding-top: 96px;
}
.mr-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  align-self: flex-start;
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--indigo);
  background: rgba(63, 61, 158, 0.07);
  border: 1px solid rgba(63, 61, 158, 0.16);
  border-radius: 999px;
  padding: 7px 14px;
}
.mr-eyebrow__dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--indigo);
  box-shadow: 0 0 0 4px rgba(63, 61, 158, 0.18);
}
.mr-h2 {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.08;
  letter-spacing: -0.02em;
  margin: 0;
  text-wrap: balance;
}
.mr-lead {
  font-size: 18px;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0;
  max-width: 62ch;
  text-wrap: pretty;
}
.mr-section__head {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 44px;
  max-width: 52rem;
}
/* строка-мостик между блоками (ТЗ: «переход к следующему блоку») */
.mr-bridge {
  margin: 30px 0 0;
  padding-left: 18px;
  border-left: 3px solid var(--orange);
  font-size: 17px;
  line-height: 1.5;
  color: var(--ink);
  max-width: 66ch;
  text-wrap: pretty;
}

/* ---------- кнопки ---------- */
.mr-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-family: 'Onest', sans-serif;
  font-weight: 600;
  border-radius: 13px;
  cursor: pointer;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease,
    box-shadow 0.18s ease;
}
.mr-btn--primary {
  font-size: 17px;
  color: #fff;
  background: linear-gradient(180deg, var(--btn-from), var(--btn-to));
  border: 1px solid var(--btn-border);
  padding: 16px 30px;
  box-shadow: var(--sh-btn);
}
.mr-btn--primary:hover {
  background: linear-gradient(180deg, var(--btn-from-h), var(--btn-to-h));
  transform: translateY(-1px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 16px 30px -10px rgba(45, 40, 90, 0.6);
}
.mr-btn--primary:active {
  transform: translateY(0);
}
.mr-btn--secondary {
  font-size: 17px;
  color: var(--ink);
  background: linear-gradient(180deg, #ffffff, #f7f3ec);
  border: 1px solid #e0d9cc;
  padding: 15px 26px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 6px 16px -10px rgba(45, 40, 90, 0.3);
}
.mr-btn--secondary:hover {
  border-color: var(--card-border-h);
  transform: translateY(-1px);
}
.mr-btn--sm {
  font-size: 15px;
  padding: 11px 20px;
  border-radius: 11px;
}
/* текстовая вторичная CTA-ссылка (ТЗ: «Посмотреть пример разбора») */
.mr-link {
  align-self: center;
  font-size: 15.5px;
  font-weight: 500;
  color: var(--indigo);
  text-decoration: none;
  border-bottom: 1px solid rgba(63, 61, 158, 0.28);
  transition: color 0.18s ease, border-color 0.18s ease;
}
.mr-link:hover {
  color: var(--indigo-deep);
  border-bottom-color: var(--indigo-deep);
}

/* ---------- хедер ---------- */
.mr-nav {
  position: sticky;
  top: 0;
  z-index: 50;
  background: rgba(246, 241, 233, 0.78);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(224, 217, 204, 0.6);
}
.mr-nav__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 40px;
}
.mr-nav__logo {
  display: flex;
  align-items: center;
  flex: none;
}
.mr-nav__logo svg {
  height: 26px;
  width: auto;
  display: block;
}
.mr-nav__links {
  display: flex;
  align-items: center;
  gap: 26px;
}
.mr-nav__link {
  font-size: 15px;
  color: var(--ink-2);
  text-decoration: none;
  transition: color 0.15s ease;
}
.mr-nav__link:hover,
.mr-nav__link.is-active {
  color: var(--indigo);
}
.mr-nav__item--menu {
  position: relative;
}
.mr-nav__link--menu {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.mr-nav__caret {
  transition: transform 0.2s ease;
}
.mr-nav__item--menu:hover .mr-nav__caret {
  transform: rotate(180deg);
}
/* невидимый «мост» через зазор, чтобы меню не схлопывалось при наведении */
.mr-nav__item--menu::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 14px;
}
.mr-nav__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  margin-top: 12px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  background: #fff;
  border: 1px solid var(--card-border);
  border-radius: 14px;
  box-shadow: 0 18px 44px -20px rgba(45, 40, 90, 0.4);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease, visibility 0.18s ease;
  z-index: 60;
}
.mr-nav__item--menu:hover .mr-nav__dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.mr-nav__dropdown-link {
  display: block;
  padding: 10px 12px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 500;
  color: #e5573a;
  text-decoration: none;
  transition: background 0.15s ease, color 0.15s ease;
}
.mr-nav__dropdown-link:hover {
  background: #fff1ed;
  color: #c2402a;
}
.mr-nav__dropdown-link.is-active {
  color: #c2402a;
  background: #fff1ed;
}
.mr-nav__actions {
  display: flex;
  align-items: center;
  gap: 14px;
}
.mr-nav__lang {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.08em;
  color: var(--ink-3);
  text-decoration: none;
  padding: 6px 8px;
  border-radius: 8px;
  transition: color 0.15s ease, background 0.15s ease;
}
.mr-nav__lang:hover {
  color: var(--indigo);
  background: rgba(63, 61, 158, 0.07);
}

/* ============================================================
   БЛОК 1 · HERO
   ============================================================ */
.mr-hero {
  display: grid;
  /* текстовая колонка шире медийной: портрет прижат к правому краю, поэтому
     текст можно тянуть до него, ничего не перекрывая */
  grid-template-columns: 1.24fr 1fr;
  gap: 44px;
  align-items: center;
  padding: 64px 40px 76px;
  max-width: 1240px;
  margin: 0 auto;
  /* clip, а не hidden: гасит горизонтальный спилл мокапов, но не создаёт
     скролл-контекст (иначе ломается sticky-хедер). */
  overflow-x: clip;
}
.mr-hero__col {
  display: flex;
  flex-direction: column;
  gap: 24px;
  /* min-width:auto у грид-элемента не даёт колонке сжаться уже своего
     самого широкого потомка — на узких экранах это распирало сетку */
  min-width: 0;
}
.mr-hero__h1 {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 700;
  /* кегль подобран так, чтобы заголовок вставал в две строки в колонке ~620px:
     на 44px фразе не хватало ~20px, а расширять колонку — значит ужимать портрет */
  font-size: clamp(30px, 3.2vw, 40px);
  line-height: 1.12;
  letter-spacing: -0.022em;
  margin: 0;
  max-width: 30ch;
  text-wrap: balance;
}
.mr-hero__h1 em {
  color: var(--orange);
  font-style: normal;
  font-weight: 800;
}
.mr-hero__sub {
  font-size: 19px;
  line-height: 1.55;
  color: var(--ink-2);
  margin: 0;
  max-width: 58ch;
  text-wrap: pretty;
}
.mr-hero__cta {
  display: flex;
  gap: 18px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 4px;
}

/* строка доверия под CTA */
.mr-trustline {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.mr-trustline li {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: 14px;
  line-height: 1.4;
  color: var(--ink-3);
}
.mr-trustline li b {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: 17px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: -0.01em;
}
/* разделитель ставим ПОСЛЕ пункта, а не перед следующим: иначе при переносе
   строка начинается с висящей точки */
.mr-trustline li:not(:last-child)::after {
  content: '·';
  color: var(--ink-4);
  margin-left: 11px;
}

/* реестры и правовой статус — выше первого скролла, как на managers */
.mr-legal {
  margin: 2px 0 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-4);
  max-width: 62ch;
  text-wrap: pretty;
}

/* ---------- hero media: портрет AI-врача + мокап оценки ---------- */
.mr-hero__media {
  position: relative;
  display: block;
  min-width: 0;
  max-width: 100%;
}
/* Первый экран: крупный портрет AI-врача фоном, данные плашками поверх.
   Портрет вырезан по контуру (прозрачный фон), поэтому вместо карточки с
   рамкой он сидит на градиентном пятне — иначе белый халат растворяется
   в кремовом фоне страницы. */
.mr-hero__media {
  /* высота подобрана так, чтобы панель отчёта внизу начиналась ниже
     подбородка врача и не перекрывала лицо */
  min-height: 700px;
}
.mr-hero__blob {
  position: absolute;
  right: -4%;
  top: 2%;
  width: 82%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(
    circle at 50% 42%,
    rgba(124, 121, 222, 0.34) 0%,
    rgba(99, 96, 200, 0.18) 46%,
    rgba(63, 61, 158, 0) 72%
  );
  filter: blur(6px);
  z-index: 0;
}
.mr-hero__portrait {
  position: relative;
  z-index: 1;
  display: block;
  width: 88%;
  max-width: 520px;
  height: auto;
  margin-left: auto;
  margin-right: 8px;
  /* мягкий срез по низу: халат уходит в фон, а не обрывается кромкой */
  -webkit-mask-image: linear-gradient(180deg, #000 76%, rgba(0, 0, 0, 0) 99%);
  mask-image: linear-gradient(180deg, #000 76%, rgba(0, 0, 0, 0) 99%);
  filter: drop-shadow(0 30px 50px rgba(45, 40, 90, 0.22));
}

/* плашка персоны — сверху справа над портретом */
.mr-ptag {
  position: absolute;
  z-index: 3;
  top: 10px;
  right: 0;
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: rgba(255, 255, 255, 0.82);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 15px;
  padding: 12px 16px;
  box-shadow: 0 18px 40px -16px rgba(45, 40, 90, 0.4);
  animation: mrFloatA 7s ease-in-out infinite;
}
.mr-ptag__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-4);
}
.mr-ptag__spec {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 16px;
  line-height: 1.15;
}
.mr-ptag__trait {
  font-size: 12.5px;
  color: var(--ink-2);
}

/* пилюля идущего звонка — снизу справа */
.mr-callbar {
  position: absolute;
  z-index: 3;
  right: 8px;
  bottom: 6px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.9);
  border-radius: 999px;
  padding: 10px 18px;
  box-shadow: 0 18px 40px -16px rgba(45, 40, 90, 0.4);
  animation: mrFloatB 8.5s ease-in-out 0.6s infinite;
}
.mr-callbar__dot {
  width: 9px;
  height: 9px;
  flex: none;
  border-radius: 50%;
  background: var(--green);
  animation: mrPulseGreen 2s ease-out infinite;
}
.mr-callbar__text {
  font-size: 13px;
  font-weight: 500;
  color: var(--ink);
  white-space: nowrap;
}
.mr-callbar__timer {
  font-family: 'JetBrains Mono', monospace;
  font-size: 13px;
  color: var(--ink-3);
  font-variant-numeric: tabular-nums;
}

@keyframes mrFloatA {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -9px, 0); }
}
@keyframes mrFloatB {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, 7px, 0); }
}
@keyframes mrPulseGreen {
  0% { box-shadow: 0 0 0 0 rgba(26, 138, 74, 0.5); }
  70% { box-shadow: 0 0 0 8px rgba(26, 138, 74, 0); }
  100% { box-shadow: 0 0 0 0 rgba(26, 138, 74, 0); }
}

/* голосовая волна */
.mr-wave {
  display: flex;
  align-items: center;
  gap: 4px;
  height: 24px;
}
.mr-wave span {
  width: 3px;
  background: var(--indigo);
  border-radius: 3px;
  display: block;
  animation: mrWave 1.1s ease-in-out infinite;
}
.mr-wave span:nth-child(1) { height: 40%; animation-delay: 0s; }
.mr-wave span:nth-child(2) { height: 75%; animation-delay: 0.12s; }
.mr-wave span:nth-child(3) { height: 100%; animation-delay: 0.24s; }
.mr-wave span:nth-child(4) { height: 55%; animation-delay: 0.36s; }
.mr-wave span:nth-child(5) { height: 85%; animation-delay: 0.48s; }
.mr-wave span:nth-child(6) { height: 45%; animation-delay: 0.6s; }

/* ---------- мокап «оценка визита» (hero + блок 4) ---------- */
.mr-score {
  background: radial-gradient(120% 130% at 12% 0%, #34328a 0%, #25235c 52%, #1b1942 100%);
  border: 1px solid #2c2a66;
  border-radius: 22px;
  padding: 26px 28px;
  box-shadow: 0 44px 84px -34px rgba(45, 40, 90, 0.65);
}
/* накладка на первом экране: панель наезжает на портрет слева-снизу.
   Садится на плечо/халат, лицо не перекрывает. */
.mr-score--float {
  position: absolute;
  z-index: 2;
  left: 0;
  bottom: 0;
  width: min(348px, 66%);
  padding: 20px 22px;
  animation: mrFloatC 9s ease-in-out 0.3s infinite;
}
.mr-score--float .mr-score__rows {
  gap: 12px;
}
@keyframes mrFloatC {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -7px, 0); }
}
.mr-score__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}
.mr-score__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #a9a6e0;
}
.mr-score__total {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: 30px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
}
.mr-score__total small {
  font-size: 16px;
  color: #8f8cc0;
  font-weight: 400;
}
.mr-score__rows {
  display: flex;
  flex-direction: column;
  gap: 15px;
}
.mr-score__row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 13.5px;
  color: #d7d5ee;
  margin-bottom: 6px;
}
.mr-score__row b {
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.mr-score__bar {
  height: 8px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
}
.mr-score__fill {
  /* обязательно block: заливка — это <span>, а инлайновый элемент
     игнорирует width/height, и полоса схлопывается в пустой трек */
  display: block;
  height: 100%;
  border-radius: 99px;
  transition: width 0.6s cubic-bezier(0.22, 0.8, 0.3, 1);
}
.mr-score__fill--high { background: var(--score-high); box-shadow: 0 0 12px rgba(99, 190, 123, 0.5); }
/* --good сейчас не встречается: ни один этап в мокапе не попал в 7–9.
   Оставлен намеренно — палитра из четырёх ступеней общая с приложением,
   а баллы в мокапе меняются вместе с отчётом-образцом. */
.mr-score__fill--good { background: var(--score-good); box-shadow: 0 0 12px rgba(164, 209, 127, 0.5); }
.mr-score__fill--mid  { background: var(--score-mid);  box-shadow: 0 0 12px rgba(253, 235, 132, 0.5); }
.mr-score__fill--low  { background: var(--score-low);  box-shadow: 0 0 12px rgba(248, 105, 107, 0.5); }
.mr-score__note {
  margin-top: 20px;
  padding: 13px 15px;
  border-radius: 13px;
  background: rgba(124, 121, 222, 0.14);
  border: 1px solid rgba(124, 121, 222, 0.3);
  display: flex;
  gap: 11px;
  align-items: flex-start;
}
.mr-score__note-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  margin-top: 6px;
  flex: none;
  animation: mrPulseDot 1.8s ease-out infinite;
}
.mr-score__note-text {
  font-size: 13px;
  line-height: 1.5;
  color: #e2e0f4;
}

@keyframes mrWave {
  0%, 100% { transform: scaleY(0.4); }
  50% { transform: scaleY(1); }
}
@keyframes mrPulseDot {
  0% { box-shadow: 0 0 0 0 rgba(255, 117, 85, 0.55); }
  70% { box-shadow: 0 0 0 9px rgba(255, 117, 85, 0); }
  100% { box-shadow: 0 0 0 0 rgba(255, 117, 85, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .mr-wave span,
  .mr-callbar__dot,
  .mr-score__note-dot,
  .mr-ptag,
  .mr-callbar,
  .mr-score--float { animation: none; }
  .mr-score__fill { transition: none; }
}

/* ---------- сетки и карточки ---------- */
.mr-grid {
  display: grid;
  gap: 20px;
}
.mr-grid--2 { grid-template-columns: repeat(2, 1fr); }
.mr-grid--3 { grid-template-columns: repeat(3, 1fr); }
.mr-grid--4 { grid-template-columns: repeat(4, 1fr); }
/* колонки по своей высоте, а не растянуты по самой длинной в ряду */
.mr-grid--top { align-items: start; }

/* сноски-источники: приподнятый мелкий индекс, а не случайная цифра в тексте */
.mr sup {
  font-size: 9.5px;
  font-weight: 600;
  line-height: 0;
  vertical-align: super;
  color: var(--indigo);
  margin-left: 2px;
}

.mr-card {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 20px;
  padding: 30px;
  box-shadow: var(--sh-card);
  transition: border-color 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}
.mr-card--hover:hover {
  border-color: var(--card-border-h);
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 2px 6px -2px rgba(45, 40, 90, 0.1),
    0 28px 54px -26px rgba(45, 40, 90, 0.3);
}
.mr-card__badge {
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: linear-gradient(180deg, #5552be, #3a3796);
  border: 1px solid var(--btn-border);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 19px;
  color: #fff;
  margin-bottom: 18px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.3), 0 8px 16px -8px rgba(45, 40, 90, 0.5);
}
.mr-card__title {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: 20px;
  line-height: 1.25;
  font-weight: 600;
  margin: 0 0 8px;
  text-wrap: balance;
}
.mr-grid--4 .mr-card__title {
  font-size: 17px;
  line-height: 1.22;
}
.mr-card__text {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-3);
  text-wrap: pretty;
}
.mr-card:has(.mr-card__cta) {
  display: flex;
  flex-direction: column;
}
.mr-card__cta {
  margin-top: auto;
  padding-top: 18px;
  align-self: flex-start;
  font-size: 14.5px;
  font-weight: 500;
  line-height: 1.4;
  color: var(--indigo);
  text-decoration: none;
  border-bottom: 1px solid rgba(63, 61, 158, 0.28);
  transition: color 0.18s ease, border-color 0.18s ease;
}
.mr-card__cta:hover {
  color: var(--indigo-deep);
  border-bottom-color: var(--indigo-deep);
}

/* ============================================================
   БЛОК 3 · КАТЕГОРИЯ: персоны, чат-фрагмент, схема двойника
   ============================================================ */

/* карточки AI-персон */
.mr-persona {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 20px;
  padding: 26px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.mr-persona:hover {
  border-color: var(--card-border-h);
  transform: translateY(-2px);
}
.mr-persona__ava {
  width: 84px;
  height: 84px;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(160deg, #eceaf7, #d6d3ee);
  border: 2px solid #fff;
  box-shadow: 0 10px 24px -12px rgba(45, 40, 90, 0.5);
}
.mr-persona__ava img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  /* исходник обрезан по контуру и почти квадратный, поэтому cover ничего не
     кадрирует — приближаем сами, чтобы в круг попало лицо, а не весь халат */
  transform: scale(1.5) translateY(6%);
  transform-origin: center top;
}
/* третья карточка — силуэт вместо фото: «персона под ваш сценарий» */
.mr-persona__ava--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px dashed rgba(63, 61, 158, 0.32);
  background: rgba(63, 61, 158, 0.05);
  box-shadow: none;
}
.mr-persona__ava--empty svg {
  width: 34px;
  height: 34px;
  color: var(--indigo);
  opacity: 0.7;
}
.mr-persona__spec {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 19px;
  margin: 0;
}
.mr-persona__trait {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-3);
  text-wrap: pretty;
}
.mr-persona__tag {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--indigo);
  background: rgba(63, 61, 158, 0.07);
  border: 1px solid rgba(63, 61, 158, 0.16);
  border-radius: 999px;
  padding: 4px 10px;
}

/* чат-фрагмент диалога с плашкой разбора */
.mr-chat {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 22px;
  padding: 26px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.mr-chat__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-4);
}
.mr-chat__msg {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.mr-chat__msg--own {
  flex-direction: row-reverse;
}
.mr-chat__ava {
  width: 34px;
  height: 34px;
  flex: none;
  border-radius: 50%;
  overflow: hidden;
  background: linear-gradient(160deg, #eceaf7, #d6d3ee);
}
.mr-chat__ava img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transform: scale(1.5) translateY(6%);
  transform-origin: center top;
}
.mr-chat__ava--own {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 500;
  color: var(--indigo);
  background: rgba(63, 61, 158, 0.1);
}
.mr-chat__bubble {
  max-width: 78%;
  padding: 13px 16px;
  border-radius: 16px;
  font-size: 15px;
  line-height: 1.5;
  background: #f4f1ea;
  border: 1px solid #e8e2d6;
  color: var(--ink);
  text-wrap: pretty;
}
.mr-chat__msg--own .mr-chat__bubble {
  background: rgba(63, 61, 158, 0.08);
  border-color: rgba(63, 61, 158, 0.18);
}
/* плашка разбора от AI под диалогом */
.mr-chat__eval {
  display: flex;
  gap: 11px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255, 117, 85, 0.07);
  border: 1px solid rgba(255, 117, 85, 0.26);
}
.mr-chat__eval-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--orange);
  margin-top: 6px;
  flex: none;
}
.mr-chat__eval-text {
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-2);
  text-wrap: pretty;
}
.mr-chat__eval-text b {
  color: var(--ink);
}

/* схема цифрового двойника */
.mr-flow {
  display: flex;
  flex-direction: column;
  gap: 18px;
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 22px;
  padding: 30px;
  box-shadow: var(--sh-card);
}
.mr-flow__chain {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.mr-flow__node {
  flex: 1 1 0;
  min-width: 140px;
  padding: 16px 18px;
  border-radius: 14px;
  background: #faf8f3;
  border: 1px solid var(--card-border);
  font-size: 14.5px;
  line-height: 1.4;
  font-weight: 500;
  text-wrap: pretty;
}
.mr-flow__node--accent {
  background: rgba(63, 61, 158, 0.07);
  border-color: rgba(63, 61, 158, 0.26);
  color: var(--indigo-deep);
  font-weight: 600;
}
.mr-flow__arrow {
  flex: none;
  color: var(--ink-4);
  display: flex;
  align-items: center;
}
.mr-flow__arrow svg {
  width: 20px;
  height: 20px;
}
.mr-flow__fan {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  padding-top: 4px;
}
.mr-flow__leaf {
  padding: 14px 16px;
  border-radius: 13px;
  background: #fff;
  border: 1px dashed rgba(63, 61, 158, 0.28);
}
.mr-flow__leaf-t {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--indigo);
  margin-bottom: 5px;
}
.mr-flow__leaf-d {
  font-size: 13.5px;
  line-height: 1.45;
  color: var(--ink-3);
  text-wrap: pretty;
}

/* ============================================================
   БЛОК 4 · ДАННЫЕ: тайлы, карточки возражений
   ============================================================ */
.mr-tile {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 18px;
  padding: 26px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.mr-tile__num {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: clamp(30px, 3.2vw, 40px);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  color: var(--indigo);
}
.mr-tile__num--warn {
  color: var(--orange);
}
.mr-tile__cap {
  font-size: 14.5px;
  line-height: 1.5;
  color: var(--ink-2);
  text-wrap: pretty;
}
.mr-tile__cap b {
  color: var(--ink);
  font-weight: 600;
}

/* карточка возражения врача */
.mr-obj {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 18px;
  padding: 24px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mr-obj__q {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: 17px;
  line-height: 1.4;
  font-style: italic;
  color: var(--ink);
  margin: 0;
  text-wrap: pretty;
}
.mr-obj__freq {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--ink-2);
  background: #f4f1ea;
  border: 1px solid #e8e2d6;
  border-radius: 999px;
  padding: 4px 10px;
}
.mr-obj__err {
  margin: 0;
  padding-top: 12px;
  border-top: 1px solid var(--card-border);
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-3);
  text-wrap: pretty;
}
.mr-obj__err b {
  color: var(--ink-2);
}

/* подпись-дисклеймер под мокапами */
.mr-note {
  margin: 22px 0 0;
  font-size: 13.5px;
  line-height: 1.55;
  color: var(--ink-4);
  max-width: 82ch;
  text-wrap: pretty;
}

/* ============================================================
   БЛОК 5 · ТРИ РОЛИ
   ============================================================ */
.mr-role {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 20px;
  padding: 30px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
/* колонка маркетинга — главная отстройка (ТЗ §4, блок 5) */
.mr-role--hi {
  border-color: var(--indigo);
  background: linear-gradient(180deg, #fbfaff, #f4f3fd);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 2px 6px -2px rgba(45, 40, 90, 0.14),
    0 26px 50px -26px rgba(45, 40, 90, 0.32);
}
.mr-role__who {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-4);
}
.mr-role--hi .mr-role__who {
  color: var(--indigo);
}
.mr-role__h {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 21px;
  line-height: 1.22;
  margin: 0;
  text-wrap: balance;
}
.mr-role__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.mr-role__list li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-3);
  text-wrap: pretty;
}
.mr-role__list li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--indigo);
  opacity: 0.55;
}
.mr-role__metric {
  margin: auto 0 0;
  padding-top: 16px;
  border-top: 1px solid var(--card-border);
  font-size: 13.5px;
  line-height: 1.5;
  color: var(--ink-2);
  font-style: italic;
  text-wrap: pretty;
}
.mr-role__metric b {
  font-style: normal;
  color: var(--ink);
}

/* мини-таблица «красная зона» внутри колонки КД */
.mr-mini {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 2px;
}
.mr-mini caption {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--ink-4);
  text-align: left;
  padding-bottom: 8px;
}
.mr-mini th {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--ink-4);
  text-align: left;
  padding: 0 8px 7px 0;
  border-bottom: 1px solid var(--card-border);
}
.mr-mini td {
  padding: 8px 8px 8px 0;
  border-bottom: 1px solid #f2ede3;
  color: var(--ink-2);
  vertical-align: middle;
}
.mr-mini tr:last-child td {
  border-bottom: none;
}
.mr-mini__score {
  font-family: 'JetBrains Mono', monospace;
  font-variant-numeric: tabular-nums;
  color: var(--ink);
}
.mr-mini__trend--up { color: var(--green); font-weight: 600; }
.mr-mini__trend--down { color: #c8443f; font-weight: 600; }

/* ============================================================
   БЛОК 6 · КАК РАБОТАЕТ — шаги
   ============================================================ */
.mr-step {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 20px;
  padding: 30px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.mr-step__n {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  background: rgba(63, 61, 158, 0.09);
  color: var(--indigo);
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 700;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.mr-step__h {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 20px;
  line-height: 1.25;
  margin: 0;
  text-wrap: balance;
}
.mr-step__p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-3);
  text-wrap: pretty;
}

/* ============================================================
   БЛОК 6.5 · ПОГРУЖЕНИЕ В ДОМЕН (кейс ЭГИС)
   ============================================================ */
.mr-depth {
  position: relative;
  border-radius: 28px;
  overflow: hidden;
  background: radial-gradient(120% 130% at 12% 0%, #34328a 0%, #25235c 52%, #1b1942 100%);
  box-shadow: 0 40px 80px -34px rgba(45, 40, 90, 0.6);
  border: 1px solid #2c2a66;
  padding: 56px 52px;
}
.mr-depth::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(60% 50% at 88% 12%, rgba(124, 121, 222, 0.28), transparent 70%);
  pointer-events: none;
}
.mr-depth__inner {
  position: relative;
  z-index: 1;
}
.mr-depth__eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #a9a6e0;
}
.mr-depth__h2 {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 14px 0 0;
  color: #fff;
  text-wrap: balance;
  max-width: 29ch;
}
.mr-depth__lead {
  margin: 16px 0 0;
  font-size: 17px;
  line-height: 1.55;
  color: #bfbce0;
  /* шире обычных 60–70 знаков: лид намеренно уложен в две строки */
  max-width: 96ch;
  text-wrap: pretty;
}
.mr-depth__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 40px;
}
.mr-depth__item {
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 18px;
  padding: 26px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}
.mr-depth__t {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 19px;
  line-height: 1.25;
  color: #fff;
  margin: 0 0 10px;
  text-wrap: balance;
}
.mr-depth__d {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: #c4c1e4;
  text-wrap: pretty;
}
.mr-depth__d b {
  color: #edecf7;
  font-weight: 600;
}
.mr-depth__links {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 32px;
}
.mr-depth__link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.09);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 12px;
  padding: 13px 19px;
  transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}
.mr-depth__link:hover {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.4);
  transform: translateY(-1px);
}
.mr-depth__link svg {
  width: 17px;
  height: 17px;
  flex: none;
}

/* ============================================================
   БЛОК 7 · КЕЙСЫ
   ============================================================ */
.mr-case {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 22px;
  padding: 32px;
  box-shadow: var(--sh-card);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.mr-case__head {
  display: flex;
  align-items: center;
  gap: 14px;
}
.mr-case__logo {
  height: 34px;
  width: auto;
  border-radius: 6px;
  display: block;
}
.mr-case__name {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 20px;
  margin: 0;
}
.mr-case__meta {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ink-4);
  margin-top: 3px;
}
.mr-case__p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: var(--ink-3);
  text-wrap: pretty;
}
.mr-case__stats {
  display: flex;
  gap: 26px;
  flex-wrap: wrap;
  padding-top: 16px;
  border-top: 1px solid var(--card-border);
  margin-top: auto;
}
.mr-case__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.mr-case__stat b {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -0.01em;
  color: var(--indigo);
  line-height: 1.1;
}
.mr-case__stat span {
  font-size: 12.5px;
  line-height: 1.4;
  color: var(--ink-3);
}

/* полоса мировых бенчмарков */
.mr-bench {
  margin-top: 24px;
  padding: 22px 26px;
  border-radius: 18px;
  background: #faf8f3;
  border: 1px solid var(--card-border);
}
.mr-bench__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-4);
  margin-bottom: 10px;
}
.mr-bench__text {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.6;
  color: var(--ink-2);
  text-wrap: pretty;
}
.mr-bench__text sup {
  font-size: 10px;
  color: var(--indigo);
}

/* цитата */
.mr-quote {
  margin: 30px 0 0;
  padding: 30px 34px;
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-left: 3px solid var(--orange);
  border-radius: 18px;
  box-shadow: var(--sh-card);
}
.mr-quote__t {
  font-family: 'Onest', system-ui, sans-serif;
  font-size: 21px;
  line-height: 1.42;
  font-weight: 500;
  color: var(--ink);
  margin: 0;
  max-width: 68ch;
  text-wrap: pretty;
}
.mr-quote__by {
  display: block;
  margin-top: 14px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11.5px;
  letter-spacing: 0.04em;
  color: var(--ink-4);
}

/* ---------- mini-CTA в середине страницы ---------- */
.mr-midcta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  flex-wrap: wrap;
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  padding: 40px 48px;
  background: radial-gradient(120% 140% at 6% 0%, #34328a 0%, #25235c 56%, #1b1942 100%);
  border: 1px solid #2c2a66;
  box-shadow: 0 40px 80px -34px rgba(45, 40, 90, 0.6);
}
.mr-midcta::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(55% 60% at 92% 10%, rgba(124, 121, 222, 0.28), transparent 70%);
  pointer-events: none;
}
.mr-midcta__text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-width: 640px;
}
.mr-midcta__h {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.16;
  letter-spacing: -0.02em;
  color: #fff;
  margin: 0;
  text-wrap: balance;
}
.mr-midcta__p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #c8c5e6;
  text-wrap: pretty;
}
.mr-midcta__btn {
  position: relative;
  z-index: 1;
  flex: none;
}

/* ============================================================
   БЛОК 9 · БЕЗОПАСНОСТЬ
   ============================================================ */
.mr-sec {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 18px;
  padding: 26px;
  box-shadow: var(--sh-card);
}
.mr-sec__ico {
  width: 40px;
  height: 40px;
  flex: none;
  border-radius: 11px;
  background: rgba(63, 61, 158, 0.08);
  border: 1px solid rgba(63, 61, 158, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--indigo);
}
.mr-sec__ico svg {
  width: 20px;
  height: 20px;
}
.mr-sec__h {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 18px;
  line-height: 1.25;
  margin: 0 0 7px;
  text-wrap: balance;
}
.mr-sec__p {
  margin: 0;
  font-size: 14.5px;
  line-height: 1.55;
  color: var(--ink-3);
  text-wrap: pretty;
}

/* ============================================================
   БЛОК 10 · СРАВНЕНИЕ (таблица)
   ============================================================ */
.mr-tablewrap {
  /* горизонтальный скролл живёт внутри своего контейнера,
     страница по горизонтали не едет */
  overflow-x: auto;
  border: 1px solid var(--card-border);
  border-radius: 20px;
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  box-shadow: var(--sh-card);
}
.mr-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font-size: 15px;
}
.mr-table th,
.mr-table td {
  padding: 17px 20px;
  text-align: left;
  border-bottom: 1px solid #f2ede3;
}
.mr-table thead th {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  font-weight: 400;
  color: var(--ink-4);
  white-space: nowrap;
  border-bottom: 1px solid var(--card-border);
}
.mr-table tbody th {
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 500;
  font-size: 15px;
  color: var(--ink-2);
}
.mr-table td {
  text-align: center;
  color: var(--ink-3);
  font-size: 14.5px;
}
.mr-table tbody tr:last-child th,
.mr-table tbody tr:last-child td {
  border-bottom: none;
}
/* строка Pichi — единственная выделенная */
.mr-table__row--hi th,
.mr-table__row--hi td {
  background: rgba(63, 61, 158, 0.05);
  color: var(--indigo-deep);
  font-weight: 600;
}
.mr-table__row--hi th {
  color: var(--indigo);
  font-weight: 700;
}
/* значки да / частично / нет */
.mr-yes,
.mr-part,
.mr-no {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 500;
}
.mr-yes {
  color: #14683a;
  background: rgba(26, 138, 74, 0.11);
  border: 1px solid rgba(26, 138, 74, 0.26);
}
.mr-part {
  color: #8a6a15;
  background: rgba(212, 165, 42, 0.14);
  border: 1px solid rgba(212, 165, 42, 0.32);
}
.mr-no {
  color: #8a7e6e;
  background: #f4f1ea;
  border: 1px solid #e8e2d6;
}
.mr-table__note {
  margin: 26px 0 0;
  font-size: 16px;
  line-height: 1.55;
  color: var(--ink-2);
  max-width: 80ch;
  text-wrap: pretty;
}

/* ============================================================
   БЛОК 11 · FAQ
   ============================================================ */
.mr-faq {
  display: flex;
  flex-direction: column;
  gap: 12px;
  max-width: 880px;
}
.mr-faq__item {
  background: linear-gradient(180deg, var(--card-from), var(--card-to));
  border: 1px solid var(--card-border);
  border-radius: 16px;
  padding: 4px 24px;
  box-shadow: var(--sh-card);
}
.mr-faq__item summary {
  list-style: none;
  cursor: pointer;
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 600;
  font-size: 18.5px;
  padding: 20px 0;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  text-wrap: balance;
}
.mr-faq__item summary::-webkit-details-marker {
  display: none;
}
.mr-faq__item summary::after {
  content: '+';
  font-family: 'Onest', sans-serif;
  font-weight: 400;
  font-size: 26px;
  color: var(--indigo);
  transition: transform 0.2s ease;
  flex: none;
}
.mr-faq__item[open] summary::after {
  transform: rotate(45deg);
}
.mr-faq__a {
  margin: 0;
  padding: 0 0 22px;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--ink-2);
  max-width: 74ch;
  text-wrap: pretty;
}
.mr-faq__a a {
  color: var(--indigo);
}

/* ============================================================
   БЛОК 12 · ФИНАЛЬНЫЙ CTA + ФОРМА
   ============================================================ */
.mr-final {
  position: relative;
  border-radius: 26px;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff, #f7f2ea);
  border: 1px solid var(--card-border);
  padding: 56px 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 48px;
  align-items: start;
  box-shadow: var(--sh-card);
}
.mr-final::before {
  content: '';
  position: absolute;
  top: -40%;
  left: 58%;
  width: 60%;
  height: 120%;
  background: radial-gradient(circle, rgba(63, 61, 158, 0.12), transparent 65%);
  pointer-events: none;
}
.mr-final__h2 {
  position: relative;
  font-family: 'Onest', system-ui, sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: -0.02em;
  margin: 0 0 16px;
  text-wrap: balance;
  line-height: 1.08;
}
.mr-final__p {
  position: relative;
  font-size: 17px;
  color: var(--ink-2);
  margin: 0 0 22px;
  line-height: 1.55;
  text-wrap: pretty;
  max-width: 46ch;
}
.mr-final__list {
  position: relative;
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 13px;
}
.mr-final__list li {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
  text-wrap: pretty;
}
.mr-final__list svg {
  width: 19px;
  height: 19px;
  flex: none;
  margin-top: 2px;
  color: var(--indigo);
}

/* контактный блок вместо формы: Telegram + крупный e-mail с копированием.
   Формы на лендинге нет сознательно — принимать заявки некуда (нет endpoint'а),
   а имитировать отправку хуже, чем честно дать два рабочих канала. */
.mr-contact {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #fff;
  border: 1px solid var(--card-border);
  border-radius: 20px;
  padding: 32px;
  box-shadow: var(--sh-card);
}
.mr-contact__label {
  font-family: 'JetBrains Mono', monospace;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--ink-4);
}
.mr-contact__btn {
  width: 100%;
  white-space: normal;
  text-align: center;
}
.mr-contact__or {
  display: flex;
  align-items: center;
  gap: 14px;
  font-size: 13px;
  color: var(--ink-4);
}
.mr-contact__or::before,
.mr-contact__or::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--card-border);
}

/* крупный e-mail — кнопка копирования */
.mr-copy {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  font-family: 'JetBrains Mono', monospace;
  font-size: clamp(19px, 2.1vw, 26px);
  font-weight: 500;
  letter-spacing: -0.01em;
  color: var(--indigo);
  background: rgba(63, 61, 158, 0.04);
  border: 1.5px dashed rgba(63, 61, 158, 0.35);
  border-radius: 14px;
  padding: 20px 18px;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease;
}
.mr-copy:hover {
  border-color: var(--indigo);
  background: rgba(63, 61, 158, 0.08);
}
.mr-copy:focus-visible {
  outline: 2px solid var(--indigo);
  outline-offset: 3px;
}
.mr-copy svg {
  width: 18px;
  height: 18px;
  flex: none;
  opacity: 0.6;
}
.mr-copy.is-copied {
  color: #14683a;
  border-color: rgba(26, 138, 74, 0.55);
  border-style: solid;
  background: rgba(26, 138, 74, 0.08);
}
.mr-copy.is-copied svg {
  display: none;
}
.mr-contact__note {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
  color: var(--ink-4);
  text-wrap: pretty;
}

/* ---------- сноски источников ---------- */
.mr-refs {
  margin: 40px 0 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 7px;
}
.mr-refs li {
  font-size: 12.5px;
  line-height: 1.5;
  color: var(--ink-4);
  text-wrap: pretty;
}
.mr-refs a {
  color: var(--ink-3);
}

/* ---------- футер ---------- */
.mr-footer {
  border-top: 1px solid #e0d9cc;
  margin-top: 90px;
}
.mr-footer__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 40px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  flex-wrap: wrap;
}
.mr-footer__logo svg {
  height: 24px;
  width: auto;
  display: block;
}
.mr-footer__links {
  display: flex;
  gap: 22px;
  align-items: center;
  flex-wrap: wrap;
}
.mr-footer__links a {
  font-size: 13px;
  color: var(--ink-3);
  text-decoration: none;
  transition: color 0.15s ease;
}
.mr-footer__links a:hover {
  color: var(--indigo);
}
.mr-footer__copy {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  color: #a0937f;
}

/* ---------- утилиты ---------- */
.mr-stack {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.mr-mt-32 { margin-top: 32px; }

/* ============================================================
   АДАПТИВ
   ============================================================ */
@media (max-width: 1080px) {
  .mr-hero { grid-template-columns: 1fr; gap: 44px; padding: 48px 24px 60px; }
  .mr-hero__h1 { max-width: none; }
  .mr-hero__media { max-width: 620px; min-height: 500px; }
}
@media (max-width: 980px) {
  .mr-wrap { padding-left: 24px; padding-right: 24px; }
  .mr-grid--4 { grid-template-columns: repeat(2, 1fr); }
  .mr-depth { padding: 40px 28px; }
  .mr-depth__grid { grid-template-columns: 1fr; }
  .mr-final { grid-template-columns: 1fr; gap: 32px; padding: 44px 28px; }
  .mr-flow__fan { grid-template-columns: 1fr; }
  .mr-flow__chain { flex-direction: column; align-items: stretch; }
  .mr-flow__arrow { transform: rotate(90deg); align-self: center; }
}
@media (max-width: 760px) {
  .mr-nav__links { display: none; }
  .mr-nav__inner { padding: 14px 24px; }
  .mr-section { padding-top: 64px; }
  .mr-grid--2, .mr-grid--3, .mr-grid--4 { grid-template-columns: 1fr; }
  .mr-midcta { padding: 32px 24px; gap: 22px; }
  .mr-hero__cta { gap: 12px; }
  /* длинный текст кнопки в nowrap не давал колонке сжаться до ширины экрана */
  .mr-hero__cta .mr-btn {
    width: 100%;
    white-space: normal;
    text-align: center;
  }
  .mr-link { align-self: flex-start; }
  .mr-score { padding: 22px 20px; }
  .mr-case__stats { gap: 18px; }
  .mr-quote__t { font-size: 18px; }
  .mr-trustline li:not(:last-child)::after { display: none; }
  .mr-trustline { flex-direction: column; align-items: flex-start; gap: 8px; }

  /* Накладка поверх портрета живёт только на широких экранах. На узком
     разворачиваем первый экран в вертикальный поток: портрет — плашка
     персоны — идущий звонок — отчёт. Иначе панель 340px легла бы на
     сжатый портрет и оба стали нечитаемы. */
  .mr-hero__media {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }
  .mr-hero__blob { width: 86%; right: 7%; top: -4%; }
  .mr-hero__portrait { order: 1; width: 72%; max-width: 290px; margin: 0; }
  .mr-ptag { order: 2; position: static; animation: none; align-items: center; text-align: center; }
  .mr-callbar { order: 3; position: static; animation: none; }
  .mr-score--float {
    order: 4;
    position: static;
    width: 100%;
    padding: 22px 20px;
    animation: none;
  }
}
@media (max-width: 520px) {
  .mr-nav__login { display: none; }
  .mr-depth { padding: 32px 20px; }
  .mr-final { padding: 36px 20px; }
  .mr-contact { padding: 24px 20px; }
}
