/*
Theme Name: SMMYT Ru
Theme URI: https://smmyt.help/
Author: —
Description: Брендовый информационный сайт о SMM-панели SMMYT. Русскоязычная аудитория, монетизация реферальной ссылкой.
Version: 1.2.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: syt-theme
*/

/* ============================================================================
   КОНТРАКТ НАПРАВЛЕНИЯ  ·  выбран владельцем 18.09.2026
   Карта «Стандарт» (категорийный стандарт), ключ броска impeccable 1b3bf4ec.
   Выбран человеком из четырёх; кости назначали кандидата 7 («Ступень света»),
   владелец взял стоящую дверь. Это разрешённый и предусмотренный исход.

   ⚠️ ГЛАВНОЕ, ЧТОБЫ СЛЕДУЮЩИЙ АГЕНТ НЕ ПРОЧИТАЛ «СТАНДАРТ» КАК ШАБЛОН:
   несущая ось этого сайта — ПЛОТНОСТЬ И СОДЕРЖАНИЕ, а не форма первого
   экрана. Форма здесь намеренно привычная. Всё отличие от восемнадцати
   соседей по нише держится на том, что внутри блоков, и на том, сколько
   фактов помещается на экран. «Привычная раскладка плюс своя палитра» —
   брак по правилу 1, владелец такое уже забраковал в первом заходе.

   THESIS
   Сайт владеет одной идеей: у SMMYT цена задаётся не пакетом, а тройкой
   «действие × количество × уровень», и только здесь эту тройку можно
   сравнить целиком. Категорийный дефолт, от которого отказываемся, —
   три карточки тарифов как весь разговор о цене: у нас карточки есть,
   но они вход в таблицу, а не замена ей.

   OWN-WORLD
   Фиолетовое поле #2A1438 как единственная тёмная плоскость, белая бумага
   под содержанием, красная #E00029 ровно на действии, зелёная #1F7A4C
   ровно на состоянии «держится» (21.09.2026 затемнена с #2E9C63 — тот давал
   на вторичной плоскости 3,3:1 при пороге 4,5). Компоненты: разлинованная таблица без
   заливки строк, ряд площадок пилюлями, счётчики в один ряд, ступени
   качества шестью строками. Узнаётся с убранным текстом по трём вещам:
   тёмная полоса первого экрана поверх белой страницы, таблицы без зебры
   с моноширинными числами по правому краю и единственный красный элемент
   в поле зрения.

   STORY
   Посетитель пришёл из запроса про накрутку, а не про бренд. Он понимает
   за один экран: сколько стоит единица, сколько держится, где дешевле
   и чем это подтверждено. Верит, потому что видит и границы: возврат
   только на баланс, юрлицо не опубликовано, оценки в сети расходятся
   от 1,8 до 4,9. Делает одно — уходит по красной кнопке на smmyt.ru.

   FIRST VIEWPORT
   Тёмная полоса во всю ширину: слева H1 с ценой действия и лид, под ними
   красная кнопка и строка условий; справа четыре счётчика бренда сеткой
   2×2. Под полосой — лента из шестнадцати площадок пилюлями. Главная
   кнопка сидит в левой колонке первого экрана и продублирована в шапке
   рядом с бургером; в бургер не прячется ни на одной ширине.

   FORM
   Категорийный стандарт ниши, сыгранный всерьёз и без иронии. В моём
   списке из семи направлений стоял стоящей дверью, не кандидатом.
   Ключ броска 1b3bf4ec.

   FINISH
   unreviewed and undocumented is unfinished; this build ends with the finish
   review, the verdict, DESIGN.md, and every shipping raster carrying its
   provenance.

   ── РАЗВОДКА С СОСЕДЯМИ ПО НИШЕ (18 сайтов, поимённо) ──────────────────
   Снято сканом тем сервера 18.09.2026, не из реестра.
   Шрифты   · Iosevka Etoile + Monaspace Argon, самохост. Не совпадает ни
              с Balsamiq Sans (vtope.info), Martian Grotesk + Monaspace Neon
              (venro.info), Fira Mono + Press Start 2P (v-like.info),
              Geologica + JetBrains Mono + Russo One (bosslike.help),
              IBM Plex + Tektur (vktarget.help), Alegreya Sans + Bitter
              (vkserfing.help), Oswald + PT Mono + Ubuntu (smmmedia.help),
              Marmelad (smmcode.help), Fixel (socpublic.info), Dela Gothic One
              + Iosevka Aile (cashbox-ru.info), Murecho + Lilex (adbtc.help),
              Clear Sans + Climate Crisis (tik-top.info), Lato + Yeseva One
              (stream-promotion.help), Ledger + Nunito Sans (bridgit.info),
              Cormorant + Gentium Book Plus (rucaptcha.info), Bellota +
              Charis SIL (appbonus.info), IBM Plex Serif (babama.help),
              Gentium Plus + Roboto Serif (smmprime.info).
   Палитра  · фиолетовое поле с красным действием. Синий в нише занят трижды
              (vktarget #187adf, bridgit #415de8, smmprime #407bff), бирюза —
              rucaptcha #00a1b3, фиолетово-синий — appbonus #6d48bb и
              babama #5703cc. Пары «тёмный фиолет + красный» нет ни у кого.
   Ритм     · чередование тёмной полосы и белого поля без карточных сеток
              между ними. У соседей ритм несут плитки (vtope), тикеры
              (venro), сетка вещания (stream-promotion), сетка часов
              (bridgit), облако пилюль (smmcode).
   Плотность· несущая ось. Тридцать позиций прайса с пересчётом на тысячу
              и таблица оценок по 9 площадкам — у соседей таблиц сравнения
              нет ни одной, и в выдаче по бренду их тоже нет ни на одной
              из 15 разобранных страниц.
   Компоненты· таблица без зебры с моноширинными числами по правому краю;
              ступени качества шестью строками с показом срока автодолива.
              Не пересекается с лидербордом (vtope), калькулятором на
              клавишах (v-like), чеком (cashbox), колбами (adbtc),
              логарифмической шкалой (socpublic), кадром 9:16 (tik-top).
   Поведение· наведение меняет только фон строки таблицы на 1 шаг; ничего
              не поднимается и не двигает раскладку. Подъём с тенью, наклон,
              смена радиуса и подсветка рамки в нише уже заняты.
   Содержание· разброс оценок 1,8–4,9 по 9 площадкам с объяснением причин
              и разбор антибот-проверки, из-за которой сайт бренда выглядит
              неработающим. Этого нет ни у одного конкурента и ни у соседей.

   ⚠️ 21.09.2026: карта страниц сокращена с 15 до 13 адресов. Страницы
   /instagram/, /tiktok/ и /analogi/ не заведены — офсайт закрыт антибот-
   проверкой, и подтверждённых фактов под них нет (см. SMMYT-HANDOFF.md).
   ============================================================================ */

/* ─── токены ─────────────────────────────────────────────────────────────── */
:root{
  /* поля и плоскости */
  --void:#2A1438;          /* тёмная полоса, снята с первого экрана офсайта */
  --void-2:#3A1C4C;        /* вторая тёмная плоскость */
  --paper:#FFFFFF;
  --plane:#F5F5F5;         /* вторичная плоскость офсайта */
  --plane-2:#FAF8FB;
  --line:#E4E0EA;
  --line-2:#CFC8D8;

  /* чернила */
  --ink:#222222;           /* основной текст офсайта */
  --ink-2:#4B4557;
  --mute:#615A6E;          /* 6,0:1 на #F5F5F5 — измерено, не на глаз */

  /* действие и состояние */
  --act:#E00029;           /* фирменный #F80031 даёт с белым только 4,2:1 */
  --act-bright:#F80031;    /* исходный — только для нетекстовых знаков */
  --act-deep:#B80024;      /* красный как текст по светлой плашке */
  --ok:#1F7A4C;            /* «держится». 5,07:1 на #FAF8FB — исходный #2E9C63 давал 3,3 */
  --link:#0C6CF2;

  /* размеры */
  --hull:1460px;           /* правило 19: от 1400 */
  --col:63ch;              /* текстовая колонка. 63ch Etoile = ~77 реальных знаков в строке:
                              единица ch считается по нулю, а кириллица строчными уже, и 74ch
                              давали 89 знаков при норме 65-75 */
  --gut:40px;
  --r:10px;                /* доминирующий радиус офсайта */
  --r-pill:26px;           /* пилюли офсайта */
  --r-s:6px;

  /* шрифты */
  --f-text:'Etoile',Georgia,'Times New Roman',serif;
  --f-num:'Argon',ui-monospace,'Cascadia Mono',Consolas,monospace;
}

/* ─── сброс и основа ─────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 17px/1.6 var(--f-text);
  font-feature-settings:"locl" 1;
  overflow-x:clip;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
::selection{background:var(--act);color:#fff}
:focus-visible{outline:2px solid var(--act);outline-offset:2px}
::-webkit-scrollbar{width:12px;height:12px}
::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:26px}

h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.012em;line-height:1.14;color:var(--void)}
h1{font-size:clamp(2.05rem,1.3rem+2.4vw,3.2rem)}
h2{font-size:clamp(1.5rem,1.15rem+1.3vw,2.25rem)}
h3{font-size:clamp(1.15rem,1.02rem+.5vw,1.4rem)}
p{margin:0 0 1em}
.lede{font-size:19px;line-height:1.58;color:var(--ink-2)}
.wrap--narrow{max-width:var(--col)}
code{font-family:var(--f-num);font-size:.92em;background:var(--plane);border:1px solid var(--line);
  border-radius:var(--r-s);padding:1px 6px;color:var(--ink)}

.hull{width:min(100% - var(--gut)*2,var(--hull));margin-inline:auto}

/* ─── шапка ──────────────────────────────────────────────────────────────── */
.mast{border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}
.mast__in{display:flex;align-items:center;gap:26px;padding:16px 0;min-height:64px}
.mark{display:inline-flex;align-items:baseline;gap:9px;text-decoration:none;font-weight:700;font-size:20px;color:var(--void)}
.mark__tx{letter-spacing:.02em}
.mark__ru{font-family:var(--f-num);font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute)}
.nav{display:flex;flex-wrap:wrap;gap:22px;margin-left:auto}
.nav a{color:var(--void);text-decoration:none;font-size:15.5px;opacity:.82}
.nav a:hover,.nav a[aria-current="page"]{opacity:1;text-decoration:underline;text-underline-offset:4px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--line-2);border-radius:var(--r-s);
  padding:9px 11px;cursor:pointer;color:var(--void)}
.burger span{display:block;width:20px;height:2px;background:currentColor;margin:4px 0}

/* кнопка-действие */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  background:var(--act);color:#fff;text-decoration:none;border:0;cursor:pointer;
  font:700 15.5px/1 var(--f-text);padding:14px 24px;border-radius:var(--r-pill);
  transition:transform .18s ease,background .18s ease;
}
.btn:hover{transform:translateY(-2px);background:var(--act-deep)}
.btn__mark{font-family:var(--f-num);font-weight:500;font-size:12.5px;opacity:.86}
.btn--ghost{background:transparent;color:var(--void);border:1px solid var(--line-2)}
.btn--ghost:hover{background:var(--plane);transform:translateY(-2px)}
.btn--wide{width:100%}
.btn__short{display:none}
.cta-mobile{display:none}

/* выдвижная панель: открывается только под порогом бургера */
.drawer{border-top:1px solid var(--line);background:var(--paper);
  max-height:calc(100dvh - 64px);overflow-y:auto;overscroll-behavior:contain}
.drawer[hidden]{display:none}
.drawer__in{display:grid;gap:2px;padding:14px 0 20px}
.drawer__in a{display:block;padding:11px 0;color:var(--void);text-decoration:none;
  border-bottom:1px solid var(--line);font-size:16px}
.drawer__in a:hover{color:var(--act-deep)}

/* ─── первый экран ───────────────────────────────────────────────────────── */
/* background-COLOR, не шорткат background. Шорткат сбрасывает
   background-image в none, и фон, который печатает PHP инлайном в <head>
   (адрес с ?v=mtime против expires max), молча не применялся бы: правила
   равны по специфичности, а style.css грузится после инлайнового блока.
   Та же грабля уже ловилась на cashbox-ru.info и на smmprime.info. */
.band{background-color:var(--void);color:#fff;padding:58px 20px 54px;position:relative}
.band h1{color:#fff}
.band h1 em{font-style:normal;color:#FF8FA6}
.band .lede{color:rgba(255,255,255,.84);max-width:46ch;margin-top:20px}
.band__grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:56px;align-items:center}
.band__cta{margin-top:30px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.band__note{font-family:var(--f-num);font-size:13.5px;line-height:1.55;color:rgba(255,255,255,.62);max-width:30ch}

/* Фон первого экрана. Сам адрес печатает PHP, здесь только поведение и
   вуаль. Вуаль плотнее под текстовой колонкой (слева) и тоньше на полях:
   сплошная гасила бы предметы до неразличимости, а именно поля и видны
   между непрозрачными плитками счётчиков. Пороги яркости под подписями
   держатся затемнением вуали, а не осветлением — см. замер в handoff. */
.band--bg{background-position:center;background-size:cover;background-repeat:no-repeat}
.band--bg::before{
  content:"";position:absolute;inset:0;pointer-events:none;
 
}
.band--bg > .hull{position:relative;z-index:1}

.counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.16);border-radius:var(--r);overflow:hidden}
.count{background:var(--void);padding:22px 24px}
.count b{display:block;font-family:var(--f-num);font-weight:600;font-size:27px;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums lining-nums}
.count span{display:block;margin-top:6px;font-size:13.5px;color:rgba(255,255,255,.64)}

/* ─── лента площадок ─────────────────────────────────────────────────────── */
.strip{background:var(--plane);border-bottom:1px solid var(--line);}
.strip__in{display:flex;flex-wrap:wrap;gap:9px;padding:17px 0; justify-content: center;}
.chip{font-family:var(--f-num);font-size:13.5px;padding:8px 15px;border:1px solid var(--line);
  background: #ece0fb;border-radius:var(--r-pill);color:var(--ink-2);white-space:nowrap}

/* ─── секции ─────────────────────────────────────────────────────────────── */
.sec{padding:56px 0}
.sec--tint{background:var(--plane-2);border-block:1px solid var(--line)}
.sec__head{margin-bottom:26px}
.sec__head p{margin-top:10px;color:var(--ink-2);max-width:var(--col)}

/* ─── таблица: несущий компонент, без зебры ──────────────────────────────── */
.tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.tbl{width:100%;border-collapse:collapse;font-size:15.5px;min-width:640px}
table.tbl th,table.tbl td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:top}
table.tbl thead th{font-family:var(--f-num);font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;
  color:var(--mute);font-weight:500;border-bottom:1px solid var(--line-2);white-space:nowrap}
table.tbl tbody tr:hover{background:var(--plane-2)}
table.tbl td.num{font-family:var(--f-num);font-variant-numeric:tabular-nums lining-nums;text-align:right;white-space:nowrap}
table.tbl td.num b{font-weight:600;color:var(--void)}
table.tbl td.keep{font-family:var(--f-num);font-size:14px;color:var(--ok)}
table.tbl caption{caption-side:bottom;margin-top:12px;font-family:var(--f-num);font-size:13px;
  color:var(--mute);text-align:left;line-height:1.55}

/* ступени качества */
.steps{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.step{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,.9fr);gap:16px;
  padding:14px 18px;border-bottom:1px solid var(--line);align-items:baseline}
.step:last-child{border-bottom:0}
.step:hover{background:var(--plane-2)}
.step__n{font-weight:700;color:var(--void)}
.step__keep{font-family:var(--f-num);font-size:14px;color:var(--ok)}
.step__p{font-family:var(--f-num);font-weight:600;font-size:16px;text-align:right;
  font-variant-numeric:tabular-nums lining-nums;color:var(--void)}

/* ─── карточки тарифов: вход в таблицу, не замена ей ─────────────────────── */
.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.card{border:1px solid var(--line);border-radius:var(--r);padding:26px 24px 24px;display:flex;flex-direction:column;
  background:var(--paper)}
.card--pick{border-color:var(--act);border-width:2px}
.card__t{font-family:var(--f-num);font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--mute)}
.card__p{margin-top:12px;font-family:var(--f-num);font-weight:600;font-size:33px;letter-spacing:-.02em;
  color:var(--void);font-variant-numeric:tabular-nums lining-nums}
.card__p s{display:block;margin-top:5px;text-decoration:none;font-family:var(--f-text);font-size:14px;
  font-weight:400;letter-spacing:normal;color:var(--mute)}
.card ul{list-style:none;margin:18px 0 22px;padding:0;display:grid;gap:9px}
.card li{font-size:15.5px;color:var(--ink-2);padding-left:23px;position:relative}
.card li::before{content:"";position:absolute;left:0;top:.55em;width:9px;height:9px;border-radius:50%;
  background:var(--ok)}
.card .btn{margin-top:auto}
.flag{align-self:flex-start;font-family:var(--f-num);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;
  background:var(--act);color:#fff;padding:5px 12px;border-radius:var(--r-pill);margin-bottom:12px}

/* ─── звёзды ─────────────────────────────────────────────────────────────── */
.star-rating{position:relative;display:inline-flex;line-height:0;vertical-align:middle}
.star-rating__bg,.star-rating__fg{display:flex;gap:2px}
.star-rating__bg{color:var(--line-2)}
.star-rating__fg{position:absolute;top:0;left:0;bottom:0;overflow:hidden;white-space:nowrap;color:#F5A623}
.star-rating svg{width:var(--star-size,20px);height:var(--star-size,20px);flex-shrink:0;
  fill:currentColor;stroke:currentColor}

/* ─── подвал ─────────────────────────────────────────────────────────────── */
.foot{background:var(--void);color:rgba(255,255,255,.76);padding:44px 20px 32px;margin-top:64px}
.foot__grid{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(2,minmax(0,1fr));gap:36px}
.foot a:not(.btn){color:rgba(255,255,255,.76);text-decoration:none}
.foot a:not(.btn):hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
/* Заголовки подвала набраны h2, а не h4: иначе после h2 последней секции
   страницы уровень перепрыгивает через h3, и обход по заголовкам рвётся. */
.foot h2{color:#fff;font-size:15px;margin:0 0 12px;font-family:var(--f-num);font-weight:500;
  letter-spacing:.07em;text-transform:uppercase;line-height:1.3}
.foot ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:15px}
.foot__cta{margin-top:32px}            /* правило 3а: воздух над кнопкой ≥28px */
.foot__legal{margin-top:30px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);
  font-size:13.5px;color:rgba(255,255,255,.58);line-height:1.6;max-width:63ch}

/* ─── крошки, 404, прочее ────────────────────────────────────────────────── */
.syt-breadcrumb{padding:16px 0;font-size:14px;color:var(--mute);display:flex;flex-wrap:wrap;gap:8px}
.syt-breadcrumb__link{color:var(--mute)}
.syt-breadcrumb__current{color:var(--ink-2)}
.syt-breadcrumb__sep{color:var(--line-2)}

/* ─── шапка внутренней страницы ──────────────────────────────────────────── */
/* Та же тёмная полоса поверх белой бумаги, что и на главной, только ниже:
   на внутренней странице над сгибом должен помещаться ещё и первый факт. */
/* background-COLOR по той же причине, что и у .band выше. */
.crown{background-color:var(--void);color:#fff;padding:26px 20px 40px;position:relative}
.crown h1{color:#fff;margin-top:10px}
.crown .lede{color:rgba(255,255,255,.84);margin-top:18px}
.crown .syt-breadcrumb{padding:0;color:rgba(255,255,255,.62)}
.crown .syt-breadcrumb__link{color:rgba(255,255,255,.62)}
.crown .syt-breadcrumb__current{color:rgba(255,255,255,.84)}
.crown .syt-breadcrumb__sep{color:rgba(255,255,255,.34)}
.crown__cta{margin-top:26px}

/* Фон шапки внутренней страницы. Текстовая колонка занимает левую
   половину полосы, правая на широких экранах свободна — поэтому вуаль
   плотная слева и тоньше справа. Крошки набраны белым с прозрачностью
   .62 и лежат в самом верху: это самый светлочувствительный текст здесь. */
.crown--bg{background-position:center;background-size:cover;background-repeat:no-repeat}
.crown--bg::before{
  content:"";position:absolute;inset:0;pointer-events:none;

}
.crown--bg > .hull{position:relative;z-index:1}

/* ─── кадр в секции ──────────────────────────────────────────────────────── */
/* Прямоугольник во всю ширину .hull, без рамки, тени и скругления:
   направление держится на плотности, карточка с картинкой его разбавляет,
   а скругление на сайте ровно одно — у кнопки (контракт направления).
   Кадр показывается ЦЕЛИКОМ: ни object-fit, ни aspect-ratio здесь нет
   намеренно. Кадры владельца 1344×768 и 1239×698, и любая заданная
   пропорция срезала бы их по высоте — это запрещено правилом по галереям.
   Обрезка 5:2 из файла промтов поэтому не применена. */
.shot{margin:32px 0 0}
.shot picture{display:block}
.shot img{display:block;width:100%;height:auto}

/* ─── планки: шаг, критерий, пара «что → что это значит» ─────────────────── */
.planks{border-top:1px solid var(--line)}
.plank{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,1fr);gap:20px;
  padding:16px 0;border-bottom:1px solid var(--line);align-items:baseline}
.plank:hover{background:var(--plane-2)}
.plank__k{font-weight:700;color:var(--void)}
.plank__v{color:var(--ink-2);max-width:62ch}
.plank__v b{color:var(--void)}

/* ─── врезка с одним фактом ──────────────────────────────────────────────── */
.note{border:1px solid var(--line-2);border-radius:var(--r);padding:20px 22px;background:var(--plane-2)}
.note p:last-child{margin-bottom:0}
.note b{color:var(--void)}

/* ─── оценка по критериям ────────────────────────────────────────────────── */
.score{display:flex;gap:28px;align-items:center;flex-wrap:wrap;margin-bottom:26px}
.score__n{font-family:var(--f-num);font-weight:600;font-size:58px;line-height:1;letter-spacing:-.03em;
  color:var(--void);font-variant-numeric:tabular-nums lining-nums}
.score__s{display:block;margin-top:10px}

/* ─── отзывы ─────────────────────────────────────────────────────────────── */
.voices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);
  border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.voice{background:var(--paper);padding:24px 24px 26px}
.voice:hover{background:var(--plane-2)}
.voice__top{display:flex;justify-content:space-between;align-items:baseline;gap:14px;flex-wrap:wrap}
.voice__who{font-weight:700;color:var(--void);font-size:16.5px}
.voice__what{display:block;margin-top:3px;font-family:var(--f-num);font-size:12.5px;color:var(--mute)}
.voice__tx{margin:14px 0 0;color:var(--ink-2);font-size:15.5px}

/* ─── вопросы и ответы ───────────────────────────────────────────────────── */
.qa{border-top:1px solid var(--line-2)}
.qa__i{border-bottom:1px solid var(--line)}
.qa__i summary{list-style:none;cursor:pointer;padding:17px 44px 17px 0;position:relative;
  font-weight:700;color:var(--void);font-size:17px}
.qa__i summary::-webkit-details-marker{display:none}
.qa__i summary::after{content:"+";position:absolute;right:8px;top:50%;transform:translateY(-50%);
  font-family:var(--f-num);font-weight:500;font-size:21px;color:var(--act);line-height:1}
.qa__i[open] summary::after{content:"\2212"}
.qa__i summary:hover{color:var(--act-deep)}
.qa__b{padding:0 0 18px;color:var(--ink-2);max-width:var(--col)}
.qa__b p{margin:0}

/* ─── перелинковка ───────────────────────────────────────────────────────── */
.onward{display:flex;flex-wrap:wrap;gap:10px}
.onward__i{display:inline-flex;align-items:center;gap:8px;padding:12px 18px;border:1px solid var(--line-2);
  border-radius:var(--r-pill);color:var(--void);text-decoration:none;font-size:15.5px;background:var(--paper)}
.onward__i::after{content:"\2192";font-family:var(--f-num);color:var(--act);font-size:14px}
.onward__i:hover{background:var(--plane);border-color:var(--void)}

/* ─── официальные каналы ─────────────────────────────────────────────────── */
.chans{border-top:1px solid var(--line-2)}
.chan{display:grid;grid-template-columns:minmax(0,.2fr) minmax(0,.4fr) minmax(0,1fr);gap:20px;
  padding:18px 0;border-bottom:1px solid var(--line);align-items:baseline}
.chan__k{font-family:var(--f-num);font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.chan__v a{font-weight:700;color:var(--act-deep);text-decoration:none;word-break:break-word}
.chan__v a:hover{text-decoration:underline;text-underline-offset:3px}
.chan__t{color:var(--ink-2);font-size:15.5px;max-width:62ch}

/* ─── брейкпоинты темы ───────────────────────────────────────────────────── */
@media (max-width:1320px){ .band__grid{gap:40px} }
@media (max-width:1180px){          /* порог бургера */
  .nav{display:none}
  .burger{display:block}
  .cta-mobile{display:inline-flex;margin-left:12px}
  .band__grid{grid-template-columns:minmax(0,1fr);gap:36px}
  /* Колонки сложились друг под другом — делить полосу на левую и правую
     больше нечего, вуаль становится сплошной. Сам вертикальный кадр
     подставляет PHP тем же медиазапросом. */
  
}
@media (max-width:980px){
  .foot__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .cards{grid-template-columns:minmax(0,1fr)}
  .voices{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  :root{--gut:22px}
  .sec{padding:44px 0}
  .counts{grid-template-columns:minmax(0,1fr)}
  .step{grid-template-columns:minmax(0,1fr) minmax(0,auto);row-gap:6px}
  .step__keep{grid-column:1/-1;order:3}
  .plank{grid-template-columns:minmax(0,1fr);gap:6px}
  .chan{grid-template-columns:minmax(0,1fr);gap:5px}
  .score__n{font-size:46px}
}
@media (max-width:560px){
  .band{padding:42px 7px 40px}
  .foot__grid{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:430px){
  :root{--gut:18px}
  .btn__full{display:none}            /* первой сокращается подпись кнопки */
  .btn__short{display:inline}
}
@media (max-width:400px){
  .btn{padding:12px 18px;font-size:15px}
  .mast__in{gap:14px}
}
@media (max-width:345px){
  .mark__ru{display:none}             /* подпись знака гаснет последней */
}

@media (prefers-reduced-motion: reduce){
  *{animation:none !important;transition:none !important;scroll-behavior:auto !important}
}
