/* ============================================================
   ПМК — стили главной страницы
   ------------------------------------------------------------
   Итерация 8 — девятнадцать правок 27.08 ночи. Ключевое:
   1) срез 45° снят с карточек, панелей, плашек и слотов — заказчик:
      «применяются вообще везде… к 4-му блоку глаз уже вообще
      не воспримет». Срез остался у кнопок (механика отклика)
      и у рамы калькулятора (единственный обрамлённый контур);
   2) треугольные маркеры заменены знаками из общего словаря:
      галочка и крестик в кружках (base.css);
   3) лист 02 — два утверждения без коробок; лист 05 — маршрут
      вместо таблицы; лист 10 — открытая сетка вместо аккордеона;
      лист 12 — фото фоном секции;
   4) полоса прогресса прокрутки снята, ползунок якоря остался.
   ------------------------------------------------------------
   Итерация 7 — семнадцать правок 27.08 вечера. Ключевое:
   1) всплывающие панели .raskryv отменены как приём — текст либо
      виден сразу (04, 09), либо переключается сменой состояния:
      вкладки (03), таблица (05), аккордеоны (07, 10);
   2) значок «§» заменён словом-триггером «источник» (base.css);
   3) шапка прилипает — первый этаж навигации; полоса структуры —
      второй, с ползунком активного якоря и прогрессом прокрутки;
   4) в каждом листе есть элемент крупнее остальных — акценты
      перечислены в отчёте итерации 7;
   5) отклик при наведении добавлен строкам таблиц, пунктам
      перечней, числам, позициям регалий — приём один на тип
      элемента, 200мс, вёрстку не двигает, prefers-reduced-motion
      отключает всё глобальным правилом base.css.
   Ритм фонов: 01 тёмный(фото) — 02 sinij-fon — 03 белый — 04 fon-2 —
      05 белый — 06 fon-2 — 07 белый — 08 белый+рама sinij-fon —
      09 fon-2 — 10 белый — 11 fon-2 — 12 белый+фото (хвост fon-2) —
      13 белый — подвал тёмный. Тёмных секций две.
   Общее живёт в base.css: карточки, панель да/нет, аккордеон,
   подсказка .punkt, механизм data-poyav, полоса структуры.
   ------------------------------------------------------------
   Адаптив 01.09: восемь ширин (1920 — 1440 — 1180 — 1024 —
   844×390 — 768 — 390 — 360). Правила — в блоке «АДАПТИВ»
   в конце файла, по листам сверху вниз; токены сетки и общие
   компоненты — base.css; таблица схлопывания — ДИЗАЙН-СИСТЕМА 11.2.
   ============================================================ */

/* ── Блоки, у которых заказчик снял поясняющий подзаголовок
      (03, 04, 05): содержимое подтянуто к заголовку — на месте
      снятой строки не остаётся пустого поля.
      .sek__telo--blizhe ПЕРЕЕХАЛ в base.css 14.09.2026 —
      понадобился странице /biznes-plan/. ── */

/* ── Шапка блока с боковой пометкой (лист 02): заголовок слева,
      мелкая справка справа — «сделай как боковую справочку-пометку».
      Пометка прижата к базовой линии заголовка. ── */
.sek__shapka{display:flex;align-items:flex-end;justify-content:space-between;gap:64px}
.pometka-sbok{flex:0 1 300px;font-size:13px;line-height:1.55;color:var(--seryj);border-left:2px solid var(--linia);padding-left:14px;margin-bottom:5px}

/* ================= ЛИСТ 01 — Первый экран =================
   Текст поверх видео-вставки (пока hero.jpg), читаемость держит
   градиент под текстом. Тёмный здесь даёт снимок, а не заливка —
   одна из двух тёмных секций страницы. Высота — весь экран минус
   шапка; шапка светлая и прилипает над секцией.
   Итерация 7: строка у знака фонда — «условия программ фонда»;
   в полосе фактов вместо регионов гарантия; фактам добавлен отклик
   при наведении — значение приподнимается и добирает яркость. */
/* 100svh вместо 100vh: на мобильном адресная строка появляется
   и исчезает, 100vh врёт; строка с vh — запас для старых браузеров */
.hero{position:relative;background-color:var(--sinij);color:#fff;height:calc(100vh - var(--header-h));height:calc(100svh - var(--header-h));display:flex}
.hero__video{position:absolute;inset:0;overflow:hidden}
.hero__video img,.hero__video video{width:100%;height:100%;object-fit:cover}
/* Растушёвка под текстом: плотная у левого края, сходит на нет
   к 62% ширины. Средняя точка — грабля «градиент под текстом
   рассчитывать на светлые кадры». */
.hero__video::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,26,50,.88) 0%,rgba(13,26,50,.62) 36%,rgba(13,26,50,0) 62%)}
/* Затемнение под полосой фактов */
.hero__video::after{content:"";position:absolute;left:0;right:0;bottom:0;height:34%;background:linear-gradient(0deg,rgba(13,26,50,.85) 0%,rgba(13,26,50,0) 100%)}
.hero .w{position:relative;z-index:1;display:flex;flex-direction:column;width:100%}
.hero__soderzhanie{max-width:670px;margin-top:auto;margin-bottom:auto;padding-top:48px;padding-bottom:48px}
/* Знак фонда над H1: подпись называет предмет страницы. Обёртка
   обрезает frp-light.png справа — правые ~40% файла занимает
   нечитаемая при 26px подпись; срез по прозрачному промежутку. */
.hero__frp{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.hero__frp-znak{display:block;flex:0 0 auto;height:26px;width:calc(26px * 3.06);overflow:hidden}
.hero__frp-znak img{width:100%;height:100%;object-fit:cover;object-position:left center}
.hero__frp span{font-family:var(--text);font-size:14px;line-height:1.45;color:rgba(255,255,255,.66)}
.hero h1{margin-bottom:20px;text-wrap:wrap}
/* Ручные переносы H1: строки-span вместо <br> (грабля склейки слов
   при display:none). Десктоп — три заданные строки. */
.hero__h1-str{display:block}
.hero__lead{font-size:19px;line-height:1.55;color:rgba(255,255,255,.82);max-width:44ch;margin-bottom:36px}
.hero__knopki{display:flex;gap:16px}
/* Полоса фактов: прижата к низу, сетка 4×1fr. Кегль 34 только
   у фактов, начинающихся числом. */
.hero__fakty{border-top:1px solid rgba(255,255,255,.22);padding-top:28px;padding-bottom:52px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px}
/* Геометрия факта уехала в base.css 15.09.2026 (герой светлых
   страниц забрал её с собой). Здесь остаётся только то, что
   отличает ТЁМНЫЙ герой: белые цвета и ширина подписи.
   Дублировать «.fakt b» тут нельзя: glavnaya.css грузится после
   base.css, и такой дубль перебивал «.fakt--slovo b» — словесные
   факты возвращались к кеглю 34 с nowrap и раздували страницу
   на 1180 (поймано проверкой). */
.hero .fakt b{transition:transform .2s ease,color .2s}
.hero .fakt span{color:rgba(255,255,255,.66);max-width:24ch}
.hero .fakt:hover span{color:rgba(255,255,255,.9)}

/* ================= ЛИСТ 02 — Преимущества работы с нами =================
   Итерация 9 (01-preimushchestva-slitno, 02-dubl-250): «250»
   и «без аванса» из блока ушли — они живут в полосе фактов героя,
   состав которой задал заказчик; повторять их здесь нельзя
   («нельзя писать в первом то же, что и во втором блоке»).
   Два преимущества, которых полоса не называет. Визуализация —
   по собранным образцам (издательская подача консалтинга):
   крупное порядковое число 01/02, линия 3px сверху пункта
   (словарь карточек-показателей листа 04), тезис и довод.
   «Разделить линиями» — линии и структура вместо коробок.
   Акцент листа: порядковые числа 64px.
   .sek--vydel ПЕРЕЕХАЛ в base.css 14.09.2026 — понадобился
   странице /biznes-plan/. */
.preim{display:grid;grid-template-columns:1fr;gap:24px;padding-top:8px}
/* Итерация 13 (правка 1): пункт стал белой карточкой во всю ширину
   со снимком-фоном (utp-01/02) — заказчик: «эти документы были
   как фоном, при наведении из полупрозрачности появлялись
   в непрозрачный». Две колонки рядом зажимали тезис в четыре строки,
   а документ — в марку; на всю ширину документ читается. Словарь
   карточки-показателя: рамка, линия 3px сверху, рамка синеет
   при наведении. Кадр — в правой трети (absolute, z-index:-1 внутри
   контекста карточки — приём панелей листа 11), в покое opacity .35,
   при наведении 1. Текст ограничен 52ch и до кадра не доходит —
   контраст не зависит от плотности кадра. */
.preim__punkt{position:relative;z-index:0;overflow:hidden;min-width:0;background:#fff;border:1px solid var(--linia);border-top:3px solid var(--sinij);padding:30px 36px 28px;display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:28px;min-height:252px;align-content:start;transition:border-color .2s}
.preim__punkt:hover{border-color:var(--sinij);border-top-color:var(--sinij)}
/* Правка 01.09, вторая редакция. Первая растягивала кадр во всю
   ширину через cover и поднимала пункт до 330px — заказчик: «не, я
   не так имел в виду… сделай на прошлую высоту карточки, мне хочется
   чтобы этот лист был справой стороны ближе к краю, но чтобы этот
   лист был полностью виден». Значит не обрезать, а показать целиком:
   contain вместо cover, высота пункта вернулась к 252px, кадр прижат
   к правому краю без отступа и занимает всю высоту пункта. Вуаль
   снята: при contain лист стоит в правой трети, текст (заканчивается
   на 61% ширины) до него не доходит, и вуаль только гасила бы лист.
   Появление из полупрозрачности и приближение при наведении
   сохранены — оба просил заказчик. */
.preim__fon{position:absolute;top:0;right:0;bottom:0;width:min(42%,460px);z-index:-1;pointer-events:none;opacity:.5;transition:opacity .3s ease;overflow:hidden}
.preim__fon img{width:100%;height:100%;object-fit:contain;object-position:right center;transform:scale(1);transition:transform .35s ease}
.preim__punkt:hover .preim__fon{opacity:1}
.preim__punkt:hover .preim__fon img{transform:scale(1.05)}
@media (prefers-reduced-motion:reduce){.preim__fon img{transition:none}.preim__punkt:hover .preim__fon img{transform:none}}
@media print{.preim__fon{opacity:1}}
.preim__nomer{grid-row:1/3;font-family:var(--sans);font-size:64px;font-weight:300;line-height:.9;color:var(--sinij);font-variant-numeric:tabular-nums;transition:transform .2s ease}
.preim__punkt:hover .preim__nomer{transform:translateY(-3px)}
h3.preim__tezis{grid-column:2;font-family:var(--sans);font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-.018em;color:var(--chernila);align-self:start;max-width:24ch}
.preim__dovod{grid-column:2;font-size:16px;line-height:1.6;color:var(--seryj);margin-top:12px;max-width:52ch}
/* Полоса «Как начать». Итерация 13 (правка 1): три кадра итерации 12
   сняты («мне не понравилось как выглядит этот блок с фотографиями»),
   подписи шагов возвращены к полному виду. Шаг — номер, заголовок
   и подпись на общих линиях (subgrid); номер — числовой слой
   (Geologica 28/300, словарь .petap__nomer листа 07), стрелки-шевроны
   между шагами на уровне номера. */
.voronka{margin-top:40px;background:#fff;border:1px solid var(--linia);padding:36px}
.voronka__shagi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto auto;column-gap:32px;row-gap:0}
.voronka-shag{display:grid;grid-template-rows:subgrid;grid-row:span 3;position:relative;min-width:0}
.voronka-shag__nomer{display:block;font-family:var(--sans);font-size:28px;font-weight:300;line-height:1.1;color:var(--seryj-2);font-variant-numeric:tabular-nums;margin-bottom:14px}
.voronka-shag__zag{font-size:18px;line-height:1.3;font-weight:600;color:var(--chernila)}
.voronka-shag__podpis{font-size:15px;line-height:1.5;color:var(--seryj);margin-top:8px}
/* Стрелка-шеврон перед вторым и третьим шагом: рисованная, не символ,
   на уровне номера шага */
.voronka-shag+.voronka-shag::before{content:"";position:absolute;left:-21px;top:10px;width:10px;height:10px;border-top:2px solid var(--seryj-2);border-right:2px solid var(--seryj-2);transform:rotate(45deg)}
.voronka__deystvie{display:flex;justify-content:flex-end;margin-top:28px}
.voronka__knopka{white-space:nowrap}

/* ================= ЛИСТ 03 — На что даёт деньги фонд ============
   Итерация 7: переработан целиком. Три вопроса — три вкладки,
   «Отрасли» открыта по умолчанию: за пять секунд видно, проходит ли
   отрасль; расходы — вторым шагом. Перечни видны целиком, счёта
   «ещё N» и всплывающих панелей нет. Переключение — смена состояния:
   ползунок-линия переезжает под активную вкладку (initTabs).
   Акцент листа: панель «Финансируются» — шире красной и её знак
   крупнее. Итерация 8: подзаголовок снят («забивает голову»),
   вкладки стоят сразу под заголовком; строка про региональные
   пороги снята («убери, у них ниже будет консультант всё равно»);
   знаки да/нет — галочка и крестик в кружках (base.css).
   Печать раскрывает все панели. */
.tabs{position:relative;display:flex;gap:36px;border-bottom:1px solid var(--linia)}
.tabs__knopka{position:relative;background:none;border:0;cursor:pointer;font-family:var(--sans);font-size:17px;font-weight:500;line-height:1.3;color:var(--seryj);padding:2px 2px 16px;transition:color .2s}
.tabs__knopka:hover{color:var(--chernila)}
.tabs__knopka.is-active{color:var(--sinij)}
/* Ползунок вкладок: та же механика, что у полосы структуры */
.tabs__polzunok{position:absolute;bottom:-1px;left:0;width:0;height:3px;background:var(--sinij);transition:left .25s ease,width .25s ease}
.tab-panel{padding-top:32px}
/* Появление панели — эталон движения, без выезда */
.tab-panel.is-active{animation:tabPanelIn .3s ease}
@keyframes tabPanelIn{from{opacity:0}to{opacity:1}}
/* Пара панелей вкладки «Отрасли»: зелёная шире — акцент листа */
.napravleniya__para{display:grid;grid-template-columns:3fr 2fr;gap:24px;align-items:start}
.panel-danet__znak--krupnyj{font-size:20px}
/* Компактный перечень в две колонки («ещё N» не нужен) ПЕРЕЕХАЛ
   в base.css 16.09.2026: он понадобился второй странице —
   реестру промышленного дизайна на /oborudovanie/. Значения
   и медиазапрос перенесены как были. */
.panel-danet__ogovorka{margin-top:18px;padding-top:14px;border-top:1px solid var(--linia-2);font-size:14px;line-height:1.55;color:var(--seryj)}
/* Зона перехода к соседней вкладке (итерация 9): «сделай сбоку еле
   заметную зону с переходом в соседний таб… для ЦА 35-45 лет текущие
   кнопки табов могут не дать понять что они кликабельны».
   Итерация 10 (03-strelki-za-granicy): «вынести за границы элементов
   с информацией, их так легче увидеть» — зона стоит ЗА краем панелей
   (±46px), фоновый градиент поверх панели снят, фон не нужен: стрелка
   на пустом поле. На 1280 остаётся в окне: поле контейнера 32px
   + кромка окна 40px = 72px запаса при ширине зоны 42px.
   Absolute — вёрстку не двигает. Имя и видимость ведёт initTabs. */
.tabs-oblast{position:relative}
.tabs-krai{position:absolute;top:32px;bottom:0;width:42px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:none;border:0;padding:0;cursor:pointer;opacity:.55;transition:opacity .2s}
.tabs-krai--sled{right:-46px}
.tabs-krai--pred{left:-46px}
.tabs-krai:hover{opacity:1}
/* Шеврон рисованный, не символ — как стрелки воронки листа 02 */
.tabs-krai::before{content:"";flex:0 0 auto;width:9px;height:9px;border-top:2px solid var(--sinij);border-right:2px solid var(--sinij);transform:rotate(45deg)}
.tabs-krai--pred::before{transform:rotate(-135deg)}
.tabs-krai__imya{writing-mode:vertical-rl;font-family:var(--sans);font-size:12px;font-weight:500;line-height:1;color:var(--seryj);white-space:nowrap;max-height:240px;overflow:hidden}
@media print{
  .tab-panel[hidden]{display:block!important}
  .tabs__polzunok{display:none}
  .tabs-krai{display:none}
}

/* ================= ЛИСТ 04 — Условия займа =================
   Итерация 9: «сам блок я бы визуально сделал красивее, более
   креативно» + фактическая неполнота про закупаемое оборудование.
   ЛЕСЕНКА СТАВКИ: панель слева, три ступени 5 → 3 → 1 % —
   каждая следующая сдвинута вправо, число у ступени, условие
   снижения рядом; вводная строка называет обе оси (обеспечение
   и оборудование). Срок и сумма — карточки-показатели справа,
   не тронуты. Акцент листа: панель ставки — числа 44px против 34,
   линия сверху 5px. */
.usloviya-nov{display:grid;grid-template-columns:1.35fr 1fr;gap:24px;align-items:stretch}
.usloviya-nov__stolbec{display:grid;gap:24px;grid-auto-rows:1fr}
.usloviya-nov .kartochka--pokazatel{cursor:default}
/* flex-wrap: триггер «источник» в узкой карточке падает
   на следующую строку, а не выходит за рамку */
.usloviya-nov .kartochka__znachenie{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;white-space:nowrap;font-size:34px;transition:transform .2s ease}
.usloviya-nov .kartochka:hover .kartochka__znachenie{transform:translateY(-3px)}
.usloviya-nov .kartochka__namek{font-size:15px;line-height:1.55;color:var(--seryj)}
/* Акцентная панель: линия толще */
.kartochka--glav{border-top-width:5px}
.stavka .kartochka__chto{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.stavka__vvod{font-size:16px;line-height:1.55;color:var(--chernila);max-width:46ch}
/* Итерация 10 (05-lesenka): лесенка стала ГРАФИКОМ. Итерация 11
   (03-stavka-lesenka): порядок ступеней перевёрнут В РАЗМЕТКЕ —
   1 % сверху, 5 % снизу («более приоритетная цель» читается
   первой); стили ступеней не менялись, длина полосы по-прежнему
   пропорциональна ставке (30 / 90 / 150px = 1 : 3 : 5), лесенка
   теперь растёт вниз. Полосы декоративные, значения стоят числами
   в разметке. Отклик прежний: число приподнимается. */
.stavka__stupeni{margin-top:20px}
.stavka-stupen{display:grid;grid-template-columns:270px minmax(0,1fr);column-gap:24px;align-items:center;padding-top:14px;padding-bottom:14px;border-top:1px solid transparent}
.stavka-stupen+.stavka-stupen{border-top-color:var(--linia-2)}
.stavka-stupen__mera{display:flex;align-items:center;gap:16px;min-width:0}
.stavka-stupen__shkala{flex:0 0 auto;height:14px;background:var(--sinij)}
.stavka-stupen--s5 .stavka-stupen__shkala{width:150px}
.stavka-stupen--s3 .stavka-stupen__shkala{width:90px}
.stavka-stupen--s1 .stavka-stupen__shkala{width:30px}
.stavka-stupen b{font-family:var(--sans);font-size:44px;font-weight:300;line-height:1;color:var(--sinij);font-variant-numeric:tabular-nums;white-space:nowrap;transition:transform .2s ease}
.stavka-stupen__uslovie{font-size:15px;line-height:1.55;color:var(--seryj)}
.stavka-stupen:hover b{transform:translateY(-3px)}

/* ================= ЛИСТ 05 — Процедура =================
   МАРШРУТ (.marshrut и вся семья .marshrut-etap*, .marshrut__istochnik)
   ПЕРЕЕХАЛ в base.css 14.09.2026 вместе со своим адаптивом
   и тач-правилом — понадобился второй странице (/biznes-plan/,
   лист 06). Значения не менялись, история решений (итерация 9)
   сохранена в комментарии base.css. */

/* ================= ЛИСТ 06 — Услуги =================
   Принят заказчиком. Тёмная карточка — единственная крупная синяя
   плашка страницы, акцент листа. Итерация 8: пометки «страница
   в разработке» и приглушение --gotovitsya сняты («страницы
   в разработке не будет»); тексты услуг перестали перечислять
   состав работ — состав живёт в листе 07 («главное, не повторяйся»). */
/* Схема «единая точка входа» СНЯТА итерацией 11 (04-shemu-ubrat):
   «давай эту схему вообще уберем» — стили .shema-vhod удалены,
   подзаголовок вернулся из файла текста. */
.uslugi{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
/* Итерация 11 (04b, баг): при наведении край снимка выходил
   за контур карточки — снимок прижат к рамке отрицательным полем,
   и рост scale(1.12) выносил его на 7–8px наружу (и вниз, где
   карточка ниже кадра). Обрезка overflow:hidden на карточках услуг:
   снимок растёт внутри контура. Только этот лист: у карточек-
   показателей листа 04 обрезка отсекла бы подсказки .punkt__tip. */
.uslugi>.kartochka{overflow:hidden}
.usluga-glav{position:relative;overflow:hidden;grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:64px;background:var(--sinij);color:#fff;text-decoration:none;padding:44px 48px}
/* Итерация 9: фон — снимок заказчика uslugi-papka (тёмная папка
   с документами, гамма совпадает с --sinij). Читаемость держит
   градиент: плотный слева под текстом, подтемнение справа
   под ценой; середина открывает кадр */
.usluga-glav__fon{position:absolute;inset:0}
.usluga-glav__fon img{width:100%;height:100%;object-fit:cover}
.usluga-glav__fon::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,26,50,.95) 0%,rgba(13,26,50,.86) 40%,rgba(13,26,50,.42) 68%,rgba(13,26,50,.74) 100%)}
.usluga-glav__levo,.usluga-glav__cena{position:relative;z-index:1}
.usluga-glav__levo{min-width:0}
/* Итерация 11 (04b): «главная услуга под ключ — при наведении
   давай заголовок больше анимация чтобы была» — заголовок растёт
   transform-ом (scale 1.06 от левого края): кегль и line-height
   не меняются, вёрстку не двигает */
.usluga-glav h3{font-size:28px;font-weight:600;line-height:1.2;margin-bottom:12px;transform-origin:left center;transition:transform .2s ease}
.usluga-glav:hover h3{transform:scale(1.06)}
.usluga-glav__levo p{font-size:16px;line-height:1.55;color:rgba(255,255,255,.72);max-width:56ch}
.usluga-glav__ssylka{display:inline-block;margin-top:18px;font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.3;color:#fff;border-bottom:1px dotted rgba(255,255,255,.55);transition:border-bottom-color .12s}
.usluga-glav:hover .usluga-glav__ssylka{border-bottom-style:solid;border-bottom-color:#fff}
.usluga-glav__cena{flex:0 0 auto;text-align:right}
.usluga-glav__cena b{display:block;font-family:var(--sans);font-size:44px;font-weight:300;line-height:1.1;font-variant-numeric:tabular-nums;white-space:nowrap}
.usluga-glav__cena span{display:block;font-size:14px;line-height:1.45;color:rgba(255,255,255,.6);margin-top:8px}
.uslugi>.kartochka{grid-column:span 2}
.uslugi>.kartochka:nth-last-child(-n+2){grid-column:span 3}
/* Карточка перехода (.kartochka--perehod, .kartochka__strelka,
   стрелка укрупнена до 24px и синяя сразу — итерация 10,
   07-uslugi-foto) ПЕРЕЕХАЛА в base.css 15.09.2026: понадобилась
   второй странице (/stati/, лист 03). Правила перенесены дословно,
   вид главной не менялся. Здесь ничего не осталось. */
/* Итерация 9: предметный снимок — справа от текста, высота карточки
   в ряду не растёт. Итерация 10 (07-uslugi-foto): «фотку поставить
   правее зоны услуги… при наведении больше» — снимок 140px, прижат
   к правому краю до рамки (отрицательное поле съедает padding),
   при наведении на карточку растёт transform-ом: масштаб не участвует
   в потоке, соседей не двигает.
   ПЕРЕЕХАЛ в base.css 14.09.2026: тот же ряд понадобился карточкам
   региональных случаев на /biznes-plan/. Правила перенесены дословно
   вместе с адаптивом 1024/768 и правилом (hover:none) — вид главной
   не менялся. Здесь ничего не осталось. */

/* ================= ЛИСТ 07 — Этапы подготовки =================
   Принят заказчиком; итерация 8:
   — подзаголовок с «89 документов» снят: пояснение («забивает
     голову») и дубль — 89 живёт акцентно в листе 08;
   — сумма 400 000 ₽ из интро снята: дубль цены листа 06;
   — «Результат» этапа вынесен на свой фон — плашка --fon-2
     с линией-указателем («выделение выглядит странно.
     Результат выделить в отдельный фон»).
   Акцент листа: заголовки этапов; раскрытие — нажатием, .akk. */
.podgotovka{display:grid;grid-template-columns:320px minmax(0,1fr);gap:72px;align-items:start}
.podgotovka__intro{position:sticky;top:var(--lipko-top)}
@media (max-height:699px){.podgotovka__intro{position:static}}
/* Итерация 9: снимок заказчика (четыре тома по этапам) вместо
   слота. Ширина ограничена: прилипающая колонка обязана помещаться
   в экран целиком; кадр на белом фоне — рамка не нужна */
.podgotovka__foto{margin-top:28px;width:100%;max-width:240px;height:auto}
.akk--etapy .akk-punkt__knopka{gap:20px;align-items:baseline}
.akk--etapy .petap__nomer{flex:0 0 36px;font-family:var(--sans);font-size:28px;font-weight:300;line-height:1.1;color:var(--seryj-2);font-variant-numeric:tabular-nums}
.akk--etapy .akk-punkt__zag{font-size:20px}
.akk--etapy .petap__usloviya{flex:0 0 190px;margin-left:auto;text-align:right}
.akk--etapy .petap__usloviya b{display:block;font-family:var(--sans);font-size:20px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;white-space:nowrap}
.akk--etapy .petap__usloviya span{display:block;font-size:13px;line-height:1.4;color:var(--seryj);margin-top:3px}
.akk--etapy .akk-punkt__vnutri .petap__raboty{padding:0 4px 6px 56px}
.petap__raboty li{padding:10px 0;border-bottom:1px solid var(--linia-2);font-size:16px;line-height:1.5;max-width:68ch}
.petap__raboty li:last-child{border-bottom:0}
/* Итерация 11 (05-rezultat-zelenyj): «результат делать не в сером
   фоне, а зелёном, как итог этапа. И при наведении делать результат
   больше как анимацию» — плашка на --da / --da-fon (смысловая
   тройка да/нет/внимание, НЕ акцентный красный — лимит красного
   не тронут); при наведении растёт transform-ом от левого края.
   Запас справа 20px под рост: обёртка панели обрезает содержимое
   (overflow:hidden у .akk-punkt__vnutri), без запаса край плашки
   срезался бы. */
.akk--etapy .petap__rezultat{margin:10px 20px 24px 56px;padding:12px 16px;background:var(--da-fon);border-left:3px solid var(--da);font-size:15px;color:var(--seryj);transform-origin:left center;transition:transform .2s ease}
.akk--etapy .petap__rezultat:hover{transform:scale(1.02)}
.petap__rezultat b{font-family:var(--sans);font-weight:500;color:var(--da)}
.podgotovka__stroka{margin-top:28px;font-size:16px;line-height:1.6}

/* ================= ЛИСТ 08 — Калькулятор =================
   Принят заказчиком; рама --sinij-fon со срезом угла 26px —
   единственный обрамлённый контур страницы и одно из двух
   оставленных применений среза (второе — кнопки). Итерация 8:
   «про 89 документов надо писать акцентно, чтобы показать сложность
   процедуры» — врезка 89 поднята первой в левой колонке, число 76px,
   теперь это акцент листа (итог расчёта — 54px, второй по весу);
   строка про десятидневный срок снята — дубль листа 09. */
.kalk-rama{background:var(--sinij-fon);border:1px solid var(--sinij);border-top:5px solid var(--sinij);clip-path:polygon(0 0,calc(100% - 26px) 0,100% 26px,100% 100%,0 100%);padding:56px 56px 52px}
.stoim{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;align-items:start}
.stoim__levo{min-width:0;padding-bottom:16px}
.kalkulyator__vvod{background:#fff;border:1px solid var(--linia);padding:36px 40px;display:grid;gap:30px}
.stoim__itog{position:sticky;top:var(--lipko-top);background:#fff;border:1px solid var(--linia);border-top:3px solid var(--sinij);padding:28px 32px 26px}
@media (max-height:699px){.stoim__itog{position:static}}
.kalk-pole__podpis{display:block;font-size:14px;color:var(--seryj);margin-bottom:12px}
.kalk-pole__riad{display:grid;grid-template-columns:minmax(0,1fr) 132px;gap:24px;align-items:center}
.kalk-chislo{width:100%;border:1px solid var(--linia);background:#fff;padding:9px 12px;font-family:var(--sans);font-size:16px;font-weight:500;color:var(--chernila);font-variant-numeric:tabular-nums;transition:border-color .12s}
.kalk-chislo:hover{border-color:var(--seryj-2)}
.kalk-chislo:focus{border-color:var(--sinij-yark);outline:none}
.kalk-chislo::-webkit-outer-spin-button,.kalk-chislo::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kalk-chislo{-moz-appearance:textfield;appearance:textfield}
.kalk-polzunok{-webkit-appearance:none;appearance:none;width:100%;height:16px;background:transparent;margin:0;cursor:pointer}
.kalk-polzunok::-webkit-slider-runnable-track{height:2px;background:var(--linia)}
.kalk-polzunok::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:var(--sinij);margin-top:-6px;border:0;border-radius:0;transition:background-color .12s}
.kalk-polzunok::-webkit-slider-thumb:hover{background:var(--sinij-yark)}
.kalk-polzunok::-moz-range-track{height:2px;background:var(--linia)}
.kalk-polzunok::-moz-range-thumb{width:14px;height:14px;background:var(--sinij);border:0;border-radius:0}
/* Итог: заголовок-вывод и число крупно — акцент листа */
.stoim__itog-zag{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--seryj);margin-bottom:6px}
.stoim__itog-chislo{font-family:var(--sans);font-size:54px;font-weight:300;line-height:1.1;color:var(--chernila);font-variant-numeric:tabular-nums;white-space:nowrap;margin-bottom:18px}
/* Слагаемые: строка + подсказка с формулой; отклик — фон строки.
   Итерация 10 (09-seraya-zona-obrezaetsya): «при наведении серая зона
   сильно обрезается, некрасиво» — жёсткий прямоугольник заменён слоем
   ::before с градиентным затуханием к краям (приём подсветки маршрута
   листа 05), появление — opacity, вёрстку не двигает. */
.kalk-stroka{position:relative;z-index:0;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 8px;margin:0 -8px;border-top:1px solid var(--linia-2)}
.kalk-stroka::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(245,247,249,0) 0%,var(--fon-2) 10%,var(--fon-2) 90%,rgba(245,247,249,0) 100%);opacity:0;transition:opacity .2s;pointer-events:none}
.kalk-stroka:hover::before{opacity:1}
/* Итерация 12 (01-lag-kalkulyator-snova, ТРЕТЬЕ обращение по месту):
   z-index:30 подсказки не работал, потому что каждая строка — свой
   контекст наложения (position:relative + z-index:0 ради ::before),
   и сосед-контекст с тем же уровнем рисовался ПОВЕРХ подсказки
   по порядку в разметке. Внутренним z-index соседний контекст
   не перебить — поднимается ВСЯ строка с открытой подсказкой.
   Три условия повторяют условия показа .punkt__tip (base.css). */
.kalk-stroka:hover,
.kalk-stroka:focus-within,
.kalk-stroka:has(.punkt.is-open){z-index:5}
.kalk-stroka span{display:flex;align-items:baseline;gap:8px;font-size:14px;line-height:1.45;color:var(--seryj)}
.kalk-stroka b{font-family:var(--sans);font-size:16px;font-weight:500;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
/* Сдвиг сроков — отсекатель: значение красным, из разрешённых
   применений --krasnyj */
.kalk-stroka--sdvig b{color:var(--krasnyj)}
/* Сравнение полосами: длина пропорциональна сумме — вывод виден
   без чтения */
.sravnenie{margin-top:22px;padding-top:18px;border-top:1px solid var(--linia)}
.sravnenie__stroka{display:grid;gap:6px;padding:8px 0}
.sravnenie__podpis{display:flex;justify-content:space-between;align-items:baseline;gap:16px;font-size:14px;color:var(--seryj)}
.sravnenie__podpis b{font-family:var(--sans);font-size:17px;font-weight:500;color:var(--chernila);font-variant-numeric:tabular-nums;white-space:nowrap}
.sravnenie__shkala{height:8px;background:#fff;box-shadow:inset 0 0 0 1px var(--linia-2)}
.sravnenie__bar{height:100%;width:100%;background:var(--seryj-2);transition:width .3s ease}
.sravnenie__stroka--pmk .sravnenie__bar{background:var(--sinij)}
/* Врезка: 89 — акцент листа, первой в колонке.
   Итерация 10 (10-89-slivaetsya): «текст сильно сливается, его нужно
   выделить в отдельный визуальный элемент» — врезка стала белой
   панелью с рамкой и синей линией слева (словарь плашки «Результат»
   листа 07); на фоне --sinij-fon рамы она читается отдельным
   объектом, а не абзацем калькулятора.
   .vrezka* ПЕРЕЕХАЛА в base.css 14.09.2026 вместе с адаптивом —
   понадобилась второй странице (/biznes-plan/, лист 05). */
.stoimost-deystvie{margin-top:36px}

/* ================= ЛИСТ 09 — Сроки-отсекатели =================
   Итерация 11 (08-lesenka-cifry): три колонки стали ЛЕСЕНКОЙ
   СТРОК — «от меньшего сверху к большему снизу»: 10 дней без
   сдвига, 30 дней и 3 месяца со ступенью вправо (сдвиг 120px
   на строку — словарь лесенки ставки листа 04). Числа считаются
   от нуля (initCounters в glavnaya.js), tabular-nums и nowrap
   держат строку на промежуточных значениях. Кегль чисел один:
   акцент листа — сама лесенка красных чисел. Красный — разрешённое
   применение (сроки-отсекатели). Отклик прежний: число сдвигается
   transform-ом, вёрстку не двигает. Границу у первой строки
   не убираем, а делаем прозрачной (грабля: минус 1px высоты). */
.otseki{display:grid}
.otsek{display:grid;grid-template-columns:300px minmax(0,1fr);column-gap:56px;align-items:start;padding:22px 0;border-top:1px solid var(--linia-2)}
.otsek:first-child{border-top-color:transparent;padding-top:4px}
.otsek:nth-child(2){padding-left:120px}
.otsek:nth-child(3){padding-left:240px}
.otsek__mera{border-left:3px solid var(--krasnyj);padding-left:24px;min-width:0}
.otsek__srok{font-family:var(--sans);font-size:48px;font-weight:300;line-height:1.1;color:var(--krasnyj);font-variant-numeric:tabular-nums;white-space:nowrap;transition:transform .2s ease}
.otsek__srok b{font-weight:300}
.otsek:hover .otsek__srok{transform:translateX(5px)}
.otsek__chto{font-family:var(--sans);font-size:15px;font-weight:500;line-height:1.3;color:var(--chernila);margin-top:10px}
.otsek__sut{min-width:0;padding-top:6px}
.otsek__tekst{font-size:15px;line-height:1.55;color:var(--seryj);max-width:58ch}
.otsek .ssylka-punkt{margin-top:12px}

/* ================= ЛИСТ 10 — Ограничения программ =================
   Итерация 11: карточка построена ВОКРУГ СНИМКА заказчика —
   рендеры 3:2 из «Блок - Ограничение программ» верхом карточки
   до рамок, текст сокращён до сути (файл текста, лист 10).
   Белая карточка с рамкой — словарь .kartochka; тёмная гамма
   кадров совпадает с --sinij страницы. Отклик: рамка синеет,
   кадр приближается transform-ом внутри обрезающей обёртки —
   за контур не выходит (грабля итерации 11 в листе 06).
   Акцент листа: строка-вывод, синяя линия — указатель. */
.ogran{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.ogran-punkt{min-width:0;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linia);transition:border-color .2s}
.ogran-punkt:hover{border-color:var(--sinij)}
/* Итерация 12 (04-ikonki-bolshie): «иконки очень большие, сделай
   меньше эти блоки» — кадр 3:2 во всю ширину карточки заменён
   компактной предметной иконкой: рендеры сняты на белом, поэтому
   contain на белой карточке читается объектом без рамок обрезки.
   Карточка стала ниже примерно на треть. */
.ogran-punkt__foto{display:block;height:140px;padding:20px 20px 0;overflow:hidden}
.ogran-punkt__foto img{width:auto;height:100%;object-fit:contain;object-position:left center;transition:transform .3s ease}
.ogran-punkt:hover .ogran-punkt__foto img{transform:scale(1.04)}
.ogran-punkt__sut{display:flex;flex-direction:column;flex:1 1 auto;padding:16px 20px 18px;min-width:0}
.ogran-punkt__os{font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.4;color:var(--seryj-2)}
.ogran-punkt h3{font-size:20px;margin-top:10px}
.ogran-punkt__sut>p{font-size:15px;line-height:1.55;color:var(--seryj);margin-top:10px}
.ogran-punkt .ssylka-punkt{margin-top:auto;padding-top:16px}
@media print{
  /* На бумаге тёмные кадры — чернильные плиты: скрыть, текст полный */
  .ogran-punkt__foto{display:none}
}
/* .vyvod-stroka ПЕРЕЕХАЛА в base.css 14.09.2026 вместе с адаптивом —
   понадобилась второй странице (/biznes-plan/, лист 07). */

/* ================= ЛИСТ 11 — Подбор программы =================
   Липкое меню программ. Итерация 8:
   — «убрать лишние линии»: линии над каждой ячейкой условий сняты,
     панель держит одна рамка; срез панели снят (правило четырёх
     применений); маркер пункта меню — короткая линия вместо
     фирменного квадрата со срезом;
   — пометки «страница в разработке» сняты;
   — текст блока заменён на онлайн-подбор (файл текстов, лист 11).
   Акцент листа: сумма программы 40px на всю ширину. */
.programmy{display:grid;grid-template-columns:300px minmax(0,1fr);gap:72px;align-items:start}
.programmy__menu{position:sticky;top:var(--lipko-top);display:flex;flex-direction:column;border-top:1px solid var(--linia)}
@media (max-height:699px){.programmy__menu{position:static}}
.programmy__punkt{display:flex;align-items:center;gap:12px;text-align:left;padding:16px 14px;background-image:linear-gradient(90deg,#fff 0 100%);background-repeat:no-repeat;background-size:0% 100%;border:0;border-bottom:1px solid var(--linia);cursor:pointer;font-family:var(--sans);font-size:16px;font-weight:500;line-height:1.3;color:var(--seryj);transition:color .2s,background-size .25s ease,box-shadow .2s}
.programmy__punkt::before{content:"";width:12px;height:2px;flex:0 0 auto;background:var(--linia);transition:background-color .2s}
.programmy__punkt:hover{color:var(--chernila);background-size:100% 100%}
.programmy__punkt:hover::before{background:var(--seryj-2)}
.programmy__punkt.is-active{color:var(--chernila);background-size:100% 100%;box-shadow:inset 3px 0 0 var(--sinij)}
.programmy__punkt.is-active::before{background:var(--sinij)}
.programmy__paneli{min-width:0;background:#fff;border:1px solid var(--linia);padding:44px 48px;overflow:hidden}
/* Снимок программы (итерация 10): absolute в правой части панели,
   mask-image ведёт кадр из полной прозрачности слева к полной
   плотности у правого края — «из прозрачности на полную область
   квадрата программы справа». Панель создаёт контекст наложения
   (z-index:0), кадр уходит на z-index:-1 — под текст, но поверх
   белого фона панели; в левой трети маска делает его невидимым,
   наложение текста безопасно. overflow:hidden на .programmy__paneli
   выпускает кадр до самой рамки поверх padding. */
.prog-panel{display:none}
.prog-panel__foto{position:absolute;top:-44px;right:-48px;bottom:-44px;width:52%;z-index:-1;pointer-events:none}
.prog-panel__foto img{width:100%;height:100%;object-fit:cover;object-position:right center;-webkit-mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,1) 92%);mask-image:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.5) 55%,rgba(0,0,0,1) 92%)}
.prog-panel.is-active{display:block;position:relative;z-index:0;animation:progPanelIn .3s ease}
@keyframes progPanelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.prog-panel h3{margin-bottom:24px}
.prog-panel__usloviya{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;max-width:560px}
.prog-panel__usloviya>div{min-width:0}
.prog-panel__usloviya span{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--seryj-2)}
.prog-panel__usloviya b{display:block;font-family:var(--sans);font-size:24px;font-weight:500;line-height:1.2;font-variant-numeric:tabular-nums;margin-top:6px}
/* Сумма — акцент панели: на всю ширину и крупнее остальных условий */
.prog-panel__glav{grid-column:1/-1}
.prog-panel__usloviya .prog-panel__glav b{font-size:44px;font-weight:300}
.prog-panel__primechanie{margin-top:20px;font-size:15px;line-height:1.55;color:var(--seryj);max-width:58ch}
.prog-panel .punkt{margin-top:14px}
.prog-panel__deystvie{margin-top:32px}
@media print{
  .prog-panel{display:block;margin-bottom:24px}
  .programmy__menu{position:static}
  .programmy__paneli{border:0;padding:0}
  /* Снимки декоративные — на бумаге не нужны, absolute со сдвигами
     в раскрытом списке панелей лёг бы поверх соседних */
  .prog-panel__foto{display:none}
}

/* ================= ЛИСТ 12 — О компании =================
   Итерация 8, правка заказчика: «Фото предлагаю делать как фон
   блока, не в стороне» и «пишем только суть». Фото — фон всей
   секции с затемняющим градиентом под текстом (как у героя);
   пока снимка нет, слот-рамка растянута на секцию, подпись слота
   переписана под затемнение. Текст сокращён до сути: гарантия
   снята («третий дубль»), строка про проверку соответствия снята
   (то же говорит воронка листа 02). Секция тёмная от снимка —
   конфликт с правилом «тёмных секций две» вынесен в отчёт.
   Акцент листа: утверждение «Заявку ведёт эксперт…» 32px. */
.okompanii{position:relative;background:var(--sinij);color:#fff;padding-top:96px;padding-bottom:96px;overflow:hidden}
.okompanii__fon{position:absolute;inset:0}
.okompanii__fon img{width:100%;height:100%;object-fit:cover}
/* Растушёвка под текстом — та же логика, что у героя: плотная
   слева, к правому краю сходит до лёгкой вуали */
.okompanii__fon::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(13,26,50,.82) 0%,rgba(13,26,50,.66) 30%,rgba(13,26,50,0) 62%),linear-gradient(90deg,rgba(13,26,50,.92) 0%,rgba(13,26,50,.78) 46%,rgba(13,26,50,.38) 78%,rgba(13,26,50,.3) 100%)}
/* Итерация 12 (06-verstka-ne-nravitsya): добавлена вертикальная
   составляющая затемнения — аккредитации и строка проверяемости
   теперь стоят на всю ширину, их правая часть ложится на менее
   затемнённую зону фото; нижняя треть держит белые знаки и текст
   (контраст проверен замером по фоновым пикселям, web-foto). */
/* Слот фона удалён итерацией 10 — снимок okompanii-fon пришёл */
.okompanii .w{position:relative;z-index:2}
.okompanii__soderzhanie{max-width:720px}
.metka--svetlaya{color:rgba(255,255,255,.6)}
.metka--svetlaya::before{background:rgba(255,255,255,.6)}
.okompanii__utverzhdenie{font-size:34px;font-weight:600;line-height:1.25;max-width:24ch;margin-top:14px;color:#fff}
.okompanii__tekst{font-size:16px;line-height:1.6;color:rgba(255,255,255,.78);max-width:58ch;margin-top:28px;padding-top:28px;border-top:1px solid rgba(255,255,255,.22)}
/* Проверяемость: юрлицо и кнопка на Руспрофайл. Итерация 12:
   строка на всю ширину контейнера — ИНН слева, кнопка у правого
   края, в одну строку (раньше в колонке 720px они не помещались
   и падали друг под друга). */
.proverka{margin-top:48px;padding-top:32px;border-top:1px solid rgba(255,255,255,.22);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px}
.proverka p{font-size:15px;line-height:1.55;color:rgba(255,255,255,.66)}
.proverka__knopka .ssylka-vneshn__str{margin-left:10px;font-size:14px}
.okompanii .ssylka-vneshn{color:#fff;text-decoration-color:rgba(255,255,255,.45)}
.okompanii .ssylka-vneshn:hover{text-decoration-color:#fff}
.ssylka-vneshn__str{display:inline-block;margin-left:6px;font-family:var(--sans);font-size:13px;line-height:1;transition:transform .2s ease}
.ssylka-vneshn:hover .ssylka-vneshn__str,.proverka__knopka:hover .ssylka-vneshn__str{transform:translate(2px,-2px)}
/* Нижняя полоса: партнёры и аккредитации, письма, эксперт — светлая.
   Итерация 13 (правка 3): аккредитации перенесены сюда из тёмной
   секции, блок один — «Партнёры и аккредитации». Разницу групп
   держат ярлыки, анатомия пункта и цвет знака: партнёры — цветные
   чужие логотипы с именем и делом, аккредитации — одноцветные синие
   знаки с подписью, что подтверждено. */
.okompanii-dop{background:var(--fon-2);padding-top:96px;padding-bottom:96px}
.partnery h3{margin-bottom:24px}
/* Ярлык группы — 13/500 Geologica, словарь .zag-kolonki */
.partnery__rol{font-family:var(--sans);font-size:13px;font-weight:500;line-height:1.3;color:var(--seryj-2);margin-bottom:14px}
.partnery__ryad+.partnery__rol{margin-top:40px}
.partnery__ryad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
/* Аккредитации: та же линия сверху, что у партнёров; знак 40px,
   подпись не выше двух строк. Отклик один на тип: знак
   приподнимается, подпись темнеет. */
.akkredit__ryad{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.akkredit__punkt{min-width:0;border-top:1px solid var(--linia);padding-top:20px}
.akkredit__znak{display:flex;align-items:center;height:40px}
.akkredit__znak img{max-height:40px;width:auto;max-width:100%;object-fit:contain;transition:transform .2s ease}
.akkredit__punkt p{font-size:13px;line-height:1.5;color:var(--seryj);margin-top:12px;transition:color .2s}
.akkredit__punkt:hover .akkredit__znak img{transform:translateY(-3px)}
.akkredit__punkt:hover p{color:var(--chernila)}
.partner{display:flex;gap:18px;align-items:flex-start;min-width:0;border-top:1px solid var(--linia);padding-top:20px}
/* Знаки партнёров пришли (итерация 10): цветные, на светлом фоне
   полосы стоят как есть, без плашек. Зона знака 88×56 держит ряд
   ровным при разных пропорциях файлов. */
.partner__znak{flex:0 0 88px;height:56px;display:flex;align-items:center;justify-content:flex-start}
.partner__znak img{max-width:88px;max-height:56px;width:auto;height:auto;object-fit:contain;transition:transform .2s ease}
.partner:hover .partner__znak img{transform:translateY(-3px)}
.partner__sut{min-width:0}
.partner__imya{font-family:var(--sans);font-size:16px;font-weight:500;color:var(--chernila)}
.partner__chto{font-size:13px;line-height:1.5;color:var(--seryj);margin-top:6px;transition:color .2s}
.partner:hover .partner__chto{color:var(--chernila)}
.regalii__niz{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:48px;margin-top:64px;align-items:start}
.regalii__pisma h3{margin-bottom:20px}
.regalii__ekspert{display:grid;gap:24px;align-content:start;justify-items:start}
/* Ниже 1024 карточка тянется на всю колонку: justify-items:start
   прижимал её влево и оставлял пустоту справа. */
@media (max-width:1024px){.regalii__ekspert{justify-items:stretch}}
/* Карточка генерального директора (итерация 10, 14-sharygin):
   белая панель с синей линией сверху — словарь карточек-показателей.
   Портрет 1:1 на белом (исходник с прозрачным фоном уложен на белый
   при сжатии). Число «250+» в карточке не упоминается — портрет
   и число разведены по разным блокам сознательно, см. отчёт. */
.direktor{width:100%;max-width:300px;background:#fff;border:1px solid var(--linia);border-top:3px solid var(--sinij)}
.direktor__foto{width:100%;height:auto;display:block}
.direktor__sut{padding:18px 20px 20px}
.direktor__imya{font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.3;color:var(--chernila)}
.direktor__rol{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--seryj-2);margin-top:4px}
.direktor__fakt{font-size:13px;line-height:1.5;color:var(--seryj);margin-top:14px;padding-top:14px;border-top:1px solid var(--linia-2)}
.direktor__fakt b{font-weight:600;color:var(--chernila)}
/* Продолжение описания (итерация 12: текст расширен до трёх абзацев
   по файлу) — без повторной линии, обычный межабзацный интервал */
.direktor__fakt--dalee{margin-top:10px;padding-top:0;border-top:0}
/* Итерация 13 (правка 4): подробности — под кнопкой «Подробнее».
   Механика — общий аккордеон .akk (base.css, glavnaya.js), здесь
   только компактная одёжка под карточку: кнопка 14/500 синим,
   знак-плюс меньше. Селекторы с родителем перебивают базовое
   .akk-punkt__vnutri p (грабля специфичности «класс+тег»). */
.direktor__akk{margin-top:14px;border-top:1px solid var(--linia-2);border-bottom:0}
.direktor__akk .akk-punkt__knopka{padding:12px 0 4px;gap:10px;align-items:center}
.direktor__akk .akk-punkt__zag{flex:0 1 auto;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--sinij)}
.direktor__akk .akk-punkt__znak{width:16px;height:16px;margin-left:auto}
.direktor__akk .akk-punkt__znak::before{width:10px}
.direktor__akk .akk-punkt__znak::after{height:10px}
.direktor__akk .akk-punkt__vnutri p{max-width:none;font-size:13px;line-height:1.5;color:var(--seryj);padding:0}
.direktor__akk .akk-punkt__vnutri p:first-child{margin-top:6px}
.direktor__akk .akk-punkt__vnutri p:last-child{padding-bottom:6px}
/* Итерация 9: девять настоящих писем. Миниатюры мелкие — читать
   текст на странице не нужно, важно, что письмо настоящее
   и открывается крупно по нажатию */
.pisma{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;max-width:720px}
.pismo{display:block;padding:0;background:#fff;border:1px solid var(--linia);cursor:pointer;transition:border-color .2s,transform .2s ease}
.pismo:hover,.pismo:focus-visible{border-color:var(--sinij);transform:translateY(-3px)}
.pismo img{display:block;width:100%;height:auto}
/* Просмотр письма крупно: единственный оверлей страницы.
   Закрытие — Escape, крестик, клик мимо листа; стрелки листают
   (кнопками и с клавиатуры). Знаки рисованные, не символы. */
.pisma-prosmotr{position:fixed;inset:0;z-index:40;background:rgba(13,26,50,.92);display:flex;align-items:center;justify-content:center;gap:20px;padding:36px 24px}
.pisma-prosmotr__kadr{max-width:min(72vw,760px);max-height:calc(100vh - 72px);width:auto;height:auto;background:#fff;box-shadow:var(--ten)}
.pisma-prosmotr__zakryt{position:absolute;top:18px;right:22px;width:44px;height:44px;background:none;border:0;cursor:pointer;opacity:.8;transition:opacity .2s}
.pisma-prosmotr__zakryt:hover{opacity:1}
.pisma-prosmotr__zakryt::before,.pisma-prosmotr__zakryt::after{content:"";position:absolute;top:50%;left:50%;width:22px;height:2px;background:#fff;transform:translate(-50%,-50%) rotate(45deg)}
.pisma-prosmotr__zakryt::after{transform:translate(-50%,-50%) rotate(-45deg)}
.pisma-prosmotr__strelka{flex:0 0 auto;width:44px;height:64px;background:none;border:0;cursor:pointer;position:relative;opacity:.75;transition:opacity .2s}
.pisma-prosmotr__strelka:hover{opacity:1}
.pisma-prosmotr__strelka::before{content:"";position:absolute;top:50%;left:50%;width:13px;height:13px;border-top:2px solid #fff;border-right:2px solid #fff;transform:translate(-50%,-50%) rotate(45deg)}
.pisma-prosmotr__strelka--nazad::before{transform:translate(-50%,-50%) rotate(-135deg)}
@media print{.pisma-prosmotr{display:none}}

/* ================= ЛИСТ 13 — Обсуждение проекта =================
   Итерация 7: акцент листа — крупная кнопка отправки
   (.knopka--krupnaya, base.css); телефон в данных укрупнён. */
.kontakt{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:72px;align-items:start}
.kontakt__dannye h3{margin-bottom:18px}
.kontakt__adres{font-size:16px;line-height:1.55;color:var(--seryj)}
.kontakt__tel{display:block;font-family:var(--sans);font-size:28px;font-weight:300;color:var(--chernila);text-decoration:none;margin-top:20px;font-variant-numeric:tabular-nums;width:fit-content;transition:color .2s}
.kontakt__tel:hover{color:var(--sinij-yark)}
.kontakt__pochta{display:block;font-size:16px;color:var(--sinij-yark);text-decoration:none;margin-top:8px;width:fit-content}
.kontakt__pochta:hover{text-decoration:underline;text-underline-offset:3px}
.kontakt__granicy{font-size:14px;line-height:1.55;color:var(--seryj);margin-top:28px;padding-top:20px;border-top:1px solid var(--linia)}

/* ============================================================
   АДАПТИВ — восемь ширин, по листам сверху вниз.
   Десктоп выше не трогается; здесь только перекрытия для узких
   экранов. Токены сетки и общие компоненты — base.css.
   ============================================================ */

/* ── Общее для листов ──
      Адаптив .sek__telo--blizhe переехал в base.css вместе
      с правилом (14.09.2026). ── */
@media (max-width:1024px){
  /* Карточка директора: на свёрнутом окне держала max-width:300px
     и оставляла справа пустоту в треть контейнера — заказчик 01.09.
     Ниже 1024 карточка раскладывается в две колонки: снимок слева,
     имя, должность, факт и «Подробнее» справа. Фотографии хватает
     300px, остальное занимает текст. */
  .direktor{max-width:none;display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start}
  .direktor__foto{grid-row:1/3;align-self:stretch;height:100%;object-fit:cover;object-position:top center}
  .direktor__sut{padding:22px 24px 24px}
}
@media (max-width:768px){
  /* Шапка блока с боковой пометкой: пометка уходит под заголовок */
  .sek__shapka{flex-direction:column;align-items:flex-start;gap:16px}
  .pometka-sbok{flex:0 0 auto;margin-bottom:0}
  /* Ниже 768 две колонки не помещаются — карточка снова в столбец,
     но уже во всю ширину, без прежнего max-width:300px */
  .direktor{grid-template-columns:minmax(0,1fr)}
  .direktor__foto{grid-row:auto;height:auto;max-height:340px}
}

/* ── ЛИСТ 01 — Первый экран ──
      ≤1024 высота по содержимому (min-height:auto по 11.2): факты
      в потоке, а не прижаты к низу экрана. В ландшафте телефона
      (844×390) это же правило спасает от низкого вьюпорта: герой
      растёт по содержимому, внутренней прокрутки нет. */
@media (max-width:1024px){
  .hero{height:auto}
  .hero__soderzhanie{margin-top:0;margin-bottom:0;padding-top:52px;padding-bottom:40px}
  .hero__fakty{gap:32px;padding-top:24px;padding-bottom:44px}
  /* nowrap рассчитан на колонки 1440: в узкой ячейке «от 3 млн
     до 3 млрд ₽» вылезал за окно и раздувал scrollWidth */
  .fakt b{white-space:normal;height:auto;min-height:38px}
}
@media (max-width:768px){
  .hero__soderzhanie{padding-top:44px;padding-bottom:32px}
  .hero__lead{font-size:17px;margin-bottom:28px}
  .hero__knopki{flex-wrap:wrap;gap:12px}
  .hero__fakty{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 24px;padding-bottom:36px}
  /* Кадр под текстом на всю ширину: растушёвка тоже на всю ширину,
     плотность прежних слоёв, только без прозрачного правого края */
  .hero__video::before{background:linear-gradient(90deg,rgba(13,26,50,.88) 0%,rgba(13,26,50,.7) 55%,rgba(13,26,50,.5) 100%)}
}
@media (max-width:480px){
  /* Ручные переносы H1 рассчитаны на колонку 620px — на телефоне
     дают четыре строки; естественный перенос даёт три.
     Кегль ниже общей ступени (29): кусок «и сопровождение»
     неразрывный, при 29px заголовок распадается на четыре строки,
     а он не длиннее трёх (ТЗ). 24px на 390 и 22px на 360 дают три —
     проверено замером строк. */
  .hero__h1-str{display:inline}
  .hero h1{font-size:24px}
  .hero__knopki .knopka{width:100%;text-align:center}
  .hero__fakty{grid-template-columns:1fr;gap:16px}
  .fakt b{height:auto;font-size:30px}
  .fakt--slovo b{font-size:20px}
  .fakt span{max-width:none}
}

/* ── ЛИСТ 02 — Преимущества ── */
@media (max-width:1024px){
  .preim__punkt{min-height:232px;padding:26px 28px 24px}
  .preim__nomer{font-size:52px}
  h3.preim__tezis{font-size:24px}
  .voronka{padding:28px}
}
@media (max-width:768px){
  /* Кадр-документ из правой трети уходит под текст: на узкой
     карточке absolute-кадр лежал бы под строками. Показан целиком
     (contain), полная плотность — на тач промежуточных состояний
     нет. */
  .preim__punkt{min-height:0;padding:22px 20px 20px}
  .preim__fon{position:static;grid-column:1/-1;grid-row:3;width:100%;height:190px;margin-top:18px;opacity:1}
  .preim__fon img{object-position:left center}
  .preim__nomer{font-size:40px;grid-row:1/3}
  h3.preim__tezis{font-size:21px}
  .preim__dovod{margin-top:10px}
  .voronka{padding:22px 20px;margin-top:28px}
  .voronka__shagi{grid-template-columns:1fr;grid-template-rows:none}
  .voronka-shag{grid-template-rows:auto;grid-row:auto;padding:14px 0}
  .voronka-shag+.voronka-shag{border-top:1px solid var(--linia-2)}
  .voronka-shag+.voronka-shag::before{display:none}
  .voronka-shag__nomer{margin-bottom:8px}
  .voronka__deystvie{justify-content:flex-start;margin-top:16px}
}
@media (max-width:480px){
  .preim__fon{height:150px}
  .voronka__knopka{width:100%;text-align:center;white-space:normal}
}
/* Тач: документ в полной плотности сразу, без промежуточного
   состояния (ДИЗАЙН-СИСТЕМА 11.3) */
@media (hover:none){
  .preim__fon{opacity:1}
  .preim__punkt:hover .preim__fon img{transform:none}
  .preim__punkt:hover .preim__nomer{transform:none}
}

/* ── ЛИСТ 03 — Направления ──
      Зоны перехода к соседней вкладке стоят за краями панелей
      (±46px): ниже ~1230px они выходят за окно — скрываем вместе
      с уходом текстовых контактов шапки. Это дублирующий путь,
      вкладки остаются. */
@media (max-width:1250px){
  .tabs-krai{display:none}
}
@media (max-width:1024px){
  /* Вкладки-чипсы с горизонтальной прокруткой */
  .tabs{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;gap:28px}
  .tabs::-webkit-scrollbar{display:none}
  .tabs__knopka{white-space:nowrap}
  .napravleniya__para{grid-template-columns:1fr}
  .panel-danet{padding:24px 22px}
  .tab-panel{padding-top:24px}
}
/* Аккордеон вместо вкладок (≤768): initMorf (glavnaya.js) переносит
   кнопки вкладок к их панелям и вешает классы — стили привязаны
   к классам, а не к ширине: вёрстка и поведение не разъезжаются. */
.tabs--pusto{display:none}
.tabs-oblast--akk{border-top:1px solid var(--linia)}
.tabs-oblast--akk .tabs__knopka{position:relative;display:block;width:100%;text-align:left;padding:16px 36px 16px 0;border-bottom:1px solid var(--linia);color:var(--chernila);font-size:17px}
.tabs-oblast--akk .tabs__knopka::before,
.tabs-oblast--akk .tabs__knopka::after{content:"";position:absolute;top:50%;right:0;background:var(--chernila)}
.tabs-oblast--akk .tabs__knopka::before{width:14px;height:2px;transform:translateY(-50%)}
.tabs-oblast--akk .tabs__knopka::after{width:2px;height:14px;right:6px;transform:translateY(-50%)}
.tabs-oblast--akk .tabs__knopka.is-active{color:var(--sinij)}
.tabs-oblast--akk .tabs__knopka.is-active::before,
.tabs-oblast--akk .tabs__knopka.is-active::after{background:var(--sinij)}
.tabs-oblast--akk .tabs__knopka.is-active::after{transform:translateY(-50%) scaleY(0)}
.tabs-oblast--akk .tab-panel{padding-top:18px;padding-bottom:26px;border-bottom:1px solid var(--linia)}

/* ── ЛИСТ 04 — Условия ──
      На 1024 панель ставки и карточки стоят в две колонки (11.2);
      на 768–1023 — в одну, раньше, чем велит таблица: при двух
      колонках условие ступени сжималось до ~140px. Карточки срока
      и суммы при одной колонке встают парой. Расхождение — в отчёте. */
@media (max-width:1023px){
  .usloviya-nov{grid-template-columns:1fr}
  .usloviya-nov__stolbec{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto}
}
@media (max-width:1024px){
  .stavka-stupen b{font-size:38px}
  .usloviya-nov .kartochka__znachenie{font-size:30px}
}
@media (max-width:768px){
  /* Лесенка вертикально: шкала и число строкой, условие под ними */
  .stavka-stupen{grid-template-columns:1fr;row-gap:6px;padding-top:12px;padding-bottom:12px}
  .stavka-stupen b{font-size:34px}
}
@media (max-width:640px){
  .usloviya-nov__stolbec{grid-template-columns:1fr}
}

/* ── ЛИСТ 05 — Процедура ──
      Адаптив маршрута переехал в base.css вместе с компонентом
      (14.09.2026). ── */

/* ── ЛИСТ 06 — Услуги ── */
@media (max-width:1024px){
  .uslugi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .usluga-glav{grid-column:1/-1;gap:32px;padding:32px}
  .uslugi>.kartochka{grid-column:auto}
  .uslugi>.kartochka:nth-last-child(-n+2){grid-column:auto}
  .uslugi>.kartochka:last-child{grid-column:1/-1}
}
@media (max-width:768px){
  .uslugi{grid-template-columns:1fr}
  .uslugi>.kartochka:last-child{grid-column:auto}
  .usluga-glav{flex-direction:column;align-items:flex-start;gap:20px;padding:24px 20px}
  /* Столбец: затемнение ровное сверху вниз, а не по горизонтали */
  .usluga-glav__fon::after{background:linear-gradient(180deg,rgba(13,26,50,.94) 0%,rgba(13,26,50,.82) 100%)}
  .usluga-glav h3{font-size:22px}
  .usluga-glav__cena{text-align:left}
  .usluga-glav__cena b{font-size:34px}
}
@media (hover:none){
  .usluga-glav:hover h3{transform:none}
}

/* ── ЛИСТ 07 — Подготовка ──
      Липких колонок на ≤1024 нет (11.3): интро в поток сверху */
@media (max-width:1024px){
  .podgotovka{grid-template-columns:1fr;gap:32px}
  .podgotovka__intro{position:static}
  .podgotovka__foto{max-width:200px;margin-top:20px}
  .akk--etapy .petap__usloviya{flex:0 0 160px}
}
@media (max-width:768px){
  /* Кнопка этапа: условия из правой колонки — под заголовок */
  .akk--etapy .akk-punkt__knopka{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 14px;padding:16px 0}
  .akk--etapy .petap__nomer{grid-row:1/3;flex:none;font-size:24px;padding-top:2px}
  .akk--etapy .akk-punkt__zag{font-size:18px}
  .akk--etapy .akk-punkt__znak{grid-column:3;grid-row:1;align-self:center}
  .akk--etapy .petap__usloviya{grid-column:2;grid-row:2;flex:none;margin-left:0;text-align:left;display:flex;align-items:baseline;gap:10px}
  .akk--etapy .petap__usloviya b{font-size:16px}
  .akk--etapy .petap__usloviya span{margin-top:0}
  .akk--etapy .akk-punkt__vnutri .petap__raboty{padding-left:38px}
  .akk--etapy .petap__rezultat{margin-left:38px;margin-right:12px}
  .podgotovka__stroka{margin-top:22px}
}
@media (hover:none){
  .akk--etapy .petap__rezultat:hover{transform:none}
}

/* ── ЛИСТ 08 — Калькулятор ──
      Липкий итог в поток под полями (11.2); рама сжимает поля
      вместе с гуттером; ползунки на всю ширину ≤768 */
@media (max-width:1024px){
  .kalk-rama{padding:36px 28px 32px}
  .stoim{grid-template-columns:1fr;gap:28px}
  .stoim__levo{padding-bottom:0}
  .stoim__itog{position:static}
  .kalkulyator__vvod{padding:26px 24px;gap:24px}
  .stoim__itog-chislo{font-size:44px}
}
@media (max-width:768px){
  .kalk-rama{padding:28px 20px 26px}
  .kalk-pole__riad{grid-template-columns:1fr;gap:12px}
  .stoimost-deystvie{margin-top:28px}
}
@media (max-width:480px){
  .kalk-rama{padding:24px 14px 22px}
  .kalkulyator__vvod{padding:20px 16px}
  .stoim__itog{padding:22px 16px 20px}
  .stoim__itog-chislo{font-size:38px}
  .kalk-stroka{flex-wrap:wrap}
  .kalk-stroka span{flex-wrap:wrap}
  .stoimost-deystvie .knopka{display:block;text-align:center}
}

/* ── ЛИСТ 09 — Сроки-отсекатели ──
      Сдвиг лесенки вдвое меньше ≤1024, без сдвига и в столбец ≤768 */
@media (max-width:1024px){
  .otsek{grid-template-columns:260px minmax(0,1fr);column-gap:32px}
  .otsek:nth-child(2){padding-left:60px}
  .otsek:nth-child(3){padding-left:120px}
  .otsek__srok{font-size:40px}
}
@media (max-width:768px){
  .otsek{grid-template-columns:1fr;row-gap:10px;padding:18px 0}
  .otsek:nth-child(2),.otsek:nth-child(3){padding-left:0}
  .otsek__srok{font-size:34px}
  .otsek__sut{padding-top:0}
}
@media (hover:none){
  .otsek:hover .otsek__srok{transform:none}
}

/* ── ЛИСТ 10 — Ограничения ── */
@media (max-width:1024px){
  .ogran{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:768px){
  .ogran{grid-template-columns:1fr}
  .ogran-punkt__foto{height:120px}
}
@media (hover:none){
  .ogran-punkt:hover{border-color:var(--linia)}
  .ogran-punkt:hover .ogran-punkt__foto img{transform:none}
}

/* ── ЛИСТ 11 — Подбор программы ──
      ≤1024 липкое меню становится чипсами с прокруткой;
      ≤768 — аккордеон: initMorf переносит кнопки к панелям,
      стили привязаны к классу .programmy--akk (см. лист 03). */
@media (max-width:1024px){
  .programmy{grid-template-columns:1fr;gap:20px}
  .programmy__menu{position:static;flex-direction:row;gap:8px;border-top:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;padding-bottom:2px}
  .programmy__menu::-webkit-scrollbar{display:none}
  .programmy__punkt{flex:0 0 auto;white-space:nowrap;border:1px solid var(--linia);padding:11px 16px;background:none}
  .programmy__punkt::before{display:none}
  .programmy__punkt:hover{background-size:0 0}
  .programmy__punkt.is-active{border-color:var(--sinij);box-shadow:none;color:var(--chernila)}
  .programmy__paneli{padding:28px 26px}
  .prog-panel__foto{top:-28px;right:-26px;bottom:-28px}
}
@media (max-width:768px){
  .prog-panel__usloviya{gap:16px 20px}
  .prog-panel__usloviya b{font-size:20px}
  .prog-panel__usloviya .prog-panel__glav b{font-size:34px}
  /* Кадр программы: заказчик 01.09 — «хочется чтобы здесь всё-таки
     были фоновые фото программ». Снимать нельзя, но и оставлять
     absolute-фоном под всем текстом узкой панели тоже: текст ляжет
     поверх снимка. Решение — снимок становится полосой в шапке
     панели: виден целиком, текста под ним нет. */
  .prog-panel__foto{position:static;width:auto;height:132px;
    margin:0 0 18px;z-index:0;display:block;overflow:hidden}
  .prog-panel__foto img{-webkit-mask-image:none;mask-image:none;
    object-position:center 40%}
}
.programmy--akk .programmy__menu{display:none}
.programmy--akk .programmy__paneli{background:none;border:0;border-top:1px solid var(--linia);padding:0;overflow:visible}
.programmy--akk .programmy__punkt{position:relative;display:block;width:100%;flex:none;text-align:left;white-space:normal;border:0;border-bottom:1px solid var(--linia);padding:16px 36px 16px 0;color:var(--chernila);font-size:17px;background:none}
.programmy--akk .programmy__punkt::before,
.programmy--akk .programmy__punkt::after{content:"";position:absolute;top:50%;right:0;width:14px;height:2px;background:var(--chernila);display:block;transition:none}
.programmy--akk .programmy__punkt::after{width:2px;height:14px;right:6px}
.programmy--akk .programmy__punkt::before{transform:translateY(-50%)}
.programmy--akk .programmy__punkt::after{transform:translateY(-50%)}
.programmy--akk .programmy__punkt.is-active{color:var(--sinij);box-shadow:none;border-bottom-color:transparent}
.programmy--akk .programmy__punkt.is-active::before,
.programmy--akk .programmy__punkt.is-active::after{background:var(--sinij)}
.programmy--akk .programmy__punkt.is-active::after{transform:translateY(-50%) scaleY(0)}
.programmy--akk .prog-panel.is-active{padding:4px 0 26px;border-bottom:1px solid var(--linia)}
/* Название программы в панели дублирует кнопку аккордеона прямо
   над ним. Текст h3 гасится нулевым кеглем, а не display:none —
   в h3 живёт подсказка «источник», у её частей кегль задан явно
   (12/13px), и она остаётся видимой и рабочей. */
.programmy--akk .prog-panel h3{font-size:0;margin-bottom:16px}

/* ── ЛИСТ 12 — О компании ── */
@media (max-width:1024px){
  .okompanii{padding-top:var(--sek);padding-bottom:var(--sek)}
  .okompanii-dop{padding-top:var(--sek);padding-bottom:var(--sek)}
  .okompanii__utverzhdenie{font-size:28px}
  .regalii__niz{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;margin-top:48px}
  .pisma{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:768px){
  .okompanii__utverzhdenie{font-size:25px}
  /* Текст ложится на всю ширину кадра — затемнение усилено
     по всей площади, слои те же (--sinij) */
  .okompanii__fon::after{background:linear-gradient(0deg,rgba(13,26,50,.85) 0%,rgba(13,26,50,.6) 45%,rgba(13,26,50,.42) 100%),linear-gradient(90deg,rgba(13,26,50,.72) 0%,rgba(13,26,50,.55) 100%)}
  .proverka{margin-top:36px;padding-top:24px}
  .partnery__ryad{grid-template-columns:1fr;gap:18px}
  .partnery__ryad+.partnery__rol{margin-top:32px}
  .akkredit__ryad{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .regalii__niz{grid-template-columns:1fr;gap:44px;margin-top:44px}
  .pisma{grid-template-columns:repeat(2,minmax(0,1fr))}
  /* Карточка директора во всю ширину: max-width:420px оставлял справа
     пустоту в треть контейнера — заказчик 01.09. Столбцом, снимок
     ограничен по высоте, чтобы портрет не занимал экран целиком. */
  .direktor{max-width:none;grid-template-columns:minmax(0,1fr);justify-self:stretch}
  .direktor__foto{grid-row:auto;height:auto;max-height:360px;object-fit:cover;object-position:top center}
}
@media (max-width:480px){
  .okompanii__utverzhdenie{font-size:22px}
  .proverka__knopka{width:100%;text-align:center}
  .pisma{gap:10px}
}
/* Просмотр письма ≤768: во весь экран, стрелки под листом
   (белые штрихи на белом письме были бы невидимы), закрытие —
   крестик и свайп вниз (initPisma) */
@media (max-width:768px){
  .pisma-prosmotr{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr) auto;gap:10px 12px;padding:56px 12px 14px;justify-items:center;align-items:center}
  .pisma-prosmotr[hidden]{display:none}
  .pisma-prosmotr__kadr{grid-row:1;grid-column:1/-1;max-width:calc(100vw - 24px);max-height:calc(100svh - 128px)}
  .pisma-prosmotr__strelka{grid-row:2;width:64px;height:44px}
  .pisma-prosmotr__strelka--nazad{grid-column:1;justify-self:end}
  .pisma-prosmotr__strelka--vpered{grid-column:2;justify-self:start}
  .pisma-prosmotr__zakryt{top:8px;right:8px}
}
@media (hover:none){
  .pismo:hover{border-color:var(--linia);transform:none}
  .partner:hover .partner__znak img,.akkredit__punkt:hover .akkredit__znak img{transform:none}
}

/* ── Тач-таргеты страницы (≥44px): ползунки калькулятора,
      «Подробнее» директора, почта в контактах ── */
@media (pointer:coarse){
  .kalk-polzunok{height:36px}
  .kalk-polzunok::-webkit-slider-thumb{width:20px;height:20px;margin-top:-9px}
  .kalk-polzunok::-moz-range-thumb{width:20px;height:20px}
  .direktor__akk .akk-punkt__knopka{padding-top:14px;padding-bottom:10px}
  .kontakt__pochta{padding-top:8px;padding-bottom:8px}
}

/* ── ЛИСТ 13 — Обсуждение проекта ──
      Форма шире, контакты снизу (11.2); поля — base.css */
@media (max-width:1024px){
  .kontakt{grid-template-columns:1fr;gap:40px}
}
@media (max-width:768px){
  .kontakt{gap:36px}
  .kontakt__tel{font-size:24px}
}

/* Узкий телефон: тот же заголовок в три строки требует ещё
   на ступень меньше (замер строк, см. лист 01). Частный брейкпоинт
   одного элемента, в лестницу не входит. */
@media (max-width:374px){
  .hero h1{font-size:22px}
}
