/* ============================================================
   АРХИТЕКТОР · site.v159.css - единый источник правды (дизайн-слой)
   Подключается после инлайн-стилей каждой страницы и выигрывает каскад.
   Только визуал: ни одного нового текстового элемента.
   ============================================================ */

:root {
  --ink:#0E131A; --ink-2:#131A22; --ink-3:#0B0F15;
  --paper:#FCFBF7; --paper-2:#F7F4EC;
  --gold:#C69E52; --gold-l:#DEB86E; --gold-xl:#F1D9A7; --gold-d:#8C6E37; --gold-dd:#7A5C2A;
  --txt:#273038; --txt-mut:#8C97A3;
  --fs-d1:76px; --fs-d2:54px; --fs-d2-m:44px; --fs-d3:42px; --fs-d3-m:30px;
  --lh-base:1.65; --lh-prose:1.7;
  --sp-1:8px; --sp-2:16px; --sp-3:24px; --sp-4:40px; --sp-5:64px; --sp-6:96px;
  --r-s:10px; --r-m:14px; --r-pill:20px;
  --lift-card:-4px; --lift-plate:-2px;
  --t-fast:.2s; --t-med:.35s; --t-slow:.6s;
  /* лестница теней (единственные высоты сайта) */
  --sh-1: 0 6px 16px -10px rgba(14,19,26,.28);
  --sh-2: 0 16px 36px -20px rgba(14,19,26,.38);
  --sh-3: 0 30px 60px -30px rgba(14,19,26,.5);
  --hair: 1px solid rgba(198,158,82,.14);
  /* канонические брейкпоинты для нового кода: 1120 / 1000 / 860 / 700 / 560 / 400 */
}

/* ============ 1. ШАПКА: одно поведение везде (стекло) ============ */
.top {
  background:#0E131A;
  background:rgba(14,19,26,.92);
  -webkit-backdrop-filter:saturate(140%) blur(10px);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid rgba(198,158,82,.35);
}

/* ============ 2. ПОЯВЛЕНИЕ БЛОКОВ: один характер ============ */
.js-reveal .rv {
  -webkit-transform:translateY(14px); transform:translateY(14px);
  -webkit-transition:opacity .5s cubic-bezier(.22,1,.36,1), -webkit-transform .5s cubic-bezier(.22,1,.36,1);
  transition:opacity .5s cubic-bezier(.22,1,.36,1), transform .5s cubic-bezier(.22,1,.36,1);
}

/* ============ 3. КНОПКА: канон ============ */
.btn {
  cursor:pointer;
  background:#C69E52;
  background:linear-gradient(135deg,#C69E52,#DEB86E);
  border-radius:var(--r-s);
  padding:15px 34px;
  font-family:'Oswald',Arial,sans-serif;
  -webkit-transition:box-shadow .22s, background .22s, -webkit-transform .22s;
  transition:box-shadow .22s, background .22s, transform .22s;
}
/* призрачная кнопка остаётся призрачной (табы «Условия» и т.п.) */
.btn-ghost, .btn.ghost {
  background:transparent;
}

/* ============ 4. ФИНАЛЬНЫЙ CTA: градиент как на хабах ============ */
.finale {
  background:#0E131A;
  background:linear-gradient(180deg,#111821,#0B1016);
}

/* ============ 5. ХОВЕР-ЯЗЫК: два уровня подъёма ============ */
@media (hover:hover) and (pointer:fine) {
  .card:hover, .js-reveal .card.on:hover,
  .pm-card:hover, .js-reveal .pm-card.on:hover,
  .deliver:hover, .js-reveal .deliver.on:hover,
  .stage:hover, .js-reveal .stage.on:hover,
  .ab-col:hover, .js-reveal .ab-col.on:hover,
  .tool:hover, .js-reveal .tool.on:hover,
  .feat:hover, .js-reveal .feat.on:hover,
  .tlc:hover, .js-reveal .tlc.on:hover {
    -webkit-transform:translateY(var(--lift-card)); transform:translateY(var(--lift-card));
  }
  .price-hero:hover, .js-reveal .price-hero.on:hover,
  .statement:hover, .js-reveal .statement.on:hover {
    -webkit-transform:translateY(var(--lift-plate)); transform:translateY(var(--lift-plate));
  }
}

/* ============ 6. ТИПОШКАЛА H1 ============ */
/* Главная: .h-title 76→58→42 (на странице). Хабы: .ahero. Внутренние: .ehero. */
.ahero h1 { font-size:var(--fs-d2); }
@media (max-width:700px) {
  .ahero h1 { font-size:var(--fs-d2-m); }
  .ehero h1 { font-size:var(--fs-d3-m); }
}

/* ============ 7. КОНТРАСТ: золото-текст на светлом ============ */
.calc .cap { color:var(--gold-d); }
.dic { color:#9A7A3C; }
.arch-eyebrow b, .tbrand { color:var(--gold-dd); }
/* ПРАВИЛО ПИЛЮЛЬ: на светлом - светлая капсула (#F9F2E2→#EFE3C9, текст --gold-dd),
   на тёмном - тёмная (#161E28→#090D12, текст --gold-l). */

/* ============ 8. ДИАГРАММЫ: мобильные подписи орбитальной схемы ============ */
@media (max-width:700px) {
  .diag.orb .dg-t { font-size:1.0625rem; }
  .diag.orb .dg-t.dg-tc { font-size:0.9375rem !important; }
}

/* ============ 9. ПАУЗА АНИМАЦИЙ ВНЕ ЭКРАНА / В ФОНЕ ============ */
[data-av] *, [data-av] *:before, [data-av] *:after,
html[data-hid] *, html[data-hid] *:before, html[data-hid] *:after {
  -webkit-animation-play-state:paused !important;
  animation-play-state:paused !important;
}

/* ============ 10. «ОРИЕНТИРЫ»: график роста рядом с текстом в рамке ============ */
/* Парные ряды (7 и 8): графика в колонке 340px со своим естественным размером,
   текст и графика взаимно центрированы по вертикали - как в ряду спидометра. */
.math-flex { gap:44px; }
.math-flex .gauge-wrap { -webkit-flex:0 0 340px; flex:0 0 340px; margin-right:0; }
.math-flex .gauge-wrap svg { display:block; width:100%; height:auto; }
.math-flex.orient { margin:26px 0 42px; }
.math-flex.orient .diag.orient-graph { -webkit-flex:0 0 340px; flex:0 0 340px; min-width:0; margin:0; max-width:none; }
/* масштаб конструкции: полная высота = высоте прежнего второго столба (≈73%) */
.math-flex.orient .diag.orient-graph svg { display:block; width:250px; max-width:100%; height:auto; margin:0 auto; }
.math-flex .statement, .math-flex.orient .statement { -webkit-flex:1; flex:1; max-width:none; margin:0; }
@media (max-width:900px) {
  .math-flex.orient { display:block; }
  .math-flex.orient .diag.orient-graph { margin:0 auto 22px; max-width:420px; }
  .math-flex .gauge-wrap { margin:0 auto 22px; }
}
.lead .glead { font-weight:700; color:#8C6E37; }
.math-flex.orient .statement p { margin:0; font-size:1.0625rem; line-height:var(--lh-prose); }
@media (max-width:700px) {
  .math-flex.orient { gap:22px; }
  .math-flex.orient .statement { -webkit-flex:1 1 100%; flex:1 1 100%; }
}

/* ============ 11. ХИРО-ГРАФИК: тихая жизнь (рост А→Б) ============ */
/* волна по узлам кривой: последовательные мягкие кольца */
html.anim-ok .art3d .npulse {
  fill:none; stroke:#DEB86E; stroke-width:1.2;
  -webkit-transform-box:fill-box; transform-box:fill-box;
  -webkit-transform-origin:center; transform-origin:center;
  -webkit-animation:npulse 4.8s ease-out infinite; animation:npulse 4.8s ease-out infinite;
  opacity:0;
}
html:not(.anim-ok) .art3d .npulse { display:none; }
@-webkit-keyframes npulse {
  0% { opacity:0; -webkit-transform:scale(.55); }
  12% { opacity:.4; }
  46% { opacity:0; -webkit-transform:scale(1.9); }
  100% { opacity:0; -webkit-transform:scale(1.9); }
}
@keyframes npulse {
  0% { opacity:0; transform:scale(.55); }
  12% { opacity:.4; }
  46% { opacity:0; transform:scale(1.9); }
  100% { opacity:0; transform:scale(1.9); }
}
/* стрелка вершины: мягкое дыхание */
html.anim-ok .art3d .apex { -webkit-animation:hapex 3.8s ease-in-out infinite; animation:hapex 3.8s ease-in-out infinite; }
@-webkit-keyframes hapex { 0%,100% { opacity:.72; } 50% { opacity:1; } }
@keyframes hapex { 0%,100% { opacity:.72; } 50% { opacity:1; } }
/* медленная искра-комета вдоль кривой */
html:not(.anim-ok) .h-comet { visibility:hidden; }
@media (prefers-reduced-motion: reduce) {
  .h-comet { visibility:hidden !important; }
  .art3d .npulse { display:none !important; }
  .art3d .apex { -webkit-animation:none !important; animation:none !important; }
}

/* ============ 12. СТРАНИЦА-СПУТНИК (404) ============ */
.solo { min-height:100vh; display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column;
  background:#0E131A; color:#F7F4EC;
  background-image:linear-gradient(rgba(198,158,82,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(198,158,82,.06) 1px, transparent 1px);
  background-size:44px 44px; }
.solo main { -webkit-flex:1; flex:1; display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center; }
.solo .wrap { width:100%; max-width:760px; margin:0 auto; padding:40px 24px; text-align:center; }
.solo-code { font-family:'Oswald',Arial,sans-serif; font-weight:600; font-size:7.5rem; line-height:1;
  background:linear-gradient(135deg,#F1D9A7,#C69E52 55%,#8C6E37);
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:#C69E52; }
.solo h1 { font-family:'Oswald',Arial,sans-serif; font-weight:600; font-size:2.125rem; letter-spacing:0.0294em;
  text-transform:uppercase; margin:18px 0 14px; color:#F7F4EC; }
.solo p { color:#B7C1CC; font-size:1.0312rem; line-height:1.6; max-width:520px; margin:0 auto 26px; }
.solo .btns { display:-webkit-flex; display:flex; gap:12px; -webkit-justify-content:center; justify-content:center; -webkit-flex-wrap:wrap; flex-wrap:wrap; }
.solo .home-mark { position:fixed; top:20px; left:24px; display:block; width:40px; height:40px; opacity:.9; }
.solo .home-mark:hover { opacity:1; }
@media (max-width:560px) { .solo-code { font-size:5.25rem; } .solo h1 { font-size:1.5rem; } }

/* ============ 13. (зарезервировано) ============ */
.statement.light.work-note, .statement.light.team-note { margin:26px 0 24px; }
.statement.light.work-note p, .statement.light.team-note p { margin:0; font-size:1.0625rem; line-height:var(--lh-prose); }
.statement.light.work-note p + p { margin-top:14px; }
.statement.light.team-note { margin-bottom:18px; }

/* бегущий блик по граням столбов (в покое невидим) */
html.anim-ok .g3-sheen { -webkit-animation:g3sheen 7.5s ease-in-out infinite; animation:g3sheen 7.5s ease-in-out infinite;
  -webkit-transform-box:fill-box; transform-box:fill-box; -webkit-transform-origin:center; transform-origin:center; }
@-webkit-keyframes g3sheen { 0% { -webkit-transform:translateX(0); } 16% { -webkit-transform:translateX(232px); } 100% { -webkit-transform:translateX(232px); } }
@keyframes g3sheen { 0% { transform:translateX(0); } 16% { transform:translateX(232px); } 100% { transform:translateX(232px); } }
@media (prefers-reduced-motion: reduce) { .g3-sheen { -webkit-animation:none !important; animation:none !important; } }

/* ============ ЧИСТАЯ ГРАФИКА: гасители статичных ореолов у артов ============ */
.aura, .ehero-a:before { display:none !important; }
/* арт-иллюстрации видимы, но без drop-shadow-теней и гало */
.emb, .ehero-a .emb { -webkit-filter:none !important; filter:none !important; }


/* ============================================================
   v130 · ПРЕМИУМ-СЛОЙ: мера, ритм, главы, материал, детали
   ============================================================ */

/* --- 16–17. Мера строки и ритм секций: исходные (полноширинная композиция сайта) --- */

/* --- 20–21. Подвал: исходный (без изменений слоя) --- */

/* --- 22. ЦИФРЫ И ТИПОГРАФИКА --- */
body { font-variant-numeric:tabular-nums lining-nums; }
.h-title { letter-spacing:-.5px; }
@media (max-width:700px) { .h-title { letter-spacing:0; } }
@media (max-width:700px) {
  p, li { -webkit-hyphens:auto; hyphens:auto; }
}

/* --- 23. СИСТЕМНЫЕ ДЕТАЛИ --- */
:root { accent-color:#C69E52; }
html { color-scheme:light; }


/* --- 24. ВЫКЛЮЧКА ОБЫЧНОГО ТЕКСТА: ровный правый край --- */
.prose p, .lead, .art-body p {
  text-align:justify;
  -moz-text-align-last:left; text-align-last:left;
  -webkit-hyphens:auto; hyphens:auto;
}


/* ============================================================
   v136 · ФИНАЛЬНАЯ ОГРАНКА
   Только то, что повышает класс исполнения и не меняет картинку.
   ============================================================ */

/* --- 25. ЧЕСТНЫЕ НАЧЕРТАНИЯ ---
   Запрет синтетического жирного/курсива: браузер больше не «размазывает»
   недостающий вес, а берёт настоящий. Проверено: все используемые веса
   (Oswald 500/600, Montserrat 400/600/700) реально загружены. */
html { font-synthesis:none; -webkit-font-synthesis:none; }

/* --- 26. НИ ОДНОГО ВЫЛЕТА ЗА КРАЙ ---
   Длинные слова и адреса (например, ссылка в подвале) на узких экранах
   переносятся, а не ломают сетку. */
body { overflow-wrap:break-word; }

/* --- 27. МГНОВЕННЫЙ ОТКЛИК НА КАСАНИЕ ---
   Убирает задержку распознавания двойного тапа на мобильных. */
a, button, .btn, input, label, summary { touch-action:manipulation; }

/* --- 28. ПОЛОСА ПРОКРУТКИ В FIREFOX ---
   Раньше фирменной она была только в Chrome/Safari. */
html { scrollbar-width:thin; scrollbar-color:rgba(198,158,82,.45) transparent; }

/* --- 29. ФОКУС: читаемый на обеих подложках ---
   На светлом - глубокое золото (контраст 4.6:1), на тёмном - светлое. */
a:focus-visible, button:focus-visible, .btn:focus-visible,
input:focus-visible, summary:focus-visible, [tabindex]:focus-visible {
  outline:2px solid #8C6E37; outline-offset:3px; border-radius:4px;
}
.top a:focus-visible, .hero a:focus-visible, .finale a:focus-visible,
.mq a:focus-visible, .statement.dark a:focus-visible, .feat:focus-visible,
.price-hero a:focus-visible, .footer a:focus-visible {
  outline-color:#DEB86E;
}

/* --- 31. ПЕЧАТЬ: чистый документ ---
   Сайт печатается как аккуратный документ, а не как скриншот интерфейса. */
@media print {
  @page { margin:16mm; }
  html, body { background:#FFFFFF !important; color:#111111 !important; }
  .top, .mq, .rn, #btt, .bgn, .vwrap, .hero-grid, .aura, canvas, video { display:none !important; }
  * { -webkit-animation:none !important; animation:none !important;
      -webkit-transition:none !important; transition:none !important;
      box-shadow:none !important; text-shadow:none !important; }
  .js-reveal .rv { opacity:1 !important; -webkit-transform:none !important; transform:none !important; }
  .sec { padding:18px 0 10px !important; }
  .sec-bar, .gbar { background:#111111 !important; }
  .card, .tool, .stage, .deliver, .feat, .tlc, .statement, .price-hero, .mt tr, .diag {
    break-inside:avoid; page-break-inside:avoid;
  }
  h1, h2, h3 { break-after:avoid; page-break-after:avoid; }
  a { text-decoration:underline; }
}


/* ============================================================
   v137 · ХОРЕОГРАФИЯ ДВИЖЕНИЯ
   Ни одного нового элемента, ни одного нового цвета -
   усилен только характер того, что уже двигается.
   ============================================================ */

/* --- 32. ВОЛНА ПО РЯДУ ---
   Раньше все карточки сетки появлялись одновременно (в коде стояло
   принудительное обнуление задержки). Теперь каждая строка «прокатывается»
   слева направо: 1-я колонка сразу, 2-я через 80мс, 3-я через 160мс.
   Задержка считается внутри строки и не накапливается даже на 77 карточках. */
html.anim-ok .cards .card.rv:nth-child(3n+2),
html.anim-ok .agrid .tool.rv:nth-child(3n+2) {
  -webkit-transition-delay:.08s; transition-delay:.08s;
}
html.anim-ok .cards .card.rv:nth-child(3n+3),
html.anim-ok .agrid .tool.rv:nth-child(3n+3) {
  -webkit-transition-delay:.16s; transition-delay:.16s;
}
/* широкая карточка занимает ряд целиком - стартует без задержки */
html.anim-ok .cards .card.w2.rv { -webkit-transition-delay:0s; transition-delay:0s; }

/* --- 33. ЛЕНТА РУБРИК: последовательный набор ---
   Волна реализована анимацией появления, а не задержкой переходов:
   задержка перехода «прилипала» бы к каждому ховеру чипа. */
html.anim-ok .js-reveal .chips-in a {
  -webkit-animation:chipIn .5s cubic-bezier(.22,1,.36,1) backwards;
  animation:chipIn .5s cubic-bezier(.22,1,.36,1) backwards;
  -webkit-animation-delay:calc(var(--chd, 0) * 45ms); animation-delay:calc(var(--chd, 0) * 45ms);
}
.chips-in a:nth-child(1) { --chd:0 } .chips-in a:nth-child(2) { --chd:1 }
.chips-in a:nth-child(3) { --chd:2 } .chips-in a:nth-child(4) { --chd:3 }
.chips-in a:nth-child(5) { --chd:4 } .chips-in a:nth-child(6) { --chd:5 }
.chips-in a:nth-child(7) { --chd:6 } .chips-in a:nth-child(8) { --chd:7 }
.chips-in a:nth-child(9) { --chd:8 } .chips-in a:nth-child(10) { --chd:9 }
.chips-in a:nth-child(11) { --chd:10 } .chips-in a:nth-child(12) { --chd:11 }
@-webkit-keyframes chipIn { from { opacity:0; -webkit-transform:translateY(7px); } to { opacity:1; -webkit-transform:none; } }
@keyframes chipIn { from { opacity:0; transform:translateY(7px); } to { opacity:1; transform:none; } }

/* --- 34. ТАБЛИЦА ОРИЕНТИРОВ: строки набираются сверху вниз --- */
html.anim-ok .js-reveal .tbl-wrap.rv .metrics tr { opacity:0; }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr {
  -webkit-animation:rowIn .5s cubic-bezier(.22,1,.36,1) both; animation:rowIn .5s cubic-bezier(.22,1,.36,1) both;
}
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(1) { -webkit-animation-delay:.05s; animation-delay:.05s }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(2) { -webkit-animation-delay:.13s; animation-delay:.13s }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(3) { -webkit-animation-delay:.21s; animation-delay:.21s }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(4) { -webkit-animation-delay:.29s; animation-delay:.29s }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(5) { -webkit-animation-delay:.37s; animation-delay:.37s }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(6) { -webkit-animation-delay:.45s; animation-delay:.45s }
html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr:nth-child(n+7) { -webkit-animation-delay:.53s; animation-delay:.53s }
@-webkit-keyframes rowIn { from { opacity:0; -webkit-transform:translateY(8px) } to { opacity:1; -webkit-transform:none } }
@keyframes rowIn { from { opacity:0; transform:translateY(8px) } to { opacity:1; transform:none } }

/* --- 35. ГРАФИКА ОТВЕЧАЕТ НА КАСАНИЕ КУРСОРА ---
   Иконки и арты внутри карточек оживают только при наведении на карточку. */
@media (hover:hover) and (pointer:fine) {
  .card .ic, .tool .tcard svg, .feat .fk i {
    -webkit-transition:-webkit-transform .5s cubic-bezier(.22,1,.36,1);
    transition:transform .5s cubic-bezier(.22,1,.36,1);
  }
  .card:hover .ic { -webkit-transform:translateY(-3px) scale(1.06); transform:translateY(-3px) scale(1.06); }
  .tool:hover .tcard svg { -webkit-transform:scale(1.05); transform:scale(1.05); }
}

/* --- 36. ПОКОЙ ПРИ ОТКЛЮЧЁННОЙ АНИМАЦИИ --- */
@media (prefers-reduced-motion: reduce) {
  html.anim-ok .cards .card.rv, html.anim-ok .agrid .tool.rv {
    -webkit-transition-delay:0s !important; transition-delay:0s !important;
  }
  html.anim-ok .js-reveal .chips-in a { -webkit-animation:none !important; animation:none !important; opacity:1; }
  html.anim-ok .js-reveal .tbl-wrap.rv .metrics tr,
  html.anim-ok .js-reveal .tbl-wrap.rv.on .metrics tr {
    opacity:1 !important; -webkit-animation:none !important; animation:none !important;
  }
  .card .ic, .tool .tcard svg { -webkit-transition:none !important; transition:none !important; }
}


/* ============================================================
   v138 · ПОСТАНОВКА ГРАФИКИ В ПРОСТРАНСТВЕ
   На главной глубину даёт сцена (пол-перспектива + трёхгранные призмы).
   Артам инструментов и блога глубину раньше давала тень - она убрана.
   Возвращаем объём не эффектами, а постановкой: объект стоит в перспективе
   и медленно поворачивается, показывая свои грани.
   ============================================================ */

.emb, .cs-art > svg, .ahero-art .orb, .bhero-art .orb {
  -webkit-transform-origin:50% 60%; transform-origin:50% 60%;
  will-change:transform;
}

/* базовая стойка: лёгкий наклон от зрителя + доворот по вертикали */
html.anim-ok .emb {
  -webkit-animation:artDepth 18s cubic-bezier(.42,0,.58,1) infinite;
  animation:artDepth 18s cubic-bezier(.42,0,.58,1) infinite;
}
html.anim-ok .ahero-art .orb, html.anim-ok .bhero-art .orb {
  -webkit-animation:artDepthWide 26s cubic-bezier(.42,0,.58,1) infinite;
  animation:artDepthWide 26s cubic-bezier(.42,0,.58,1) infinite;
}
/* у .ahero-art перспектива уже задана контейнером (900px) -
   собственную перспективу орбите не назначаем, иначе искажение удваивается */
html.anim-ok .ahero-art .orb { -webkit-perspective:none; perspective:none; }
html:not(.anim-ok) .emb,
.cs-art > svg {
  -webkit-transform:perspective(1400px) rotateX(5deg) rotateY(-7deg);
  transform:perspective(1400px) rotateX(5deg) rotateY(-7deg);
}

@-webkit-keyframes artDepth {
  0%   { -webkit-transform:perspective(1400px) rotateX(6deg) rotateY(-9deg) translateY(0); }
  50%  { -webkit-transform:perspective(1400px) rotateX(3deg) rotateY(8deg) translateY(-7px); }
  100% { -webkit-transform:perspective(1400px) rotateX(6deg) rotateY(-9deg) translateY(0); }
}
@keyframes artDepth {
  0%   { transform:perspective(1400px) rotateX(6deg) rotateY(-9deg) translateY(0); }
  50%  { transform:perspective(1400px) rotateX(3deg) rotateY(8deg) translateY(-7px); }
  100% { transform:perspective(1400px) rotateX(6deg) rotateY(-9deg) translateY(0); }
}
@-webkit-keyframes artDepthWide {
  0%   { -webkit-transform:perspective(1900px) rotateX(4deg) rotateY(-6deg); }
  50%  { -webkit-transform:perspective(1900px) rotateX(2deg) rotateY(6deg); }
  100% { -webkit-transform:perspective(1900px) rotateX(4deg) rotateY(-6deg); }
}
@keyframes artDepthWide {
  0%   { transform:perspective(1900px) rotateX(4deg) rotateY(-6deg); }
  50%  { transform:perspective(1900px) rotateX(2deg) rotateY(6deg); }
  100% { transform:perspective(1900px) rotateX(4deg) rotateY(-6deg); }
}

/* мобильные: амплитуда мягче, чтобы тонкие линии оставались чёткими */
@media (max-width:700px) {
  html.anim-ok .emb {
    -webkit-animation-duration:22s; animation-duration:22s;
    -webkit-transform-origin:50% 55%; transform-origin:50% 55%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.anim-ok .emb, html.anim-ok .ahero-art .orb, html.anim-ok .bhero-art .orb {
    -webkit-animation:none !important; animation:none !important;
    -webkit-transform:perspective(1400px) rotateX(4deg) rotateY(-5deg);
    transform:perspective(1400px) rotateX(4deg) rotateY(-5deg);
  }
}


/* ============================================================
   v139 · МАТЕРИАЛ ГРАФИКИ: металл вместо краски
   ============================================================ */

/* --- 37. КОЛЬЦА-ОРБИТЫ: полированный металл ---
   Было: плоская краска одной прозрачности по всей окружности.
   Стало: градиент, который «ловит свет» на одной стороне кольца -
   тот же приём, что на объёмных телах главной страницы. */
.emb .toring { stroke:url(#ringG3); stroke-width:1.8; }

/* --- 38. НЕСУЩИЕ ЛИНИИ: объёмная фаска ---
   Соединители получают лёгкое утолщение и мягкий торец. */
.emb .tline { stroke-width:3.2; stroke-linecap:round; stroke-linejoin:round; }

/* --- 39. ЯДРА И УЗЛЫ: живая оптика ---
   Блик на сфере смещается в такт повороту сцены, как настоящий
   отражённый свет, а не нарисованное пятно. */
html.anim-ok .emb .tnode { -webkit-transform-box:fill-box; transform-box:fill-box; }

@media (prefers-reduced-motion: reduce) {
  .emb .toring { stroke-width:1.6; }
}


/* ============================================================
   v140 · ПО ИТОГАМ УСТРОЙСТВЕННОГО АУДИТА
   ============================================================ */

/* --- 40. ГАРАНТИЯ ОТ ГОРИЗОНТАЛЬНОЙ ПРОКРУТКИ ---
   Повёрнутый в перспективе арт занимает чуть более широкий габарит,
   чем его блок. На узких экранах это могло дать полосу прокрутки. */
@media (min-width:1025px){ html, body { overflow-x:hidden; } }
.ehero-a, .ahero-art, .bhero-art, .cs-art { overflow:visible; }

/* --- 41. ВЫКЛЮЧКА ТОЛЬКО ТАМ, ГДЕ ОНА КРАСИВА ---
   На узкой колонке выключка по ширине даёт «реки» пробелов -
   ниже 560px возвращаем естественный левый край. */
@media (max-width:560px) {
  .prose p, .lead, .art-body p { text-align:left; text-align-last:left; }
}

/* --- 42. КАСКАД ПО ФАКТИЧЕСКОМУ ЧИСЛУ КОЛОНОК ---
   Волна должна идти по строке сетки, а сетка меняется с шириной:
   3 колонки → 2 → 1. Ниже 640px каскад не нужен вовсе. */
@media (max-width:1000px) {
  html.anim-ok .cards .card.rv:nth-child(3n+2),
  html.anim-ok .agrid .tool.rv:nth-child(3n+2),
  html.anim-ok .cards .card.rv:nth-child(3n+3),
  html.anim-ok .agrid .tool.rv:nth-child(3n+3) {
    -webkit-transition-delay:0s; transition-delay:0s;
  }
  html.anim-ok .cards .card.rv:nth-child(2n),
  html.anim-ok .agrid .tool.rv:nth-child(2n) {
    -webkit-transition-delay:.08s; transition-delay:.08s;
  }
}
@media (max-width:640px) {
  html.anim-ok .cards .card.rv, html.anim-ok .agrid .tool.rv {
    -webkit-transition-delay:0s !important; transition-delay:0s !important;
  }
  html.anim-ok .js-reveal .chips-in a { -webkit-animation:none !important; animation:none !important; }
}

/* --- 43. ЧЁТКОСТЬ ТОНКИХ ЛИНИЙ ПРИ ПОВОРОТЕ ---
   На экранах без Retina 3D-поворот может «замыливать» штрих 1px.
   Снижаем амплитуду там, где плотность пикселей низкая. */
@media (max-resolution:1.5dppx) {
  html.anim-ok .emb {
    -webkit-animation-name:artDepthSoft; animation-name:artDepthSoft;
  }
}
/* Safari не понимает max-resolution - тот же порог его синтаксисом */
@media (-webkit-max-device-pixel-ratio:1.5) {
  html.anim-ok .emb {
    -webkit-animation-name:artDepthSoft; animation-name:artDepthSoft;
  }
}
@-webkit-keyframes artDepthSoft {
  0%   { -webkit-transform:perspective(1600px) rotateX(4deg) rotateY(-6deg) translateY(0); }
  50%  { -webkit-transform:perspective(1600px) rotateX(2deg) rotateY(5deg) translateY(-6px); }
  100% { -webkit-transform:perspective(1600px) rotateX(4deg) rotateY(-6deg) translateY(0); }
}
@keyframes artDepthSoft {
  0%   { transform:perspective(1600px) rotateX(4deg) rotateY(-6deg) translateY(0); }
  50%  { transform:perspective(1600px) rotateX(2deg) rotateY(5deg) translateY(-6px); }
  100% { transform:perspective(1600px) rotateX(4deg) rotateY(-6deg) translateY(0); }
}


/* ============================================================
   v141 · ЭРГОНОМИКА КАСАНИЯ И ЧИСТОТА КОДА
   ============================================================ */

/* --- 44. ТАП-ЗОНЫ ПО НОРМЕ 44px ---
   Визуально ничего не сдвигается: площадь нажатия расширяется
   внутренним отступом, а отрицательный внешний его компенсирует.
   Мелкие ссылки перестают требовать снайперской точности пальца. */
@media (max-width:900px) and (pointer:coarse) {
  .footer a { display:inline-block; padding:11px 6px; margin:-11px -6px; }
  .chips a { padding-top:13px; padding-bottom:13px; }
  .tarr { min-width:44px; min-height:44px; }
  .crumbs a { display:inline-block; padding:9px 4px; margin:-9px -4px; }
}
@media (max-width:640px) and (pointer:coarse) {
  .rn { padding:11px 0; }
}

/* --- 45. КОРРЕКТНАЯ ОТМЕНА ПРОЗРАЧНОСТИ ---
   Системная настройка «уменьшить прозрачность» (iOS/macOS) -
   стекло шапки заменяется плотным фоном, читаемость не страдает. */
@media (prefers-reduced-transparency: reduce) {
  .top { background:#0E131A; -webkit-backdrop-filter:none; backdrop-filter:none; }
}

/* --- 46. РЕЖИМ ВЫСОКОЙ КОНТРАСТНОСТИ WINDOWS ---
   В forced-colors системная палитра заменяет фирменную; следим,
   чтобы графика и границы не исчезали полностью. */
@media (forced-colors: active) {
  .btn, .card, .tool .tcard, .feat, .statement { border:1px solid CanvasText; }
  .emb, .diag svg, .orb { forced-color-adjust:none; }
}


/* ============================================================
   v143 · МОБИЛЬНАЯ СТАБИЛЬНОСТЬ
   ============================================================ */

/* --- 47. ВСТРОЕННЫЕ БРАУЗЕРЫ: ЧЕСТНЫЙ РАЗМЕР ТЕКСТА ---
   Instagram/FB-браузеры без этого правила «раздувают» отдельные
   надписи (кнопка в шапке становилась двухэтажной). */
html { -webkit-text-size-adjust:100%; text-size-adjust:100%; }
/* ============================================================
   v144 · ПЕРВЫЙ ЭКРАН ГЛАВНОЙ: ГЕРОЙ ЗАНИМАЕТ ВЕСЬ ВЬЮПОРТ
   Секция цифр начинается строго за сгибом: на первом экране видна
   только её верхняя линия. Работает на любой высоте окна.
   ============================================================ */
@media (min-width:901px) {
  .hero .hero-in {
    min-height:calc(100vh - 62px);
    min-height:calc(100svh - 62px);
    box-sizing:border-box;
  }
}


/* ============================================================
   v147 · МОБИЛЬНАЯ ПЛАВНОСТЬ ПРОКРУТКИ
   ============================================================ */
/* Стекло липкой шапки заставляет пере-собирать кадр под ней на
   каждом пикселе скролла - на телефонах это главный источник
   «залипания». На касании шапка плотная, визуально почти та же. */
@media (max-width:900px) {
  .top {
    background:#0E131A;
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }
  .orb3d { display:none !important; }
}


/* ============================================================
   v148 · НАВИГАЦИЯ ШАПКИ: КАПСУЛА ВМЕСТО ПОДЧЁРКИВАНИЯ
   Единый премиальный ховер на всех страницах: вокруг пункта
   мягко проявляется золотая капсула с внутренним световым
   ребром, пункт слегка приподнимается и укрупняется. Активная
   страница несёт ту же капсулу постоянно.
   ============================================================ */
.top .nav a.nl {
  position:relative;
  display:inline-block;
  line-height:1;
  padding:9px 11px;
  margin-right:6px;
  border-radius:10px;
  border:1px solid rgba(198,158,82,0);
  background:rgba(198,158,82,0);
  -webkit-transition:color .22s cubic-bezier(.22,1,.36,1), background-color .22s cubic-bezier(.22,1,.36,1),
    border-color .22s cubic-bezier(.22,1,.36,1), box-shadow .22s cubic-bezier(.22,1,.36,1),
    -webkit-transform .22s cubic-bezier(.22,1,.36,1);
  transition:color .22s cubic-bezier(.22,1,.36,1), background-color .22s cubic-bezier(.22,1,.36,1),
    border-color .22s cubic-bezier(.22,1,.36,1), box-shadow .22s cubic-bezier(.22,1,.36,1),
    transform .22s cubic-bezier(.22,1,.36,1);
}
.top .nav a.nl:after { content:none; }
.top .nav a.nl:hover {
  color:#F1D9A7;
  background:rgba(198,158,82,.12);
  border-color:rgba(198,158,82,.28);
  box-shadow:inset 0 1px 0 rgba(255,246,224,.22);
  -webkit-transform:translateY(-1px) scale(1.04);
  transform:translateY(-1px) scale(1.04);
}
.top .nav a.nl:active {
  -webkit-transform:translateY(0) scale(.97);
  transform:translateY(0) scale(.97);
}
.top .nav a.nl.act {
  color:#F1D9A7;
  background:rgba(198,158,82,.14);
  border-color:rgba(198,158,82,.45);
  box-shadow:inset 0 1px 0 rgba(255,246,224,.25);
}
/* рудимент клик-вспышки на пунктах шапки - отключён */
.top .nav a.nl.prs { -webkit-filter:none !important; filter:none !important; }
@media (prefers-reduced-motion: reduce) {
  .top .nav a.nl, .top .nav a.nl:hover, .top .nav a.nl:active {
    -webkit-transform:none !important; transform:none !important;
  }
}


/* ============================================================
   v149 / ЛЕЙБЛЫ БЕЗ ДЕКОРАТИВНОЙ ЧЕРТЫ
   Единый формат по всему сайту: надзаголовки выделяются
   капителью, трекингом и золотом / без линий и точек.
   ============================================================ */
.eyebrow::before, .eyebrow:before { content:none !important; display:none !important; }


/* ============================================================
   v150 / ПЛАВНЫЙ ПЕРВЫЙ РЕНДЕР
   Резерв под полосу прокрутки: раскладка не пере-считывается,
   когда полоса появляется по мере догрузки контента.
   ============================================================ */
@media (min-width:1025px){ html { scrollbar-gutter:stable; } }


/* ============================================================
   v162 · ФИНАЛЬНЫЙ ПРОХОД ПО АУДИТУ ФАЙЛА
   Все правки - поверх каскада; текст и состав анимаций не тронуты.
   ============================================================ */

/* --- 48. ТЕКУЧАЯ ТИПОШКАЛА ДИСПЛЕЕВ ---
   Ступени 76→58→42 (и аналоги) заменены плавной кривой: между
   брейкпоинтами заголовок больше не «прыгает». Крайние значения
   прежние - на канонических ширинах картинка идентична. */
:root {
  --fs-d1: clamp(2.625rem, 1.35rem + 5.44vw, 4.75rem);   /* 42→76, 76 при ≥1000 */
  --fs-d2: clamp(2.75rem, 1.35rem + 3.9vw, 3.375rem);    /* 44→54 */
  --fs-d3: clamp(1.875rem, 1.2rem + 1.9vw, 2.625rem);    /* 30→42 */
}
.h-title { font-size: var(--fs-d1); }
.sec-bar h2, .gbar h2 { font-size: clamp(1.1875rem, 0.9rem + 0.72vw, 1.625rem); }
.hero .ehero h1 { font-size: var(--fs-d3); } /* внутренние страницы: 31↔42 без скачка */
.h-title .gold, .ahero h1 b { font-size: inherit; }
/* прежние мобильные перекрытия §6 больше не нужны - кривая сама
   опускается в минимум раньше 700px; правила ниже нейтральны. */
@media (max-width:700px) {
  .ahero h1 { font-size: var(--fs-d2); }
  .ehero h1 { font-size: var(--fs-d3); }
}

/* --- 49. ПАУЗА ЖИЗНИ ВНЕ ЭКРАНА: ПОЛНОЕ ПОКРЫТИЕ ---
   §9 останавливал потомков; сам блок с собственной анимацией
   (блик секции, лента) продолжал считать кадры. Теперь пауза
   распространяется и на узел, и на его псевдоэлементы. */
[data-av], [data-av]::before, [data-av]::after {
  -webkit-animation-play-state: paused !important;
  animation-play-state: paused !important;
}

/* --- 50. ПУЛЬС ГЛАВНОЙ КНОПКИ: ПРИГЛАШЕНИЕ, А НЕ МЕТРОНОМ ---
   Три мягких удара после появления - и покой. Сам жест сохранён. */
html.anim-ok .finale .btn { -webkit-animation-iteration-count: 3; animation-iteration-count: 3; }

/* --- 51. ВЬЮПОРТ-ЕДИНИЦЫ НОВОГО ПОКОЛЕНИЯ ---
   Фоновые слои считаются от большого вьюпорта (lvh): при скрытии
   адресной строки iOS/Android не остаётся «голой» полосы. Экран
   видео - от малого (svh): кнопка воспроизведения не уезжает. */
.depth { height: 100vh; height: 100lvh; }
.aura.a2 { top: calc(100vh - 34vmax); top: calc(100lvh - 34vmax); }
.vscreen { max-width: min(90vw, calc((100vh - 240px)*1.7777));
           max-width: min(90vw, calc((100svh - 240px)*1.7777)); }

/* --- 52. ТАП-ЗОНЫ КНОПОК ---
   На сенсорных устройствах любая кнопка - не ниже нормы 44px
   (главная CTA - 48px): геометрия добирается высотой строки,
   отступы и рисунок прежние. */
@media (pointer:coarse) {
  .btn { min-height:44px; }
  a.btn, .top .btn { display:inline-flex; align-items:center; justify-content:center; }
  .h-cta .btn { min-height:48px; }
}

/* --- 53. БЕЗОПАСНЫЕ ЗОНЫ ЭКРАНОВ С ВЫРЕЗОМ ---
   Ландшафт iPhone: контент и плавающая кнопка отступают от
   «чёлки» и скруглений корпуса. */
.wrap { padding-left: calc(24px + env(safe-area-inset-left));
        padding-right: calc(24px + env(safe-area-inset-right)); }
.top-in { padding-left: calc(20px + env(safe-area-inset-left));
          padding-right: calc(20px + env(safe-area-inset-right)); }
#btt { right: calc(22px + env(safe-area-inset-right)); }
@media (max-width:640px) { #btt { right: calc(16px + env(safe-area-inset-right)); } }

/* --- 54. ОЧЕНЬ УЗКИЕ ЭКРАНЫ (≤400px) ---
   Полям - 18px: на 360-пиксельных телефонах строка получает
   ещё 12px воздуха, заголовки переносятся реже. */
@media (max-width:400px) {
  .wrap { padding-left: calc(18px + env(safe-area-inset-left));
          padding-right: calc(18px + env(safe-area-inset-right)); }
}

/* --- 55. ПЛАНШЕТНАЯ ЗОНА 1001–1024 (iPad Pro портрет) ---
   Трёхколоночные сетки переходят в две колонки на 24px раньше:
   карточки не сжимаются до нечитаемых. */
@media (max-width:1024px) {
  .cards .card { width:47%; width:calc(50% - 22px); }
  .cards .card.w2 { width:93%; width:calc(100% - 22px); }
  .agrid .tool { width:50%; }
}

/* --- 56. КОНТРАСТ: ДОБОР ДО AA ПО ФАКТИЧЕСКИМ ПАРАМ ---
   Только светлые подложки; тёмные пары уже проходят. Палитра не
   расширена - используются существующие ступени золота и графита. */
a { color: var(--gold-dd); }                       /* 8C6E37 4.2:1 → 7A5C2A 5.9:1 */
.hero a:not(.btn), .finale a:not(.btn), .footer a:not(.btn),
.mq a:not(.btn), .vsec a:not(.btn),
.statement.dark a:not(.btn), .calc a:not(.btn) { color: var(--gold-l); } /* тёмные обёртки; кнопки не задеты */
.eyebrow { color: var(--gold-dd); }                 /* светлые секции */
.hero .eyebrow, .ahero .eyebrow, .mq .eyebrow,
.finale .eyebrow, .vsec .eyebrow, .footer .eyebrow { color: var(--gold-l); }
.deliver-num { color: var(--gold-d); }              /* крупный номер: AA-large 4.3:1 */
.price-hero .cap { color: var(--gold-dd); }         /* мелкая капитель: 2.3 → 5.6 */
.card h3 .tick, .statement.light .glead, .stage-body .wd,
.stage-res .r, table.metrics td.g, .ab-b span.x,
.pm-k, .g-cap, .rz-note { color: var(--gold-dd); }  /* мелкие подписи: 4.2 → 5.2 */
.blog-upd b { color: var(--gold-l); }               /* тёмный герой блога: 3.9 → 6.2 */
.price-line .nds, .ab-a span.x { color:#5B6670; }   /* серые пометы на светлом: 2.6 → 5.2 */

/* --- 57. ЧЁТКОСТЬ КЕРНИНГА ---
   Включаем контекстный кернинг шрифта: пары вида «АВ», «ТА»
   в Oswald собираются плотнее, как в наборе. */
html { font-kerning: normal; text-rendering: optimizeLegibility; }


/* --- 58. ЕДИНАЯ ШАПКА НА ВСЁМ САЙТЕ ---
   Один состав меню и один порог сворачивания (как на главной):
   пункты скрываются ниже 860px на любой странице. */
@media (max-width:860px) { .top .nav a.nl { display:none; } }


/* ============================================================
   v164 · ПРАВКИ ПО СКРИНШОТАМ ВЛАДЕЛЬЦА (16 пунктов)
   ============================================================ */

/* --- 59. (1) ЧИСТЫЙ КУРСОР ---
   Декоративная «стрелка в золотом кольце» у ссылок «Читать статью»
   спорила с настоящим курсором и с минимализмом. Убрана целиком. */
.cur { display:none !important; }
.bgo, .tlf { justify-content:flex-start; }

/* --- 60. (2·7) ШАПКА: ДИСЦИПЛИНА ОДНОЙ СТРОКИ ---
   Ничто в шапке не переносится на вторую строку и не растягивается
   в плиту: пункты и кнопка - всегда компактные капсулы. Логотипу
   гарантирован воздух слева от меню. */
.top .nav { display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center; min-width:0; }
.top .nav a.nl { white-space:nowrap; }
.top .btn { white-space:nowrap; line-height:1.15; padding:9px 18px; -webkit-flex:0 0 auto; flex:0 0 auto; }
.brand { -webkit-flex:0 0 auto; flex:0 0 auto; margin-right:28px; }
@media (max-width:1240px) {
  .top .nav a.nl { padding:9px 8px; margin-right:2px; font-size:.8rem; letter-spacing:.02em; }
  .top .btn { padding:9px 14px; letter-spacing:.08em; }
  .brand { margin-right:16px; }
}
@media (max-width:1080px) {
  .top .nav a.nl { padding:8px 6px; font-size:.78rem; }
  .brand-name { letter-spacing:.14em; }
}
@media (pointer:coarse) {
  .top .btn { min-height:42px; }
}

/* --- 61. (3) ПЛАВНОЕ ОТКРЫТИЕ СТРАНИЦЫ ---
   Пока фирменные шрифты не готовы, страница удерживается невидимой
   и проявляется одним мягким кадром - без «переклейки» заголовка. */
html.fl body { opacity:0; }
body { -webkit-transition:opacity .3s ease; transition:opacity .3s ease; }
@media (prefers-reduced-motion: reduce) { body { -webkit-transition:none; transition:none; } html.fl body { opacity:1; } }

/* --- 62. (8) АКЦЕНТЫ БЕЗ ТЯЖЁЛОГО ЖИРНОГО ---
   Выделения в лидах методологии: полужирный + глубокое золото
   вместо чёрного жирного. Цифры набраны табличным начертанием. */
.md-state p b, .md-loopcap b { font-weight:600; color:var(--gold-l); }

/* --- 63. (9) РЕЙЛ ХАБОВ: РАБОЧЕЕ СОСТОЯНИЕ ---
   Активная точка и подпись - как на главной. */
.rail-nav .rn.on i { background:#DEB86E; border-color:#DEB86E;
  box-shadow:0 0 0 5px rgba(222,184,110,.16); }
/* подпись рейла показывается страницами по hover/flash - как на главной */

/* --- 64. (10) ЖИЗНЬ ДВУХ ТЁМНЫХ ПЛАШЕК §01 ---
   Тот же язык, что у остальных тёмных блоков: редкий медленный блик
   и дыхание подсвеченного звена цепи. В покое - невидимо. */
.md-chaincard, .md-state { position:relative; overflow:hidden; }
html.anim-ok .md-chaincard::after, html.anim-ok .md-state::after {
  content:""; position:absolute; top:-30%; bottom:-30%; width:34%; left:-45%;
  background:linear-gradient(105deg, rgba(255,246,224,0) 0%, rgba(222,184,110,.07) 50%, rgba(255,246,224,0) 100%);
  -webkit-transform:skewX(-14deg); transform:skewX(-14deg);
  -webkit-animation:mdsheen 9s ease-in-out infinite; animation:mdsheen 9s ease-in-out infinite;
  pointer-events:none;
}
html.anim-ok .md-state::after { -webkit-animation-delay:4.5s; animation-delay:4.5s; }
html.anim-ok .md-chaincard::after { -webkit-animation-delay:1.2s; animation-delay:1.2s; }
@-webkit-keyframes mdsheen { 0%{ -webkit-transform:translateX(0) skewX(-14deg); opacity:0;} 5%{ opacity:.9;} 17%{ opacity:.9;} 22%{ -webkit-transform:translateX(430%) skewX(-14deg); opacity:0;} 100%{ -webkit-transform:translateX(430%) skewX(-14deg); opacity:0;} }
@keyframes mdsheen { 0%{ transform:translateX(0) skewX(-14deg); opacity:0;} 5%{ opacity:.9;} 17%{ opacity:.9;} 22%{ transform:translateX(430%) skewX(-14deg); opacity:0;} 100%{ transform:translateX(430%) skewX(-14deg); opacity:0;} }
html.anim-ok .md-node.gold {
  -webkit-animation:mdnodebr 3.6s ease-in-out infinite; animation:mdnodebr 3.6s ease-in-out infinite;
}
@-webkit-keyframes mdnodebr { 0%,100%{ box-shadow:0 0 0 0 rgba(222,184,110,.0);} 50%{ box-shadow:0 0 24px -6px rgba(222,184,110,.55);} }
@keyframes mdnodebr { 0%,100%{ box-shadow:0 0 0 0 rgba(222,184,110,.0);} 50%{ box-shadow:0 0 24px -6px rgba(222,184,110,.55);} }
@media (prefers-reduced-motion: reduce){ .md-chaincard::after,.md-state::after,.md-node{ -webkit-animation:none!important; animation:none!important; } }

/* --- 65. (11) ФУНДАМЕНТ: ГРАФИКА СОПРОВОЖДАЕТ ТЕКСТ ---
   Правая карточка липнет к вьюпорту и едет вместе с чтением -
   пустоты под ней больше нет. */
.md-fnd { -webkit-align-items:center; align-items:center; }
.md-fart { position:static; }

/* --- 66. (12) ВОСЕМЬ ПРАВИЛ: ОДИН РОСТ, ОДИН НИЗ ---
   Карточки одного ряда равны по высоте, «Что даёт» прижато к низу
   с одинаковой линией-отбивкой - пустота стала ритмом, а не дырой. */
.md-rules { -webkit-align-items:stretch; align-items:stretch; }
.md-rule { display:-webkit-flex; display:flex; }
.md-rulec { display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column; width:100%; }
.md-rulec .md-gives { margin-top:auto; padding-top:16px; border-top:1px solid rgba(198,158,82,.22); }
.md-rulec p.t { margin-bottom:18px; }

/* --- 67. (13) СЕМЬ ШАГОВ: КОНТУР ЕДЕТ РЯДОМ ---
   Круг с контуром закрепляется и сопровождает все семь шагов -
   левая колонка больше не пустеет. */
.md-steprows { display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column; gap:40px; margin-top:6px; }
.md-srow { display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center; gap:38px; }
.md-srow .md-loopcard { position:static; -webkit-flex:0 0 min(400px,44%); flex:0 0 min(400px,44%); }
.md-srow .md-stepper { -webkit-flex:1; flex:1; min-width:0; margin:0; }
@media (max-width:940px){
  .md-srow { -webkit-flex-direction:column; flex-direction:column; gap:26px; }
  .md-srow .md-loopcard { -webkit-flex:0 0 auto; flex:0 0 auto; width:100%; }
}

/* --- 68. (14) РИТМ ПРОЕКТА: ТРИ РОВНЫЕ КОЛОНКИ ---
   Названию и периодичности заданы постоянные ширины, капсулы
   выровнены по центру своей колонки - строки читаются как одна
   таблица. */
.md-rtr { display:-webkit-flex; display:flex; -webkit-align-items:center; align-items:center; }
.md-re { -webkit-flex:0 0 250px; flex:0 0 250px; }
.md-rf { -webkit-flex:0 0 230px; flex:0 0 230px; text-align:center; }
.md-rf span { display:inline-flex; -webkit-align-items:center; align-items:center; -webkit-justify-content:center; justify-content:center; min-width:200px; }
@media (max-width:900px){
  .md-rtr { display:block; padding:16px 18px; }
  .md-re { display:block; margin:0 0 8px; }
  .md-rf { display:block; -webkit-flex:none; flex:none; margin:0 0 10px; text-align:left; }
  .md-rf span { min-width:0; }
  .md-rc { display:block; width:auto; }
}

/* --- 69. (15·16) БЕЗ ЛИШНИХ ОРНАМЕНТОВ ---
   Ромбы и линии-прочерки не несут смысла - сняты; финальная плашка
   стала компактной. */
.md-final .fd, .fd, .md-orn,
.md-eyebrow::before, .md-eyebrow > i { display:none !important; content:none !important; }
.md-final { padding-top:30px; padding-bottom:30px; }
.md-final p { margin:0; }


/* ============================================================
   v165 · ВТОРАЯ ВОЛНА ПРАВОК (17 пунктов)
   ============================================================ */

/* --- 70. ГЕРОЙ: ЧЕСТНОЕ ПОЯВЛЕНИЕ ---
   Буквы - только opacity (растяжка ttrack снята навсегда),
   блоки поднимаются мягкими 18px - тем же жестом, что и
   .rv-блоки на страницах разделов. */
@-webkit-keyframes tIn { 0% { opacity:0; -webkit-transform:none; } 100% { opacity:1; -webkit-transform:none; filter:none; } }
@keyframes tIn { 0% { opacity:0; transform:none; } 100% { opacity:1; transform:none; filter:none; } }
@-webkit-keyframes hrise { from { opacity:0; -webkit-transform:translateY(18px); } to { opacity:1; -webkit-transform:translateY(0); } }
@keyframes hrise { from { opacity:0; transform:translateY(18px); } to { opacity:1; transform:translateY(0); } }

/* --- 71. (3) БЕЗ ПРОЖЕКТОРА ЗА КУРСОРОМ ---
   Следящая за мышью подсветка на тёмных блоках отключена:
   курсор везде обычный, поверхность спокойная. */
.spot { display:none !important; }

/* --- 72. (2·6) ЭТАЛОННАЯ ШАПКА ---
   Одна геометрия на всех 96 страницах: одинаковый фон, высота
   64px, воздух у логотипа, ровный правый блок и отступ кнопки
   от «Условий». Капсула текущего раздела - только на страницах
   разделов (aria-current), скролл главной пункты не красит. */
.top { background:#0E131A; -webkit-backdrop-filter:none; backdrop-filter:none; }
.top-in { height:64px; }
.brand { margin-right:32px; }
.top .nav { margin-left:auto; }
.top .nav a.nl { margin-right:8px; padding:9px 12px; }
.top .btn { margin-left:20px; }
.top .nav a.nl.act:not([aria-current="page"]) {
  color:#B7C1CC; background:transparent; border-color:transparent; box-shadow:none; }
.nav a.nl.act:not([aria-current="page"]):after { -webkit-transform:scaleX(0) !important; transform:scaleX(0) !important; }
@media (max-width:1240px) { .brand { margin-right:18px; } .top .btn { margin-left:14px; } }

/* --- 73. (5) ДИРИЖЁР ПРОДАЖ ---
   Вместо куба - оргсхема делегирования: директор сверху, три
   звена команды, по связям вниз бегут задачи, вверх - цифры.
   Подпись карточки - в две строки с воздухом. */
.pm-art .pmv { width:132px; height:132px; display:block; }
.pm-title { white-space:normal; line-height:1.3; padding:0 14px; margin-top:2px; }
.pmv-l { stroke:rgba(198,158,82,.55); stroke-width:1.4; stroke-dasharray:3 4; fill:none; }
.pmv-base { stroke:rgba(198,158,82,.35); stroke-width:1.2; stroke-dasharray:1.5 5; fill:none; }
.pmv-ring { fill:none; stroke:#DEB86E; stroke-width:1.6; opacity:.9; }
.pmv-nr { fill:none; stroke:rgba(222,184,110,.65); stroke-width:1.2; }
.pmv-p { fill:#F1D9A7; opacity:0; }
.pmv-p.p1 { offset-path:path("M100 52 L40 140"); }
.pmv-p.p2 { offset-path:path("M100 52 L100 140"); }
.pmv-p.p3 { offset-path:path("M100 52 L160 140"); }
.pmv-up { fill:#DEB86E; opacity:0; offset-path:path("M100 140 L100 52"); }
html.anim-ok .pmv-p { -webkit-animation:pmrun 3.2s cubic-bezier(.4,0,.3,1) infinite; animation:pmrun 3.2s cubic-bezier(.4,0,.3,1) infinite; }
html.anim-ok .pmv-p.p2 { -webkit-animation-delay:.5s; animation-delay:.5s; }
html.anim-ok .pmv-p.p3 { -webkit-animation-delay:1s; animation-delay:1s; }
html.anim-ok .pmv-up { -webkit-animation:pmrun 3.2s linear infinite 1.9s; animation:pmrun 3.2s linear infinite 1.9s; }
@keyframes pmrun { 0% { offset-distance:0%; opacity:0; } 12% { opacity:1; } 55% { offset-distance:100%; opacity:1; } 64% { opacity:0; offset-distance:100%; } 100% { opacity:0; offset-distance:100%; } }
@-webkit-keyframes pmrun { 0% { offset-distance:0%; opacity:0; } 12% { opacity:1; } 55% { offset-distance:100%; opacity:1; } 64% { opacity:0; offset-distance:100%; } 100% { opacity:0; offset-distance:100%; } }
html.anim-ok .pmv-top { -webkit-transform-origin:100px 42px; transform-origin:100px 42px; -webkit-animation:pmbreathe 3.2s ease-in-out infinite; animation:pmbreathe 3.2s ease-in-out infinite; }
@keyframes pmbreathe { 0%,100% { -webkit-transform:scale(1); transform:scale(1); } 18% { -webkit-transform:scale(1.06); transform:scale(1.06); } }
@-webkit-keyframes pmbreathe { 0%,100% { -webkit-transform:scale(1); } 18% { -webkit-transform:scale(1.06); } }
html.anim-ok .pmv-n .pmv-nr { -webkit-animation:pmcatch 3.2s ease-in-out infinite; animation:pmcatch 3.2s ease-in-out infinite; }
html.anim-ok .n1 .pmv-nr { -webkit-animation-delay:1.55s; animation-delay:1.55s; }
html.anim-ok .n2 .pmv-nr { -webkit-animation-delay:2.05s; animation-delay:2.05s; }
html.anim-ok .n3 .pmv-nr { -webkit-animation-delay:2.55s; animation-delay:2.55s; }
@keyframes pmcatch { 0%,100% { stroke:rgba(222,184,110,.65); } 6% { stroke:#F1D9A7; } }
@-webkit-keyframes pmcatch { 0%,100% { stroke:rgba(222,184,110,.65); } 6% { stroke:#F1D9A7; } }
@supports not (offset-path: path("M0 0 L1 1")) {
  .pmv-p, .pmv-up { opacity:.85; }
  .pmv-p.p1 { cx:70; cy:96; } .pmv-p.p2 { cx:100; cy:96; } .pmv-p.p3 { cx:130; cy:96; } .pmv-up { cx:100; cy:80; }
}
@media (max-width:560px){ .pm-art .pmv { width:96px; height:96px; } }

/* --- 74. (8) ПАРАМЕТРЫ 01·02: МЯГКИЙ ОТКЛИК ---
   Светлые карточки без чужих бликов: ровный подъём с плавной
   тенью, золотой порожек статичен. */
.md-featc { -webkit-transition:box-shadow .38s ease, -webkit-transform .38s ease; transition:box-shadow .38s ease, transform .38s ease; }
@media (hover:hover) and (pointer:fine) {
  .md-featc:hover { -webkit-transform:translateY(-2px); transform:translateY(-2px);
    box-shadow:inset 0 3px 0 #C69E52, 0 26px 52px -30px rgba(140,110,55,.38); }
}

/* --- 75. (9·10·16) ЖИЗНЬ ТЁМНЫХ ПЛАШЕК МЕТОДОЛОГИИ ---
   Цепь: по связям бежит ток, сетка медленно дрейфует, у блока
   глубокая тень с золотой нитью сверху. Статусная плашка дышит
   каймой. Карточка «Скелет-Фундамент» парит, фундамент светится.
   Финальная плашка о встрече - с дыханием рамки. */
.md-chaincard { box-shadow:0 30px 70px -38px rgba(10,14,20,.85), inset 0 1px 0 rgba(241,217,167,.22); }
html.anim-ok .md-chaincard:before { -webkit-animation:gridrift 26s linear infinite; animation:gridrift 26s linear infinite; }
@keyframes gridrift { from { background-position:0 0; } to { background-position:64px 48px; } }
@-webkit-keyframes gridrift { from { background-position:0 0; } to { background-position:64px 48px; } }
.md-lnk { overflow:visible; }
html.anim-ok .md-lnk:not(:last-child):before,
html.anim-ok .md-chainrow .md-lnk:before {
  content:""; position:absolute; top:50%; left:0; width:6px; height:6px; margin-top:-3px;
  border-radius:50%; background:#F1D9A7; box-shadow:0 0 10px 2px rgba(222,184,110,.75);
  -webkit-animation:lnkrun 2.6s ease-in-out infinite; animation:lnkrun 2.6s ease-in-out infinite;
}
@keyframes lnkrun { 0% { left:-6px; opacity:0; } 15% { opacity:1; } 78% { left:calc(100% - 2px); opacity:1; } 100% { left:calc(100% - 2px); opacity:0; } }
@-webkit-keyframes lnkrun { 0% { left:-6px; opacity:0; } 15% { opacity:1; } 78% { left:calc(100% - 2px); opacity:1; } 100% { left:calc(100% - 2px); opacity:0; } }
.md-state { box-shadow:0 26px 60px -36px rgba(10,14,20,.8); }
html.anim-ok .md-state { -webkit-animation:statebr 6s ease-in-out infinite; animation:statebr 6s ease-in-out infinite; }
@keyframes statebr { 0%,100% { border-left-color:#C69E52; } 50% { border-left-color:#EDCB86; } }
@-webkit-keyframes statebr { 0%,100% { border-left-color:#C69E52; } 50% { border-left-color:#EDCB86; } }
.md-fart { position:relative; overflow:hidden; }
html.anim-ok .md-fart svg { -webkit-animation:fartfloat 7s ease-in-out infinite; animation:fartfloat 7s ease-in-out infinite; }
@keyframes fartfloat { 0%,100% { -webkit-transform:translateY(0); transform:translateY(0); } 50% { -webkit-transform:translateY(-4px); transform:translateY(-4px); } }
@-webkit-keyframes fartfloat { 0%,100% { -webkit-transform:translateY(0); } 50% { -webkit-transform:translateY(-4px); } }
/* (v166) золотая подсветка фундамента снята по замечанию владельца */
.md-final { position:relative; overflow:hidden;
  background:linear-gradient(120deg,#111821,#0B1016 55%,#131A24);
  background-size:220% 220%; box-shadow:0 24px 56px -34px rgba(10,14,20,.8); }
html.anim-ok .md-final { -webkit-animation:findrift 12s ease-in-out infinite, finbr 6s ease-in-out infinite; animation:findrift 12s ease-in-out infinite, finbr 6s ease-in-out infinite; }
@keyframes findrift { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@-webkit-keyframes findrift { 0%,100% { background-position:0% 50%; } 50% { background-position:100% 50%; } }
@keyframes finbr { 0%,100% { border-color:rgba(198,158,82,.3); } 50% { border-color:rgba(222,184,110,.65); } }
@-webkit-keyframes finbr { 0%,100% { border-color:rgba(198,158,82,.3); } 50% { border-color:rgba(222,184,110,.65); } }

/* --- 76. (13) ТРЕК 4–7 ---
   Вторая тёмная карта: восходящий пунктирный маршрут к точке Б,
   линия прорисовывается, узлы вспыхивают каскадом. */
.md-track { -webkit-align-self:center; align-self:center; }
.tk-path { fill:none; stroke:rgba(198,158,82,.35); stroke-width:1.6; stroke-dasharray:3 6; }
.tk-run { fill:none; stroke:#DEB86E; stroke-width:2; stroke-linecap:round;
  stroke-dasharray:58 500; stroke-dashoffset:58; }
html.anim-ok .tk-run { -webkit-animation:tkrun 4.2s cubic-bezier(.45,0,.3,1) infinite; animation:tkrun 4.2s cubic-bezier(.45,0,.3,1) infinite; }
@keyframes tkrun { 0% { stroke-dashoffset:58; opacity:0; } 8% { opacity:1; } 82% { stroke-dashoffset:-500; opacity:1; } 100% { stroke-dashoffset:-500; opacity:0; } }
@-webkit-keyframes tkrun { 0% { stroke-dashoffset:58; opacity:0; } 8% { opacity:1; } 82% { stroke-dashoffset:-500; opacity:1; } 100% { stroke-dashoffset:-500; opacity:0; } }
.tk-r { fill:#0E131A; stroke:rgba(222,184,110,.7); stroke-width:1.4; }
.tk-t { font-family:'Oswald',Arial,sans-serif; font-size:15px; font-weight:600; fill:#0E131A; text-anchor:middle; }
.tk-br { fill:none; stroke:#DEB86E; stroke-width:1.6; stroke-dasharray:4 5; }
.tk-bd { fill:#F1D9A7; }
.tk-bt { font-family:'Oswald',Arial,sans-serif; font-size:12.5px; letter-spacing:.18em; fill:#DEB86E; text-anchor:middle; }
.tk-ar { fill:none; stroke:#DEB86E; stroke-width:1.6; stroke-linecap:round; }
html.anim-ok .tk-n .tk-r { -webkit-animation:tkcatch 4.2s ease-in-out infinite; animation:tkcatch 4.2s ease-in-out infinite; }
html.anim-ok .t1 .tk-r { -webkit-animation-delay:.5s; animation-delay:.5s; }
html.anim-ok .t2 .tk-r { -webkit-animation-delay:1.3s; animation-delay:1.3s; }
html.anim-ok .t3 .tk-r { -webkit-animation-delay:2.1s; animation-delay:2.1s; }
html.anim-ok .t4 .tk-r { -webkit-animation-delay:2.9s; animation-delay:2.9s; }
@keyframes tkcatch { 0%,100% { stroke:rgba(222,184,110,.7); } 7% { stroke:#F1D9A7; } }
@-webkit-keyframes tkcatch { 0%,100% { stroke:rgba(222,184,110,.7); } 7% { stroke:#F1D9A7; } }
html.anim-ok .tk-bd { -webkit-animation:mdnodebr 3.6s ease-in-out infinite; animation:mdnodebr 3.6s ease-in-out infinite; }

/* --- 77. (14) 65%: ЖИВОЕ ПРАВИЛО ---
   Цифра переливается золотом, под ней при появлении заполняется
   линия ровно на 65%. */
.md-comm .pc .n { background:linear-gradient(100deg,#8C6E37,#DEB86E 38%,#F1D9A7 52%,#DEB86E 66%,#8C6E37);
  background-size:240% 100%; -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
html.anim-ok .md-comm .pc .n { -webkit-animation:goldpan 6.5s ease-in-out infinite; animation:goldpan 6.5s ease-in-out infinite; }
@keyframes goldpan { 0%,100% { background-position:0% 0; } 50% { background-position:100% 0; } }
@-webkit-keyframes goldpan { 0%,100% { background-position:0% 0; } 50% { background-position:100% 0; } }
.md-comm .pc { position:relative; }
.md-comm .pc:after { content:""; position:absolute; left:8%; bottom:-10px; height:3px; width:0;
  border-radius:2px; background:linear-gradient(90deg,#8C6E37,#DEB86E);
  -webkit-transition:width 1.1s cubic-bezier(.3,0,.2,1) .25s; transition:width 1.1s cubic-bezier(.3,0,.2,1) .25s; }
.md-comm.rv.on .pc:after { width:65%; }

/* --- 78. (15) КРИТЕРИИ ОДНОЙ ВЫСОТЫ --- */
.md-chkr { -webkit-align-items:center; align-items:center; min-height:62px; padding:14px 26px; }
.md-cb, .md-cs { padding-top:0; }

/* --- 79. (17) ПОРТАЛ В АРСЕНАЛ ---
   Переход к инструментам - тёмная лента с золотыми нитями,
   сеткой и редким бликом: методология завершилась, начинается
   арсенал. */
.md-bridge { position:relative; overflow:hidden; text-align:center; margin-top:56px;
  background:#0E131A; background:linear-gradient(180deg,#131A24,#0B1016 70%);
  border-top:1px solid rgba(198,158,82,.5); border-bottom:1px solid rgba(198,158,82,.35);
  padding:62px 0 58px; }
.md-bridge:before { content:""; position:absolute; inset:0; opacity:.5; pointer-events:none;
  background:
    linear-gradient(rgba(198,158,82,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(198,158,82,.07) 1px, transparent 1px);
  background-size:44px 44px; }
html.anim-ok .md-bridge:before { -webkit-animation:gridrift 30s linear infinite; animation:gridrift 30s linear infinite; }
html.anim-ok .md-bridge .wrap:after { content:""; position:absolute; top:-30%; bottom:-30%; width:30%; left:-40%;
  background:linear-gradient(105deg, rgba(255,246,224,0), rgba(222,184,110,.08) 50%, rgba(255,246,224,0));
  -webkit-transform:skewX(-14deg); transform:skewX(-14deg);
  -webkit-animation:mdsheen 11s ease-in-out infinite 2s; animation:mdsheen 11s ease-in-out infinite 2s; pointer-events:none; }
.md-bridge .wrap { position:relative; }
.md-bridge .md-eyebrow { color:#DEB86E; letter-spacing:.3em; margin-bottom:14px; }
.md-bridge h2 { color:#F7F4EC; font-size:clamp(1.75rem, 3.4vw, 2.5rem); letter-spacing:.06em; margin-bottom:14px; }
.md-bridge p { color:#B7C1CC; max-width:720px; margin:0 auto; }

/* --- 80. Финальные штрихи --- */
.md-wide { margin-top:26px; }
@media (prefers-reduced-motion: reduce) {
  .pmv-p, .pmv-up, .pmv-top, .pmv-nr, .tk-run, .tk-r, .tk-bd,
  .md-lnk:before, .md-chaincard:before, .md-state, .md-final,
  .md-fart svg, .md-fart:after, .md-comm .pc .n, .md-bridge:before, .md-bridge .wrap:after {
    -webkit-animation:none !important; animation:none !important; }
  .md-comm .pc:after { -webkit-transition:none; transition:none; width:65%; }
}


/* --- 81. Ток по цепи - только на горизонтальных связях --- */
@media (max-width:700px){ .md-lnk:before { display:none !important; } }


/* ============================================================
   v166 · ТРЕТЬЯ ВОЛНА ПРАВОК
   ============================================================ */

/* --- 82. (2) ШАПКА: ТИПОГРАФИКА ЭТАЛОНА ---
   Пункты меню на всех страницах ровно как на «Методологии» и в
   «Блоге»: 13px без трекинга. Ступени сжатия на узких экранах
   подтверждены заново, чтобы каскад не растерял их. */
.top .nav a.nl { font-size:.8125rem; letter-spacing:normal;
  -webkit-transition:color .22s ease; transition:color .22s ease; }
.brand-name { font-size:.9688rem; letter-spacing:.1935em; }
@media (max-width:1240px) {
  .top .nav a.nl { font-size:.8rem; letter-spacing:.02em; }
}
@media (max-width:1080px) {
  .top .nav a.nl { font-size:.78rem; }
}

/* --- 83. (5) СТРОКА «РЕЗУЛЬТАТ» ---
   Плашка и текст встают в две ровные колонки: переносы текста
   выравниваются по тексту, а не уползают под плашку. */
.md-res { display:-webkit-flex; display:flex; -webkit-align-items:flex-start; align-items:flex-start; gap:12px; }
.md-res .rl { -webkit-flex:0 0 auto; flex:0 0 auto; margin-right:0; margin-top:2px; }

/* --- 84. (4) ТРЕК 4–7: ПОРТРЕТНЫЙ ХОЛСТ ---
   Диаграмма заполняет карту по высоте, узлы крупнее, «Точка Б»
   с воздухом над кольцом. */
.md-track { display:-webkit-flex; display:flex; -webkit-flex-direction:column; flex-direction:column; }
.md-track svg { width:100%; height:auto; display:block; }
.md-track .md-loopcap { margin-top:14px; }
.tk-t { font-size:16px; }
.tk-bt { font-size:13.5px; }

/* --- 85. (7) МЕЛКАЯ ПОЛИРОВКА --- */
.md-wide { max-width:none; }


/* ============================================================
   v167 · ЧЕТВЁРТАЯ ВОЛНА ПРАВОК
   ============================================================ */

/* --- 86. ГЕРОЙ: КАСКАД СВЕРХУ ВНИЗ ---
   Появление структуры первой страницы - очередь сверху вниз,
   как на «Методологии» и в «Блоге»: бровь, заголовок, подводка,
   мета, кнопки, цифры. Короткие интервалы, буквы заголовка -
   одновременно, показ начинается после загрузки шрифтов. */
html.enh .h-title { -webkit-animation-name:hrise; animation-name:hrise; }
html.enh .hero-copy > .eyebrow { -webkit-animation-delay:.05s; animation-delay:.05s; }
html.enh .hero-copy > .h-title { -webkit-animation-delay:.16s; animation-delay:.16s; }
html.enh .hero-copy > .h-sub { -webkit-animation-delay:.32s; animation-delay:.32s; }
html.enh .hero-copy > .h-meta { -webkit-animation-delay:.44s; animation-delay:.44s; }
html.enh .hero-copy > .h-cta { -webkit-animation-delay:.56s; animation-delay:.56s; }
html.enh .hero .h-stats { -webkit-animation-delay:.68s; animation-delay:.68s; }
html.enh .h-title .tl { -webkit-animation-delay:0s; animation-delay:0s; }
html.enh .h-title .tl.gold { -webkit-animation-delay:0s, 0s; animation-delay:0s, 0s; }

/* --- 87. (3) СВЕТЛЫЙ ТЕКСТ БЕЗ ЗОЛОТОГО ЖИРНОГО ---
   В обычных абзацах и лидах на светлом фоне выделения сняты:
   ровный сплошной текст. Акценты остаются только в тёмных
   плашках с короткими формулами. */
.md-lead b, .md-p b, .md-fnd-copy b,
.md-pull p b, .md-comm .cc p b { font-weight:inherit; color:inherit; }


/* --- 88. Каскад героя и reduced-motion --- */
@media (prefers-reduced-motion: reduce) {
  html.enh .hero-copy > .eyebrow,
  html.enh .hero-copy > .h-title,
  html.enh .hero-copy > .h-sub,
  html.enh .hero-copy > .h-meta,
  html.enh .hero-copy > .h-cta,
  html.enh .hero .h-stats,
  html.enh .h-title .tl { -webkit-animation:none !important; animation:none !important; opacity:1; -webkit-transform:none; transform:none; }
}


/* ============================================================
   v169 · МОБИЛЬНЫЙ ПАКЕТ
   ============================================================ */

/* --- 89. (1) СВОБОДНЫЙ СКРОЛЛ ---
   У страницы не остаётся горизонтального люфта (его создавал
   декоративный эллипс 560px и широкие арты) - диагональный свайп
   больше не уходит в боковой пан. Плюс убран blur-ореол и лишний
   перекрас на телефонах. */
@media (min-width:1025px){ html, body { overflow-x:hidden; } }
body { -webkit-tap-highlight-color:transparent; }
.rz-orb svg { width:100%; height:auto; }
.card, .tcard, .bcard, .tlc, .md-featc { touch-action:pan-y; }
@media (max-width:820px) {
  .halo, .mac-sheen, .spot { display:none !important; }
  html.anim-ok .price-hero:before { -webkit-animation:none; animation:none; }
  html.anim-ok .md-chaincard::after,
  html.anim-ok .md-state::after,
  html.anim-ok .md-bridge:before,
  html.anim-ok .md-bridge .wrap:after,
  html.anim-ok .md-chaincard:before,
  html.anim-ok .md-fart svg,
  html.anim-ok .md-final,
  html.anim-ok .md-comm .pc .n { -webkit-animation:none !important; animation:none !important; }
  .md-comm .pc .n { background-position:50% 0; }
}

/* --- 90. (2·3·4) КАРТОЧКИ ГЛАВНОЙ: ОДНА В РЯД --- */
@media (max-width:700px) {
  .cards { margin:0 !important; }
  .cards > * { -webkit-flex:1 1 100% !important; flex:1 1 100% !important;
    max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
}

/* --- 91. (9) ИНСТРУМЕНТЫ: ОДНА КАРТОЧКА В РЯД НА ТЕЛЕФОНЕ --- */
@media (max-width:700px) {
  .agrid { margin:0 !important; }
  .agrid > * { -webkit-flex:1 1 100% !important; flex:1 1 100% !important;
    max-width:100% !important; margin-left:0 !important; margin-right:0 !important; }
}

/* --- 92. (7) ЧЕК-ЛИСТ: АККУРАТНЫЙ КРУЖОК, А НЕ ОВАЛ ---
   Иконка - фиксированный кружок 26px слева, название и пояснение
   двумя строками справа. */
@media (max-width:700px) {
  .md-chkr { display:grid; grid-template-columns:26px 1fr;
    -webkit-column-gap:14px; column-gap:14px; row-gap:4px;
    -webkit-align-items:start; align-items:start; padding:14px 16px; min-height:0; }
  .md-ic { width:26px; height:26px; -webkit-flex:none; flex:none;
    margin:2px 0 0; grid-row:1 / span 2; display:inline-flex; }
  .md-cb { grid-column:2; width:auto; -webkit-flex:none; flex:none; }
  .md-cs { grid-column:2; }
}

/* --- 93. (10) МОБИЛЬНАЯ ПОЛИРОВКА МЕТОДОЛОГИИ --- */
@media (max-width:700px) {
  .md-bridge { padding:46px 0 40px; margin-top:40px; }
  .md-bridge h2 { letter-spacing:.04em; }
  .md-loopcap { font-size:.8rem; }
  .md-cb { font-size:.8rem; letter-spacing:.12em; }
  .md-res { gap:10px; }
}


/* ============================================================
   v170 · СКОРОСТЬ ТЕЛЕФОНА И ПОРЯДОК §04
   ============================================================ */

/* --- 94. (3) МОБИЛЬНЫЙ ПОРЯДОК ЧЕТВЁРТОГО РАЗДЕЛА ---
   Контур -> шаги 1-3 -> трек к точке Б -> шаги 4-7. */
@media (max-width:940px) {
  .md-steprows .md-srow:last-child { -webkit-flex-direction:column-reverse; flex-direction:column-reverse; }
}

/* --- 95. (3) НАКОНЕЧНИК СТРЕЛКИ --- */
.tk-ah { fill:#DEB86E; stroke:#DEB86E; stroke-width:1; stroke-linejoin:round; }

/* --- v173: портал в арсенал сливается с финалом; фундамент по центру --- */
.md-bridge{border-top:4px solid #C69E52;margin-bottom:0}
.md-bridge + .finale{margin-top:0;border-top:0;padding-top:36px}
@media (min-width:1001px){.md-fnd{-webkit-align-items:center;align-items:center}.md-fart{-webkit-align-self:center;align-self:center}}
