/* GT-BRAND-01: после действующих тем; палитра направлений и точный SVG бренда. */
html[data-brand]{--color-accent:var(--brand-action);--color-accent-strong:var(--brand-action-hover);--color-accent-fg:var(--brand-action-text);--color-link:var(--brand-link);--color-link-hover:var(--brand-action-hover);--c-accent-500:var(--brand-action);--c-accent-600:var(--brand-action);--c-accent-700:var(--brand-action-hover);--c-accent-bg:var(--brand-soft)}
html[data-brand] .gt-header,html[data-brand] .gt-footer{--gt-accent:var(--brand-action)}
html[data-brand] .gt-brand__logo{display:block;width:224px;height:auto;max-width:100%;flex-shrink:0}
html[data-brand] .home-standard{--accent:var(--brand-action)!important;--bright:var(--brand-dark-link)!important;--soft:var(--brand-soft)!important}
html[data-brand] .gt-mobile-menu .gt-mobile-menu__cta{background:var(--brand-action);color:var(--brand-action-text)}
html[data-brand] .gt-mobile-menu .gt-mobile-menu__cta:hover{background:var(--brand-action-hover);color:var(--brand-action-text)}
html[data-brand] .home-standard .primary{background:var(--brand-action);color:var(--brand-action-text)}
html[data-brand] .home-standard .hero .primary,html[data-brand] .home-standard .quiz-section .primary{background:var(--brand-dark-action);color:var(--brand-dark-action-text)}
html[data-brand] .home-standard .primary:hover{filter:none;background:var(--brand-action-hover);color:var(--brand-action-text)}
html[data-brand] :focus-visible{outline-color:var(--brand-focus)}
@media(max-width:600px){html[data-brand] .gt-brand__logo{width:190px}}
@media(max-width:380px){html[data-brand] .gt-brand__logo{width:172px}}

/* tokens.css — from pseo-design-tokens.md. Do not hardcode colors/sizes elsewhere. */
:root {
  --c-neutral-0:   hsl(0 0% 100%);
  --c-neutral-50:  hsl(220 14% 98%);
  --c-neutral-100: hsl(220 13% 95%);
  --c-neutral-200: hsl(220 13% 90%);
  --c-neutral-300: hsl(220 12% 82%);
  --c-neutral-400: hsl(220 10% 65%);
  --c-neutral-500: hsl(220 10% 50%);
  --c-neutral-600: hsl(220 12% 38%);
  --c-neutral-700: hsl(220 15% 25%);
  --c-neutral-800: hsl(220 18% 15%);
  --c-neutral-900: hsl(220 20% 10%);

  /* Акцент — бренд-уровень, один на весь сайт (design-code §12.2).
     Оранжевый: язык промышленной маркировки — рабочий элемент,
     действие, опасная зона. Синий на сайте по гидроизоляции читается
     как вода и обесценивается (§2, разрешение конфликта референсов).
     Вертикали этот hue НЕ переопределяют. */
  --c-accent-h: 24;
  --c-accent-s: 90%;
  --c-accent-l: 48%;
  --c-accent-400: hsl(var(--c-accent-h) var(--c-accent-s) 58%);
  --c-accent-500: hsl(var(--c-accent-h) var(--c-accent-s) var(--c-accent-l));
  --c-accent-600: hsl(var(--c-accent-h) var(--c-accent-s) 36%);
  --c-accent-700: hsl(var(--c-accent-h) var(--c-accent-s) 28%);
  --c-accent-bg:  hsl(var(--c-accent-h) var(--c-accent-s) 97%);

  /* Роли, а не шаги шкалы. Значения самой нейтральной шкалы не меняются;
     меняется только то, на какой шаг роль указывает. Ступень выбрана по
     контрасту: neutral-500 на белом даёт 4.25:1 и не проходит WCAG AA
     для текста, neutral-600 даёт 7:1. */
  --color-fg:        var(--c-neutral-800);
  --color-fg-muted:  var(--c-neutral-600);
  --color-fg-subtle: var(--c-neutral-500);
  --color-bg:        var(--c-neutral-0);
  --color-bg-elev:   var(--c-neutral-50);
  --color-bg-sunken: var(--c-neutral-100);
  --color-border:    var(--c-neutral-200);
  --color-border-strong: var(--c-neutral-300);
  --color-accent:    var(--c-accent-500);
  /* Тёмный текст на акценте: белый на оранжевом даёт 3.34:1.
     Чёрным по оранжевому — язык промышленной маркировки. */
  --color-accent-fg: var(--c-neutral-900);
  /* Акцент в роли текста, а не заливки: 500 на белом не проходит AA. */
  --color-accent-strong: var(--c-accent-600);
  --color-link:      var(--c-accent-600);
  --color-link-hover: var(--c-accent-700);

  /* Inverted surfaces: dark footer, spec table header. */
  --color-surface-dark:     var(--c-neutral-900);
  --color-fg-on-dark:       var(--c-neutral-100);
  --color-fg-on-dark-muted: var(--c-neutral-400);
  --color-border-on-dark:   var(--c-neutral-700);

  /* Одна наборная гарнитура на весь сайт + моноширинная для цифр
     (design-code р.4). Inter первым словом стека — подключается локальным
     woff2 в static/fonts/ по отдельному решению; до этого работает
     системная база, порядок стека менять не требуется. */
  --font-body: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --font-heading: var(--font-body);
  --font-mono: ui-monospace, "Cascadia Mono", "Segoe UI Mono", "SF Mono", Menlo, Consolas, monospace;

  --fs-xs: 0.75rem;  --fs-sm: 0.875rem; --fs-base: 1rem;
  --fs-md: 1.125rem; --fs-lg: 1.25rem;  --fs-xl: 1.5rem;
  --fs-2xl: 1.875rem; --fs-3xl: 2.25rem; --fs-4xl: 2.75rem;
  /* Основной текст с 720px. Сайт текстовый: 17px читается заметно
     легче 16px на длинных полотнах (design-code р.5). */
  --fs-base-lg: 1.0625rem;

  --lh-none: 1.1; --lh-tight: 1.2; --lh-normal: 1.5; --lh-relaxed: 1.7;
  --fw-regular: 400; --fw-medium: 500; --fw-semibold: 600; --fw-bold: 700;
  --tracking-tight: -0.01em; --tracking-wide: 0.04em; --tracking-wider: 0.08em;

  --space-1: 0.25rem; --space-2: 0.5rem; --space-3: 0.75rem;
  --space-4: 1rem;    --space-5: 1.5rem; --space-6: 2rem;
  --space-7: 3rem;    --space-8: 4rem;

  /* Чем интерактивнее элемент, тем круглее: md — контролы, sm —
     поверхности, 0 — полосы во всю ширину (design-code р.6). */
  --radius-sm: 4px; --radius-md: 8px; --radius-lg: 12px;
  --shadow-sm: 0 1px 2px hsl(220 15% 20% / 0.05);

  /* Глубина строится границами, не тенями. Три толщины, больше нет. */
  --border-hairline: 1px;
  --border-regular: 2px;
  --border-thick: 4px;
  --focus-ring: 2px;
  --focus-offset: 2px;

  --container-max: 1200px;
  --container-narrow: 768px;
  --prose-measure: 68ch;

  /* Восемь токенов решения от 11.08.2026 (design-code §10.1).
     Колонка «Значение» в §10.1 была техзаданием на эту правку —
     после неё значения живут здесь, канон на них ссылается. */
  --c-neutral-h: 220;
  --c-rule-width: 40px;
  --c-icon-sm: 16px;
  --c-icon-md: 20px;
  --c-icon-lg: 24px;
  --c-icon-stroke: 2px;
  --c-press-offset: 1px;
  --c-accent-pressed: var(--c-accent-600);

  /* Минимальная тап-зона. Инлайновый <a> с padding-block не растит бокс:
     пункт навигации выходил 19px на всех страницах (аудит GT-DESIGN-03). */
  --c-tap-min: 44px;

  /* Тёмного варианта у системы нет и не должно быть: канон §3 держит
     белое полотно, тонированный фон запрещён. */
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
* { margin: 0; }
html { -webkit-text-size-adjust: 100%; }
body { min-height: 100vh; line-height: var(--lh-normal); -webkit-font-smoothing: antialiased; }
img, picture, svg, video { display: block; max-width: 100%; }
input, button, textarea, select { font: inherit; }
p, h1, h2, h3, h4 { overflow-wrap: break-word; }
ul[class] { list-style: none; padding: 0; }

/* base.css — системная база. Значения только из tokens.css.
   Единственное исключение — px в @media: CSS не подставляет var()
   в медиазапросы. Набор брейкпоинтов фиксирован и нигде не расширяется:
   560 (спека в две колонки), 640 (сетки ×2), 720 (крупная типографика),
   960 (сетки ×3). */

body {
  font-family: var(--font-body);
  color: var(--color-fg);
  background: var(--color-bg);
  font-size: var(--fs-base);
}

.container { max-width: var(--container-max); margin-inline: auto; padding-inline: var(--space-4); }
.container--narrow { max-width: var(--container-narrow); }
@media (min-width: 720px) { .container { padding-inline: var(--space-6); } }
/* Пропорция 1 : 4 (design-code р.6): внутри блока space-2…4, между
   блоками space-7…8. Воздух даётся отбивкой, а не паддингами. */
.section { padding-block: var(--space-7); }
@media (min-width: 720px) { .section { padding-block: var(--space-8); } }
/* Основной текст: ширина 68ch и интерлиньяж 1.7 — главный рычаг
   читаемости на текстовом сайте (design-code р.5). */
.prose { max-width: var(--prose-measure); line-height: var(--lh-relaxed); }

/* --- Типографика -------------------------------------------------- */
h1 {
  font-size: var(--fs-2xl); line-height: var(--lh-tight);
  letter-spacing: var(--tracking-tight); font-weight: var(--fw-bold);
  margin-bottom: var(--space-4);
}
h2 {
  font-size: var(--fs-xl); line-height: var(--lh-tight);
  font-weight: var(--fw-semibold);
  margin-top: var(--space-6); margin-bottom: var(--space-3);
}
h3 { font-size: var(--fs-lg); font-weight: var(--fw-semibold); margin-bottom: var(--space-2); }
p { margin-bottom: var(--space-3); }

@media (min-width: 720px) {
  h1 { font-size: var(--fs-3xl); }
  body { font-size: var(--fs-base-lg); }
}

/* Хабы держат более крупный первый экран — это единственное отличие
   их типографики. Регистр везде обычный: капс отдан служебным
   элементам, роль «сигнала» на хабе играет эйтбрау .hero__code
   (design-code р.5). */
@media (min-width: 960px) {
  .pt-home h1,
  .pt-vertical h1,
  .pt-industry h1 { font-size: var(--fs-4xl); line-height: var(--lh-none); }
}

a { color: var(--color-link); text-decoration: none; }
a:hover { color: var(--color-link-hover); text-decoration: underline; }

:focus-visible {
  outline: var(--focus-ring) solid var(--color-accent);
  outline-offset: var(--focus-offset);
}

.lead {
  font-size: var(--fs-md); color: var(--color-fg-muted);
  line-height: var(--lh-relaxed); max-width: var(--prose-measure);
}
.muted { color: var(--color-fg-muted); }
.small { font-size: var(--fs-sm); }
/* Класс `.todo` убран вместе с прочерком в спеке: строка без значения
   больше не выводится (D-007), и правило осталось бы стилем без
   разметки. Перечень незаполненных полей — agents/state/DATA-GAPS.md. */

/* Технический код / выноска: SF-01, СП 71.13330 (канон р.2). */
.code {
  font-family: var(--font-mono); font-size: var(--fs-xs);
  letter-spacing: var(--tracking-wider); text-transform: uppercase;
  color: var(--color-fg-muted);
}

.skip-link {
  position: absolute; inset-inline-start: -100%;
  display: inline-flex; align-items: center; min-block-size: var(--c-tap-min);
  padding-inline: var(--space-4);
}
.skip-link:focus {
  inset-inline-start: var(--space-4); top: var(--space-2);
  background: var(--color-accent); color: var(--color-accent-fg); z-index: 100;
}

/* --- Шапка --------------------------------------------------------- */
/* Mobile-first: до 720px в полосе только логотип и гамбургер, всё
   остальное — в раскрывающейся панели (канон р.9). Три пункта меню,
   телефон и кнопка в одной строке давали на 375px три ряда и 180px
   липкой полосы — 22% экрана 812px, отъедаемых постоянно.

   `position: relative` — якорь для панели: она позиционируется
   абсолютно и не растит полосу при раскрытии. С 720px панели нет,
   и шапка становится липкой. */
.site-header {
  position: relative;
  border-bottom: var(--border-hairline) solid var(--color-border);
  background: var(--color-bg);
}
@media (min-width: 720px) {
  .site-header { position: sticky; top: 0; z-index: 20; }
}
/* Все три элемента шапки — inline-flex с min-block-size: инлайновому
   <a> padding-block бокс не растит, пункт навигации выходил 19px
   (аудит GT-DESIGN-03, находка 1). */
.site-header__inner {
  display: flex; align-items: center; gap: var(--space-4);
  flex-wrap: wrap; padding-block: var(--space-2);
}
/* Фирменный блок. Инлайн-SVG, цвет задаётся классом, а не запечён в
   файле: выворотка — смена модификатора, а не второй файл
   (GT-LOGO-01, `templates/partials/_logo.html`).
   Высота 24px даёт ширину 127px при пропорции 340:64 — выше минимума
   компоновки в 120px, ниже которого надпись не читается.
   Цвет берётся из шкалы, а не из ролей `--color-fg` / `-on-dark`:
   логотип — объект бренда, а не текст, и обязан совпадать с файлами в
   assets/brand/ до значения. Роль текста ниже по контрасту и увела бы
   сайт от печати. */
.logo { display: block; block-size: 24px; inline-size: auto; }
.logo__layer { fill: none; stroke: var(--c-accent-500); stroke-width: 8; }
.logo__struct { fill: var(--c-neutral-900); }
.logo--on-dark .logo__struct { fill: var(--c-neutral-0); }

.site-header__logo {
  display: inline-flex; align-items: center; min-block-size: var(--c-tap-min);
  color: var(--color-fg);
}
.site-header__logo:hover { color: var(--color-fg); text-decoration: none; }
.site-header__phone {
  display: none; align-items: center; min-block-size: var(--c-tap-min);
  color: var(--color-fg); font-size: var(--fs-sm); white-space: nowrap;
}
.site-header__phone:hover { color: var(--color-accent-strong); }
/* Действие в шапке. Единственная акцентная заливка на первом экране до
   скролла — бюджет акцента (design-code р.3) она не ломает: телефон
   рядом набран текстом, а не вторым контролом. `white-space` держит
   подпись в строку, иначе кнопка ломается пополам и полоса шапки
   прыгает на две высоты. */
/* Селектор с родителем — не украшение: `.btn` объявлен ниже по файлу и
   при равной специфичности перебивал бы `display: none`, оставляя кнопку
   в мобильной полосе (она уже есть в панели гамбургера). */
.site-header__inner > .site-header__cta { display: none; white-space: nowrap; }
.site-nav { display: none; }
@media (min-width: 720px) {
  .site-header__phone { display: inline-flex; }
  .site-header__inner > .site-header__cta { display: inline-flex; }
  .site-nav {
    display: flex; gap: var(--space-4); flex-wrap: wrap;
    font-size: var(--fs-sm); flex: 1 1 auto;
  }
}
.site-nav a {
  display: inline-flex; align-items: center; min-block-size: var(--c-tap-min);
  color: var(--color-fg-muted);
  border-bottom: var(--border-regular) solid transparent;
}
.site-nav a:hover { color: var(--color-fg); text-decoration: none; }
/* Активный пункт — подчёркивание 2px, а не только цвет: приём вкладок
   из референса 02, читается без опоры на цвет (design-code р.7). */
.site-nav a[aria-current] {
  color: var(--color-fg); font-weight: var(--fw-medium);
  border-bottom-color: var(--color-accent);
}

/* --- Гамбургер (до 720px) ------------------------------------------ */
/* Раскрытие на <details>, без JS и без hover: на тач-экране hover не
   срабатывает, меню обязано открываться тапом (PAGE-CANON р.10).
   С 720px элемент выключается целиком — там меню стоит строкой. */
.site-menu { margin-inline-start: auto; }
@media (min-width: 720px) { .site-menu { display: none; } }
/* `list-style` снимает треугольник-маркер в Firefox, ::-webkit- — в
   Safari и старом Chrome. Без обоих рядом с иконкой висит стрелка. */
.site-menu__toggle {
  display: inline-flex; align-items: center; justify-content: center;
  min-block-size: var(--c-tap-min); min-inline-size: var(--c-tap-min);
  color: var(--color-fg); cursor: pointer; list-style: none;
}
.site-menu__toggle::-webkit-details-marker { display: none; }
.site-menu__icon {
  inline-size: var(--c-icon-lg); block-size: var(--c-icon-lg);
  stroke-width: var(--c-icon-stroke);
}
/* Иконка меняется на крест: состояние контрола читается без опоры на
   то, видит ли пользователь панель под шапкой (design-code р.7). */
.site-menu__icon--close { display: none; }
.site-menu[open] .site-menu__icon--bars { display: none; }
.site-menu[open] .site-menu__icon--close { display: block; }
/* Закрытое состояние гасится явно. Полагаться на UA-стили <details>
   нельзя: браузеры прячут содержимое по-разному — где-то `display` на
   слоте, где-то `content-visibility` на `::details-content`, — и на
   абсолютно позиционированной панели это расходится. Своё правило
   работает одинаково везде. */
.site-menu:not([open]) .site-menu__panel { display: none; }
/* Закрытие тапом мимо меню. `<details>` сам этого не умеет: закрыть его
   можно только повторным тапом по кнопке, и открытая панель висит,
   пока в неё не ткнут второй раз. Пользователь так не делает — он
   тапает мимо и ждёт, что меню уберётся (находка Кирилла).

   Подложка — псевдоэлемент самой кнопки, растянутый на вьюпорт. Тап по
   любому месту страницы попадает в `<summary>` и переключает `open`,
   без единой строки JS. Панель лежит выше подложки по z-index, поэтому
   её ссылки остаются нажимаемыми — проверено попаданием в браузере.

   Работает только до 720px: с 720px `.site-menu` выключен целиком,
   вместе с ним и подложка. */
.site-menu[open] .site-menu__toggle::before {
  content: ""; position: fixed; inset: 0; z-index: 25;
}
/* Панель абсолютная — раскрытие не растит полосу и не сдвигает контент
   под ней (CLS). Глубина линией, не тенью (design-code р.6). */
.site-menu__panel {
  position: absolute; top: 100%; inset-inline: 0; z-index: 30;
  display: flex; flex-direction: column; gap: var(--space-2);
  padding: var(--space-4);
  background: var(--color-bg);
  border-block-end: var(--border-hairline) solid var(--color-border-strong);
}
.site-menu__nav { display: flex; flex-direction: column; }
.site-menu__nav a,
.site-menu__phone {
  display: inline-flex; align-items: center; min-block-size: var(--c-tap-min);
  color: var(--color-fg);
}
.site-menu__nav a[aria-current] {
  font-weight: var(--fw-medium);
  border-inline-start: var(--border-thick) solid var(--color-accent);
  padding-inline-start: var(--space-3);
}

/* --- Крошки -------------------------------------------------------- */
.breadcrumbs { padding-block: var(--space-3); font-size: var(--fs-sm); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: var(--space-2); list-style: none; padding: 0; }
.breadcrumbs li {
  display: flex; align-items: center; min-block-size: var(--c-tap-min);
  min-inline-size: 0; max-inline-size: 100%; overflow-wrap: anywhere;
}
.breadcrumbs a { color: var(--color-fg-muted); }
.breadcrumbs li + li::before { content: "/"; flex: none; color: var(--color-fg-subtle); margin-right: var(--space-2); }
.breadcrumbs [aria-current] { color: var(--color-fg-muted); }

/* --- Сетки --------------------------------------------------------- */
.link-grid {
  display: grid; gap: var(--space-2); list-style: none; padding: 0;
  grid-template-columns: 1fr;
}
/* Тап-зона. Инлайновому <a> padding-block бокс не растит: ссылка в
   перелинковке выходила 19–22px на всех страницах-содержаниях. */
.link-grid li a,
.breadcrumbs a,
.spec dd a { display: inline-flex; align-items: center; min-block-size: var(--c-tap-min); }
@media (min-width: 640px) { .link-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .link-grid { grid-template-columns: repeat(3, 1fr); } }

.card-list {
  display: grid; gap: var(--space-3); list-style: none; padding: 0;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .card-list { grid-template-columns: repeat(2, 1fr); } }

/* 1px-границы вместо теней (канон р.2), радиус поверхности 4px. */
.card {
  border: var(--border-hairline) solid var(--color-border);
  border-radius: var(--radius-sm);
  padding: var(--space-4); background: var(--color-bg);
}
.card:hover { border-color: var(--color-border-strong); }
/* Тап-зона. `display:block` растил ширину, но не высоту: заголовок
   карточки выходил 24px при минимуме 44 (канон р.10). Замерено в
   браузере на 375px, по коду выглядело правильно — ровно тот случай,
   ради которого §14.1 требует измерения, а не чтения. flex с
   min-block-size растит бокс и на двухстрочном заголовке. */
.card__title {
  display: flex; align-items: center;
  min-block-size: var(--c-tap-min);
  font-weight: var(--fw-medium); margin-bottom: var(--space-1);
}

.group { margin-bottom: var(--space-6); }

/* --- Блоки --------------------------------------------------------- */
/* Соседние секции не удваивают вертикальный ритм. Исключение — секции
   с собственным фоном: полосе нужна симметричная внутренняя отбивка,
   иначе она садится на верхнюю границу. */
.section + .section:not(.band):not(.cta) { padding-block-start: 0; }
.section .container > h2:first-child { margin-top: 0; }

/* Шапка секции: эйтбрау капсом → h2 обычным регистром → 2–3 строки
   пояснения (реф. 06, design-code р.5). */
.section-head { margin-bottom: var(--space-5); }
.section-head h2 { margin-top: 0; }
.section-head p {
  margin-top: var(--space-3); margin-bottom: 0;
  color: var(--color-fg-muted); font-size: var(--fs-sm);
  max-width: var(--prose-measure);
}
@media (min-width: 720px) { .section-head h2 { font-size: var(--fs-2xl); } }

/* Секция-полоса на поднятом фоне. Чередование полос вместо рамок:
   глубина строится границами и фоном, не тенями (design-code р.2). */
.band {
  background: var(--color-bg-elev);
  border-block: var(--border-hairline) solid var(--color-border);
}

/* Цифры набираются моноширинным везде, где сравниваются между строками
   (design-code р.4): номера, ИНН, ОГРН, телефоны, счётчики. */
.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }

/* Правило-маркер акцентом под эйтбрау. Нет эйтбрау — нет правила
   (design-code р.8.2). */
.rule {
  inline-size: var(--c-rule-width);
  block-size: var(--border-thick);
  background: var(--color-accent);
  margin-block: var(--space-4);
}

/* Иллюстрация. `height: auto` здесь не украшение и не дубль ресета:
   в reset.css стоит `img { max-width: 100% }`, а у кадра проставлены
   атрибуты width/height — они обязательны, иначе страница дёргается
   при загрузке (CLS). Вдвоём без `height: auto` они дают сплющенную
   картинку на любом экране уже 960px: ширина ужимается по контейнеру,
   высота остаётся из атрибута. До GT-PHOTO-03 растровых картинок на
   сайте не было ни одной, поэтому пробел в ресете не всплывал. */
.photo { margin-block: var(--space-5); }
.photo img {
  height: auto;
  inline-size: 100%;
  border-radius: var(--radius-md);
  background: var(--color-bg-elev);
}
/* В hero кадр — правая колонка, свой отступ ему не нужен: расстояние
   до текста задаёт gap сетки. */
.hero__aside .photo { margin-block: 0; }

/* Сетка кадров на хабах и указателях. auto-fit по 260px, а не
   фиксированные три колонки: наборы разного размера (3 кадра на
   главной, 6 у технологий, 8 у отраслей) должны раскладываться одним
   правилом, иначе на каждый набор заводится своя раскладка.
   260px — ширина, ниже которой кадр 16:9 перестаёт читаться. */
.photo-grid {
  display: grid; gap: var(--space-4);
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.photo-grid .photo { margin-block: 0; }

.hero { padding-block: var(--space-6) var(--space-7); }
@media (min-width: 720px) { .hero { padding-block: var(--space-7) var(--space-8); } }
/* Раскладка реф. 06: слева подпись → заголовок → правило → лид →
   действие, справа объект с выносками. Правая колонка появляется
   только с 960px и только если она передана: без неё сетка
   схлопывается в одну колонку и hero выглядит как на остальных
   страницах. */
.hero__grid { display: grid; gap: var(--space-6); }
/* Правой колонке отдано больше: чертёж масштабируется по своей ширине,
   и на самом брейкпоинте 960 при делении поровну подписи выносок
   проваливаются ниже --fs-xs. Текстовой колонке лишние 40px не нужны —
   абзац всё равно ограничен --prose-measure. */
@media (min-width: 960px) {
  .hero__grid:not(.hero__grid--single) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    gap: var(--space-7); align-items: start;
  }
}
.hero__code { margin-bottom: var(--space-2); }
/* На мобильном лид набирается базовым кеглем: --fs-md на 375px даёт
   39 знаков в строке вместо 45–55 канона р.9. */
.hero__lead { font-size: var(--fs-base); }
@media (min-width: 720px) { .hero__lead { font-size: var(--fs-md); } }
.hero__action { margin-top: var(--space-5); margin-bottom: 0; }
.hero__contacts {
  margin-top: var(--space-5); margin-bottom: 0;
  display: flex; flex-wrap: wrap; gap: var(--space-3);
}

/* Чертёж-разрез вместо фотостока: фотобазы нет, AI-фото в роли
   доказательства запрещено (PRODUCT.md, открытое решение 1).

   Чертёж рендерится на ВСЕХ ширинах. Прежнее `display: none` до 720px
   было следствием того, что подписи жили внутри viewBox и на 314px
   выходили ≈5.6 CSS px. Подписи вынесены в HTML (GT-HOME-03, B-004),
   кегль больше не зависит от ширины рисунка, и снимать блок незачем:
   главная иллюстрация первого экрана была невидима для 90 % трафика.

   Раскладка: до 720px чертёж и список идут одной колонкой, выше —
   чертёж слева, подписи справа. Пропорция 1.35/1 подобрана так, чтобы
   выноски заканчивались примерно на уровне своих подписей; жёсткой
   привязки нет и быть не может — связь несёт порядок, не координата. */
.draft {
  display: block;
  border: var(--border-hairline) solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg-elev);
  padding: var(--space-4);
}
.draft__sheet { min-inline-size: 0; }
.draft__svg { display: block; inline-size: 100%; block-size: auto; }
@media (min-width: 720px) {
  .draft {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
    gap: var(--space-5);
    align-items: start;
  }
  /* Подпись под всей фигурой, а не под одной колонкой. */
  .draft figcaption { grid-column: 1 / -1; }
}
/* Подписи конструкций. Обычный текст в потоке — кегль задан шкалой и
   от ширины чертежа не зависит (канон р.7). Счётчик в HTML, а не в
   viewBox: цифра внутри рисунка масштабировалась бы вместе с ним. */
.draft__parts {
  margin: var(--space-4) 0 0;
  padding: 0;
  list-style: none;
  counter-reset: draft;
  display: grid;
  gap: var(--space-2);
}
@media (min-width: 720px) { .draft__parts { margin-top: 0; gap: var(--space-3); } }
/* На мобильном имя и уточнение стоят в одну строку. По две строки на
   пункт легенда занимала 294px и уносила первый экран целиком вместе
   с кнопкой. Порядок при этом остаётся строго вертикальным: он и есть
   связь с выносками, и разложить его в две колонки нельзя. */
.draft__part {
  counter-increment: draft;
  display: grid;
  grid-template-columns: 1.5em auto minmax(0, 1fr);
  column-gap: var(--space-2);
  align-items: baseline;
}
.draft__part::before {
  content: counter(draft);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-accent-strong);
  font-variant-numeric: tabular-nums;
}
.draft__name {
  grid-column: 2;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
}
.draft__note {
  grid-column: 3;
  font-size: var(--fs-xs);
  color: var(--color-fg-muted);
  line-height: var(--lh-normal);
}
/* С 720px колонка подписей узкая, и строка в одну линию переносится
   некрасиво: уточнение уходит под имя само. Возвращаем два уровня. */
@media (min-width: 720px) {
  .draft__part { grid-template-columns: 1.5em minmax(0, 1fr); }
  .draft__name, .draft__note { grid-column: 2; }
}
.draft figcaption {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: var(--border-hairline) solid var(--color-border);
  font-size: var(--fs-xs);
  color: var(--color-fg-muted);
  line-height: var(--lh-normal);
}

/* Схемы способов нанесения. В отличие от `.draft` не снимаются на
   мобильном: подписи здесь — обычный текст в потоке, а не <text> внутри
   viewBox, и кегль не уезжает вместе с шириной рисунка. Сетка идёт по
   общему правилу карточных рядов (design-code р.6): одна колонка,
   2 с 640px, 3 с 960px. */
.mdraft { margin-top: var(--space-6); }
.mdraft__grid {
  display: grid; gap: var(--space-5); list-style: none; padding: 0;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .mdraft__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .mdraft__grid { grid-template-columns: repeat(3, 1fr); } }
/* Верх ровный, низ рваный: карточки не растягиваются до общей высоты
   (design-code р.6). */
.mdraft__item { align-self: start; }
.mdraft__svg {
  display: block; inline-size: 100%; block-size: auto;
  border: var(--border-hairline) solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg-elev);
}
.mdraft__name {
  margin-top: var(--space-3); margin-bottom: var(--space-1);
  font-weight: var(--fw-semibold);
}
.mdraft__note {
  margin-bottom: 0;
  font-size: var(--fs-sm); color: var(--color-fg-muted);
  max-width: var(--prose-measure);
}
.mdraft figcaption {
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: var(--border-hairline) solid var(--color-border);
  font-size: var(--fs-xs);
  color: var(--color-fg-muted);
  line-height: var(--lh-normal);
}

/* Единственное место акцентной заливки на странице (канон р.3).
   Состояния прописаны полностью: контрол без pressed/disabled/focus
   считается несделанным (design-code р.7). */
.btn {
  display: inline-flex; align-items: center;
  min-block-size: var(--c-tap-min);
  background: var(--color-accent); color: var(--color-accent-fg);
  border: var(--border-regular) solid var(--color-accent);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-5);
  font-size: var(--fs-sm); font-weight: var(--fw-semibold);
  text-transform: uppercase; letter-spacing: var(--tracking-wide);
}
.btn:hover {
  background: var(--color-bg); color: var(--color-accent-strong);
  border-color: var(--color-accent-strong); text-decoration: none;
}
.btn:active {
  background: var(--c-accent-pressed); border-color: var(--c-accent-pressed);
  color: var(--color-accent-fg); translate: 0 var(--c-press-offset);
}
.btn[aria-disabled="true"] {
  background: var(--color-bg-sunken); color: var(--color-fg-subtle);
  border-color: var(--color-border); cursor: not-allowed; pointer-events: none;
}
/* Кнопка в липкой полосе. Полный набор `--space-3/-5` растит шапку выше
   тап-минимума и полоса начинает съедать первый экран; компактный набор
   взят из той же шкалы отступов, промежуточных значений нет
   (design-code р.6). */
.btn--compact { padding: var(--space-2) var(--space-4); }
/* Второй телефон — тот же контрол в выворотке: бюджет акцента 5%
   не тратится дважды на одно действие (design-code р.3). */
.btn--ghost {
  background: var(--color-bg); color: var(--color-fg);
  border-color: var(--color-border-strong);
}
.btn--ghost:hover { color: var(--color-accent-strong); border-color: var(--color-accent-strong); }
/* «ТЕЛ» / «МОБ» — служебная подпись при значении, форма каталога
   чисел из реф. 03: подпись мелко капсом, значение моноширинным. */
.btn__label {
  margin-right: var(--space-2);
  font-size: var(--fs-xs); font-weight: var(--fw-regular);
  letter-spacing: var(--tracking-wide); color: inherit;
}
.btn .num { text-transform: none; letter-spacing: 0; }

.cta {
  background: var(--color-bg-sunken);
  border-block: var(--border-hairline) solid var(--color-border);
}
.cta__title { margin-top: 0; }
.cta__text { margin-bottom: 0; }
.cta__contacts {
  display: flex; align-items: center; gap: var(--space-3);
  flex-wrap: wrap; margin-top: var(--space-5); margin-bottom: 0;
}
.cta__email { display: inline-flex; align-items: center; min-block-size: var(--c-tap-min); }

/* --- Направления --------------------------------------------------- */
/* Выравнивание по верхней линии: верх ровный, низ рваный. Карточки не
   растягиваются до общей высоты искусственно (design-code р.6). */
.dir-grid {
  display: grid; gap: var(--space-5); list-style: none; padding: 0;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .dir-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .dir-grid { grid-template-columns: repeat(4, 1fr); } }
.dir {
  align-self: start;
  padding-top: var(--space-3);
  border-top: var(--border-regular) solid var(--color-fg);
}
/* Направление без страниц не ссылается никуда: ни ссылки в 404, ни
   выдуманного статуса «в разработке». Разница читается линией сверху
   и отсутствием стрелки, а не только цветом. */
.dir--planned { border-top-color: var(--color-border-strong); }
.dir__name {
  display: block;
  min-block-size: var(--c-tap-min);
  margin-bottom: var(--space-2);
  font-size: var(--fs-base); font-weight: var(--fw-semibold);
  line-height: var(--lh-tight); color: var(--color-fg);
}
.dir--planned .dir__name { color: var(--color-fg-muted); }
a.dir__name:hover { color: var(--color-accent-strong); text-decoration: underline; }
.dir__note {
  margin-bottom: 0;
  font-size: var(--fs-sm); line-height: var(--lh-normal);
  color: var(--color-fg-muted);
}

/* --- Направления карточками с кадром (GT-HOME-03) ------------------ */
/* Отличие от `.dir-grid`: там направление — строка оглавления, здесь
   товар первого экрана. Три колонки, а не четыре: пятое направление
   иначе висит одно в ряду, а кадр 16:9 на четверти полосы 1200px даёт
   270px — ниже, чем нужно, чтобы узнать сцену.
   Верх ровный, низ рваный (design-code р.6). */
.dircards {
  display: grid; gap: var(--space-5); list-style: none; padding: 0;
  grid-template-columns: 1fr;
}
@media (min-width: 640px) { .dircards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .dircards { grid-template-columns: repeat(3, 1fr); } }
/* Компактный режим — тот же перечень без кадров, для варианта, где
   направления стоят не на входе. */
@media (min-width: 960px) {
  .dircards--compact { grid-template-columns: repeat(5, 1fr); gap: var(--space-4); }
}
.dircard {
  align-self: start;
  padding-top: var(--space-3);
  border-top: var(--border-regular) solid var(--color-fg);
}
.dircard--planned { border-top-color: var(--color-border-strong); }
.dircard__img {
  display: block; inline-size: 100%; block-size: auto;
  margin-bottom: var(--space-3);
  border-radius: var(--radius-sm);
  background: var(--color-bg-elev);
}
.dircard__name {
  display: block;
  min-block-size: var(--c-tap-min);
  margin-bottom: var(--space-2);
  font-size: var(--fs-base); font-weight: var(--fw-semibold);
  line-height: var(--lh-tight); color: var(--color-fg);
}
.dircard--planned .dircard__name { color: var(--color-fg-muted); }
a.dircard__name:hover { color: var(--color-accent-strong); text-decoration: underline; }
.dircard__note {
  margin-bottom: 0;
  font-size: var(--fs-sm); line-height: var(--lh-normal);
  color: var(--color-fg-muted);
}
/* Статус допуска. Отделён линией, а не только цветом: это утверждение
   о правовом основании, и оно не должно читаться как продолжение
   описания направления. */
.dircard__flag {
  margin-top: var(--space-3); margin-bottom: 0;
  padding-top: var(--space-3);
  border-top: var(--border-hairline) solid var(--color-border);
  font-size: var(--fs-xs); line-height: var(--lh-normal);
  color: var(--color-fg-muted);
}

/* --- Задачи: «задача -> куда идти» (GT-HOME-03) -------------------- */
/* Список строками, а не карточками: сравниваются формулировки, и
   двенадцать карточек дали бы свалку. Вся строка — тап-зона; на
   мобильном она заведомо выше 44px, потому что в ней две строки текста. */
.tasks { list-style: none; padding: 0; margin: 0; }
.task { border-bottom: var(--border-hairline) solid var(--color-border); }
.task:first-child { border-top: var(--border-regular) solid var(--color-fg); }
.task__link {
  display: grid; gap: var(--space-1);
  grid-template-columns: 1fr;
  padding-block: var(--space-4);
  min-block-size: var(--c-tap-min);
  color: var(--color-fg);
}
@media (min-width: 720px) {
  .task__link {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: var(--space-5); align-items: baseline;
  }
}
a.task__link:hover { text-decoration: none; }
a.task__link:hover .task__q { text-decoration: underline; }
a.task__link:hover .task__a { color: var(--color-accent-strong); }
.task__q { font-size: var(--fs-base); font-weight: var(--fw-semibold); }
.task__a { font-size: var(--fs-sm); color: var(--color-fg-muted); }
/* Строка без ссылки: направления, под которые страниц нет. Отличается
   не цветом, а отсутствием стрелки — цвет здесь второй признак. */
.task__link--flat .task__a { color: var(--color-fg-muted); }
.tasks__note {
  margin-top: var(--space-5); margin-bottom: 0;
  font-size: var(--fs-sm); color: var(--color-fg-muted);
  max-width: var(--prose-measure);
}

/* --- Страница сравнения мокапов (только /preview/home/) ------------ */
.variants { list-style: none; padding: 0; margin: 0; display: grid; gap: var(--space-6); }
@media (min-width: 960px) { .variants { grid-template-columns: repeat(3, 1fr); } }
.variant {
  align-self: start;
  padding-top: var(--space-3);
  border-top: var(--border-regular) solid var(--color-fg);
}
.variant__head {
  display: flex; align-items: baseline; gap: var(--space-3);
  margin-bottom: var(--space-4);
}
.variant__key {
  font-size: var(--fs-sm); font-weight: var(--fw-semibold);
  color: var(--color-accent-strong); text-transform: uppercase;
}
.variant__name { margin: 0; font-size: var(--fs-md); }
.variant__name a { min-block-size: var(--c-tap-min); display: inline-flex; align-items: center; }
.variant__lines { margin: 0; display: grid; gap: var(--space-3); }
.variant__line { display: grid; gap: var(--space-1); }
.variant__line dt {
  font-size: var(--fs-xs); letter-spacing: var(--tracking-wider);
  text-transform: uppercase; color: var(--color-fg-muted);
}
.variant__line dd {
  margin: 0; font-size: var(--fs-sm); line-height: var(--lh-normal);
}
.variants--links { gap: var(--space-5); }
/* Таблица прокручивается внутри своей рамки: горизонтального скролла
   у страницы нет ни на одной ширине (канон р.10). */
.cmp-wrap { overflow-x: auto; }
.cmp { border-collapse: collapse; inline-size: 100%; min-inline-size: 32rem; }
.cmp th, .cmp td {
  padding: var(--space-3) var(--space-4);
  border-bottom: var(--border-hairline) solid var(--color-border);
  text-align: left; vertical-align: top;
  font-size: var(--fs-sm); line-height: var(--lh-normal);
}
.cmp thead th {
  border-bottom: var(--border-regular) solid var(--color-fg);
  font-size: var(--fs-xs); letter-spacing: var(--tracking-wider);
  text-transform: uppercase;
}
.cmp tbody th { font-weight: var(--fw-semibold); }
.samelist { margin: 0; padding-left: var(--space-5); }
.samelist li { font-size: var(--fs-sm); line-height: var(--lh-normal); margin-bottom: var(--space-2); }

/* --- Полоса допуска ------------------------------------------------ */
/* Тёмная лента спецификаций (реф. 03): 4–6 пар «подпись капсом +
   значение моноширинным». Рендерится только при парах ≥ 3. */
.spec-strip {
  background: var(--color-surface-dark); color: var(--color-fg-on-dark);
  padding-block: var(--space-7);
}
/* Две колонки уже на 375px, а не с 560px. Замер GT-HOME-03: в одну
   колонку шесть пар давали полосу 644px, и на мобильном между героем и
   первым содержательным блоком вставал целый экран реквизитов — какой
   бы блок туда ни поставили. В двух колонках полоса 350px, и вход
   страницы попадает в поле зрения второго свайпа, а не третьего.
   Значения короткие: самое длинное — реестровая запись, 22 знака, и у
   `dd` уже стоит `overflow-wrap: anywhere`. */
.spec-strip__grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, 1fr); }
@media (min-width: 960px) {
  .spec-strip__grid { grid-template-columns: repeat(6, auto); justify-content: space-between; }
}
.spec-strip dt {
  font-size: var(--fs-xs); letter-spacing: var(--tracking-wider);
  text-transform: uppercase; color: var(--color-fg-on-dark-muted);
  margin-bottom: var(--space-2);
}
.spec-strip dd {
  margin: 0; font-size: var(--fs-sm);
  color: var(--color-fg-on-dark); line-height: var(--lh-normal);
  overflow-wrap: anywhere;
}
.spec-strip__note {
  margin-top: var(--space-5); margin-bottom: 0;
  padding-top: var(--space-4);
  border-top: var(--border-hairline) solid var(--color-border-on-dark);
  font-size: var(--fs-sm); color: var(--color-fg-on-dark-muted);
  max-width: var(--prose-measure);
}
.spec-strip__note strong { color: var(--color-fg-on-dark); font-weight: var(--fw-semibold); }

/* --- Каталожные группы --------------------------------------------- */
.groups { display: grid; gap: var(--space-6); }
@media (min-width: 640px) { .groups { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .groups { grid-template-columns: repeat(3, 1fr); } }
.group { align-self: start; margin-bottom: 0; }
.group__head {
  display: flex; align-items: baseline; justify-content: space-between;
  gap: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: var(--border-hairline) solid var(--color-border-strong);
}
.group__head h3 { font-size: var(--fs-base); font-weight: var(--fw-semibold); margin-bottom: 0; }
.group__count { font-size: var(--fs-xs); color: var(--color-fg-muted); }
.group ul { list-style: none; padding: 0; }
.group li { border-bottom: var(--border-hairline) solid var(--color-border); }
.group li a {
  display: flex; align-items: center;
  min-block-size: var(--c-tap-min);
  padding-block: var(--space-2);
  font-size: var(--fs-sm); line-height: var(--lh-normal);
  color: var(--color-fg);
}
.group li a:hover { color: var(--color-accent-strong); text-decoration: underline; }

/* Отрасли — плотная лента, не карточки: восемь однострочных пунктов
   в карточках дают восемь пустых рамок. */
.industries {
  display: flex; flex-wrap: wrap;
  border-top: var(--border-hairline) solid var(--color-border);
}
.industries a {
  flex: 1 1 240px;
  min-block-size: var(--c-tap-min);
  display: flex; align-items: center; gap: var(--space-3);
  padding: var(--space-3) var(--space-4) var(--space-3) 0;
  border-bottom: var(--border-hairline) solid var(--color-border);
  font-size: var(--fs-sm);
  color: var(--color-fg);
}
/* Подчёркивается подпись, а не строка целиком: иконка внутри ссылки
   не должна ловить нижнюю линию. */
.industries a:hover { color: var(--color-accent-strong); text-decoration: none; }
.industries a:hover span { text-decoration: underline; }

/* Контурная иконка: размер и обводка из токенов, цвет — currentColor,
   поэтому она гаснет и загорается вместе с текстом строки и не тратит
   бюджет акцента (design-code р.3, р.6). Обводка задаётся свойством
   CSS, а не атрибутом: var() в презентационном атрибуте SVG работает
   не везде, в свойстве — везде. */
.ico {
  flex: none;
  inline-size: var(--c-icon-lg); block-size: var(--c-icon-lg);
  stroke-width: var(--c-icon-stroke);
  color: var(--color-fg-muted);
}
.industries a:hover .ico { color: inherit; }

.trust { border-bottom: var(--border-hairline) solid var(--color-border); padding-block: var(--space-5); }
.trust__list { display: grid; gap: var(--space-4); grid-template-columns: 1fr; }
@media (min-width: 640px) { .trust__list { grid-template-columns: repeat(4, 1fr); } }
.trust__item { display: flex; flex-direction: column; gap: var(--space-1); }
.trust__value {
  font-family: var(--font-mono); font-size: var(--fs-xl);
  font-weight: var(--fw-semibold); line-height: var(--lh-none);
}

.norms__list { display: grid; gap: 0; }
.norms__item {
  display: grid; gap: var(--space-1);
  padding-block: var(--space-3);
  border-top: var(--border-hairline) solid var(--color-border);
}
@media (min-width: 640px) {
  .norms__item {
    grid-template-columns: minmax(0, 14rem) minmax(0, 1fr);
    gap: var(--space-4); align-items: baseline;
  }
}

/* Номера 01→05 рисует счётчик: в разметке их нет (канон р.2). */
.stages__list { display: grid; gap: 0; counter-reset: stage; }
.stages__item {
  counter-increment: stage; display: grid; gap: var(--space-1);
  padding-block: var(--space-4);
  border-top: var(--border-hairline) solid var(--color-border);
}
.stages__item::before {
  content: counter(stage, decimal-leading-zero);
  font-family: var(--font-mono); font-size: var(--fs-sm);
  letter-spacing: var(--tracking-wider); color: var(--color-fg-muted);
}
.stages__title { margin-bottom: 0; }
/* Абзац этапа шёл во всю ширину контейнера: 90 знаков в строке при
   норме канона §9 в 45–75 и при жёстком правиле §5 «абзац не шире
   --prose-measure». Ширину задаёт мера набора, а не сетка. */
.stages__item p { max-width: var(--prose-measure); margin-bottom: 0; }

.industry-note__list {
  list-style: disc; padding-inline-start: var(--space-5);
  display: grid; gap: var(--space-2); max-width: var(--prose-measure);
}

/* --- Спека --------------------------------------------------------- */
.spec-block {
  border: var(--border-hairline) solid var(--color-border);
  border-radius: var(--radius-sm); overflow: hidden;
}
.spec-block__head {
  margin: 0; padding: var(--space-3) var(--space-4);
  background: var(--color-surface-dark); color: var(--color-fg-on-dark);
  font-size: var(--fs-sm); font-weight: var(--fw-medium);
  text-transform: uppercase; letter-spacing: var(--tracking-wide);
}
.spec-block .spec { border: 0; border-radius: 0; margin: 0; }

/* Атрибуция значений таблицы (канон текста р.4). Служебная строка:
   тише основного текста, но не серая до неразличимости — источник
   числа читают ровно тогда, когда числу не поверили. */
.spec-block__note {
  margin: 0; padding: var(--space-3) var(--space-4);
  border-top: var(--border-hairline) solid var(--color-border);
  font-size: var(--fs-sm); color: var(--color-fg-muted);
  max-width: var(--prose-measure);
}

/* Мобильный: dt над dd одной полосой. От 560px — две колонки.
   Зебра через nth-of-type: dt#N и dd#N попадают в одну полосу
   в обоих режимах (канон р.7 — 15 строк на 360px без скролла). */
.spec {
  display: grid; grid-template-columns: 1fr;
  border: var(--border-hairline) solid var(--color-border);
  border-radius: var(--radius-sm);
  margin-block: var(--space-5);
}
.spec dt {
  font-size: var(--fs-sm); color: var(--color-fg-muted);
  padding: var(--space-2) var(--space-4) 0;
}
.spec dd {
  margin: 0; font-family: var(--font-mono); font-size: var(--fs-sm);
  font-variant-numeric: tabular-nums; overflow-wrap: anywhere;
  padding: 0 var(--space-4) var(--space-2);
}
.spec dt:nth-of-type(odd),
.spec dd:nth-of-type(odd) { background: var(--color-bg-elev); }

@media (min-width: 560px) {
  .spec { grid-template-columns: minmax(0, 15rem) minmax(0, 1fr); }
  .spec dt { padding: var(--space-2) var(--space-4); }
  .spec dd { padding: var(--space-2) var(--space-4); }
}

/* --- Оглавление ---------------------------------------------------- */
/* Плотный список якорей под прямым ответом. Не карточки и не сетка:
   оглавление обязано занимать меньше экрана, чем раздел, к которому
   ведёт, иначе оно вытесняет содержание с первого экрана.
   Тап-зона 44px держится min-block-size на ссылке (канон р.10). */
.toc { padding-block: var(--space-5); }
/* Заголовок несёт класс .code — та же эйтбрау, что над остальными
   блоками. Своей типографики у него нет: вторая копия одних значений
   разошлась бы с первой при первой же правке шкалы. */
.toc__title { margin-bottom: var(--space-2); }
.toc__list {
  list-style: none; padding: 0; margin: 0;
  border-top: var(--border-hairline) solid var(--color-border);
}
.toc__list li { border-bottom: var(--border-hairline) solid var(--color-border); }
.toc__list a {
  display: flex; align-items: center;
  min-block-size: var(--c-tap-min);
  font-size: var(--fs-sm); color: var(--color-fg);
}
.toc__list a:hover { color: var(--color-accent-strong); text-decoration: underline; }
@media (min-width: 640px) {
  .toc__list { display: grid; grid-template-columns: repeat(2, 1fr);
               column-gap: var(--space-6); }
}

/* --- Прямой ответ -------------------------------------------------- */
/* Нейтраль, не акцент: плашка — не действие (канон р.3). */
.ai-citable {
  border-inline-start: var(--border-thick) solid var(--color-border-strong);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  background: var(--color-bg-elev);
  padding: var(--space-4);
  margin-block: var(--space-5);
  max-width: var(--prose-measure);
}
.ai-citable p:last-child { margin-bottom: 0; }

/* --- Подвал -------------------------------------------------------- */
.site-footer {
  background: var(--color-surface-dark); color: var(--color-fg-on-dark-muted);
  padding-block: var(--space-7); font-size: var(--fs-sm);
}
.site-footer .muted { color: var(--color-fg-on-dark-muted); }
.site-footer a { color: var(--color-fg-on-dark); }
.site-footer a:hover { color: var(--color-accent); }
.site-footer p { margin-bottom: 0; }
.site-footer ul { list-style: none; padding: 0; }
.site-footer li a { display: inline-flex; align-items: center; min-block-size: var(--c-tap-min); }
.site-footer__grid { display: grid; gap: var(--space-6); }
@media (min-width: 640px) { .site-footer__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .site-footer__grid { grid-template-columns: 2fr 1fr 1fr; gap: var(--space-7); } }
/* В подвале блок крупнее: он закрывает страницу, а не подписывает шапку. */
.site-footer__name .logo { block-size: 28px; }
.site-footer__tagline { margin-top: var(--space-3); }
.site-footer__region { margin-top: var(--space-2); }
/* Название колонки — служебная подпись, а не заголовок: в аутлайн
   документа она не входит (design-code р.8.1). */
.site-footer__col {
  font-size: var(--fs-xs); letter-spacing: var(--tracking-wider);
  text-transform: uppercase; color: var(--color-fg-on-dark);
  font-weight: var(--fw-semibold); margin-bottom: var(--space-3);
}
.site-footer__legal {
  margin-top: var(--space-6);
  padding-top: var(--space-5);
  border-top: var(--border-hairline) solid var(--color-border-on-dark);
  font-size: var(--fs-xs); line-height: var(--lh-normal);
}
.site-footer__legal .num { color: var(--color-fg-on-dark); }

/* ── FAQ: аккордеон вопросов ─────────────────────────────────────────
   Раскрытие на <details>, как гамбургер (D-026, канон р.10): тап, без
   hover и без JS. Своего `name` у details нет намеренно — нативная
   группа закрывала бы соседа, и человек, открывший второй вопрос,
   терял бы первый ответ.
   Маркер рисуется псевдоэлементом: UA-треугольник не поддаётся
   стилизации одинаково между браузерами. */
.faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}
.faq__item {
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  background: var(--color-bg);
}
.faq__item[open] {
  border-color: var(--color-border-strong);
  background: var(--color-bg-elev);
}
.faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  /* Тап-зона: 44px по канону р.10 держится паддингом, а не высотой —
     высота зависит от длины вопроса и в две строки уезжает. */
  min-height: 44px;
  padding: var(--space-3) var(--space-4);
  cursor: pointer;
  list-style: none;
}
.faq__q::-webkit-details-marker { display: none; }
.faq__q h3 {
  margin: 0;
  font-size: var(--fs-base);
  font-weight: var(--fw-medium);
  line-height: var(--lh-normal);
}
.faq__q:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-radius: var(--radius-md);
}
/* Плюс и минус — два глифа, переключаются `display`, как иконка
   гамбургера выше. Это не первая попытка, и остальные не работают.

   Вращать псевдоэлемент (`.faq__item[open] .faq__sign::after`) нельзя:
   переход на псевдоэлементе не перезапускается, когда состояние меняет
   атрибут предка, и вычисленный `transform` не менялся вовсе. Вращать
   сам `.faq__sign` тоже не вышло: правило совпадало, но `transform`
   оставался единичной матрицей даже с `!important`.

   Переключение `display` в этом проекте уже проверено на боевом сайте —
   именно так работает смена бургера на крестик. Правило, которое
   работает, лучше правила, которое красивее. Анимации здесь нет, и она
   не нужна: канон р.10 требует, чтобы эффект отвечал на вопрос «что он
   даёт пользователю с телефона», а мгновенная смена знака отвечает.

   Оба глифа — часть тап-зоны `<summary>`, отдельными целями не являются
   и в дерево доступности не попадают (`aria-hidden`). */
.faq__sign {
  position: relative;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
}
.faq__sign::before,
.faq__sign::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 0;
  width: 16px;
  height: 2px;
  background: var(--color-accent);
  transform: translateY(-50%);
}
.faq__sign--plus::after { transform: translateY(-50%) rotate(90deg); }
.faq__sign--minus { display: none; }
.faq__item[open] .faq__sign--plus { display: none; }
.faq__item[open] .faq__sign--minus { display: block; }

/* Закрытое состояние гасится явно — по той же причине, что у меню
   выше: браузеры прячут содержимое <details> по-разному, где-то
   `display` на слоте, где-то `content-visibility` на
   `::details-content`. Без своего правила ответ остаётся в потоке и
   виден при закрытом вопросе — поймано измерением на боевой странице,
   а не чтением кода (D-025). Условие `:not([open])` обязательно:
   без него правило гасит ответ и в раскрытом виде. */
.faq__item:not([open]) .faq__a { display: none; }
.faq__a {
  padding: 0 var(--space-4) var(--space-4);
  color: var(--color-fg-muted);
}
.faq__a p {
  margin: 0;
  max-width: 68ch;
  line-height: var(--lh-relaxed);
}

/* --- Цена -------------------------------------------------------- */
/* Вилка по замеру рынка (standards/price-canon.md). Подложка та же,
   что у выносок: цена — не декоративный блок, а ответ на вопрос, с
   которым человек пришёл, и он обязан находиться пролистыванием. */
.price {
  border: var(--border-hairline) solid var(--color-border);
  border-radius: var(--radius-sm);
  background: var(--color-bg-elev);
  padding: var(--space-5);
  max-width: var(--prose-measure);
}
.price__title { margin-top: 0; margin-bottom: var(--space-3); }
.price__range {
  display: flex; align-items: baseline; gap: var(--space-2);
  margin-bottom: var(--space-2);
}
/* Число — единственное место на странице, где кегль работает как
   сигнал: его ищут глазами, не читая. */
.price__num {
  font-size: var(--fs-2xl); font-weight: var(--fw-bold);
  line-height: var(--lh-none); letter-spacing: var(--tracking-tight);
}
.price__unit { font-size: var(--fs-md); color: var(--color-fg-muted); }
.price__lead { font-size: var(--fs-sm); color: var(--color-fg-muted); }
.price__note { font-size: var(--fs-sm); color: var(--color-fg-muted); }
.price__exact { margin-bottom: var(--space-4); }
@media (min-width: 720px) {
  .price__num { font-size: var(--fs-3xl); }
}

/* Тема вертикали «гидроизоляция».
   Переопределяет только роли, не значения шкал.

   Акцента здесь нет и быть не может: он бренд-уровень, один на весь
   сайт, и живёт в tokens.css (CLAUDE.md красная черта 5,
   design-code §12.2). `--c-accent-h/-s/-l` в этом файле — брак. */
:root {
  /* Ссылка сама по себе не действие. Акцент загорается только на
     hover/focus и активном состоянии — иначе на link-grid из 30 ссылок
     акцент занимает пол-экрана вместо 5% (канон р.3). */
  --color-link:       var(--color-fg);
  --color-link-hover: var(--color-accent-strong);
}

/* Общие шапка и подвал. Все правила ограничены пространством классов gt-. */
.gt-skip{position:absolute;left:16px;top:-100px;padding:12px 18px;background:#fff;color:#071c2c;z-index:1000}
.gt-skip:focus{top:12px}
.gt-header,
.gt-footer {
  --gt-accent: #067d8a;
  --gt-ink: #071c2c;
  --gt-muted: #566c7b;
  --gt-line: #d9e3e8;
  color: var(--gt-ink);
  background: #fff;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
}
.gt-header *,
.gt-footer * { box-sizing: border-box; }
.gt-shell { width: min(calc(100% - 64px), 1220px); margin-inline: auto; }
.gt-header a,
.gt-footer a { color: inherit; text-decoration: none; }
.gt-header a:hover,
.gt-footer a:hover { color: var(--gt-accent); text-decoration: none; }
.gt-header a:focus-visible,
.gt-header summary:focus-visible,
.gt-footer a:focus-visible { outline: 3px solid var(--gt-accent); outline-offset: 5px; }
.gt-header { position: sticky; top: 0; z-index: 80; border-bottom: 1px solid var(--gt-line); box-shadow: 0 4px 16px #09233206; max-height: 100dvh; overflow-y: auto; }
html { scroll-padding-top: 112px; }
@media (max-width: 760px) { html { scroll-padding-top: 92px; } }
.gt-header__inner { min-height: 96px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.gt-brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; width: fit-content; }
.gt-brand__mark {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 12px 2px 12px 2px;
  background: var(--gt-accent);
  color: #fff;
  font-size: 35px;
  font-weight: 650;
  line-height: 1;
}
.gt-brand__wordmark b { display: block; font-size: 23px; font-weight: 700; letter-spacing: .06em; line-height: 1.15; }
.gt-brand__wordmark small { display: block; margin-top: 5px; color: var(--gt-muted); font-size: 10px; letter-spacing: .11em; line-height: 1.4; white-space: nowrap; }
.gt-header__nav { display: flex; align-items: center; gap: 26px; font-size: 14px; white-space: nowrap; }
.gt-header__nav a { display: inline-flex; align-items: center; min-height: 44px; }
.gt-header__nav a[aria-current],
.gt-mobile-menu__nav a[aria-current] { color: var(--gt-accent); }
.gt-header__phone { white-space: nowrap; font-size: 14px; font-weight: 600; font-variant-numeric: tabular-nums; }
.gt-header__cta { display: inline-flex; align-items: center; gap: 12px; min-height: 44px; padding-block: 8px; border-bottom: 1px solid var(--gt-accent); font-size: 14px; font-weight: 650; white-space: nowrap; }
.gt-header__cta span { color: var(--gt-accent); }
.gt-mobile-menu { display: none; }
.gt-mobile-menu__toggle { position: absolute; right: 32px; top: 26px; display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 8px 0 8px 12px; cursor: pointer; list-style: none; font-size: 14px; font-weight: 600; }
.gt-mobile-menu__toggle::-webkit-details-marker { display: none; }
.gt-mobile-menu__toggle::marker { content: ""; }
.gt-mobile-menu__toggle svg { width: 24px; height: 24px; flex: 0 0 24px; }
.gt-mobile-menu__close { display: none; }
.gt-mobile-menu[open] .gt-mobile-menu__close { display: block; }
.gt-mobile-menu[open] .gt-mobile-menu__bars { display: none; }
.gt-mobile-menu__panel { padding-block: 4px 24px; }
.gt-mobile-menu__nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 30px; border-top: 1px solid var(--gt-line); }
.gt-mobile-menu__nav a { display: flex; align-items: center; min-height: 52px; padding-block: 8px; border-bottom: 1px solid var(--gt-line); font-size: 16px; }
.gt-mobile-menu__contact { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding-top: 20px; }
.gt-mobile-menu__phone { display: inline-flex; align-items: center; min-height: 44px; font-size: 17px; font-weight: 650; }
.gt-mobile-menu .gt-mobile-menu__cta { display: inline-flex; align-items: center; justify-content: center; gap: 16px; min-height: 48px; padding: 12px 18px; border-radius: 8px; background: var(--gt-accent); color: #fff; font-size: 14px; font-weight: 650; }
.gt-mobile-menu .gt-mobile-menu__cta:hover { background: #056a75; color: #fff; }
.gt-footer { display: block; padding-block: 45px 24px; border-top: 1px solid var(--gt-line); }
.gt-footer > .gt-shell { display: block; font-size: inherit; }
.gt-footer__grid { display: grid; grid-template-columns: 1.4fr .8fr 1fr; gap: 55px; align-items: start; }
.gt-footer__about { max-width: 360px; }
.gt-footer .gt-footer__tagline { margin: 20px 0 12px; color: var(--gt-muted); font-size: 14px; line-height: 1.65; }
.gt-footer .gt-footer__illustration { margin: 0; color: var(--gt-muted); font-size: 12px; line-height: 1.6; }
.gt-footer .gt-footer__label { margin: 0 0 12px; color: var(--gt-ink); font-size: 14px; font-weight: 650; }
.gt-footer__links { list-style: none; margin: 0; padding: 0; }
.gt-footer__links li { list-style: none; margin: 0; padding: 0; }
.gt-footer__links a { display: inline-flex; align-items: center; min-height: 40px; gap: 10px; font-size: 14px; overflow-wrap: anywhere; }
.gt-footer__contact .gt-footer__links a { font-variant-numeric: tabular-nums; }
.gt-footer .gt-footer__request { color: var(--gt-accent); font-size: 13px; font-weight: 600; }
.gt-footer__bottom { display: flex; justify-content: space-between; align-items: flex-start; gap: 28px; margin-top: 30px; padding-top: 20px; border-top: 1px solid var(--gt-line); }
.gt-footer .gt-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 20px; margin: 0; color: var(--gt-muted); font-size: 12px; line-height: 1.7; }
.gt-footer__legal span { font-variant-numeric: tabular-nums; }
.gt-footer__top { flex-shrink: 0; font-size: 13px; }

@media (max-width: 1120px) {
  .gt-header__nav,
  .gt-header__phone,
  .gt-header__cta { display: none; }
  .gt-header__inner { padding-right: 105px; }
  .gt-mobile-menu { display: block; }
  .gt-footer__grid { gap: 32px; grid-template-columns: 1.2fr .8fr 1fr; }
}
@media (max-width: 760px) {
  .gt-shell { width: calc(100% - 32px); }
  .gt-header__inner { min-height: 76px; gap: 12px; padding-right: 80px; }
  .gt-brand { gap: 10px; }
  .gt-brand__mark { width: 35px; height: 35px; font-size: 28px; }
  .gt-brand__wordmark b { font-size: 18px; }
  .gt-brand__wordmark small { font-size: 8px; }
  .gt-mobile-menu__toggle { right: 16px; top: 16px; padding-left: 4px; font-size: 13px; gap: 6px; }
  .gt-mobile-menu__contact { align-items: flex-start; flex-direction: column; gap: 10px; }
  .gt-mobile-menu__panel { padding-bottom: 20px; }
  .gt-footer { padding-block: 35px 22px; }
  .gt-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 24px; }
  .gt-footer__about { grid-column: 1 / -1; max-width: 480px; }
  .gt-footer__bottom { flex-direction: column; gap: 15px; margin-top: 24px; }
  .gt-footer__links a { min-height: 44px; font-size: 13px; }
}
@media (max-width: 380px) {
  .gt-mobile-menu__nav { grid-template-columns: 1fr; }
  .gt-footer__grid { grid-template-columns: 1fr; }
}
@media print {
  .gt-header { display: none; }
  .gt-footer__nav,
  .gt-footer__request,
  .gt-footer__top { display: none; }
  .gt-footer__grid { grid-template-columns: 1fr 1fr; }
}

/* Общая полоса меню и тонкая рамка магазина. Решение Кира 10.09.2026. */
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > a {
  position:relative;
  isolation:isolate;
}
.gt-header__nav a.gt-store-entry,.gt-mobile-menu__nav a.gt-store-entry,.gt-header__nav a.gt-journal-link,.gt-mobile-menu__nav a.gt-journal-link,.header nav a.shop-link {
  display:inline-flex;align-items:center;min-height:44px;padding:6px 4px;
  border:0;border-radius:0;background:transparent;color:inherit!important;
  font-family:inherit!important;font-size:17px!important;font-weight:400!important;
  line-height:1.3;text-decoration:none;white-space:nowrap;
}
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > a:is(.gt-store-entry,.shop-link) {
  padding:6px 13px;border-radius:12px;
}
/* Градиент рисует только контур: заливка и точка не нужны. */
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > :is(.gt-store-entry,.shop-link)::before {
  content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;
  background:linear-gradient(135deg,
    color-mix(in srgb,var(--brand-mark,#63b5d5) 16%,transparent),
    color-mix(in srgb,var(--brand-mark,#63b5d5) 44%,transparent));
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
  mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  mask-composite:exclude;pointer-events:none;
}
.header nav .shop-dot{display:none}
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > a::after {
  content:"";position:absolute;left:3px;right:3px;bottom:4px;height:1.5px;
  border-radius:2px;
  background:linear-gradient(90deg,transparent,var(--brand-mark,#63b5d5) 36%,var(--brand-mark,#63b5d5) 64%,transparent);
  opacity:0;transform:scaleX(.8);
  transition:opacity 180ms ease,transform 180ms ease;pointer-events:none;
}
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > :is(.gt-store-entry,.shop-link)::after{left:12px;right:12px}
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > a:is(:hover,:focus-visible){color:var(--brand-action,var(--gt-accent,#087a87))!important}
:is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > a:is(:hover,:focus-visible)::after{opacity:.78;transform:scaleX(1)}
@media(prefers-reduced-motion:reduce){
  :is(.gt-header__nav,.gt-mobile-menu__nav,.header nav,nav[aria-label="Навигация журнала"]) > a::after{transition:none}
}
@media(max-width:760px){.header nav a.shop-link{font-size:15px!important}}

/* Размерный канон: docs/standards/layout-grid-v1.md. Общий источник для всех разделов. */
:root {
  --gt-layout-max: 1220px;
  --gt-layout-gutter: 32px;
  --gt-layout-gap: 24px;
  --gt-layout-section: 48px;
  --gt-layout-inset: 24px;
  --gt-layout-tap: 44px;
  --gt-layout-reading: 880px;
}
@media (max-width: 760px) {
  :root {
    --gt-layout-gutter: 16px;
    --gt-layout-gap: 16px;
    --gt-layout-section: 32px;
    --gt-layout-inset: 16px;
  }
}
/* Внешний контейнер не добавляет второй внутренний отступ. Вертикальные отступы
   остаются у компонента; узкая колонка чтения не меняет сетку всей страницы. */
html .gt-layout-shell,
html .gt-shell,
html .container,
html .home-standard .shell,
html .gt-journal > .wrap,
html .gt-store .shell,
html .gt-direction-quiz,
html .gt-general-quiz-link {
  box-sizing: border-box;
  width: min(calc(100% - var(--gt-layout-gutter) * 2), var(--gt-layout-max));
  max-width: var(--gt-layout-max);
  margin-inline: auto;
  padding-inline: 0;
  min-width: 0;
}
html .container--narrow { max-width: var(--container-narrow, 768px); }
html .container.blog-reading {
  max-width: var(--gt-layout-reading);
  margin-inline-start: max(var(--gt-layout-gutter), calc((100% - var(--gt-layout-max)) / 2));
  margin-inline-end: auto;
}
/* Вложенный блок заполняет уже ограниченную колонку без повторного вычитания полей. */
html :is(.gt-layout-shell, .container, .shell, .gt-shell) :is(.gt-layout-shell, .container, .gt-general-quiz-link, .gt-direction-quiz) {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}
html :is(.hero-grid, .contact-layout, .gt-footer__grid, .blog-diagnosis-grid, .catalog-layout) > * { min-width: 0; }
@media (min-width: 1121px) and (max-width: 1279px) {
  .home-standard-body .gt-header__inner { column-gap: 16px; }
}
/* Fieldset по умолчанию не сжимается уже своего текста. */
.gt-store .filter-group { min-width: 0; }
.gt-store .filter-group label > span { min-width: 0; overflow-wrap: anywhere; }
@media (max-width: 760px) {
  .gt-store #filter-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 380px) {
  .gt-store #filter-groups { grid-template-columns: 1fr; }
}
@media print {
  html :is(.gt-layout-shell, .gt-shell, .container, .shell, .gt-journal > .wrap, .gt-direction-quiz, .gt-general-quiz-link) {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
  }
}

#gtfs-footer{--navy:#092c45;--blue:#63b6dc;display:block;width:100%;max-width:none;margin:0;padding:0;background:#092c45;color:#e0eaf0;font:15px/1.5 Arial,"Segoe UI",sans-serif;text-align:left;letter-spacing:normal}#gtfs-footer *{box-sizing:border-box}#gtfs-footer a{color:inherit;text-decoration:none;font-weight:400}#gtfs-footer h2,#gtfs-footer h3,#gtfs-footer p{margin:0}#gtfs-footer ul{padding:0;margin:0;list-style:none}#gtfs-footer li{padding:0;margin:0}#gtfs-footer svg,#gtfs-footer img{display:block;max-width:100%}#gtfs-footer a:focus-visible{outline:3px solid #98d1eb;outline-offset:4px}#gtfs-footer .gt-layout-shell{display:block;box-sizing:border-box;width:calc(100% - 64px);max-width:1220px;margin-inline:auto;padding:0}@media(max-width:760px){#gtfs-footer .gt-layout-shell{width:calc(100% - 32px)}}#gtfs-footer .footer-preserved{display:flex;flex-wrap:wrap;gap:12px;border-top:1px solid #345267;padding:12px 0;font-size:12px}#gtfs-footer .footer-preserved a{min-height:44px;display:flex;align-items:center}
#gtfs-footer .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#gtfs-footer .review-bar>.gt-layout-shell{display:flex;align-items:center;gap:24px;min-height:48px}
#gtfs-footer{background:var(--navy);color:#d5e2eb;border-top:3px solid var(--blue)}
#gtfs-footer a:focus-visible,#gtfs-footer button:focus-visible{outline-color:#98d1eb}
#gtfs-footer .footer-heading{display:flex;align-items:center;gap:40px;min-height:127px;border-bottom:1px solid #345267}
#gtfs-footer .footer-brand{width:238px;flex-shrink:0;display:flex;align-items:center;min-height:64px}
#gtfs-footer .footer-brand img{width:100%;height:auto}
#gtfs-footer .footer-promise{font-size:13px;color:#bacdd9;line-height:1.7}
#gtfs-footer .sitemap-entry{margin-left:auto;min-width:270px;min-height:74px;display:flex;align-items:center;gap:18px;background:#123a54;padding:14px 18px;border:1px solid #41637a;transition:background .18s}
#gtfs-footer .sitemap-entry:hover{background:#194762}
#gtfs-footer .sitemap-entry .map-symbol{font-size:32px;color:#98d1eb;font-weight:400;line-height:1}
#gtfs-footer .sitemap-entry strong{display:block;color:#fff;font-size:18px;font-weight:500}
#gtfs-footer .sitemap-entry small{font-size:11px;color:#b7ccd9}
#gtfs-footer .sitemap-entry>span:last-child{margin-left:auto;font-size:27px;color:#98d1eb}
#gtfs-footer .footer-navigation{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;padding:30px 0 25px}
#gtfs-footer .footer-columns{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
#gtfs-footer h3{color:#fff;font-size:14px;line-height:1.5;margin:0 0 14px;font-weight:700}
#gtfs-footer .footer-columns a{font-size:12.5px;min-height:44px;display:flex;align-items:center;padding-block:7px;color:#c4d6e1;line-height:1.5}
#gtfs-footer .footer-columns a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
#gtfs-footer .footer-columns li:last-child a{color:#98d1eb}
#gtfs-footer .footer-contact{padding-left:24px;border-left:1px solid #345267;min-width:0}
#gtfs-footer .footer-contact>a{display:flex;align-items:center;min-height:44px}
#gtfs-footer .footer-contact .phone{font-size:18px;font-weight:500;letter-spacing:-.2px;color:#fff;white-space:nowrap}
#gtfs-footer .footer-contact .second-phone{font-size:14px;color:#c4d6e1}
#gtfs-footer .footer-contact .email{font-size:14px;color:#98d1eb;min-height:38px}
#gtfs-footer .max-button{margin-top:14px;gap:8px;background:#63b6dc;color:#092c45;padding:11px 10px;font-size:12px;min-height:48px!important;white-space:nowrap}
#gtfs-footer .max-button b{font-size:10px;border-right:1px solid #2f7596;padding-right:9px}
#gtfs-footer .max-button>span{margin-left:auto;font-size:20px}
#gtfs-footer .max-button:hover{background:#98d1eb}
#gtfs-footer .alternative-messengers{display:flex;gap:8px;margin-top:9px}
#gtfs-footer .alternative-messengers a{display:flex;gap:5px;align-items:center;min-height:44px;font-size:11px;color:#c4d6e1}
#gtfs-footer .alternative-messengers svg{width:16px;height:16px;flex-shrink:0}
#gtfs-footer .alternative-messengers a:hover{color:#fff}
#gtfs-footer .contact-note{display:block;font-size:10px;color:#a9c1d1;margin-top:2px}
#gtfs-footer .footer-media{display:flex;align-items:center;gap:28px;padding:22px 0;border-block:1px solid #345267}
#gtfs-footer .media-label{min-width:205px}
#gtfs-footer .media-label strong{display:block;color:#fff;font-size:13px;font-weight:500}
#gtfs-footer .media-label span{font-size:11px;color:#abc2d1}
#gtfs-footer .social-links{display:flex;gap:10px}
#gtfs-footer .social-link{display:flex;align-items:center;gap:10px;border:1px solid #426077;min-height:46px;padding:10px 12px;font-size:12px;white-space:nowrap}
#gtfs-footer .social-link img{width:21px;height:21px;object-fit:contain;filter:brightness(0) invert(1)}
#gtfs-footer .social-link>span:last-child{color:#94b4c8;font-size:16px}
#gtfs-footer .social-link:hover{border-color:#98d1eb;background:#123a54}
#gtfs-footer .media-note{font-size:10px;line-height:1.7;color:#abc2d1}
#gtfs-footer .back-top{display:flex;gap:20px;margin-left:auto;align-items:center;min-height:44px;font-size:12px;white-space:nowrap}
#gtfs-footer .back-top span{font-size:24px;color:#98d1eb}
#gtfs-footer .footer-legal{display:flex;justify-content:space-between;gap:24px;padding:22px 0 10px;font-size:10px;line-height:1.8;color:#bfd0dc}
#gtfs-footer .footer-legal p>span{color:#a9c1d1}
#gtfs-footer .footer-legal>div{display:flex;gap:24px}
#gtfs-footer .footer-legal a{min-height:44px;display:flex;align-items:center}
#gtfs-footer .footer-legal a:hover{text-decoration:underline}
#gtfs-footer .messenger-note{font-size:10px;line-height:1.7;color:#a9c1d1;max-width:1100px;padding-bottom:24px}
#gtfs-footer .site-header>.gt-layout-shell{height:91px;display:flex;align-items:center;gap:40px}
#gtfs-footer .sitemap-entry .map-symbol{width:30px;height:30px;flex-shrink:0}
#gtfs-footer .social-link img[src$="rutube.svg"],#gtfs-footer .social-link img[src$="dzen.svg"]{filter:none}
@media (min-width:1440px){#gtfs-footer .footer-columns a{font-size:13px}
#gtfs-footer .footer-heading{min-height:132px}}
@media (max-width:1120px){#gtfs-footer .footer-heading{gap:24px}
#gtfs-footer .footer-promise{font-size:12px}
#gtfs-footer .footer-navigation{grid-template-columns:minmax(0,1fr) 214px;gap:20px}
#gtfs-footer .footer-columns{gap:16px}
#gtfs-footer .footer-contact{padding-left:18px}
#gtfs-footer .footer-columns a{font-size:11.5px}
#gtfs-footer .footer-contact .phone{font-size:16px}
#gtfs-footer .media-label{min-width:170px}
#gtfs-footer .footer-media{gap:18px;flex-wrap:wrap}
#gtfs-footer .media-note{margin-left:auto}
#gtfs-footer .back-top{margin-left:0}
#gtfs-footer .site-header>.gt-layout-shell{gap:24px}}
@media (max-width:960px){#gtfs-footer .footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
#gtfs-footer .footer-navigation{grid-template-columns:minmax(0,1fr) 240px;gap:32px}
#gtfs-footer .footer-columns a{font-size:13px}
#gtfs-footer .footer-contact{padding-left:24px}
#gtfs-footer .footer-contact .phone{font-size:18px}
#gtfs-footer .footer-promise{display:none}
#gtfs-footer .footer-legal>div{gap:12px;flex-direction:column}
#gtfs-footer .footer-legal a{min-height:32px}}
@media (max-width:760px){#gtfs-footer .review-bar>.gt-layout-shell{gap:8px;flex-wrap:wrap;min-height:48px}
#gtfs-footer .footer-heading{padding-block:24px;display:grid;grid-template-columns:1fr;gap:18px;min-height:0}
#gtfs-footer .footer-brand{width:220px;min-height:56px}
#gtfs-footer .sitemap-entry{margin:0;min-width:0;width:100%;min-height:67px;padding:12px 16px}
#gtfs-footer .sitemap-entry strong{font-size:18px}
#gtfs-footer .sitemap-entry small{font-size:11px}
#gtfs-footer .footer-navigation{grid-template-columns:1fr;gap:24px;padding:26px 0}
#gtfs-footer .footer-columns{column-gap:20px;row-gap:24px}
#gtfs-footer h3{font-size:13px;margin-bottom:10px}
#gtfs-footer .footer-columns a{font-size:12px;min-height:44px;line-height:1.6}
#gtfs-footer .footer-contact{padding:24px 0 0;border-left:0;border-top:1px solid #345267;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
#gtfs-footer .footer-contact h3{grid-column:1/-1}
#gtfs-footer .footer-contact .phone{font-size:17px;grid-column:1/-1}
#gtfs-footer .footer-contact .second-phone{font-size:13px;grid-column:1/-1}
#gtfs-footer .footer-contact .email{grid-column:1/-1}
#gtfs-footer .max-button{grid-column:1/-1;width:100%;justify-content:center;font-size:13px;padding:12px 16px}
#gtfs-footer .max-button>span{margin-left:auto}
#gtfs-footer .max-button b{margin-right:auto;font-size:11px}
#gtfs-footer .alternative-messengers{grid-column:1/-1;gap:24px;margin-top:8px}
#gtfs-footer .alternative-messengers a{font-size:12px}
#gtfs-footer .contact-note{grid-column:1/-1;font-size:10px}
#gtfs-footer .footer-media{display:grid;grid-template-columns:1fr auto;gap:16px;padding-block:24px}
#gtfs-footer .media-label{grid-column:1/-1}
#gtfs-footer .social-links{grid-column:1/-1;gap:8px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
#gtfs-footer .social-link{padding:9px 10px;gap:7px;justify-content:center;font-size:11px}
#gtfs-footer .social-link img{width:20px;height:20px}
#gtfs-footer .social-link>span:last-child{display:none}
#gtfs-footer .media-note{margin:0;font-size:10px}
#gtfs-footer .back-top{font-size:11px;gap:12px}
#gtfs-footer .footer-legal{display:block;padding-top:20px;font-size:10px}
#gtfs-footer .footer-legal>div{margin-top:10px;gap:0;display:block}
#gtfs-footer .footer-legal a{min-height:44px}
#gtfs-footer .messenger-note{font-size:10px;padding-bottom:24px}
#gtfs-footer .site-header>.gt-layout-shell{height:auto;min-height:91px;gap:12px;flex-wrap:wrap;padding-block:12px}}
@media (max-width:360px){#gtfs-footer .footer-columns{column-gap:16px}
#gtfs-footer .footer-columns a{font-size:11px}
#gtfs-footer .social-link{font-size:10px;padding:9px 7px;gap:5px}
#gtfs-footer .social-link img{width:17px;height:17px}}
#gtfs-footer .email,#gtfs-footer .footer-legal a{min-height:44px}
@media  print{#gtfs-footer{display:none!important}}

/* Утверждённая ревизия 02, решение владельца 17.09.2026. */
#gtfs-footer { --gt-radius: 8px; }
#gtfs-footer .footer-heading { min-height: 116px; }
#gtfs-footer .sitemap-entry,
#gtfs-footer .social-link,
#gtfs-footer .max-button { border-radius: var(--gt-radius); }
#gtfs-footer .sitemap-entry { min-width: 256px; justify-content: space-between; }
#gtfs-footer .footer-columns { grid-template-columns: 1.18fr 1fr 1fr 1.05fr; gap: 22px; }
#gtfs-footer .footer-column { min-width: 0; padding-top: 16px; }
#gtfs-footer .footer-column--direction {
  padding: 16px;
  border: 1px solid color-mix(in srgb, var(--direction-accent) 52%, #345267);
  border-radius: var(--gt-radius);
  background: rgba(255,255,255,.025);
}
#gtfs-footer .footer-column--direction h3 { color: #fff; }
#gtfs-footer .footer-column--direction li:last-child {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid #345267;
}
#gtfs-footer .footer-column--direction li:last-child a { color: #dce8ef; }
#gtfs-footer .footer-contact { padding-top: 16px; }
#gtfs-footer .footer-columns a { overflow-wrap: anywhere; }
#gtfs-footer .footer-columns h3 { overflow-wrap: anywhere; }
#gtfs-footer .messenger-note { padding-bottom: 22px; }
@media (max-width: 1180px) and (min-width: 961px) {
  #gtfs-footer .footer-columns { gap: 14px; grid-template-columns: 1.18fr 1fr .95fr 1.05fr; }
  #gtfs-footer .footer-column--direction { padding: 14px 12px; }
}
@media (max-width: 960px) {
  #gtfs-footer .footer-columns { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 24px; }
}
@media (max-width: 760px) {
  #gtfs-footer .footer-heading { min-height: 0; }
  #gtfs-footer .footer-columns { gap: 20px; }
  #gtfs-footer .footer-column--direction { grid-column: 1 / -1; padding: 18px; }
  #gtfs-footer .footer-column--direction ul { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 20px; }
  #gtfs-footer .footer-column--direction li:last-child { grid-column: 1 / -1; }
  #gtfs-footer .footer-column--direction h3 { font-size: 15px; }
  #gtfs-footer .footer-columns a { font-size: 12px; }
  #gtfs-footer .footer-contact { padding-top: 24px; }
}
@media (max-width: 360px) {
  #gtfs-footer .footer-column--direction { padding: 16px 14px; }
  #gtfs-footer .footer-column--direction ul { column-gap: 16px; }
}

/* Только оболочка страницы. Внутреннее оформление Marquiz живёт в кабинете. */
.gt-direction-quiz{box-sizing:border-box;max-width:var(--gt-layout-max,1220px);width:calc(100% - var(--gt-layout-gutter,32px) * 2);margin:0 auto;padding:8px 0 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.gt-direction-quiz [data-gt-marquiz-inline]{width:100%;min-width:0}
.gt-direction-quiz .marquiz__container_inline{box-sizing:border-box;width:100%!important;max-width:100%!important;margin-inline:0!important}
.gt-direction-quiz iframe{display:block;width:100%;max-width:100%;border:0;padding:0;transition:none}
.gt-quiz-fallback{margin:8px 0 0;font-size:13px;line-height:1.5;text-align:center;color:#626a70}
.gt-general-quiz-link{box-sizing:border-box;max-width:var(--gt-layout-max,1220px);width:calc(100% - var(--gt-layout-gutter,32px) * 2);margin:24px auto;padding:0;font:400 15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.gt-general-quiz-link a,.gt-quiz-fallback a{display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#0c648b;text-decoration:underline;text-underline-offset:3px}
.gt-general-quiz-link a:focus-visible,.gt-quiz-fallback a:focus-visible{outline:3px solid #0c648b;outline-offset:4px;border-radius:3px}
@media(max-width:760px){.gt-direction-quiz{width:calc(100% - var(--gt-layout-gutter,16px) * 2);padding:0 0 12px}.gt-quiz-fallback{padding:0}.gt-general-quiz-link{width:calc(100% - var(--gt-layout-gutter,16px) * 2);margin:16px auto}}

[data-price-tabs] a[hidden],.cl-region-control[hidden]{display:none!important}.cl-region-control{display:grid;gap:8px;max-width:420px;margin:0 0 24px}.cl-region-control select{width:100%;min-height:44px;padding:10px;border:1px solid #cbd5df;border-radius:8px;background:#fff;color:#092c45;font:inherit}
/* Композиция дочернего R4. Шапка, подвал, поиск, бренд и инженер — общие модули. */
.cl-quiz-intro-group { display: flex; align-items: center; gap: 24px; margin-block: 24px; }
.cl-quiz-engineer { display: flex; align-items: center; gap: 16px; flex: 0 0 auto; }
.cl-quiz-engineer strong { max-width: 130px; font-size: 16px; line-height: 1.4; }
.cl-quiz-avatar { position: relative; display: block; width: 100px; height: 100px; aspect-ratio: 1 / 1; flex: 0 0 100px; border-radius: 12px; overflow: hidden; background: #edf4f7; }
.cl-page .cl-quiz-avatar img { position: absolute; width: 180%; height: auto; max-width: none; left: -40%; top: -44%; transform: scaleX(-1); }
@media(max-width:760px) { .cl-quiz-intro-group { flex-wrap: wrap; gap: 16px; }.cl-quiz-avatar { width: 88px; height: 88px; flex-basis: 88px; } }
body.gt-longread-page { margin: 0; color: #092c45; background: #fff; font: 17px/1.6 Arial, Helvetica, sans-serif; }
.cl-page { --cl-ink: #092c45; --cl-muted: #566a76; --cl-blue: #0c648b; --cl-sky: #63b6dc; --cl-line: #dbe4e8; --cl-soft: #f4f7f8; --cl-pale: #e7f4fa; }
.cl-page *, .cl-page *::before, .cl-page *::after { box-sizing: border-box; }
.cl-page [hidden] { display: none !important; }
.cl-page a { color: var(--cl-blue); text-underline-offset: 4px; text-decoration-thickness: 1px; }
.cl-page a:hover { color: #084869; }
.cl-page :is(button, input, textarea) { font: inherit; }
.cl-page :is(a, button, input, textarea, summary, [tabindex]):focus-visible { outline: 3px solid #0c648b; outline-offset: 4px; }
.cl-page button { cursor: pointer; }
.cl-page :is(h1, h2, h3, h4, p, figure) { margin: 0; }
.cl-page :is(h1, h2, h3) { line-height: 1.15; letter-spacing: -.03em; text-wrap: balance; overflow-wrap: anywhere; }
.cl-page h1 { max-width: 780px; font-size: clamp(36px, 4.3vw, 62px); font-weight: 600; }
.cl-page h2 { font-size: clamp(28px, 3vw, 42px); font-weight: 500; }
.cl-page h3 { font-size: 24px; font-weight: 600; }
.cl-page img { display: block; max-width: 100%; height: auto; }
.cl-page p { max-width: 75ch; }
.cl-page p + p { margin-top: 16px; }
.cl-skip { position: fixed; z-index: 2000; top: 8px; left: 8px; padding: 12px 16px; color: #092c45; background: #fff; transform: translateY(-160%); }
.cl-skip:focus { transform: none; }
.cl-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.cl-anchor { display: block; scroll-margin-top: 24px; }
.cl-breadcrumbs { padding-top: 16px; font-size: 12px; }
.cl-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 10px; margin: 0; padding: 0; list-style: none; }
.cl-breadcrumbs li { max-width: 100%; overflow-wrap: anywhere; }
.cl-breadcrumbs li + li::before { content: '›'; margin-right: 10px; color: #8396a0; }
.cl-breadcrumbs a { display: inline-flex; align-items: center; min-height: 44px; color: var(--cl-muted); text-decoration: none; }
.cl-breadcrumbs [aria-current] { border-bottom: 2px solid var(--cl-sky); padding-bottom: 4px; }
.cl-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px; align-items: center; padding-block: 32px; }
.cl-hero-text { grid-template-columns: 1fr; }
.cl-eyebrow { margin-bottom: 14px !important; font-size: 12px; text-transform: uppercase; letter-spacing: .12em; color: var(--cl-blue); font-weight: 700; }
.cl-lead { margin-top: 22px !important; font-size: 18px; line-height: 1.6; color: var(--cl-muted); max-width: 53ch !important; }
.cl-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; align-items: center; }
.cl-page .cl-button { display: inline-flex; gap: 18px; justify-content: center; align-items: center; min-height: 48px; max-width: 100%; padding: 13px 21px; border-radius: 8px; background: var(--cl-blue); border: 1px solid var(--cl-blue); color: #fff; text-decoration: none; font-size: 15px; font-weight: 600; line-height: 1.4; text-align: center; }
.cl-page .cl-button:hover { background: #084c6b; color: #fff; }
.cl-page .cl-secondary { color: var(--cl-ink); background: #fff; border-color: #bfcdd5; }
.cl-page .cl-secondary:hover { background: var(--cl-soft); color: var(--cl-ink); }
.cl-hero-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 22px 0 0; padding: 18px 0 0; border-top: 1px solid var(--cl-line); list-style: none; font-size: 13px; color: var(--cl-muted); }
.cl-photo { min-width: 0; border-radius: 8px; overflow: hidden; background: var(--cl-soft); }
.cl-photo > a { display: block; }
.cl-photo img { width: 100%; height: auto; }
.cl-hero .cl-photo img { aspect-ratio: 1.38; object-fit: cover; }
.cl-photo figcaption { padding: 12px 16px; font-size: 12px; line-height: 1.5; color: var(--cl-muted); overflow-wrap: anywhere; }
.cl-figure-scene { position: relative; }
.cl-figure-scene > a:first-child { display: block; }
.cl-page .cl-photo-hotspot { position: absolute; display: grid; place-items: center; width: 44px; height: 44px; transform: translate(-50%, -50%); border: 2px solid #fff; border-radius: 50%; background: #0c648b; color: #fff; font-size: 16px; font-weight: 700; text-decoration: none; box-shadow: 0 2px 10px #092c4540; }
.cl-page .cl-photo-hotspot:hover, .cl-page .cl-photo-hotspot:focus-visible { background: #092c45; color: #fff; }
.cl-callout-notes { display: grid; gap: 16px; padding: 0; margin: 16px 0 0; list-style: none; }
.cl-callout-notes li { display: flex; align-items: flex-start; gap: 12px; scroll-margin-top: 24px; }
.cl-callout-notes li > span { display: grid; place-items: center; flex: 0 0 28px; min-height: 28px; border-radius: 6px; background: #dceef7; color: #0c648b; font-size: 13px; font-weight: 700; }
.cl-callout-notes strong { display: block; color: var(--cl-ink); font-size: 14px; line-height: 1.45; }
.cl-page .cl-callout-notes p { margin-top: 5px; font-size: 14px; line-height: 1.55; }
.cl-callout-notes li:target { outline: 2px solid #63b6dc; outline-offset: 6px; border-radius: 4px; }
.cl-media-reference { font-size: 14px; line-height: 1.55; }
.cl-media-reference a { display: inline-flex; align-items: center; min-height: 44px; }
.cl-page .cl-hero .cl-photo-callouts img, .cl-page .cl-gallery .cl-photo-callouts img { aspect-ratio: auto; object-fit: contain; }
.cl-toc { border-block: 1px solid var(--cl-line); }
.cl-toc > div { display: flex; gap: 4px 24px; align-items: center; flex-wrap: wrap; padding-block: 10px; }
.cl-toc strong { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.cl-toc a { display: inline-flex; min-height: 44px; align-items: center; font-size: 14px; color: var(--cl-muted); text-decoration: none; }
.cl-section { padding-block: var(--gt-layout-section, 48px); scroll-margin-top: 24px; }
.cl-section + .cl-section { border-top: 1px solid var(--cl-line); }
.cl-section-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 24px; }
.cl-section-head > * { min-width: 0; }
.cl-intro { max-width: 480px !important; color: var(--cl-muted); font-size: 16px; flex: 0 1 480px; }
.cl-section-body { min-width: 0; }
.cl-with-media { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--gt-layout-gap, 24px); align-items: start; }
.cl-media-multiple { grid-template-columns: 1fr; }
.cl-copy { min-width: 0; max-width: var(--gt-layout-reading, 880px); }
.cl-copy p { font-size: 17px; line-height: 1.7; }
.cl-points { display: grid; gap: 12px; padding-left: 22px; margin-block: 22px 0; }
.cl-points li::marker { color: var(--cl-blue); }
.cl-section-media { display: grid; gap: 24px; min-width: 0; }
.cl-media-multiple .cl-section-media { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cl-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gt-layout-gap, 24px); }
.cl-gallery .cl-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
.cl-table-scroll { max-width: 100%; overflow-x: auto; border: 1px solid var(--cl-line); border-radius: 8px; margin-top: 24px; overscroll-behavior-inline: contain; }
.cl-page table { width: 100%; border-collapse: collapse; font-size: 14px; text-align: left; }
.cl-page caption { padding: 12px 16px; text-align: left; font-size: 13px; color: var(--cl-muted); background: #fff; }
.cl-page th, .cl-page td { padding: 16px; vertical-align: top; border-bottom: 1px solid var(--cl-line); min-width: 130px; overflow-wrap: anywhere; }
.cl-page thead th { color: var(--cl-ink); background: var(--cl-soft); font-size: 12px; font-weight: 600; }
.cl-page tbody th { font-weight: 600; }
.cl-page tbody tr:last-child > * { border-bottom: 0; }
.cl-page td { color: var(--cl-muted); }
.cl-page td small, .cl-page th small { display: block; margin-top: 6px; font-size: 11px; font-weight: 400; color: var(--cl-muted); }
.cl-quiz { padding: 28px; background: var(--cl-pale); border-radius: 8px; }
.cl-quiz-intro { color: var(--cl-muted); font-size: 15px; margin-bottom: 24px !important; }
.cl-quiz-questions { display: grid; gap: 20px; }
.cl-quiz fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.cl-quiz legend { padding: 0 0 12px; font-size: 18px; font-weight: 600; }
.cl-quiz legend > span { margin-right: 8px; color: var(--cl-blue); font-size: 13px; }
.cl-quiz-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.cl-quiz-options label { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 12px 16px; border: 1px solid #bfd7e2; border-radius: 8px; background: #fff; cursor: pointer; font-size: 15px; line-height: 1.45; }
.cl-quiz-options label:has(input:checked) { border-color: var(--cl-blue); background: #f7fcff; }
.cl-quiz-options input { margin: 0; flex: 0 0 18px; width: 18px; height: 18px; accent-color: var(--cl-blue); }
.cl-quiz-summary { border-top: 1px solid #bdd9e6; padding-top: 24px; margin-top: 24px; }
.cl-quiz-summary label { display: block; font-weight: 600; margin-bottom: 8px; }
.cl-quiz-summary textarea { width: 100%; max-width: 100%; min-height: 160px; resize: vertical; padding: 16px; border: 1px solid #b7cbd6; background: #fff; color: var(--cl-ink); border-radius: 8px; font-size: 14px; }
.cl-quiz-summary .cl-button { margin-top: 16px; }
.cl-note { font-size: 13px; color: var(--cl-muted); line-height: 1.6; }
.cl-quiz-summary .cl-note { margin-top: 8px; }
.cl-quiz-fallback a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 16px; font-size: 14px; }
#quiz-live iframe { width: 100%; max-width: 100%; border: 0; }
.cl-price-section { background: #f1f6f8; }
.cl-price-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 20px; }
.cl-price-tabs a { display: flex; gap: 12px; justify-content: space-between; align-items: center; padding: 18px 20px; min-height: 76px; min-width: 0; border: 1px solid #ccdce3; border-radius: 8px; color: var(--cl-ink); background: #fff; text-decoration: none; line-height: 1.45; }
.cl-price-tabs a > span { font-size: 12px; }
.cl-price-tabs strong { font-size: 15px; font-weight: 600; overflow-wrap: anywhere; }
.cl-price-tabs [aria-selected='true'] { color: #fff; border-color: #17668a; background: #17668a; }
.cl-price-tabs [aria-selected='true']:hover { color: #fff; }
.cl-price-example { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 24px; padding: 28px; background: #fff; border-radius: 8px; scroll-margin-top: 24px; }
.cl-price-example + .cl-price-example { margin-top: 24px; }
.cl-price-example[role='tabpanel'] { margin-top: 0; }
.cl-price-copy, .cl-price-detail { min-width: 0; }
.cl-price-copy h3 { font-size: 27px; margin-bottom: 16px; }
.cl-assumptions { margin: 0 0 22px; padding-left: 18px; font-size: 14px; color: var(--cl-muted); }
.cl-assumptions li + li { margin-top: 8px; }
.cl-scale { margin: 20px 0; border-top: 1px solid var(--cl-line); padding-top: 18px; }
.cl-scale label { display: block; font-size: 14px; font-weight: 600; margin-bottom: 8px; }
.cl-scale input { display: block; width: 160px; max-width: 100%; min-height: 48px; padding: 10px 12px; border: 1px solid #b7cbd6; border-radius: 8px; color: var(--cl-ink); background: #fff; }
.cl-scale input[aria-invalid='true'] { border-color: #a32929; }
.cl-scale .cl-note { margin-top: 10px; }
.cl-error { color: #a32929; font-size: 14px; margin-top: 10px !important; }
.cl-total { border-top: 1px solid var(--cl-line); padding: 18px 0; display: grid; gap: 8px; }
.cl-total > span { font-size: 13px; }
.cl-total > strong { font-size: clamp(24px, 2.5vw, 35px); line-height: 1.25; color: #17668a; font-weight: 500; overflow-wrap: anywhere; }
.cl-total small { font-size: 12px; line-height: 1.5; color: var(--cl-muted); }
.cl-exclusions { border-left: 3px solid #89b9cd; padding-left: 16px; margin-top: 14px; }
.cl-exclusions h4 { font-size: 14px; }
.cl-exclusions ul { padding-left: 18px; margin-block: 8px 0; font-size: 13px; color: var(--cl-muted); }
.cl-price-detail .cl-table-scroll { margin-top: 0; }
.cl-price-media { display: grid; gap: 16px; margin-bottom: 20px; min-width: 0; }
.cl-page .cl-price-media .cl-photo img { width: 100%; height: auto; object-fit: contain; }
.cl-price-detail th, .cl-price-detail td { min-width: 110px; padding: 14px 12px; }
.cl-price-detail tbody th { min-width: 170px; }
.cl-price-limitations { padding-top: 24px; }
.cl-price-limitations h3 { font-size: 18px; }
.cl-price-limitations ul { max-width: 920px; padding-left: 20px; font-size: 13px; color: var(--cl-muted); }
.cl-page #engineer-direct { margin-block: var(--gt-layout-section, 48px); }
.cl-faq-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.5fr); gap: 48px; align-items: start; }
.cl-faq-layout .cl-photo { margin-top: 24px; }
.cl-faq-list details { border-bottom: 1px solid var(--cl-line); }
.cl-faq-list details:first-child { border-top: 1px solid var(--cl-line); }
.cl-faq-list summary { position: relative; padding: 20px 38px 20px 0; min-height: 48px; cursor: pointer; list-style: none; font-size: 17px; font-weight: 600; line-height: 1.5; }
.cl-faq-list summary::-webkit-details-marker { display: none; }
.cl-faq-list summary::after { content: '+'; position: absolute; top: 17px; right: 5px; font-size: 25px; font-weight: 400; color: var(--cl-blue); }
.cl-faq-list details[open] summary::after { content: '−'; }
.cl-faq-list details > div { padding-bottom: 22px; font-size: 16px; color: var(--cl-muted); }
.cl-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gt-layout-gap, 24px); }
.cl-related-card { padding: 18px 0; min-height: 44px; border-top: 2px solid var(--cl-line); text-decoration: none; }
.cl-related-card strong { display: block; font-size: 20px; line-height: 1.35; font-weight: 600; color: var(--cl-ink); }
.cl-related-card > span { display: block; margin-top: 12px; font-size: 14px; line-height: 1.55; color: var(--cl-muted); }
.cl-related-card:hover { border-color: var(--cl-sky); }
.cl-mistake-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gt-layout-gap, 24px); margin-top: 24px; }
.cl-mistake-card { min-width: 0; border: 1px solid var(--cl-line); border-radius: 8px; overflow: hidden; background: #fff; }
.cl-mistake-card .cl-photo { border-radius: 0; }
.cl-page .cl-mistake-card .cl-photo:not(.cl-photo-callouts) img { width: 100%; aspect-ratio: 2 / 1; object-fit: cover; }
.cl-mistake-card .cl-photo figcaption { border-bottom: 1px solid var(--cl-line); }
.cl-mistake-copy { padding: 20px 22px; }
.cl-mistake-number { display: inline-block; margin-bottom: 10px; font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--cl-blue); }
.cl-page .cl-mistake-copy p { font-size: 16px; line-height: 1.65; color: var(--cl-muted); white-space: pre-line; overflow-wrap: anywhere; }
.cl-mistake-card > .cl-media-reference { padding: 16px 22px 0; }
.cl-mistake-extra-media { margin-top: 24px; }
.cl-video { margin-top: 32px; padding: 24px; border-radius: 8px; background: var(--cl-soft); }
.cl-video-layout { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; align-items: start; }
.cl-video-copy, .cl-video-player { min-width: 0; }
.cl-video-copy h3 { font-size: 26px; }
.cl-video-description { margin-top: 16px !important; font-size: 15px; color: var(--cl-muted); }
.cl-video-attribution { font-size: 13px; color: var(--cl-muted); }
.cl-video-source-links { display: flex; flex-wrap: wrap; gap: 4px 18px; }
.cl-video-source-links a, .cl-video-fallback a { display: inline-flex; min-height: 44px; align-items: center; font-size: 13px; }
.cl-video-scope { margin-top: 20px; padding-top: 16px; border-top: 1px solid var(--cl-line); }
.cl-video-scope h4 { font-size: 14px; }
.cl-video-scope ul { margin: 8px 0 0; padding-left: 18px; font-size: 13px; line-height: 1.6; color: var(--cl-muted); }
.cl-video-scope li + li { margin-top: 8px; }
.cl-video-toggle { border-radius: 8px; overflow: hidden; background: #092c45; }
.cl-video-summary { position: relative; display: block; min-height: 48px; color: #fff; cursor: pointer; list-style: none; }
.cl-video-summary::-webkit-details-marker { display: none; }
.cl-video-summary > img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.cl-video-open-label { position: absolute; left: 16px; right: 16px; bottom: 20px; display: flex; align-items: center; gap: 12px; padding: 12px 16px; border: 1px solid #b5dbea75; border-radius: 8px; background: #092c45e8; font-size: 17px; font-weight: 600; line-height: 1.4; }
.cl-video-open-label > span { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; color: #0c648b; background: #fff; font-size: 20px; }
.cl-video-close-label { display: none; justify-content: space-between; align-items: center; gap: 12px; padding: 12px 16px; font-size: 13px; }
.cl-video-toggle[open] > summary > img, .cl-video-toggle[open] .cl-video-open-label { display: none; }
.cl-video-toggle[open] .cl-video-close-label { display: flex; }
.cl-video-stage { min-width: 0; color: #fff; background: #092c45; }
.cl-video-playing-title { padding: 12px 16px; font-size: 14px; line-height: 1.4; color: #e3f1f8; }
.cl-video-viewport:empty { display: none; }
.cl-video-viewport { width: 100%; aspect-ratio: 16 / 9; background: #061c2d; }
.cl-video-viewport > iframe { display: block; width: 100%; height: 100%; border: 0; }
.cl-video-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 12px; padding: 10px 16px; }
.cl-video-controls button, .cl-page .cl-video-controls a { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 9px 12px; border: 1px solid #9ac7dd65; border-radius: 6px; color: #fff; background: #184a65; font-size: 13px; line-height: 1.4; }
.cl-page .cl-video-controls a { text-decoration: none; }
.cl-video-controls :is(a, button):focus-visible { outline-color: #a9e1fb; }
.cl-video-status { max-width: none !important; padding: 0 16px 14px; color: #d1e5ee; font-size: 12px; line-height: 1.55; }
.cl-video-status:empty { display: none; }
.cl-video-fallback { margin-top: 8px !important; }
.cl-video-stage:fullscreen, .cl-video-stage.is-expanded { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 16px; box-sizing: border-box; background: #051a29; }
.cl-video-stage.is-expanded { position: fixed; inset: 0; z-index: 10000; height: 100vh; height: 100dvh; overflow-y: auto; overscroll-behavior: contain; }
.cl-video-stage:fullscreen .cl-video-viewport, .cl-video-stage.is-expanded .cl-video-viewport { width: min(100%, calc((100dvh - 190px) * 16 / 9)); flex: 0 1 auto; min-height: 0; }
.cl-video-stage:fullscreen > :is(.cl-video-controls, .cl-video-status, .cl-video-playing-title), .cl-video-stage.is-expanded > :is(.cl-video-controls, .cl-video-status, .cl-video-playing-title) { width: min(100%, 1400px); }
.cl-children { margin-top: 28px; border-top: 1px solid var(--cl-line); padding-top: 24px; }
.cl-children h3 { font-size: 22px; }
.cl-children ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 24px; list-style: none; margin: 16px 0 0; padding: 0; }
.cl-children a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; overflow-wrap: anywhere; }
.cl-sources { padding-bottom: var(--gt-layout-section, 48px); }
.cl-source-note { margin-top: 20px; border-top: 1px solid var(--cl-line); font-size: 13px; color: var(--cl-muted); }
.cl-source-note summary { display: list-item; min-height: 44px; padding-block: 12px; cursor: pointer; color: var(--cl-ink); }
.cl-source-note ul { margin: 0; padding-left: 20px; }
.cl-source-note li { margin-top: 8px; }
.cl-source-note li a { display: inline-flex; min-height: 44px; align-items: center; overflow-wrap: anywhere; }
.cl-source-note li span { display: block; font-size: 12px; }
@media (max-width: 1120px) {
  .cl-price-example { grid-template-columns: 1fr; }
  .cl-price-tabs a { padding: 14px; gap: 8px; }
  .cl-price-tabs a > span:first-child { display: none; }
  .cl-faq-layout { gap: 30px; }
}
@media (max-width: 760px) {
  body.gt-longread-page { font-size: 16px; }
  .cl-hero, .cl-with-media, .cl-faq-layout { grid-template-columns: 1fr; gap: 24px; }
  .cl-media-multiple .cl-section-media { grid-template-columns: 1fr; }
  .cl-hero { padding-block: 24px 32px; }
  .cl-page h1 { font-size: clamp(32px, 7.8vw, 42px); }
  .cl-page h2 { font-size: 30px; }
  .cl-lead { margin-top: 18px !important; font-size: 17px; }
  .cl-section-head { flex-direction: column; align-items: flex-start; gap: 16px; }
  .cl-intro { flex: auto; max-width: none !important; }
  .cl-hero .cl-photo img { aspect-ratio: 1.6; }
  .cl-toc > div { gap: 0 20px; }
  .cl-toc strong { width: 100%; margin-block: 6px; }
  .cl-toc a { font-size: 13px; }
  .cl-gallery, .cl-related-grid, .cl-children ul { grid-template-columns: 1fr; }
  .cl-gallery .cl-photo img { aspect-ratio: 1.6; }
  .cl-copy p { font-size: 16px; }
  .cl-page th, .cl-page td { padding: 14px 12px; }
  .cl-quiz { padding: 20px 16px; }
  .cl-quiz-options { grid-template-columns: 1fr; }
  .cl-price-tabs { grid-template-columns: 1fr; gap: 8px; }
  .cl-price-tabs a { min-height: 52px; }
  .cl-price-tabs a > span:first-child { display: block; }
  .cl-price-tabs strong { margin-right: auto; font-size: 14px; }
  .cl-price-example { padding: 20px 16px; gap: 24px; }
  .cl-price-copy h3 { font-size: 25px; }
  .cl-total > strong { font-size: 28px; }
  .cl-faq-list summary { font-size: 16px; }
  .cl-related-card strong { font-size: 19px; }
  .cl-mistake-cards { grid-template-columns: 1fr; gap: 16px; }
  .cl-mistake-copy { padding: 18px; }
  .cl-page .cl-mistake-card .cl-photo:not(.cl-photo-callouts) img { aspect-ratio: 1.85; }
  .cl-mistake-card > .cl-media-reference { padding: 16px 18px 0; }
  .cl-video { padding: 20px 16px; }
  .cl-video-layout { grid-template-columns: 1fr; gap: 24px; }
  .cl-video-copy h3 { font-size: 23px; }
  .cl-video-open-label { left: 10px; right: 10px; bottom: 12px; padding: 10px 12px; gap: 10px; font-size: 14px; }
  .cl-video-open-label > span { flex-basis: 32px; width: 32px; height: 32px; font-size: 17px; }
  .cl-video-controls { padding: 8px 10px; gap: 8px; }
  .cl-video-controls button, .cl-page .cl-video-controls a { font-size: 12px; }
  .cl-video-status { padding-inline: 10px; }
  .cl-video-stage:fullscreen, .cl-video-stage.is-expanded { padding: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .cl-page { scroll-behavior: auto; }
}

/* Изолированная композиция V2. Канонические шапка, поиск и подвал сохранены. */
/* Скрытые шаги резервируют общую высоту; inert и aria-hidden исключают их из фокуса/AX. */
.quiz-steps-r2{display:grid;align-items:start;min-width:0;overflow-anchor:none}
.quiz-steps-r2>[data-quiz-step]{grid-area:1/1;min-width:0;width:100%}
.quiz-steps-r2>[data-quiz-step][hidden]{display:block!important;visibility:hidden;pointer-events:none}
.v2-quiz .quiz-error,.v2-quiz .quiz-error:empty{display:block;min-height:64px;margin:8px 0;line-height:1.5}
.v2-quiz .quiz-choice{border-width:2px}
.v2-quiz .quiz-next{min-height:68px;width:155px;flex-shrink:0;font-size:13px;line-height:1.4}
.v2-quiz .quiz-nav{min-height:68px}
.v2-quiz .quiz-retain{max-width:230px;line-height:1.4}
.v2-live-quiz{border-top:1px solid #d4e0e5}
.v2-live-quiz iframe{display:block;width:100%;max-width:100%;border:1px solid #d4e0e5;border-radius:8px;background:#fff}
.v2-whitebase-gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.v2-whitebase-gallery figure{margin:0}.v2-whitebase-gallery img{aspect-ratio:3/2;object-fit:cover}
.v2-whitebase-gallery figcaption{font-size:13px;line-height:1.6;margin-top:12px;color:#506674}
.v2-material-shop{margin-top:32px;padding:30px;background:#eef5f1;border:1px solid #d5e3dc;border-radius:8px}
.v2-shop-layout{display:grid;grid-template-columns:1fr 1fr;gap:30px}.v2-shop-layout h3{font-size:27px;line-height:1.2;letter-spacing:-.03em}
.v2-shop-products{display:grid;grid-template-columns:1fr 1fr;gap:14px}.v2-shop-product{display:block;background:#fff;border:1px solid #d5e3dc;border-radius:8px;padding:16px;text-decoration:none;color:#132e40}
.v2-shop-product img{display:block;width:100%;height:180px;object-fit:contain;margin-bottom:12px}.v2-shop-product b{font-size:14px;line-height:1.5;display:block}.v2-shop-product small{display:block;margin-top:8px;color:#506674;font-size:12px}
.v2-pack-calc{border-top:1px solid #cadbd1;margin-top:28px;padding-top:24px}.v2-pack-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.v2-pack-fields label{font-size:12px;line-height:1.5;font-weight:600}.v2-pack-fields input,.v2-pack-fields select{display:block;width:100%;padding:12px;border:1px solid #aabfb2;border-radius:8px;background:#fff;margin-top:8px;min-height:48px}
.v2-pack-calc output{display:block;padding-top:18px;min-height:68px;line-height:1.6;font-weight:600}.v2-pack-calc .v2-fine{max-width:850px}
@media(max-width:760px){.v2-whitebase-gallery,.v2-shop-layout{grid-template-columns:1fr}.v2-material-shop{padding:20px 16px}.v2-shop-product{padding:12px}.v2-shop-product img{height:130px}.v2-pack-fields{grid-template-columns:1fr 1fr}.v2-live-quiz iframe{height:800px}.v2-quiz .quiz-error{min-height:64px}.v2-quiz .quiz-retain{max-width:130px;font-size:10px}}
:root{--v2-ink:#132e40;--v2-blue:#07658b;--v2-soft:#edf4f7;--v2-line:#d4e0e5;--v2-muted:#506674;--v2-radius:8px}
html{scroll-behavior:smooth;scroll-padding-top:105px}body{color:var(--v2-ink);background:#fff}main{overflow:clip}h1,h2,h3,p,figure{margin-top:0}button,a,input,select,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #d79427;outline-offset:4px}img{max-width:100%}button{cursor:pointer}a,button{border-radius:8px}summary{cursor:pointer;min-height:44px;align-content:center}textarea,input,select{font:inherit;max-width:100%}textarea{resize:vertical}
.v2-shell{width:min(100% - 64px,1220px);margin-inline:auto}.v2-breadcrumbs{padding-top:18px}.v2-breadcrumbs .breadcrumbs{margin:0;padding:0;font-size:13px}.v2-hero{display:grid;grid-template-columns:1fr 1.05fr;gap:44px;padding-top:26px;padding-bottom:38px;align-items:center}.v2-eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:var(--v2-blue);margin:0 0 16px}.v2-hero h1{font-size:clamp(36px,4.4vw,60px);line-height:1.02;letter-spacing:-.045em;margin:0 0 24px;font-weight:750}.v2-lead{font-size:23px;line-height:1.35;letter-spacing:-.025em}.v2-hero-copy>p:not(.v2-lead):not(.v2-eyebrow):not(.v2-fine){font-size:16px;line-height:1.65;max-width:510px;color:var(--v2-muted)}.v2-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:24px 0 12px}.v2-primary,.v2-secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:13px 18px;text-decoration:none;font-size:14px;font-weight:650;line-height:1.3;border:1px solid var(--v2-blue);background:var(--v2-blue);color:white}.v2-primary:hover{background:#064f6b;color:white}.v2-secondary{background:white;color:var(--v2-blue)}.v2-text-link{min-height:44px;align-content:center;font-size:14px;color:var(--v2-ink)}.v2-fine{font-size:12px;line-height:1.5;color:var(--v2-muted)}.v2-hero-photo{position:relative}.v2-hero-photo figure{margin:0}.v2-hero-photo img{height:470px;object-fit:cover;object-position:55% center;border-radius:8px}.v2-hero-photo figcaption{display:none}.v2-image-note{position:absolute;bottom:18px;left:18px;right:18px;background:#ffffffed;border-radius:8px;padding:15px 18px;pointer-events:none}.v2-image-note b,.v2-image-note span{display:block}.v2-image-note b{font-size:18px;margin-bottom:4px}.v2-image-note span{font-size:12px;color:var(--v2-muted)}[data-gallery]{display:block;background:none;border:0;padding:0;width:100%;text-align:left;overflow:hidden}[data-gallery] img{display:block;width:100%;height:auto;border-radius:8px}.v2-hero-photo [data-gallery] img{height:470px}.v2-nav{display:flex;gap:8px;border-top:1px solid var(--v2-line);border-bottom:1px solid var(--v2-line);padding-block:7px;flex-wrap:wrap}.v2-nav a{min-height:44px;display:flex;align-items:center;padding:8px 14px;color:var(--v2-muted);text-decoration:none;font-size:13px}.v2-nav a:hover{background:var(--v2-soft);color:var(--v2-blue)}.v2-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-top:34px;padding-bottom:34px}.v2-summary>div{border-left:2px solid var(--v2-line);padding-left:20px}.v2-summary span{font-size:11px;color:var(--v2-blue);font-weight:700;text-transform:uppercase;letter-spacing:.12em}.v2-summary h2{font-size:18px;letter-spacing:-.02em;margin:8px 0}.v2-summary p{font-size:14px;color:var(--v2-muted);line-height:1.6;margin:0}
.v2-quiz{padding-block:24px!important}.v2-quiz #ws-quiz{margin:0}.v2-section{padding-top:64px;padding-bottom:56px}.v2-section-head{display:grid;grid-template-columns:1.08fr 1fr;gap:70px;align-items:end;margin-bottom:32px}.v2-section h2,.v2-case h2{font-size:clamp(28px,3.1vw,40px);font-weight:700;line-height:1.13;letter-spacing:-.035em;margin:0 0 16px}.v2-section-head>p{font-size:16px;line-height:1.7;color:var(--v2-muted);margin-bottom:18px}.v2-routes{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.v2-route{padding:22px;background:var(--v2-soft);text-decoration:none;border:1px solid transparent;color:var(--v2-ink);min-width:0}.v2-route:hover{border-color:var(--v2-blue);background:#e3eff5}.v2-route>span{font-size:12px;color:var(--v2-blue)}.v2-route h3{font-size:19px;margin:20px 0 8px;letter-spacing:-.02em}.v2-route p{font-size:12px;line-height:1.5;min-height:36px;color:var(--v2-muted)}.v2-route b{font-size:12px;color:var(--v2-blue)}.v2-case{padding-block:42px 52px;border-top:1px solid var(--v2-line)}.v2-case>header{margin-bottom:26px}.v2-dimensions{font-size:15px;color:var(--v2-muted);margin:0}.v2-case-body{display:grid;grid-template-columns:1.03fr 1fr;gap:40px;align-items:start}.v2-case-photos{display:grid;gap:22px}.v2-case-photos figure{margin:0}.v2-case-photos img{aspect-ratio:3/2;object-fit:cover}.v2-case-photos figure+figure img{aspect-ratio:2.35;object-position:center 65%}.v2-case-photos figcaption{font-size:12px;line-height:1.5;color:var(--v2-muted);margin-top:9px}.v2-case-copy h3{font-size:18px;margin:0 0 8px;letter-spacing:-.02em}.v2-case-copy p,.v2-case-copy li{font-size:14px;line-height:1.65;color:var(--v2-muted)}.v2-case-copy p{margin-bottom:21px}.v2-case-copy ol{padding-left:21px;margin:0 0 20px}.v2-case-copy li+li{margin-top:9px}.v2-control{border-left:3px solid #5ba0bc;padding-left:16px}.v2-cost-brief{background:var(--v2-soft);padding:20px;border-radius:8px;margin:24px 0 18px;display:grid;grid-template-columns:1fr auto;gap:8px 14px}.v2-cost-brief span{font-size:12px;color:var(--v2-muted);align-self:center}.v2-cost-brief b{font-size:28px;letter-spacing:-.035em;white-space:nowrap}.v2-cost-brief a{font-size:12px;color:var(--v2-blue);grid-column:1/-1;min-height:32px;align-content:center}.v2-case-copy details{font-size:13px;border-top:1px solid var(--v2-line)}.v2-case-copy details p{font-size:12px}.v2-case-copy details a{overflow-wrap:anywhere}.v2-case-copy summary{font-weight:650;padding:10px 0}
.v2-price-wrap{background:#eff4f6;border-block:1px solid var(--v2-line)}.v2-estimate{border:1px solid var(--v2-line);background:#fff;border-radius:8px;margin:12px 0;overflow:hidden}.v2-estimate>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 24px;font-size:18px;font-weight:650}.v2-estimate>summary::-webkit-details-marker{display:none}.v2-estimate summary small{display:block;font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--v2-blue);margin-bottom:7px}.v2-estimate summary b{font-size:24px;white-space:nowrap}.v2-estimate summary i{font-style:normal;font-size:26px;font-weight:400;color:var(--v2-blue);margin-left:18px}.v2-estimate[open]>summary{border-bottom:1px solid var(--v2-line)}.v2-estimate-inner{padding:24px}.v2-estimate-inner>p{font-size:14px;line-height:1.6}.v2-table{overflow-x:auto;max-width:100%;border:1px solid var(--v2-line);border-radius:8px;margin-block:20px}.v2-table table{border-collapse:collapse;width:100%;min-width:640px;font-size:13px}.v2-table th,.v2-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--v2-line);vertical-align:top}.v2-table th{font-weight:600}.v2-table thead{background:var(--v2-soft);font-size:11px;color:var(--v2-muted)}.v2-table td:last-child{white-space:nowrap;font-weight:650}.v2-table small,.v2-table a{display:block;font-size:11px;line-height:1.7;color:var(--v2-muted)}.v2-table a{color:var(--v2-blue);min-height:28px;align-content:center}.v2-subtotal{display:flex;justify-content:space-between;gap:10px;align-items:center}.v2-subtotal strong{font-size:26px;white-space:nowrap}.v2-exclusions{border-left:3px solid #aa8547;background:#faf7f1;padding:16px 18px;margin:20px 0;border-radius:0 8px 8px 0}.v2-exclusions b{font-size:13px}.v2-exclusions p{font-size:13px;line-height:1.65;color:#655945;margin:6px 0 0}.v2-source-note{font-size:13px;margin:22px 0 34px}.v2-source-note summary{font-weight:650}.v2-source-note p{max-width:900px;color:var(--v2-muted);line-height:1.7}.v2-message{display:grid;grid-template-columns:.8fr 1.2fr;gap:40px;background:#fff;border:1px solid var(--v2-line);padding:30px;border-radius:8px}.v2-message h3{font-size:27px;letter-spacing:-.035em;line-height:1.15;margin-bottom:25px}.v2-message label{display:block;font-size:12px;font-weight:650;margin:16px 0 8px}.v2-message textarea,.v2-message select{width:100%;border:1px solid #adc0cc;border-radius:8px;background:#fff;padding:12px;font-size:14px;line-height:1.6;color:var(--v2-ink)}#v2-message-text{background:#f6f9fa;font-size:12px;min-height:244px}#v2-copy-status{font-size:12px;color:var(--v2-muted);line-height:1.6;min-height:38px}.v2-legacy{margin-top:28px;border-top:1px solid var(--v2-line)}.v2-legacy>summary{font-size:14px;padding:14px 0}.v2-legacy .gt-layout-shell{width:100%;padding-inline:0}.v2-legacy .price-section{padding-block:20px}.v2-system-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.v2-system-grid article{padding-top:18px;border-top:2px solid var(--v2-blue)}.v2-system-grid b{font-size:18px}.v2-system-grid p{font-size:14px;line-height:1.7;color:var(--v2-muted);margin-top:13px}.v2-access{padding:24px 28px;background:var(--v2-soft);border-radius:8px;margin-top:30px}.v2-access h3{font-size:20px;letter-spacing:-.02em;margin-bottom:10px}.v2-access p{font-size:14px;line-height:1.8;color:var(--v2-muted);margin:0}.v2-child-links{margin-top:24px;font-size:14px}.v2-child-links summary{font-weight:650}.v2-child-links>div{display:grid;grid-template-columns:repeat(3,1fr);gap:0 24px;padding-top:10px}.v2-child-links a,.v2-related a{padding:12px 0;border-bottom:1px solid var(--v2-line);color:var(--v2-blue);line-height:1.6;min-height:44px;border-radius:0}.v2-process{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}.v2-process span{display:flex;width:40px;height:40px;background:var(--v2-soft);color:var(--v2-blue);align-items:center;justify-content:center;border-radius:8px;font-size:12px}.v2-process h3{font-size:18px;margin:18px 0 10px}.v2-process p{font-size:14px;line-height:1.7;color:var(--v2-muted)}.v2-faq{display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:start;margin-top:28px}.v2-faq details{border-top:1px solid var(--v2-line);padding:8px 0}.v2-faq summary{font-size:15px;line-height:1.6;padding:9px 0;font-weight:650}.v2-faq p{font-size:14px;line-height:1.75;color:var(--v2-muted);margin:8px 0 20px}.v2-related{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 30px;font-size:14px}.v2-bottom-quiz{padding-top:34px;margin-bottom:32px;border-top:1px solid var(--v2-line)}.v2-bottom-quiz h2{font-size:27px}.v2-bottom-quiz p{color:var(--v2-muted)}
#engineer-direct{padding-top:54px;padding-bottom:40px}.v2-engineer-topics{padding:24px 0}.v2-engineer-topics h3{font-size:17px}.v2-engineer-topics #ed-case-cards{display:flex;flex-wrap:wrap;gap:8px}.v2-engineer-topics .case-card{width:auto;min-height:44px;padding:12px 16px;background:#fff;border:1px solid var(--v2-line);color:var(--v2-blue);font-size:13px;border-radius:8px}.v2-engineer-topics .case-card[aria-pressed=true]{background:var(--v2-blue);color:#fff}.v2-engineer-topics .case-card span{color:inherit;background:none;padding:0}.ed-transcript-library audio{max-width:100%}.lightbox{max-width:95vw}.lightbox img{max-height:75vh;object-fit:contain}.v2-estimate:target,.v2-case:target{outline:2px solid #7aafc5;outline-offset:6px}
@media(min-width:761px) and (max-width:1000px){.v2-hero{gap:26px}.v2-hero h1{font-size:42px}.v2-routes,.v2-system-grid,.v2-process{grid-template-columns:repeat(2,1fr)}.v2-case-body{gap:26px}.v2-message{gap:24px}.v2-section-head{gap:28px}}
@media(max-width:760px){html{scroll-padding-top:24px}.v2-shell{width:calc(100% - 32px)}.v2-breadcrumbs{padding-top:14px}.v2-hero{grid-template-columns:1fr;gap:22px;padding-top:22px;padding-bottom:22px}.v2-hero h1{font-size:42px;line-height:1.04;margin-bottom:18px}.v2-lead{font-size:21px}.v2-hero-copy>p:not(.v2-lead):not(.v2-eyebrow):not(.v2-fine){font-size:15px}.v2-eyebrow{font-size:10px;letter-spacing:.1em;margin-bottom:12px}.v2-actions{margin-top:18px;gap:10px}.v2-hero-photo [data-gallery] img{height:285px}.v2-image-note{bottom:12px;left:12px;right:12px;padding:12px}.v2-image-note b{font-size:16px}.v2-image-note span{font-size:11px}.v2-nav{gap:0;display:grid;grid-template-columns:repeat(3,1fr)}.v2-nav a{padding:8px;font-size:11px;justify-content:center}.v2-summary{grid-template-columns:1fr;gap:20px;padding-block:24px}.v2-summary>div{padding-left:16px}.v2-summary h2{font-size:17px}.v2-summary p{font-size:13px}.v2-quiz{padding-block:10px!important}.v2-section{padding-block:38px}.v2-section h2,.v2-case h2{font-size:29px;line-height:1.15}.v2-section-head{grid-template-columns:1fr;gap:4px;margin-bottom:20px}.v2-section-head>p{font-size:14px;margin-bottom:8px}.v2-routes{grid-template-columns:1fr 1fr;gap:8px}.v2-route{padding:16px 13px}.v2-route h3{font-size:17px;line-height:1.2;margin-top:14px;min-height:40px}.v2-route p{font-size:11px;min-height:34px}.v2-route b{font-size:10px}.v2-case{padding-block:32px}.v2-case-body{grid-template-columns:1fr;gap:24px}.v2-case-photos{gap:14px}.v2-case-photos figure+figure img{aspect-ratio:2}.v2-dimensions{font-size:13px}.v2-case-copy p,.v2-case-copy li{font-size:14px}.v2-cost-brief{padding:16px;gap:8px}.v2-cost-brief b{font-size:25px}.v2-cost-brief span{font-size:11px;max-width:140px}.v2-estimate>summary{padding:18px 14px;gap:12px;font-size:15px}.v2-estimate summary b{font-size:17px}.v2-estimate summary i{margin-left:5px;font-size:21px}.v2-estimate-inner{padding:16px 12px}.v2-table th,.v2-table td{padding:12px}.v2-subtotal{flex-direction:column;align-items:flex-start;font-size:13px!important}.v2-exclusions{padding:14px}.v2-message{grid-template-columns:1fr;gap:10px;padding:18px 14px}.v2-message h3{font-size:25px}.v2-message .v2-actions>*{width:100%}.v2-system-grid,.v2-process{grid-template-columns:1fr 1fr;gap:20px 16px}.v2-system-grid b,.v2-process h3{font-size:17px;line-height:1.3}.v2-system-grid p,.v2-process p{font-size:13px}.v2-access{padding:20px 16px;margin-top:22px}.v2-child-links>div{grid-template-columns:1fr;gap:0}.v2-faq{grid-template-columns:1fr}.v2-faq summary{font-size:14px}.v2-related{grid-template-columns:1fr}.ed-transcript-library{display:none!important}#engineer-direct{padding-top:30px}.v2-legacy .price-section{padding-inline:0!important}.v2-table{overscroll-behavior-x:contain}.v2-bottom-quiz h2{font-size:25px}}
.menu-toggle{width:48px;height:48px;padding:7px!important;border:0!important;background:transparent!important}.v2-menu-bars{display:flex;flex-direction:column;justify-content:space-between;width:30px;height:24px}.v2-menu-bars span{display:block;width:100%;height:3px;border-radius:2px;background:var(--v2-blue)}
.v2-table tbody th{text-transform:none;letter-spacing:0;background:#fff;font-size:13px}.v2-table a{min-height:44px}.v2-table a::after,.v2-case a::after,.v2-source-note a::after,.v2-related a::after,.v2-child-links a::after{content:none!important}.v2-access h3:not(:first-child){margin-top:24px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

@font-face{font-family:Onest;src:url("/assets/cutoff-r1/Onest-400.woff") format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Onest;src:url("/assets/cutoff-r1/Onest-600.woff") format('woff');font-weight:600;font-style:normal;font-display:swap}
:root{--gt-font:Onest,Arial,sans-serif;--gt-weight-normal:400;--gt-weight-strong:600;--gt-ink:#0b3045;--gt-muted:#546b79;--gt-line:#d4e2e9;--gt-surface:#f3f8fb;--gt-radius:8px}

body,button,input,textarea,select{font-family:Onest,Arial,sans-serif;font-synthesis:none}body{font-size:15px;line-height:1.55}strong,b,h1,h2,h3,h4{font-weight:600!important}.cutoff-page .v2-hero h1{font-size:clamp(34px,4vw,46px);line-height:1.12}.cutoff-page .v2-lead{font-size:20px;line-height:1.5}.cutoff-page h2{font-size:23px;line-height:1.25}.cutoff-page h3{font-size:18px;line-height:1.35}.cutoff-page .v2-summary{gap:24px}.cutoff-page .v2-section{padding-block:36px}.cutoff-page .v2-case{padding-block:28px}.cutoff-page .v2-case p,.cutoff-page .v2-summary p{font-size:15px}.cutoff-page .cl-photo img{display:block;object-fit:cover;border-radius:8px}.cutoff-page figure{margin:0}.cutoff-page figcaption{font-size:12px;line-height:1.5;color:#546b79;margin-top:10px}.cutoff-page figcaption p{margin:0 0 10px}.cutoff-crumbs{display:flex;flex-wrap:wrap;gap:10px;list-style:none;padding:0;margin:0;font-size:13px}.cutoff-crumbs li+li:before{content:' / ';color:#546b79}.cutoff-prose{max-width:920px}.cutoff-prose li{margin-bottom:12px}.cutoff-steps{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:24px}.cutoff-steps li{border-top:1px solid #d4e2e9;padding-top:16px}.cutoff-price{padding-block:36px}.cutoff-page .cl-figure-scene{position:relative}.cutoff-page .cl-photo-hotspot{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#086d96;color:white;border:2px solid white;text-decoration:none}.cutoff-page .cl-callout-notes{padding:0;list-style:none}.cutoff-page .cl-callout-notes li{display:flex;gap:12px;margin-top:12px}.cutoff-page .cl-callout-notes li>span{flex:none;width:24px;height:24px;border-radius:50%;background:#086d96;color:white;text-align:center}.cutoff-page a{overflow-wrap:anywhere}.cutoff-page .cl-faq-list summary{padding:14px 10px;min-height:44px}.cutoff-page .cl-faq-list details{border-bottom:1px solid #d4e2e9}.cutoff-page .cl-faq-list details div{padding:0 10px}.cutoff-page .v2-route{min-height:44px}.cutoff-page #video .v2-fine{margin-top:18px}.cutoff-page #work-price .summary{position:static!important;align-self:start}.cutoff-page #work-price .intro #price-title{font-size:30px;letter-spacing:-.5px}.cutoff-page #work-price .mobile-total[hidden]{display:none!important}.cutoff-page #work-price .messenger-note{display:none}@media(max-width:760px){.cutoff-page .v2-hero h1{font-size:34px}.cutoff-page .v2-lead{font-size:16px}.cutoff-page h2{font-size:21px}.cutoff-steps{grid-template-columns:1fr}.cutoff-page .v2-section{padding-block:28px}.cutoff-page .v2-routes{grid-template-columns:1fr 1fr}.cutoff-page .v2-route{padding:16px}.cutoff-page .v2-route h3{font-size:16px}.cutoff-page .v2-summary{grid-template-columns:1fr}.cutoff-page #work-price .intro #price-title{font-size:26px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*{scroll-behavior:auto!important}}

.cutoff-page figcaption a{text-decoration:underline;text-underline-offset:3px}.cutoff-page #contact>.v2-text-link{display:inline-flex;align-items:center;min-height:44px;margin-top:8px}.cutoff-page .cl-figure-scene img{aspect-ratio:1/1;width:100%;height:auto}

/* R2: замечания владельца — компактные сценарии, общая геометрия медиа, штатные кнопки. */
.cutoff-tabs{display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid #d4e2e9;padding-bottom:14px;margin:20px 0}.cutoff-tabs a{display:flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:1px solid #bfd3df;border-radius:8px;text-decoration:none;font-size:14px;color:#0c648b;background:white}.cutoff-tabs [aria-selected=true]{background:#0c648b;color:white;border-color:#0c648b}.cutoff-case[hidden]{display:none!important}.cutoff-case>h3{font-size:23px;margin:24px 0 18px}.cutoff-comparison{display:grid;grid-template-columns:1fr 1fr;gap:24px}.cutoff-pair-photo{position:relative;aspect-ratio:1082/727;overflow:hidden;border-radius:8px;background:#edf3f5}.cutoff-pair-photo img{display:block;width:100%;height:100%;object-fit:cover}.cutoff-before{object-position:left center}.cutoff-after{object-position:right center}.cutoff-pair-photo>span{position:absolute;bottom:12px;left:12px;right:12px;width:max-content;max-width:calc(100% - 24px);padding:8px 12px;border-radius:8px;background:#092c45e8;color:white;font-size:13px;line-height:1.4}.cutoff-case-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:24px}.cutoff-case-facts h4{font-size:16px;margin:0 0 8px}.cutoff-case-facts p{margin:0 0 12px;font-size:14px;line-height:1.65}.cutoff-page #scheme>.v2-case-body{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.cutoff-page #scheme .cl-figure-scene{aspect-ratio:4/3;overflow:hidden;border-radius:8px}.cutoff-page #scheme .cl-figure-scene img{aspect-ratio:4/3;object-fit:cover;height:100%;width:100%}.cutoff-page #scheme .cl-figure-scene>a:first-child{display:block;height:100%}.cutoff-video-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:32px;align-items:start}.cutoff-video-player{aspect-ratio:16/9;position:relative;background:#092c45;border-radius:8px;overflow:hidden}.cutoff-video-player>button{position:relative;display:block;width:100%;height:100%;border:0;background:#092c45;padding:0;cursor:pointer;color:white;text-align:left}.cutoff-video-player>button:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#092c45ee,transparent 70%)}.cutoff-video-player img{display:block;width:100%;height:100%;object-fit:cover}.cutoff-video-player iframe{display:block;width:100%;height:100%;border:0}.cutoff-play{position:absolute;z-index:1;top:40%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:68px;height:68px;background:white;color:#0c648b;border-radius:50%;font-size:24px;padding-left:4px}.cutoff-video-title{position:absolute;z-index:1;left:24px;bottom:24px;right:20px;font-size:22px;font-weight:600}.cutoff-video-title small{display:block;font-size:12px;font-weight:400;margin-top:5px}.cutoff-video-description h3{margin-top:0}.cutoff-video-description p,.cutoff-video-description li{font-size:14px;line-height:1.6}.cutoff-video-description ul{padding-left:18px}.cutoff-page .cl-faq-list summary{display:flex;gap:24px;align-items:center;justify-content:space-between;list-style:none;padding:20px 0}.cutoff-page .cl-faq-list summary:after,.cutoff-page .cl-faq-list summary:before{display:none!important;content:none!important}.cutoff-page .cl-faq-list summary::-webkit-details-marker{display:none}.cutoff-faq-toggle{font-family:Arial,sans-serif;font-size:22px;font-weight:400!important;line-height:1;width:24px;flex:none;text-align:center;color:#0c648b}.cutoff-page .cl-faq-list details[open] .cutoff-faq-toggle{font-size:0}.cutoff-page .cl-faq-list details[open] .cutoff-faq-toggle:after{content:'−';font-size:22px;font-weight:400}.cutoff-page .ecv2{margin-block:44px}.cutoff-page .ecv2 h2{font-size:clamp(26px,3vw,38px);line-height:1.15}.cutoff-page .ec-portrait{margin:0}.cutoff-page .ec-portrait img{object-fit:cover}.cutoff-page .gt-messenger-buttons svg{width:21px!important;height:21px!important;flex:none}.cutoff-page .gt-home-quiz__body [data-gt-marquiz-inline]{min-height:940px}.cutoff-page .gt-home-quiz[data-fit-status=active] .gt-home-quiz__body [data-gt-marquiz-inline]{min-height:0}.cutoff-page .gt-home-quiz [data-load-state=unavailable]{min-height:0}
.cutoff-page a:focus-visible,.cutoff-page button:focus-visible,.cutoff-page summary:focus-visible{outline:3px solid #0c648b;outline-offset:4px}.cutoff-page #technology .cutoff-prose{columns:2;column-gap:40px;max-width:none}.cutoff-page #technology .cutoff-prose p{break-inside:avoid;margin-top:0;margin-bottom:18px}.cutoff-page #timing .cutoff-prose{padding:22px;border-left:3px solid #63b6dc;background:#f3f8fb;border-radius:8px}.cutoff-page #mistakes li{padding:10px 0;border-bottom:1px solid #e1ebf0}
@media(max-width:900px){.cutoff-case-facts{grid-template-columns:1fr}.cutoff-video-layout{grid-template-columns:1fr}.cutoff-page #technology .cutoff-prose{columns:1}}@media(max-width:760px){.cutoff-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cutoff-tabs a{padding:10px 8px;font-size:13px}.cutoff-comparison{gap:12px}.cutoff-pair-photo>span{font-size:10px;left:6px;right:6px;bottom:6px;padding:5px 6px;max-width:calc(100% - 12px)}.cutoff-comparison figcaption{font-size:11px}.cutoff-page #scheme>.v2-case-body{grid-template-columns:1fr}.cutoff-video-title{font-size:18px;left:16px;bottom:16px}.cutoff-video-title small{font-size:10px}.cutoff-play{width:52px;height:52px;font-size:20px}.cutoff-page .ecv2 h2{font-size:26px}.cutoff-page .gt-home-quiz__body [data-gt-marquiz-inline]{min-height:1060px}}
.cutoff-page #scheme .cl-figure-scene,.cutoff-page #scheme .cl-figure-scene img{aspect-ratio:1/1}
.cutoff-video-description a{text-decoration:underline;text-underline-offset:3px}

#work-price{--ink:#0b3045;--muted:#546b79;--blue:#086d96;--line:#d4e2e9;--pale:#f3f8fb}#work-price *{box-sizing:border-box}#work-price{margin:0;color:var(--ink);font:15px/1.55 Onest,Arial,sans-serif;background:white}#work-price button,#work-price input,#work-price textarea{font:inherit}#work-price button,#work-price a,#work-price input,#work-price summary{touch-action:manipulation}#work-price button,#work-price a{color:inherit}#work-price button{cursor:pointer;border:1px solid var(--line);background:white;border-radius:8px;min-height:44px;padding:10px 15px}#work-price button:hover{border-color:var(--blue);background:#edf7fb}#work-price button:disabled{opacity:.5;cursor:default}#work-price a{text-underline-offset:4px}#work-price a:focus-visible,#work-price button:focus-visible,#work-price input:focus-visible,#work-price textarea:focus-visible,#work-price summary:focus-visible{outline:3px solid #1382aa;outline-offset:3px}#work-price input,#work-price textarea{border:1px solid #aac3d0;border-radius:7px;padding:10px;color:var(--ink);background:#fff}#work-price h1,#work-price h2,#work-price h3,#work-price p{margin:0}#work-price h1{font-size:clamp(32px,3.6vw,46px);line-height:1.12;letter-spacing:-1.4px;font-weight:600}#work-price h2{font-size:23px;line-height:1.25;font-weight:600}#work-price h3{font-size:17px;line-height:1.4;font-weight:600}#work-price .shell{max-width:1284px;padding:0 32px;margin:auto}#work-price .review-bar{padding:9px 32px;background:#eaf3f8;font-size:12px;display:flex;justify-content:space-between;gap:12px}#work-price .brand{display:flex;align-items:center;justify-content:space-between;padding-top:28px;padding-bottom:36px}#work-price .brand img{width:220px;height:auto}#work-price .brand span{font-size:13px;color:var(--muted)}#work-price .intro{display:flex;align-items:flex-end;justify-content:space-between;gap:35px;margin:10px 0 36px}#work-price .eyebrow{font-size:10px;font-weight:600;letter-spacing:1.8px;color:var(--blue);margin-bottom:15px}#work-price .lead{font-size:16px;line-height:1.6;color:var(--muted);margin-top:20px}#work-price .edition{max-width:310px;flex-shrink:0;padding-bottom:2px}#work-price .badge{display:inline-block;font-size:11px;border:1px solid var(--line);border-radius:5px;padding:4px 8px;color:var(--muted)}#work-price .edition p{font-size:12px;color:var(--muted);margin:9px 0}#work-price .edition>a{display:flex;min-height:48px;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--blue);color:var(--blue);gap:18px}#work-price .edition small{display:block;font-size:10px;color:var(--muted);margin-top:8px}#work-price .tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:28px}#work-price .tabs a{display:flex;gap:10px;min-height:60px;align-items:center;text-decoration:none;padding:14px 22px;border-bottom:3px solid transparent;font-size:11px;color:var(--muted)}#work-price .tabs a>span:first-child{font-size:16px}#work-price .tabs a[aria-selected=true]{color:var(--blue);border-bottom-color:var(--blue);background:#f4f9fc;border-radius:8px 8px 0 0}#work-price .count{display:grid;place-items:center;background:#e3eff5;border-radius:5px;min-width:22px;height:22px;font-size:11px}#work-price .workspace{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px;align-items:start}#work-price .panel[hidden]{display:none!important}#work-price .panel:not([hidden])~.panel:not([hidden]){margin-top:40px}#work-price .panel-heading{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:0 0 18px}#work-price .panel-heading p{font-size:13px;color:var(--muted);margin-top:6px}#work-price .subtle{font-size:11px;color:var(--muted)}#work-price table{width:100%;border-collapse:collapse;text-align:left}#work-price th{font-weight:400}#work-price thead{font-size:11px;color:var(--muted);background:var(--pale)}#work-price thead th{padding:10px 9px}#work-price tbody th,#work-price tbody td{border-bottom:1px solid var(--line);padding:17px 9px}#work-price tbody th{padding-left:0;width:47%}#work-price tbody th strong{font-size:14px;font-weight:600}#work-price tbody th small{display:block;font-size:11px;line-height:1.5;color:var(--muted);max-width:310px;margin-top:5px}#work-price .unit{font-size:12px;white-space:nowrap}#work-price .rate{font-size:15px;font-weight:600;white-space:nowrap}#work-price .add{font-size:12px;color:var(--blue);padding:9px 11px;white-space:nowrap}#work-price .table-note{font-size:12px;color:var(--muted);margin-top:18px}#work-price .summary{border:1px solid var(--line);border-top:3px solid #65b8db;border-radius:8px;padding:22px;background:var(--pale)}#work-price .summary-top{display:flex;justify-content:space-between;align-items:center}#work-price .summary-top .eyebrow{margin:0}#work-price .summary-top>span{font-size:11px;color:var(--muted)}#work-price #total-label{font-size:13px;margin-top:20px}#work-price #total{display:block;font-size:34px;font-weight:600;line-height:1.25;letter-spacing:-.6px;margin:7px 0}#work-price #total-note{font-size:12px;color:var(--muted);min-height:36px}#work-price #selected-list{margin-top:14px;font-size:11px}#work-price #selected-list p{display:flex;gap:8px;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}#work-price #selected-list strong{white-space:nowrap}#work-price .summary-limits{font-size:11px;color:var(--muted);margin:15px 0}#work-price .summary>button{width:100%;margin:5px 0;font-size:13px}#work-price .primary{background:var(--ink);border-color:var(--ink);color:white}#work-price .primary:hover{background:#14526f;color:white}#work-price .text-button{border:0;background:transparent;text-decoration:underline;font-size:12px}#work-price .feedback{font-size:12px;line-height:1.5;margin-top:8px;color:var(--blue);overflow-wrap:anywhere}#work-price .contact-mini{border-top:1px solid var(--line);margin-top:18px;padding-top:20px}#work-price .contact-mini>p{font-size:12px;color:var(--muted);margin:9px 0 14px}#work-price .contact-mini label:not(.consent){font-size:12px;display:block;margin-bottom:5px}#work-price .contact-mini input[type=tel]{width:100%;min-height:44px}#work-price .consent{display:flex;gap:8px;margin:12px 0;font-size:10px;line-height:1.5;align-items:flex-start;min-height:44px}#work-price .consent input{width:18px;height:18px;flex-shrink:0;margin:2px 0}#work-price .contact-mini button{width:100%;font-size:13px;background:white}#work-price .example-row{display:flex;gap:6px;align-items:center;flex-wrap:wrap;font-size:11px;margin-bottom:20px}#work-price .example-row button{font-size:11px;padding:7px 10px}#work-price .example-row .quiet{margin-left:auto;border:0;text-decoration:underline}#work-price .calc-header,#work-price .calc-row{display:grid;grid-template-columns:minmax(0,1fr) 118px 91px 100px;gap:12px;align-items:center}#work-price .calc-header{background:var(--pale);font-size:11px;padding:10px 0;color:var(--muted)}#work-price .calc-row{border-bottom:1px solid var(--line);padding:15px 0}#work-price .work-name label{font-size:13px;font-weight:600}#work-price .work-name small{display:block;font-size:10px;color:var(--muted);line-height:1.5;margin-top:5px}#work-price .quantity{display:flex;align-items:center;gap:6px}#work-price .quantity input{width:76px;min-width:0;height:44px;font-size:15px;padding:8px}#work-price .quantity span{font-size:10px;line-height:1.3}#work-price .unit-price{font-size:12px}#work-price .line-total{font-size:13px;font-weight:600;text-align:right}#work-price .error{grid-column:1/-1;color:#a93224;font-size:12px}#work-price .error:empty{display:none}#work-price input[aria-invalid=true]{border-color:#a93224}#work-price .formula{font-size:12px;background:var(--pale);padding:15px;border-radius:8px;margin-top:20px}#work-price .formula span{font-size:20px;color:var(--blue);margin-right:10px}#work-price .scope-grid{display:grid;grid-template-columns:1fr;gap:20px;margin:25px 0}#work-price .scope-grid article{position:relative;padding-left:48px;border-bottom:1px solid var(--line);padding-bottom:20px}#work-price .step{position:absolute;left:0;color:var(--blue);font-size:13px}#work-price .scope-grid p,#work-price #scope>p{font-size:14px;color:var(--muted);margin-top:8px}#work-price details{border-top:1px solid var(--line);margin-top:24px;font-size:13px}#work-price summary{cursor:pointer;min-height:54px;padding:14px 0;font-weight:600}#work-price details p{color:var(--muted);padding-bottom:15px}#work-price .bottom-note{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;margin:32px 0;padding:25px 0;color:var(--muted);font-size:12px}#work-price .bottom-note a{color:var(--ink)}#work-price .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#work-price dialog{width:min(580px,calc(100% - 32px));max-height:90vh;padding:28px;border:0;border-radius:8px;color:var(--ink)}#work-price dialog::backdrop{background:#082a3cd9}#work-price dialog .close{float:right;font-size:26px;padding:0;width:44px}#work-price dialog h2{margin:12px 0}#work-price dialog p{font-size:13px;margin:10px 0}#work-price dialog textarea{width:100%;resize:vertical;font-size:12px;line-height:1.5;margin:8px 0 15px}#work-price dialog .primary{width:100%}#work-price .messengers{display:flex;gap:10px;flex-wrap:wrap}#work-price .messengers a{display:flex;align-items:center;min-height:44px;color:var(--blue);font-size:13px}#work-price dialog small{display:block;font-size:11px;color:var(--muted);margin-top:10px}@media (max-width:1050px){#work-price .workspace{grid-template-columns:minmax(0,1fr) 285px;gap:22px}#work-price .calc-header,#work-price .calc-row{grid-template-columns:minmax(0,1fr) 105px 70px}#work-price .unit-price{display:none}#work-price .calc-header span:nth-child(3){display:none}#work-price .add span{display:none}#work-price .add{width:44px}#work-price .intro{gap:22px}#work-price .edition{max-width:270px}#work-price .summary{padding:18px}}@media (max-width:760px){#work-price .shell{padding:0 16px}#work-price .review-bar{padding:8px 16px;font-size:10px}#work-price .review-bar a{display:none}#work-price .brand{padding-top:22px;padding-bottom:28px}#work-price .brand img{width:172px}#work-price .brand span{font-size:10px;max-width:105px;text-align:right}#work-price .intro{display:block;margin-top:4px;margin-bottom:24px}#work-price h1{font-size:34px;letter-spacing:-1px}#work-price .lead{font-size:14px;margin-top:16px}#work-price .desktop{display:none}#work-price .edition{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;margin-top:22px}#work-price .badge{font-size:10px;justify-self:start}#work-price .edition p{font-size:10px;grid-column:1;margin:2px 0}#work-price .edition>a{grid-column:2;grid-row:1/3;font-size:12px;line-height:1.45;gap:5px}#work-price .edition small{grid-column:1/-1;margin:0;font-size:10px}#work-price .tabs{gap:0;margin-bottom:22px;justify-content:space-between}#work-price .tabs a{padding:10px 8px;gap:5px;font-size:9px;min-height:55px}#work-price .tabs a>span:first-child{font-size:12px;line-height:1.25}#work-price .count{min-width:17px;height:18px;font-size:10px}#work-price .workspace{display:block}#work-price .summary{margin-top:24px;padding:20px}#work-price .panel-heading{align-items:flex-start}#work-price h2{font-size:21px}#work-price .panel-heading p{font-size:12px}#work-price .subtle{font-size:10px}#work-price table,#work-price tbody{display:block}#work-price thead{display:none}#work-price tbody tr{display:grid;grid-template-columns:1fr auto;gap:6px 14px;border-bottom:1px solid var(--line);padding:15px 0}#work-price tbody th,#work-price tbody td{border:0;padding:0}#work-price tbody th{width:auto;grid-column:1/-1}#work-price tbody th strong{font-size:14px}#work-price tbody th small{max-width:none;font-size:11px}#work-price .unit{grid-column:1;grid-row:2;font-size:11px}#work-price .unit:before{content:"За ";}#work-price .rate{grid-column:1;grid-row:3;font-size:17px}#work-price .add-cell{grid-column:2;grid-row:2/4;align-self:center}#work-price .add{width:auto}#work-price .add span{display:inline}#work-price .table-note{font-size:11px}#work-price .calc-header{display:none}#work-price .calc-row{grid-template-columns:minmax(0,1fr) 118px;gap:10px}#work-price .work-name{grid-column:1/-1}#work-price .work-name label{font-size:14px}#work-price .work-name small{font-size:11px}#work-price .quantity{grid-column:1}#work-price .unit-price{display:block;grid-column:1;grid-row:auto;font-size:11px;color:var(--muted)}#work-price .unit-price:before{content:"Ставка: ";}#work-price .line-total{grid-column:2;grid-row:2/4;font-size:16px}#work-price .quantity input{width:95px}#work-price .quantity span{font-size:11px}#work-price .example-row{font-size:10px}#work-price .example-row>span{width:100%}#work-price .example-row button{font-size:10px}#work-price #selected-list{font-size:12px}#work-price .contact-mini>p{font-size:13px}#work-price .consent{font-size:11px}#work-price .bottom-note{display:block;font-size:11px}#work-price .bottom-note a{display:inline-flex;align-items:center;min-height:44px}#work-price dialog{padding:20px}#work-price dialog h2{font-size:23px}}@media (prefers-reduced-motion:reduce){#work-price *{scroll-behavior:auto!important;transition:none!important}}#work-price .mobile-total{display:none}#work-price .mobile-total[hidden]{display:none!important}@media (max-width:760px){#work-price.has-mobile-total{padding-bottom:80px}#work-price .mobile-total{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:5;align-items:center;justify-content:space-between;padding:10px 16px;background:#0b3045;color:white;box-shadow:0 -3px 15px #12324718}#work-price .mobile-total small{display:block;font-size:10px;color:#c3dae6}#work-price .mobile-total strong{display:block;font-size:19px}#work-price .mobile-total button{background:white;color:#0b3045;font-size:13px;min-height:44px}#work-price .summary{scroll-margin-top:16px}}#work-price .rates tbody th{width:43%;padding-right:18px}#work-price .rates tbody td{vertical-align:middle}#work-price .price-rate{min-width:90px}#work-price .price-rate strong{display:block;font-size:14px;font-weight:600;white-space:nowrap}#work-price .price-rate>span{display:block;font-size:10px;color:var(--muted);margin-top:3px}#work-price .price-quantity{width:122px}#work-price .price-quantity .quantity input{width:80px}#work-price .price-quantity .error{display:block;max-width:135px;margin-top:5px;font-size:10px}#work-price .price-quantity .error:empty{display:none}#work-price .price-sum{text-align:right;font-size:14px;font-weight:600;white-space:nowrap}#work-price .rates tr.is-selected{background:#f3f9fc}#work-price .rates tr.is-selected th{box-shadow:inset 3px 0 #65b8db;padding-left:12px}#work-price .direct-messengers{margin-top:15px}#work-price .direct-messengers a{display:flex;align-items:center;justify-content:center;min-height:46px;gap:8px;border:1px solid var(--line);border-radius:8px;text-decoration:none;font-size:13px;background:white}#work-price .direct-messengers .direct-max{justify-content:space-between;background:var(--ink);color:white;border-color:var(--ink);padding:10px 15px}#work-price .direct-messengers>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}#work-price .direct-messengers svg{width:19px;height:19px;flex-shrink:0}#work-price .direct-messengers a:hover{border-color:var(--blue)}#work-price .contact-mini .attach-help{font-size:11px;line-height:1.6;margin-top:12px;color:var(--muted)}#work-price .optional-phone{margin-top:15px}#work-price .optional-phone summary{font-size:12px;font-weight:400}#work-price .optional-phone>p{font-size:11px;color:var(--muted);margin-bottom:12px}#work-price .messenger-note{font-size:10px;color:var(--muted);margin-bottom:24px}@media (min-width:761px){#work-price .summary{position:static;align-self:start}#work-price .rates tbody th{width:40%}}@media (min-width:761px) and (max-width:1050px){#work-price .workspace{grid-template-columns:minmax(0,1fr) 265px;gap:18px}#work-price .rates tbody th{width:auto}#work-price .rates tbody th strong{font-size:12px}#work-price .price-rate{min-width:76px}#work-price .price-rate strong{font-size:12px}#work-price .price-quantity{width:90px}#work-price .price-quantity .quantity input{width:65px}#work-price .price-sum{font-size:12px}#work-price .rates tbody td{padding-left:5px;padding-right:5px}}@media (max-width:760px){#work-price .rates tbody tr{grid-template-columns:1fr 1fr;gap:12px 16px;padding:18px 0}#work-price .rates tbody th{width:auto;padding-right:0}#work-price .price-rate{grid-column:1;grid-row:2}#work-price .price-rate strong{font-size:17px}#work-price .price-rate>span{font-size:11px}#work-price .price-quantity{grid-column:2;grid-row:2;width:auto;justify-self:end}#work-price .price-quantity .quantity input{width:90px;font-size:16px}#work-price .price-sum{grid-column:1/-1;grid-row:3;text-align:right;font-size:16px}#work-price .price-sum:before{content:"Сумма строки ";float:left;font-size:11px;font-weight:400;color:var(--muted)}#work-price .rates tr.is-selected{padding:18px 10px;border-radius:8px}#work-price .rates tr.is-selected th{box-shadow:none;padding-left:0}#work-price .price-quantity .error{max-width:125px}#work-price .summary{position:static}}#work-price .rates tbody th,#work-price .rates tbody td{padding-top:10px;padding-bottom:10px}#work-price .rates tbody th small{margin-top:3px;line-height:1.4}#work-price .price-examples{margin:0 0 14px;border-top:0}#work-price .price-examples>summary{font-size:12px;font-weight:400;min-height:44px;padding:10px 0;color:var(--blue)}#work-price .price-examples .example-row{margin:0 0 12px}#work-price .price-conditions{margin-top:20px}#work-price .price-conditions>summary{font-size:13px}#work-price .price-conditions .scope-grid{gap:10px;margin:12px 0}#work-price .price-conditions .scope-grid article{padding-bottom:12px}#work-price .price-conditions>p{font-size:13px;color:var(--muted);margin:8px 0 16px}#work-price .price-conditions h3{font-size:15px}#work-price .price-conditions .scope-grid p{font-size:13px}#work-price .intro h1{max-width:710px}@media (max-width:760px){#work-price .rates tbody tr,#work-price .rates tbody tr.is-selected{padding-top:12px;padding-bottom:12px;gap:6px 12px}#work-price .rates tbody th,#work-price .rates tbody td{padding-top:0;padding-bottom:0}#work-price .rates tbody th small{font-size:11px;line-height:1.4}#work-price .intro h1{font-size:32px}}#work-price #total.is-long{font-size:24px}@media (min-width:761px){
 #work-price .workspace{align-items:stretch;row-gap:0}
 #work-price .workspace>.panels,#work-price .workspace #price-list{display:contents}
 #work-price .workspace .panel-heading{grid-column:1;grid-row:1}
 #work-price .workspace #calculator{position:absolute}
 #work-price .workspace .price-examples{grid-column:1;grid-row:2}
 #work-price .workspace .rates{grid-column:1;grid-row:3;align-self:stretch;height:100%}
 #work-price .workspace .table-note{grid-column:1;grid-row:4}
 #work-price .workspace .price-conditions{grid-column:1;grid-row:5}
 #work-price .workspace>.summary{grid-column:2;grid-row:3;position:static;align-self:stretch;margin-top:var(--price-head-height,37px);padding-top:10px}
}
.gt-direction-quiz.gt-home-quiz{box-sizing:border-box;width:calc(100% - 64px);max-width:1220px;margin:24px auto 32px;padding:16px;background:#f1f5f7;border:1px solid #edf1f4;border-radius:16px;scroll-margin-top:24px}
.gt-home-quiz *{box-sizing:border-box}
.gt-home-quiz__shell{display:grid;grid-template-columns:240px minmax(0,1fr);align-items:stretch;border:1px solid #d7e4eb;border-radius:12px;background:#fff;box-shadow:0 8px 28px #092a4010}
.gt-home-quiz__aside{display:flex;flex-direction:column;gap:24px;min-width:0;padding:28px 24px 24px;border-radius:11px 0 0 11px;background:#0a2d43;color:#fff}
.gt-home-quiz__logo{display:block;max-width:100%;width:174px;height:auto}
.gt-home-quiz__aside p,.gt-home-quiz__aside h2{margin:0}
.gt-home-quiz__aside .gt-home-quiz__eyebrow{margin-bottom:10px;color:#83cbe9;font-size:10px;font-weight:700;letter-spacing:1.1px;text-transform:uppercase;line-height:1.5}
.gt-home-quiz__aside h2{margin-bottom:14px;color:#fff;font-size:25px;font-weight:650;line-height:1.16;letter-spacing:-.5px}
.gt-home-quiz__intro>p:last-child{color:#d2e4ee;font-size:14px;line-height:1.65}
.gt-home-quiz__steps{display:grid;gap:17px;list-style:none;margin:0;padding:22px 0 0;border-top:1px solid #ffffff29}
.gt-home-quiz__steps li{display:flex;align-items:flex-start;gap:12px;font-size:13px;line-height:1.4}
.gt-home-quiz__steps li>span{padding-top:2px;color:#6cbedf;font-size:11px;font-weight:600}
.gt-home-quiz__steps small{display:block;margin-top:3px;color:#a9c5d5;font-size:11px;line-height:1.5}
.gt-home-quiz__contact{margin-top:auto;padding-top:20px}
.gt-home-quiz__contact>p{margin:0 0 10px;color:#d2e4ee;font-size:12px}
.gt-home-quiz__messengers{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gt-home-quiz__messengers a{display:flex;gap:6px;align-items:center;justify-content:center;min-height:44px;padding:8px 6px;border:1px solid #86b5cf52;border-radius:8px;color:#e5f4fc;text-decoration:none;font-size:11px;font-weight:500;line-height:1.3}
.gt-home-quiz__messengers svg{width:17px;height:17px;flex-shrink:0}
.gt-home-quiz__messengers .gt-home-quiz__max{grid-column:1/-1;justify-content:flex-start;gap:8px;padding:11px 12px;border-color:#5bb5dc;background:#135574;color:#fff;font-size:13px}
.gt-home-quiz__max>span:last-child{margin-left:auto}
.gt-home-quiz__messengers a:hover{background:#226988;border-color:#94d9f5}
.gt-home-quiz__aside a:focus-visible{outline:3px solid #99e2ff;outline-offset:3px}
.gt-home-quiz__aside .gt-home-quiz__standalone{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin-top:10px;color:#b5d8e9;font-size:11px;text-underline-offset:4px}
.gt-home-quiz__body{min-width:0;align-self:start;border-radius:0 11px 11px 0;background:#fff}
.gt-home-quiz__body iframe{display:block;width:100%;border:0!important;border-radius:0 11px 11px 0!important}
@media(max-width:1100px){
 .gt-home-quiz__shell{grid-template-columns:minmax(0,1fr)}
 .gt-home-quiz__aside{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px 24px;padding:24px;border-radius:11px 11px 0 0}
 .gt-home-quiz__logo{width:140px;grid-column:1}
 .gt-home-quiz__intro{grid-column:1;grid-row:2}
 .gt-home-quiz__aside h2{font-size:23px;margin-bottom:8px}
 .gt-home-quiz__aside h2 br{display:none}
 .gt-home-quiz__eyebrow,.gt-home-quiz__steps{display:none}
 .gt-home-quiz__contact{grid-column:2;grid-row:1/3;margin:0;padding:0;align-self:center}
 .gt-home-quiz__body,.gt-home-quiz__body iframe{border-radius:0 0 11px 11px!important}
}
@media(max-width:760px){
 .gt-direction-quiz.gt-home-quiz{width:calc(100% - 32px);margin:16px auto 24px;padding:8px;border-radius:12px}
 .gt-home-quiz__aside{display:block;padding:20px 16px 12px}
 .gt-home-quiz__logo{width:132px;margin-bottom:16px}
 .gt-home-quiz__aside h2{font-size:22px;line-height:1.2;margin-bottom:8px}
 .gt-home-quiz__intro>p:last-child{font-size:13px;line-height:1.5}
 .gt-home-quiz__contact{padding-top:16px}
 .gt-home-quiz__contact>p{font-size:11px;margin-bottom:8px}
 .gt-home-quiz__messengers{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
 .gt-home-quiz__messengers a,.gt-home-quiz__messengers .gt-home-quiz__max{grid-column:auto;justify-content:center;padding:8px 4px;gap:5px;font-size:10px}
 .gt-home-quiz__max img{width:17px;height:17px}
 .gt-home-quiz__max>span:last-child{display:none}
 .gt-home-quiz__max>span:nth-child(2){font-size:0}
 .gt-home-quiz__max>span:nth-child(2):after{content:'MAX';font-size:10px}
 .gt-home-quiz__aside .gt-home-quiz__standalone{margin-top:0;min-height:36px;font-size:10px}
}

/* During mobile passage, keep only direct messenger access above the quiz. */
@media(max-width:760px){
 .gt-home-quiz[data-quiz-started="true"]{overflow-anchor:none}
 .gt-home-quiz[data-quiz-started="true"] .gt-home-quiz__aside{padding:10px 12px}
 .gt-home-quiz[data-quiz-started="true"] :is(.gt-home-quiz__logo,.gt-home-quiz__intro,.gt-home-quiz__steps,.gt-home-quiz__contact>p,.gt-home-quiz__standalone){display:none}
 .gt-home-quiz[data-quiz-started="true"] .gt-home-quiz__contact{padding:0}
}

/* Утверждённый R2. Все правила изолированы внутри единого модуля. */
#engineer-direct.ecv2{--ec-ink:#103349;--ec-muted:#587080;--ec-line:#d7e3e9;box-sizing:border-box;font-family:Arial,Helvetica,sans-serif;color:var(--ec-ink);font-size:14px;line-height:1.5;padding-block:48px 32px;margin-block:0;background:#fff;width:min(1220px,calc(100% - 64px));max-width:1220px;margin-inline:auto}
#engineer-direct.ecv2 *,#engineer-direct.ecv2 *:before{box-sizing:border-box}
#engineer-direct.ecv2 :is(h2,p,figure,fieldset){margin:0}
#engineer-direct.ecv2 :is(a,button,input,textarea){font-family:inherit;letter-spacing:normal}
#engineer-direct.ecv2 :is(a,button,input,textarea):focus-visible,#engineer-direct.ecv2 #ec-message:focus-visible{outline:3px solid #2b91bc;outline-offset:3px}
#engineer-direct.ecv2 .ec-layout{display:grid;grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);gap:40px;align-items:stretch}
#engineer-direct.ecv2 .ec-body{min-width:0}
#engineer-direct.ecv2 .ec-portrait{position:relative;border-radius:8px;overflow:hidden;min-height:600px;align-self:stretch;background:#e9e7e2}
#engineer-direct.ecv2 .ec-portrait>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scaleX(-1)}
#engineer-direct.ecv2 figcaption{position:absolute;inset:auto 0 0;padding:52px 24px 24px;color:#fff;background:linear-gradient(transparent,rgba(13,40,56,.94));border:0;text-align:left}
#engineer-direct.ecv2 figcaption strong{display:block;font-size:22px;line-height:1.2;margin-bottom:6px}#engineer-direct.ecv2 figcaption span{font-size:13px}
#engineer-direct.ecv2 .ec-eyebrow{display:flex;align-items:center;gap:12px;color:var(--ec-accent);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
#engineer-direct.ecv2 .ec-eyebrow:before{content:'';width:28px;height:2px;background:var(--ec-mark)}
#engineer-direct.ecv2 h2{font-size:38px;line-height:1.1;letter-spacing:-.035em;font-weight:600;padding:0;border:0;text-transform:none}
#engineer-direct.ecv2 h2 span{color:var(--ec-accent)}
#engineer-direct.ecv2 .ec-lead{color:var(--ec-muted);line-height:1.6;font-size:14px;margin:14px 0 20px;max-width:none}
#engineer-direct.ecv2 form{margin:0;padding:0;background:none;border:0}
#engineer-direct.ecv2 fieldset{min-width:0;padding:0;border:0}
#engineer-direct.ecv2 legend,#engineer-direct.ecv2 .ec-fields label,#engineer-direct.ecv2 .ec-notes-label{font-size:13px;font-weight:600;line-height:1.5;padding:0;margin:0 0 10px}
#engineer-direct.ecv2 legend span,#engineer-direct.ecv2 label>span:not(.ec-chips span){font-weight:400;font-size:11px;color:var(--ec-muted);margin-left:5px}
#engineer-direct.ecv2 .ec-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#engineer-direct.ecv2 .ec-chips label{display:flex;align-items:center;gap:7px;min-height:44px;margin:0;padding:9px 10px;border:1px solid var(--ec-line);border-radius:8px;font-size:12px;line-height:1.3;cursor:pointer;background:#fff;font-weight:400}
#engineer-direct.ecv2 .ec-chips input{appearance:auto;width:14px;height:14px;min-height:0;padding:0;margin:0;flex-shrink:0;accent-color:var(--ec-accent)}
#engineer-direct.ecv2 .ec-chips label:has(input:checked){background:#eef5f7;border-color:var(--ec-accent);color:var(--ec-accent)}
#engineer-direct.ecv2 .ec-chips label:has(input:focus-visible){outline:3px solid #2b91bc;outline-offset:3px}
#engineer-direct.ecv2 .ec-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:12px;margin-top:16px}
#engineer-direct.ecv2 .ec-fields label{display:block;margin:0}
#engineer-direct.ecv2 .ec-fields input{display:block;width:100%;min-width:0;height:44px;margin-top:8px;padding:10px;font-size:15px;font-weight:400;border:1px solid var(--ec-line);border-radius:8px;background:#fff;color:var(--ec-ink)}
#engineer-direct.ecv2 .ec-notes-label{display:block;margin:16px 0 8px}
#engineer-direct.ecv2 textarea{display:block;width:100%;min-height:70px;resize:none;overflow:hidden;padding:11px 12px;border:1px solid var(--ec-line);border-radius:8px;background:#fff;color:var(--ec-ink);font-size:15px;line-height:1.5}
#engineer-direct.ecv2 :is(input,textarea)::placeholder{color:#687e8a;opacity:1}
#engineer-direct.ecv2 .ec-ready{margin-top:14px;padding:13px 14px;background:#f3f7f8;border:1px solid #e2eaed;border-radius:8px}
#engineer-direct.ecv2 .ec-ready-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px;margin-bottom:8px}
#engineer-direct.ecv2 .ec-ready-heading strong{font-size:11px;font-weight:600}#engineer-direct.ecv2 .ec-ready-heading span{font-size:10px;color:var(--ec-muted)}
#engineer-direct.ecv2 #ec-message{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.6}
#engineer-direct.ecv2 .ec-copy-row{display:flex;align-items:center;gap:14px;margin-top:14px}
#engineer-direct.ecv2 .ec-copy{min-height:46px;flex-shrink:0;padding:10px 15px;border:0;border-radius:8px;font-size:13px;font-weight:600;line-height:1.5;color:#fff;background:var(--ec-accent);cursor:pointer}
#engineer-direct.ecv2 .ec-copy:disabled{opacity:.65}
#engineer-direct.ecv2 .ec-status{font-size:11px;line-height:1.6;color:var(--ec-muted)}
#engineer-direct.ecv2 .ec-messenger-step{display:flex;gap:16px;align-items:center;margin-top:18px;padding-top:16px;border-top:1px solid var(--ec-line)}
#engineer-direct.ecv2 .ec-messenger-step>span{font-size:11px;max-width:78px;line-height:1.5;color:var(--ec-muted)}
#engineer-direct.ecv2 .ec-messengers{display:flex;flex:1;gap:8px;min-width:0}
#engineer-direct.ecv2 .ec-messenger{display:inline-flex;flex:1;min-width:0;min-height:46px;gap:9px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #d7e0e5;border-radius:8px;background:#f8f9fa;color:#294858;font-size:12px;font-weight:600;line-height:1.3;text-decoration:none;box-shadow:none;transition:background-color 140ms,color 140ms,border-color 140ms}
#engineer-direct.ecv2 .ec-primary{color:#443662;border-color:#c9d0dd}
#engineer-direct.ecv2 .ec-messenger svg{width:21px;height:21px;flex-shrink:0;transition:color 140ms}
#engineer-direct.ecv2 .ec-max{display:block;width:56px;height:22px;background:currentColor;mask:url("/assets/engineer-contact-v2/max.svg") center/contain no-repeat}
#engineer-direct.ecv2 [data-channel=max]{--ec-channel:#471aff;--ec-icon:#471aff}
#engineer-direct.ecv2 [data-channel=telegram]{--ec-channel:#0878a4;--ec-icon:#229ed9}
#engineer-direct.ecv2 [data-channel=whatsapp]{--ec-channel:#087f5b;--ec-icon:#25d366}
#engineer-direct.ecv2 .ec-messenger:is(:focus-visible,:active){color:var(--ec-channel);background:#f0f2f3;border-color:#cbd5db}
#engineer-direct.ecv2 .ec-messenger:is(:focus-visible,:active) svg{color:var(--ec-icon)}
#engineer-direct.ecv2 .ec-attachment{font-size:11px;color:var(--ec-muted);line-height:1.6;margin-top:10px}
#engineer-direct.ecv2 .ec-legal{font-size:11px;line-height:1.6;color:#607480;margin:24px 0 0;padding-top:16px;border-top:1px solid var(--ec-line)}
@media(hover:hover){#engineer-direct.ecv2 .ec-messenger:hover{color:var(--ec-channel);background:#f0f2f3;border-color:#cbd5db}#engineer-direct.ecv2 .ec-messenger:hover svg{color:var(--ec-icon)}}
@media(min-width:761px) and (max-width:1050px){#engineer-direct.ecv2 .ec-layout{grid-template-columns:minmax(230px,.72fr) minmax(0,1.28fr);gap:24px}#engineer-direct.ecv2 h2{font-size:33px}#engineer-direct.ecv2 .ec-chips{grid-template-columns:repeat(2,minmax(0,1fr))}#engineer-direct.ecv2 .ec-messenger-step{display:block}#engineer-direct.ecv2 .ec-messenger-step>span{display:block;max-width:none;margin-bottom:8px}#engineer-direct.ecv2 .ec-copy-row{flex-wrap:wrap}#engineer-direct.ecv2 .ec-messenger{padding:0 8px}}
@media(max-width:760px){#engineer-direct.ecv2{width:calc(100% - 32px);padding-block:32px}#engineer-direct.ecv2 .ec-layout{display:flex;flex-direction:column;gap:22px}#engineer-direct.ecv2 .ec-portrait{min-height:0;height:180px;width:100%}#engineer-direct.ecv2 .ec-portrait>img{inset:0 0 0 auto;width:46%;object-position:50% 34%}#engineer-direct.ecv2 figcaption{width:58%;height:100%;right:auto;display:flex;flex-direction:column;justify-content:center;padding:20px;background:linear-gradient(90deg,#e9e7e2 88%,transparent);color:var(--ec-ink)}#engineer-direct.ecv2 figcaption strong{font-size:21px}#engineer-direct.ecv2 figcaption span{font-size:12px}#engineer-direct.ecv2 h2{font-size:30px}#engineer-direct.ecv2 .ec-eyebrow{font-size:9px}#engineer-direct.ecv2 .ec-chips{grid-template-columns:repeat(2,minmax(0,1fr))}#engineer-direct.ecv2 .ec-chips label{padding:9px}#engineer-direct.ecv2 .ec-fields{grid-template-columns:1fr 1.25fr;gap:10px}#engineer-direct.ecv2 .ec-fields label>span{display:block;margin:4px 0 0}#engineer-direct.ecv2 .ec-copy-row{display:block}#engineer-direct.ecv2 .ec-copy{width:100%}#engineer-direct.ecv2 .ec-status{display:block;margin-top:8px}#engineer-direct.ecv2 .ec-messenger-step{display:block;margin-top:14px;padding-top:14px}#engineer-direct.ecv2 .ec-messenger-step>span{max-width:none;display:block;margin-bottom:9px}#engineer-direct.ecv2 .ec-messenger{padding:0 9px}#engineer-direct.ecv2 .ec-ready-heading>span{display:none}}
@media(max-width:370px){#engineer-direct.ecv2 .ec-messengers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#engineer-direct.ecv2 .ec-primary{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){#engineer-direct.ecv2 .ec-messenger,#engineer-direct.ecv2 svg{transition:none}}

/* Журнальная оболочка уже содержит канонические внешние поля. */
.gt-journal > .wrap > #engineer-direct.ecv2,.gt-layout-shell > #engineer-direct.ecv2{width:100%;max-width:none}

/* Общие кнопки сохраняют принятую компактную сетку на узком телефоне. */
@media(max-width:370px){#engineer-direct.ecv2 .gt-messenger-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}#engineer-direct.ecv2 .gt-messenger-buttons [data-channel=max]{grid-column:1/-1}}

/* Эталон messenger-buttons-v1: знаки и состояния engineer-contact-v2 R2. */
.gt-messenger-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 12px}
.ec-messenger-step>.gt-messenger-buttons{flex:1;margin:0}
.gt-messenger-buttons .gt-messenger-button{display:inline-flex;min-width:0;min-height:46px;gap:9px;align-items:center;justify-content:center;padding:0 12px;border:1px solid #d7e0e5;border-radius:8px;background:#f8f9fa;color:#294858;font:600 12px/1.3 Arial,Helvetica,sans-serif;text-decoration:none;box-shadow:none;transition:background-color 140ms,color 140ms,border-color 140ms;box-sizing:border-box}
.gt-messenger-buttons .gt-messenger-button svg{width:21px;height:21px;flex-shrink:0;transition:color 140ms}
.gt-messenger-buttons .gt-max{display:block;width:56px;height:22px;flex-shrink:0;background:currentColor;mask:url("/assets/messenger-buttons-v1/max.svg") center/contain no-repeat}
.gt-messenger-buttons [data-channel=max]{color:#443662;border-color:#c9d0dd;--channel:#471aff;--icon:#471aff}
.gt-messenger-buttons [data-channel=telegram]{--channel:#0878a4;--icon:#229ed9}
.gt-messenger-buttons [data-channel=whatsapp]{--channel:#087f5b;--icon:#25d366}
.gt-messenger-buttons .gt-messenger-button:is(:focus-visible,:active){color:var(--channel);background:#f0f2f3;border-color:#cbd5db}
.gt-messenger-buttons .gt-messenger-button:is(:focus-visible,:active) svg{color:var(--icon)}
.gt-messenger-buttons .gt-messenger-button:focus-visible,.gt-message-copy:focus-visible{outline:3px solid #2b91bc;outline-offset:3px}
@media(hover:hover){.gt-messenger-buttons .gt-messenger-button:hover{color:var(--channel);background:#f0f2f3;border-color:#cbd5db}.gt-messenger-buttons .gt-messenger-button:hover svg{color:var(--icon)}}
.gt-message-copy{width:100%;min-height:46px;border:0;border-radius:8px;background:var(--cost-accent,#0c648b);color:white;padding:12px 14px;margin:16px 0 8px;font:600 14px/1.4 Arial,Helvetica,sans-serif;cursor:pointer}.gt-message-copy:disabled{opacity:.6;cursor:default}
.gt-message-feedback:empty{display:none}.gt-message-feedback{padding:12px;margin:12px 0;border-radius:8px;border:1px solid #d7e3e9;background:#f3f7f8;font:12px/1.6 Arial,Helvetica,sans-serif;color:#103349}.gt-message-feedback[data-state=copied]{background:#edf7f1;border-color:#aacdb8}.gt-message-feedback strong{font-size:14px}.gt-message-feedback p{margin:6px 0 0!important}.gt-copy-check{display:inline-flex;width:22px;height:22px;align-items:center;justify-content:center;border-radius:50%;background:#246547;color:white;animation:gt-copy-mark .24s ease-out}
@keyframes gt-copy-mark{from{transform:scale(.65)}to{transform:scale(1)}}
@container (max-width:420px){.gt-messenger-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}.gt-messenger-buttons [data-channel=max]{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.gt-messenger-buttons .gt-messenger-button,.gt-messenger-buttons svg{transition:none}.gt-copy-check{animation:none}}

.gtss{--gtss-ink:#092c45;--gtss-accent:#0c648b;--gtss-soft:#e7f4fa;--gtss-line:#dbe4e8;background:#f7f9fa;border-bottom:1px solid var(--gtss-line);color:var(--gtss-ink);font:14px/1.4 Arial,Helvetica,sans-serif;position:relative;z-index:30}.gtss *{box-sizing:border-box}.gtss-shell{max-width:1284px;margin:0 auto;padding:12px 32px;display:flex;align-items:center;gap:24px}.gtss-label{font-size:12px;font-weight:700;white-space:nowrap;text-decoration:none;color:var(--gtss-ink);min-height:44px;display:flex;align-items:center}.gtss-wrap{position:relative;flex:1;min-width:0}.gtss-form{margin:0;display:flex;gap:8px;align-items:center;border:1px solid #b8cdd7;background:#fff;border-radius:8px;padding:4px 4px 4px 12px}.gtss-icon{font-size:27px;flex:none;line-height:1}.gtss-form input{font:16px Arial,Helvetica,sans-serif;background:#fff;border:0;border-radius:6px;color:var(--gtss-ink);width:100%;min-width:0;min-height:44px;padding:8px;flex:1}.gtss-form button{display:flex;align-items:center;justify-content:center;gap:12px;white-space:nowrap;cursor:pointer;border:1px solid var(--gtss-accent);border-radius:6px;min-height:44px;padding:10px 17px;color:#fff;background:var(--gtss-accent);font:700 13px Arial,Helvetica,sans-serif}.gtss-tree{font-size:12px;color:var(--gtss-ink);text-decoration:none;white-space:nowrap;display:flex;align-items:center;min-height:44px}.gtss :focus-visible{outline:3px solid var(--gtss-accent);outline-offset:2px}.gtss-sr{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.gtss-suggestions{position:absolute;top:calc(100% + 5px);left:0;right:0;border:1px solid var(--gtss-line);border-radius:8px;padding:10px 16px;background:#fff;box-shadow:0 18px 30px #092c4520;max-height:min(430px,60dvh);overflow:auto;z-index:100}.gtss-suggestions[hidden]{display:none!important}.gtss-group{font:700 10px Arial,Helvetica,sans-serif;letter-spacing:.09em;text-transform:uppercase;margin:14px 0 4px;color:#576b78}.gtss-result{display:block;font:14px/1.5 Arial,Helvetica,sans-serif;border-bottom:1px solid var(--gtss-line);padding:12px 4px;min-height:44px;color:var(--gtss-ink);text-decoration:none;overflow-wrap:anywhere}.gtss-result:hover,.gtss-result:focus{background:var(--gtss-soft)}.gtss-note{font-size:12px;color:#576b78;padding:12px 0}.gtss-more{font-weight:bold;color:var(--gtss-accent)}html[data-brand="thermal-insulation"] .gtss{--gtss-accent:#7e5b14;--gtss-soft:#fbf3e2}html[data-brand="fire-protection"] .gtss{--gtss-accent:#a84235;--gtss-soft:#fbeae7}html[data-brand="restoration"] .gtss{--gtss-accent:#62594b;--gtss-soft:#f1eee8}@media(max-width:1024px){.gtss-label{display:none}}@media(max-width:760px){.gtss-shell{padding:10px 16px;gap:0}.gtss-tree{display:none}.gtss-form{gap:2px;padding-left:6px}.gtss-form button{padding:10px 12px}.gtss-icon{display:none}.gtss-form input{font-size:16px;padding-left:6px}.gtss-form input::placeholder{font-size:13px}.gtss-form button span{display:none}.gtss-suggestions{padding:8px 12px}}

/* Согласованный вариант 03: один контур и спокойный нижний акцент. */
.gtsh{--gtss-ink:#092c45;--gtss-accent:#216581;--gtss-soft:#edf6fa;--gtss-line:#e4eaed;--gtsh-mark:#63b6dc;--gtsh-paper:#fff;--gtsh-muted:#647581;--gtsh-border:color-mix(in srgb,var(--gtsh-mark) 45%,#dce7ec);position:relative;flex:0 0 174px;width:174px;min-width:0;height:44px;margin:0;color:var(--gtss-ink);font:13px/1.4 Arial,Helvetica,sans-serif;z-index:5;text-align:left}
.gtsh[data-theme="thermal-insulation"]{--gtsh-mark:#d8a64b;--gtss-accent:#816025;--gtss-soft:#fbf5e9}
.gtsh[data-theme="fire-protection"]{--gtsh-mark:#c85b4b;--gtss-accent:#99483f;--gtss-soft:#faefed}
.gtsh[data-theme="restoration"]{--gtsh-mark:#9b927f;--gtss-accent:#696252;--gtss-soft:#f4f1ec}
.gtsh *{box-sizing:border-box}.gtsh [hidden]{display:none!important}
.gtsh .gtsh-form{position:relative;isolation:isolate;display:flex;align-items:center;width:100%;height:44px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.gtsh .gtsh-form::before{content:"";position:absolute;inset:5px 0;z-index:-1;border:1px solid var(--gtsh-border);border-bottom-width:2px;border-radius:12px;background:var(--gtsh-paper);transition:inset .32s cubic-bezier(.2,.75,.3,1)}
.gtsh .gtsh-form:focus-within::before{inset:2px -2px}
.gtsh .gtsh-form:has(input:focus-visible)::before{border-width:2px}
.gtsh .gtsh-icon{position:absolute;left:12px;top:14px;width:16px;height:16px;pointer-events:none;color:var(--gtsh-muted)}
.gtsh .gtsh-icon svg{display:block;width:16px;height:16px}
.gtsh:focus-within .gtsh-icon{color:var(--gtss-accent)}
.gtsh input[type="search"]{display:block;appearance:none;min-width:0;width:100%;height:44px;min-height:44px;margin:0;padding:0 36px 0 36px;border:0;border-radius:12px;background:transparent;box-shadow:none;color:var(--gtss-ink);font:13px/1.4 Arial,Helvetica,sans-serif;outline:none}
.gtsh input::placeholder{color:var(--gtsh-muted);opacity:1}.gtsh input::-webkit-search-cancel-button{display:none}
.gtsh .gtsh-example{position:absolute;left:36px;right:10px;top:0;display:flex;align-items:center;height:44px;overflow:hidden;white-space:nowrap;pointer-events:none;color:var(--gtsh-muted);transition:opacity .26s ease,transform .26s ease}
.gtsh .gtsh-example.is-changing{opacity:0;transform:translateY(4px)}
.gtsh .gtsh-example.is-typing::after{content:"";width:1px;height:12px;background:var(--gtsh-mark);margin-left:2px;flex:none}
.gtsh:focus-within .gtsh-example,.gtsh.has-value .gtsh-example{visibility:hidden}
.gtsh .gtsh-submit{position:absolute;right:0;top:0;display:block;min-height:44px;width:36px;height:44px;margin:0;padding:0;border:0;border-radius:12px;box-shadow:none;background:transparent;color:var(--gtss-accent);font:17px/1 Arial,Helvetica,sans-serif;cursor:pointer;visibility:hidden}
.gtsh.has-value .gtsh-submit,.gtsh:has(input:not(:placeholder-shown)) .gtsh-submit{visibility:visible}
.gtsh .gtsh-submit:focus-visible{outline:2px solid var(--gtss-accent);outline-offset:2px}
.gtsh .gtss-suggestions{left:auto;right:0;top:calc(100% + 7px);width:min(360px,calc(100vw - 48px));padding:10px 14px;border-radius:12px;border-color:var(--gtss-line);box-shadow:0 10px 30px #092c4512;max-height:min(430px,55dvh);white-space:normal}
.gtsh .gtss-result{font-weight:400;letter-spacing:normal;text-transform:none;line-height:1.5;color:var(--gtss-ink)}
.gtsh .gtss-group{margin:12px 0 3px;font-weight:400}.gtsh .gtss-note{line-height:1.5}
.gtsh .gtss-result:focus-visible{outline:2px solid var(--gtss-accent);outline-offset:-2px}
/* Существующие семейства сохраняют своё меню и контакты. */
header.gt-header:has(.gtsh){overflow:visible;max-height:none}
header.gt-header:has(.gtsh) .gt-mobile-menu__panel{max-height:65dvh;overflow:auto}
header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__inner{gap:16px}
header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__nav{gap:12px;font-size:14px}
header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-brand__logo{width:184px}
header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__phone{font-size:14px}
header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__cta{display:inline-flex}
header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__inner:has(.gt-messengers)>.gt-header__cta{display:none}
header.header:has(.gtsh),header.masthead:has(.gtsh){position:sticky;top:0;z-index:80;overflow:visible}
header.header:has(.gtsh){background:#fff}
header.header:has(.gtsh) .header-inner{flex-wrap:wrap;gap:16px}
header.masthead:has(.gtsh){background:var(--paper,#fff)}
header.masthead .gtsh{margin-left:auto;--gtsh-paper:var(--paper,#fff)}
html:has(header .gtsh){scroll-padding-top:calc(var(--gtsh-header-height,160px) + 16px)}
body:has(header.masthead .gtsh) .contents{top:calc(var(--gtsh-header-height,160px) + 16px)}
header.site-header:has(.gtsh){position:sticky;top:0;z-index:80;background:#fff;overflow:visible}
header.site-header:has(.gtsh) .head-inner{gap:20px;flex-wrap:wrap}
/* Прежний запуск диалога сохранён для клавиатуры, вторую кнопку рядом не рисуем. */
header.site-header:has(.gtsh) #open-search{position:absolute;clip-path:inset(50%);width:1px;height:1px;min-height:0;padding:0;overflow:hidden;white-space:nowrap}
header.site-header:has(.gtsh) #open-search:focus-visible{position:static;clip-path:none;width:auto;height:44px;min-height:44px;padding:8px;overflow:visible}
/* Совместимость с отдельной утверждённой адаптивной шапкой 01. */
html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner{grid-template-columns:auto minmax(0,1fr) 174px auto var(--gtha-button-size);column-gap:12px}
html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__nav{gap:10px}
html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__contacts{gap:12px}
html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner>.gtsh{grid-column:3;grid-row:1;width:174px;max-width:174px;margin:0}
@media(max-width:1320px){
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__nav{display:none}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__cta{display:none}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-mobile-menu{display:block}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__inner{padding-right:100px}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__nav{display:none}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner{grid-template-columns:minmax(0,1fr) 174px auto var(--gtha-button-size)}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner>.gtsh{grid-column:2}
}
@media(max-width:920px){
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__inner{display:grid;grid-template-columns:minmax(80px,184px) minmax(128px,1fr) 44px;column-gap:12px;row-gap:8px;padding:16px 0;min-height:76px}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-brand{grid-column:1;grid-row:1;min-width:0;width:100%;max-width:184px;padding:0;order:initial}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-brand__logo{width:100%;max-width:184px}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gtsh{grid-column:2;grid-row:1;justify-self:end;width:174px;max-width:100%;min-width:128px}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__phone{display:inline-flex;align-items:center;min-height:44px;grid-column:1/3;grid-row:2;justify-self:start;order:initial}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-messengers{grid-column:2/4;grid-row:2;justify-self:end;order:initial}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-mobile-menu__toggle{right:32px;top:16px;width:44px;height:44px;padding:0;justify-content:center}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-mobile-menu__toggle>span{display:none}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner{grid-template-columns:minmax(0,1fr) 174px var(--gtha-button-size);row-gap:8px}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__contacts{grid-column:1/-1;grid-row:2;justify-content:space-between}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gtha-toggle{grid-column:3;grid-row:1}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-mobile-menu__panel{grid-column:1/-1;grid-row:4}
}
@media(max-width:760px){
  .gtsh input[type="search"]{font-size:16px}.gtsh input::placeholder{font-size:13px}
  .gtsh .gtsh-submit{width:44px}.gtsh.has-value input[type="search"]{padding-right:44px}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__inner{grid-template-columns:minmax(80px,144px) minmax(128px,1fr) 44px;column-gap:8px;padding-right:0}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-brand__logo{width:100%;max-width:144px}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-mobile-menu__toggle{right:16px;width:44px;padding:0;justify-content:center}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-mobile-menu__toggle>span{display:none}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gtsh .gtss-suggestions{right:-56px}
  header.masthead:has(.gtsh){flex-wrap:wrap;gap:8px 16px}
  header.masthead:has(.gtsh) .brand{width:144px}
  header.masthead:has(.gtsh) .gtsh{flex:1 1 128px;min-width:128px;max-width:174px}
  header.masthead:has(.gtsh) .edition{width:100%;font-size:10px}
  header.header:has(.gtsh) .gtsh{margin-left:auto}
  header.site-header:has(.gtsh) .brand{width:144px}
  header.site-header:has(.gtsh) .gtsh{flex:1 1 128px;min-width:128px;max-width:174px;margin-left:auto}
  header.site-header:has(.gtsh) .head-inner{gap:8px;padding-block:12px}
  header.header:has(.request-link):has(.gtsh) .header-inner{display:grid;grid-template-columns:minmax(90px,1fr) minmax(128px,174px);gap:8px 16px;padding-block:12px}
  header.header:has(.request-link):has(.gtsh) .logo{grid-column:1;grid-row:1;width:100%;max-width:145px;min-width:0}
  header.header:has(.request-link):has(.gtsh) .logo img{width:100%;max-width:100%;height:auto}
  header.header:has(.request-link):has(.gtsh) .gtsh{grid-column:2;grid-row:1;width:100%}
  header.header:has(.request-link):has(.gtsh) nav{grid-column:1/-1;grid-row:2;min-width:0}
  header.header:has(.request-link):has(.gtsh) .request-link{grid-column:1/-1;grid-row:3;justify-self:end;display:flex;align-items:center;min-height:44px}
}
@media(max-width:540px){
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner{grid-template-columns:minmax(0,1fr) var(--gtha-button-size)}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gtha-toggle{grid-column:2}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner>.gtsh{grid-column:1/-1;grid-row:2;justify-self:end;width:174px;max-width:174px}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__contacts{grid-row:3}
}
@media(max-width:390px){
  header.masthead:has(.gtsh) .brand,header.site-header:has(.gtsh) .brand{width:110px}
}
@media(prefers-reduced-motion:reduce){
  .gtsh .gtsh-form::before,.gtsh .gtsh-example{transition:none;transform:none}
  .gtsh .gtsh-example.is-changing{opacity:1}.gtsh .gtsh-example.is-typing::after{display:none}
}

/* Дизайн R3 согласован; отдельная ревизия ожидает разрешения публикации. */
.gtsh .gtsh-submit{display:grid;place-items:center;visibility:visible;width:44px;min-width:44px;height:44px;min-height:44px;border-radius:8px;background:var(--gtss-ink);color:#fff;transition:background .16s ease,transform .16s ease}
.gtsh .gtsh-submit svg{display:block;width:24px;height:24px}
.gtsh .gtsh-submit:hover{background:#16435f}
.gtsh .gtsh-submit:active{transform:scale(.96)}
.gtsh .gtsh-submit:focus-visible{outline:2px solid var(--gtss-accent);outline-offset:3px}
.gtsh input[type="search"]{padding-right:52px}
.gtsh .gtsh-example{right:52px}
.gtsh .gtss-more{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gtsh .gtss-more svg{width:20px;height:20px;flex:none}
@media(min-width:761px){
  .gtsh .gtsh-submit,.gtsh .gtsh-submit:hover{background:transparent}
  .gtsh .gtsh-submit::before{content:"";position:absolute;inset:6px;border-radius:8px;background:var(--gtss-ink)}
  .gtsh .gtsh-submit:hover::before{background:#16435f}
  .gtsh .gtsh-submit svg{position:relative;width:20px;height:20px}
  .gtsh .gtsh-icon{left:10px}
  .gtsh input[type="search"]{padding-left:32px;padding-right:42px}
  .gtsh .gtsh-example{left:32px;right:42px}
}
@media(max-width:760px){
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner{grid-template-columns:minmax(0,1fr) var(--gtha-button-size);row-gap:10px;padding-block:16px 12px}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gtha-toggle{grid-column:2;grid-row:1}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner>.gtsh{grid-column:1/-1;grid-row:2;justify-self:stretch;width:100%;max-width:none;min-width:0;margin:0;height:54px}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__contacts{grid-column:1/-1;grid-row:3;justify-content:space-between}
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-mobile-menu__panel{grid-column:1/-1;grid-row:4}
  .gtsh .gtsh-form{height:54px}
  .gtsh .gtsh-form::before{inset:0;border-radius:12px;background:#f8fbfc;border-color:#b7d3e0;border-bottom:2px solid var(--gtsh-mark);transition:border-color .16s ease,background .16s ease}
  .gtsh .gtsh-form:focus-within::before{inset:0;background:#fff;border-color:var(--gtss-accent)}
  .gtsh input[type="search"],.gtsh.has-value input[type="search"]{height:54px;min-height:54px;padding:0 61px 0 43px;font-size:16px}
  .gtsh input::placeholder{font-size:16px}
  .gtsh .gtsh-icon{left:15px;top:18px;width:18px;height:18px}
  .gtsh .gtsh-icon svg{width:18px;height:18px}
  .gtsh .gtsh-example{left:43px;right:61px;height:54px;font-size:16px}
  .gtsh .gtsh-submit{right:5px;top:5px}
  .gtsh .gtss-suggestions{left:0;right:0;width:100%;max-width:100%;top:calc(100% + 6px);max-height:min(360px,45dvh)}
}
@media(prefers-reduced-motion:reduce){.gtsh .gtsh-submit,.gtsh .gtsh-form::before{transition:none}.gtsh .gtsh-submit:active{transform:none}}

/* R3: полноширинная строка поиска во всех существующих семействах шапок. */
@media(max-width:760px){
  header .gtsh{height:54px;width:100%;max-width:none;min-width:0;flex:1 0 100%;margin-inline:0}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__inner{grid-template-columns:minmax(0,1fr) 44px}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gtsh{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-width:0;justify-self:stretch}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-header__phone,header.gt-header:not([data-adaptive-header]):has(.gtsh) .gt-messengers{grid-row:3}
  header.gt-header:not([data-adaptive-header]):has(.gtsh) .gtsh .gtss-suggestions{left:0;right:0}
  header.masthead:has(.gtsh){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px}
  header.masthead:has(.gtsh)>a{grid-column:1;grid-row:1}
  header.masthead:has(.gtsh) .edition{grid-column:2;grid-row:1;width:auto}
  header.masthead:has(.gtsh) .gtsh{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-width:0;margin:0}
  header.header:has(.gtsh):not(:has(.header-inner)){display:grid;grid-template-columns:minmax(0,1fr);gap:8px;height:auto;min-height:76px;padding-block:12px}
  header.header:has(.gtsh):not(:has(.header-inner))>.gtsh{grid-column:1/-1;width:100%;max-width:none;margin:0}
  header.header:has(.gtsh) .header-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
  header.header:has(.gtsh) .header-inner>.logo{grid-column:1;grid-row:1;max-width:196px}
  header.header:has(.gtsh) .header-inner>.menu-toggle{grid-column:2;grid-row:1}
  header.header:has(.gtsh) .header-inner>.gtsh{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-width:0;margin:0}
  header.header:has(.gtsh) .header-inner>nav{grid-column:1/-1;grid-row:3;min-width:0}
  header.header:has(.gtsh) .header-inner>.head-contact{grid-column:1/-1;grid-row:4}
  header.header:has(.request-link):has(.gtsh) .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px 12px}
  header.header:has(.request-link):has(.gtsh) .gtsh{grid-column:1/-1;grid-row:2;width:100%;max-width:none}
  header.header:has(.request-link):has(.gtsh) nav{grid-row:3}
  header.header:has(.request-link):has(.gtsh) .request-link{grid-column:2;grid-row:1;justify-self:end}
  header.site-header:has(.gtsh) .head-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px}
  header.site-header:has(.gtsh) .gtsh{grid-column:1/-1;grid-row:2;width:100%;max-width:none;min-width:0;margin:0}
}

/* Первый вариант утверждён 17.09.2026. Уточнение владельца: уменьшить только
   общую высоту трёх линий; центр сохраняет оптическое выравнивание с логотипом. */
html .gt-header[data-adaptive-header] {
  --gtha-logo-width: 224px;
  --gtha-ink-height: calc(var(--gtha-logo-width) * 34 / 224);
  --gtha-optical-offset: calc(var(--gtha-logo-width) * -1.809834 / 722.61037);
  --gtha-button-size: 56px;
}
html .gt-header[data-adaptive-header] [hidden] { display: none !important; }
html .gt-header[data-adaptive-header] .gt-header__inner {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto var(--gtha-button-size);
  align-items: center; column-gap: 24px; row-gap: 0; min-height: 98px;
  padding-block: 20px; padding-inline: 0;
}
html .gt-header[data-adaptive-header] .gt-brand {
  width: var(--gtha-logo-width); max-width: 100%; min-width: 0; min-height: 44px;
  margin: 0; padding: 0; flex-basis: auto; border-radius: 8px;
}
html .gt-header[data-adaptive-header] .gt-brand__logo {
  display: block; width: 100%; height: auto; max-width: 100%;
}
html .gt-header[data-adaptive-header] .gt-header__nav {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  font-size: 14px; white-space: nowrap; min-width: 0;
}
html .gt-header[data-adaptive-header] .gt-header__nav > a {
  font-size: 14px !important; min-width: 44px; min-height: 44px;
}
html .gt-header[data-adaptive-header] .gt-header__contacts {
  display: flex; align-items: center; gap: 24px; min-width: 0;
}
html .gt-header[data-adaptive-header] .gt-header__phone {
  display: inline-flex; align-items: center; min-height: 44px; order: initial;
  font-size: 15px; font-weight: 500; white-space: nowrap; border-radius: 8px;
}
html .gt-header[data-adaptive-header] .gt-messengers {
  display: flex; align-items: center; gap: 4px; order: initial; flex: 0 0 auto;
}
html .gt-header[data-adaptive-header] .gt-messenger {
  display: inline-flex; align-items: center; justify-content: center;
  width: 44px; height: 44px; flex: 0 0 44px; border-radius: 8px; color: #092c45;
}
html .gt-header[data-adaptive-header] .gt-messenger svg { width: 22px; height: 22px; }
html .gt-header[data-adaptive-header] .gt-messenger--max { font-size: 11px; }
html .gt-header[data-adaptive-header] .gt-header__cta { display: none; }
html .gt-header[data-adaptive-header] .gtha-toggle {
  display: grid; place-items: center; justify-self: end; width: var(--gtha-button-size);
  height: var(--gtha-button-size); min-height: 44px; border: 0; padding: 0;
  background: transparent; color: #092c45; border-radius: 8px; cursor: pointer;
  font: inherit; position: static;
}
html .gt-header[data-adaptive-header] .gtha-toggle:hover { background: #edf5f8; }
html .gt-header[data-adaptive-header] .gtha-toggle:focus-visible {
  outline: 3px solid var(--brand-focus, #176585); outline-offset: 3px;
}
html .gt-header[data-adaptive-header] .gtha-bars {
  display: block; position: relative; width: 38px; height: var(--gtha-ink-height);
  transform: translateY(var(--gtha-optical-offset));
}
html .gt-header[data-adaptive-header] .gtha-bars > span {
  position: absolute; width: 100%; height: 3px; left: 0; border-radius: 2px;
  background: currentColor; transition: transform 160ms ease, opacity 160ms ease;
}
html .gt-header[data-adaptive-header] .gtha-bars > span:nth-child(1) { top: 0; }
html .gt-header[data-adaptive-header] .gtha-bars > span:nth-child(2) { top: calc(50% - 1.5px); }
html .gt-header[data-adaptive-header] .gtha-bars > span:nth-child(3) { bottom: 0; }
html .gt-header[data-adaptive-header] .gtha-toggle[aria-expanded=true] .gtha-bars > span:nth-child(1) { transform: translateY(calc((var(--gtha-ink-height) - 3px) / 2)) rotate(45deg); }
html .gt-header[data-adaptive-header] .gtha-toggle[aria-expanded=true] .gtha-bars > span:nth-child(2) { opacity: 0; }
html .gt-header[data-adaptive-header] .gtha-toggle[aria-expanded=true] .gtha-bars > span:nth-child(3) { transform: translateY(calc((3px - var(--gtha-ink-height)) / 2)) rotate(-45deg); }
html .gt-header[data-adaptive-header] .gt-mobile-menu__panel {
  grid-column: 1 / -1; width: 100%; max-width: 100%; margin: 20px 0 0;
  padding: 18px 0 0; border-top: 1px solid #d9e3e8;
}
html .gt-header[data-adaptive-header] .gt-mobile-menu__nav {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 20px; border: 0;
}
html .gt-header[data-adaptive-header] .gt-mobile-menu__nav > a {
  display: flex; min-height: 44px; padding: 10px 12px; font-size: 16px !important; border-radius: 8px;
}
html .gt-header[data-adaptive-header] .gt-mobile-menu__contact {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
  gap: 12px; padding-top: 18px;
}
html .gt-header[data-adaptive-header] .gt-mobile-menu__cta {
  display: inline-flex; align-items: center; gap: 16px; min-height: 44px;
  padding: 10px 16px; border-radius: 8px; color: var(--brand-action-text, #fff);
  background: var(--brand-action, #176585); font-size: 14px;
}
/* Поле согласованного поиска, если будет внедрено отдельным выпуском,
   получает свою строку и не может вытолкнуть контакты из сетки. */
html .gt-header[data-adaptive-header] .gt-header__inner > [data-site-search] {
  grid-column: 1 / -1; grid-row: 2; width: 100%; max-width: none; margin-top: 12px;
}
@media (max-width: 1180px) {
  html .gt-header[data-adaptive-header] .gt-header__nav { display: none; }
  html .gt-header[data-adaptive-header] .gt-header__inner { grid-template-columns: minmax(0, 1fr) auto var(--gtha-button-size); }
}
@media (max-width: 760px) {
  html .gt-header[data-adaptive-header] .gt-header__inner { column-gap: 16px; padding-block: 16px; }
  html .gt-header[data-adaptive-header] .gt-header__contacts { gap: 16px; }
}
@media (max-width: 680px) {
  html .gt-header[data-adaptive-header] { --gtha-logo-width: 208px; }
  html .gt-header[data-adaptive-header] .gt-header__inner { grid-template-columns: minmax(0, 1fr) var(--gtha-button-size); row-gap: 12px; }
  html .gt-header[data-adaptive-header] .gt-brand { grid-row: 1; grid-column: 1; }
  html .gt-header[data-adaptive-header] .gtha-toggle { grid-row: 1; grid-column: 2; }
  html .gt-header[data-adaptive-header] .gt-header__contacts { grid-row: 2; grid-column: 1 / -1; justify-content: space-between; gap: 8px; }
  html .gt-header[data-adaptive-header] .gt-mobile-menu__panel { grid-row: 4; margin-top: 4px; }
  html .gt-header[data-adaptive-header] .gt-mobile-menu__nav { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 12px; }
  html .gt-header[data-adaptive-header] .gt-mobile-menu__contact { flex-direction: row; }
  html .gt-header[data-adaptive-header] .gt-header__inner > [data-site-search] { grid-row: 3; }
}
@media (max-width: 360px) {
  html .gt-header[data-adaptive-header] { --gtha-logo-width: 192px; }
  html .gt-header[data-adaptive-header] .gt-header__phone { font-size: 14px; }
  html .gt-header[data-adaptive-header] .gt-mobile-menu__nav { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html .gt-header[data-adaptive-header] .gtha-bars > span { transition: none; }
}

/* Уточнение владельца 05.10.2026: меню только вместо скрытой навигации. */
@media (min-width: 1181px) {
  html .gt-header[data-adaptive-header]:not(:has(.gtsh)) .gt-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; }
  html .gt-header[data-adaptive-header]:not(:has(.gtsh)) .gtha-toggle,
  html .gt-header[data-adaptive-header]:not(:has(.gtsh)) .gt-mobile-menu__panel { display: none; }
}
@media (min-width: 1321px) {
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-header__inner { grid-template-columns: auto minmax(0, 1fr) 174px auto; }
  html .gt-header[data-adaptive-header]:has(.gtsh) .gtha-toggle,
  html .gt-header[data-adaptive-header]:has(.gtsh) .gt-mobile-menu__panel { display: none; }
}
/* SVG и ссылки сохранены; меняется только цвет в общей шапке. */
html .gt-header[data-adaptive-header] .gt-messenger[href^="https://t.me/"] { color: #24a1de; }
html .gt-header[data-adaptive-header] .gt-messenger[href^="https://wa.me/"] { color: #25d366; }
html .gt-header[data-adaptive-header] .gt-messenger--max { color: #5366c9; background: #f5f6fc; }
html .gt-header[data-adaptive-header] .gt-messenger:hover { background: #f0f4f6; }
html .gt-header[data-adaptive-header] .gt-messenger:focus-visible { outline: 2px solid #647581; outline-offset: 2px; }
/* Нейтральная стрелка внутри поля; зона нажатия 44x44 px сохранена. */
html .gt-header[data-adaptive-header] .gtsh .gtsh-submit { color: var(--gtsh-muted, #647581); background: transparent; }
html .gt-header[data-adaptive-header] .gtsh .gtsh-submit::before { content: ""; position: absolute; inset: 6px; border-radius: 8px; background: transparent; }
html .gt-header[data-adaptive-header] .gtsh .gtsh-submit:hover::before,
html .gt-header[data-adaptive-header] .gtsh .gtsh-submit:focus-visible::before { background: #edf0f2; }
html .gt-header[data-adaptive-header] .gtsh .gtsh-submit svg { position: relative; }
html .gt-header[data-adaptive-header] .gtsh .gtsh-submit:focus-visible { outline: 2px solid #647581; outline-offset: 2px; }
