/* Токены. Единственное место, где живут цвета, шкалы и форма.
   Палитра снята со скриншота визуального референса — источник указан в DESIGN-MAP. */
:root {
  --color-base: #260F4A;
  --color-base-top: #29104E;
  --color-base-bottom: #240F47;
  --color-surface-1: #301459;
  --color-surface-2: #3A1A68;
  --color-ink: #FFFFFF;
  --color-body: #D8D4DE;
  --color-muted: #9E93AF;
  --color-link-soft: #BFB8CA;
  --color-accent: #FFC107;
  --color-accent-ink: #260F4A;
  --color-accent-rgb: 255, 193, 7;
  --color-border: rgba(255, 255, 255, .12);

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --fs-body: 1rem;
  --fs-small: .875rem;
  --lh-body: 1.6;
  --lh-head: 1.15;
  --fs-h1: clamp(1.85rem, 3.6vw, 2.75rem);
  --fs-h2: clamp(1.4rem, 2.4vw, 2rem);
  --fs-h3: clamp(1.1rem, 1.5vw, 1.35rem);
  --fs-h4: 1.05rem;
  --h1-measure: 60rem;

  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --section-pad: clamp(2.5rem, 5vw, 4.5rem);
  --gap-h2: calc(var(--section-pad) / 1.5);

  --radius-btn: 12px;
  --radius-card: 16px;
  --radius-pill: 999px;
  --border-width: 1px;
  --shadow-card: 0 1px 2px rgba(0, 0, 0, .35);

  --container-max: 76rem;
  --container-pad: 16px;
  --content-max: var(--container-max);
  --sticky-header-height: 64px;
  --tap: 44px;
}

@media (max-width: 767px) {
  :root { --lh-head: 1.28; }
}

@media (min-width: 768px) {
  :root {
    --container-pad: 24px;
    --sticky-header-height: 72px;
  }
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body, h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, svg, iframe { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; color: inherit; }
button { background: none; border: 0; cursor: pointer; }
a { color: inherit; }
table { border-collapse: collapse; }

:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
h1, h2, h3, h4 {
  color: var(--color-ink);
  line-height: var(--lh-head);
  font-weight: 700;
}
h1 { font-size: var(--fs-h1); letter-spacing: -.01em; }
h2 { font-size: var(--fs-h2); }
h3 { font-size: var(--fs-h3); font-weight: 600; }
h4 { font-size: var(--fs-h4); font-weight: 600; }

strong, b { color: var(--color-ink); font-weight: 600; }
small { font-size: var(--fs-small); }
html, body { overflow-x: clip; }

body {
  margin: 0;
  min-height: 100vh;
  background-color: var(--color-base);
  background-image: linear-gradient(160deg, var(--color-base-top) 0%, var(--color-base) 45%, var(--color-base-bottom) 100%);
  background-attachment: fixed;
  color: var(--color-body);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: var(--lh-body);
}

.container_98b87faa4d78d871 {
  width: 100%;
  max-width: var(--content-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
}

.container_98b87faa4d78d871 .container_98b87faa4d78d871 { padding-inline: 0; max-width: none; }

.skip-link_82b4b4ccc891001f {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  padding: var(--space-3) var(--space-4);
  background: var(--color-accent);
  color: var(--color-accent-ink);
  border-radius: 0 0 var(--radius-btn) 0;
}
.skip-link_82b4b4ccc891001f:focus { left: 0; }

main { display: block; }
.section_081669b1d0cd3d6b { padding-top: var(--section-pad); }

h2[id], h3[id], h4[id] { scroll-margin-top: calc(var(--sticky-header-height) + var(--space-4)); }
/* Контентное изображение занимает всю ширину статьи.
   Эти же свойства сознательно НЕ пишутся инлайном в render hook. */
.prose_ad0304819547ca42 img,
.figure_72a9318162e3d5b2 img {
  width: 100%;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
  border-radius: var(--radius-card);
}

.figure_72a9318162e3d5b2 { margin: var(--space-4) 0 0; }
.figure_72a9318162e3d5b2 figcaption {
  margin-top: var(--space-2);
  color: var(--color-muted);
  font-size: var(--fs-small);
}
.btn_975f221c213717cb {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: var(--tap);
  padding: var(--space-3) var(--space-5);
  border-radius: var(--radius-btn);
  font-weight: 700;
  text-decoration: none;
  transition: background-color .15s linear, color .15s linear, border-color .15s linear;
}

.btn--primary_9b11d8c47ca714f7 {
  background: var(--color-accent);
  color: var(--color-accent-ink);
}
.btn--primary_9b11d8c47ca714f7:hover,
.btn--primary_9b11d8c47ca714f7:focus-visible { background: #FFD24A; }

.btn--ghost_911d64aba1a65a9e {
  border: var(--border-width) solid var(--color-border);
  color: var(--color-ink);
}
.btn--ghost_911d64aba1a65a9e:hover,
.btn--ghost_911d64aba1a65a9e:focus-visible { border-color: var(--color-accent); color: var(--color-accent); }

.btn--sm_a288218a776409d0 { padding: var(--space-2) var(--space-4); }
.faq_8721553a93c6d58b { padding-top: var(--section-pad); }
.faq__title_589280cc57ce5881 { margin-bottom: var(--space-5); }

.faq__list_f135c76dc75b8a6c { display: grid; gap: var(--space-3); }

.faq__item_66d740ca936c421d {
  background: var(--color-surface-1);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-card);
  overflow: hidden;
}

.faq__question_8aad173a733e552e {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: 100%;
  min-height: var(--tap);
  padding: var(--space-4) var(--space-5);
  text-align: left;
  color: var(--color-ink);
  font-size: var(--fs-h3);
  font-weight: 600;
  line-height: var(--lh-head);
}
.faq__question_8aad173a733e552e:hover { color: var(--color-accent); }

.faq__icon_0dd2ae97421ef1b4 {
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  transition: transform .15s linear;
}
.faq__question_8aad173a733e552e[aria-expanded="true"] .faq__icon_0dd2ae97421ef1b4 { transform: rotate(180deg); }

.faq__answer_21a42b3a1b43f10c { padding: 0 var(--space-5) var(--space-5); }
.faq__answer_21a42b3a1b43f10c > *:first-child { margin-top: 0; }
.faq__answer_21a42b3a1b43f10c p + p { margin-top: var(--space-4); }
.faq__answer_21a42b3a1b43f10c a { color: var(--color-accent); }
.toc_b220850d7ddfb958 {
  margin-top: var(--space-6);
  padding: var(--space-5);
  background: var(--color-surface-1);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-card);
}

.toc__head_8e953abf112020ef {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  width: 100%;
  min-height: var(--tap);
  color: var(--color-ink);
  font-weight: 700;
  font-size: var(--fs-h3);
}

.toc__icon_7d02368a2f577d5f { width: 16px; height: 16px; transition: transform .15s linear; }
.toc__head_8e953abf112020ef[aria-expanded="false"] .toc__icon_7d02368a2f577d5f { transform: rotate(-180deg); }

.toc__list_7b9c9be4e09c290f { display: grid; gap: var(--space-2); margin-top: var(--space-4); }

.toc__item_8a8a4bb340ea210a { list-style: none; }
.toc__item--sub_fb0acac83a1c09f9 { padding-left: var(--space-5); }

.toc__link_7e712d9eae2763fa {
  display: inline-flex;
  color: var(--color-ink);
  font-size: var(--fs-body);
  text-decoration: none;
}
.toc__item--sub_fb0acac83a1c09f9 .toc__link_7e712d9eae2763fa { color: var(--color-muted); font-size: var(--fs-small); }
.toc__link_7e712d9eae2763fa:hover { color: var(--color-accent); text-decoration: underline; }
.table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-top: var(--space-5);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-card);
}

.table-scroll table {
  width: 100%;
  min-width: 680px;
  font-size: var(--fs-small);
}

.table-scroll thead th {
  background: var(--color-surface-2);
  color: var(--color-ink);
  text-align: left;
  font-weight: 700;
  white-space: nowrap;
}
.table-scroll thead th * { color: inherit; }

.table-scroll th,
.table-scroll td {
  padding: var(--space-3) var(--space-4);
  border-bottom: var(--border-width) solid var(--color-border);
  vertical-align: top;
}

.table-scroll tbody tr:last-child th,
.table-scroll tbody tr:last-child td { border-bottom: 0; }
.table-scroll tbody tr:nth-child(even) { background: var(--color-surface-1); }
.form_f8a65705e9da4d46 { display: grid; gap: var(--space-4); }
.form__row_b2c128a19c014d8e { display: grid; gap: var(--space-2); }

.form__label_d5360c1ebdace1ee { color: var(--color-ink); font-size: var(--fs-small); font-weight: 600; }

.form__control_ae2a7887828eb944 {
  width: 100%;
  min-height: var(--tap);
  padding: var(--space-3) var(--space-4);
  background: var(--color-base);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-btn);
  color: var(--color-ink);
}
.form__control_ae2a7887828eb944::placeholder { color: var(--color-muted); opacity: 1; }
.form__control_ae2a7887828eb944:focus-visible { border-color: var(--color-accent); }

textarea.form__control_ae2a7887828eb944 { min-height: 140px; resize: vertical; }

.form__status_65cc6baf7297d030 { display: none; font-size: var(--fs-small); }
.form__status_65cc6baf7297d030.is-visible { display: block; }
.form__status_65cc6baf7297d030.has-error { color: #FFB4A9; }
.header_5cb6016a26a4af46 {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--color-base);
  border-bottom: var(--border-width) solid var(--color-border);
}

.header__inner_39334d6277f8715f {
  display: flex;
  align-items: center;
  gap: var(--space-4);
  min-height: var(--sticky-header-height);
}

.header__logo_5f7e186d752afb48 { flex: 0 0 auto; display: inline-flex; align-items: center; min-height: var(--tap); }
.header__logo_5f7e186d752afb48 img { width: auto; height: 32px; }

.header__actions_b9e199a99d556aba { display: flex; align-items: center; gap: var(--space-2); margin-left: auto; }

.header__burger_b1de943ceec3a2dc {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--tap);
  height: var(--tap);
  border-radius: var(--radius-btn);
  border: var(--border-width) solid var(--color-border);
  color: var(--color-ink);
}

@media (min-width: 1024px) {
  .header__logo_5f7e186d752afb48 img { height: 36px; }
}
/* Базовые правила — мобильный ящик. Переключение на desktop стоит ПОСЛЕДНИМ в файле,
   потому что медиазапрос не добавляет специфичности.
   Гасится именно .nav--desktop_82cb509440af756f: общий `.nav_9902ed87eee9e77e { display: none }` заодно скрывал и меню внутри ящика. */
.nav--desktop_82cb509440af756f { display: none; }

.nav__list_3209754efdba4863 { display: grid; gap: var(--space-1); }
.nav__link_847dc615f68c673c {
  display: flex;
  align-items: center;
  min-height: var(--tap);
  padding: var(--space-2) 0;
  color: var(--color-ink);
  text-decoration: none;
}
.nav__link_847dc615f68c673c:hover, .nav__link_847dc615f68c673c[aria-current="page"] { color: var(--color-accent); }

.nav__parent_c1630fa47950f745 {
  display: flex;
  align-items: center;
  gap: var(--space-2);
  width: 100%;
  min-height: var(--tap);
  color: var(--color-ink);
  text-align: left;
}
.nav__parent-icon_1759fa7e396f105a { width: 12px; height: 12px; transition: transform .15s linear; }
.nav__parent_c1630fa47950f745[aria-expanded="true"] .nav__parent-icon_1759fa7e396f105a { transform: rotate(180deg); }

.nav__sub_f98401c5cb719f99 { display: none; padding-left: var(--space-4); }
.nav__parent_c1630fa47950f745[aria-expanded="true"] + .nav__sub_f98401c5cb719f99 { display: grid; gap: var(--space-1); }

.drawer_87b892f6d2fbce57 {
  position: fixed;
  inset: var(--sticky-header-height) 0 0;
  z-index: 45;
  display: none;
  padding: var(--space-5) 0 var(--space-7);
  background: var(--color-base);
  overflow-y: auto;
}
.drawer_87b892f6d2fbce57.is-open { display: block; }
body.is-locked { overflow: hidden; }

@media (min-width: 1024px) {
  .header__burger_b1de943ceec3a2dc { display: none; }
  .drawer_87b892f6d2fbce57 { display: none !important; }

  .nav--desktop_82cb509440af756f { display: block; }
  .nav--desktop_82cb509440af756f .nav__list_3209754efdba4863 { display: flex; align-items: center; gap: var(--space-5); }
  .nav__item { position: relative; }

  .nav__sub_f98401c5cb719f99 {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    min-width: 200px;
    padding: var(--space-2);
    background: var(--color-surface-1);
    border: var(--border-width) solid var(--color-border);
    border-radius: var(--radius-card);
    box-shadow: var(--shadow-card);
  }
  .nav__sub_f98401c5cb719f99 .nav__link_847dc615f68c673c { padding: var(--space-2) var(--space-3); }
  .nav__parent_c1630fa47950f745[aria-expanded="true"] + .nav__sub_f98401c5cb719f99 { display: grid; }
}
.footer_585a0203d77c63e8 {
  margin-top: var(--section-pad);
  padding-top: var(--section-pad);
  padding-bottom: var(--space-7);
  border-top: var(--border-width) solid var(--color-border);
}

.footer__grid_14ca21321efded75 {
  display: grid;
  gap: var(--space-6);
}

.footer__brand_d825576613797fbe { display: inline-flex; align-items: center; min-height: var(--tap); }
.footer__brand_d825576613797fbe img { width: auto; height: 32px; }

.footer__col-title_ebb36a2c4e8b4ebc {
  color: var(--color-ink);
  font-size: var(--fs-small);
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.footer__list_3e47ce9affda582f { display: grid; gap: var(--space-2); margin-top: var(--space-4); }
.footer__list_3e47ce9affda582f li { display: flex; }
.footer__link_170b68d136a0d07e, .footer__contact-link_4d5be1250a4eedd6 { color: var(--color-body); text-decoration: none; }
.footer__link_170b68d136a0d07e:hover, .footer__contact-link_4d5be1250a4eedd6:hover { color: var(--color-accent); }

.footer__disclaimers_c085a5ba35c3cdcb { display: grid; gap: var(--space-5); }
.footer__disclaimer-text_2b979afe2660e987 { margin-top: var(--space-3); color: var(--color-muted); font-size: var(--fs-small); }

.footer__marks_df92fb54ba305158 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-5);
  margin-top: var(--section-pad);
  padding-top: var(--space-5);
  border-top: var(--border-width) solid var(--color-border);
}
.footer__marks_df92fb54ba305158 img { width: auto; height: 32px; }
.footer__marks_df92fb54ba305158 a { display: inline-flex; align-items: center; min-height: var(--tap); }

.footer__bottom_da01b8ac48c85091 {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: var(--border-width) solid var(--color-border);
  color: var(--color-muted);
  font-size: var(--fs-small);
}

@media (min-width: 768px) {
  .footer__grid_14ca21321efded75 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); align-items: start; }
  .footer__col--links_91e625a9e7301061 { grid-column: 1; grid-row: 2; }
  .footer__col--brand_b05924b602c429f5 { grid-column: 1; grid-row: 1; }
  .footer__col--disclaimers_52e310457cd11aa9 { grid-column: 2; grid-row: 1 / span 2; }
}

@media (min-width: 1024px) {
  .footer__grid_14ca21321efded75 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 2fr); }
  .footer__col--brand_b05924b602c429f5 { grid-column: 1; grid-row: 1; }
  .footer__col--links_91e625a9e7301061 { grid-column: 2; grid-row: 1; }
  .footer__col--disclaimers_52e310457cd11aa9 { grid-column: 3; grid-row: 1; }
}
/* Главная. Только H1 — вертикальный ритм принадлежит самому заголовку. */
.hero_bd5c8614b83400e9 { padding-top: 0; }

.hero_bd5c8614b83400e9 h1 {
  max-width: var(--h1-measure);
  padding-block: clamp(1.5rem, 0.4rem + 2.2vw, 3.25rem);
}

.hero_bd5c8614b83400e9 + .section_081669b1d0cd3d6b { padding-top: 0; }
/* Внутренние страницы: крошки + H1 в одном контейнере. */
.page-head_a009f2a530f03ab5 { padding-top: 0; }

.page-head_a009f2a530f03ab5 h1 {
  max-width: var(--h1-measure);
  padding-block: clamp(1.5rem, 0.4rem + 2.2vw, 3.25rem);
  padding-top: var(--space-4);
}

.page-head_a009f2a530f03ab5 + .section_081669b1d0cd3d6b { padding-top: 0; }

.breadcrumbs_9d979facdb266d57 { padding-top: var(--space-6); font-size: var(--fs-small); }
.breadcrumbs__list_e05d6f5825365ebe { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.breadcrumbs__item_a24849395c868dad { display: flex; align-items: center; gap: var(--space-2); }
.breadcrumbs__link_daaa63b78a9fc9c6 { color: var(--color-link-soft); text-decoration: none; }
.breadcrumbs__link_daaa63b78a9fc9c6:hover { color: var(--color-accent); }
.breadcrumbs__sep_76a17bb58157a28d, .breadcrumbs__current_98cdfc43ae3d66b9 { color: var(--color-muted); }

.page-head__meta_f78822f2f33da346 { color: var(--color-muted); font-size: var(--fs-small); }
.prose_ad0304819547ca42 { padding-top: var(--section-pad); display: flow-root; }

.prose_ad0304819547ca42 > *:first-child { margin-top: 0; }
.prose_ad0304819547ca42 > *:last-child { margin-bottom: 0; }
.prose_ad0304819547ca42 > *:last-child > *:last-child { margin-bottom: 0; }

.prose_ad0304819547ca42 p { margin-top: var(--space-5); }
.prose_ad0304819547ca42 h2 { margin-top: var(--gap-h2); margin-bottom: var(--space-3); }
.prose_ad0304819547ca42 h3 { margin-top: var(--space-5); margin-bottom: var(--space-2); }
.prose_ad0304819547ca42 h4 { margin-top: var(--space-3); margin-bottom: var(--space-2); }
.prose_ad0304819547ca42 h2 + h3 { margin-top: var(--space-3); }
.prose_ad0304819547ca42 h3 + h4 { margin-top: var(--space-2); }
.prose_ad0304819547ca42 h1 + h2 { margin-top: 0; }
.prose_ad0304819547ca42 hr { margin: var(--space-5) 0; border: 0; border-top: var(--border-width) solid var(--color-border); }

.prose_ad0304819547ca42 ul:not(.toc__list_7b9c9be4e09c290f),
.prose_ad0304819547ca42 ol:not(.toc__list_7b9c9be4e09c290f) {
  margin-top: var(--space-5);
  padding-left: var(--space-5);
  display: grid;
  gap: var(--space-1);
}
.prose_ad0304819547ca42 ul:not(.toc__list_7b9c9be4e09c290f) { list-style: disc; }
.prose_ad0304819547ca42 ol:not(.toc__list_7b9c9be4e09c290f) { list-style: decimal; }
.prose_ad0304819547ca42 li:not(.toc__item_8a8a4bb340ea210a) { line-height: 1.55; }

.prose_ad0304819547ca42 a:not(.btn_975f221c213717cb):not(.toc__link_7e712d9eae2763fa) {
  color: var(--color-accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.prose_ad0304819547ca42 blockquote {
  margin-top: var(--space-5);
  padding: var(--space-4) var(--space-5);
  background: var(--color-surface-1);
  border-left: 3px solid var(--color-accent);
  border-radius: 0 var(--radius-card) var(--radius-card) 0;
}

.prose_ad0304819547ca42 figure, .prose_ad0304819547ca42 p > img { margin-top: var(--space-4); }
.contacts_1906f307ded918fa { padding-top: var(--section-pad); }

.contacts__grid_55bd372e38ff75c7 { display: grid; gap: var(--space-6); }

.contacts__card_904c481ba3754e7d {
  padding: var(--space-5);
  background: var(--color-surface-1);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-card);
}

.contacts__list_ad390b56b1faaa73 { display: grid; gap: var(--space-4); margin-top: var(--space-5); }
.contacts__row_5026fd2a04f8f640 { display: grid; gap: var(--space-1); }
.contacts__label_886fc596e0cbaf22 { color: var(--color-muted); font-size: var(--fs-small); }
.contacts__link_16a361b45231ecc4 {
  display: inline-flex;
  align-items: center;
  min-height: var(--tap);
  color: var(--color-ink);
  text-decoration: none;
}
.contacts__link_16a361b45231ecc4:hover { color: var(--color-accent); }

@media (min-width: 1024px) {
  .contacts__grid_55bd372e38ff75c7 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
  .contacts__card_904c481ba3754e7d { display: flex; flex-direction: column; }
}
.demo-embed_5a5f513058c04c32 {
  margin-top: var(--space-6);
  padding: var(--space-3);
  background: var(--color-surface-1);
  border: var(--border-width) solid var(--color-border);
  border-radius: var(--radius-card);
}
.demo-embed_5a5f513058c04c32 iframe {
  width: 100%;
  border: 0;
  border-radius: var(--radius-btn);
}
.not-found_f8b55d41dae19278 { padding-top: var(--section-pad); padding-bottom: var(--space-7); }
.not-found__code_f1f08d6f7179370f {
  color: var(--color-accent);
  font-size: clamp(3rem, 10vw, 6rem);
  font-weight: 700;
  line-height: 1;
}
.not-found__text_a347dce241e06e1c { margin-top: var(--space-4); color: var(--color-muted); }
.not-found__action_1af64c57e03895b7 { margin-top: var(--space-6); }
