/* ============================================================
   АКАДЕМИЧЕСКИЙ САЛОН — дизайн-система «Оттиск»
   Университетская пресса: бумага, графит, линейки, отточия,
   сургучный акцент. Глубина — стопкой бумаги, не тенями.
   Движется только то, что печатается, пишется или считается.
   ============================================================ */

:root{
  /* бумага и краска */
  --paper:#E9DDCC;
  --paper-2:#DDCDB6;          /* чуть темнее: подложки, ховеры листов */
  --sheet:#FFF9F0;            /* лист: карточки, формы */
  --ink:#22201B;              /* графит: текст, заголовки, primary-кнопки */
  --ink-soft:#6B665A;         /* выцветшая тушь: вторичный текст (AA 5.1:1) */
  --ink-faint:#857E6C;        /* только декоративное: фолио, глифы */
  --hairline:#D9D2C2;         /* линейки, бордеры, 1px */
  --hairline-strong:#C2B89F;  /* линейки с акцентом, отточия */

  /* акценты */
  --wax:#A63F29;              /* сургуч: CTA, цена, активное. Квота ≤2 на вьюпорт */
  --wax-deep:#792B1D;
  --wax-soft:rgba(166,63,41,.08);
  /* Заливка кнопок отдельно от акцентного сургуча: на тёмной теме светлый
     текст на #C65B41 давал контраст 4,18 при норме AA 4,5. Здесь, в светлой,
     значение совпадает с --wax — расхождение появляется только в тёмной. */
  --wax-cta:#A63F29;
  --verify:#3D6B50;           /* грифельная зелень: проверено, успех */
  --verify-soft:rgba(61,107,80,.10);
  --mark:#EFE5CC;             /* кремовый маркер: подсветка строк */
  --stamp:#3A4E7A;            /* штемпельная синь: печати, пометки */

  /* форма */
  --r:2px;
  --maxw:1120px;
  --text-col:68ch;

  /* ритм (кратен 8) */
  --s1:8px; --s2:16px; --s3:24px; --s4:40px; --s5:64px;
  --block:clamp(72px, 11vw, 128px);

  /* гарнитуры */
  --serif:"Literata",Georgia,"Times New Roman",serif;
  --sans:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  /* не "SF Mono": внутреннее имя .SFNSMono, шрифты с точкой Chromium
     веб-контенту по имени не отдаёт — ветка молча пропускалась. До него
     достаёт только generic ui-monospace (и в нём, в отличие от Menlo, есть ₽) */
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  font-family:var(--sans);
  background:var(--paper);
  color:var(--ink);
  font-size:16px;
  line-height:1.6;
  min-height:100vh;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
/* фактура бумаги: едва заметный шум */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.028'/%3E%3C/svg%3E");
}
::selection{background:var(--mark);color:var(--ink)}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%}
img{display:block}
button{font-family:inherit;color:inherit}
:focus-visible{outline:2px solid var(--wax);outline-offset:3px;border-radius:var(--r)}

/* ---------- Полоса набора ---------- */
.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 clamp(20px,4.5vw,48px)}
.prose{max-width:var(--text-col)}
.center{text-align:center}

/* ---------- Типографика ---------- */
h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.12;letter-spacing:-.01em}
h1{font-variation-settings:"opsz" 56}
.h-display{font-size:clamp(34px,5.2vw,62px);font-weight:340;line-height:1.06;letter-spacing:-.015em}
h2{font-size:clamp(26px,3.4vw,42px);font-weight:360}
h3{font-size:clamp(19px,2vw,23px);font-weight:500}
h4{font-size:17px;font-weight:500}
.lead{font-size:clamp(16px,1.6vw,18.5px);color:var(--ink-soft);line-height:1.62;max-width:52ch}
.petit{font-size:13px;color:var(--ink-soft);line-height:1.6}
.caps{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:500;color:var(--ink-soft)}
.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.wax{color:var(--wax-text,var(--wax))}
.verify{color:var(--verify)}
.muted{color:var(--ink-soft)}
em.pen{font-style:italic;font-family:var(--serif);color:inherit}

/* маргиналия: курсивная пометка на полях (desktop) / после текста (mobile) */
.marginalia{font-family:var(--serif);font-style:italic;font-size:14.5px;color:var(--ink-soft);line-height:1.5}

/* ---------- Линейки ---------- */
.rule{border:0;height:1px;background:var(--hairline)}
.rule-strong{background:var(--hairline-strong)}
.has-js .rule.draw{transform:scaleX(0);transform-origin:0 50%;transition:transform .7s cubic-bezier(.22,1,.36,1)}
.has-js .rule.draw.in{transform:scaleX(1)}

/* ---------- Шмуцтитул секции ---------- */
.chapter{padding-top:var(--block)}
.chapter .ch-rule{display:flex;align-items:center;gap:16px;margin-bottom:clamp(28px,4vw,44px)}
.chapter .ch-rule::before,.chapter .ch-rule::after{content:"";height:1px;background:var(--hairline);flex:1}
.chapter .ch-rule::before{flex:0 0 clamp(20px,4vw,48px)}
.chapter .ch-no{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--ink-soft);white-space:nowrap;font-variant-numeric:tabular-nums}
.chapter h2{margin-bottom:clamp(20px,3vw,32px)}

/* ---------- Кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--sans);font-weight:500;font-size:15px;letter-spacing:.015em;
  padding:14px 26px;min-height:48px;border-radius:var(--r);border:1px solid transparent;
  cursor:pointer;white-space:nowrap;
  transition:background .15s,color .15s,border-color .15s,box-shadow .15s;
}
/* display:inline-flex перебивает атрибут hidden — возвращаем ему силу
   (иначе «Далее» на последнем шаге конфигуратора оставался мёртвой кнопкой) */
.btn[hidden]{display:none!important}
.btn-ink{background:var(--ink);color:var(--paper)}
.btn-ink:hover{background:#33302a}
.btn-wax{background:var(--wax-cta,var(--wax));color:#FFFEF9}
.btn-wax:hover{background:var(--wax-deep)}
.btn-ink:active,.btn-wax:active{box-shadow:inset 0 2px 3px rgba(0,0,0,.35)}
.btn-line{background:transparent;border-color:var(--hairline-strong);color:var(--ink)}
.btn-line:hover{background:var(--mark);border-color:var(--ink-soft)}
.btn-block{width:100%}
.btn-lg{padding:17px 32px;font-size:16px}
.btn[disabled],.btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.btn .ar{font-family:var(--serif);transition:transform .15s}
.btn:hover .ar{transform:translateX(3px)}
.btn.is-loading{opacity:.8;pointer-events:none}
.spin{width:14px;height:14px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;display:inline-block;animation:spin .7s linear infinite}
.btn-line .spin{border-color:var(--hairline);border-top-color:var(--ink)}
@keyframes spin{to{transform:rotate(360deg)}}

/* текстовая ссылка с подчёркиванием-линейкой */
.link{border-bottom:1px solid var(--hairline-strong);transition:border-color .15s,color .15s;padding-bottom:1px}
.link:hover{color:var(--wax-text,var(--wax));border-color:var(--wax)}

/* ---------- Листы (карточки) ---------- */
.sheet{background:var(--sheet);border:1px solid var(--hairline);border-radius:var(--r)}
.sheet-pad{padding:clamp(20px,3vw,32px)}
.stacked{position:relative}
.stacked::after{
  content:"";position:absolute;inset:0;z-index:-1;border-radius:var(--r);
  background:var(--paper-2);border:1px solid var(--hairline);
  transform:translate(6px,6px);
}

/* ---------- Строка с отточием (ДНК сайта) ---------- */
.dotrow{
  display:flex;align-items:baseline;gap:12px;
  padding:13px 6px;margin:0 -6px;border-radius:var(--r);
  transition:background .12s;
}
.dotrow .dots{
  flex:1;min-width:24px;height:.9em;
  background-image:radial-gradient(circle,var(--hairline-strong) 1px,transparent 1.4px);
  background-size:9px 3px;background-repeat:repeat-x;background-position:0 100%;
}
.dotrow .dr-val{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:.95em;white-space:nowrap}
a.dotrow:hover,.dotrow.hl{background:var(--mark)}
a.dotrow .dr-val{transition:color .12s}
a.dotrow:hover .dr-val{color:var(--wax-text,var(--wax))}

/* ---------- Смета (ledger) ---------- */
.ledger{font-size:14.5px}
.ledger .lg-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:9px 0;border-bottom:1px solid var(--hairline)}
.ledger .lg-row span:first-child{color:var(--ink-soft)}
.ledger .lg-row .num{font-size:14px}
.ledger .lg-total{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding-top:14px;margin-top:2px;border-top:3px double var(--ink)}
.ledger .lg-total b{font-weight:500}
.price-xl{font-family:var(--mono);font-variant-numeric:tabular-nums;font-weight:400;font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;line-height:1;color:var(--wax-text,var(--wax));white-space:nowrap}
.price-xl small{font-size:.5em;letter-spacing:0;color:inherit}

/* ---------- Шкала этапной оплаты ---------- */
.paysteps{display:grid;grid-template-columns:repeat(var(--pay-n,3),1fr);gap:0;position:relative;counter-reset:ps}
.paysteps::before{content:"";position:absolute;top:5px;left:0;right:0;height:1px;background:var(--hairline-strong)}
.has-js .paysteps::before{transform:scaleX(0);transform-origin:0 50%;transition:transform 1s cubic-bezier(.22,1,.36,1) .15s}
.has-js .paysteps.in::before{transform:scaleX(1)}
.pstep{padding:0 18px 0 0;position:relative}
.pstep::before{
  content:"";display:block;width:11px;height:11px;border-radius:50%;
  background:var(--paper);border:1px solid var(--ink);margin-bottom:14px;position:relative;z-index:1;
}
.pstep.paid::before{background:var(--verify);border-color:var(--verify)}
.pstep .ps-share{font-family:var(--mono);font-size:20px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin-bottom:4px}
.pstep b{display:block;font-size:14.5px;font-weight:500;margin-bottom:3px}
.pstep small{display:block;font-size:13px;color:var(--ink-soft);line-height:1.5}

/* ---------- Лист отчёта о проверках ---------- */
.report-sheet{position:relative;overflow:hidden}
.report-sheet .rp-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--hairline);margin-bottom:14px}
.report-sheet .rp-title{font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}
.report-sheet .rp-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;font-size:14px;border-bottom:1px solid var(--hairline)}
.report-sheet .rp-row:last-of-type{border-bottom:0}
.report-sheet .rp-row .num{font-size:15px}
.report-sheet .rp-ok{color:var(--verify)}

/* ---------- Печать-штемпель ---------- */
.seal{display:block;mix-blend-mode:multiply;opacity:.92;transform:rotate(-8deg)}
.has-js .seal.press{opacity:0;transform:rotate(-8deg) scale(1.15);transition:opacity .25s ease-out,transform .25s ease-out}
.has-js .seal.press.in{opacity:.92;transform:rotate(-8deg) scale(1)}
.seal--wax{color:var(--wax-text,var(--wax))}
.seal--verify{color:var(--verify)}
.seal--stamp{color:var(--stamp)}

/* ---------- Сноски доверия ---------- */
.fnmark{color:var(--wax-text,var(--wax));font-family:var(--serif)}
.footnotes{border-top:1px solid var(--hairline);padding-top:14px;margin-top:clamp(28px,5vw,48px);display:flex;flex-direction:column;gap:6px}
.footnotes p{font-size:13px;color:var(--ink-soft);line-height:1.55}
.footnotes .fnmark{margin-right:6px}

/* ---------- Штампик-статус ---------- */
.tag{
  display:inline-flex;align-items:center;gap:7px;
  font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  padding:5px 10px;border:1px solid currentColor;border-radius:var(--r);line-height:1.2;
}
.tag-verify{color:var(--verify);background:var(--verify-soft)}
.tag-wax{color:var(--wax-text,var(--wax));background:var(--wax-soft)}
.tag-ink{color:var(--ink-soft);background:transparent}
.tag-stamp{color:var(--stamp);background:rgba(58,78,122,.08)}

/* ---------- Формы: бланк издательства ---------- */
.field{margin-bottom:var(--s3)}
.field label{display:block;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:500;color:var(--ink-soft);margin-bottom:9px}
input[type=text],input[type=email],input[type=tel],select,textarea{
  /* 16px — не «дизайн», а защита от авто-зума iOS Safari при фокусе */
  width:100%;padding:13px 14px;font-family:var(--sans);font-size:16px;color:var(--ink);
  background:var(--sheet);border:1px solid var(--hairline);border-radius:var(--r);
  appearance:none;transition:border-color .15s,box-shadow .15s;
}
select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%236B665A' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer;
}
input:focus,select:focus,textarea:focus{
  outline:none;border-color:var(--hairline-strong);
  box-shadow:inset 0 -2px 0 var(--wax);
}
input.invalid,textarea.invalid{border-color:var(--wax);box-shadow:inset 0 -2px 0 var(--wax)}
.fhint{font-size:12.5px;color:var(--wax-text,var(--wax));margin-top:6px;display:none}
.fhint.show{display:block}
textarea{resize:vertical;min-height:120px;line-height:1.55}

/* сегментированный выбор */
.seg{display:flex;gap:8px;flex-wrap:wrap}
.seg button,.seg .seg-item{
  flex:1;min-width:fit-content;padding:12px 14px;min-height:46px;
  border:1px solid var(--hairline);background:var(--sheet);border-radius:var(--r);
  font-size:14px;font-weight:400;color:var(--ink-soft);cursor:pointer;
  transition:border-color .12s,background .12s,color .12s;text-align:center;
}
.seg button:hover{border-color:var(--hairline-strong)}
.seg button.active,.seg .seg-item.active{border-color:var(--ink);color:var(--ink);background:var(--mark);font-weight:500}

/* опции-строки (конфигуратор): радио-строка каталога */
.optrow{
  display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;
  padding:14px 12px;border:1px solid var(--hairline);border-radius:var(--r);
  background:var(--sheet);cursor:pointer;transition:border-color .12s,background .12s;
  font-size:15px;flex-wrap:wrap;
}
.optrow:hover{border-color:var(--hairline-strong)}
.optrow[aria-checked="true"],.optrow.active{border-color:var(--ink);background:var(--mark)}
.optrow .dots{flex:1;min-width:16px;height:.9em;background-image:radial-gradient(circle,var(--hairline-strong) 1px,transparent 1.4px);background-size:9px 3px;background-repeat:repeat-x;background-position:0 100%}
.optrow .o-val{font-family:var(--mono);font-size:13.5px;font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap}
.optrow[aria-checked="true"] .o-val,.optrow.active .o-val{color:var(--ink)}
.optrow small{display:block;flex-basis:100%;font-size:12.5px;color:var(--ink-soft);margin-top:2px}

/* Колонтитул, «Оглавление», подвал-колофон, переключатель темы,
   тосты и лист связи живут в общем слое assets/css/chrome.css */

/* ---------- FAQ ---------- */
.faq-item{border-bottom:1px solid var(--hairline)}
.faq-item summary{
  list-style:none;cursor:pointer;padding:18px 44px 18px 0;position:relative;
  font-size:16.5px;font-weight:500;line-height:1.4;
}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{
  content:"+";position:absolute;right:4px;top:50%;transform:translateY(-50%);
  font-family:var(--serif);font-size:24px;font-weight:300;color:var(--wax-text,var(--wax));transition:transform .2s;
}
.faq-item[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq-item summary:hover{color:var(--wax-text,var(--wax))}
.faq-item p{padding:0 36px 20px 0;color:var(--ink-soft);font-size:16px;line-height:1.65;max-width:68ch}

/* ---------- Reveal ---------- */
.has-js .reveal{opacity:0;transform:translateY(14px);transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1)}
.has-js .reveal.in{opacity:1;transform:none}
.has-js .reveal.d1{transition-delay:.07s}
.has-js .reveal.d2{transition-delay:.14s}
.has-js .reveal.d3{transition-delay:.21s}

/* ---------- Визуально скрытое (для скринридеров) ---------- */
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- Сетки-помощники ---------- */
.grid{display:grid;gap:var(--s3)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(32px,5vw,64px);align-items:start}
.mt-s{margin-top:14px}.mt-m{margin-top:28px}.mt-l{margin-top:48px}

/* ---------- Якоря под фикс-шапкой ---------- */
section[id],main[id],[id].chapter{scroll-margin-top:76px}

/* ---------- Reduced motion ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .has-js .reveal,.has-js .rule.draw,.has-js .seal.press{opacity:1;transform:none}
  .has-js .seal.press{transform:rotate(-8deg)}
  .has-js .paysteps::before{transform:scaleX(1)}
  ::view-transition-old(root),::view-transition-new(root){animation:none!important}
}

/* ---------- Печать ---------- */
@media print{
  body::before{display:none!important}
  body{background:#fff}
  .sheet,.stacked::after{box-shadow:none!important}
  a{text-decoration:underline}
}

/* ============================================================
   ТЁМНАЯ ТЕМА «Оттиск ночью» — тёплый графит вместо бумаги.
   Только переопределение токенов; вся вёрстка работает как есть.
   ============================================================ */
:root[data-theme="dark"]{
  --paper:#14120E;
  --paper-2:#1B1813;
  --sheet:#1F1B15;
  --ink:#ECE6D7;
  --ink-soft:#ABA595;        /* AA на тёмном */
  --ink-faint:#847E6E;
  --hairline:#34302A;
  --hairline-strong:#4C483E;
  --wax:#B44F37;
  /* Акцентный ТЕКСТ на тёмном — отдельным токеном. Тем же --wax закрашен
     ФОН под светлым текстом (кнопки, плашки, метки), поэтому осветлить сам
     --wax нельзя: cream на нём и так 4.07, стало бы 3.2. А как краска текста
     #C65B41 давал 4.00 на --paper при норме 4.5 — 1163 элемента на 88
     страницах. #E07C61 даёт 5.80 на --paper, 5.47 на --sheet и 4.77 на
     --wax-soft. Правила берут его через var(--wax-text,var(--wax)):
     где токен не объявлен, всё остаётся как было — светлая тема не тронута. */
  --wax-text:#E07C61;             /* сургуч ярче для контраста на тёмном */
  --wax-deep:#A4432D;
  --wax-soft:rgba(198,91,65,.14);
  /* Для заливки кнопок сургуч чуть глубже: #FFFEF9 на #B8503A даёт 4,83
     против 4,18 на основном. Акценты, рамки и цифры остаются на --wax. */
  --wax-cta:#B8503A;
  --verify:#74BA90;
  --verify-soft:rgba(116,186,144,.14);
  --mark:#2C2A1D;
  --stamp:#8098CE;
  /* Нативные контролы (флажки, переключатели, полосы прокрутки, выпадающие
     списки, календарь) без этого рисуются браузером в СВЕТЛОМ виде: белый
     квадрат флажка на тёмной карточке конфигуратора был виден глазом.
     На главной строка уже была — в home-story.css; здесь она для всех
     остальных страниц. */
  color-scheme:dark;
  /* «Блик» — верхняя подсветка стекла: 1px-линии под шапкой, внутренние
     засветки кнопок и панелей. Белым по тёплому чёрному это даёт
     НЕЙТРАЛЬНЫЙ СЕРЫЙ (тот же диагноз, что у блика бумаги и шапки).
     Правила читают var(--sheen,#fff): токен объявлен ТОЛЬКО здесь,
     поэтому в светлой теме фолбэк даёт прежний чистый белый. */
  --sheen:#FFEED0;
}
/* тёмная: стрелка селекта светлее, ховер чернильной кнопки */
:root[data-theme="dark"] select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23ABA595' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
}
:root[data-theme="dark"] .btn-ink:hover{background:#3a352c}
:root[data-theme="dark"] body::before{opacity:.5}
:root[data-theme="dark"] .seal{mix-blend-mode:screen}

/* ---------- Тизер отзывов (главная) ---------- */
.rev-teaser{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
.rev-teaser .rt-shot{display:block;border:1px solid var(--hairline);border-radius:var(--r);background:var(--sheet);overflow:hidden;max-height:300px;transition:border-color .15s,box-shadow .15s}
.rev-teaser .rt-shot:hover{border-color:var(--hairline-strong);box-shadow:4px 4px 0 rgba(34,32,27,.06)}
.rev-teaser .rt-shot img{width:100%;height:auto;display:block}
@media(max-width:920px){.rev-teaser{grid-template-columns:1fr 1fr}.rev-teaser .rt-shot:nth-child(3){display:none}}

/* ---------- Правовые документы ---------- */
.doc-wrap{padding-top:calc(56px + clamp(28px,5vw,56px));padding-bottom:var(--block)}
.doc-crumb{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--ink-soft);margin-bottom:22px}
.doc-crumb a{border-bottom:1px solid var(--hairline-strong);padding-bottom:1px}
.doc-crumb a:hover{color:var(--wax-text,var(--wax));border-color:var(--wax)}
.doc{max-width:74ch}
.doc h1{font-size:clamp(28px,4vw,40px);margin-bottom:10px;line-height:1.1}
.doc .doc-subtitle{font-size:clamp(16px,1.6vw,18px);color:var(--ink-soft);margin-bottom:6px}
.doc .doc-meta{font-family:var(--mono);font-size:12.5px;letter-spacing:.06em;color:var(--ink-faint);padding-bottom:22px;margin-bottom:26px;border-bottom:3px double var(--ink)}
.doc h2{font-size:clamp(19px,2.2vw,25px);font-weight:500;margin:34px 0 12px;padding-top:8px}
.doc h3{font-size:17px;font-weight:500;margin:22px 0 8px}
.doc p{margin-bottom:12px;line-height:1.68;color:var(--ink)}
.doc ul,.doc ol{margin:0 0 14px 22px}
.doc li{margin-bottom:7px;line-height:1.62;padding-left:4px}
.doc strong,.doc b{font-weight:600}
.doc a{color:var(--wax-text,var(--wax));border-bottom:1px solid var(--wax-soft);transition:border-color .15s}
.doc a:hover{border-color:var(--wax)}
/* кнопки внутри статьи: правило «.doc a» перекрашивало текст кнопки в цвет её же фона */
.doc a.btn,.doc a.btn:hover{border-bottom:0}
.doc a.btn-wax,.doc a.btn-wax:hover{color:#FFFEF9}
.doc a.btn-ink,.doc a.btn-ink:hover{color:var(--paper)}
.doc a.btn-line,.doc a.btn-line:hover{color:var(--ink)}
.doc table{width:100%;border-collapse:collapse;margin:12px 0 18px;font-size:14.5px}
.doc th,.doc td{text-align:left;padding:10px 12px;border:1px solid var(--hairline);vertical-align:top}
.doc th{background:var(--paper-2);font-weight:500}
.doc .doc-note,.doc blockquote{background:var(--paper-2);border-left:3px solid var(--wax);padding:14px 16px;margin:16px 0;border-radius:var(--r);font-size:14.5px;color:var(--ink-soft)}
.doc-back{margin-top:40px;padding-top:20px;border-top:1px solid var(--hairline)}

/* ---------- Responsive ---------- */
@media(max-width:920px){
  .split{grid-template-columns:1fr}
  .grid-2,.grid-3{grid-template-columns:1fr}
  .paysteps{grid-template-columns:1fr;gap:18px}
  .paysteps::before{display:none}
  .pstep{display:grid;grid-template-columns:auto auto 1fr;align-items:baseline;gap:4px 14px;padding:0}
  .pstep::before{margin-bottom:0;align-self:center}
  .pstep .ps-share{grid-column:2}
  .pstep b{grid-column:3}
  .pstep small{grid-column:3}
}
@media(max-width:540px){
  .chapter{padding-top:56px}
}
/* таблицы гайдов на телефоне листаются внутри себя, не распирая страницу */
@media(max-width:680px){
  .doc table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .doc th,.doc td{min-width:130px}
  .doc th:first-child,.doc td:first-child{min-width:96px}
}

/* Мягкое раскрытие складных блоков: содержимое details проявляется
   коротким сдвигом — «красиво раскрывается по необходимости».
   Дешёвый приём (одна CSS-анимация), при reduce-motion выключен. */
/* мягкое раскрытие details: ТОЛЬКО transform, без opacity и без fill both —
   зависшая/придушенная анимация (энергосбережение, Турбо) не должна уметь
   спрятать контент: максимум цена сбоя — сдвиг на 3px, а не «пустой ответ» */
details[open] > *:not(summary){animation:foldIn .26s ease}
@keyframes foldIn{from{transform:translateY(-3px)}to{transform:none}}
@media (prefers-reduced-motion: reduce){
  details[open] > *:not(summary){animation:none}
}

/* MOBILE-FIRST · десктопный откат кеглей основного текста (OUT-008) */
/* База выше теперь мобильная: основной текст 16px. Здесь десктоп
   получает прежние кегли обратно. Блок стоит последним в файле,
   поэтому выигрывает по порядку при равной специфичности. */
@media (min-width:921px){
  .faq-item p{font-size:15px}
}
