/* ==========================================================================
   Страница направления «CAD по брифу» (/napravleniya/cad-po-brifu/, 2026-10-06).
   Язык — owl.css: тёмный лист, гротеск капсом, пилюли, жёлтый #FCE87F как у плашки на главной.
   Жёлтый здесь один крупный блок — первый экран. Демонстрация процесса — на тёмном:
   окна чата и брифа, чертёж светлыми линиями с жёлтыми размерами, файлы.
   Поведение — assets/js/dir-cad.js. Классы с префиксом cad-, чтобы не задеть общие.
   ========================================================================== */

/* ============ ПЕРВЫЙ ЭКРАН ============ */
.cad-hero { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-height: min(100vh, 940px); min-height: min(100svh, 940px); background: var(--o-yellow); color: var(--o-ink); }
.cad-hero :focus-visible, .cad-pn :focus-visible { outline-color: var(--o-ink); }
.cad-hero__txt { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; gap: clamp(14px, 1.5vw, 24px); padding: clamp(110px, 10vw, 180px) var(--o-pad) clamp(28px, 3.4vw, 60px); }
.cad-hero__crumb { display: flex; flex-wrap: wrap; gap: .4em 1.2em; color: var(--o-ink-mut); margin-bottom: auto; }
.cad-hero__crumb a { display: inline-flex; align-items: center; min-height: 24px; border-bottom: 1px solid currentColor; transition: color .3s; }
.cad-hero__crumb a:hover { color: var(--o-ink); }
.cad-hero__h { font-size: var(--o-fs-h1); max-width: 7em; }
.cad-hero__st .pill { font-size: var(--o-fs-ui); text-transform: uppercase; padding: .32em .85em .34em; }
.cad-hero__lead { max-width: 30em; font-size: clamp(18px, 1.6vw, 26px); line-height: 1.32; }
.cad-hero__sub { max-width: 34em; color: var(--o-ink-mut); font-size: clamp(15px, 1.1vw, 18px); line-height: 1.45; }
.cad-hero__go { border-bottom: 1.5px solid currentColor; padding-block: 8px 6px; }
.cad-hero__go:hover span { transform: translateY(4px); }
.cad-hero__art { position: relative; min-height: 420px; overflow: hidden; }
/* поля листа чертежа: тонкая рамка и засечки по углам — продолжение рендера */
.cad-hero__art::before { content: ""; position: absolute; inset: clamp(70px, 7vw, 120px) var(--o-pad) var(--o-pad); border: 1px solid rgba(18, 22, 23, .22); pointer-events: none; }
.cad-hero__img { position: absolute; left: 50%; top: 54%; width: min(94%, 860px); max-width: none; transform: translate3d(-50%, calc(-50% + var(--py, 0px)), 0); pointer-events: none; }
@media (max-width: 899px) {
  .cad-hero { grid-template-columns: 1fr; min-height: 0; }
  .cad-hero__txt { padding-top: 96px; justify-content: flex-start; }
  .cad-hero__crumb { margin-bottom: 6px; }
  .cad-hero__art { min-height: 0; aspect-ratio: 1.15; }
  .cad-hero__art::before { inset: 0 var(--o-pad) var(--o-pad); }
  .cad-hero__img { width: min(104%, 620px); top: 50%; }
}
@media (max-width: 759px) { .cad-hero__h { font-size: clamp(40px, 13vw, 72px); } }

/* ============ ДЕМОНСТРАЦИЯ ============ */
.cad-demo { --c-panel: rgba(237, 233, 232, .035); --c-edge: rgba(237, 233, 232, .16); }
.cad-demo__head { display: grid; grid-template-columns: 1fr 2fr; gap: 12px 20px; align-items: start; margin-bottom: clamp(28px, 3.4vw, 60px); }
.cad-demo__lbl { color: var(--o-mut); padding-top: .4em; }
.cad-demo__head .h2 { max-width: 11em; }
.cad-demo__note { grid-column: 2; max-width: 34em; color: var(--o-mut); font-size: clamp(15px, 1.1vw, 18px); line-height: 1.45; }
@media (max-width: 759px) { .cad-demo__head { grid-template-columns: 1fr; } .cad-demo__note { grid-column: auto; } }

/* --- шаги: текстовое описание процесса и кнопки --- */
.cad-ctl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px 24px; align-items: end; margin-bottom: 14px; }
.cad-steps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--o-line); counter-reset: none; }
.cad-steps__i { display: flex; flex-direction: column; gap: 8px; padding: 0 16px 14px 0; }
.cad-steps__i + .cad-steps__i { padding-left: 16px; border-left: 1px solid var(--o-line); }
.cad-step { position: relative; display: flex; align-items: baseline; gap: 10px; width: 100%; min-height: 48px; padding: 14px 0 10px; border: 0; background: none; text-align: left; font-size: var(--o-fs-ui); text-transform: uppercase; cursor: pointer; color: var(--o-mut); transition: color .4s var(--o-ease); }
.cad-step__n { font-size: 12px; }
.cad-step__t { font-weight: 500; }
.cad-step:hover, .cad-step[aria-current="step"], .cad-step.is-done { color: var(--o-fg); }
.cad-step__bar { position: absolute; left: 0; right: 0; top: -1px; height: 2px; background: var(--o-yellow); transform: scaleX(var(--p, 0)); transform-origin: left; }
.cad-step.is-done .cad-step__bar { --p: 1; background: var(--o-fg); }
.cad-step[aria-current="step"] .cad-step__bar { background: var(--o-yellow); }
.cad-step__d { color: var(--o-mut); font-size: 15px; line-height: 1.45; max-width: 24em; transition: color .4s var(--o-ease); }
.cad-steps__i.is-now .cad-step__d { color: var(--o-fg); }
.cad-cap { display: none; }
.cad-ctl__btns { display: flex; gap: 8px; padding-bottom: 14px; }
.cad-btn { min-height: 44px; padding: .5em 1.1em; border: 1.5px solid var(--o-line); border-radius: 999px; background: none; font-size: 14px; text-transform: uppercase; cursor: pointer; transition: border-color .3s, background-color .3s, color .3s; }
.cad-btn:hover { border-color: var(--o-fg); }
.cad-btn.is-gone { visibility: hidden; }

/* --- сцена: окна шагов --- */
.cad-stage { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); grid-template-areas: "chat model" "data model" "files files"; gap: 12px; }
.cad-chat { grid-area: chat; } .cad-data { grid-area: data; } .cad-model { grid-area: model; } .cad-files { grid-area: files; }
.cad-panel { position: relative; display: flex; flex-direction: column; gap: 14px; padding: 14px clamp(14px, 1.4vw, 22px) 18px; border: 1px solid var(--c-edge); border-radius: 10px; background: var(--c-panel); transition: border-color .6s var(--o-ease), background-color .6s var(--o-ease); }
.cad-panel.is-now { border-color: rgba(252, 232, 127, .7); background: rgba(237, 233, 232, .05); }
.cad-panel.is-wait { border-style: dashed; }
.cad-panel__hd { display: flex; align-items: baseline; gap: 10px; font-size: var(--o-fs-ui); text-transform: uppercase; }
.cad-panel__hd span:first-child { color: var(--o-mut); font-size: 12px; }
.cad-panel__hd h3 { font-size: inherit; font-weight: 500; }
.cad-panel__ex { margin-left: auto; font-size: 12px; text-transform: uppercase; padding: .15em .65em .2em; border-width: 1.2px; color: var(--o-mut); }
.cad-panel__wait { display: none; color: var(--o-mut); font-size: 15px; }
.js .cad-panel.is-wait .cad-panel__wait { display: block; }
.js .cad-panel.is-wait :is(.cad-vars, .cad-sum, .cad-live, .cad-draw) { visibility: hidden; }

/* 1. чат */
.cad-chat__body { display: flex; flex-direction: column; gap: 10px; }
.cad-msg { max-width: 92%; padding: 10px 14px 12px; border-radius: 14px; font-size: 16px; line-height: 1.42; }
.cad-msg__who { font-size: 12px; text-transform: uppercase; margin-bottom: 4px; }
.cad-msg--me { align-self: flex-end; background: var(--o-fg); color: var(--o-ink); border-bottom-right-radius: 4px; }
.cad-msg--me .cad-msg__who { color: var(--o-ink-mut); }
.cad-msg--ai { align-self: flex-start; border: 1px solid var(--c-edge); border-bottom-left-radius: 4px; }
.cad-msg--ai .cad-msg__who { color: var(--o-mut); }
.cad-type.is-typing::after { content: ""; display: inline-block; width: 2px; height: 1.05em; margin-left: 2px; vertical-align: -.15em; background: currentColor; animation: cad-caret .8s steps(1) infinite; }
@keyframes cad-caret { 50% { opacity: 0; } }
.cad-call { display: grid; gap: 6px; padding: 10px 12px; border-radius: 8px; border-left: 2px solid var(--o-yellow); background: rgba(252, 232, 127, .07); font-size: 14px; line-height: 1.4; font-variant-numeric: tabular-nums; }
.cad-call__hd { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.cad-call__tag { padding: .1em .55em .15em; border-radius: 4px; background: var(--o-yellow); color: var(--o-ink); font-size: 12px; font-weight: 600; letter-spacing: .02em; }
.cad-call__fn { font-weight: 500; letter-spacing: 0; word-break: break-word; }
.cad-call__st { margin-left: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; text-transform: uppercase; color: var(--o-mut); }
.cad-call__st::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #0E9F6E; }
.cad-call__st.is-run::before { background: var(--o-yellow); animation: cad-blink .7s ease-in-out infinite alternate; }
@keyframes cad-blink { to { opacity: .25; } }
.cad-call__args { color: var(--o-mut); }
/* появление частей чата и строк: JS ставит .is-off, пока часть «ещё не случилась» */
.cad-msg, .cad-call, .cad-row, .cad-file, .cad-files__end { transition: opacity .6s var(--o-ease), transform .6s var(--o-ease), filter .6s var(--o-ease); }
.is-off { opacity: 0 !important; transform: translateY(10px); filter: blur(2px); pointer-events: none; }

/* 2. данные брифа */
.cad-rows { display: grid; border-top: 1px solid var(--o-line); }
.cad-row { display: grid; grid-template-columns: 7.4em minmax(0, 1fr) auto; gap: 4px 12px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--o-line); font-size: 16px; }
.cad-row__k { color: var(--o-mut); font-size: 13px; text-transform: uppercase; }
.cad-row__v { font-weight: 500; font-variant-numeric: tabular-nums; }
.cad-row__src { justify-self: end; font-size: 12px; color: var(--o-mut); text-transform: uppercase; }
.cad-row__src--calc { color: var(--o-yellow); }
.cad-row .cad-range, .cad-row .cad-chips { grid-column: 1 / -1; }
.cad-row__v.is-tick { animation: cad-tick .7s var(--o-ease); }
@keyframes cad-tick { from { color: var(--o-yellow); } }
.cad-range { -webkit-appearance: none; appearance: none; width: 100%; height: 36px; margin: 2px 0 0; background: none; cursor: pointer; }
.cad-range::-webkit-slider-runnable-track { height: 2px; background: linear-gradient(90deg, var(--o-yellow) var(--fill, 27%), var(--o-line) var(--fill, 27%)); border-radius: 2px; }
.cad-range::-moz-range-track { height: 2px; background: var(--o-line); }
.cad-range::-moz-range-progress { height: 2px; background: var(--o-yellow); }
.cad-range::-webkit-slider-thumb { -webkit-appearance: none; width: 22px; height: 22px; margin-top: -10px; border-radius: 50%; background: var(--o-yellow); border: 0; box-shadow: 0 0 0 0 rgba(252, 232, 127, .45); transition: box-shadow .4s var(--o-ease); }
.cad-range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--o-yellow); border: 0; }
.cad-range:hover::-webkit-slider-thumb, .cad-range:focus-visible::-webkit-slider-thumb { box-shadow: 0 0 0 8px rgba(252, 232, 127, .18); }
.cad-range.is-hint::-webkit-slider-thumb { animation: cad-hint 1.4s var(--o-ease) 2; }
@keyframes cad-hint { 0% { box-shadow: 0 0 0 0 rgba(252, 232, 127, .55); } 100% { box-shadow: 0 0 0 14px rgba(252, 232, 127, 0); } }
.cad-range:focus-visible { outline-offset: 0; }
.cad-chips { display: flex; gap: 6px; margin-top: 4px; }
.cad-chip { min-width: 64px; min-height: 40px; padding: .3em .9em; border: 1.2px solid var(--o-line); border-radius: 999px; background: none; font-size: 14px; cursor: pointer; transition: border-color .3s, background-color .3s, color .3s; }
.cad-chip:hover { border-color: var(--o-fg); }
.cad-chip[aria-pressed="true"] { background: var(--o-fg); border-color: var(--o-fg); color: var(--o-ink); }
.cad-live { min-height: 2.9em; font-size: 14px; line-height: 1.45; color: var(--o-mut); }
.cad-live b { color: var(--o-fg); font-weight: 500; }

/* 3. модель */
.cad-draw { position: relative; flex: 1 1 auto; display: grid; align-content: center; border-radius: 6px; background: rgba(0, 0, 0, .22); }
.cad-svg { display: block; width: 100%; height: auto; overflow: visible; font-family: var(--o-f); }
.cad-noscript { padding: 20px; color: var(--o-mut); }
.cad-svg .ln { fill: none; stroke: var(--o-fg); stroke-width: 1.2; stroke-linejoin: round; stroke-linecap: round; }
.cad-svg .ln-f { stroke: var(--o-yellow); stroke-width: 1.3; fill: none; stroke-linejoin: round; }
.cad-svg .fa { fill: #3A4244; } .cad-svg .fb { fill: #283032; } .cad-svg .fc { fill: #1C2223; }
.cad-svg .fh { fill: #0E1213; }
.cad-svg .ff { fill: rgba(252, 232, 127, .26); } .cad-svg .ff2 { fill: rgba(252, 232, 127, .12); }
.cad-svg .fs { fill: rgba(237, 233, 232, .07); }
.cad-svg .ctr { fill: none; stroke: var(--o-mut); stroke-width: .9; stroke-dasharray: 10 3 2 3; }
.cad-svg .dim { fill: none; stroke: var(--o-yellow); stroke-width: .9; }
.cad-svg .ext { fill: none; stroke: rgba(252, 232, 127, .55); stroke-width: .8; }
.cad-svg .arw { fill: var(--o-yellow); }
.cad-svg .tx { fill: var(--o-yellow); font-size: var(--fs, 12px); font-weight: 500; font-variant-numeric: tabular-nums; }
.cad-svg .tl { fill: var(--o-mut); font-size: var(--fs, 12px); text-transform: uppercase; letter-spacing: .02em; }
.cad-svg .tw { fill: var(--o-fg); font-size: var(--fs, 12px); font-weight: 500; text-transform: uppercase; }
.cad-svg .frm { fill: none; stroke: rgba(237, 233, 232, .22); stroke-width: 1; }
/* прорисовка на шаге 3: контур тянется линией, заливки и подписи проявляются следом */
.cad-svg .dr { stroke-dasharray: 1 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.3s var(--o-ease); transition-delay: calc(var(--d, 0) * 1ms); }
.cad-svg .fd { opacity: 0; transition: opacity .7s var(--o-ease); transition-delay: calc(var(--d, 0) * 1ms + 500ms); }
.cad-model.is-drawn .cad-svg .dr { stroke-dashoffset: 0; }
.cad-model.is-drawn .cad-svg .fd { opacity: 1; }
.cad-vars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cad-var { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; gap: 2px 10px; align-items: baseline; min-height: 64px; padding: 10px 12px; border: 1.2px solid var(--c-edge); border-radius: 8px; background: none; text-align: left; cursor: pointer; transition: border-color .3s, background-color .4s var(--o-ease), color .4s var(--o-ease); }
.cad-var b { grid-row: 1 / 3; font-size: clamp(24px, 2vw, 34px); font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.cad-var__t { font-size: 13px; text-transform: uppercase; line-height: 1.2; }
.cad-var__m { font-size: 14px; color: var(--o-mut); font-variant-numeric: tabular-nums; }
.cad-var:hover { border-color: var(--o-fg); }
.cad-var[aria-pressed="true"] { background: var(--o-yellow); border-color: var(--o-yellow); color: var(--o-ink); }
.cad-var[aria-pressed="true"] .cad-var__m { color: var(--o-ink-mut); }
.cad-model :focus-visible, .cad-var:focus-visible { outline-color: var(--o-yellow); }
.cad-sum { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 24px; align-items: end; }
.cad-sum__name { display: none; color: var(--o-fg); font-weight: 500; }
.cad-sum__note { color: var(--o-mut); font-size: 15px; line-height: 1.45; max-width: 26em; }
.cad-sum__m { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 0; }
.cad-sum__m div { display: grid; gap: 2px; }
.cad-sum__m dt { font-size: 12px; color: var(--o-mut); text-transform: uppercase; }
.cad-sum__m dd { margin: 0; font-size: 16px; font-weight: 500; font-variant-numeric: tabular-nums; }
.cad-approx { font-size: 12px; text-transform: uppercase; padding: .12em .6em .16em; border-width: 1.2px; color: var(--o-yellow); font-weight: 400; }

/* 4. файлы */
.cad-files__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.cad-file { display: grid; grid-template-columns: 96px minmax(0, 1fr); grid-template-rows: auto 1fr; gap: 6px 14px; padding: 12px; border: 1px solid var(--c-edge); border-radius: 8px; }
.cad-file__pic { grid-row: 1 / 3; width: 96px; height: 72px; border-radius: 4px; background: rgba(0, 0, 0, .25); }
.cad-file__n { font-size: 16px; font-weight: 500; word-break: break-all; }
.cad-file__d { color: var(--o-mut); font-size: 14px; line-height: 1.4; margin-top: 4px; }
.cad-files__end { color: var(--o-mut); font-size: 15px; }
.cad-file__pic .ln { fill: none; stroke: var(--o-fg); stroke-width: 1; stroke-linejoin: round; }
.cad-file__pic .ly { fill: none; stroke: var(--o-yellow); stroke-width: 1; stroke-linejoin: round; }
.cad-file__pic .fa { fill: #3A4244; } .cad-file__pic .fb { fill: #283032; } .cad-file__pic .fc { fill: #1C2223; } .cad-file__pic .fh { fill: #0E1213; }
.cad-file__pic .pp { fill: var(--o-fg); } .cad-file__pic .pl { fill: none; stroke: var(--o-ink); stroke-width: .8; }

/* ширина планшета: чат и бриф рядом, модель и файлы — во всю ширину */
@media (max-width: 1099px) {
  .cad-stage { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "chat data" "model model" "files files"; }
  .cad-ctl { grid-template-columns: 1fr; }
  .cad-ctl__btns { padding-bottom: 0; }
  .cad-btn.is-gone { display: none; }
  .cad-files__l { grid-template-columns: 1fr; }
}
/* телефон: окна шагов лежат стопкой в одной ячейке, видно текущее — высота сцены не прыгает */
@media (max-width: 759px) {
  .cad-steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .cad-steps__i, .cad-steps__i + .cad-steps__i { padding: 0; border-left: 0; }
  .cad-steps__i + .cad-steps__i .cad-step { padding-left: 6px; border-left: 1px solid var(--o-line); }
  .cad-step { flex-direction: column; gap: 2px; padding: 10px 4px 8px 0; font-size: 13px; min-height: 56px; }
  .cad-step__t { font-size: 13px; letter-spacing: -.02em; }
  .cad-step__d { display: none; }
  .cad-cap { display: block; min-height: 4.4em; font-size: 15px; line-height: 1.45; }
  .cad-ctl { gap: 10px; margin-bottom: 12px; }
  .cad-stage.is-tabs { grid-template-columns: minmax(0, 1fr); grid-template-areas: none; }
  .cad-stage.is-tabs > .cad-panel { grid-area: 1 / 1; align-self: start; }
  .cad-stage.is-tabs > .cad-panel:not(.is-now) { visibility: hidden; opacity: 0; }
  .cad-stage.is-tabs > .cad-panel { transition: opacity .45s var(--o-ease), visibility 0s; }
  .cad-stage:not(.is-tabs) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "chat" "data" "model" "files"; }
  .cad-panel { padding: 12px 12px 16px; }
  .cad-msg { max-width: 100%; font-size: 15px; }
  .cad-row { grid-template-columns: minmax(0, 1fr) auto; font-size: 15px; }
  .cad-row__k { grid-column: 1; } .cad-row__src { grid-column: 2; grid-row: 1; }
  .cad-row__v { grid-column: 1 / -1; }
  .cad-chip { flex: 1; min-width: 0; min-height: 44px; }
  .cad-vars { gap: 6px; }
  .cad-var { grid-template-columns: auto 1fr; grid-template-rows: auto; align-items: baseline; min-height: 48px; padding: 8px 10px; gap: 2px 8px; }
  .cad-var b { grid-row: auto; font-size: 22px; }
  .cad-var__t { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .cad-sum__name { display: inline; }
  .cad-sum { grid-template-columns: 1fr; }
  .cad-sum__m { gap: 4px 16px; }
  .cad-file { grid-template-columns: 72px minmax(0, 1fr); gap: 4px 12px; padding: 10px; }
  .cad-file__pic { width: 72px; height: 54px; }
  .cad-file__n { font-size: 15px; }
  .cad-panel__ex { display: none; }
}

/* ============ ЧТО БУДЕТ УМЕТЬ · КОМУ · СТАТУС ============ */
.cad-sec__head { display: grid; grid-template-columns: 1fr 2fr; gap: 12px 20px; align-items: start; margin-bottom: clamp(28px, 3.4vw, 60px); }
.cad-sec__head .lbl { color: var(--o-mut); padding-top: .4em; }
@media (max-width: 759px) { .cad-sec__head { grid-template-columns: 1fr; } }
.cad-can { padding-top: 0; }
.cad-can__l { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--o-line); }
.cad-can__l li { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 6px 0; }
.cad-can__l li + li { padding-left: 18px; border-left: 1px solid var(--o-line); }
.cad-can__n { color: var(--o-yellow); font-size: 12px; }
.cad-can__l h3 { font-size: clamp(18px, 1.5vw, 26px); font-weight: 500; letter-spacing: -.02em; line-height: 1.12; }
.cad-can__l p { color: var(--o-mut); font-size: clamp(15px, 1.1vw, 18px); line-height: 1.45; max-width: 24em; }
@media (max-width: 1099px) { .cad-can__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cad-can__l li:nth-child(3) { padding-left: 0; border-left: 0; } .cad-can__l li:nth-child(n+3) { border-top: 1px solid var(--o-line); margin-top: 18px; } }
@media (max-width: 559px) { .cad-can__l { grid-template-columns: 1fr; } .cad-can__l li, .cad-can__l li + li { padding: 14px 0 16px; border-left: 0; margin-top: 0; } .cad-can__l li + li { border-top: 1px solid var(--o-line); } }

.cad-who { padding-top: 0; }
.cad-who__l { border-top: 1px solid var(--o-line); }
.cad-who__l li { display: grid; grid-template-columns: 1fr 2fr; gap: 6px 20px; align-items: baseline; padding: clamp(14px, 1.6vw, 26px) 0; border-bottom: 1px solid var(--o-line); }
.cad-who__l h3 { font-size: clamp(26px, 3.2vw, 58px); }
.cad-who__l p { max-width: 30em; font-size: clamp(16px, 1.32vw, 22px); line-height: 1.4; color: var(--o-mut); }
@media (max-width: 759px) { .cad-who__l li { grid-template-columns: 1fr; } }

.cad-status { padding-top: 0; }
.cad-status__in { display: grid; grid-template-columns: 1fr 2fr; gap: 16px 20px; align-items: start; margin-inline: var(--o-pad); padding-inline: 0; }
.cad-status__in .lbl { color: var(--o-mut); margin-bottom: 14px; }
.cad-status__in .h2 { color: var(--o-yellow); }
.cad-status__txt { display: grid; gap: 14px; max-width: 34em; font-size: clamp(18px, 1.6vw, 26px); line-height: 1.34; }
@media (max-width: 759px) { .cad-status__in { grid-template-columns: 1fr; } }

/* ============ СОСЕДНИЕ НАПРАВЛЕНИЯ ============ */
.cad-pn { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; align-items: center; padding: clamp(22px, 2.6vw, 44px) var(--o-pad); background: var(--o-light); color: var(--o-ink); border-top: 1px solid rgba(18, 22, 23, .14); }
.cad-pn__a { display: grid; gap: 8px; min-width: 0; }
.cad-pn__a .lbl { color: var(--o-ink-mut); }
.cad-pn__a b { font-size: clamp(22px, 2.6vw, 46px); transition: transform .5s var(--o-ease); }
.cad-pn__a--next { text-align: right; }
.cad-pn__a--prev:hover b { transform: translateX(-8px); }
.cad-pn__a--next:hover b { transform: translateX(8px); }
.cad-pn__all { display: inline-flex; align-items: center; min-height: 44px; padding: .4em 1.1em; border: 1.5px solid var(--o-ink); border-radius: 999px; transition: background-color .4s var(--o-ease), color .4s var(--o-ease); }
.cad-pn__all:hover { background: var(--o-ink); color: var(--o-light); }
@media (max-width: 759px) {
  .cad-pn { grid-template-columns: 1fr; gap: 18px; }
  .cad-pn__all { order: 3; justify-self: start; }
  .cad-pn__a--next { text-align: left; }
}

/* ============ МЕНЬШЕ ДВИЖЕНИЯ: всё показано сразу ============ */
@media (prefers-reduced-motion: reduce) {
  .cad-svg .dr, .cad-svg .fd, .cad-msg, .cad-call, .cad-row, .cad-file, .cad-files__end, .cad-panel, .cad-stage.is-tabs > .cad-panel { transition: none !important; }
  .cad-svg .dr { stroke-dashoffset: 0; } .cad-svg .fd { opacity: 1; }
  .cad-range.is-hint::-webkit-slider-thumb, .cad-call__st.is-run::before, .cad-type.is-typing::after, .cad-row__v.is-tick { animation: none; }
  .cad-pn__a b { transition: none; }
}
@media print { .cad-ctl__btns { display: none; } }
