/* ═══════════════ MM · ФУНДАМЕНТ (HEAD, один раз) ═══════════════ */
/* Версия 4.0.3 · 07.08.2026 · заменяет 4.0.2 целиком.
   Вставляется в Настройки сайта Tilda -> Дополнительный CSS
   И одновременно сохраняется в файл канона Проекта.

   ═══ ЧТО ИЗМЕНЕНО ПРОТИВ 4.0.2 ═══

   1) КНОПКА · вариант B арт-дирекции, решение владельца 07.08.
      Заливка #CE4711, белый текст, 16px/600, высота 48px.
      Контраст 4,63:1 — полная норма AA для обычного текста, без
      освобождения для крупного. Запас есть при любом кегле.
      Ховер #B03A0C (6,08:1): против #CE4711 он различим, тогда как
      прежний #C1400F отличался на 13 единиц и ховер был не виден.
      Вернуть #C1400F — правка одного токена.
      ⛔ Правило-инвариант: темный текст на оранжевой заливке
      не используется нигде и ни в каком тоне. Оранжевый несет
      только светлый текст либо не несет текста вовсе.

   2) ШРИФТЫ · Montserrat 700 снят. Он добавлялся ради надписи 19/700;
      при 16/600 не нужен, а на Контакте FCP 3,9 с и каждый файл
      в критическом пути стоит денег. Взамен добавлено правило
      .mm b,.mm strong{font-weight:600} — иначе браузер синтезировал бы
      поддельный жирный на случайных  без явного веса.

   3) --mm-btn-fs 19px -> 16px, --mm-btn-fw 700 -> 600, высота 56 -> 48,
      поля 34 -> 26. Кнопка возвращается к габаритам, которые стояли
      на боевом до правок.

   4) .mm .link:hover переведен с --mm-accent (#E85114, 3,74:1 текстом)
      на --mm-accent-text (5,02:1).

   5) .mm .input:focus больше не снимает outline. Прежняя редакция
      убирала системный фокус и подменяла его границей #FF6B35 —
      2,72:1 при норме 3:1, то есть поле в фокусе оставалось без
      соответствующего индикатора.

   6) .mm .h3 переведен с Poiret One на гротеск. Poiret остается
      только на H1 первого экрана: у гарнитуры запятая визуально
      неотличима от точки, на кегле текста она запрещена.

   7) .mm .tag поднят с 10px до 11px — нижняя граница шкалы.

   8) Плейсхолдер попапа #A8A8A8 (2,38:1) -> --mm-meta. В формах пока
      нет label, плейсхолдер работает подписью поля и обязан читаться.

   9) Кнопка попапа Tilda приведена к тому же канону: #CE4711, 16/600.

   10) СНЯТЫ СЕКЦИИ 10, 11, 12 (.mm-pulse, .mm-nav, .mm-footer) —
       мертвый код. Боевая шапка живет на классах mmnav__*, футер
       на mmft__*, пульс-полоса своя. Ноль вхождений во всех
       двенадцати выгрузках сайта. В снятых правилах оставались
       два последних #FF6B35 текстом.

   11) .mm .btn получил max-width:100% и уменьшенные поля на узких
       экранах — страховка от разрыва контейнера длинной подписью.

   ═══ ⛔ ЧТО ЭТОТ ФАЙЛ НЕ ЧИНИТ · ЧИТАТЬ ОБЯЗАТЕЛЬНО ═══

   Класс .mm .btn--primary на боевом сайте НЕ ИСПОЛЬЗУЕТСЯ НИ РАЗУ.
   Все кнопки сайта — блочные: mmxd__btn--primary, mmkgate__btn--primary,
   mmnav__cta и другие, всего 35 правил в шести файлах, каждое вида
   background:var(--color-primary,#FF6B35)!important; color:#fff!important.
   Это белый на #FF6B35, то есть 2,84:1, и глобальная правка до них
   не доходит ни при каких условиях: id плюс !important.

   Решение по кнопке закрывается только проходом по блокам.
   Настоящий файл задает канон и токены; применение — отдельная работа.
   Список: Главная, Эксперт, Книга, Повестка, тамбур /app, шапка.

   Секции 3-9 ниже (типографика, карточки, поля, сетка, плашки)
   на боевом также не используются: блоки верстались на собственных
   классах. Секции сохранены как канон для новой верстки, а не как
   работающий слой. Реально работают: токены, мост 1-Б, база (секция 2),
   .mm .reveal и .mm :focus-visible (секция 13), стили попапа.
   ═══════════════════════════════════════════════════════════════════ */

/* 0. ШРИФТЫ (jsDelivr, кириллица+латиница, без VPN) */
@font-face{font-family:'Unbounded';font-weight:600;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/unbounded/files/unbounded-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Unbounded';font-weight:600;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/unbounded/files/unbounded-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2018-2019,U+201C-201D,U+2026,U+2212;}
@font-face{font-family:'Poiret One';font-weight:400;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/poiret-one/files/poiret-one-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Poiret One';font-weight:400;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/poiret-one/files/poiret-one-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2018-2019,U+201C-201D,U+2026,U+2212;}
@font-face{font-family:'Montserrat';font-weight:400;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/montserrat/files/montserrat-cyrillic-400-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Montserrat';font-weight:400;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/montserrat/files/montserrat-latin-400-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2018-2019,U+201C-201D,U+2026,U+2212;}
@font-face{font-family:'Montserrat';font-weight:500;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/montserrat/files/montserrat-cyrillic-500-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Montserrat';font-weight:500;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/montserrat/files/montserrat-latin-500-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2018-2019,U+201C-201D,U+2026,U+2212;}
@font-face{font-family:'Montserrat';font-weight:600;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/montserrat/files/montserrat-cyrillic-600-normal.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Montserrat';font-weight:600;font-style:normal;font-display:swap;src:url('https://cdn.jsdelivr.net/npm/@fontsource/montserrat/files/montserrat-latin-600-normal.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2018-2019,U+201C-201D,U+2026,U+2212;}

/* 1. ТОКЕНЫ */
:root{
  --mm-primary:#FF6B35; --mm-accent:#E85114; --mm-heading:#000000;
  --mm-body:#595959; --mm-meta:#6E6E6E; --mm-bg-page:#FAFAFA; --mm-bg-card:#FFFFFF;
  --mm-bg-soft:#FFF0EB; --mm-bg-warm:#FFF7F3; --mm-border:#CCCCCC; --mm-border-light:#E2E2E2;

  /* Оранжевый, пригодный для текста и границ: 5,02:1 на #FAFAFA.
     --mm-primary #FF6B35 текстом и границей интерактивного элемента
     не используется нигде: 2,84:1 текстом, 2,72:1 границей.
     Его место — графика: тире эйбрау, пульс-полоса, лента футера,
     точка логотипа, декоративные акценты. */
  --mm-accent-text:#C1400F;

  /* КНОПКИ · вариант B, решение владельца 07.08.
     Белый на #CE4711 — 4,63:1, обычная норма AA при любом кегле.
     Ховер #B03A0C — 6,08:1.
     ⛔ Темный текст на оранжевой заливке не применяется никогда:
        правило-инвариант, пересмотру не подлежит. */
  --mm-btn-bg:#CE4711; --mm-btn-bg-hover:#B03A0C; --mm-btn-text:#FFFFFF;
  --mm-btn-fs:16px; --mm-btn-fw:600; --mm-btn-h:48px; --mm-btn-pad:26px;

  --mm-font-system:'Unbounded',-apple-system,BlinkMacSystemFont,sans-serif;
  --mm-font-heading:'Poiret One','Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
  --mm-font-ui:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif;
  --mm-r-sm:4px; --mm-r-md:8px; --mm-r-lg:16px;

  /* Только нефункциональные перечни, метки, чипы-фильтры и статусные
     плашки. К кнопкам, ссылкам-действиям и полям форм не применяется. */
  --mm-r-pill:999px;

  --mm-shadow:0 4px 12px rgba(0,0,0,.04); --mm-shadow-hover:0 12px 28px rgba(255,107,53,.16);
  --mm-spring:cubic-bezier(0.34,1.56,0.64,1); --mm-t-fast:0.2s var(--mm-spring); --mm-t-base:0.25s ease-in-out;
}

/* ═══ 1-Б. МОСТ СОВМЕСТИМОСТИ ═══
   Легаси-имена токенов (канон v3.0.1) для блоков, сверстанных
   до фиксации Фундамента. Значения наследуются от --mm-*:
   бренд правится в одном месте. Не удалять. */
:root{
  --color-primary:var(--mm-primary);
  --color-accent-book:var(--mm-accent);
  --color-heading:var(--mm-heading);
  --color-body:var(--mm-body);
  --color-meta:var(--mm-meta);
  --color-border:var(--mm-border);
  --color-border-light:var(--mm-border-light);
  --bg-page:var(--mm-bg-page);
  --bg-card:var(--mm-bg-card);
  --bg-soft:var(--mm-bg-soft);
  --font-system:var(--mm-font-system);
  --font-heading:var(--mm-font-heading);
  --font-ui:var(--mm-font-ui);
  --color-accent-text:var(--mm-accent-text);
  --radius-pill:var(--mm-r-pill);
  --radius-sm:var(--mm-r-sm);
  --radius-md:var(--mm-r-md);
  --radius-lg:var(--mm-r-lg);
  --shadow-base:var(--mm-shadow);
  --shadow-hover:var(--mm-shadow-hover);
  --ease-spring:var(--mm-spring);
  --t-fast:var(--mm-t-fast);
  --t-base:var(--mm-t-base);
}

/* 2. БАЗА (заскоплена под .mm — Tilda не затрагивается) */
.mm,.mm *{box-sizing:border-box;}
.mm{font-family:var(--mm-font-ui);color:var(--mm-body);-webkit-font-smoothing:antialiased;}
.mm img{max-width:100%;display:block;}
.mm a{color:inherit;}
/* Начертания 700 в наборе нет: без этого правила браузер синтезирует
   поддельный жирный на любом  или  без явного веса. */
.mm b,.mm strong{font-weight:600;}

/* 3. ТИПОГРАФИКА */
.mm .h1{font-family:var(--mm-font-heading);font-weight:400;font-size:clamp(34px,5vw,48px);line-height:1.12;color:var(--mm-heading);word-spacing:-.045em;margin:0;}
/* H2 на гротеске: Poiret One остается только на H1 первого экрана.
   Кегль снижен намеренно — Montserrat 600 тяжелее Poiret 400 на том же
   размере и без снижения H2 начинает перевешивать H1. */
.mm .h2{font-family:var(--mm-font-ui);font-weight:600;font-size:clamp(24px,2.8vw,32px);line-height:1.25;letter-spacing:-.02em;color:var(--mm-heading);margin:0;}
/* v4.0.3: был Poiret One. Display-гарнитура на кегле текста запрещена —
   у Poiret запятая визуально неотличима от точки. */
.mm .h3{font-family:var(--mm-font-ui);font-weight:600;font-size:18px;line-height:1.35;color:var(--mm-heading);margin:0;}
.mm .h3-small{font-family:var(--mm-font-ui);font-weight:600;font-size:16px;line-height:1.35;color:var(--mm-heading);margin:0;}
.mm .p{font-family:var(--mm-font-ui);font-weight:400;font-size:16px;line-height:1.6;color:var(--mm-body);margin:0;}
.mm .ps{font-family:var(--mm-font-ui);font-weight:400;font-size:13px;line-height:1.5;color:var(--mm-body);margin:0;}
.mm .lead{font-family:var(--mm-font-ui);font-size:clamp(16px,1.6vw,18px);line-height:1.62;color:var(--mm-body);margin:0;}
.mm .lbl{font-family:var(--mm-font-ui);font-weight:500;font-size:12px;color:var(--mm-meta);}
.mm .num{font-family:var(--mm-font-system);font-weight:600;}
/* v4.0.3: было 10px. Нижняя граница шкалы — 11px, и только для меток. */
.mm .tag{font-family:var(--mm-font-system);font-weight:600;font-size:11px;letter-spacing:.1em;text-transform:uppercase;}
.mm .muted{color:var(--mm-meta);}
.mm .eyebrow{display:inline-block;font-family:var(--mm-font-system);font-weight:600;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mm-accent-text,#C1400F);margin-bottom:18px;}
.mm .blockquote{border-left:3px solid var(--mm-primary);padding-left:20px;margin:32px 0;}
.mm .blockquote p{font-family:var(--mm-font-ui);font-size:18px;font-style:italic;color:var(--mm-body);line-height:1.6;margin:0;}
.mm .link{color:var(--mm-body);text-decoration:underline;text-decoration-color:var(--mm-primary);text-decoration-thickness:1px;text-underline-offset:4px;transition:color var(--mm-t-base);}
/* v4.0.3: ховер был --mm-accent #E85114 — 3,74:1 текстом при норме 4,5:1. */
.mm .link:hover{color:var(--mm-accent-text,#C1400F);text-decoration-color:var(--mm-accent-text,#C1400F);}

/* 4. КНОПКИ */
.mm .btn{font-family:var(--mm-font-ui);font-weight:600;font-size:15px;border-radius:var(--mm-r-md);cursor:pointer;border:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 28px;max-width:100%;transition:background var(--mm-t-base),color var(--mm-t-base),transform var(--mm-t-fast);text-decoration:none;}
/* Основная кнопка · вариант B. Белый на #CE4711 — 4,63:1: обычная норма
   AA, освобождение для крупного текста не требуется, запас есть
   при любом кегле. Кегль и вес можно менять свободно — норма
   держится заливкой, а не размером. */
.mm .btn--primary{background:var(--mm-btn-bg,#CE4711);color:var(--mm-btn-text,#FFFFFF);font-size:var(--mm-btn-fs,16px);font-weight:var(--mm-btn-fw,600);height:var(--mm-btn-h,48px);padding:0 var(--mm-btn-pad,26px);}
.mm .btn--primary:hover{background:var(--mm-btn-bg-hover,#B03A0C);transform:translateY(-2px);}
/* Контурная кнопка: #E85114 текстом на белом дает 3,74:1 при норме 4,5:1 —
   проваливала AA так же, как основная. */
.mm .btn--ghost{background:transparent;color:var(--mm-accent-text,#C1400F);border:1.5px solid var(--mm-accent-text,#C1400F);}
.mm .btn--ghost:hover{background:rgba(193,64,15,.08);}

/* 5. КАРТОЧКИ */
.mm .card{background:var(--mm-bg-card);border-radius:var(--mm-r-md);box-shadow:var(--mm-shadow);transition:transform var(--mm-t-fast),box-shadow var(--mm-t-base);}
.mm .card--hover:hover{transform:translateY(-6px);box-shadow:var(--mm-shadow-hover);}

/* 6. ПОЛЯ ФОРМ */
.mm .input{font-family:var(--mm-font-ui);font-size:14px;font-weight:500;border:1.5px solid var(--mm-border-light);border-radius:var(--mm-r-md);padding:12px 16px;transition:border-color var(--mm-t-base);background:var(--mm-bg-card);width:100%;}
/* v4.0.3: прежняя редакция снимала outline и подменяла его границей
   #FF6B35 — 2,72:1 при норме 3:1 для нетекстовых элементов.
   Поле в фокусе оставалось без соответствующего индикатора. */
.mm .input:focus-visible{border-color:var(--mm-accent-text,#C1400F);outline:2px solid var(--mm-accent-text,#C1400F);outline-offset:2px;}

/* 7. СЕТКА / СЕКЦИИ */
.mm .wrap{max-width:1140px;margin:0 auto;padding:0 24px;}
.mm .section{padding:84px 0;}
.mm .head{max-width:32em;margin-bottom:44px;}
.mm .head.center{margin-left:auto;margin-right:auto;text-align:center;}

/* 8. СВЕТЛАЯ ПРЕМИУМ-ПЛАШКА */
.mm .plate-soft{position:relative;overflow:hidden;background:linear-gradient(160deg,#FFFFFF 0%,#FFF3EC 100%);border:1px solid var(--mm-border-light);border-radius:var(--mm-r-lg);box-shadow:var(--mm-shadow);}
.mm .plate-soft::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#FF6B35,#E85114,#FF8B5E,#FF6B35);background-size:300% 100%;animation:mmpulse 6s linear infinite;}
@keyframes mmpulse{0%{background-position:0% 50%;}100%{background-position:300% 50%;}}

/* 9. CTA-ПЛАШКА */
.mm .ctaplate{background:var(--mm-bg-soft);border-radius:var(--mm-r-lg);padding:54px 40px;text-align:center;}
.mm .ctaplate .h2{margin:0 0 14px;}
.mm .ctaplate .lead{margin:0 auto 26px;max-width:40em;}

/* Секции 10, 11 и 12 сняты в v4.0.3 как мертвый код:
   .mm-pulse, .mm-nav, .mm-footer — ноль вхождений на боевом.
   Шапка живет на mmnav__*, футер на mmft__*, пульс-полоса своя. */

/* 13. SCROLL-REVEAL + ДОСТУПНОСТЬ */
.mm .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s var(--mm-spring);}
.mm .reveal.is-visible{opacity:1;transform:none;}
/* Фокус-кольцо: #FF6B35 против #FAFAFA дает 2,72:1 при норме 3:1
   для нетекстовых элементов (WCAG 1.4.11). #C1400F дает 5,02:1. */
.mm :focus-visible{outline:2px solid var(--mm-accent-text,#C1400F);outline-offset:2px;}
@media (prefers-reduced-motion:reduce){
  .mm .reveal{opacity:1;transform:none;}
  .mm .plate-soft::before{animation:none;}
  .mm .btn--primary:hover{transform:none;}
  .mm .card--hover:hover{transform:none;}
}

/* 14. АДАПТИВ СЕКЦИЙ */
@media(max-width:760px){.mm .section{padding:52px 0;}.mm .wrap{padding:0 20px;}.mm .ctaplate{padding:40px 22px;}}
@media(max-width:480px){
  .mm .wrap{padding:0 16px;}
  /* Уменьшается поле, не кегль: страховка от разрыва контейнера
     длинной подписью на узком экране. */
  .mm .btn{padding:0 18px;}
  .mm .btn--primary{padding:0 18px;}
}

/* ─── Стиль формы в попапе под бренд MM ─── */
.t-popup .t-input,
.t-popup textarea.t-input{
  border:1.5px solid #E2E2E2 !important;
  border-radius:8px !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:14px !important;
  color:#161616 !important;
  background:#fff !important;
}
/* v4.0.3: было #A8A8A8 — 2,38:1 на белом. Пока в формах нет label,
   плейсхолдер работает подписью поля и обязан читаться. */
.t-popup .t-input::placeholder{color:#6E6E6E !important;}
.t-popup .t-input:focus{border-color:#C1400F !important;}
/* v4.0.3: приведено к канону кнопки — #CE4711, 16px/600. */
.t-popup .t-submit{
  background:#CE4711 !important;
  color:#FFFFFF !important;
  border:none !important;
  border-radius:8px !important;
  font-family:'Montserrat',sans-serif !important;
  font-size:16px !important;
  font-weight:600 !important;
  letter-spacing:.02em !important;
  transition:background .2s ease !important;
}
.t-popup .t-submit:hover{background:#B03A0C !important;}
.t-popup .t-title,
.t-popup .t-name{font-family:'Poiret One','Montserrat',sans-serif !important;}

/* 15. КНОПКА В ОКНЕ УСПЕШНОЙ ОТПРАВКИ (Tilda) */
.t-form__successbox button,
.t-form__successbox .t-submit{
  background-color:transparent !important;
  color:#C1400F !important;
  border:1.5px solid #C1400F !important;
  border-radius:8px !important;
  font-family:'Unbounded',sans-serif !important;
  font-weight:600 !important;
  transition:background-color .2s ease,color .2s ease;
}
.t-form__successbox button:hover,
.t-form__successbox .t-submit:hover{
  background-color:#FFF0EB !important;
  color:#C1400F !important;
}

/* ─── ПЕРЕБИВАНИЕ СЕРЫХ ПОЛЕЙ ПОПАПА (BF502N) ───
   ⚠ Правило привязано к номеру записи #rec2459248901. Если попап
   будет пересоздан, номер сменится и правило умрет молча.
   При пересоздании попапа — проверить и обновить номер. */
#rec2459248901 .t-input.t-input,
#rec2459248901 textarea.t-input.t-input{
  background-color:#fff !important;
  background-image:none !important;
  box-shadow:none !important;
  -webkit-box-shadow:none !important;
}
#rec2459248901 .t-input:-webkit-autofill,
#rec2459248901 .t-input:-webkit-autofill:hover,
#rec2459248901 .t-input:-webkit-autofill:focus{
  -webkit-box-shadow:0 0 0 1000px #fff inset !important;
  -webkit-text-fill-color:#161616 !important;
}