/* ============================================================
   Balance Codex — Editorial components (Modern Editorial v12)
   ------------------------------------------------------------
   The SHARED page-section layer: every component that appears on
   two or more pages of the approved prototypes lives here, once.
   Selectors and values are verbatim from modern-editorial-v12
   (the final file); prototype variable names resolve through the
   alias block in tokens.css (§8), so prototype CSS ports 1:1.

   NOT here: header/footer/buttons/lang (chrome.css), h1–h4 and
   body scale (base.css + tokens.css §9).

   Dedup notes vs the prototype (final layer wins):
   - @720 `body{16px}` and `h1{54px}` dropped — superseded by the
     760px token override in tokens.css §9 (they were dead code).
   - Chrome rules inside the prototype's media queries live in
     chrome.css only.
   ============================================================ */

.lead{color:var(--muted);max-width:830px;font-size:var(--type-lead);line-height:1.65}

/* ─── hero ─────────────────────────────────────────────────── */
.hero{min-height:calc(100vh - 78px);display:grid;align-items:center;padding:72px 0 78px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(560px,1.08fr);gap:68px;align-items:center}
.hero-copy{max-width:690px;color:var(--muted);margin-bottom:32px;font-size:var(--type-lead);line-height:1.65}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.hero-visual{position:relative;min-height:660px}
.visual-shell{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.visual-orbit{position:absolute;width:610px;height:610px;border:1px solid var(--line);border-radius:50%;transform-origin:50% 50%;animation:orbit 28s linear infinite;will-change:transform;pointer-events:none}
.visual-orbit::before,.visual-orbit::after{content:"";position:absolute;border-radius:50%;background:var(--oxide);transform:translate(-50%,-50%)}
.visual-orbit::before{width:11px;height:11px;left:0;top:50%}
.visual-orbit::after{width:7px;height:7px;left:85.355%;top:14.645%}
@keyframes orbit{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.visual-orbit{animation:none}}
.pyramid-card{position:relative;width:760px;max-width:100%;padding:34px 24px 24px;background:var(--veil-white);border:1px solid var(--line);box-shadow:0 30px 82px var(--line)}
.pyramid-card img{width:100%;height:auto}
.mode-card{position:absolute;width:260px;padding:21px 22px;background:var(--blue-deep);color:var(--white);box-shadow:0 22px 54px var(--line-strong)}
.mode-card h3{margin:0 0 9px;color:inherit;
  /* 2.15.1: родительская Blocksy ставит word-wrap:break-word глобально,
     из-за чего длинное слово («Совместимость») рвалось посреди и
     последняя буква уезжала на новую строку. Запрещаем разрыв слова
     и даём карточке ширину, в которую самое длинное слово помещается. */
  overflow-wrap:normal;word-wrap:normal;word-break:normal;hyphens:none}
.mode-card p{margin:0;color:var(--blue-tint);font-size:var(--type-small)}
.mode-individual{left:-24px;bottom:74px;background:var(--teal)}
.mode-compatibility{right:-12px;top:70px;width:300px}
.compat-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:15px;align-items:end}
.compat-mini img{width:100%;filter:brightness(0) invert(1);opacity:.72}
.compat-mini img:nth-child(2){transform:scale(1.18);opacity:1}

/* ─── stat strip ───────────────────────────────────────────── */
.stat-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats{display:grid;grid-template-columns:repeat(4,1fr)}
.stat{padding:28px 32px;border-right:1px solid var(--line)}
.stat:last-child{border-right:0}
.stat strong{display:block;font-family:var(--serif);font-weight:400;font-size:var(--type-card)}
.stat span{font-family:var(--sans);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}

/* ─── section scaffold ─────────────────────────────────────── */
.section{padding:122px 0}
.section-intro{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);gap:80px;align-items:start;margin-bottom:64px}
.section-intro h2{margin-bottom:0}
.section-intro .lead{padding-top:8px}

/* ─── offers ───────────────────────────────────────────────── */
.offers{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:stretch}
.offer{position:relative;min-height:720px;padding:42px;display:grid;grid-template-rows:122px 150px auto 1fr;background:var(--white);border:1px solid var(--line);overflow:hidden;transition:.25s}
.offer:hover{transform:translateY(-4px);box-shadow:0 24px 65px var(--line-faint)}
.offer.compatibility{background:var(--blue-deep);color:var(--white);border-color:var(--blue-deep)}
.offer h3{font-size:50px;line-height:.98;margin:0;max-width:540px;align-self:start}
.offer.compatibility h3{color:inherit}
.offer-copy{color:var(--muted);max-width:590px;margin:0;align-self:start;font-size:var(--type-body);line-height:1.65}
.compatibility .offer-copy{color:var(--blue-line)}
.offer-list{list-style:none;padding:0;margin:0 0 46px;border-top:1px solid var(--line);align-self:start}
.compatibility .offer-list{border-color:var(--on-dark-line)}
.offer-list li{min-height:56px;padding:13px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:132px 1fr;align-items:center;gap:20px}
.compatibility .offer-list li{border-color:var(--on-dark-line)}
.offer-list span:first-child{font-family:var(--sans);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.offer-list span:last-child{text-align:right}
.compatibility .offer-list span:first-child{color:var(--blue-line-strong)}
.offer-footer{align-self:end;display:flex;align-items:end;min-height:56px}
.offer-figure{position:absolute;right:-70px;bottom:-40px;width:320px;opacity:.09;transform:rotate(-2deg);pointer-events:none}
.compatibility .offer-figure{filter:brightness(0) invert(1);opacity:.1}

/* ─── axes ─────────────────────────────────────────────────── */
.axes-wrap{display:grid;grid-template-columns:440px 1fr;gap:76px;align-items:start}
.axis-visual{position:sticky;top:110px;background:var(--white);border:1px solid var(--line);padding:30px}
.axis-visual img{width:100%}
.axis-legend{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px}
.axis-legend div{padding:12px 10px;border-top:2px solid var(--line);font-size:var(--type-small)}
.axis-legend div:nth-child(1){border-color:var(--oxide)}
.axis-legend div:nth-child(2){border-color:var(--teal)}
.axis-legend div:nth-child(3){border-color:var(--blue)}
.axis-tabs{border-top:1px solid var(--line)}
.axis-tab{width:100%;display:grid;grid-template-columns:1fr auto;gap:20px;text-align:left;padding:29px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--muted);cursor:pointer}
.axis-tab strong{font-family:var(--serif);font-weight:400;font-size:var(--type-card);line-height:1.08;letter-spacing:-.02em}
.axis-tab span{font-family:var(--sans);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;align-self:center}
.axis-tab.is-active{color:var(--ink)}
.axis-tab.is-active strong{color:var(--oxide)}
.axis-copy{display:none;padding:36px 0 10px}
.axis-copy.is-active{display:grid;grid-template-columns:1.06fr .94fr;gap:54px;align-items:start}
/* 2.21.1: утверждение оси шло в --type-section — том же кегле, что и
   H2 секции. Два элемента одного размера в одном блоке убивают
   иерархию, а на длинной фразе («Отношение к себе, внутренние
   желания, природные таланты…») это читалось как сбитая вёрстка:
   поясняющий текст выглядел заголовком. Переведено на --type-card:
   H2 секции 44–68 → утверждение 28–32 → детали 16. */
.axis-copy .big-copy{font-family:var(--serif);font-weight:400;font-size:var(--type-card);line-height:1.15;letter-spacing:-.02em}
.axis-details{color:var(--muted)}
.axis-details ul{padding:0;margin:24px 0 0;list-style:none;border-top:1px solid var(--line)}
.axis-details li{padding:13px 0;border-bottom:1px solid var(--line)}

/* ─── quote / author ───────────────────────────────────────── */
.quote-section{background:var(--paper-soft)}
.quote-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:100px;align-items:center}
.author-panel{border-left:1px solid var(--oxide);padding-left:28px}
.author-panel .name{font-family:var(--serif);font-weight:400;font-size:var(--type-card);line-height:1.08;letter-spacing:-.02em;margin-bottom:16px}
.author-panel p{color:var(--muted)}
blockquote{margin:0;font-family:var(--serif);font-weight:400;font-size:var(--type-section);line-height:1.06;letter-spacing:-.035em}

/* ─── essays ───────────────────────────────────────────────── */
.essays{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.essay{--essay-accent:var(--blue);border-top:2px solid var(--essay-accent);padding-top:22px}
.essay:nth-child(1){--essay-accent:var(--oxide)}
.essay:nth-child(2){--essay-accent:var(--teal)}
.essay:nth-child(3){--essay-accent:var(--blue)}
.essay .meta{font-family:var(--sans);font-size:var(--type-label);letter-spacing:.1em;text-transform:uppercase;color:var(--essay-accent)}
.essay h3{margin:45px 0 22px}
.essay h3 a{font-family:var(--serif);font-size:inherit;letter-spacing:0;text-transform:none;color:var(--ink);text-decoration:none}
.essay h3 a:hover{color:var(--essay-accent)}
.essay>a{font-family:var(--sans);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;color:var(--essay-accent)}

/* ─── method cards ─────────────────────────────────────────── */
.method-system{background:var(--paper-soft);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.method-head{display:grid;grid-template-columns:minmax(350px,.88fr) minmax(0,1.12fr);gap:80px;align-items:end;margin-bottom:64px}
.method-head h2{margin-bottom:0}
.method-head .method-copy{color:var(--muted);font-size:var(--type-lead);line-height:1.65}
.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;background:transparent;border:0}
.method-card{--accent:var(--blue);--wash:var(--blue-wash);position:relative;min-height:285px;padding:36px 32px 32px;background:var(--white);border:1px solid var(--line);border-top:4px solid var(--accent);display:flex;flex-direction:column;overflow:hidden;transition:.24s}
.method-card:nth-child(3n+1){--accent:var(--blue);--wash:var(--blue-wash)}
.method-card:nth-child(3n+2){--accent:var(--teal);--wash:var(--teal-wash)}
.method-card:nth-child(3n+3){--accent:var(--oxide);--wash:var(--oxide-wash)}
.method-card::after{content:"";position:absolute;width:168px;height:168px;right:-78px;top:-84px;border:1px solid var(--accent);border-radius:50%;opacity:.2;transition:.24s}
.method-card:hover{transform:translateY(-4px);background:var(--wash);box-shadow:0 20px 48px var(--line-subtle)}
.method-card:hover::after{transform:scale(1.12);opacity:.32}
.method-card h3{position:relative;margin:0 0 18px;max-width:90%}
.method-card p{position:relative;color:var(--muted);margin:0 0 28px}
.method-card span{position:relative;margin-top:auto;font-family:var(--sans);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}
.method-footer{display:flex;justify-content:space-between;gap:28px;align-items:center;margin-top:38px;color:var(--muted)}

/* ─── calculator rail ──────────────────────────────────────── */
.calc-rail{background:var(--white);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calc-rail-grid{min-height:176px;display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(0,1.1fr) auto;gap:48px;align-items:center}
.calc-rail-title{font-family:var(--serif);font-weight:400;font-size:var(--type-card);line-height:1.08;letter-spacing:-.02em}
.calc-rail-copy{max-width:600px;color:var(--muted);font-size:var(--type-body);line-height:1.65}
.calc-rail-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}
.calc-rail-actions .button{white-space:nowrap}

/* ─── reveal ───────────────────────────────────────────────── */
.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}
.reveal.is-visible{opacity:1;transform:none}
/* Content must stay visible when JS is unavailable. */
@media(max-width:760px){.reveal{opacity:1!important;transform:none!important;transition:none!important}}

/* ─── responsive ───────────────────────────────────────────── */
@media(max-width:1100px){
  .hero-grid,.quote-grid,.method-head{grid-template-columns:1fr}
  .hero-visual{min-height:580px}
  .offers{grid-template-columns:1fr}
  .offer{min-height:680px}
  .section-intro{grid-template-columns:1fr;gap:20px}
  .axes-wrap{grid-template-columns:1fr}
  .axis-visual{position:relative;top:auto;max-width:640px}
  .axis-copy.is-active{grid-template-columns:1fr}
  .method-grid{grid-template-columns:1fr 1fr}
  .calc-rail-grid{grid-template-columns:1fr}
  .calc-rail-actions{justify-content:flex-start}
}
@media(max-width:720px){
  .hero{padding-top:48px}
  .hero-grid{gap:30px}
  .hero-visual{min-height:430px}
  .pyramid-card{padding:20px 8px 17px}
  .visual-orbit{width:390px;height:390px}
  .mode-card{width:190px;padding:14px}
  .mode-card h3{font-size:21px}
  .mode-card p,.compat-mini{display:none}
  .mode-individual{left:0;bottom:32px}
  .mode-compatibility{right:0;top:28px}
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(2){border-right:0}
  .stat:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .section{padding:86px 0}
  .offer{padding:28px;min-height:690px;grid-template-rows:105px 160px auto 1fr}
  .offer h3{font-size:40px}
  .offer-list li{grid-template-columns:105px 1fr}
  .axis-legend{grid-template-columns:1fr}
  .method-grid,.essays{grid-template-columns:1fr}
  .method-footer{display:block}
  .method-footer .button{margin-top:22px}
  .calc-rail-grid{grid-template-columns:1fr;gap:20px;padding:36px 0}
  .calc-rail-actions{justify-content:flex-start}
}

/* ─── КОНТРАКТ ПОСАДКИ H1 (2.11.2) ─────────────────────────── */
/* Один закон для всех страниц: H1 начинается на одной высоте и в
   одном размере. Арифметика посадки: 46px паддинга героя +
   крошки (13px строка + 58px отступа) + кикер (14px + 24px) = 155px.
   Мобайл: 28 + (13+38) + (14+24) = 117px.

   Что нормализуется (расхождения прототипов):
   · совместимость: крошки — глобальный .breadcrumbs БЕЗ нижнего
     отступа → её H1 сидел на ~58px выше остальных;
   · размеры H1: метод/об-авторе 96px/.93, совместимость 92px/.94,
     остальные — базовые var(--type-display)/.96. Теперь у всех —
     базовый display;
   · главная: топ-анкер вместо вертикального центрирования,
     паддинг = той же арифметике (155px).

   Префикс body — намеренно: страничные файлы (pages/*.css)
   грузятся ПОСЛЕ editorial.css, и без повышенной специфичности
   их правила перебивали бы контракт. */
body .hero{min-height:0;align-items:start;padding-top:155px}
/* Высота строк предзаголовочного стека зафиксирована: без этого
   крошки (10px) и кикер (11px) наследовали line-height 1.62 от body
   и давали ~16px и ~18px — реальная посадка разделов уезжала к
   ~162px против 155px главной (остаточный скачок ~7px). Теперь
   арифметика точная: 46 + 13 + 58 + 14 + 24 = 155. */
body .method-breadcrumbs,
body .positions-breadcrumbs,
body .energies-breadcrumbs,
body .about-breadcrumbs,
body .marriage-breadcrumbs,
body .axpair-breadcrumbs,
body .lifeph-breadcrumbs,
body .tasks-breadcrumbs,
body .calcpro-breadcrumbs,
body .compat-hero .breadcrumbs{line-height:13px}
body .method-kicker,
body .compat-kicker,
body .positions-kicker,
body .energies-kicker,
body .about-kicker,
body .marriage-kicker,
body .axpair-kicker,
body .lifeph-kicker,
body .tasks-kicker,
body .calcpro-kicker{line-height:14px}
body .compat-hero .breadcrumbs{margin-bottom:58px}
/* Крошки СТРОГО на одной высоте на всех внутренних страницах: 46px от
   начала контента (28px на мобильном), H1 — на 155px (117px). Главные
   страницы исключение, там крошек нет. Калькулятор шёл со своими
   42/34/22 — выровнен здесь. Страницы энергий, где кикера нет, добирают
   недостающие 38px отступом ПОД крошками (см. pages/energy.css): иначе
   компенсация паддингом сверху уводила бы сами крошки вниз. */
body .calcpro-hero{padding-top:46px}
body .calcpro-breadcrumbs{margin-bottom:58px}
body .calcpro-kicker{margin-bottom:24px}
body .method-hero h1,
body .about-hero h1,
body .compat-hero h1{
  font-size:var(--type-display);
  line-height:.96;
  letter-spacing:-.045em;
}
@media(max-width:760px){
  body .hero{padding-top:117px}
  body .method-hero h1,
  body .about-hero h1,
  body .compat-hero h1{font-size:var(--type-display);line-height:.98;letter-spacing:-.035em}
  body .method-breadcrumbs,
  body .compat-hero .breadcrumbs,
  body .positions-breadcrumbs,
  body .energies-breadcrumbs,
  body .about-breadcrumbs,
  body .marriage-breadcrumbs,
  body .axpair-breadcrumbs,
  body .lifeph-breadcrumbs,
  body .tasks-breadcrumbs,
  body .calcpro-breadcrumbs{margin-bottom:38px}
  body .calcpro-hero{padding-top:28px}
}


/* ─── ПОСАДКА ГЕРОЯ: единая на всех внутренних страницах (2.15.5) ───
   Измерено на живых файлах: life-phases стартовал с 34px, axes-and-pairs
   с 38px, калькулятор с 42px — отсюда «прыжок» H1 при переходе между
   разделами. Теперь один закон, помеченный !important, потому что
   страничные файлы двух команд дизайнеров перебивали его по
   специфичности в непредсказуемых местах:

     крошки  — 46px от начала контента (28px на мобильном)
     H1      — 155px (117px на мобильном)
     кегль   — var(--type-display) везде

   Арифметика: 46 + 13 (строка крошек) + 58 (отступ) + 14 (кикер)
   + 24 (отступ кикера) = 155. Страницы энергий кикера не имеют и
   добирают недостающие 38px увеличенным отступом ПОД крошками
   (см. pages/energy.css) — иначе компенсация сверху увела бы вниз
   сами крошки. Главные страницы исключение: крошек там нет. */
/* Сетка героя ВЕЗДЕ выровнена по верху. Было вразнобой: method, about,
   compatibility, energies и positions центрировали левую колонку по
   высоте правой — то есть позиция H1 зависела от высоты иллюстрации,
   а она у каждой страницы своя. Это и был «прыжок» заголовка, который
   не лечится отступами. Теперь H1 определяется только стеком над ним. */
/* 2.23.2: в списке не хватало .hero-grid — сетки героя ГЛАВНОЙ. На ней
   осталось align-items:center, левая колонка центрировалась по высоте
   правой, и H1 главной стоял на 29px ниже, чем на всех остальных
   страницах (замер: 269 против 240 при одинаковой шапке). Ровно тот
   случай, который описан абзацем выше, просто пропущенный. */
body .hero-grid,
body .method-hero-grid,
body .positions-hero-grid,
body .about-hero-grid,
body .compat-hero-grid,
body .energies-hero-grid,
body .marriage-hero-grid,
body .axpair-hero-grid,
body .lifeph-hero-grid,
body .tasks-hero-grid,
body .calcpro-hero-grid{align-items:start!important}
body .method-hero,
body .positions-hero,
body .about-hero,
body .compat-hero,
body .energies-hero,
body .marriage-hero,
body .axpair-hero,
body .lifeph-hero,
body .tasks-hero,
body .calcpro-hero{padding-top:46px!important}
body .method-breadcrumbs,
body .positions-breadcrumbs,
body .about-breadcrumbs,
body .compat-breadcrumbs,
body .energies-breadcrumbs,
body .marriage-breadcrumbs,
body .axpair-breadcrumbs,
body .lifeph-breadcrumbs,
body .tasks-breadcrumbs,
body .calcpro-breadcrumbs,
body .compat-hero .breadcrumbs{margin-bottom:58px!important;line-height:13px!important}
body .method-kicker,
body .positions-kicker,
body .about-kicker,
body .compat-kicker,
body .energies-kicker,
body .marriage-kicker,
body .axpair-kicker,
body .lifeph-kicker,
body .tasks-kicker,
body .calcpro-kicker{margin-bottom:24px!important;line-height:14px!important}
body .method-hero h1,
body .positions-hero h1,
body .about-hero h1,
body .compat-hero h1,
body .energies-hero h1,
body .marriage-hero h1,
body .axpair-hero h1,
body .lifeph-hero h1,
body .tasks-hero h1,
body .calcpro-hero h1{font-size:var(--type-display)!important;line-height:.96!important;letter-spacing:-.045em!important}
@media(max-width:760px){
body .method-hero,
body .positions-hero,
body .about-hero,
body .compat-hero,
body .energies-hero,
body .marriage-hero,
body .axpair-hero,
body .lifeph-hero,
body .tasks-hero,
body .calcpro-hero{padding-top:28px!important}
body .method-breadcrumbs,
body .positions-breadcrumbs,
body .about-breadcrumbs,
body .compat-breadcrumbs,
body .energies-breadcrumbs,
body .marriage-breadcrumbs,
body .axpair-breadcrumbs,
body .lifeph-breadcrumbs,
body .tasks-breadcrumbs,
body .calcpro-breadcrumbs,
  body .compat-hero .breadcrumbs{margin-bottom:38px!important}
body .method-hero h1,
body .positions-hero h1,
body .about-hero h1,
body .compat-hero h1,
body .energies-hero h1,
body .marriage-hero h1,
body .axpair-hero h1,
body .lifeph-hero h1,
body .tasks-hero h1,
body .calcpro-hero h1{line-height:.98!important;letter-spacing:-.035em!important}
}

/* ─── КРОШКИ ТЕМЫ: один вид на всём сайте (2.16.0) ──────────
   blog.css подключается только на блоговых видах, поэтому на
   страницах партиал остался бы вовсе без стилей. Типографика
   здесь совпадает с крошками свёрстанных страниц: 10px, sans,
   caps, трекинг .08em, стрелка-разделитель. Префикс body даёт
   приоритет над старым blog.css без !important. */
/* Один вид крошек на всём сайте. Замер показал разнобой: 10px на
   method, about и энергиях против 12px на семи остальных страницах —
   именно поэтому крошки «новых» страниц выглядели иначе. Кегль сведён
   к токену --type-label (12px), остальная типографика тоже общая. */
body .method-breadcrumbs,
body .positions-breadcrumbs,
body .about-breadcrumbs,
body .compat-breadcrumbs,
body .energies-breadcrumbs,
body .marriage-breadcrumbs,
body .axpair-breadcrumbs,
body .lifeph-breadcrumbs,
body .tasks-breadcrumbs,
body .calcpro-breadcrumbs,
body .compat-hero .breadcrumbs,
body .bct-crumbs{
  display:flex;align-items:center;gap:10px;
  font-family:var(--font-body);font-size:var(--type-label)!important;font-weight:400!important;
  line-height:13px!important;letter-spacing:.08em!important;text-transform:uppercase!important;
  color:var(--color-charcoal-soft)!important}
body .bct-crumbs{margin:0}
body .method-breadcrumbs a,
body .positions-breadcrumbs a,
body .about-breadcrumbs a,
body .compat-breadcrumbs a,
body .energies-breadcrumbs a,
body .marriage-breadcrumbs a,
body .axpair-breadcrumbs a,
body .lifeph-breadcrumbs a,
body .tasks-breadcrumbs a,
body .calcpro-breadcrumbs a,
body .compat-hero .breadcrumbs a,
body .price-breadcrumbs a,
body .bct-crumbs a{color:inherit;text-decoration:underline;text-underline-offset:3px}
body .method-breadcrumbs a:hover,
body .positions-breadcrumbs a:hover,
body .about-breadcrumbs a:hover,
body .compat-breadcrumbs a:hover,
body .energies-breadcrumbs a:hover,
body .marriage-breadcrumbs a:hover,
body .axpair-breadcrumbs a:hover,
body .lifeph-breadcrumbs a:hover,
body .tasks-breadcrumbs a:hover,
body .calcpro-breadcrumbs a:hover,
body .compat-hero .breadcrumbs a:hover,
body .price-breadcrumbs a:hover,
body .bct-crumbs a:hover{color:var(--color-oxide)}
body .bct-crumbs__sep{margin:0;color:var(--color-charcoal-soft)}
body .bct-crumbs__current{color:var(--color-charcoal-soft)}
/* Та же посадка, что у крошек свёрстанных страниц: 46px от начала
   контента (28px на мобильном), 58px до следующего блока (38px). */
.bct-crumbs-bar{padding-top:46px}
.bct-crumbs-bar + .editorial-legacy{padding-top:58px}
@media(max-width:760px){
  .bct-crumbs-bar{padding-top:28px}
  .bct-crumbs-bar + .editorial-legacy{padding-top:38px}
}

/* ─── легаси-страницы на холсте по умолчанию (2.11.0) ──────── */
/* Простые страницы без секционной вёрстки (политики, согласие)
   получают читабельную колонку внутри Editorial-шаблона. */
.editorial-legacy{max-width:830px;padding:96px 0 120px}
.editorial-legacy h1{font-size:var(--type-section);margin-bottom:32px}
@media(max-width:720px){
  .editorial-legacy{padding:64px 0 88px}
}
