/* ГРАНЬ / ГВМА — статическая сборка из эталона source/*.dc.html.
   2026-10-05: цвета затемнены и шрифты увеличены ради читаемости (контраст текста ≥ 4.5:1),
   акцент #45877F → #356F67, подписи → #5F5C52. Эталон в source/ не менялся. */

/* ---------- Шрифты (локальные, fontsource) ---------- */
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/oswald-cyrillic-400.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/oswald-latin-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/oswald-cyrillic-500.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/oswald-latin-500.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/oswald-cyrillic-600.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'Oswald'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/oswald-latin-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/ibm-plex-sans-cyrillic-400.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url(/assets/fonts/ibm-plex-sans-latin-400.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/ibm-plex-sans-cyrillic-500.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url(/assets/fonts/ibm-plex-sans-latin-500.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/ibm-plex-sans-cyrillic-600.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: 'IBM Plex Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url(/assets/fonts/ibm-plex-sans-latin-600.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ---------- База ---------- */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
/* Обёртка эталона имела overflow-x: hidden — это ломает position: sticky у хедера.
   Здесь те же свойства на body, а вместо hidden — clip (не создаёт scroll-контейнер). */
body {
  margin: 0; background: #F6F2EA; color: #191B1C;
  font-family: 'IBM Plex Sans', system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
a { color: #2E625B; text-decoration: none; }
a:where(:hover) { color: #356F67; }
::selection { background: #356F67; color: #fff; }
h1, h2, h3 { font-weight: 500; }
.osw { font-family: 'Oswald', sans-serif; }
.up { text-transform: uppercase; }
.teal { color: #356F67; }
.hl { color: #356F67; font-weight: 500; }
.pretty { text-wrap: pretty; }
.pre { white-space: pre-line; }
.tnum { font-variant-numeric: tabular-nums; }
.wrap { max-width: 1400px; margin: 0 auto; padding: 0 clamp(18px, 3vw, 44px); }
.alt { background: #FFFDF9; }

/* ---------- Хедер ---------- */
.hdr { position: sticky; top: 0; z-index: 50; background: rgba(246,242,234,0.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom: 1px solid #191B1C; }
.hdr-in { max-width: 1400px; margin: 0 auto; padding: 13px clamp(18px, 3vw, 44px); display: flex; align-items: center; gap: 20px; flex-wrap: wrap; row-gap: 10px; }
.logo { display: flex; align-items: baseline; gap: 12px; color: #191B1C; flex-wrap: wrap; }
.logo-name { font-family: 'Oswald', sans-serif; font-size: 26px; font-weight: 600; letter-spacing: 0.16em; }
.logo-sub { font-size: 13px; font-weight: 500; letter-spacing: 0.13em; color: #5F5C52; text-transform: uppercase; }
.nav { display: flex; gap: clamp(12px, 1.5vw, 24px); margin-left: auto; align-items: center; flex-wrap: wrap; row-gap: 8px; }
.nav a { font-size: 15px; color: #45433D; }
.nav a:hover { color: #356F67; }
.nav a.nav-cta { font-size: 14px; font-weight: 500; color: #191B1C; border: 1px solid #191B1C; padding: 9px 16px; }
.nav a.nav-cta:hover { background: #191B1C; color: #F6F2EA; }

/* ---------- Кнопки ---------- */
.btn { font-family: 'Oswald', sans-serif; font-size: 17px; letter-spacing: 0.08em; text-transform: uppercase; padding: 15px 28px; }
.btn-dark { background: #191B1C; color: #F6F2EA; }
.btn-dark:hover { background: #356F67; color: #F6F2EA; }
.btn-line { border: 1px solid #191B1C; color: #191B1C; }
.btn-line:hover { background: #E9E3D5; color: #191B1C; }
.btn-more { display: inline-flex; align-items: baseline; gap: 10px; padding: 15px 26px; }
.btn-more:hover { background: #356F67; border-color: #356F67; color: #fff; }
.btn-more span { font-size: 15px; }
.btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* ---------- Общие элементы разделов ---------- */
.sec { padding: clamp(54px, 7vw, 96px) 0; border-bottom: 1px solid #191B1C; }
.grid2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: clamp(28px, 3.5vw, 56px); }
.sec-head { margin-bottom: clamp(36px, 4vw, 56px); align-items: end; }
/* Номер раздела — декоративный, выводится из data-n (не текст, не мешает проверке контраста) */
.num::before { content: attr(data-n); }
.num { font-family: 'Oswald', sans-serif; font-size: clamp(62px, 7vw, 96px); line-height: 0.8; color: #DCD5C6; margin-bottom: 18px; }
.h2 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: clamp(30px, 3.3vw, 44px); line-height: 1.06; margin: 0; text-transform: uppercase; }
.lead { font-size: clamp(17px, 1.4vw, 19px); line-height: 1.65; color: #45433D; margin: 0; max-width: 660px; text-wrap: pretty; }
.kicker { font-size: 13px; font-weight: 500; letter-spacing: 0.14em; color: #356F67; text-transform: uppercase; }
.cols { display: grid; border-top: 1px solid #191B1C; }
.col { border-left: 1px solid #DCD5C6; margin-left: -1px; }

/* ---------- Первый экран ---------- */
.hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: clamp(30px, 4vw, 60px); padding: clamp(42px, 6vw, 76px) 0 clamp(38px, 5vw, 62px); }
.hero-kicker { font-size: 13px; font-weight: 500; letter-spacing: 0.2em; color: #356F67; text-transform: uppercase; margin-bottom: 26px; }
.hero h1 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: clamp(38px, 6vw, 80px); line-height: 0.98; margin: 0 0 28px; letter-spacing: -0.015em; text-transform: uppercase; }
.hero-note { border-top: 1px solid #DCD5C6; padding-top: 20px; max-width: 470px; }
.hero-note p { font-size: 17px; line-height: 1.6; color: #5F5C52; margin: 0; }
.hero-text { display: flex; flex-direction: column; justify-content: center; gap: 20px; max-width: 640px; }
.hero-text p { font-size: 18px; line-height: 1.62; color: #45433D; margin: 0; text-wrap: pretty; }
.hero-text p.hero-main { font-size: clamp(18px, 1.4vw, 21px); line-height: 1.6; color: #191B1C; }
.hero-text .btns { padding-top: 6px; }

.stats { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.stat { padding: 30px 36px 34px; border-left: 1px solid #DCD5C6; }
.stat:first-child { padding-left: 0; border-left: 0; }
.stat-v { font-family: 'Oswald', sans-serif; font-size: clamp(34px, 3.4vw, 44px); line-height: 1; }
.stat-d { font-size: 15px; color: #5F5C52; margin-top: 8px; line-height: 1.45; }

/* ---------- 01 Задача ---------- */
.problems { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.problem { padding: 30px 34px 10px; }
.problem .kicker { margin-bottom: 18px; }
.problem h3 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 22px; line-height: 1.16; margin: 0 0 12px; text-transform: uppercase; }
.problem p { font-size: 17px; line-height: 1.62; color: #45433D; margin: 0; white-space: pre-line; text-wrap: pretty; }

/* ---------- 02 История ---------- */
.story { align-items: start; }
.story .h2 { margin-bottom: 24px; }
.story-note { border-top: 1px solid #DCD5C6; padding-top: 20px; max-width: 420px; }
.story-note .kicker { margin-bottom: 10px; }
.story-note p { font-size: 17px; line-height: 1.6; color: #5F5C52; margin: 0; }
.story-body { max-width: 720px; }
.story-body p { font-size: 17px; line-height: 1.65; color: #45433D; margin: 0 0 20px; text-wrap: pretty; }
.story-body p.story-first { font-size: clamp(18px, 1.4vw, 20px); line-height: 1.62; color: #191B1C; }
.story-body p.mb22 { margin-bottom: 22px; }
.story-body p.mb28 { margin-bottom: 28px; }
.nlist { border-top: 1px solid #DCD5C6; margin-bottom: 22px; }
.nlist-row { display: grid; grid-template-columns: 30px 1fr; gap: 16px; padding: 14px 0; border-bottom: 1px solid #E6E0D2; }
.nlist-n { font-size: 14px; font-weight: 500; color: #356F67; }
.nlist-t { font-size: 17px; line-height: 1.5; color: #45433D; }

/* ---------- 03 Оборудование ---------- */
.features { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-bottom: clamp(40px, 5vw, 64px); }
.feature { padding: 28px 34px 12px; }
.feature-t { font-family: 'Oswald', sans-serif; font-size: 21px; text-transform: uppercase; margin-bottom: 12px; }
.feature-d { font-size: 17px; line-height: 1.62; color: #45433D; white-space: pre-line; text-wrap: pretty; }
.specs-title { font-family: 'Oswald', sans-serif; font-size: clamp(21px, 2vw, 26px); text-transform: uppercase; margin-bottom: 16px; }
.specs-scroll { overflow-x: auto; border: 1px solid #191B1C; }
.specs { min-width: 880px; }
.specs-row { display: grid; grid-template-columns: 1.7fr repeat(4, 1fr); border-bottom: 1px solid #E6E0D2; }
.specs-row:last-child { border-bottom: 1px solid #E6E0D2; }
.specs-head { border-bottom: 1px solid #191B1C; }
.specs-head > div { padding: 16px 24px; font-family: 'Oswald', sans-serif; font-size: 20px; border-left: 1px solid #DCD5C6; }
.specs-head > div:first-child { font-family: 'IBM Plex Sans', system-ui, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0.14em; color: #5F5C52; text-transform: uppercase; align-self: end; border-left: 0; }
.specs-head > div.specs-hl { background: #356F67; color: #fff; }
.specs-row:not(.specs-head) > div { padding: 14px 24px; font-size: 17px; color: #45433D; border-left: 1px solid #E6E0D2; font-variant-numeric: tabular-nums; }
.specs-row:not(.specs-head) > div:first-child { border-left: 0; font-variant-numeric: normal; }
.specs-row:not(.specs-head) > div.specs-hl { font-weight: 500; color: #191B1C; background: #EDF3F1; }
.specs-note { font-size: 15px; color: #5F5C52; margin-top: 14px; }

/* ---------- 04 Отрасли ---------- */
.ind-head { margin-bottom: clamp(30px, 4vw, 52px); }
.ind-list { border-top: 1px solid #191B1C; }
.ind { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: clamp(18px, 2.5vw, 40px); padding: 26px 0; border-bottom: 1px solid #DCD5C6; align-items: baseline; }
.ind h3 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: clamp(21px, 2vw, 26px); margin: 0; text-transform: uppercase; line-height: 1.14; }
.ind p { font-size: 17px; line-height: 1.6; color: #45433D; margin: 0; text-wrap: pretty; }
.ind-cut { font-size: 17px; font-weight: 500; color: #2E625B; font-variant-numeric: tabular-nums; }
.ind-tag { font-size: 13px; font-weight: 500; color: #5F5C52; text-transform: uppercase; letter-spacing: 0.12em; margin-top: 6px; }
.ind-more { margin-top: 24px; font-size: 17px; color: #5F5C52; line-height: 1.6; max-width: 900px; }

/* ---------- Бирюзовая полоса ---------- */
.pillars { background: #356F67; color: #fff; padding: clamp(46px, 6vw, 72px) 0; }
.pillars .wrap { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: clamp(26px, 3vw, 48px); }
.pillar-t { font-family: 'Oswald', sans-serif; font-size: 23px; text-transform: uppercase; margin-bottom: 12px; }
.pillars p { font-size: 17px; line-height: 1.6; color: #D6E7E3; margin: 0; text-wrap: pretty; }

/* ---------- 05 FAQ ---------- */
.faq { border-top: 1px solid #191B1C; }
.faq details { border-bottom: 1px solid #DCD5C6; }
.faq summary { display: grid; grid-template-columns: 1fr 36px; gap: 16px; align-items: center; padding: 22px 0; cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq-q { font-family: 'Oswald', sans-serif; font-size: clamp(19px, 1.7vw, 23px); text-transform: uppercase; line-height: 1.18; }
.faq-sign { font-size: 26px; color: #356F67; text-align: right; line-height: 1; }
.faq-sign::before { content: '+'; }
.faq details[open] .faq-sign::before { content: '\2212'; }
.faq details p { font-size: 17px; line-height: 1.68; color: #45433D; margin: 0 0 24px; max-width: 820px; text-wrap: pretty; }

/* ---------- 06 Статьи ---------- */
.arts-head { gap: clamp(24px, 3vw, 48px); align-items: end; margin-bottom: clamp(28px, 3.5vw, 44px); }
.arts-head p { font-size: 18px; line-height: 1.6; color: #5F5C52; margin: 0; max-width: 460px; }
.arts { border-top: 1px solid #191B1C; }
.art { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: clamp(14px, 2.5vw, 40px); padding: 24px 0; border-bottom: 1px solid #DCD5C6; align-items: baseline; }
a.art:hover { background: #F1EDE3; }
.art-tag { font-size: 13px; font-weight: 500; color: #356F67; text-transform: uppercase; letter-spacing: 0.14em; }
.art-body { grid-column: span 2; }
.art h3 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: clamp(20px, 2vw, 27px); line-height: 1.14; margin: 0 0 10px; text-transform: uppercase; color: #191B1C; }
.art p { font-size: 17px; line-height: 1.6; color: #45433D; margin: 0; max-width: 720px; text-wrap: pretty; }
.art-time { font-size: 14px; color: #5F5C52; }
.art-soon .art-time b { font-weight: 500; color: #356F67; }
/* На узком экране span 2 в одноколоночной сетке создаёт лишнюю неявную колонку */
@media (max-width: 480px) { .art-body { grid-column: auto; } }

/* ---------- 07 Контакты ---------- */
.contacts { gap: clamp(32px, 4vw, 64px); align-items: start; }
.contacts .h2 { margin-bottom: 22px; }
.contacts .lead { max-width: 520px; }
.clist { border-top: 1px solid #191B1C; }
.crow { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 20px 0; border-bottom: 1px solid #DCD5C6; align-items: baseline; }
.crow:hover { color: #356F67; }
.crow-k { font-size: 13px; font-weight: 500; color: #5F5C52; text-transform: uppercase; letter-spacing: 0.12em; }
.crow-v { font-family: 'Oswald', sans-serif; font-size: clamp(22px, 2.2vw, 28px); overflow-wrap: anywhere; }
@media (max-width: 420px) { .crow { grid-template-columns: 90px 1fr; gap: 14px; } }

/* ---------- Футер ---------- */
.ftr { background: #191B1C; color: #A8A395; padding: clamp(42px, 5vw, 56px) 0 40px; }
.ftr-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: clamp(28px, 3vw, 48px); padding-bottom: 36px; border-bottom: 1px solid #33352F; }
.ftr-name { font-family: 'Oswald', sans-serif; font-size: 25px; font-weight: 600; letter-spacing: 0.16em; color: #F6F2EA; margin-bottom: 10px; }
.ftr-about { font-size: 15px; line-height: 1.6; }
.ftr-col { font-size: 15px; line-height: 1.9; }
.ftr-k { font-size: 13px; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: #9A9587; margin-bottom: 12px; }
.ftr-bottom { display: flex; justify-content: space-between; padding-top: 22px; font-size: 14px; gap: 24px; flex-wrap: wrap; }

/* ---------- Страница статьи ---------- */
.a-head { padding: clamp(34px, 5vw, 64px) 0 clamp(28px, 3.5vw, 44px); border-bottom: 1px solid #191B1C; }
.a-meta { display: flex; gap: 20px; align-items: baseline; flex-wrap: wrap; margin-bottom: 26px; }
.a-meta .kicker { letter-spacing: 0.16em; }
.a-meta-time { font-size: 14px; color: #5F5C52; }
.a-head h1 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: clamp(36px, 5.4vw, 72px); line-height: 1.0; margin: 0 0 24px; letter-spacing: -0.012em; text-transform: uppercase; max-width: 1000px; }
.a-lead { font-size: clamp(18px, 1.5vw, 22px); line-height: 1.55; color: #45433D; margin: 0; max-width: 760px; text-wrap: pretty; }
.a-main { padding: clamp(36px, 5vw, 64px) 0; }
.a-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: clamp(28px, 4vw, 64px); align-items: start; }
.toc { position: sticky; top: 96px; max-width: 300px; }
.toc-k { font-size: 13px; font-weight: 500; letter-spacing: 0.16em; color: #5F5C52; text-transform: uppercase; padding-bottom: 12px; border-bottom: 1px solid #DCD5C6; }
.toc nav { display: flex; flex-direction: column; }
.toc a { font-size: 17px; color: #45433D; padding: 11px 0; border-bottom: 1px solid #E6E0D2; }
.toc a:last-child { border-bottom: 0; }
.toc a:hover { color: #356F67; }
.a-body { grid-column: span 2; max-width: 760px; }
.a-body h2 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.12; margin: 0 0 20px; text-transform: uppercase; scroll-margin-top: 90px; }
.a-body p { font-size: 18px; line-height: 1.7; color: #45433D; margin: 0 0 22px; text-wrap: pretty; }
.a-body p.a-first { font-size: clamp(18px, 1.4vw, 20px); line-height: 1.66; color: #191B1C; }
.a-body .mb24 { margin-bottom: 24px; }
.a-body .mb30 { margin-bottom: 30px; }
.a-body .mb34 { margin-bottom: 34px; }
.a-nlist { border-top: 1px solid #191B1C; margin-bottom: 34px; }
.a-nlist .nlist-row { grid-template-columns: 32px 1fr; gap: 18px; padding: 16px 0; }
.a-nlist .nlist-t { font-size: 18px; color: #191B1C; }
.a-box { border: 1px solid #191B1C; background: #FFFDF9; padding: clamp(22px, 3vw, 32px); margin-bottom: 34px; }
.a-box .kicker { font-size: 13px; letter-spacing: 0.16em; margin-bottom: 18px; }
.a-box-row { font-size: 18px; line-height: 1.5; color: #191B1C; padding: 11px 0; border-bottom: 1px solid #E6E0D2; }
.a-box-row:last-child { border-bottom: 0; }
.a-body p.a-quote { font-size: clamp(19px, 1.8vw, 24px); line-height: 1.5; color: #191B1C; margin: 0 0 34px; padding: 24px 0; border-top: 1px solid #191B1C; border-bottom: 1px solid #191B1C; }
.a-mats { border-top: 1px solid #DCD5C6; margin-bottom: 22px; }
.a-mat { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; padding: 16px 0; border-bottom: 1px solid #E6E0D2; }
.a-mat-k { font-size: 13px; font-weight: 500; letter-spacing: 0.12em; color: #5F5C52; text-transform: uppercase; }
.a-mat-v { font-size: 17px; line-height: 1.5; color: #45433D; grid-column: span 2; }
.a-body .btns { padding-top: 12px; }
.a-related { border-top: 1px solid #191B1C; padding: clamp(34px, 4vw, 56px) 0 clamp(40px, 5vw, 72px); }
.a-related-t { font-family: 'Oswald', sans-serif; font-size: clamp(22px, 2.2vw, 28px); text-transform: uppercase; margin-bottom: 22px; }
.a-related .arts { border-top: 1px solid #DCD5C6; }
.a-related .art { padding: 22px 0; }
.a-related .art h3 { font-size: clamp(19px, 1.8vw, 25px); margin-bottom: 8px; }
/* Узкий экран: одна колонка, оглавление не прилипает (иначе наезжает на текст) */
@media (max-width: 700px) {
  .toc { position: static; max-width: none; }
  .a-body, .a-mat-v { grid-column: auto; }
}

/* ---------- 404 ---------- */
.e404 { padding: clamp(60px, 10vw, 140px) 0; border-bottom: 1px solid #191B1C; }
.e404 .num { font-size: clamp(96px, 14vw, 180px); }
.e404 .h2 { margin-bottom: 20px; }
.e404 .lead { margin-bottom: 32px; }

/* ---------- Политика конфиденциальности ---------- */
.legal { padding: clamp(48px, 6vw, 84px) 0; }
.legal .wrap { max-width: 860px; }
.legal h2 { font-family: 'Oswald', sans-serif; font-weight: 500; font-size: 22px; letter-spacing: 0.02em; margin: 36px 0 10px; }
.legal p { font-size: 17px; line-height: 1.7; color: #45433D; margin: 0 0 14px; text-wrap: pretty; }
.legal a { text-decoration: underline; text-underline-offset: 3px; }
.legal-date { color: #5F5C52 !important; font-size: 15px !important; }
.legal-back { margin-top: 40px !important; }
.ftr-bottom a { color: #C9C4B6; text-decoration: underline; text-underline-offset: 3px; }
.ftr-bottom a:hover { color: #F6F2EA; }

/* ---------- Плашка про cookie ---------- */
.ck { position: fixed; left: 0; right: 0; bottom: 0; z-index: 100; background: #191B1C; color: #E8E4D8; border-top: 1px solid #356F67; }
.ck-in { max-width: 1400px; margin: 0 auto; padding: 14px clamp(18px, 3vw, 44px); display: flex; align-items: center; gap: 20px; flex-wrap: wrap; }
.ck p { margin: 0; flex: 1 1 360px; font-size: 15px; line-height: 1.5; }
.ck a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ck button { font-family: 'Oswald', sans-serif; font-size: 16px; letter-spacing: 0.08em; text-transform: uppercase; background: #F6F2EA; color: #191B1C; border: 0; padding: 10px 26px; cursor: pointer; }
.ck button:hover { background: #fff; }
.ck button:focus-visible, .ck a:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
