/* StraightPost — общие стили сайта.

   Вынесены из index.html, когда сайт стал многостраничным: шесть страниц
   с копиями одного и того же CSS разъезжаются на второй же правке.
   Меняем цвет — меняем в одном месте. */

/* Палитра пересобрана после просмотра сайтов категории (Ramp, BILL):
   светлый фон, тёмно-синий текст, один акцент, тёмные блоки — редко и точечно.
   Прежний бежевый давал ощущение рассылки, а не финансового продукта. */
/* Шрифт на сайте один. Раньше их было два: гротеск для текста и моноширинный
   для надзаголовков, ярлыков, чисел и имён файлов. На странице это читалось
   как два разных документа, сшитых вместе. Оставлен один; «технический» вид
   там, где он нужен, даётся разрядкой и капителью, а колонки цифр держит
   tabular-nums, ради которого моноширинный и брали. */
:root{
  --paper:#FFFFFF;--paper2:#F6F8FC;--surface:#FFFFFF;
  --ink:#0F1A2A;--muted:#54657C;--faint:#8695A9;--line:#E3E8EF;
  --accent:#1A56DB;--accent-soft:rgba(26,86,219,.08);
  --warn:#B45309;--warn-soft:rgba(180,83,9,.10);
  --ok:#047857;--ok-soft:rgba(4,120,87,.10);
  --cool:#0E7490;--cool-soft:rgba(14,116,144,.10);
  --plum:#6D28D9;--plum-soft:rgba(109,40,217,.09);
  --dark:#0C1524;
  /* Нежные подложки полос. Разница с белым едва заметна намеренно:
     полоса должна отделять раздел, а не окрашивать его. */
  --tint:#F7F9FD;--tint2:#F5FAFB;
  --font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,
    "Helvetica Neue",Arial,sans-serif;
  --shadow:0 18px 44px rgba(15,26,42,.10);
}
@media(prefers-color-scheme:dark){:root{
  --paper:#0B1220;--paper2:#0F1828;--surface:#131D30;
  --ink:#E8EDF5;--muted:#9BAAC0;--faint:#6B7C93;--line:#22304A;
  --accent:#7AA2FF;--accent-soft:rgba(122,162,255,.13);
  --warn:#E5A752;--warn-soft:rgba(229,167,82,.13);
  --ok:#4ADE9B;--ok-soft:rgba(74,222,155,.13);
  --cool:#67E8F9;--cool-soft:rgba(103,232,249,.13);
  --plum:#C4B5FD;--plum-soft:rgba(196,181,253,.13);
  --dark:#060B14;
  --tint:#0E1626;--tint2:#0D1822;
  --shadow:0 18px 44px rgba(0,0,0,.45);}}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);
  line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
/* Цифры в колонках должны стоять друг под другом — единственное, ради чего
   раньше держали второй шрифт. */
.num,td.num,.amt,.price,.rung__price,.ui .num,.report .amt,.stat .n,
table td,table th{font-variant-numeric:tabular-nums}
.wrap{max-width:84rem;margin:0 auto;padding:0 2.2rem}
@media(max-width:700px){.wrap{padding:0 1.2rem}}
.narrow{max-width:42rem}
section{padding:4.2rem 0;border-top:1px solid var(--line);position:relative}
section:first-of-type{border-top:none}
/* Полосы через одну на едва различимой подложке. Это дешевле линейки и лучше
   неё: раздел читается как отдельный экран, но цвет не спорит с содержимым.
   Подложка тянется во всю ширину окна, а не по колонке — иначе видно шов. */
section:nth-of-type(even)::before{content:"";position:absolute;top:0;bottom:0;
  left:calc(50% - 50vw);width:100vw;background:var(--tint);z-index:-1}
section:nth-of-type(4n)::before{background:var(--tint2)}
/* Первый элемент внутри секции не добавляет свой отступ сверху: иначе
   к отступу секции прибавлялся отступ блока и между экранами зияла дыра. */
section > :first-child{margin-top:0}
.hero{padding-top:1.2rem;padding-bottom:2.6rem}
/* Текстовая колонка одна на весь сайт и всегда прижата влево. Раньше ширину
   задавал каждый тег сам, и куски страницы обрывались на разной глубине. */
.col{max-width:46rem}
section > h1,section > h2,section > p,section > .lead,section > .eyebrow{max-width:46rem}
h1,h2,h3{letter-spacing:-.022em;line-height:1.15;text-wrap:balance;margin:0}
/* Шкала одна на весь сайт. До неё кегли жили сами по себе: в схеме крупно,
   рядом в тексте мелко, и страница выглядела собранной из кусков. */
h1{font-size:clamp(2.05rem,3.6vw,3rem);font-weight:680}
h2{font-size:clamp(1.45rem,2.3vw,1.95rem);font-weight:660;margin-bottom:.9rem}
h3{font-size:1.1rem;font-weight:660;margin-bottom:.3rem}
p{margin:.75rem 0;text-wrap:pretty}
.lead{font-size:clamp(1.05rem,1.5vw,1.2rem);color:var(--muted)}
.eyebrow{font-family:var(--font);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.7rem}
a{color:var(--accent)}
strong{font-weight:640}
ul{padding-left:1.15rem;margin:.9rem 0}
li{margin:.42rem 0}
li::marker{color:var(--accent)}

/* ---- шапка и меню ---------------------------------------------------- */
header{padding:1.5rem 0 1.1rem;display:flex;align-items:baseline;
  justify-content:space-between;gap:1rem;flex-wrap:wrap}
/* Название написано один раз и работает само за себя: S и P внутри слова
   акцентным цветом — те же две буквы, что и на значке вкладки. */
.mark{text-decoration:none;color:var(--ink);white-space:nowrap}
.mark__name{font-weight:750;letter-spacing:-.035em;font-size:1.22rem}
.mark span{color:var(--accent)}
/* Разделы — кнопки, а не строчка ссылок. Ссылки одного цвета с текстом
   не читаются как навигация: глаз ищет, куда нажать, и не находит границы. */
header nav{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}
header nav a{font-size:.9rem;font-weight:580;text-decoration:none;color:var(--muted);
  white-space:nowrap;border:1px solid transparent;border-radius:999px;
  padding:.45rem .85rem;transition:background .2s,color .2s,border-color .2s}
header nav a:hover{color:var(--ink);background:var(--paper2);border-color:var(--line)}
/* Текущая страница залита акцентом: в меню из шести кнопок иначе теряешься. */
header nav a.on{color:var(--accent);font-weight:640;background:var(--accent-soft);
  border-color:var(--accent)}
header nav a.mail{color:var(--accent);border-color:var(--line);letter-spacing:.01em}
header nav a.mail:hover{background:var(--accent-soft);border-color:var(--accent)}
@media(max-width:620px){
  header{gap:.6rem}
  header nav{gap:.35rem}
  header nav a{font-size:.85rem;padding:.38rem .7rem}
}

/* ---- главный экран --------------------------------------------------- */
.cta{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.6rem;
  background:var(--accent);color:var(--paper);text-decoration:none;font-weight:620;
  padding:.72rem 1.3rem;border-radius:9px;font-size:.98rem}
.cta:hover{opacity:.9}
.cta.ghost{background:none;color:var(--accent);border:1px solid var(--line)}
.ctarow{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center}
.under{font-size:.86rem;color:var(--faint);margin-top:.7rem}

/* ---- карточки -------------------------------------------------------- */
.steps{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:1.4rem}
.steps.two{grid-template-columns:repeat(2,1fr)}
.steps.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.steps.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.steps,.steps.two,.steps.four{grid-template-columns:1fr}}
.step{background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:1.05rem}
.step .n{font-family:var(--font);font-size:.7rem;color:var(--accent);margin-bottom:.5rem}
/* Карточка, у которой номер — это цена: она и должна читаться первой. */
.step.priced .n{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);
  margin-bottom:.35rem;font-variant-numeric:tabular-nums}
.step p{margin:0;font-size:.95rem;color:var(--muted)}
.step p + p{margin-top:.55rem}

/* Карточка-ссылка на раздел: весь блок кликабельный и выглядит нажимаемым.
   Стрелка уезжает вправо на наведении — единственный намёк, что это кнопка,
   который работает и без цвета. */
a.step{display:flex;flex-direction:column;text-decoration:none;color:inherit;
  border-radius:14px;transition:border-color .2s,background .2s,transform .2s,
  box-shadow .2s}
a.step:hover{border-color:var(--accent);background:var(--accent-soft);
  transform:translateY(-3px);box-shadow:0 12px 26px rgba(15,26,42,.08)}
a.step .go{font-size:.86rem;font-weight:640;color:var(--accent);
  margin-top:auto;padding-top:.9rem;display:inline-flex;gap:.4rem;align-items:center}
a.step .go::after{content:"→";transition:transform .2s}
a.step:hover .go::after{transform:translateX(4px)}

/* ---- врезка «честно говоря» ------------------------------------------ */
/* Врезка «честно говоря» была на янтарной заливке с толстой цветной чертой
   слева — читалась как сообщение об ошибке, хотя в ней просто оговорки.
   Обычная карточка сайта; вес несут полужирные зачины строк. */
.note{margin-top:1.4rem;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:1.5rem}
.note p{margin:0;font-size:.98rem;color:var(--muted)}
.note p strong{color:var(--ink)}
.note p + p{margin-top:.8rem}

/* ---- таблицы --------------------------------------------------------- */
.scroll{overflow-x:auto;margin-top:1.2rem}
table{border-collapse:collapse;width:100%;font-size:.92rem;min-width:30rem}
th,td{text-align:left;padding:.6rem .8rem;border-bottom:1px solid var(--line)}
th{font-family:var(--font);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--faint);font-weight:500}
td.num{font-family:var(--font);white-space:nowrap}

/* ---- метки уровня ---------------------------------------------------- */
.chip{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--font);
  font-size:.66rem;letter-spacing:.09em;text-transform:uppercase;margin-bottom:.55rem}
.chip::before{content:"";width:.5rem;height:.5rem;border-radius:50%}
.chip.hold{color:var(--warn)} .chip.hold::before{background:var(--warn)}
.chip.look{color:var(--muted)} .chip.look::before{background:var(--muted)}

/* ---- блоки этапов и цен ---------------------------------------------- */
.pilot{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:1.5rem}
.pilot + .pilot{margin-top:1rem}
.stepno{font-family:var(--font);font-size:.68rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--accent);margin-bottom:.5rem}
.price{font-size:2rem;font-weight:700;letter-spacing:-.03em}
.price small{font-size:.9rem;font-weight:400;color:var(--muted);letter-spacing:0}

/* ---- кейсы ----------------------------------------------------------- */
.case{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:1.5rem;margin-top:1.1rem}
.case h3{font-size:1.12rem;margin-bottom:.55rem}
.facts{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}
.facts span{font-family:var(--font);font-size:.7rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);background:var(--accent-soft);
  border-radius:999px;padding:.28rem .7rem}
.case dl{margin:.9rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem}
.case dt{font-family:var(--font);font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint);padding-top:.22rem}
.case dd{margin:0;font-size:.95rem}
@media(max-width:560px){
  .case dl{grid-template-columns:1fr;gap:.15rem}
  .case dd{margin-bottom:.6rem}
}

/* ---- плотные таблицы --------------------------------------------------- */
table.tight{font-size:.88rem;min-width:34rem}
table.tight th,table.tight td{padding:.5rem .7rem;vertical-align:top}
table.tight td strong{display:block;margin-bottom:.1rem}
/* Ячейка на несколько строк центрируется по ним и отделяется чертой — иначе
   она прижата к первой строке и читается как относящаяся только к ней. */
table.tight td[rowspan]{vertical-align:middle;border-left:1px solid var(--line);
  color:var(--muted)}
.cmp td:first-child{color:var(--muted)}
.cmp td:last-child{color:var(--ink)}
.tag{font-family:var(--font);font-size:.66rem;letter-spacing:.07em;
  text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.2rem .55rem}
.tag.hold{color:var(--warn);background:var(--warn-soft)}
.tag.look{color:var(--muted);background:var(--accent-soft)}
.tag.free{color:var(--accent);background:var(--accent-soft)}

/* ---- движение ---------------------------------------------------------
   Всё оживление держится на двух правилах: появление при прокрутке
   и бегущая лента. Оба выключаются системной настройкой — анимация,
   которую нельзя остановить, это не украшение, а помеха. */
/* Прячем только когда JS точно есть: класс js ставится инлайном в <head>.
   Иначе при отключённом или упавшем скрипте страница осталась бы пустой. */
.js .reveal{opacity:0;transform:translateY(14px);
  transition:opacity .55s ease,transform .55s ease}
.js .reveal.in{opacity:1;transform:none}
.reveal.d1{transition-delay:.07s} .reveal.d2{transition-delay:.14s}
.reveal.d3{transition-delay:.21s} .reveal.d4{transition-delay:.28s}

/* Пунктир, бегущий по стрелкам схемы: показывает направление потока. */
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  .marquee__track{animation:none}
}

/* ---- вкладки (кейсы) --------------------------------------------------- */
.tabs{display:grid;grid-template-columns:15rem 1fr;gap:1rem;margin-top:1.5rem}
@media(max-width:760px){.tabs{grid-template-columns:1fr}}
.tabs__list{display:flex;flex-direction:column;gap:.5rem}
@media(max-width:760px){
  .tabs__list{flex-direction:row;overflow-x:auto;padding-bottom:.35rem}
  .tabs__btn{white-space:nowrap}
}
.tabs__btn{display:flex;align-items:center;gap:.65rem;text-align:left;cursor:pointer;
  font:inherit;font-size:.94rem;font-weight:620;color:var(--muted);
  background:var(--surface);border:1px solid var(--line);border-radius:11px;
  padding:.7rem .85rem;transition:border-color .2s,color .2s,background .2s}
.tabs__btn:hover{color:var(--ink);border-color:var(--accent)}
.tabs__btn[aria-selected="true"]{color:var(--ink);border-color:var(--accent);
  background:var(--accent-soft)}
.tabs__btn svg{flex:none;width:22px;height:22px;stroke:var(--accent);
  stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.tabs__panel{background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:1.5rem;min-height:20rem}
.tabs__panel[hidden]{display:none}
.tabs__panel h3{font-size:1.2rem;margin-bottom:.2rem}
.panelfacts{display:flex;gap:.45rem;flex-wrap:wrap;margin:.7rem 0 1.1rem}
.panelfacts span{font-family:var(--font);font-size:.68rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted);background:var(--accent-soft);
  border-radius:999px;padding:.26rem .66rem}
.panelrow{display:grid;grid-template-columns:9rem 1fr;gap:.4rem 1rem;margin-top:.7rem}
@media(max-width:560px){.panelrow{grid-template-columns:1fr;gap:.1rem}}
.panelrow dt{font-family:var(--font);font-size:.66rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--faint);padding-top:.25rem}
.panelrow dd{margin:0;font-size:.95rem}

/* ---- бегущая лента учётных систем -------------------------------------- */
.marquee{overflow:hidden;margin-top:1.3rem;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:.7rem;width:max-content;
  animation:slide 34s linear infinite}
.marquee:hover .marquee__track{animation-play-state:paused}
@keyframes slide{to{transform:translateX(-50%)}}
.sys{display:inline-flex;align-items:center;gap:.5rem;white-space:nowrap;
  background:var(--surface);border:1px solid var(--line);border-radius:999px;
  padding:.6rem 1.1rem;font-weight:620;font-size:.95rem}
.sys::before{content:"";width:.5rem;height:.5rem;border-radius:2px;
  background:var(--accent);flex:none}

/* ---- форма обратной связи ---------------------------------------------- */
.form{background:var(--surface);border:1px solid var(--line);border-radius:14px;
  padding:1.6rem;margin-top:1.4rem}
.form__grid{display:grid;grid-template-columns:1fr 1fr;gap:.9rem}
@media(max-width:640px){.form__grid{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:.3rem}
.field.wide{grid-column:1/-1}
.field label{font-family:var(--font);font-size:.68rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--faint)}
.field .req{color:var(--accent)}
.field input,.field textarea{font:inherit;font-size:.95rem;color:var(--ink);
  background:var(--paper);border:1px solid var(--line);border-radius:9px;
  padding:.62rem .75rem;width:100%}
.field textarea{min-height:6.5rem;resize:vertical}
/* Ловушка для ботов. Не display:none: часть ботов такие поля пропускает,
   а уведённое за экран поле они заполняют охотно. */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.field input:focus,.field textarea:focus{outline:2px solid var(--accent);
  outline-offset:1px;border-color:transparent}
.consent{display:flex;gap:.6rem;align-items:flex-start;margin:1rem 0 .2rem;
  font-size:.88rem;color:var(--muted)}
.consent input{margin-top:.2rem;accent-color:var(--accent);width:1rem;height:1rem}
.form button{margin-top:1rem;font:inherit;font-weight:620;font-size:.98rem;
  cursor:pointer;background:var(--accent);color:var(--paper);border:0;
  border-radius:9px;padding:.75rem 1.5rem}
.form button:hover{opacity:.9}
.form__note{font-size:.84rem;color:var(--faint);margin-top:.8rem}

/* ---- визуальный образец выгрузки --------------------------------------- */
.sheet{border:1px solid var(--line);border-radius:12px;overflow:hidden;
  background:var(--surface);margin-top:1.2rem}
.sheet__bar{display:flex;gap:.4rem;align-items:center;padding:.6rem .9rem;
  border-bottom:1px solid var(--line);font-family:var(--font);font-size:.72rem;
  color:var(--faint)}
.sheet__bar i{width:.6rem;height:.6rem;border-radius:50%;background:var(--line);
  display:inline-block}
.sheet table{min-width:0;font-family:var(--font);font-size:.82rem}
.sheet th{color:var(--accent)}
.sheet td{color:var(--muted)}
.sheet tr:last-child td{border-bottom:0}

/* ---- крупная бесплатная плашка ------------------------------------------ */
.freebar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;
  border:2px solid var(--accent);background:var(--accent-soft);
  border-radius:14px;padding:1.1rem 1.4rem;margin-top:1.4rem}
.freebar b{font-size:1.5rem;letter-spacing:-.02em}
.freebar p{margin:0;font-size:.95rem;color:var(--muted);flex:1;min-width:14rem}

/* ---- контакты и подвал ----------------------------------------------- */
.contact a.big{font-family:var(--font);font-size:clamp(1rem,3vw,1.3rem);word-break:break-all}
footer{border-top:1px solid var(--line);padding:2rem 0 3rem;font-size:.84rem;color:var(--faint)}
footer p{margin:.35rem 0}
/* В подвале ссылки остаются ссылками: кнопками там навигация не нужна,
   но правила шапки теперь на неё не распространяются, поэтому свои. */
footer nav{margin:.6rem 0 .9rem;display:flex;gap:1.1rem;flex-wrap:wrap}
footer nav a{font-size:.84rem;color:var(--muted);text-decoration:none}
footer nav a:hover{color:var(--accent);text-decoration:underline;
  text-underline-offset:3px}


/* ---- лестница шагов ------------------------------------------------------ */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1.8rem}
@media(max-width:980px){.ladder{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ladder{grid-template-columns:1fr}}
.rung{position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:1.5rem 1.3rem 1.3rem;overflow:hidden;
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.rung:hover{transform:translateY(-4px);border-color:var(--accent);
  box-shadow:0 12px 28px rgba(0,0,0,.07)}
.rung::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;
  background:var(--accent)}
/* Полоска сверху карточки была двухцветным градиентом: синий→бирюзовый
   у бесплатного шага и янтарный→фиолетовый у платных. Четыре цвета там,
   где заявлен один, и янтарный опять означал тревогу вместо цены.
   Один акцент, платные шаги ярче бесплатного. */
.rung.free::before{background:var(--accent);opacity:.32}
.rung.paid::before{background:var(--accent)}
.rung__n{font-family:var(--font);font-size:2.6rem;font-weight:700;line-height:1;
  color:var(--line);letter-spacing:-.04em;margin-bottom:.5rem}
.rung h3{font-size:1.15rem;margin-bottom:.45rem}
.rung p{margin:0;font-size:.93rem;color:var(--muted)}
.rung__price{display:inline-block;margin-top:1rem;font-weight:700;font-size:1.45rem;
  letter-spacing:-.02em}
.rung__price.zero{color:var(--accent)}
.rung__stop{display:block;margin-top:.7rem;font-family:var(--font);font-size:.66rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}

/* ---- образец отчёта ------------------------------------------------------ */
.report{border:1px solid var(--line);border-radius:16px;overflow:hidden;
  background:var(--surface)}
.report__head{padding:1rem 1.3rem;border-bottom:1px solid var(--line);
  background:var(--accent-soft);display:flex;justify-content:space-between;
  gap:1rem;flex-wrap:wrap;align-items:baseline}
.report__head b{font-size:1.05rem}
.report__head span{font-family:var(--font);font-size:.78rem;color:var(--muted)}
.report table{min-width:0;font-size:.88rem}
.report td{border-bottom:1px solid var(--line)}
.report tr:last-child td{border-bottom:0}
.report .why{color:var(--warn);font-size:.84rem}
/* Скоркарта: окрашена только колонка клиента. Красить ещё и ориентир значит
   сделать из таблицы светофор, который читают как оценку, а не как замер.
   Зелёного больше, чем красного, и это не приём — так выходит у большинства. */
.report .ahead{color:var(--ok);font-weight:640}
.report .behind{color:var(--warn);font-weight:640}
.report .bench{color:var(--faint)}
/* Направление обязано стоять словом. Без него строка «6.34 против 9.40»
   читается как «клиент ниже нормы», хотя ниже здесь и значит лучше, —
   и вся таблица, собранная чтобы показать сильные стороны, работает наоборот. */
.report .stand{font-family:var(--font);font-size:.7rem;letter-spacing:.07em;
  text-transform:uppercase;white-space:nowrap;text-align:right}
.report .amt{font-family:var(--font);white-space:nowrap;font-weight:640}
.report__foot{padding:.9rem 1.3rem;border-top:1px solid var(--line);
  font-size:.88rem;color:var(--muted);display:flex;justify-content:space-between;
  gap:1rem;flex-wrap:wrap}
.report__foot b{color:var(--ink);font-size:1.15rem}


/* ---- документ как вёрстка, а не фотография -------------------------------
   Раньше здесь стояли png-страницы из нашего генератора счетов. Проблема
   была не в том, что они ненастоящие, а в том, что на них ничего не видно:
   картинка мелкая, поле, ради которого её показывают, теряется среди
   остальных, и в тёмной теме белый лист режет глаз.
   Документ собран разметкой: те же поля, но нужное можно подсветить
   прямо в тексте, и он остаётся читаемым на любом экране. */
.doc{position:relative;background:var(--surface);border:1px solid var(--line);
  border-radius:14px;padding:1.15rem 1.2rem;box-shadow:var(--shadow);font-size:.87rem}
.doc__top{display:flex;justify-content:space-between;align-items:flex-start;
  gap:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--line)}
.doc__vendor{font-weight:680;font-size:1.02rem;letter-spacing:-.015em}
.doc__kind{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--faint);white-space:nowrap;padding-top:.2rem}
.doc__meta{display:grid;grid-template-columns:auto 1fr;gap:.32rem .9rem;
  margin:.85rem 0 0}
.doc__meta dt{font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;
  color:var(--faint);padding-top:.18rem}
.doc__meta dd{margin:0;font-variant-numeric:tabular-nums}
.doc__lines{margin-top:.9rem;padding-top:.7rem;border-top:1px dashed var(--line)}
.doc__line{display:flex;justify-content:space-between;gap:1rem;
  color:var(--muted);padding:.16rem 0;font-variant-numeric:tabular-nums}
.doc__total{display:flex;justify-content:space-between;gap:1rem;margin-top:.75rem;
  padding-top:.7rem;border-top:1px solid var(--line);font-weight:700;
  font-size:1.08rem;font-variant-numeric:tabular-nums}
/* Подсветка поля прямо в документе: жёлтая — то, из-за чего он остановлен,
   синяя — то, что совпало с другим документом. */
.doc mark{background:var(--warn-soft);color:var(--warn);border-radius:5px;
  padding:.04rem .32rem;font-weight:640}
.doc mark.same{background:var(--accent-soft);color:var(--accent)}
.doc__foot{margin-top:.95rem;padding-top:.75rem;border-top:1px solid var(--line);
  display:flex;align-items:center;gap:.55rem;flex-wrap:wrap;font-size:.84rem;
  color:var(--muted)}
.doc.held{border-color:var(--warn)}
.doc.posted{border-color:var(--ok)}

.docs{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.5rem;
  align-items:start}
@media(max-width:760px){.docs{grid-template-columns:1fr}}
/* В колонке главного экрана пара документов встаёт друг под другом: рядом
   в половину ширины они нечитаемы, а сверху вниз ещё и лучше показывают
   повтор — второй документ буквально приходит следом за первым. */
.split .docs{grid-template-columns:1fr}
/* Подпись под парой документов объясняет, что между ними общего. */
.docs__note{display:flex;align-items:center;gap:.6rem;margin-top:1rem;
  font-size:.9rem;color:var(--muted)}
.docs__note::before{content:"";flex:none;width:.6rem;height:.6rem;border-radius:50%;
  background:var(--accent)}

/* ---- проблема и что с ней делается -------------------------------------- */
.pairs{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.6rem}
@media(max-width:820px){.pairs{grid-template-columns:1fr}}
.pair{background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:1.5rem;transition:border-color .25s ease,transform .25s ease}
.pair:hover{border-color:var(--accent);transform:translateY(-3px)}
.pair__icon{width:46px;height:46px;border-radius:13px;display:grid;place-items:center;
  margin-bottom:1rem}
.pair__icon svg{width:24px;height:24px;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round}
.pair__icon.i1{background:var(--accent-soft)} .pair__icon.i1 svg{stroke:var(--accent)}
.pair__icon.i2{background:var(--warn-soft)}   .pair__icon.i2 svg{stroke:var(--warn)}
.pair__icon.i3{background:var(--cool-soft)}   .pair__icon.i3 svg{stroke:var(--cool)}
.pair__icon.i4{background:var(--plum-soft)}   .pair__icon.i4 svg{stroke:var(--plum)}
.pair p{color:var(--muted);font-size:.98rem;margin:.4rem 0 0}
.pair__fix{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--line);
  font-size:.98rem;display:flex;gap:.6rem;align-items:flex-start}
.pair__fix::before{content:"→";color:var(--accent);font-weight:700;flex:none}

/* ---- вход и выход -------------------------------------------------------- */
.io{display:grid;grid-template-columns:1fr auto 1fr;gap:1.3rem;align-items:stretch;
  margin-top:1.6rem}
@media(max-width:860px){.io{grid-template-columns:1fr}}
.io__panel{background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:1.5rem}
.io__panel h3{margin-bottom:.9rem}
.io__panel p{font-size:.95rem;color:var(--muted);margin:.9rem 0 0}
.io__mid{display:grid;place-items:center;min-width:5.5rem}
.io__mid div{background:var(--accent);color:var(--paper);border-radius:14px;
  padding:1rem .9rem;text-align:center;font-weight:700;font-size:.95rem;line-height:1.25}
@media(max-width:860px){.io__mid div{padding:.7rem 1.4rem}}
.chips{display:flex;flex-wrap:wrap;gap:.5rem}
.chips span{display:inline-flex;align-items:center;gap:.45rem;font-size:.93rem;
  font-weight:600;background:var(--paper);border:1px solid var(--line);
  border-radius:999px;padding:.45rem .9rem}
.chips span::before{content:"";width:.45rem;height:.45rem;border-radius:50%;
  background:var(--accent);flex:none}

/* ---- доступы: две крупные колонки вместо таблицы ------------------------- */
.access{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.6rem}
@media(max-width:820px){.access{grid-template-columns:1fr}}
/* Обе колонки — обычные карточки сайта. Раньше одна была залита янтарным,
   другая синим, обе с толстой цветной рамкой. Две беды: на весь сайт
   заявлен один синий акцент (см. SITE.md), а янтарный тут вообще
   значит другое — им помечены задержанные платежи, то есть тревога.
   Список «чего мы не просим» успокаивает, а выглядел как предупреждение.
   Различие несут галочка и крестик, а не заливка. */
.acol{background:var(--surface);border:1px solid var(--line);
  border-radius:16px;padding:1.6rem}
.acol h3{font-size:1.15rem;margin-bottom:1.1rem}
.acol ul{list-style:none;padding:0;margin:0}
.acol li{display:flex;gap:.85rem;align-items:flex-start;margin:1.05rem 0;font-size:1rem}
.acol li b{display:block;font-weight:660}
.acol li span{color:var(--muted);font-size:.93rem}
.acol li::before{flex:none;width:1.5rem;height:1.5rem;border-radius:50%;
  display:grid;place-items:center;font-weight:700;font-size:.9rem;margin-top:.12rem}
.acol.no li::before{content:"×";background:var(--paper2);color:var(--faint);
  box-shadow:inset 0 0 0 1px var(--line)}
.acol.yes li::before{content:"✓";background:var(--accent-soft);color:var(--accent)}


/* ---- десять ответов диагностики -----------------------------------------
   Раньше здесь стояла таблица «You get / Measured how». Вторая колонка
   отвечала на вопрос, которого читатель не задаёт: как считали. Ему важно,
   что он получит, а не методика — её место в самом отчёте. Осталась одна
   колонка, а десять строк подряд разложены на три смысловые группы: деньги,
   которые уже ушли; что сделал бы конвейер; во что обходится ручной ввод.
   Нумерация сквозная через счётчик — она и держит обещание заголовка. */
/* Две колонки, а не три: групп стало четыре, и при трёх последняя оставалась
   одна в ряду. Пункты здесь — предложения, поэтому узкие колонки хуже: текст
   в них ломается по два слова. */
/* Карточки тянутся до общей высоты ряда. Раньше стояло align-items:start,
   и группы на три и на шесть пунктов давали рваный низ. Лечится не вёрсткой,
   а содержанием: пунктов в группах поровну (4/4/4/3), и тогда растяжка
   доводит остаток, а не маскирует перекос. */
.answers{counter-reset:ans;display:grid;grid-template-columns:repeat(2,1fr);
  gap:1.1rem;margin-top:1.8rem}
@media(max-width:900px){.answers{grid-template-columns:1fr}}
.agroup{background:var(--surface);border:1px solid var(--line);border-radius:16px;
  padding:1.5rem 1.5rem 1.25rem;box-shadow:var(--shadow)}
/* Заголовок группы — не третий уровень текста, а ярлык: разрядка и капитель,
   как у надзаголовков разделов. Иначе он спорит с самими пунктами. */
.agroup h3{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  font-weight:600;color:var(--accent);margin:0}
.alist{list-style:none;padding:0;margin:0}
.alist li{position:relative;padding:.9rem 0 .9rem 2.1rem;font-size:.98rem;
  border-bottom:1px dashed var(--line)}
.alist li:last-child{border-bottom:0;padding-bottom:.2rem}
/* Ведущий ноль выравнивает однозначные номера с двузначными без второй
   колонки в разметке. */
/* Номер вынесен из потока, чтобы ярлык у пункта шёл сразу за текстом,
   а не отдельной колонкой справа. */
.alist li::before{counter-increment:ans;
  content:counter(ans,decimal-leading-zero);position:absolute;left:0;top:1.1rem;
  font-size:.72rem;font-weight:700;letter-spacing:.04em;color:var(--faint);
  font-variant-numeric:tabular-nums}
.alist .tag{display:inline-block;margin-left:.4rem;transform:translateY(-.05em)}

/* Вердикт закрывает список: он не одиннадцатый пункт, поэтому вынесен из
   карточек и залит акцентом. */
.verdict{display:flex;align-items:center;justify-content:space-between;
  gap:1.2rem 1.6rem;flex-wrap:wrap;margin-top:1.2rem;
  border:1px solid var(--accent);background:var(--accent-soft);
  border-radius:16px;padding:1.3rem 1.5rem}
.verdict > div{flex:1;min-width:18rem}
.verdict b{display:block;font-size:1.15rem;letter-spacing:-.02em;margin-bottom:.25rem}
.verdict p strong{color:var(--ink);font-weight:650}
.verdict p + p{margin-top:.6rem}
.verdict p{margin:0;font-size:.95rem;color:var(--muted);max-width:44rem}

.diacap{font-size:.9rem;color:var(--faint);margin:.9rem 0 0;max-width:46rem}

/* Подзаголовок внутри раздела: пояснение к тому, что показано выше, а не
   новая тема. Отбит чертой сверху, чтобы не спорил с h2 раздела. */
h3.sub{margin:3rem 0 0;padding-top:1.4rem;border-top:1px solid var(--line);
  font-size:1.15rem;letter-spacing:-.015em}

/* ---- полосы -------------------------------------------------------------
   Светлая — почти весь сайт, тёмная — раз на страницу, чтобы взгляд
   за что-то зацепился. Градиентов нет: они и делали вид «презентации». */
.band{border-radius:20px;padding:2.6rem;background:var(--paper2);
  border:1px solid var(--line)}
.band.dark{background:var(--dark);border-color:transparent;color:#EDF1F7}
.band.dark h1,.band.dark h2{color:#fff}
.band.dark .lead,.band.dark p{color:#AEBACB}
.band.dark .eyebrow{color:#8FB3FF}
.band.dark .cta.ghost{color:#fff;border-color:rgba(255,255,255,.28)}
/* Одна мера строки на весь сайт: 46rem снаружи полос, столько же внутри.
   Разные меры в соседних блоках и создавали ощущение, что текст «пляшет». */
.band h1,.band h2,.band p,.band .lead,.band .diacap{max-width:46rem}
.split .band h1,.split h1,.split .lead,.split p{max-width:none}
.split{display:grid;grid-template-columns:1.02fr .98fr;gap:2.6rem;align-items:center}
@media(max-width:900px){.split{grid-template-columns:1fr;gap:1.6rem}}

/* ---- окно продукта ------------------------------------------------------
   Главная иллюстрация сайта — не абстракция, а то, что клиент получит:
   два файла на выходе, показанные как интерфейс. Данные настоящие,
   из тестовой пачки. */
.ui{border:1px solid var(--line);border-radius:14px;overflow:hidden;
  background:var(--surface);box-shadow:var(--shadow)}
.ui__bar{display:flex;align-items:center;gap:.6rem;padding:.7rem 1rem;
  border-bottom:1px solid var(--line);background:var(--paper2)}
.ui__bar i{width:.55rem;height:.55rem;border-radius:50%;background:var(--line);flex:none}
.ui__name{font-family:var(--font);font-size:.78rem;color:var(--muted)}
.ui__count{margin-left:auto;font-family:var(--font);font-size:.72rem;color:var(--faint)}
.ui table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:0}
.ui th{font-family:var(--font);font-size:.66rem;text-transform:uppercase;
  letter-spacing:.09em;color:var(--faint);font-weight:500;text-align:left;
  padding:.6rem .9rem;border-bottom:1px solid var(--line)}
.ui td{padding:.7rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}
.ui tr:last-child td{border-bottom:0}
.ui .num{font-family:var(--font);white-space:nowrap;text-align:right;font-weight:600}
.ui .sub{display:block;font-size:.82rem;color:var(--muted);margin-top:.15rem}
.uis{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.6rem}
@media(max-width:900px){.uis{grid-template-columns:1fr}}

.badge{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--font);
  font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
  border-radius:999px;padding:.25rem .6rem;white-space:nowrap}
.badge.ok{background:var(--ok-soft);color:var(--ok)}
.badge.hold{background:var(--warn-soft);color:var(--warn)}
.badge.review{background:var(--accent-soft);color:var(--accent)}

/* ---- лента шагов --------------------------------------------------------
   Заменила схему из прямоугольников со стрелками: та читалась как слайд
   и висела слева, оставляя половину экрана пустой. */
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:1.8rem;
  border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.rail.four{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.rail,.rail.four{grid-template-columns:1fr}}
.rail__step{padding:1.7rem 1.5rem;border-right:1px solid var(--line);position:relative}
.rail__step:last-child{border-right:0}
@media(max-width:860px){
  .rail__step{border-right:0;border-bottom:1px solid var(--line)}
  .rail__step:last-child{border-bottom:0}
}
.rail__n{font-family:var(--font);font-size:.72rem;letter-spacing:.1em;
  color:var(--accent);font-weight:600;margin-bottom:.8rem}
.rail__step h3{margin-bottom:.35rem}
.rail__step p{margin:0;font-size:.95rem;color:var(--muted)}
.rail__step .badge{margin-top:.9rem}

/* ---- три воротца --------------------------------------------------------- */
.gates{margin-top:1.8rem;border:1px solid var(--line);border-radius:16px;
  overflow:hidden;background:var(--surface)}
.gate{display:grid;grid-template-columns:2.6rem 1fr auto;gap:1.2rem;align-items:center;
  padding:1.3rem 1.5rem;border-bottom:1px solid var(--line)}
.gate:last-child{border-bottom:0}
@media(max-width:720px){
  .gate{grid-template-columns:2.2rem 1fr;gap:.8rem}
  .gate__out{grid-column:2}
}
.gate__n{width:2.2rem;height:2.2rem;border-radius:50%;display:grid;place-items:center;
  font-family:var(--font);font-size:.85rem;font-weight:700;
  background:var(--accent-soft);color:var(--accent)}
.gate__q{font-size:1.08rem;font-weight:640}
.gate__q span{display:block;font-size:.93rem;font-weight:400;color:var(--muted);
  margin-top:.2rem}
.gate__out{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}
.gate__end{display:flex;align-items:center;gap:.9rem;padding:1.3rem 1.5rem;
  background:var(--ok-soft)}
.gate__end b{font-size:1.08rem;color:var(--ink)}
.gate__end p{margin:0;font-size:.95rem;color:var(--muted)}

/* ---- шапка кейса --------------------------------------------------------- */
.casehead{display:flex;align-items:center;gap:1rem;padding:1.2rem 1.4rem;
  border-radius:14px 14px 0 0;margin:-1.5rem -1.5rem 1.2rem;background:var(--paper2);
  border-bottom:1px solid var(--line)}
.casehead svg{width:34px;height:34px;flex:none;fill:none;stroke:var(--accent);
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.casehead b{font-size:1.05rem}
.casehead span{display:block;font-family:var(--font);font-size:.7rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--faint);margin-top:.2rem}

/* Текст только для скринридера: подпись колонки, которой глазу не нужно */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
