/* Страница «Что такое ЦЕХ» — рассказ (решения Product Owner 3.11). Значения — в tokens.css, раздел «Что такое ЦЕХ». */

.ab { background: var(--color-bg); }

/* Первый экран */
.ab-hero__inner { padding-block: var(--space-8) var(--space-7); }
.ab-hero__label { margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); display: flex; align-items: center; gap: var(--space-2); }
.ab-hero__label::before { content: ""; width: var(--ab-dot-s); height: var(--ab-dot-s); border-radius: var(--radius-round); background: var(--color-accent); }
.ab-hero__title { margin: 0; max-width: var(--ab-hero-w); font-size: var(--ab-hero-fs); line-height: var(--lh-tight); font-weight: var(--fw-display); letter-spacing: var(--tracking-display); }
.ab-hero__brand { margin: var(--space-6) 0 0; display: inline-block; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-text); font-weight: var(--fw-display); font-size: var(--fs-body); letter-spacing: var(--tracking-label); text-transform: uppercase; }
.ab-hero__meta { margin: var(--space-4) 0 0; font-size: var(--fs-small); color: var(--color-text-muted); }

/* Чтение */
.ab-read { background: var(--color-surface); border-radius: var(--radius-sheet) var(--radius-sheet) 0 0; padding-block: var(--space-6) var(--space-8); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
.ab-text { max-width: var(--ab-col); min-width: 0; }
.ab-toc__title { margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.ab-toc { display: none; }
.ab-toc__list { margin: var(--space-3) 0 0; padding: 0; list-style: none; display: grid; gap: var(--space-3); font-size: var(--fs-small); }
.ab-toc__list ol { margin: var(--space-2) 0 0; padding: 0 0 0 var(--space-3); list-style: none; display: grid; gap: var(--space-1); border-left: 1px solid var(--color-line); }
.ab-toc__list a { color: var(--color-text-muted); text-decoration: none; }
.ab-toc__part > a, .ab-toc__solo > a { color: var(--color-text); font-weight: var(--fw-bold); }
.ab-toc__list a:hover { color: var(--color-text); text-decoration: underline; }

/* Части */
.ab-part { padding-block: var(--ab-gap) 0; margin-top: var(--ab-gap); border-top: 2px solid var(--color-text); }
.ab-part:first-child { margin-top: 0; border-top: 0; padding-top: var(--space-4); }
.ab-part__num { margin: 0 0 var(--space-2); font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-accent); }
.ab-part__title { margin: 0; font-size: var(--ab-part-fs); line-height: var(--lh-tight); font-weight: var(--fw-display); }

/* Главы */
.ab-ch { padding-top: var(--ab-gap); }
.ab-ch__num { margin: 0 0 var(--space-3); font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-accent); }
.ab-ch__title { margin: 0 0 var(--space-5); font-size: var(--ab-ch-fs); line-height: var(--lh-heading); font-weight: var(--fw-display); }
.ab-ch p, .ab-ch li { font-size: var(--fs-article); line-height: var(--lh-article); }
.ab-ch p { margin: 0 0 var(--space-4); }
.ab-ch .ab-lead { font-size: var(--fs-lead); line-height: var(--lh-lead); }
.ab-ch .ab-src { margin-top: calc(-1 * var(--space-2)); font-size: var(--fs-caption-text); line-height: var(--lh-text); color: var(--color-text-muted); }
.ab-src a, .ab-sources a, .ab-more a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }

/* Крупная строка */
.ab-ch .ab-key { margin: var(--space-6) 0; padding-left: var(--space-4); border-left: 4px solid var(--color-accent); font-size: var(--ab-key-fs); line-height: var(--lh-heading); font-weight: var(--fw-display); }

/* Врезка */
.ab-callout { margin: var(--space-6) 0; padding: var(--space-5); background: var(--color-bg); border-radius: var(--radius-m); }
.ab-ch .ab-callout__head { margin: 0 0 var(--space-2); font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-accent); }
.ab-ch .ab-callout__text { margin: 0; font-size: var(--fs-lead); line-height: var(--lh-lead); }

.ab-ch .ab-more { margin: var(--space-5) 0; font-weight: var(--fw-bold); }

/* Фигуры */
.ab-fig { margin: var(--space-6) 0; }
.ab-fig__cap { margin-top: var(--space-3); font-size: var(--fs-small); line-height: var(--lh-text); color: var(--color-text-muted); }
.ab-ch ul, .ab-ch ol { margin: 0; padding: 0; list-style: none; }

/* С1 — цифры */
.ab-stats { display: grid; gap: var(--space-5); }
.ab-stat { display: grid; gap: var(--space-1); padding-top: var(--space-3); border-top: 1px solid var(--color-text); }
.ab-ch .ab-stat__value { font-size: var(--ab-stat-fs); font-weight: var(--fw-display); line-height: 1; }
.ab-ch .ab-stat__text { font-size: var(--fs-body); line-height: var(--lh-text); }
.ab-ch .ab-stat__src { font-size: var(--fs-caption-text); color: var(--color-text-muted); }

/* С2 — возрасты */
.ab-ages { display: grid; gap: var(--space-3); position: relative; }
.ab-age { display: grid; grid-template-columns: var(--ab-age-col) 1fr; align-items: baseline; align-content: start; gap: var(--space-3); padding-bottom: var(--space-3); border-bottom: 1px solid var(--color-line); }
.ab-ch .ab-age__n { font-size: var(--fs-h3); font-weight: var(--fw-display); line-height: 1; }
.ab-ch .ab-age__q { font-size: var(--fs-body); }
.ab-age:last-child .ab-age__n { color: var(--color-accent); }

/* Цепочки (С3, С4) */
.ab-ways { display: grid; gap: var(--space-4); }
.ab-way { padding: var(--space-4); border-radius: var(--radius-m); background: var(--color-bg); }
.ab-way--ceh { background: var(--color-dark); color: var(--color-dark-text); }
.ab-ch .ab-way__head { margin: 0 0 var(--space-3); font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.ab-way--ceh .ab-way__head { color: var(--color-accent); }
.ab-chain { display: grid; gap: var(--space-2); counter-reset: ab; }
.ab-ch .ab-chain__step { font-size: var(--fs-body); line-height: var(--lh-text); display: flex; gap: var(--space-2); align-items: baseline; }
.ab-chain__step::before { content: "→"; color: var(--color-text-muted); }
.ab-chain__step:first-child::before { content: "•"; }
.ab-way--ceh .ab-chain__step::before { color: var(--color-accent); }
.ab-chain--row .ab-chain__step { padding: var(--space-3) var(--space-4); border-radius: var(--radius-m); background: var(--color-bg); font-weight: var(--fw-bold); }
.ab-chain--row .ab-chain__step::before { content: none; }

/* С5 — специальность и роли */
.ab-hub { display: grid; gap: var(--space-4); padding: var(--space-5); border-radius: var(--radius-m); background: var(--color-bg); }
.ab-ch .ab-hub__core { margin: 0; font-size: var(--fs-h3); font-weight: var(--fw-display); line-height: 1.1; }
.ab-hub__core span, .ab-same__word span { display: block; margin-top: var(--space-1); font-size: var(--fs-small); font-weight: var(--fw-text); color: var(--color-text-muted); }
.ab-hub__roles { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ab-ch .ab-hub__roles li { font-size: var(--fs-small); line-height: 1.2; padding: var(--space-2) var(--space-3); border: 1px solid var(--ab-soft); border-radius: var(--radius-round); background: var(--color-surface); }

/* С6, С10 — эпизоды */
.ab-same, .ab-sum { display: grid; gap: var(--space-4); }
.ab-ch .ab-same__word { margin: 0; font-size: var(--fs-h3); font-weight: var(--fw-display); }
.ab-eps { display: grid; gap: var(--space-3); }
.ab-ep { padding: var(--space-4); border-radius: var(--radius-m); background: var(--color-bg); border-top: 3px solid var(--color-text); }
.ab-ch .ab-ep p { margin: 0; }
.ab-ch .ab-ep__where { font-size: var(--fs-body); font-weight: var(--fw-bold); }
.ab-ch .ab-ep__what { margin-top: var(--space-1); font-size: var(--fs-small); line-height: var(--lh-text); color: var(--color-text-muted); }
.ab-ch .ab-ep__gain { margin-top: var(--space-2); font-size: var(--fs-small); line-height: var(--lh-text); }
.ab-ch .ab-sum__res { margin: 0; padding: var(--space-4); border-left: 4px solid var(--color-accent); font-weight: var(--fw-bold); }
.ab-sum__res span { display: block; margin-bottom: var(--space-1); font-size: var(--fs-caption); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }

/* С7 — поля эпизода */
.ab-fields { display: grid; gap: var(--space-2); }
.ab-ch .ab-field { display: flex; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-m); font-size: var(--fs-body); font-weight: var(--fw-bold); }
.ab-field__n { display: inline-grid; place-items: center; width: var(--ab-num); height: var(--ab-num); flex: none; border-radius: var(--radius-round); background: var(--color-text); color: var(--color-dark-text); font-size: var(--fs-caption); }
.ab-field:last-child .ab-field__n { background: var(--color-accent); }

/* Пары (заявлен/подтверждён, два взгляда) */
.ab-pair { display: grid; gap: var(--space-3); }
.ab-pair__cell { padding: var(--space-4); border-radius: var(--radius-m); background: var(--color-bg); }
.ab-pair__cell:last-child { border-left: 4px solid var(--color-accent); }
.ab-ch .ab-pair__head { margin: 0 0 var(--space-2); font-size: var(--fs-body); font-weight: var(--fw-bold); }
.ab-ch .ab-pair__text { margin: 0; font-size: var(--fs-small); line-height: var(--lh-text); color: var(--color-text-muted); }
.ab-pair--two .ab-pair__cell:last-child { border-left: 0; }

/* С9 — встреча по смыслу */
.ab-match { display: grid; gap: var(--space-3); align-items: center; }
.ab-match__side { padding: var(--space-4); border-radius: var(--radius-m); background: var(--color-bg); }
.ab-ch .ab-match__say { margin: 0; font-size: var(--fs-body); line-height: var(--lh-text); }
.ab-ch .ab-match__mid { margin: 0; justify-self: center; padding: var(--space-2) var(--space-4); border-radius: var(--radius-round); background: var(--color-accent); color: var(--color-accent-text); font-size: var(--fs-small); font-weight: var(--fw-bold); text-align: center; }

/* С11 — цикл */
.ab-cycle { padding: var(--space-5); border-radius: var(--radius-m); background: var(--color-dark); color: var(--color-dark-text); }
.ab-cycle__list { display: grid; gap: var(--space-3); }
.ab-cycle__step { display: grid; gap: var(--space-1); padding: var(--space-3) 0; border-bottom: 1px solid var(--ab-cycle-line); }
.ab-ch .ab-cycle__what { font-size: var(--fs-h3); font-weight: var(--fw-display); line-height: 1.1; }
.ab-ch .ab-cycle__tool { font-size: var(--fs-small); color: var(--color-accent); font-weight: var(--fw-bold); }
.ab-ch .ab-cycle__back { margin: var(--space-4) 0 0; font-size: var(--fs-small); color: var(--color-on-photo-muted); }

/* С12 — три голоса */
.ab-voices { display: grid; gap: var(--space-3); }
.ab-voice { padding: var(--space-4); border-top: 3px solid var(--color-text); background: var(--color-bg); border-radius: 0 0 var(--radius-m) var(--radius-m); }
.ab-ch .ab-voice p { margin: 0; }
.ab-ch .ab-voice__name { font-size: var(--fs-body); font-weight: var(--fw-bold); }
.ab-ch .ab-voice__q { margin-top: var(--space-1); font-size: var(--fs-small); color: var(--color-text-muted); }

/* С13 — выбор */
.ab-choice { display: grid; gap: var(--space-3); }

/* Списки из текста */
.ab-ch .ab-questions { margin: var(--space-4) 0 var(--space-5); display: grid; gap: var(--space-2); }
.ab-ch .ab-questions li { padding-left: var(--space-4); border-left: 2px solid var(--color-line); }
.ab-ch .ab-from { margin: 0 0 var(--space-5); display: flex; flex-wrap: wrap; gap: var(--space-2); }
.ab-ch .ab-from li { font-size: var(--fs-small); line-height: 1.2; padding: var(--space-2) var(--space-3); border-radius: var(--radius-round); background: var(--color-bg); }
.ab-from li:last-child { background: var(--color-accent); color: var(--color-accent-text); }
.ab-ch .ab-results { margin: 0 0 var(--space-3); display: grid; gap: var(--space-2); }
.ab-ch .ab-results li { padding: var(--space-3) var(--space-4); border-radius: var(--radius-m); background: var(--color-bg); font-weight: var(--fw-bold); }
.ab-ch .ab-results__tail { color: var(--color-text-muted); }
.ab-after { margin-top: var(--space-6); }


/* Контакты и источники */
.ab-end { margin-top: var(--ab-gap); border-top: 2px solid var(--color-text); }
.ab-sources ul { display: grid; gap: var(--space-2); }
.ab-ch.ab-sources li { font-size: var(--fs-small); line-height: var(--lh-text); color: var(--color-text-muted); }

@media (min-width: 768px) {
  .ab-stats { grid-template-columns: repeat(3, 1fr); }
  .ab-ages { grid-template-columns: repeat(5, 1fr); gap: 0; }
  .ab-ages::before { content: ""; position: absolute; left: 0; right: 0; top: var(--ab-line-top); height: 2px; background: var(--color-line); }
  .ab-age { grid-template-columns: 1fr; border-bottom: 0; padding: 0 var(--space-2) 0 0; position: relative; }
  .ab-age__n { padding-top: var(--space-5); }
  .ab-age::before { content: ""; position: absolute; top: var(--ab-dot-top); left: 0; width: var(--ab-dot); height: var(--ab-dot); border-radius: var(--radius-round); background: var(--color-text); }
  .ab-age:last-child::before { background: var(--color-accent); }
  .ab-ways, .ab-pair, .ab-voices { grid-template-columns: 1fr 1fr; }
  .ab-voices { grid-template-columns: repeat(3, 1fr); }
  .ab-eps { grid-template-columns: repeat(3, 1fr); }
  .ab-chain--row { grid-template-columns: repeat(5, 1fr); }
  .ab-chain--row .ab-chain__step { flex-direction: column; gap: var(--space-1); font-size: var(--fs-small); }
  .ab-match { grid-template-columns: 1fr auto 1fr; }
  .ab-cycle__list { grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
  .ab-cycle__step { border-bottom: 0; border-top: 2px solid var(--color-accent); }
  }
@media (min-width: 1200px) {
  .ab-read { grid-template-columns: var(--ab-toc-w) minmax(0, var(--ab-col)); gap: var(--space-8); }
  .ab-toc { display: block; position: sticky; top: var(--space-6); align-self: start; max-height: calc(100vh - 2 * var(--space-6)); overflow-y: auto; }
}

/* Слоган внутри текста */
.ab-ch .ab-brand { margin: var(--space-6) 0; display: inline-block; padding: var(--space-2) var(--space-3); border: 1px solid var(--color-text); font-size: var(--fs-body); font-weight: var(--fw-display); letter-spacing: var(--tracking-label); text-transform: uppercase; }

/* Завершение: контакты */
.ab-ch .ab-end__title { margin: 0 0 var(--space-4); font-size: var(--fs-h3); line-height: var(--lh-heading); font-weight: var(--fw-display); }
.ab-contact { padding: var(--space-5); border-radius: var(--radius-m); background: var(--color-bg); }
.ab-ch .ab-contact p { margin: 0; }
.ab-ch .ab-contact__label { font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.ab-ch .ab-contact__name { margin-top: var(--space-2); font-size: var(--fs-h3); font-weight: var(--fw-display); line-height: 1.15; }
.ab-ch .ab-contact__role { margin-top: var(--space-1); font-size: var(--fs-small); color: var(--color-text-muted); }
.ab-ch .ab-contact__line { margin-top: var(--space-3); font-size: var(--fs-body); }
.ab-contact a { color: var(--color-text); text-decoration: none; }
.ab-ch .ab-docs__title { margin: var(--space-5) 0 var(--space-2); font-size: var(--fs-body); font-weight: var(--fw-bold); }
.ab-docs { display: grid; gap: var(--space-2); }
.ab-docs a { color: var(--color-text); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.2em; }

/* Принципы МедиаЦЕХа во врезке */
.ab-ch .ab-rules { display: grid; gap: var(--space-2); margin-top: var(--space-3); }
.ab-ch .ab-rules li { font-size: var(--fs-body); line-height: var(--lh-text); }
.ab-docs-wrap { margin-top: var(--space-5); }

/* Номер источника в тексте — пометка, не ссылка (ссылки — только в списке источников) */
.ab-ref { margin-left: 0.1em; font-size: var(--ab-ref-fs); font-weight: var(--fw-bold); color: var(--color-text-muted); line-height: 0; }
.ab-ch .ab-src-list { display: grid; gap: var(--space-4); counter-reset: src; }
.ab-ch .ab-src-item { counter-increment: src; display: grid; gap: var(--space-1); padding-left: var(--space-6); position: relative; }
.ab-src-item::before { content: counter(src); position: absolute; left: 0; top: 0; font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-accent); }
.ab-ch .ab-src-item p { margin: 0; font-size: var(--fs-small); line-height: var(--lh-text); }
.ab-ch .ab-src-item__who { font-weight: var(--fw-bold); }
.ab-ch .ab-src-item__what { color: var(--color-text-muted); }

/* Первый экран: надпись слева, «Поделиться» справа */
.ab-hero__top { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.ab-hero__top .page-share__menu { left: auto; right: 0; }

/* Полоса текущей главы — телефон и планшет (до 1200 px) */
.ab-bar { position: sticky; top: 0; z-index: 20; min-width: 0; margin-inline: calc(-1 * var(--gutter)); background: var(--color-bg); border-bottom: 1px solid var(--color-line); }
.ab-bar__head { position: relative; display: flex; align-items: center; gap: var(--space-3); min-height: var(--tap-min); padding: var(--space-2) var(--gutter); cursor: pointer; list-style: none; }
.ab-bar__head::-webkit-details-marker { display: none; }
.ab-bar__num { flex: none; font-size: var(--fs-small); font-weight: var(--fw-bold); color: var(--color-accent); }
.ab-bar__title { flex: 1; min-width: 0; font-size: var(--fs-body); font-weight: var(--fw-bold); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ab-bar__share { flex: none; display: inline-grid; place-items: center; width: var(--tap-min); height: var(--tap-min); margin: calc(-1 * var(--space-2)) 0; border: 0; border-radius: var(--radius-round); background: transparent; color: var(--color-text); cursor: pointer; }
.ab-bar__share svg { width: var(--share-icon); height: var(--share-icon); fill: none; stroke: currentColor; stroke-width: 1.8; }
.ab-bar__share.is-done { color: var(--color-accent); }
.ab-bar__chev { flex: none; width: var(--ab-chev); height: var(--ab-chev); fill: none; stroke: currentColor; stroke-width: 2; transition: transform 0.2s ease; }
.ab-bar[open] .ab-bar__chev { transform: rotate(180deg); }
.ab-bar__list { position: absolute; top: 100%; left: 0; right: 0; margin: 0; padding: 0 var(--gutter) var(--space-3); list-style: none; max-height: var(--ab-bar-list-h); overflow-y: auto; background: var(--color-bg); border-bottom: 1px solid var(--color-line); box-shadow: var(--share-shadow); }
.ab-bar__part { padding: var(--space-3) 0 var(--space-1); font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.ab-bar__list a { display: flex; gap: var(--space-3); padding: var(--space-2) 0; border-top: 1px solid var(--color-line); font-size: var(--fs-body); color: var(--color-text); text-decoration: none; }
.ab-bar__list a[aria-current="true"] { color: var(--color-accent); }
.ab-bar__n { flex: none; width: var(--ab-bar-n-w); color: var(--color-accent); font-weight: var(--fw-bold); font-size: var(--fs-small); line-height: inherit; }
.ab-bar__progress { position: absolute; left: 0; right: 0; bottom: -1px; display: block; width: 100%; height: var(--ab-progress-h); border: 0; appearance: none; background: transparent; color: var(--color-accent); }
.ab-bar__progress::-webkit-progress-bar { background: transparent; }
.ab-bar__progress::-webkit-progress-value { background: var(--color-accent); }
.ab-bar__progress::-moz-progress-bar { background: var(--color-accent); }

/* «Коротко о главном»: слайдер презентации — слайды-картинки того же PDF */
.ab-pres { margin-top: var(--space-8); padding-top: var(--space-6); border-top: 1px solid var(--color-line); }
.ab-ch .ab-pres__lead { margin: var(--space-2) 0 0; color: var(--color-text-muted); }
.ab-slides { margin-top: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-m); background: var(--color-surface); overflow: hidden; }
.ab-slides:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.ab-ch .ab-slides__track { display: flex; margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.ab-slides__track::-webkit-scrollbar { display: none; }
.ab-ch .ab-slide { flex: 0 0 100%; margin: 0; padding: 0; scroll-snap-align: start; aspect-ratio: 16 / 9; }
.ab-slide img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ab-slides__bar { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3); border-top: 1px solid var(--color-line); }
.ab-slides__nav, .ab-slides__full { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-width: var(--tap-min); min-height: var(--tap-min); padding: 0 var(--space-2); border: 0; border-radius: var(--radius-s); background: transparent; color: var(--color-text); font: inherit; font-size: var(--fs-small); cursor: pointer; }
.ab-slides__nav:hover, .ab-slides__full:hover { background: var(--color-sheet); }
.ab-slides__nav svg, .ab-slides__full svg { width: var(--ab-chev); height: var(--ab-chev); fill: none; stroke: currentColor; stroke-width: 2; }
.ab-ch .ab-slides__count { margin: 0; min-width: var(--ab-count-w); text-align: center; font-size: var(--fs-small); font-variant-numeric: tabular-nums; }
.ab-slides__full { margin-left: auto; }
.ab-slides__full[hidden] { display: none; }
.ab-pres__dl { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2) var(--space-4); margin-top: var(--space-4); }
.ab-ch .ab-pres__hint { margin: 0; font-size: var(--fs-small); color: var(--color-text-muted); }
/* На весь экран (компьютер): слайд по центру на светлом фоне */
.ab-slides:fullscreen { display: flex; flex-direction: column; justify-content: center; border: 0; border-radius: 0; background: var(--color-bg); }
.ab-slides:fullscreen .ab-slides__track { flex: 1; align-items: center; }
.ab-slides:fullscreen .ab-slide { aspect-ratio: auto; height: 100%; }
@media (min-width: 768px) {
  .ab-ch .ab-pres__hint { display: none; }
}

@media (min-width: 1200px) {
  .ab-bar { display: none; }
}

/* Переход по оглавлению: заголовок не прячется под полосой главы */
.ab-ch, .ab-part { scroll-margin-top: var(--ab-scroll-mt); }
@media (min-width: 1200px) { .ab-ch, .ab-part { scroll-margin-top: var(--space-6); } }

/* Переносы — общим правилом (письмо МедиаЦЕХа 16, п. 1) */
.ab-hero__title, .ab-part__title, .ab-ch__title, .ab-ch .ab-key, .ab-ch .ab-callout__text, .ab-fig__cap,
.ab-ch .ab-stat__text, .ab-ch .ab-voice__q, .ab-ch .ab-choice__why, .ab-vs td { text-wrap: balance; }
.ab-ch p, .ab-ch li { text-wrap: pretty; }
.ab-br { display: none; }
@media (min-width: 768px) { .ab-br { display: inline; } }

/* Цепочка гл. 3: начинается с включённости (оранжевым), стрелки между звеньями, последнее — возврат */
.ab-chain--row { gap: var(--space-5); }
.ab-chain--row .ab-chain__step { position: relative; }
.ab-chain--row .ab-chain__step:first-child { background: var(--color-accent); color: var(--color-accent-text); }
.ab-chain--row .ab-chain__step:not(:last-child)::after { content: "↓"; position: absolute; left: 50%; bottom: calc(-1 * var(--space-5)); transform: translateX(-50%); line-height: var(--space-5); color: var(--color-text-muted); font-weight: var(--fw-text); }
.ab-chain--row .ab-chain__step--loop { background: var(--color-surface); box-shadow: inset 0 0 0 2px var(--color-text); justify-content: space-between; }
.ab-chain__back { font-size: var(--fs-h3); line-height: 1; color: var(--color-accent); }

/* Схема гл. 14: после опыта — осознанное решение по двум осям: где и кем быть */
.ab-axes { display: grid; gap: var(--space-3); }
.ab-ch .ab-axes__lead { margin: 0; font-weight: var(--fw-bold); }
.ab-axes__row { display: grid; gap: var(--space-2); }
.ab-ch .ab-axes__label { margin: 0; font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; color: var(--color-text-muted); }
.ab-ch .ab-axes__pair { display: grid; gap: var(--space-2); }
.ab-ch .ab-choice__item { padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-m); }
.ab-ch .ab-choice__item p { margin: 0; }
.ab-ch .ab-choice__what { font-size: var(--fs-body); font-weight: var(--fw-bold); }
.ab-ch .ab-choice__why { margin-top: var(--space-1); font-size: var(--fs-small); line-height: var(--lh-text); color: var(--color-text-muted); }

/* Таблица гл. 15: «Привычно» — «В ЦЕХе» */
.ab-vs { width: 100%; border-collapse: collapse; margin: var(--space-5) 0; }
.ab-vs th { padding: 0 0 var(--space-2); font-size: var(--fs-caption); font-weight: var(--fw-bold); letter-spacing: var(--tracking-label); text-transform: uppercase; text-align: left; }
.ab-vs th.ab-vs__new { color: var(--color-accent); }
.ab-vs td { padding: var(--space-3) 0; border-top: 1px solid var(--color-line); vertical-align: top; font-size: var(--fs-body); line-height: var(--lh-text); }
.ab-vs .ab-vs__old { color: var(--color-text-muted); text-decoration: line-through; text-decoration-color: var(--ab-soft); }
.ab-vs td.ab-vs__new { font-weight: var(--fw-bold); }
@media (max-width: 767px) {
  .ab-vs thead { display: none; }
  .ab-vs tr { display: grid; gap: var(--space-1); padding: var(--space-3) 0; border-top: 1px solid var(--color-line); }
  .ab-vs td { display: block; padding: 0; border: 0; }
}
@media (min-width: 768px) { .ab-vs td { width: 50%; } .ab-vs td.ab-vs__old { padding-right: var(--space-5); } }

/* Оглавление на компьютере: текущая глава — оранжевым (без жирного и черты), раскрыта только её часть (скрипт ставит .is-live) */
.ab-toc__list ol a[aria-current="true"], .ab-toc__solo > a[aria-current="true"] { color: var(--color-accent); }
@media (min-width: 1200px) {
  .ab-toc.is-live .ab-toc__part:not(.is-current) > ol { display: none; }
}
@media (min-width: 768px) {
  .ab-chain--row { gap: var(--space-5); }
  .ab-chain--row .ab-chain__step:not(:last-child)::after { content: "→"; left: auto; right: calc(-1 * var(--space-5)); top: 50%; bottom: auto; transform: translateY(-50%); width: var(--space-5); text-align: center; }
  .ab-axes__row { grid-template-columns: var(--ab-axis-label-w) 1fr; align-items: center; gap: var(--space-4); }
  .ab-ch .ab-axes__pair { grid-template-columns: 1fr 1fr; }
}
