/* === Дизайн-система: полный token-набор === */
:root {
  /* --- Тема: объявлена осознанно, а не «светлая по умолчанию» --- */
  --theme: dark; /* light | dark | both */
  --color-scheme: dark;
  color-scheme: dark;

  /* --- Цвета: фон, поверхности, текст, границы --- */
  --bg: #ffffff; /* фон страницы */
  --surface: #f0f2f5; /* поверхность карточек и панелей */
  --surface-alt: #e3e5e8; /* чередующаяся поверхность */
  --surface-strong: #d6d7da; /* приподнятая поверхность */
  --text: #141415; /* основной текст */
  --text-muted: #797f8b; /* второстепенный текст */
  --text-subtle: #a8acb4; /* подписи и метки */
  --heading: #222223; /* заголовки */
  --border: #ced1d9; /* границы и разделители */
  --border-strong: #9e9fa3; /* акцентная граница */
  --divider: #ced2d9; /* тонкий разделитель */
  --accent: #0367de; /* акцент бренда */
  --accent-hover: #0367de; /* акцент под курсором */
  --accent-active: #2e8eff; /* акцент при нажатии */
  --accent-soft: color-mix(in srgb, #0075ff 18%, #f0f2f5 82%); /* мягкая акцентная подложка */
  --on-accent: #ffffff; /* текст на акценте */
  --success: #23c37a; /* успех */
  --success-soft: color-mix(in srgb, #23c37a 16%, #f0f2f5 84%); /* подложка успеха */
  --warning: #f0b429; /* предупреждение */
  --warning-soft: color-mix(in srgb, #f0b429 16%, #f0f2f5 84%); /* подложка предупреждения */
  --danger: #ef5350; /* ошибка */
  --danger-soft: color-mix(in srgb, #ef5350 16%, #f0f2f5 84%); /* подложка ошибки */
  --info: #4a9df8; /* информация */
  --info-soft: color-mix(in srgb, #4a9df8 16%, #f0f2f5 84%); /* подложка информации */
  --link: #0075ff; /* ссылка в тексте */
  --link-hover: #0367de; /* ссылка под курсором */
  --focus-ring: #0075ff; /* кольцо фокуса клавиатуры */
  --overlay: rgb(0 0 0 / 55%); /* затемнение под модальным слоем */

  /* --- Состояния акцента, семантические цвета и ссылки --- */
  /* accent / accent-hover / accent-active / accent-soft / on-accent уже выше */
  --shade: #000000; /* затемнение акцента для служебных слоёв */

  /* --- Служебные роли: секции обращаются к ним, а не к палитре напрямую --- */
  --surface-2: var(--surface-alt);
  --surface-3: var(--surface-strong);
  --elevated: color-mix(in srgb, #f0f2f5 92%, #0367de 8%);
  --accent-strong: color-mix(in srgb, #0367de 84%, #141415 16%);
  --muted: var(--text-muted);
  --accent-text: var(--on-accent);
  --positive: var(--success);
  --negative: var(--danger);
  --positive-soft: var(--success-soft);
  --content-primary: var(--text);
  --content-secondary: var(--text-muted);
  --content-tertiary: var(--text-subtle);
  --content-on-accent: var(--on-accent);
  --bg-alt: color-mix(in srgb, #ffffff 86%, #f0f2f5 14%);
  --bg-brand: color-mix(in srgb, #ffffff 78%, #0367de 22%);

  /* --- Отступы: одна шкала на 4px, к ней привязаны все секции --- */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 40px;
  --space-8: 48px;
  --space-9: 56px;
  --space-10: 64px;
  --space-11: 80px;
  --space-12: 96px;
  --space-section: var(--section);
  --space-block: var(--space-8);
  --space-stack: var(--space-4);
  --space-inline: var(--space-3);
  --gap: clamp(var(--space-3), 2vw, var(--space-5));
  --gap-lg: clamp(var(--space-4), 2.4vw, var(--space-6));
  --section: 68px; /* отступ секции: диапазон 48–128px */

  /* --- Радиусы: шкала по назначению, значения кратны 4px --- */
  --radius-xs: 4px; /* мелкие метки и чипы */
  --radius-sm: 8px; /* кнопки, поля, статусы */
  --radius-md: 12px; /* карточки и панели */
  --radius-lg: 16px; /* крупные блоки и медиа */
  --radius-xl: 20px; /* первый экран и модальные окна */
  --radius-pill: 999px; /* таблетки: языки, теги, круглые иконки */

  /* --- Типографика: стек, шкала стилей и начертания --- */
  --font-heading: Halvar Breit, Instrument Sans, Arial Narrow, sans-serif;
  --font-display: Halvar Breit, Instrument Sans, Arial Narrow, sans-serif;
  --font-body: Instrument Sans, Helvetica Neue, Arial, sans-serif;
  --font-mono: "SF Mono", "JetBrains Mono", Consolas, monospace;
  --text-display: clamp(27px, 4.2vw, 50px);
  --lh-display: 1.04;
  --fw-display: 700;
  --ls-display: -0.03em;
  --text-h1: clamp(23px, 3.2vw, 38px);
  --lh-h1: 1.10;
  --fw-h1: 700;
  --ls-h1: -0.015em;
  --text-h2: clamp(19px, 2.2vw, 26px);
  --lh-h2: 1.16;
  --fw-h2: 600;
  --ls-h2: -0.02em;
  --text-h3: clamp(17px, 1.5vw, 19px);
  --lh-h3: 1.24;
  --fw-h3: 600;
  --ls-h3: -0.012em;
  --text-h4: clamp(16px, 1.4vw, 19px);
  --lh-h4: 1.30;
  --fw-h4: 600;
  --ls-h4: -0.008em;
  --text-body: clamp(15px, 1.05vw + 10px, 17px);
  --lh-body: 1.62;
  --fw-body: 400;
  --ls-body: 0em;
  --text-sm: 14px;
  --lh-sm: 1.60;
  --fw-sm: 400;
  --ls-sm: 0em;
  --text-caption: 12.5px;
  --lh-caption: 1.45;
  --fw-caption: 400;
  --ls-caption: 0.01em;
  --text-eyebrow: 12px;
  --lh-eyebrow: 1.20;
  --fw-eyebrow: 600;
  --ls-eyebrow: 0.08em;
  --text-button: 15px;
  --lh-button: 1.20;
  --fw-button: 600;
  --ls-button: 0.005em;
  --tracking-tight: var(--ls-h1);
  --lh-tight: 1.12;

  /* --- Границы --- */
  --border-width: 1px; /* базовая граница */
  --border-width-strong: 2px; /* акцентная граница и шапка таблицы */
  --divider-width: 1px; /* разделитель списков и секций */

  /* --- Сетка и раскладка --- */
  --container: 1260px; /* рабочая ширина вариации сайта */
  --container-max: 1160px; /* ширина основного контейнера */
  --container-wide: 1280px; /* широкий контейнер секций */
  --container-narrow: 860px; /* узкая редакционная колонка */
  --container-pad: clamp(16px, 3vw, 28px); /* боковые поля контейнера */
  --grid-columns: 12; /* колонок в сетке */
  --gutter: 24px; /* расстояние между колонками */
  --measure: 65ch; /* длина строки основного текста */
  --bp-sm: 480px; /* брейкпоинт крупного телефона */
  --bp-md: 768px; /* брейкпоинт планшета */
  --bp-lg: 1024px; /* брейкпоинт ноутбука */
  --bp-xl: 1280px; /* брейкпоинт настольного экрана */

  /* --- Компоненты и слои --- */
  --control-h-sm: 44px; /* компактный контрол (не ниже 44px на тач-экране) */
  --control-h: 44px; /* базовый контрол */
  --control-h-lg: 52px; /* главная кнопка */
  --icon-sm: 16px; /* иконка в тексте */
  --icon-md: 20px; /* иконка в контроле */
  --icon-lg: 24px; /* крупная иконка секции */
  --button-pad-x: 24px; /* горизонтальный паддинг кнопки */
  --button-pad-y: 13px; /* вертикальный паддинг кнопки */
  --card-pad: 18px; /* паддинг карточки */
  --header-h: 62px; /* высота шапки */
  --z-base: 1; /* базовый слой */
  --z-dropdown: 10; /* выпадающие списки */
  --z-sticky: 20; /* липкая шапка */
  --z-to-top: 30; /* кнопка «наверх» */
  --z-overlay: 40; /* затемнение и cookie */
  --z-modal: 50; /* модальное окно */

  /* --- Тени: только глубина, без свечения и «стекла» --- */
  --shadow-xs: 0 1px 1px rgb(0 0 0 / 18%); /* поле и мелкая карточка */
  --shadow-sm: 0 1px 2px rgb(0 0 0 / 28%); /* карточка в покое */
  --shadow-md: 0 10px 30px rgb(0 0 0 / 35%); /* выпадающий слой и модальное окно */
  --shadow-lg: 0 14px 34px rgb(0 0 0 / 34%); /* крупная панель поверх страницы */
  --shadow-focus: 0 0 0 3px rgb(224 182 77 / 45%); /* кольцо фокуса вторым слоем */

  /* --- Движение --- */
  --duration-fast: 120ms; /* микро-отклик: цвет, граница */
  --duration: 160ms; /* базовый переход */
  --duration-slow: 280ms; /* раскрытие слоя */
  --ease-standard: ease; /* стандартная кривая */
  --ease-out: cubic-bezier(.22, .61, .36, 1); /* выход наружу */
  --transition: 160ms ease; /* готовая связка длительности и кривой */
  --transition-slow: 280ms cubic-bezier(.22, .61, .36, 1); /* медленная связка */
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; color-scheme: var(--color-scheme); }
body {
  margin: 0; background: var(--bg); color: var(--text);
  font-family: var(--font-body); font-size: var(--text-body); line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
h1, h2, h3 { font-family: var(--font-heading); line-height: var(--lh-tight); margin: 0 0 .5em;
  text-wrap: balance; }
h1 { font-size: var(--text-h1); font-weight: var(--fw-h1); letter-spacing: var(--ls-h1); }
h2 { font-size: var(--text-h2); font-weight: var(--fw-h2); margin-top: var(--section);
  letter-spacing: var(--ls-h2); }
h3 { font-size: var(--text-h3); font-weight: var(--fw-h3); margin-top: 1.6em;
  letter-spacing: var(--ls-h3); }
p, li { color: var(--text); }
p { text-wrap: pretty; }
a { color: var(--link); }
a:hover { color: var(--link-hover); }
:focus-visible {
  outline: var(--border-width-strong) solid var(--focus-ring);
  outline-offset: 2px; border-radius: var(--radius-xs); box-shadow: var(--shadow-focus);
}

/* --- 2. Шапка, меню, языки --- */
.wrap-43c006 { width: min(var(--container), 100%); margin-inline: auto; padding-inline: var(--container-pad); }
.header-43c006 {
  position: sticky; top: 0; z-index: var(--z-sticky);
  border-bottom: 1px solid var(--border);
  /* Сплошная поверхность вместо «матового стекла»: backdrop blur — маркер
     ИИ-шаблона, а не решение задачи (см. design_review.no_glass_blur). */
  background: var(--surface);
}
.header-43c006 .wrap-43c006 { display: flex; align-items: center; gap: 10px;
  justify-content: space-between; padding-block: 10px; }
.menuPanel-43c006 { display: flex; align-items: center; gap: 18px; margin-left: auto; }
.menuToggle-43c006 { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.menuButton-43c006 {
  display: none; cursor: pointer; padding: 9px 10px; border: 1px solid var(--border);
  border-radius: var(--radius-sm); background: var(--surface); line-height: 0;
}
.menuButton-43c006 span { display: block; width: 18px; height: 2px; background: var(--text);
  border-radius: var(--radius-xs); margin: 3px 0; transition: transform var(--transition), opacity var(--transition); }
.menuToggle-43c006:checked + .menuButton-43c006 span:nth-child(1) { transform: translateY(5px) rotate(45deg); }
.menuToggle-43c006:checked + .menuButton-43c006 span:nth-child(2) { opacity: 0; }
.menuToggle-43c006:checked + .menuButton-43c006 span:nth-child(3) { transform: translateY(-5px) rotate(-45deg); }
.menuToggle-43c006:focus-visible + .menuButton-43c006 { outline: 2px solid var(--accent); outline-offset: 2px; }
.brand-43c006 { display: inline-flex; align-items: center; gap: 10px; font-weight: 650;
  color: var(--text); text-decoration: none; font-size: 16px; letter-spacing: -0.01em; }
.brand-43c006 img { height: 30px; width: auto; }
/* Ряд меню — одной строкой. Перенос ломал шапку, поэтому меню не переносится,
   а лишние пункты уезжают в «Ещё» (см. render.build_site). */
.nav-43c006 { display: flex; flex-wrap: nowrap; gap: 4px 14px; align-items: center; min-width: 0; }
.nav-43c006 a { color: var(--muted); text-decoration: none; font-size: 14.5px;
  padding: 4px 2px; white-space: nowrap; transition: color var(--transition); }
.nav-43c006 a:hover { color: var(--text); }
/* «Ещё»: раскрывающийся список без JavaScript (<details>). */
.nav-43c006-more { position: relative; }
.nav-43c006-more-summary { cursor: pointer; list-style: none; color: var(--muted);
  font-size: 14.5px; padding: 4px 2px; white-space: nowrap;
  transition: color var(--transition); }
.nav-43c006-more-summary::-webkit-details-marker { display: none; }
.nav-43c006-more-summary:hover,
.nav-43c006-more[open] > .nav-43c006-more-summary { color: var(--text); }
.nav-43c006-more-panel {
  position: absolute; right: 0; top: calc(100% + 6px); z-index: var(--z-dropdown);
  display: flex; flex-direction: column; min-width: 190px; padding: 8px;
  border: 1px solid var(--border); border-radius: var(--radius-md);
  background: var(--surface); box-shadow: var(--shadow-md);
}
.nav-43c006-more-panel a { padding: 7px 10px; border-radius: var(--radius-sm); white-space: nowrap; }
.nav-43c006-more-panel a:hover { background: var(--surface-2); color: var(--text); }
.lang-43c006 { display: inline-flex; gap: 8px; align-items: center; font-size: 12px; }
.lang-43c006 a { color: var(--muted); text-decoration: none; padding: 3px 8px;
  border: 1px solid var(--border); border-radius: var(--radius-pill); }
.lang-43c006 a[aria-current="true"] { color: var(--text); border-color: var(--accent); }

/* --- 3. Контент --- */
main.{ c('wrap') } { padding-block: clamp(18px, 3vw, 34px) 0; }
.breadcrumbs-43c006 { padding: 10px 0 0; color: var(--muted); font-size: 12.5px; }
.breadcrumbs-43c006 a { color: var(--muted); text-decoration: none; }
.breadcrumbs-43c006 a:hover { color: var(--text); text-decoration: underline; }
.breadcrumbs-43c006 span { margin: 0 7px; opacity: .6; }
.hero-43c006 {
  display: grid; gap: clamp(18px, 3vw, 34px); align-items: center;
  padding-block: clamp(20px, 4vw, 44px);
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.hero-43c006 h1 { margin-bottom: .35em; }
.lead-43c006 { font-size: clamp(16px, 1.6vw, 19px); color: var(--muted); max-width: 54ch; }
.prose-43c006 > p, .prose-43c006 > ul, .prose-43c006 > ol { max-width: var(--measure); }
.media-43c006 {
  margin: 1.6em 0; border: 1px solid var(--border); border-radius: var(--radius-lg);
  overflow: hidden; background: var(--surface); box-shadow: var(--shadow-sm);
}
.media-43c006 img { width: 100%; aspect-ratio: 16 / 9; max-height: 380px; object-fit: cover; }
.hero-43c006 .media-43c006 { margin: 0; }
.cards-43c006 { list-style: none; padding: 0; margin: 1.4em 0;
  display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.cards-43c006 li {
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md);
  padding: 16px 18px; box-shadow: var(--shadow-sm); transition: border-color var(--transition),
  transform var(--transition);
}
.cards-43c006 li:hover { border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  transform: translateY(-1px); }
.tableWrap-43c006 { overflow-x: auto; margin: 1.6em 0; border: 1px solid var(--border);
  border-radius: var(--radius-md); -webkit-overflow-scrolling: touch; }
.table-43c006 { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 14.5px; }
.table-43c006 th, .table-43c006 td { padding: 11px 14px; text-align: left;
  border-bottom: 1px solid var(--border); }
.table-43c006 thead th { background: var(--surface-2); font-weight: 600; color: var(--text); }
.table-43c006 tbody tr:nth-child(even) { background: color-mix(in srgb, var(--surface) 60%, transparent); }
.table-43c006 tr:last-child td { border-bottom: 0; }
.faq-43c006 { display: grid; gap: 10px; margin: 1.4em 0; }
.faq-43c006 details {
  border: 1px solid var(--border); border-radius: var(--radius-md);
  background: var(--surface); padding: 0 16px; transition: border-color var(--transition);
}
.faq-43c006 details[open] { border-color: color-mix(in srgb, var(--accent) 40%, var(--border)); }
.faq-43c006 summary { cursor: pointer; font-weight: 600; padding: 14px 0; list-style: none;
  display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.faq-43c006 summary::-webkit-details-marker { display: none; }
.faq-43c006 summary::after { content: "+"; color: var(--accent); font-size: 20px; line-height: 1; }
.faq-43c006 details[open] summary::after { content: "−"; }
.faq-43c006 details p { margin: 0 0 14px; color: var(--muted); }
.related-43c006 { margin-top: var(--section); padding-top: 20px; border-top: 1px solid var(--border); }
.related-43c006 h2 { margin-top: 0; font-size: clamp(18px, 2vw, 22px); }
.related-43c006 ul { list-style: none; padding: 0; display: grid; gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.related-43c006 li { background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 13px 15px; }
.related-43c006 a { text-decoration: none; font-weight: 550; }
.related-43c006 a:hover { text-decoration: underline; }

/* --- 4. Конверсия и бонусный баннер --- */
.conversion-43c006 {
  margin-top: var(--section); padding: clamp(18px, 3vw, 30px);
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
  border-radius: var(--radius-lg); background:
    linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)) 0%, var(--surface) 100%);
  display: grid; gap: clamp(16px, 3vw, 30px); align-items: center; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}
.conversion-43c006 h2 { margin: 0 0 8px; font-size: clamp(19px, 2.2vw, 26px); }
.conversion-43c006 p { margin: 0 0 16px; color: var(--muted); max-width: 50ch; }
.conversion-43c006 .media-43c006 { margin: 0; }
.conversion-43c006 .media-43c006 img { aspect-ratio: 4 / 3; max-height: 300px; }
.bonus-43c006 { padding: 0 0 clamp(14px, 2vw, 22px); }
.bonusCard-43c006 {
  display: grid; gap: clamp(14px, 2vw, 28px); align-items: center;
  grid-template-columns: minmax(0, 1.1fr) minmax(220px, 1fr) auto;
  padding: clamp(16px, 2.4vw, 26px);
  border: 1px solid color-mix(in srgb, var(--accent) 40%, var(--border));
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--accent) 16%, var(--surface)) 0%, var(--surface) 62%);
  box-shadow: var(--shadow-md);
}
.bonusOffer-43c006 { display: flex; align-items: center; gap: 14px; min-width: 0; }
.bonusBadge-43c006 {
  flex: 0 0 auto; width: 46px; height: 46px; display: grid; place-items: center;
  border-radius: var(--radius-md); font-size: 22px; font-weight: 700;
  background: var(--accent); color: var(--accent-text);
}
.bonusTitle-43c006 { margin: 0; font-size: clamp(19px, 2.4vw, 27px); font-weight: 750;
  letter-spacing: -0.01em; line-height: 1.15; }
.bonusNote-43c006 { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.promo-43c006 { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.promoLabel-43c006 { font-size: 12.5px; color: var(--muted); text-transform: uppercase;
  letter-spacing: .06em; }
.promoCode-43c006 {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 4px; width: 100%; min-height: var(--control-h-lg); padding: 12px 16px; cursor: copy;
  font: inherit; color: var(--text); text-align: center;
  border: 1px dashed var(--accent); border-radius: var(--radius-sm);
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  transition: border-color var(--transition), background var(--transition);
}
.promoCode-43c006:hover { background: color-mix(in srgb, var(--accent) 14%, transparent); }
.promoCode-43c006[data-state="copied"] {
  border-style: solid; background: color-mix(in srgb, var(--accent) 22%, transparent);
}
.promoValue-43c006 { font-weight: 750; font-size: clamp(18px, 2.4vw, 22px); letter-spacing: .14em; }
.promoHint-43c006 { font-size: 12px; color: var(--muted); letter-spacing: 0; }
.promoCode-43c006[data-state="copied"] .promoHint-43c006 { color: var(--accent); }
.bonusCard-43c006 .actions-43c006 { align-items: center; }
.bonusCard-43c006 .actions-43c006 .button-43c006 { min-height: var(--control-h-lg); padding-inline: 26px; }

/* --- 5. Блоки лендинга --- */
.features-43c006 { list-style: none; padding: 0; margin: 1.6em 0;
  display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.features-43c006 li { background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 18px; box-shadow: var(--shadow-sm); }
.featureIcon-43c006 { font-size: 24px; line-height: 1; margin-bottom: 8px; }
.featureTitle-43c006 { margin: 0 0 6px; font-size: 16.5px; font-weight: 650; }
.featureText-43c006 { margin: 0; color: var(--muted); font-size: 14.5px; }
.split-43c006 { display: grid; gap: clamp(16px, 3vw, 34px); align-items: center;
  margin: clamp(20px, 3vw, 38px) 0;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
.split-43c006 .media-43c006 { margin: 0; }
.splitText-43c006 { min-width: 0; }
.split-43c006 h3 { margin-top: 0; font-size: clamp(19px, 2.4vw, 26px); }
.split-43c006 p { color: var(--muted); }
.stats-43c006 { list-style: none; padding: 0; margin: 1.6em 0; display: grid; gap: var(--gap);
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.stats-43c006 li { background: var(--surface); border: 1px solid var(--border);
  border-radius: var(--radius-md); padding: 16px; text-align: center; }
.statValue-43c006 { display: block; font-size: clamp(22px, 2.8vw, 30px); font-weight: 750;
  color: var(--accent); }
.statLabel-43c006 { display: block; margin-top: 4px; font-size: 13.5px; color: var(--muted); }
.steps-43c006 { list-style: none; counter-reset: step; padding: 0; margin: 1.6em 0;
  display: grid; gap: var(--gap); grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); }
.steps-43c006 li { counter-increment: step; position: relative; padding: 18px 18px 18px 58px;
  background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-md); }
.steps-43c006 li::before {
  content: counter(step); position: absolute; left: 16px; top: 16px;
  width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%;
  background: var(--accent); color: var(--accent-text); font-weight: 700; font-size: 14px;
}

/* --- 6. Кнопки и служебные элементы --- */
.actions-43c006 { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.actions-43c006 .button-43c006 { flex: 0 0 auto; }
.button-43c006 {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: var(--control-h-lg); background: var(--accent); color: var(--accent-text);
  border: 0; border-radius: var(--radius-sm); padding: 13px 24px;
  font: inherit; font-weight: 650; text-decoration: none; cursor: pointer;
  white-space: nowrap;
  box-shadow: var(--shadow-sm); transition: transform var(--transition), filter var(--transition);
}
.button-43c006:hover { transform: translateY(-1px); filter: brightness(1.06); }
.button-43c006:active { transform: translateY(0); }
.buttonSmall-43c006 { padding: 8px 15px; font-size: 14px; min-height: var(--control-h-sm); }
.buttonGhost-43c006 { background: transparent; color: var(--text); border: 1px solid var(--border); }
.buttonPrimary-43c006 {
  /* Сплошной акцент вместо фиолетово-синего градиента: градиентная кнопка —
     маркер ИИ-шаблона (см. design_review.no_ai_gradients). */
  background: var(--accent-strong);
  color: var(--accent-text); box-shadow: var(--shadow-sm);
}
.header-43c006 .button-43c006 { margin-left: 8px; }
.note-43c006 { font-size: 12.5px; color: var(--muted); margin-top: 10px; }
.cta-43c006 { margin: 1.6em 0; padding: clamp(16px, 2.5vw, 24px); background: var(--surface);
  border: 1px solid var(--border); border-radius: var(--radius-lg); }
.cta-43c006 p { margin: 0 0 14px; max-width: var(--measure); }
.footer-43c006 { border-top: 1px solid var(--border); margin-top: var(--section); padding: 24px 0;
  color: var(--muted); font-size: 13px; }
.footer-43c006 .wrap-43c006 { display: flex; flex-wrap: wrap; gap: 10px 18px;
  justify-content: space-between; align-items: baseline; }
/* Полный список страниц: доступ к любой странице не зависит от лимита шапки. */
.footer-43c006-nav { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.footer-43c006-nav a { color: var(--muted); text-decoration: none; }
.footer-43c006-nav a:hover { color: var(--text); text-decoration: underline; }
.footer-43c006-note { color: var(--muted); }
.toTop-43c006 {
  position: fixed; right: 18px; bottom: 18px; z-index: var(--z-to-top);
  width: 46px; height: 46px; display: grid; place-items: center; cursor: pointer;
  border: 1px solid var(--border); border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 88%, var(--shade)); color: var(--accent-text);
  font-size: 20px; box-shadow: var(--shadow-md);
}
.toTop-43c006[hidden] { display: none; }
.cookies-43c006 {
  position: fixed; left: 50%; transform: translateX(-50%); bottom: 16px; z-index: var(--z-overlay);
  width: min(680px, calc(100% - 24px));
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
  padding: 12px 16px; border: 1px solid var(--border); border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--surface) 96%, transparent);
  box-shadow: var(--shadow-md); font-size: 14px;
}
.cookies-43c006 p { margin: 0; color: var(--muted); flex: 1 1 320px; }
.cookies-43c006[hidden] { display: none; }
main > * + * { margin-top: 0; }
p { max-width: 72ch; }

/* --- 6b. Композиция сайта: схема hero, карточки, выравнивание --- */
.cards-43c006 { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.cards-43c006 li { padding: 12px 14px; border-radius: var(--radius-sm); box-shadow: none; }}
.features-43c006 { grid-template-columns: 1fr; gap: 0; }
.features-43c006 li { display: grid; grid-template-columns: auto 1fr; column-gap: 12px; align-items: start; border: 0; border-bottom: 1px solid var(--border); border-radius: 0; box-shadow: none; background: transparent; padding: 14px 2px; }}
.features-43c006 li:first-child { border-top: 1px solid var(--border); }
.features-43c006 .featureIcon-43c006 { grid-row: span 2; margin-bottom: 0; }
.stats-43c006 { gap: 0; }
.stats-43c006 li { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; text-align: left; padding: 14px 2px; }}
.stats-43c006 li:first-child { border-top: 1px solid var(--border); }
.steps-43c006 li { border: 0; border-left: 2px solid var(--accent); border-radius: 0; background: transparent; }}
.related-43c006 ul { gap: 0; }
.related-43c006 li { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; padding: 12px 2px; }}
.faq-43c006 details { border: 0; border-bottom: 1px solid var(--border); border-radius: 0; background: transparent; padding: 0; }}
.table-43c006 thead th { background: transparent; border-bottom: 2px solid var(--border-strong); }}

/* --- 7. Медиазапросы: только в конце, чтобы перекрывать базовые правила --- */
/* Средние экраны: меню ещё видно, поэтому шапку уплотняем, а не ломаем переносом. */
@media (max-width: 1280px) {
  .menuPanel-43c006 { gap: 12px; }
  .nav-43c006 { gap: 4px 10px; }
  .nav-43c006 a { font-size: 13.5px; }
  .header-43c006 .button-43c006 { padding: 9px 16px; font-size: 14px; min-height: var(--control-h); }
  .lang-43c006 a { padding: 2px 7px; }
}
@media (max-width: 1024px) {
  /* Гамбургер включается раньше, чем ряд пунктов перестаёт помещаться в одну
     строку: иначе шапка разъезжалась на две строки хаотичным переносом. */
  .menuButton-43c006 { display: inline-block; }
  .menuPanel-43c006 {
    display: none; order: 3; width: 100%; margin-left: 0; padding-bottom: 12px;
    flex-direction: column; align-items: stretch; gap: 12px;
  }
  .menuToggle-43c006:checked ~ .menuPanel-43c006 { display: flex; }
  .menuPanel-43c006 .nav-43c006 { flex-direction: column; align-items: stretch; gap: 2px; }
  .menuPanel-43c006 .nav-43c006 a { padding: 10px 2px; border-bottom: 1px solid var(--border); font-size: 15px; }
  /* В мобильном меню «Ещё» — обычный вложенный список, а не выпадашка. */
  .menuPanel-43c006 .nav-43c006-more { position: static; }
  .menuPanel-43c006 .nav-43c006-more-summary { padding: 10px 2px; font-size: 15px;
    border-bottom: 1px solid var(--border); }
  .menuPanel-43c006 .nav-43c006-more-panel {
    position: static; min-width: 0; padding: 0 0 0 14px; border: 0; border-radius: 0;
    background: transparent; box-shadow: none;
  }
  .menuPanel-43c006 .button-43c006 { width: 100%; }
}
@media (max-width: 900px) {
  /* Мобильный набор токенов: как в референсе, где desktop/mobile — два набора. */
  :root {
    --section: calc(68px * 0.82);
    --text-display: clamp(26px, 5.2vw, 38px);
    --text-h1: clamp(23px, 4.6vw, 34px);
    --text-h2: clamp(20px, 3.4vw, 26px);
    --header-h: 58px;
  }
  .bonusCard-43c006 { grid-template-columns: 1fr; }
  .bonusCard-43c006 .actions-43c006 .button-43c006 { width: 100%; }
}
@media (max-width: 768px) {
  .hero-43c006, .conversion-43c006 { grid-template-columns: 1fr; }
  .hero-43c006 .media-43c006 { order: -1; }
}
@media (max-width: 700px) {
  .tableWrap-43c006 { border: 0; overflow: visible; }
  .table-43c006 { min-width: 0; font-size: 14px; }
  .table-43c006 thead { display: none; }
  .table-43c006, .table-43c006 tbody, .table-43c006 tr, .table-43c006 td { display: block; width: 100%; }
  .table-43c006 tr {
    border: 1px solid var(--border); border-radius: var(--radius-md);
    background: var(--surface); padding: 6px 14px 10px; margin-bottom: 12px;
  }
  .table-43c006 tr:nth-child(even) { background: var(--surface); }
  .table-43c006 td {
    border: 0; padding: 7px 0; display: flex; gap: 14px; justify-content: space-between;
    align-items: baseline;
  }
  .table-43c006 td + td { border-top: 1px solid color-mix(in srgb, var(--border) 60%, transparent); }
  .table-43c006 td::before {
    content: attr(data-label); color: var(--muted); font-size: 12.5px;
    flex: 0 0 44%; line-height: 1.45;
  }
  .table-43c006 td:empty { display: none; }
}
@media (max-width: 640px) {
  :root {
    --section: calc(68px * 0.62);
    --text-display: clamp(24px, 7vw, 32px);
    --control-h: 46px;
    /* На тач-экране компактные контролы тоже обязаны быть не меньше 44px. */
    --control-h-sm: 44px;
  }
  .nav-43c006 { gap: 4px 10px; font-size: 14px; }
  .cards-43c006, .features-43c006, .stats-43c006, .steps-43c006 { grid-template-columns: 1fr; }
  .media-43c006 img { max-height: 260px; }
  .button-43c006 { width: 100%; }
  .toTop-43c006 { right: 12px; bottom: 74px; }
  .cookies-43c006 { flex-direction: column; align-items: stretch; }
}
@media (max-width: 480px) {
  /* Малый телефон: поля, кегль первого экрана и шапка ужимаются, но цели
     нажатия остаются не меньше 44px (см. проверку touch_target_size). */
  :root {
    --container-pad: 16px;
    --text-display: clamp(22px, 8vw, 28px);
    --text-h1: clamp(20px, 7vw, 26px);
    --header-h: 54px;
  }
  .promoValue-43c006 { font-size: 18px; }
  .toTop-43c006 { right: var(--space-3); }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}
