/* ==========================================================================
   ds-company — «Печатный лист» + «Отделка» для страниц компании:
   кейсы (pages/keysy/*), портфолио, отзывы, о компании, производство,
   оборудование, технологии. Подключается последним стилем этих страниц,
   поверх старых home/pages*.css. Цвета — только токены.
   ========================================================================== */

.dc { overflow-x: clip; }
.dc .reveal, .dc .reveal-clip { opacity: 1; transform: none; clip-path: none; }
.dc .crumbs { display: flex; flex-wrap: wrap; gap: var(--space-2); padding-top: var(--space-6); font-size: var(--text-sm); color: var(--color-text-muted); }
.dc .crumbs a { color: inherit; }
.dc-register__row, .dc-inside__list li, .dc-facts li, .dc-chapter .proof p { max-width: none; }
.dc-lead { font-size: var(--text-lg); line-height: 1.5; color: var(--color-text-muted); max-width: 44ch; }
.dc-tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.dc-actions { display: flex; flex-wrap: wrap; gap: var(--space-4) var(--space-6); align-items: center; margin-top: var(--space-10); }
.dc h1 { font-size: clamp(2.75rem, 1.6rem + 4.2vw, 5.25rem); line-height: 0.9; letter-spacing: var(--tracking-display); }

/* ── Кейс: досье ─────────────────────────────────────────────────────── */
.dc-case-hero { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--space-12); align-items: center; padding-block: var(--space-10) var(--space-20); }
.dc-case-hero h1 { margin: var(--space-6) 0 var(--space-8); }
.dc-desk { --desk-ratio: 1 / 0.86; }
@media (min-width: 781px) {
  .dc-desk .desk__a { width: 62%; top: 4%; }
  .dc-desk .desk__b { width: 48%; top: 32%; }
}
.dc-specimen--ink .specimen__frame { background: var(--color-surface-offset); }
.dc-desk > .dc-specimen--ink .specimen__frame { background: var(--color-surface-offset); }

.dc-dossier { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-16); align-items: start; padding-bottom: var(--space-16); }
.dc-dossier__side { position: sticky; top: calc(var(--space-20) + var(--space-4)); }
.dc-dossier__nav { margin-top: var(--space-12); padding-left: var(--space-2); }
.dc-dossier__nav ol { list-style: none; display: grid; gap: var(--space-1); margin: 0; padding: 0; }
.dc-dossier__nav a { display: flex; gap: var(--space-3); padding: var(--space-2) 0; color: var(--color-text-muted); text-decoration: none; font-size: var(--text-sm); min-height: 24px; }
.dc-dossier__nav a::before { content: ''; flex: none; width: 18px; height: 1px; margin-top: 0.75em; background: var(--color-border); transition: width var(--dur-base, 280ms) var(--ease-out), background-color var(--dur-base, 280ms) var(--ease-out); }
.dc-dossier__nav a:hover, .dc-dossier__nav a:focus-visible { color: var(--color-text); }
.dc-dossier__nav a:hover::before, .dc-dossier__nav a:focus-visible::before { width: 36px; background: var(--color-text); }
.dc-chapter { padding-bottom: var(--space-12); scroll-margin-top: var(--space-24); }
.dc-chapter + .dc-chapter { padding-top: var(--space-12); border-top: 1px solid var(--color-divider); }
.dc-chapter h2 { font-size: clamp(2rem, 1.4rem + 2vw, 3rem); margin-bottom: var(--space-6); }
.dc-chapter p, .dc-chapter li { font-size: 1.0625rem; line-height: 1.7; max-width: 64ch; }
.dc-chapter p + p { margin-top: var(--space-4); }
.dc-cuts { list-style: none; padding: 0; margin: var(--space-2) 0 0; display: grid; gap: var(--space-3); }
.dc-cuts li { position: relative; padding-left: var(--space-8); }
.dc-cuts li::before { content: ''; position: absolute; left: 0; top: 0.85em; width: 18px; border-top: 1.5px solid var(--color-cut); }
.dc-chapter .proof { margin-top: var(--space-6); }
.dc-detail { max-width: 480px; margin-top: var(--space-4); }

.dc-result { padding-block: var(--space-20); }
.dc-result__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: center; }
.dc-result h2 { font-size: clamp(2.25rem, 1.6rem + 2vw, 3.5rem); margin-bottom: var(--space-6); color: var(--ink-key); }
.dc-result p { font-size: var(--text-lg); line-height: 1.55; color: var(--ink-key); max-width: 48ch; }
.dc-result .dc-result__card { padding: var(--space-10); }
.dc-result .dc-result__fig { font: 800 clamp(4.5rem, 3rem + 5vw, 8rem)/0.85 var(--font-display); font-variant-numeric: tabular-nums; max-width: none; }
.dc-result .dc-result__cap { margin-top: var(--space-4); font-size: var(--text-sm); color: var(--color-text-inverse); opacity: 0.78; max-width: 34ch; }

.dc-related .catalog-list__thumb { width: 140px; }
.dc-related .catalog-list__row a { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) 140px; }

/* ── Финальный призыв на ink ─────────────────────────────────────────── */
.dc-cta { scroll-margin-top: var(--space-16); }
.dc-cta__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--space-16); align-items: start; }
.dc-cta .section__lead { margin-top: var(--space-5); color: var(--color-text-muted); }
.dc-cta__alt { display: flex; flex-wrap: wrap; gap: var(--space-4); align-items: center; margin-top: var(--space-10); }
.dc-cta__phone { font: 800 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1 var(--font-display); color: var(--color-text-inverse); text-decoration: none; font-variant-numeric: tabular-nums; }
.dc-cta__phone:hover { text-decoration: underline; text-decoration-thickness: 2px; }
.dc-cta .form { padding: var(--space-8); border: 1px solid var(--color-divider); }
.dc-cta .form__submit { justify-self: stretch; }

@media (max-width: 980px) {
  .dc-case-hero, .dc-dossier, .dc-result__grid, .dc-cta__grid { grid-template-columns: minmax(0, 1fr); gap: var(--space-10); }
  .dc-dossier__side { position: static; }
  .dc-dossier__nav { display: none; }
}
@media (max-width: 640px) {
  .dc-case-hero { padding-block: var(--space-6) var(--space-12); }
  .dc-cta .form { padding: var(--space-5); }
  .dc-related .catalog-list__row a { grid-template-columns: 1fr 88px; }
  .dc-related .catalog-list__thumb { width: 88px; }
  .proof-sheet { padding: var(--space-6) var(--space-5) var(--space-5); }
}

/* Старые .specimen (фон-подложка и риски на серединах сторон) — на этих
   страницах образец оформляет дизайн-система: только метки реза по углам. */
.dc .specimen { background: none; }
.dc .specimen__marks { background-image: none; }
.dc .specimen img { height: 100%; }

/* ── Наши работы: стол, факты, разбор, реестр ────────────────────────── */
.dc-cases-hero { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: var(--space-12); align-items: center; padding-block: var(--space-10) var(--space-12); }
.dc-cases-hero h1 { margin-bottom: var(--space-8); }
.dc-cases-desk { --desk-ratio: 1 / 0.9; }
@media (min-width: 781px) {
  .dc-cases-desk .desk__a { width: 50%; top: 4%; }
  .dc-cases-desk .desk__b { width: 42%; top: 0; }
  .dc-cases-desk .desk__c { width: 40%; bottom: 2%; }
}
@media (max-width: 780px) {
  .dc .desk { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .dc .desk > .specimen:first-child { grid-column: 1 / -1; }
}
.dc-facts { list-style: none; margin: 0 0 var(--space-16); padding: var(--space-6) 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-6); border-top: 1.5px solid var(--color-text); }
.dc-facts li { display: grid; gap: var(--space-2); }
.dc-facts b { font: 800 clamp(2.25rem, 1.6rem + 2vw, 3.5rem)/0.9 var(--font-display); font-variant-numeric: tabular-nums; }
.dc-facts span { font-size: var(--text-sm); color: var(--color-text-muted); }
.dc-feature__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-12); align-items: center; }
.dc-feature__h { font: 800 clamp(1.75rem, 1.3rem + 1.5vw, 2.5rem)/0.95 var(--font-display); margin: var(--space-6) 0 var(--space-4); max-width: none; }
.dc-register { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--color-text); }
.dc-register__head, .dc-register__row a { display: grid; grid-template-columns: 96px minmax(0, 3fr) minmax(0, 1.4fr) minmax(0, 5fr) minmax(0, 1.6fr); gap: var(--space-6); align-items: center; }
.dc-register__head { padding-bottom: var(--space-3); font-size: var(--text-label); color: var(--color-text-faint); }
.dc-register__row { border-bottom: 1px solid var(--color-divider); }
.dc-register__row a { padding-block: var(--space-4); color: inherit; text-decoration: none; }
.dc-register__thumb { display: block; width: 96px; aspect-ratio: 1; overflow: hidden; background: var(--paper-white); box-shadow: var(--shadow-lift); }
.dc-register__thumb img { width: 100%; height: 100%; object-fit: cover; }
.dc-register__name { font: 800 var(--text-xl)/0.95 var(--font-display); }
.dc-register__kind { font-size: var(--text-sm); }
.dc-register__desc { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.5; }
.dc-register__run { font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.dc-register__row a:hover .dc-register__name, .dc-register__row a:focus-visible .dc-register__name { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 0.12em; }
.dc-inside .sheet-stack { max-width: 860px; }
.dc-inside__list { margin: 0; padding: 0; list-style: none; counter-reset: ch; display: grid; gap: 0; }
.dc-inside__list li { counter-increment: ch; display: grid; grid-template-columns: 48px minmax(0, 4fr) minmax(0, 6fr); gap: var(--space-4); padding-block: var(--space-4); border-bottom: 1px solid var(--color-divider); max-width: none; }
.dc-inside__list li:last-child { border-bottom: 0; }
.dc-inside__list li::before { content: counter(ch); font: 800 1.5rem/1 var(--font-display); }
.dc-inside__list b { font-weight: 600; }
.dc-inside__list span { color: var(--color-text-muted); font-size: var(--text-sm); }
@media (max-width: 980px) {
  .dc-cases-hero, .dc-feature__grid { grid-template-columns: minmax(0, 1fr); }
  .dc-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-register__head { display: none; }
  .dc-register__row a { grid-template-columns: 72px minmax(0, 1fr); grid-template-areas: 'thumb name' 'thumb kind' 'desc desc' 'run run'; gap: var(--space-1) var(--space-4); }
  .dc-register__thumb { grid-area: thumb; width: 72px; }
  .dc-register__name { grid-area: name; } .dc-register__kind { grid-area: kind; } .dc-register__desc { grid-area: desc; } .dc-register__run { grid-area: run; white-space: normal; }
  .dc-inside__list li { grid-template-columns: 36px minmax(0, 1fr); }
  .dc-inside__list span { grid-column: 2; }
}

/* ── Портфолио: чипы, развороты, контрольный лист ────────────────────── */
.dc-chips { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-8); }
.dc-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 var(--space-4); border: 1px solid var(--color-divider); border-radius: var(--radius-die); background: var(--grain-paper), var(--color-surface); box-shadow: var(--shadow-emboss); color: var(--color-text); text-decoration: none; font-weight: 500; font-size: var(--text-sm); }
.dc-chips a:hover { box-shadow: var(--shadow-emboss), var(--shadow-lift); }
.dc-spreads { display: grid; gap: var(--space-16); }
.dc-spread { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: center; }
.dc-spread--flip > .specimen { order: 2; }
.dc-spread .proof-sheet__title { margin: 0; }
.dc-sheet { padding-block: var(--space-20); }
.dc-sheet__head { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); align-items: end; margin-bottom: var(--space-12); }
.dc-sheet__head .control-strip { grid-column: 1 / -1; }
.dc-sheet__head .section__lead { color: var(--color-text-inverse); opacity: 0.8; }
.dc-sheet__total { font: 800 2.5rem/1 var(--font-display); vertical-align: -0.12em; }
.dc-sheet-group { padding-top: var(--space-8); border-top: 1px solid var(--color-divider); scroll-margin-top: var(--space-20); }
.dc-sheet-group + .dc-sheet-group { margin-top: var(--space-12); }
.dc-sheet-group__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--space-4); margin-bottom: var(--space-6); }
.dc-sheet-group__head h2 { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); color: var(--color-text-inverse); }
.dc-sheet-group__head span { font-size: var(--text-sm); color: var(--color-text-inverse); opacity: 0.7; }
.dc-sheet__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: var(--space-5); }
.dc-sheet__tile { max-width: none; }
.dc-sheet__tile figure { margin: 0; padding: var(--space-3); background: var(--paper-white); box-shadow: var(--shadow-lift); }
.dc-sheet__win { aspect-ratio: 1; overflow: hidden; background: var(--color-surface-offset); }
.dc-sheet__win img { width: 100%; height: 100%; object-fit: cover; }
.dc-sheet__tile figcaption { display: grid; grid-template-columns: 1fr auto; gap: 0 var(--space-2); padding-top: var(--space-3); color: var(--ink-key); font-size: var(--text-xs); }
.dc-sheet__tile figcaption b { grid-column: 1 / -1; font-size: var(--text-sm); font-weight: 600; }
.dc-sheet__tile figcaption span:last-child { font-variant-numeric: tabular-nums; opacity: 0.7; }
.dc-industries { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-8); border-top: 1.5px solid var(--color-text); padding-top: var(--space-6); }
.dc-industries li { font: 800 clamp(1.5rem, 1.1rem + 1.2vw, 2.25rem)/1.1 var(--font-display); max-width: none; }
@media (max-width: 980px) {
  .dc-spread, .dc-sheet__head { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); }
  .dc-spread--flip > .specimen { order: 0; }
}
@media (max-width: 640px) { .dc-sheet__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); } }

/* ── Отзывы: печать, окно виджета, правила ───────────────────────────── */
.dc-reviews-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: center; padding-block: var(--space-10) var(--space-16); }
.dc-reviews-hero h1 { margin-bottom: var(--space-8); }
.dc-reviews__note { padding: var(--space-8); }
.dc-reviews__note-title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.05; }
.dc-reviews__checks { list-style: none; margin: var(--space-6) 0 0; padding: 0; border-top: 1.5px solid var(--color-text); }
.dc-reviews__checks li { padding-block: var(--space-4); border-bottom: 1px solid var(--color-divider); color: var(--color-text-muted); max-width: none; }
.dc-reviews__checks a { color: var(--color-text); font-weight: 600; }
.dc-widget-sheet { padding: var(--space-6); }
.dc-widget .reviews-widget__frame { box-shadow: var(--shadow-deboss); background: var(--color-surface-offset); border: 1px solid var(--color-divider); }
.dc-widget .caption { display: inline-block; margin-top: var(--space-4); }
.dc-rules { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--color-text); }
.dc-rules li { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-8); padding-block: var(--space-6); border-bottom: 1px solid var(--color-divider); max-width: none; }
.dc-rules b { font: 800 clamp(1.5rem, 1.2rem + 1vw, 2rem)/1 var(--font-display); }
.dc-rules p { color: var(--color-text-muted); }
@media (max-width: 980px) {
  .dc-reviews-hero { grid-template-columns: minmax(0, 1fr); }
  .dc-rules li { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
}
@media (max-width: 640px) { .dc-widget-sheet { padding: var(--space-3); } .dc-reviews__note { padding: var(--space-6); } }

/* Чекбокс согласия: старое правило «.form input { width: 100% }» сплющивало
   квадрат дизайн-системы в черту — фиксируем размер на этих страницах. */
.dc .form__consent input[type='checkbox'] { width: 20px; min-width: 20px; height: 20px; margin: 0 var(--space-2) 0 0; vertical-align: -4px; display: inline-grid; }

/* ── О компании: выходные данные, участки, гарантии, клиенты ──────────── */
.dc-about-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: center; padding-block: var(--space-10) var(--space-16); }
.dc-about-hero h1 { margin-bottom: var(--space-8); }
.dc-colophon { padding: var(--space-10); }
.dc-colophon p { max-width: none; }
.dc-colophon__label { font-size: var(--text-label); color: var(--color-text-inverse); opacity: 0.7; }
.dc-colophon__year { font: 800 clamp(5rem, 3.5rem + 5vw, 8.5rem)/0.85 var(--font-display); margin-top: var(--space-4); font-variant-numeric: tabular-nums; }
.dc-colophon__cap { margin-top: var(--space-3); color: var(--color-text-inverse); opacity: 0.8; font-size: var(--text-sm); }
.dc-colophon .control-strip { margin-block: var(--space-6); }
.dc-colophon__list { margin: 0; display: grid; gap: 0; }
.dc-colophon__list div { display: grid; grid-template-columns: 96px 1fr; gap: var(--space-4); padding-block: var(--space-3); border-top: 1px solid var(--color-divider); }
.dc-colophon__list dt { font-size: var(--text-label); color: var(--color-text-inverse); opacity: 0.7; }
.dc-colophon__list dd { margin: 0; color: var(--color-text-inverse); }
.dc-letter { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-12); align-items: start; }
.dc-letter__motto { font-size: clamp(2.75rem, 1.8rem + 3.5vw, 5rem); line-height: 0.92; }
.dc-letter__sheet { padding: var(--space-10); }
.dc-letter__sheet p { font-size: var(--text-lg); line-height: 1.6; }
.dc-letter__sheet p + p { margin-top: var(--space-4); }
.dc-letter__sign { display: flex; align-items: center; gap: var(--space-3); margin-top: var(--space-8) !important; padding-top: var(--space-5); border-top: 1px solid var(--color-divider); font-size: var(--text-sm) !important; color: var(--color-text-muted); }
.dc-prio { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--space-12); border-top: 1.5px solid var(--color-text); }
.dc-prio li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-6); padding-block: var(--space-5); border-bottom: 1px solid var(--color-divider); max-width: none; align-items: baseline; }
.dc-prio span { font-size: var(--text-label); color: var(--color-text-faint); }
.dc-prio b { font-size: var(--text-lg); font-weight: 600; }
.dc-clients { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1.5px solid var(--color-text); }
.dc-clients li { padding: var(--space-6) var(--space-4) var(--space-6) 0; border-bottom: 1px solid var(--color-divider); font: 800 clamp(1.5rem, 1rem + 1.6vw, 2.5rem)/1 var(--font-display); max-width: none; }
.dc-cta__alt--end { justify-content: flex-end; margin-top: 0; align-self: center; gap: var(--space-8); }
.dc-letter__note { margin-top: var(--space-6); font-size: var(--text-lg); line-height: 1.55; color: var(--color-text-muted); max-width: 40ch; }
.dc-prio--single { grid-template-columns: minmax(0, 1fr); }
.dc-letter__sheet .dc-prio b { font-size: var(--text-base); }
.dc-more { margin-top: var(--space-8); color: var(--color-text-muted); max-width: 70ch; }
.dc-more .btn--link { margin-left: var(--space-2); }
.dc-cta__tour { margin-top: var(--space-5); }
@media (max-width: 980px) {
  .dc-about-hero, .dc-letter { grid-template-columns: minmax(0, 1fr); }
  .dc-prio { grid-template-columns: minmax(0, 1fr); }
  .dc-clients { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dc-cta__alt--end { justify-content: flex-start; }
}
@media (max-width: 640px) { .dc-letter__sheet, .dc-colophon { padding: var(--space-6); } .dc-prio li { grid-template-columns: minmax(0, 1fr); gap: var(--space-1); } }

/* ── Оборудование, технологии, производство ──────────────────────────── */
.dc-tech-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: center; padding-block: var(--space-10) var(--space-12); }
.dc-tech-hero:only-child, .dc-tech-hero > div:only-child { grid-column: 1 / -1; }
.dc-tech-hero h1 { margin-bottom: var(--space-8); }
.dc-tech .section-note { font-size: var(--text-lg); line-height: 1.55; color: var(--color-text-muted); max-width: 60ch; margin-bottom: var(--space-10); }
.dc-tech .section-note--after { font-size: var(--text-sm); margin: var(--space-6) 0 0; }
.dc-tech .section__head { margin-bottom: var(--space-8); }

.dc-unit { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--space-10); padding: var(--space-10) 0; border-top: 1.5px solid var(--color-text); margin: 0; background: none; box-shadow: none; }
.dc-unit + .dc-unit { border-top: 1px solid var(--color-divider); }
.dc-unit .tech-block__title { font-size: clamp(1.75rem, 1.3rem + 1.4vw, 2.5rem); line-height: 0.95; margin: 0 0 var(--space-5); }
.dc-unit .tech-block__note { font-size: var(--text-base); line-height: 1.65; color: var(--color-text-muted); max-width: 52ch; }
.dc-unit__side { display: grid; gap: var(--space-5); align-content: start; }
.dc-unit__side .spec-list { margin: 0; }
.dc-unit .tech-block__label { font-weight: 600; font-size: var(--text-sm); margin: 0; }
.dc-unit__side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-2); }
.dc-unit__side ul li { position: relative; padding-left: var(--space-6); font-size: var(--text-sm); line-height: 1.55; max-width: none; }
.dc-unit__side ul li::before { content: ''; position: absolute; left: 0; top: 0.8em; width: 14px; border-top: 1.5px solid var(--color-cut); }
.dc-unit .mat-card__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }

.dc-formats { margin: 0; }
.dc-formats__sheet { padding: var(--space-6); display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--space-6); align-items: end; }
.dc-formats svg { width: 220px; height: auto; display: block; }
.dc-formats svg rect { stroke-width: 1.5; }
.dc-formats__cut { fill: none; stroke: var(--color-cut); stroke-dasharray: 6 4; }
.dc-formats__key { fill: var(--color-surface-offset); stroke: var(--color-text); }
.dc-formats__paper { fill: var(--color-surface); stroke: var(--color-text-muted); }
.dc-formats__offset { fill: var(--color-highlight); stroke: var(--ink-key); }
.dc-formats__dim { fill: none; stroke: var(--color-text-faint); }
.dc-formats__legend { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.dc-formats__legend li { display: grid; grid-template-columns: 18px 1fr; gap: 0 var(--space-3); max-width: none; }
.dc-formats__legend b { font: 600 1.125rem/1.1 var(--font-display); font-variant-numeric: tabular-nums; }
.dc-formats__legend span { grid-column: 2; font-size: var(--text-xs); color: var(--color-text-muted); }
.dc-formats__legend i { display: block; width: 14px; height: 14px; margin-top: 2px; border: 1.5px solid var(--color-text); }
.dc-formats__legend .dc-formats__key--cut { border: 1.5px dashed var(--color-cut); }
.dc-formats__legend .dc-formats__key--key { background: var(--color-surface-offset); }
.dc-formats__legend .dc-formats__key--paper { background: var(--color-surface); border-color: var(--color-text-muted); }
.dc-formats__legend .dc-formats__key--offset { background: var(--color-highlight); border-color: var(--ink-key); }
.dc-formats .caption { display: block; margin-top: var(--space-4); }

.dc-tech .timeline__label p { max-width: none; }
.dc-tech .accordion { max-width: 860px; }

@media (max-width: 980px) {
  .dc-tech-hero, .dc-unit { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
}
@media (max-width: 640px) {
  .dc-formats__sheet { grid-template-columns: minmax(0, 1fr); }
  .dc-formats svg { width: 160px; }
}

/* Таблица технических возможностей — текстовая, а не прайс: левое
   выравнивание, текстовый кегль, перенос внутри ячеек. */
.dc-tech .price-table th, .dc-tech .price-table td { text-align: left; white-space: normal; vertical-align: top; }
.dc-tech .price-table tbody td { font: 400 var(--text-sm)/1.45 var(--font-body); }
.dc-tech .price-table tbody td:first-child { font-weight: 600; min-width: 11rem; }
.dc-tech .price-table td:nth-child(3) { font-variant-numeric: tabular-nums; white-space: nowrap; }
.dc-tech .table-scroll { box-shadow: var(--shadow-lift); background: var(--color-surface); }
.dc-tech .dc-facts b { font-size: clamp(1.75rem, 1.3rem + 1.5vw, 2.75rem); }

/* ── Производство ────────────────────────────────────────────────────── */
.dc-units { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--space-12); align-items: center; }
.dc-units__list { list-style: none; margin: 0; padding: 0; border-top: 1.5px solid var(--color-text); }
.dc-units__list li { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 3fr); gap: var(--space-6); padding-block: var(--space-5); border-bottom: 1px solid var(--color-divider); max-width: none; }
.dc-units__list b { font: 800 clamp(1.375rem, 1.1rem + 0.9vw, 1.875rem)/1 var(--font-display); }
.dc-units__list span { font-size: var(--text-sm); color: var(--color-text-muted); line-height: 1.55; }
.dc-units__desk { --desk-ratio: 1 / 1.05; }
@media (min-width: 781px) { .dc-units__desk .desk__a { width: 66%; top: 2%; } .dc-units__desk .desk__b { width: 56%; top: 40%; } }
.dc-press { margin: var(--space-16) 0 0; }
.dc-press img { width: 100%; aspect-ratio: 21 / 8; object-fit: cover; display: block; box-shadow: var(--shadow-lift); }
.dc-press .caption { display: block; margin-top: var(--space-3); }
.dc-studio__text { margin-top: var(--space-6); }
.dc-path { grid-template-columns: repeat(6, minmax(0, 1fr)); }
.dc-path .timeline__label strong { font-size: var(--text-lg); }
@media (max-width: 980px) { .dc-units { grid-template-columns: minmax(0, 1fr); } .dc-path { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .dc-units__list li { grid-template-columns: minmax(0, 1fr); gap: var(--space-2); } .dc-path { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dc-press img { aspect-ratio: 4 / 3; } }

/* ОТК по шагам: номер этапа слева, что проверяем справа. */
.dc-qc { list-style: none; margin: 0; padding: 0; counter-reset: qc; border-top: 1.5px solid var(--color-text); }
.dc-qc li { counter-increment: qc; display: grid; grid-template-columns: 3rem minmax(0, 4fr) minmax(0, 8fr); gap: var(--space-6); padding-block: var(--space-6); border-bottom: 1px solid var(--color-divider); max-width: none; align-items: baseline; }
.dc-qc li::before { content: counter(qc, decimal-leading-zero); font-size: var(--text-label); color: var(--color-text-faint); font-variant-numeric: tabular-nums; }
.dc-qc b { font: 800 clamp(1.375rem, 1.1rem + 0.9vw, 1.875rem)/1 var(--font-display); }
.dc-qc p { color: var(--color-text-muted); max-width: 62ch; }
@media (max-width: 780px) { .dc-qc li { grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-2) var(--space-4); } .dc-qc p { grid-column: 2; } }
