/* qa-tools — фирменные ассеты поверх дизайн-системы.
   Лежит в design/, а не в css/: по решению владельца то, что в css/ и js/,
   попадает в офлайн-кеш и под общие проверки. Без этого файла страницы
   работают как раньше — он только добавляет кадр и текстуру.
   Значения — только из токенов css/tokens.css. */

/* Статичный кадр под шапкой страницы («О проекте», «Приватность»).
   Высота ограничена: это кадр-настроение, а не hero-блок. */
/* Кадр широкого формата 21:9 показывается целиком: прежний max-height
   резал 16:9 до полосы, и человек видел кусок кружки и угол клавиатуры. */
/* Кадр во всю ширину, но полосой 4:1, а не 21:9. Сначала попробовали
   оставить прежний кадр и просто ужать его вдвое по ширине — владелец
   отверг: посреди широкой страницы висела маленькая картинка. Полоса
   даёт то же настроение при вдвое меньшей высоте (на мониторе 1440px —
   360px вместо 617). Кадры под неё ПЕРЕСНЯТЫ: композиция выстроена в
   горизонтальную ленту с пустым столом сверху и снизу, поэтому в полосе
   ничего не обрезано. Шире 21:9 модель не отдаёт, полоса получена
   кадрированием 2K-оригинала по центру. */
.brandshot{margin:0 0 var(--space-8);border-radius:var(--radius-card);overflow:hidden;
  aspect-ratio:4/1;border:1px solid var(--border-hairline)}
.brand-link{text-decoration:underline;text-underline-offset:.18em;
  text-decoration-color:var(--border-accent)}
.brandshot img{display:block;width:100%;height:100%;object-fit:cover}

/* Текстура под секцией: низкая прозрачность, чтобы читался текст.
   В тёмной теме — шлифованный графит, в светлой — бумага; обе из пака. */
.textured{position:relative;isolation:isolate}
.textured::before{content:"";position:absolute;inset:0;z-index:-1;
  border-radius:var(--radius-card);opacity:.22;
  background:url(texture-graphite-1920.jpg) center/cover no-repeat}
[data-theme="light"] .textured::before{opacity:.45;
  background-image:url(texture-paper-1920.jpg)}
