/* ============================================================================
 * pchk.css — общая дизайн-система публичных страниц (минимализм).
 *
 * Каноничный источник стиля — главная (views/web/pchk_1.php). Здесь вынесены
 * ПЕРЕИСПОЛЬЗУЕМЫЕ компоненты, чтобы все внутренние маркетинговые страницы
 * выглядели одинаково без дублирования CSS. Классы с префиксом .pk-* —
 * уникальны, ни с Tailwind, ни с .jh-/.ec-/.lp- не конфликтуют.
 *
 * Подключается в views/layouts/marketing.php ПОСЛЕ app.css. Инертен, пока
 * страница не добавит классы .pk-* (миграция — по одной странице).
 *
 * Правила стиля (жёсткие):
 *   • Палитра: белый + тёплый #f5f4f1 + чернила #111114 + бренд #0057cc. Ноль градиентов.
 *   • Типографика Onest (глобальная), заголовки weight 600 + плотный трекинг.
 *   • Ховеры БЕЗ движения: только цвет/фон/рамка. Никаких translateY/scale/подпрыгиваний.
 *   • Воздух, волосяные разделители, мягкие карточки, крупные заголовки.
 *   • Скролл-ревил: fade+rise, класс .pk-reveal (см. низ файла + pchk.js).
 * ========================================================================== */

:root{
  --pk-ink:#111114;
  --pk-ink-soft:#5f5f66;
  --pk-ink-mute:#6b6b72;
  --pk-muted:#8a8a93;
  --pk-brand:var(--color-brand-700,#0057cc);   /* white-label follows brand scale */
  --pk-brand-ink:#0049ad;
  --pk-brand-50:#eef3ff;
  --pk-paper:#f5f4f1;
  --pk-paper2:#f6f5f2;
  --pk-stage:#f4f3f0;
  --pk-line:rgba(17,17,20,.09);
  --pk-line-soft:rgba(17,17,20,.06);
  --pk-line-strong:rgba(17,17,20,.14);
}

/* Корень мигрированной страницы. Ставится на самый внешний div контента. */
.pk-page{
  color:var(--pk-ink);
  letter-spacing:-.01em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  font-feature-settings:"cv02","cv03","cv04","cv11";
}
.pk-page *{box-sizing:border-box;}

/* ── Раскладка ─────────────────────────────────────────────────────────── */
.pk-wrap{max-width:1120px;margin:0 auto;padding:0 24px;}
.pk-wrap--wide{max-width:1200px;}
.pk-wrap--narrow{max-width:760px;}
.pk-wrap--prose{max-width:720px;}

.pk-sec{padding:100px 0;}
.pk-sec--tight{padding:76px 0;}
.pk-sec--paper{background:var(--pk-paper);}
.pk-sec--white{background:#fff;}
.pk-sec--stage{background:var(--pk-stage);}

/* ── Hero внутренней страницы (компактный, не на весь экран) ───────────── */
.pk-hero{padding:72px 0 56px;text-align:center;}
.pk-hero .pk-wrap{max-width:900px;}
.pk-hero-title{font-weight:600;font-size:clamp(32px,5.2vw,60px);line-height:1.06;letter-spacing:-.03em;color:var(--pk-ink);}
.pk-hero-lead{margin:22px auto 0;max-width:60ch;font-size:clamp(17px,1.7vw,20px);line-height:1.6;color:var(--pk-ink-soft);}
.pk-hero-cta{margin-top:36px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;}
.pk-hero-note{margin-top:16px;font-size:13.5px;color:var(--pk-muted);}

/* ── Заголовки и надписи ──────────────────────────────────────────────── */
.pk-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:13px;letter-spacing:.02em;color:var(--pk-brand);}
.pk-eyebrow i{font-size:12px;}
.pk-eyebrow--pill{padding:7px 14px;border-radius:999px;background:#fff;border:1px solid var(--pk-line);color:var(--pk-ink-soft);}
.pk-h2{font-weight:600;font-size:clamp(28px,4.2vw,46px);line-height:1.08;letter-spacing:-.026em;color:var(--pk-ink);}
.pk-h2 em{font-style:normal;color:var(--pk-brand);}
.pk-h3{font-weight:600;font-size:clamp(19px,2vw,23px);line-height:1.22;letter-spacing:-.018em;color:var(--pk-ink);}
.pk-lead{font-size:clamp(16px,1.55vw,19px);line-height:1.6;color:var(--pk-ink-soft);}
.pk-sec-head{max-width:660px;}
.pk-sec-head--center{margin-left:auto;margin-right:auto;text-align:center;}
.pk-sec-head .pk-h2{margin-top:14px;}
.pk-sec-head .pk-lead{margin-top:16px;}

/* ── Кнопки (спокойные ховеры, без движения) ──────────────────────────── */
.pk-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:15px;
  line-height:1;text-decoration:none;white-space:nowrap;padding:16px 28px;border-radius:12px;border:1px solid transparent;
  cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease;}
.pk-btn--primary{background:var(--pk-brand);color:#fff;}
.pk-btn--primary:hover{background:var(--pk-brand-ink);}
.pk-btn--dark{background:var(--pk-ink);color:#fff;}
.pk-btn--dark:hover{background:#2e2e2e;}
.pk-btn--light{background:#fff;color:var(--pk-ink);border-color:var(--pk-line);}
.pk-btn--light:hover{background:#f4f3f0;border-color:var(--pk-line-strong);}
.pk-btn--ghost{background:transparent;color:var(--pk-ink);border-color:var(--pk-line-strong);}
.pk-btn--ghost:hover{background:#faf9f7;}
.pk-btn--onwhite{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.16);}
.pk-btn--onwhite:hover{background:rgba(255,255,255,.16);}
.pk-btn--pill{border-radius:999px;}
.pk-btn--caps{text-transform:uppercase;letter-spacing:.06em;font-size:14px;}
.pk-btn i{font-size:15px;}
@media(max-width:560px){.pk-btn--block-m{width:100%;}}

.pk-link{display:inline-flex;align-items:center;gap:8px;color:var(--pk-brand);font-weight:600;font-size:15px;text-decoration:none;transition:color .2s ease;}
.pk-link:hover{color:var(--pk-brand-ink);}
.pk-link i{font-size:11px;}

/* ── Сетки ────────────────────────────────────────────────────────────── */
.pk-grid{display:grid;gap:20px;}
.pk-grid--2{grid-template-columns:repeat(2,1fr);}
.pk-grid--3{grid-template-columns:repeat(3,1fr);}
.pk-grid--4{grid-template-columns:repeat(4,1fr);}

/* ── Карточки ─────────────────────────────────────────────────────────── */
/* Плашка. Форму держит ЗАЛИВКА, а не обводка: белая карточка с рамкой на
 * белой секции читалась как чертёж. Цвет заливки зависит от фона секции —
 * на бумажной секции плашка белая, на белой бумажная. Иначе она сливается
 * с фоном и её просто не видно. */
.pk-card{background:var(--pk-paper);border:0;border-radius:24px;padding:28px;}
.pk-sec--paper .pk-card,
.pk-sec--stage .pk-card{background:#fff;}
.pk-card--paper{background:var(--pk-paper2);}
.pk-card--stage{background:var(--pk-paper);}
/* Иконка — просто знак: плитка добавляла третий уровень фона внутри и без
 * того вложенной карточки. */
.pk-card-ic{width:auto;height:auto;border-radius:0;background:transparent;color:var(--pk-ink);
  display:inline-flex;align-items:center;justify-content:center;font-size:21px;}
.pk-card-ic--white{background:transparent;border:0;}
.pk-card-h{margin-top:20px;font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.015em;color:var(--pk-ink);}
.pk-card-p{margin-top:11px;font-size:15px;line-height:1.55;color:var(--pk-ink-soft);}
.pk-card ul{margin-top:16px;list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;}
.pk-card ul li{display:flex;gap:10px;font-size:14.5px;line-height:1.45;color:var(--pk-ink-mute);}
.pk-card ul li i{color:var(--pk-brand);font-size:12px;margin-top:4px;flex:none;}

/* Скрин на мягкой подложке, «выезжает» снизу карточки (реф: главная) */
.pk-card-stage{margin-top:auto;background:var(--pk-stage);padding:26px 26px 0;overflow:hidden;display:flex;justify-content:center;}
.pk-card-shot{width:78%;align-self:flex-start;border-radius:14px 14px 0 0;overflow:hidden;background:#fff;
  border:1px solid var(--pk-line-soft);border-bottom:none;box-shadow:0 14px 30px -12px rgba(17,17,20,.16);}
.pk-card-shot img{width:100%;display:block;}

/* Скрин-рамка (телефон/виджет) в сплит-секции */
.pk-shot{border-radius:28px;background:#fff;padding:6px;border:1px solid var(--pk-line);box-shadow:0 30px 60px -34px rgba(17,17,20,.28);}
.pk-shot img{display:block;width:100%;border-radius:22px;}

/* ── Список-фичи (иконка + заголовок + текст) ─────────────────────────── */
.pk-feat{display:flex;flex-direction:column;}
.pk-feat .pk-card-ic{margin-bottom:0;}

/* ── Буллеты (галочки) ────────────────────────────────────────────────── */
.pk-bullets{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px;}
.pk-bullets li{display:flex;gap:12px;font-size:16px;line-height:1.5;color:var(--pk-ink-mute);}
.pk-bullets li i,.pk-bullets li .pk-bul-ic{flex:none;margin-top:2px;width:22px;height:22px;border-radius:999px;
  background:var(--pk-brand-50);color:var(--pk-brand);display:inline-flex;align-items:center;justify-content:center;font-size:10px;}

/* ── Чипы (способы/теги с иконкой) ────────────────────────────────────── */
.pk-chips{display:flex;flex-wrap:wrap;gap:12px;}
.pk-chip{display:inline-flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--pk-line);
  border-radius:999px;padding:11px 19px 11px 14px;font-weight:500;font-size:15px;color:var(--pk-ink);}
.pk-chip-ic{width:30px;height:30px;border-radius:9px;background:var(--pk-brand-50);color:var(--pk-brand);
  display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex:none;}

/* ── Шаги (нумерованные) ──────────────────────────────────────────────── */
.pk-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.pk-step{border-top:1.5px solid var(--pk-ink);padding-top:20px;}
.pk-step-n{font-weight:600;font-size:15px;color:var(--pk-brand);letter-spacing:.03em;}
.pk-step-t{margin-top:12px;font-weight:600;font-size:clamp(18px,2vw,22px);line-height:1.2;letter-spacing:-.015em;color:var(--pk-ink);}
.pk-step-d{margin-top:9px;font-size:15px;line-height:1.5;color:var(--pk-ink-mute);}

/* Крупные нумерованные строки (реф: «как подключить») */
.pk-steprows{border-top:1px solid var(--pk-line);}
.pk-steprow{display:grid;grid-template-columns:150px 1fr;gap:12px 40px;padding:30px 0;border-bottom:1px solid var(--pk-line);}
.pk-steprow-n{font-weight:600;font-size:clamp(38px,4.6vw,52px);line-height:1;letter-spacing:-.02em;color:var(--pk-ink);}
.pk-steprow-t{font-weight:600;font-size:clamp(18px,2vw,22px);letter-spacing:-.015em;color:var(--pk-ink);}
.pk-steprow-d{margin-top:9px;font-size:15.5px;line-height:1.55;color:var(--pk-ink-mute);max-width:56ch;}

/* ── Показатели ───────────────────────────────────────────────────────── */
.pk-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.pk-stat-v{font-weight:600;font-size:clamp(24px,2.6vw,32px);line-height:1;letter-spacing:-.02em;color:var(--pk-ink);}
.pk-stat-v i{font-style:normal;}
.pk-stat-l{margin-top:11px;font-size:13.5px;line-height:1.4;color:var(--pk-muted);}
.pk-stats--center{text-align:center;}
/* Двухколоночный чек-список под hero */
/* --- Первый экран-утверждение: буквальный порт секции .pk-s1 с главной ----
 * Все числа один в один из views/web/pchk_1.php:87–94. Внутри секции нет
 * ничего, кроме фразы, и нет никакого движения: меняется ТОЛЬКО цвет слов.
 * Медиазапросов нет — как и на главной: на телефоне отступы те же 112/124,
 * кегль снимает clamp, мера 20ch при 30px укладывается в узкий экран.
 *
 * Не уменьшать кегль, меру и хвост «чтобы влезло»: именно это превращает
 * приём в обычный подкрашенный заголовок. Всё остальное живёт НИЖЕ.
 */
/* Первый экран занимает экран целиком: фраза стоит по центру поля, а не
   прижата к шапке. 100svh (а не vh) — чтобы на телефоне адресная строка не
   выпихивала низ секции за край. Высоту шапки берём из общей переменной. */
.pk-stmt-s1{
  position:relative;overflow:hidden;background:var(--pk-paper);
  display:flex;align-items:center;
  min-height:calc(100vh - var(--ec-header-h,70px));
  min-height:calc(100svh - var(--ec-header-h,70px));
  padding:clamp(72px,10vh,132px) 0;
}
.pk-stmt-s1 > .pk-wrap{width:100%;}
/* Фон — типографика, а не картинка. Имена возможностей набраны КОНТУРОМ
   (обводка, заливки нет) и очень медленно едут вверх вдоль правого края:
   лента живёт своей жизнью, но не спорит с фразой — контраст обводки около
   восьми процентов. Идиома взята с главной (бегущая лента), содержание —
   своё. Ни градиентов, ни размытий, ни нарисованных иконок. */
.pk-stmt-bg{position:absolute;top:0;right:0;bottom:0;width:min(46%,620px);pointer-events:none;overflow:hidden;}
.pk-stmt-marquee{
  position:absolute;top:0;left:0;display:flex;flex-direction:column;gap:.14em;
  padding-left:2.2vw;
  animation:pk-marquee 64s linear infinite;
}
.pk-stmt-mw{
  font-weight:600;font-size:clamp(38px,4.8vw,76px);line-height:1.06;letter-spacing:-.015em;
  white-space:nowrap;color:transparent;
  -webkit-text-stroke:1px rgba(17,17,20,.065);
}
.pk-stmt-mw.is-accent{-webkit-text-stroke-color:rgba(0,87,204,.19);}
@keyframes pk-marquee{from{transform:translateY(0);}to{transform:translateY(-50%);}}
@media(prefers-reduced-motion:reduce){.pk-stmt-marquee{animation:none;}}
/* На узком экране декор убираем: там фразе нужна вся ширина. */
@media(max-width:900px){.pk-stmt-bg{display:none;}}

/* Волосяная черта по низу — как разделители в остальной системе. */
.pk-stmt-s1::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;background:rgba(17,17,20,.06);}
.pk-stmt-s1 > .pk-wrap{position:relative;z-index:1;}
/* На узком экране декор убираем совсем: там фразе нужна вся ширина. */
@media(max-width:900px){.pk-stmt-bg{display:none;}}

/* Кликабельные куски фразы. Подчёркивание — текстовое (text-decoration),
   а не подложка: оно корректно рвётся по строкам и не съезжает. В покое
   едва различимо, чтобы слово читалось как ссылка; на наведении наливается
   брендовым и чуть толстеет. Ничего не двигается — только цвет и толщина. */
.pk-stmt a{
  color:inherit;text-decoration:underline;
  text-decoration-color:rgba(0,87,204,.2);
  text-decoration-thickness:.028em;text-underline-offset:.14em;
  transition:text-decoration-color .32s cubic-bezier(.22,.61,.36,1),
             text-decoration-thickness .32s cubic-bezier(.22,.61,.36,1);
}
.pk-stmt a:hover,.pk-stmt a:focus-visible{
  text-decoration-color:var(--pk-brand);
  text-decoration-thickness:.06em;
}
.pk-stmt a:focus-visible{outline:none;}

/* Надстрочный лейбл «топ»: маленькая метка в кольце, брендовым цветом.
   Появляется ПОСЛЕ фразы — чтобы не спорить с ней за внимание. */
/* Лейбл — не бейдж, а типографская пометка на полях: мелкие прописные
   с разрядкой, брендовым цветом, БЕЗ рамки, фона и скруглений. Кольцо
   вокруг слова — язык фреймворков, а не этой страницы. Тонкая черта под
   пометкой держит её на месте и роднит с волосяными разделителями системы. */
/* Метка «топ» — обычный верхний индекс, но посаженный по-типографски:
   не пилюля, не бейдж, не выноска в стороне — надстрочная приписка, приклеенная
   к слову. vertical-align:super даёт базовый подъём от шрифта, а top добирает
   его до высоты прописных: метка встаёт вровень с верхом букв, а не болтается
   на полувысоте (прежняя версия поднималась на em СВОЕГО кегля — то есть почти
   никуда). Кегль ограничен снизу, иначе на телефоне метка становится нечитаемой. */
.pk-stmt .pk-top{
  font-size:clamp(11px,.3em,15px);
  vertical-align:super;position:relative;top:-.5em;
  margin-left:.45em;
  font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--pk-brand);white-space:nowrap;
  opacity:0;transition:opacity .45s ease .9s;
}
.pk-stmt.in .pk-top{opacity:1;}
@media(prefers-reduced-motion:reduce){.pk-stmt .pk-top{opacity:1;transition:none;}}

/* Компактный вариант героя — для страниц-указателей (база знаний, юр. раздел).
 * Там задача пользователя — быстрее добраться до списка, и полноэкранная
 * фраза только отодвигает его за край экрана. */
.pk-stmt-s1--compact{min-height:0;padding:clamp(60px,7vh,100px) 0 clamp(44px,6vh,72px);}
.pk-stmt-s1--compact .pk-stmt{font-size:clamp(28px,4.2vw,56px);}
.pk-stmt-s1--compact .pk-stmt .ph{font-size:.64em;}

/* Слот под фразой для своего контрола (переключатель периода на /price). */
.pk-stmt-extra{margin-top:clamp(30px,4.5vh,54px);opacity:0;transition:opacity .5s ease 1.3s;}
.pk-stmt.in + .pk-stmt-extra{opacity:1;}
@media(prefers-reduced-motion:reduce){.pk-stmt-extra{opacity:1;transition:none;}}

/* «А подробнее?» — тихая ссылка под фразой: увести вниз, не перебивая
   заголовок кнопкой. Появляется последней, когда слова уже раскрылись. */
.pk-stmt-more{
  display:inline-flex;align-items:center;gap:12px;
  margin-top:clamp(30px,4.5vh,54px);
  font-size:18px;font-weight:600;color:var(--pk-ink);text-decoration:none;
  opacity:0;transition:opacity .5s ease 1.3s;
}
.pk-stmt.in + .pk-stmt-more{opacity:1;}
.pk-stmt-more .t{transition:color .18s ease;}
.pk-stmt-more .ic{
  width:32px;height:32px;border-radius:50%;flex:none;
  border:1px solid rgba(17,17,20,.16);
  display:grid;place-items:center;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
/* Ховер без движения — как во всей публичке. */
.pk-stmt-more:hover .t{color:var(--pk-brand);}
.pk-stmt-more:hover .ic{background:var(--pk-brand);border-color:var(--pk-brand);color:#fff;}
.pk-stmt-more:focus-visible{outline:2px solid var(--pk-brand);outline-offset:6px;border-radius:4px;}
@media(prefers-reduced-motion:reduce){.pk-stmt-more{opacity:1;transition:none;}}
.pk-stmt{margin:0;font-weight:600;font-size:clamp(38px,5.8vw,80px);line-height:1.06;letter-spacing:-.028em;}
/* Первая строка — заголовок, перечисление под ним ступенью мельче: без этой
   ступени разрыв читался бы как случайный пробел, а не как иерархия. */
.pk-stmt .hd{display:block;}
/* position:relative — якорь для выноски «топ»: она встаёт над первым словом
   перечисления, а первое слово и есть «кодовое слово». Отступ сверху держит
   для неё воздух, иначе метке некуда встать. */
.pk-stmt .ph{position:relative;display:block;margin-top:.42em;font-size:.625em;line-height:1.12;letter-spacing:-.022em;max-width:16.7em;}
/* На телефоне перечисление не должно проваливаться в подпись: там ступень
   между заголовком и списком мельче, чем на большом экране. */
@media(max-width:640px){.pk-stmt .ph{font-size:.78em;}}
.pk-stmt .nb{white-space:nowrap;}
.pk-stmt .w{color:var(--pk-ink);}
.pk-stmt.reveal .w{color:#c9c8cf;transition:color .55s cubic-bezier(.22,.61,.36,1);}
.pk-stmt.reveal.in .w{color:var(--pk-ink);}
/* Хвост — только display, color и отступ. Кегль, интерлиньяж и вес
   наследуются: от фразы он отличается лишь цветом и переносом строки. */
.pk-stmt .tail{display:block;color:#cfced4;margin-top:.06em;}
.pk-stmt .tail .br{color:var(--pk-brand);}
@media(prefers-reduced-motion:reduce){
  .pk-stmt.reveal .w{color:var(--pk-ink);transition:none;}
}

/* --- Секция «Кодовое слово»: бенто 1+2 -------------------------------------
 * Раскладка по референсу: одна высокая карточка слева и две справа. Плашки
 * светлые и без рамок — форму держит заливка, а не обводка. */
.pk-kw-mark{display:block;width:44px;height:24px;border-radius:999px;background:var(--pk-ink);position:relative;}
.pk-kw-mark::after{content:'';position:absolute;top:5px;right:5px;width:14px;height:14px;border-radius:50%;background:#fff;}
.pk-kw-h{margin:26px 0 0;}
.pk-kw-lead{margin:18px 0 0;max-width:52ch;}

.pk-bento{margin-top:clamp(36px,4vw,54px);display:grid;gap:20px;
  grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;}
.pk-bento-c{background:var(--pk-paper);border-radius:24px;padding:clamp(26px,2.6vw,38px);}
.pk-bento-c--lg{grid-row:span 2;display:flex;flex-direction:column;}
.pk-bento-ic{display:block;width:26px;height:26px;color:var(--pk-ink);}
.pk-bento-ic svg{width:100%;height:100%;display:block;}
.pk-bento-h{margin:22px 0 0;font-weight:600;font-size:clamp(17px,1.5vw,20px);
  line-height:1.25;letter-spacing:-.014em;color:var(--pk-ink);}
.pk-bento-p{margin:14px 0 0;font-size:clamp(15px,1.2vw,16.5px);line-height:1.6;color:var(--pk-ink-mute);}

/* Маркер на ключевой фразе — единственное жёлтое пятно на странице.
 * Плоская заливка, не градиент. */
.pk-hl{background:#fdf0bd;color:inherit;padding:.04em .2em;border-radius:3px;}

/* Раскадровка внутри большой карточки. Прежняя версия висела в пустоте:
 * маленький пузырь слева, большой справа и бледная стрелка между ними — читалось
 * как обрывки, а не как экран. Теперь две панели с волосяной рамкой: сверху
 * ветка комментариев вместе с нашим публичным ответом (о нём и говорит
 * заголовок), снизу Директ. Свёрстано, а не картинка. */
.pk-kw-demo{margin-top:auto;padding-top:clamp(26px,2.4vw,36px);}
.pk-kw-pane{background:#fff;border:1px solid var(--pk-line);border-radius:16px;
  padding:14px 16px;display:flex;flex-direction:column;gap:12px;}
.pk-kw-cap{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--pk-muted);}

.pk-kw-cmt{display:flex;gap:10px;align-items:flex-start;}
/* Ответ аккаунта — с отступом, как вложенный ответ в самой ленте комментариев. */
.pk-kw-cmt--re{padding-left:30px;}
.pk-kw-av{flex:none;width:26px;height:26px;border-radius:50%;background:#eceae5;
  display:grid;place-items:center;font-size:12px;font-weight:600;color:var(--pk-ink-mute);
  text-transform:uppercase;}
.pk-kw-av--br{background:rgba(0,87,204,.1);color:var(--pk-brand);}
.pk-kw-body{min-width:0;}
.pk-kw-txt{margin:0;font-size:14.5px;line-height:1.4;color:var(--pk-ink);}
.pk-kw-txt b{font-weight:600;}
.pk-kw-txt em{font-style:normal;font-weight:700;color:var(--pk-brand);}
.pk-kw-meta{display:block;margin-top:3px;font-size:11.5px;color:var(--pk-muted);}

/* Связка между панелями: короткая волосяная линия с подписью — вместо
 * стрелки, висевшей сама по себе. */
.pk-kw-link{display:flex;align-items:center;gap:10px;margin:0 0 0 13px;padding:9px 0;
  font-size:12px;color:var(--pk-muted);}
.pk-kw-link i{display:block;width:1px;height:22px;background:var(--pk-line-strong);flex:none;}

.pk-kw-msg{display:flex;gap:10px;align-items:flex-start;}
.pk-kw-bub{min-width:0;max-width:280px;background:var(--pk-paper);border-radius:16px 16px 16px 5px;
  overflow:hidden;}
.pk-kw-bub-t{display:block;padding:10px 14px;font-size:14.5px;line-height:1.4;color:var(--pk-ink);}
/* Кнопка под текстом — так Instagram* и рисует кнопки в сообщении. */
.pk-kw-act{display:block;border-top:1px solid var(--pk-line);padding:9px 14px;
  text-align:center;font-size:14px;font-weight:600;color:var(--pk-brand);}

/* --- Тарифы на странице канала (Instagram*) ------------------------------
 * ИМЯ КЛАССА СВОЁ, не .pk-plan: тот уже занят страницей /price и объявлен
 * НИЖЕ по файлу — при той же специфичности он перебивал эти правила, и
 * чернильная плитка оставалась бумажной с белым текстом на светлом.-
 * Три плитки в ряд. «Премиум» — чернильная: именно в нём ИИ-агент, о котором
 * говорит экран выше, и цвет ведёт взгляд туда без единого «рекомендуем». */
.pk-tariffs{margin-top:clamp(34px,4vw,50px);display:grid;gap:20px;
  grid-template-columns:repeat(3,minmax(0,1fr));}
.pk-tariff{display:flex;flex-direction:column;gap:10px;
  background:var(--pk-paper);border-radius:24px;padding:clamp(24px,2.4vw,32px);
  text-decoration:none;color:var(--pk-ink);
  transition:background-color .18s ease;}
.pk-tariff:hover{background:#efeeea;}
.pk-tariff-n{font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--pk-ink);}
.pk-tariff-n em{font-style:normal;font-weight:500;color:var(--pk-muted);}
.pk-tariff-p{font-weight:600;font-size:clamp(28px,2.8vw,38px);line-height:1.05;
  letter-spacing:-.028em;color:var(--pk-ink);}
.pk-tariff-mo{font-size:.42em;font-weight:600;letter-spacing:0;color:var(--pk-muted);}
.pk-tariff-d{margin-top:6px;font-size:14.5px;line-height:1.5;color:var(--pk-ink-mute);}

.pk-tariff--ink{background:var(--pk-ink);}
.pk-tariff--ink:hover{background:#1c1c21;}
.pk-tariff--ink .pk-tariff-n,.pk-tariff--ink .pk-tariff-p{color:#fff;}
.pk-tariff--ink .pk-tariff-n em,.pk-tariff--ink .pk-tariff-mo{color:rgba(255,255,255,.55);}
.pk-tariff--ink .pk-tariff-d{color:rgba(255,255,255,.72);}

.pk-tariffs-foot{margin-top:clamp(26px,3vw,38px);display:flex;flex-wrap:wrap;
  align-items:center;gap:14px 22px;}
.pk-tariffs-note{font-size:13.5px;color:var(--pk-muted);}

@media(max-width:900px){.pk-tariffs{grid-template-columns:1fr;}}

/* Реплика клиента — справа, серым: в раскадровке ИИ-агента нужно видеть,
 * где спросили, а где ответили. */
.pk-kw-msg--in{justify-content:flex-end;}
.pk-kw-bub--in{background:#eceae5;border-radius:16px 16px 5px 16px;}
.pk-sec--paper .pk-kw-bub--in{background:#eceae5;}

/* На бумажной секции плашки должны быть белыми, иначе карточка сливается с
 * фоном и её просто не видно. Заодно инвертируем и всё, что внутри: панель
 * раскадровки становится бумажной, а пузырь в ней — белым. */
.pk-sec--paper .pk-bento-c{background:#fff;}
.pk-sec--paper .pk-kw-pane{background:var(--pk-paper);}
.pk-sec--paper .pk-kw-bub{background:#fff;}

/* Секция без раскадровки: три равные карточки в ряд. Большая плитка нужна,
 * только когда внутри есть что показывать. */
.pk-bento--flat{grid-template-columns:repeat(3,minmax(0,1fr));}
.pk-bento--flat .pk-bento-c--lg{grid-row:auto;grid-column:auto;}
@media(max-width:1100px){.pk-bento--flat{grid-template-columns:repeat(2,minmax(0,1fr));}}

/* Зеркальная раскладка: большая карточка справа. Явно ставим её в колонку 2
 * на обе строки — две малых разложатся в колонку 1 сами. Нужна, чтобы вторая
 * такая секция подряд не читалась как повтор первой. */
.pk-bento--rev .pk-bento-c--lg{grid-column:2;grid-row:1 / span 2;}

@media(max-width:900px){
  .pk-bento{grid-template-columns:1fr;}
  .pk-bento-c--lg{grid-row:auto;}
  .pk-kw-lead{max-width:none;}
}

.pk-herobul{list-style:none;margin:36px auto 0;padding:0;max-width:640px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px;text-align:left;}
.pk-herobul li{display:flex;gap:10px;font-size:15px;line-height:1.45;color:var(--pk-ink-mute);}
.pk-herobul li i{color:var(--pk-brand);font-size:11px;margin-top:5px;flex:none;}
@media(max-width:600px){.pk-herobul{grid-template-columns:1fr;}}

/* ── Тарифы ───────────────────────────────────────────────────────────── */
.pk-plans{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch;}
.pk-plan{background:var(--pk-paper2);border-radius:22px;padding:30px 28px;display:flex;flex-direction:column;}
.pk-plan.hot{background:var(--pk-brand);}
.pk-plan-n{font-weight:600;font-size:15px;color:var(--pk-brand);}
.pk-plan.hot .pk-plan-n{color:#bcd3ff;}
.pk-plan-price{margin-top:14px;display:flex;align-items:baseline;gap:6px;color:var(--pk-ink);}
.pk-plan.hot .pk-plan-price{color:#fff;}
.pk-plan-price b{font-size:clamp(30px,3.6vw,40px);font-weight:700;letter-spacing:-.02em;}
.pk-plan-price span{font-size:14.5px;color:var(--pk-muted);}
.pk-plan.hot .pk-plan-price span{color:#bcd3ff;}
.pk-plan ul{margin-top:22px;display:flex;flex-direction:column;gap:11px;flex:1;list-style:none;padding:0;}
.pk-plan li{display:flex;gap:10px;font-size:14.5px;line-height:1.4;color:#4a4a51;}
.pk-plan.hot li{color:#eaf1ff;}
.pk-plan li i{color:var(--pk-brand);font-size:12px;margin-top:4px;flex:none;}
.pk-plan.hot li i{color:#fff;}
.pk-plan-cta{margin-top:26px;display:inline-flex;justify-content:center;font-weight:600;font-size:15px;padding:13px 20px;
  border-radius:12px;text-decoration:none;background:var(--pk-ink);color:#fff;transition:background-color .2s ease;}
.pk-plan-cta:hover{background:var(--pk-brand);}
.pk-plan.hot .pk-plan-cta{background:#fff;color:var(--pk-brand);}
.pk-plan.hot .pk-plan-cta:hover{background:#eaf1ff;}

/* Строки-тарифы (компактный список) */
.pk-prows{display:flex;flex-direction:column;gap:12px;}
.pk-prow{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;background:#fff;border:1px solid var(--pk-line);
  border-radius:16px;padding:18px 22px;text-decoration:none;transition:border-color .18s ease,background-color .18s ease;}
.pk-prow:hover{border-color:var(--pk-line-strong);background:#fdfcfb;}
.pk-prow-n{font-weight:700;font-size:16px;color:var(--pk-ink);min-width:6rem;}
.pk-prow-d{flex:1;font-size:14.5px;line-height:1.5;color:var(--pk-ink-soft);}
.pk-prow-p{margin-left:auto;white-space:nowrap;font-weight:700;font-size:15px;color:var(--pk-brand);}

/* ── Сравнение «как было / как стало» ─────────────────────────────────── */
.pk-compare{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;}
.pk-compare-col{border-radius:24px;padding:32px;}
.pk-compare-neg{background:var(--pk-paper2);}
.pk-compare-pos{background:var(--pk-ink);}
.pk-compare-lbl{font-weight:600;font-size:13px;color:var(--pk-muted);}
.pk-compare-pos .pk-compare-lbl{color:#8fb4ff;}
.pk-compare-h{margin-top:6px;font-weight:600;font-size:clamp(20px,2.2vw,24px);letter-spacing:-.018em;color:var(--pk-ink);}
.pk-compare-pos .pk-compare-h{color:#fff;}
.pk-compare ul{margin-top:20px;list-style:none;padding:0;display:flex;flex-direction:column;gap:13px;}
.pk-compare li{display:flex;gap:12px;font-size:15px;line-height:1.5;color:var(--pk-ink-mute);}
.pk-compare-pos li{color:#c9d3e6;}
.pk-compare-neg li i{color:var(--pk-muted);margin-top:3px;flex:none;font-size:12px;}
.pk-compare-pos li i{color:#5fd39a;margin-top:3px;flex:none;font-size:12px;}

/* ── FAQ (аккордеон) ──────────────────────────────────────────────────── */
.pk-faq{margin:0 auto;max-width:760px;}
.pk-faq-item{border-bottom:1px solid var(--pk-line);}
.pk-faq-item > summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding:24px 2px;font-weight:600;font-size:clamp(17px,1.9vw,21px);line-height:1.3;letter-spacing:-.015em;
  color:var(--pk-ink);transition:color .18s ease;}
.pk-faq-item > summary::-webkit-details-marker{display:none;}
.pk-faq-item > summary:hover{color:var(--pk-brand);}
.pk-faq-ic{flex:none;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;
  color:var(--pk-brand);font-size:15px;transition:transform .25s ease;}
.pk-faq-item[open] > summary .pk-faq-ic{transform:rotate(45deg);}
.pk-faq-a{padding:0 2px 26px;font-size:16px;line-height:1.62;color:var(--pk-ink-soft);max-width:66ch;}
.pk-faq-a a{color:var(--pk-brand);text-decoration:underline;text-decoration-color:rgba(0,87,204,.4);text-underline-offset:2px;text-decoration-thickness:1px;}

/* ── Тёмная финальная CTA-панель ──────────────────────────────────────── */
/* Широкий финальный CTA (страница канала в новом языке). Панель занимает всю
 * колонку: заголовок слева, действия справа. У прежней .pk-ctapanel заголовок
 * зажат в 20ch и отцентрован — на широком экране это читалось как узкая
 * заплатка посреди пустой плашки. */
.pk-ctawide{background:var(--pk-ink);border-radius:32px;
  padding:clamp(40px,4.6vw,68px) clamp(26px,3.6vw,56px);
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(28px,4vw,64px);
  align-items:center;}
.pk-ctawide-h{margin:0;font-weight:600;font-size:clamp(26px,3.4vw,44px);
  line-height:1.08;letter-spacing:-.026em;color:#fff;max-width:16ch;}
.pk-ctawide-h i{font-style:normal;color:#8fb4ff;}
.pk-ctawide-act{display:flex;flex-direction:column;align-items:flex-start;gap:12px;}
.pk-ctawide-act .pk-btn{width:100%;justify-content:center;}
.pk-ctawide-note{margin:6px 0 0;font-size:13px;color:#8b8f99;}
@media(max-width:900px){
  .pk-ctawide{grid-template-columns:1fr;gap:28px;}
  .pk-ctawide-h{max-width:none;}
  .pk-ctawide-act{align-items:stretch;}
}

.pk-ctapanel{background:var(--pk-ink);border-radius:32px;padding:clamp(48px,6vw,80px) clamp(24px,4vw,48px);text-align:center;}
.pk-ctapanel-h{font-weight:600;font-size:clamp(26px,3.6vw,44px);line-height:1.08;letter-spacing:-.024em;color:#fff;max-width:20ch;margin:0 auto;}
.pk-ctapanel-p{margin:18px auto 0;max-width:52ch;font-size:clamp(15px,1.5vw,18px);line-height:1.55;color:#b8bcc6;}
.pk-ctapanel-cta{margin-top:34px;display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:center;}
.pk-ctapanel-note{margin-top:18px;font-size:13px;color:#8b8f99;}

/* ── Проза (юр. документы, help, blog — инъекция HTML) ─────────────────── */
.pk-prose{font-size:16.5px;line-height:1.7;color:#333338;text-align:left;}
.pk-prose > :first-child{margin-top:0;}
.pk-prose h2{margin:44px 0 16px;font-weight:600;font-size:clamp(22px,2.6vw,30px);line-height:1.18;letter-spacing:-.02em;color:var(--pk-ink);}
.pk-prose h3{margin:32px 0 12px;font-weight:600;font-size:clamp(18px,2vw,22px);letter-spacing:-.015em;color:var(--pk-ink);}
.pk-prose h4{margin:24px 0 10px;font-weight:600;font-size:17px;color:var(--pk-ink);}
.pk-prose p{margin:0 0 16px;}
/* Списки — обычный БЛОК (НЕ flex! flex на ul ломал строчный контент li в «колонки»). */
.pk-prose ul,.pk-prose ol{margin:0 0 18px;padding-left:26px;}
.pk-prose ul{list-style:disc;}
.pk-prose ol{list-style:decimal;}
.pk-prose li{margin-top:8px;padding-left:4px;}
.pk-prose li:first-child{margin-top:0;}
.pk-prose li::marker{color:var(--pk-muted);}
.pk-prose li > ul,.pk-prose li > ol{margin:8px 0 0;}
/* Ссылки в прозе — text-decoration:underline (переносится корректно, НЕ «болтается»
   под пустотой как border-bottom; сливается со встроенным Tailwind-underline контента). */
.pk-prose a{color:var(--pk-brand);font-weight:500;text-decoration:underline;text-decoration-color:rgba(0,87,204,.4);text-underline-offset:2px;text-decoration-thickness:1px;}
.pk-prose a:hover{text-decoration-color:var(--pk-brand);}
.pk-prose strong{font-weight:600;color:var(--pk-ink);}
.pk-prose blockquote{margin:22px 0;padding:6px 0 6px 22px;border-left:3px solid var(--pk-line-strong);color:var(--pk-ink-soft);}
.pk-prose code{background:#efeeeb;border-radius:6px;padding:.08em .4em;font-size:.88em;color:#1f2937;}
.pk-prose hr{margin:36px 0;border:0;border-top:1px solid var(--pk-line);}
.pk-prose table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px;}
.pk-prose th,.pk-prose td{border:1px solid var(--pk-line);padding:11px 14px;text-align:left;vertical-align:top;}
.pk-prose th{background:var(--pk-paper);font-weight:600;color:var(--pk-ink);}

/* ── Документ-страница (KB / blog / legal): проза + липкий сайдбар, ШИРИНА ГЛАВНОЙ (1120) ── */
.pk-doc{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(40px,5vw,76px);align-items:start;}
.pk-doc-main{min-width:0;}
.pk-doc-side{position:sticky;top:calc(var(--ec-header-h,70px) + 24px);display:flex;flex-direction:column;gap:16px;}
.pk-side-card{background:#fff;border:1px solid var(--pk-line);border-radius:18px;padding:20px 22px;}
.pk-side-card--ink{background:var(--pk-ink);border-color:transparent;}
.pk-side-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.13em;color:var(--pk-muted);}
.pk-side-list{margin-top:14px;display:flex;flex-direction:column;gap:14px;}
.pk-side-item{display:block;text-decoration:none;}
.pk-side-item .t{font-weight:600;font-size:14.5px;line-height:1.35;letter-spacing:-.01em;color:var(--pk-ink);transition:color .15s ease;}
.pk-side-item:hover .t{color:var(--pk-brand);}
.pk-side-item .m{display:block;margin-top:3px;font-size:12.5px;color:var(--pk-muted);}
.pk-side-h{font-weight:600;font-size:17px;letter-spacing:-.015em;color:#fff;}
.pk-side-card--ink p{margin-top:8px;font-size:13.5px;line-height:1.5;color:#b8bcc6;}
.pk-side-card--ink .pk-btn{margin-top:16px;width:100%;}
@media(max-width:900px){.pk-doc{grid-template-columns:1fr;gap:40px;}.pk-doc-side{position:static;flex-direction:row;flex-wrap:wrap;}.pk-doc-side>*{flex:1 1 260px;}}

/* ── Хелперы ──────────────────────────────────────────────────────────── */
.pk-hr{border:0;border-top:1px solid var(--pk-line);}
.pk-center{text-align:center;}
.pk-mt-s{margin-top:26px;}
.pk-mt-m{margin-top:44px;}
.pk-mt-l{margin-top:64px;}
.pk-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,72px);align-items:center;}
.pk-split--wide-left{grid-template-columns:1.1fr .9fr;}

/* ── Скролл-ревил ──────────────────────────────────────────────────────
   Прячем и анимируем ТОЛЬКО то, что ниже первого экрана — класс .pk-hide вешает
   pchk.js на загрузке. Первый экран НИКОГДА не скрывается: грузится сразу, без
   анимации и без «пустоты». Без JS / reduced-motion — .pk-hide не ставится, всё видно. */
.pk-reveal.pk-hide{opacity:0;transform:translateY(24px);
  transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.pk-reveal.pk-hide.in{opacity:1;transform:none;}
.pk-reveal.pk-hide[data-d="1"]{transition-delay:.07s;}
.pk-reveal.pk-hide[data-d="2"]{transition-delay:.14s;}
.pk-reveal.pk-hide[data-d="3"]{transition-delay:.21s;}

/* ── Плитка-ссылка: карточка, у которой появился href ─────────────────── *
 * Отклик только цветом и рамкой. Никаких translate/scale: подпрыгнувшая под
 * курсором плитка читается как сбой, а не как отклик. Карточка на белой
 * секции бумажная, на бумажной — белая (так решает .pk-card выше), поэтому
 * ховер в обоих случаях на полтона темнее фона САМОЙ карточки.
 * Правила общие, а не под скоупом страницы: раньше они лежали в <style>
 * вьюхи /contacts и работали ровно на ней. */
.pk-tile{display:flex;flex-direction:column;text-decoration:none;
  border:1px solid transparent;transition:background .18s ease,border-color .18s ease;}
.pk-tile:hover{border-color:var(--pk-line-strong);}
.pk-sec--white .pk-tile:hover{background:var(--pk-stage);}
.pk-sec--paper .pk-tile:hover{background:#FBFAF8;}

/* ── Карточка «куда писать» (блок mail_card) ──────────────────────────── *
 * Адрес — не кнопка: у .pk-btn стоит white-space:nowrap, и длинная почта на
 * 320px уводит вправо всю страницу. Отсюда крупный кегль + overflow-wrap. */
.pk-mailcard{display:flex;flex-direction:column;}
.pk-card.pk-mailcard .pk-card-ic svg{width:26px;height:26px;}
.pk-mailcard-l{margin-top:20px;font-size:13px;font-weight:600;color:var(--pk-muted);}
.pk-mailcard-a{display:inline-block;margin-top:8px;font-weight:600;
  font-size:clamp(19px,4.6vw,27px);line-height:1.25;letter-spacing:-.02em;
  color:var(--pk-brand);text-decoration:none;overflow-wrap:anywhere;transition:color .18s ease;}
.pk-mailcard-a:hover{color:var(--pk-brand-ink);}
.pk-mailcard .pk-card-p{flex:1;}

/* ── Чернильная панель со списком (блок ink_card) ─────────────────────── *
 * Та же поверхность, что у финального CTA, — страница читается одним
 * полотном. Метка сверху берёт светлую ступень бренда: на чернилах основной
 * акцент не читается. */
.pk-inkcard{display:flex;flex-direction:column;background:var(--pk-ink);
  border-radius:24px;padding:clamp(24px,3vw,32px);color:#fff;}
.pk-inkcard-l{font-size:13px;font-weight:600;color:var(--color-brand-300,#A0A8F1);}
.pk-inkcard-h{margin:8px 0 0;font-weight:600;font-size:clamp(19px,2vw,23px);
  line-height:1.22;letter-spacing:-.018em;color:#fff;}
.pk-inkcard ul{margin:22px 0 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:14px;}
.pk-inkcard li{display:flex;gap:12px;font-size:15px;line-height:1.5;color:#C9CBD2;}
.pk-inkcard li span{flex:none;margin-top:1px;width:22px;height:22px;border-radius:999px;
  background:rgba(255,255,255,.12);color:#fff;display:inline-flex;align-items:center;justify-content:center;}

/* ── Адаптив ──────────────────────────────────────────────────────────── */
@media(max-width:960px){
  .pk-grid--3,.pk-grid--4{grid-template-columns:repeat(2,1fr);}
  .pk-stats{grid-template-columns:repeat(2,1fr);gap:26px;}
}
@media(max-width:860px){
  .pk-sec{padding:68px 0;}
  .pk-sec--tight{padding:56px 0;}
  .pk-hero{padding:52px 0 44px;}
  .pk-split,.pk-split--wide-left{grid-template-columns:1fr;gap:36px;}
  .pk-compare{grid-template-columns:1fr;}
  .pk-plans{grid-template-columns:1fr;max-width:440px;margin-left:auto;margin-right:auto;}
  .pk-steps{grid-template-columns:1fr;gap:0;}
  .pk-step{border-top:1px solid var(--pk-line-strong);padding:22px 0;}
  .pk-steprow{grid-template-columns:1fr;gap:6px;padding:24px 0;}
  .pk-steprow-n{font-size:34px;}
  .pk-compare-col,.pk-card{padding:24px;}
}
@media(max-width:600px){
  .pk-grid--2,.pk-grid--3,.pk-grid--4{grid-template-columns:1fr;}
  .pk-stats{grid-template-columns:1fr;gap:22px;}
}
