/* «О компании» v4 — ЯДРО. Спецификация: gpt-6-astra, круг 4 (10.09.2026) + приёмы финтех-разведки.
   Правит только интегратор. Блоки используют токены --ab-* и общие классы, свои стили — с префиксом блока.
   Принципы: светлая продуктовая страница; интерфейсы свёрстаны HTML/CSS с реальными данными;
   без пилюль, моно-капса, свечений, стекла, тикеров, номеров секций, штампов; без форм заявки;
   всё видно без JavaScript; UI не масштабируется через transform: scale(). */

.ab-page{
  --ab-bg:#FAFBFD; --ab-surface:#FFFFFF; --ab-surface-2:#F3F5F9; --ab-sky:#DFEAF8; --ab-paper:#F5F3EC; --ab-peach:#F8E2D5;
  --ab-navy:#22225C; --ab-ink:#252B3A; --ab-muted:#626B7B; --ab-line:#DFE4EC; --ab-selected:#EAF2FC;
  --ab-blue:#209AD7; --ab-link:#17658E; --ab-orange:#EC672C; --ab-button:#C94E17;
  --ab-done:#286448; --ab-wait:#865915; --ab-work:#245D88; --ab-neutral:#626B7B;
  --ab-gutter:clamp(20px,3vw,48px); --ab-gap:24px; --ab-scene-gap:clamp(64px,7vw,104px);
  --ab-shadow-window:0 24px 64px -24px rgb(34 34 92 / 22%),0 4px 12px rgb(34 34 92 / 6%);
  --ab-shadow-panel:0 16px 40px -16px rgb(34 34 92 / 24%),0 2px 8px rgb(34 34 92 / 6%);
  --ab-sans:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --ab-display:"Unbounded",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --ab-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  background:var(--ab-bg);color:var(--ab-ink);font:400 18px/1.55 var(--ab-sans);
  -webkit-font-smoothing:antialiased;position:relative;
}
.ab-page *,.ab-page *::before,.ab-page *::after{box-sizing:border-box}
.ab-page :where(h1,h2,h3,h4,p,figure,ul,ol,dl,dd){margin:0}
.ab-page :where(ul,ol){padding:0;list-style:none}
.ab-page img,.ab-page svg{display:block;max-width:100%}
.ab-page ::selection{background:var(--ab-sky);color:var(--ab-navy)}

/* контейнеры, сетка, сцены */
.ab-container{width:min(1180px,calc(100% - 2*var(--ab-gutter)));margin-inline:auto}
.ab-container--wide{width:min(1328px,calc(100% - 2*var(--ab-gutter)));margin-inline:auto}
.ab-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--ab-gap)}
.ab-grid>*{min-width:0}
.ab-scene{position:relative}
.ab-scene+.ab-scene{margin-top:var(--ab-scene-gap)}
.ab-scene--tint{padding-block:clamp(48px,5vw,64px)}
.ab-scene--paper{background:var(--ab-paper)}
.ab-scene--grey{background:var(--ab-surface-2)}
.ab-scene__head{margin-bottom:clamp(32px,3vw,40px)}
.ab-divider{border:0;border-top:1px solid var(--ab-line);margin:0}

/* типографика (семейства задаём явно: общий blog.css красит заголовки в Unbounded/тёмно-синий) */
.ab-page :where(h1,h2,h3,h4){font-family:var(--ab-sans);color:var(--ab-navy);word-break:normal;overflow-wrap:normal;hyphens:none;text-transform:none}
.ab-h1,.ab-page h1{font-family:var(--ab-display);font-weight:800;font-size:clamp(32px,16px + 2.5vw,52px);line-height:1.12;letter-spacing:-.035em;max-width:14ch}
.ab-h2,.ab-page h2{font-family:var(--ab-sans);font-weight:600;font-size:clamp(30px,20px + 1.6vw,44px);line-height:1.14;letter-spacing:-.025em;text-wrap:balance;max-width:22ch}
.ab-h3,.ab-page h3{font-family:var(--ab-sans);font-weight:600;font-size:clamp(21px,18px + .5vw,25px);line-height:1.25;letter-spacing:-.015em}
.ab-lead{font-size:clamp(18px,16px + .3vw,20px);line-height:1.5;max-width:54ch}
.ab-copy{max-width:54ch}
.ab-copy p+p{margin-top:14px}
.ab-caption{color:var(--ab-muted);font-size:13px;line-height:1.45}
.ab-eyebrow{color:var(--ab-muted);font-size:16px;line-height:1.4;margin-bottom:18px}
.ab-number{font-family:var(--ab-sans);font-weight:600;color:var(--ab-navy);font-size:clamp(36px,24px + 2vw,56px);line-height:1.05;letter-spacing:-.04em;font-variant-numeric:tabular-nums;white-space:nowrap}
.ab-strong{font-weight:600;color:var(--ab-navy)}
.ab-status-text{font-weight:600;font-size:16px;color:var(--ab-navy)}
.ab-mono{font-family:var(--ab-mono);font-weight:500;font-size:12px;line-height:1.4;font-variant-numeric:tabular-nums;letter-spacing:0}
.ab-page .ab-link,.ab-page .ab-copy a,.ab-page .ab-lead a{color:var(--ab-link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.ab-page .ab-link:hover,.ab-page .ab-copy a:hover{color:var(--ab-navy)}
.ab-page .ab-link--quiet{color:var(--ab-navy);text-decoration:none}
.ab-page .ab-link--quiet:hover{text-decoration:underline}
.ab-page :focus-visible{outline:2px solid var(--ab-blue);outline-offset:3px;border-radius:2px}
.ab-page .ab-button{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:8px;
  background:var(--ab-button);color:#fff;font:600 16px/1.2 var(--ab-sans);text-decoration:none;border:0;transition:background .2s}
.ab-page .ab-button:hover{background:#B8420F;color:#fff}
.ab-page .ab-button svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.ab-links{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center}
.ab-links a{min-height:44px;display:inline-flex;align-items:center}

/* ===== UI-компоненты (иллюстрации интерфейсов) ===== */
.ab-ui-window{background:var(--ab-surface);border:1px solid var(--ab-line);border-radius:16px;box-shadow:var(--ab-shadow-window);
  overflow:hidden;font:400 14px/1.45 var(--ab-sans);color:var(--ab-ink);text-align:left}
.ab-ui-panel{background:var(--ab-surface);border:1px solid var(--ab-line);border-radius:12px;box-shadow:var(--ab-shadow-panel);
  font:400 14px/1.45 var(--ab-sans);color:var(--ab-ink)}
.ab-ui-toolbar{display:flex;align-items:center;gap:12px;height:52px;padding:0 20px;border-bottom:1px solid var(--ab-line);background:var(--ab-surface)}
.ab-ui-toolbar .ab-ui-right{margin-left:auto;color:var(--ab-muted);font-size:13px}
.ab-ui-brand{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;color:var(--ab-navy)}
.ab-ui-brand img{width:20px;height:20px;border-radius:5px}
.ab-ui-sep{width:1px;height:20px;background:var(--ab-line)}
.ab-ui-title{font-weight:600;font-size:16px;line-height:1.35;color:var(--ab-navy)}
.ab-ui-sub{font-size:12px;line-height:1.4;color:var(--ab-muted)}
.ab-ui-meta{font-size:12px;line-height:1.4;color:var(--ab-muted)}
.ab-ui-meta .ab-mono{color:var(--ab-muted)}
.ab-ui-sidebar{background:var(--ab-surface-2);border-right:1px solid var(--ab-line);padding:12px 8px}
.ab-ui-nav{display:flex;align-items:center;gap:10px;height:40px;padding:0 12px;border-radius:6px;color:var(--ab-ink);font-size:14px}
.ab-ui-nav.is-active{background:var(--ab-selected);color:var(--ab-navy);font-weight:600}
.ab-ui-nav .ab-ui-icon{color:var(--ab-muted)}
.ab-ui-nav.is-active .ab-ui-icon{color:var(--ab-blue)}
.ab-ui-row{display:flex;align-items:center;gap:12px;min-height:48px;padding:12px 16px;border-bottom:1px solid var(--ab-line)}
.ab-ui-row:last-child{border-bottom:0}
.ab-ui-row.is-selected{background:var(--ab-selected);border-radius:6px;border-bottom-color:transparent}
.ab-ui-row .ab-ui-grow{flex:1;min-width:0}
.ab-ui-row .ab-ui-name{font-weight:600;color:var(--ab-navy);line-height:1.35}
.ab-ui-row .ab-ui-topic{color:var(--ab-muted);font-size:13px;line-height:1.35}
.ab-ui-row .ab-ui-time{color:var(--ab-muted);align-self:flex-start}
.ab-ui-section{padding:16px 20px}
.ab-ui-section+.ab-ui-section{border-top:1px solid var(--ab-line)}
.ab-ui-heading{font-size:12px;line-height:1.4;color:var(--ab-muted);margin-bottom:8px}
/* сообщение переписки */
.ab-ui-message{display:grid;gap:6px;max-width:440px}
.ab-ui-message+.ab-ui-message{margin-top:14px}
.ab-ui-message .ab-ui-meta{display:flex;gap:6px;align-items:baseline}
.ab-ui-message .ab-ui-bubble{padding:10px 14px;border-radius:8px;background:var(--ab-surface-2);line-height:1.45}
.ab-ui-message--us{margin-left:auto}
.ab-ui-message--us .ab-ui-bubble{background:var(--ab-selected)}
.ab-ui-message--us .ab-ui-meta{justify-content:flex-end}
.ab-ui-day{font-size:12px;color:var(--ab-muted);text-align:center;margin:4px 0 14px}
/* поле «название → значение» */
.ab-ui-field{display:grid;gap:3px;padding:12px 0}
.ab-ui-field+.ab-ui-field{border-top:1px solid var(--ab-line)}
.ab-ui-field .ab-ui-k{font-size:12px;line-height:1.4;color:var(--ab-muted)}
.ab-ui-field .ab-ui-v{font-weight:600;font-size:14px;line-height:1.4;color:var(--ab-navy);display:flex;align-items:center;gap:6px}
/* статус: значок + слово, без пилюль */
.ab-ui-status{display:inline-flex;align-items:center;gap:6px;font-size:13px;line-height:1.3;font-weight:500;white-space:nowrap}
.ab-ui-status .ab-ui-icon{width:14px;height:14px}
.ab-ui-status--done{color:var(--ab-done)}
.ab-ui-status--wait{color:var(--ab-wait)}
.ab-ui-status--work{color:var(--ab-work)}
.ab-ui-status--neutral{color:var(--ab-neutral)}
/* иконки: инлайн SVG viewBox 0 0 20 20, штрих 1.5 */
.ab-ui-icon{width:16px;height:16px;flex:0 0 auto;stroke:currentColor;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
/* звуковая дорожка голосового сообщения (статичная) */
.ab-ui-wave{display:flex;align-items:center;gap:3px;height:24px}
.ab-ui-wave i{display:block;width:3px;border-radius:2px;background:var(--ab-blue);opacity:.8}
/* корпус телефона */
.ab-ui-phone{width:min(304px,100%);border:4px solid var(--ab-navy);border-radius:36px;background:var(--ab-navy);padding:0}
.ab-ui-phone__screen{background:var(--ab-surface);border-radius:29px;overflow:hidden;font:400 14px/1.45 var(--ab-sans);color:var(--ab-ink)}
/* подпись под иллюстрацией */
.ab-ui-caption{margin-top:14px;color:var(--ab-muted);font-size:13px;line-height:1.45}

/* появление при прокрутке — только украшение: без JS и при reduced-motion всё видно сразу */
.ab-page.js .rv{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.ab-page.js .rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.ab-page.js .rv{opacity:1!important;transform:none!important;transition:none!important}}

/* адаптив: до 1099px сложные композиции складываются в столбец; до 767px перестраиваются сами интерфейсы */
@media(max-width:1099px){
  .ab-grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .ab-grid>*{grid-column:1 / -1 !important}
}
@media(max-width:767px){
  .ab-page{font-size:16px}
  .ab-page :where(h1){max-width:100%}
  .ab-scene--tint{padding-block:44px}
  .ab-ui-toolbar{padding:0 16px}
  .ab-ui-section{padding:14px 16px}
  .ab-ui-message{max-width:100%}
}

/* две цветные сцены подряд (серая автоматизация → бумажное приложение) стыкуются без полосы фона между ними */
.ab-scene--tint+.ab-scene--tint{margin-top:0}

/* ===== 10-hero.css ===== */
/* Сцена 1: hero — история компании, портрет руководителя и цифры.
   Декоративных цветных подложек нет (правка владельца): фон портрета — часть самой фотографии. */
.ab-hero{padding-top:clamp(40px,4vw,56px)}
.ab-hero__grid{align-items:center}
.ab-hero__text{grid-column:1 / 8}
.ab-page .ab-hero .ab-h1{max-width:none;font-size:clamp(30px,18px + 1.9vw,46px)}
.ab-hero__copy{margin-top:24px;max-width:56ch}
.ab-hero__copy p{font-size:clamp(17px,16px + .25vw,19px);line-height:1.55}
.ab-hero__copy p+p{margin-top:14px}
.ab-hero__partner{margin-top:20px;color:var(--ab-muted);font-size:16px;line-height:1.45}

/* портрет руководителя */
.ab-hero__person{grid-column:9 / -1;margin:0;min-width:0}
.ab-hero__photo{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;border-radius:16px;border:1px solid var(--ab-line);box-shadow:var(--ab-shadow-window)}
.ab-hero__person-caption{margin-top:14px}
.ab-hero__person-name{display:block;font-weight:600;font-size:18px;line-height:1.3;color:var(--ab-navy)}
.ab-hero__person-role{display:block;margin-top:2px;color:var(--ab-muted);font-size:15px;line-height:1.45}

/* цифры под hero */
.ab-hero__facts{margin-top:clamp(40px,4vw,56px)}
.ab-hero__facts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding-top:28px}
.ab-hero__fact{padding:6px 24px 6px 0}
.ab-hero__fact+.ab-hero__fact{border-left:1px solid var(--ab-line);padding-left:32px}
.ab-hero__fact dd{margin:10px 0 0;color:var(--ab-muted);font-size:16px;line-height:1.45;max-width:24ch}

/* адаптив */
@media(max-width:1099px){
  .ab-hero__grid{align-items:start}
  .ab-hero__person{max-width:320px}
}
@media(max-width:767px){
  .ab-hero{padding-top:28px}
  .ab-hero .ab-eyebrow{margin-bottom:12px}
  .ab-page .ab-hero .ab-h1{font-size:clamp(28px,7.4vw,34px)}
  .ab-hero__copy{margin-top:18px}
  .ab-hero__copy p{font-size:16px}
  .ab-hero__partner{margin-top:16px;font-size:15px}
  .ab-hero__person{max-width:260px}
  .ab-hero__facts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px}
  .ab-hero__fact{padding:0}
  .ab-hero__fact+.ab-hero__fact{border-left:0;padding-left:0}
  .ab-hero__fact--wide{grid-column:1 / -1;border-top:1px solid var(--ab-line);padding-top:20px}
}
@media(max-width:400px){
  .ab-page .ab-hero .ab-h1{font-size:27px}
  .ab-hero__person{max-width:100%}
}

/* ===== 15-scheme.css ===== */
/* Сцена 2: распределение задач между 1С и собственной автоматизацией. */
.ab-scheme__grid{align-items:center}
.ab-scheme__text{grid-column:1 / 7}
.ab-scheme__lead{margin-top:20px}
.ab-scheme__anchor{margin-top:20px;font-weight:600;color:var(--ab-navy)}
.ab-scheme__anchor a{display:inline-flex;align-items:center;gap:8px;min-height:44px}
.ab-scheme__anchor .ab-ui-icon{width:18px;height:18px}

.ab-scheme__product{grid-column:7 / -1;min-width:0}
.ab-scheme__visual{padding:24px}
.ab-scheme__visual-title{margin-bottom:18px}
.ab-scheme__core{display:flex;align-items:center;gap:16px;padding:14px 16px;border:1px solid var(--ab-line);border-radius:12px;background:var(--ab-surface-2)}
.ab-scheme__logo{width:60px;height:38px;object-fit:contain;flex:0 0 auto}
.ab-scheme__core-name{font-weight:600;font-size:16px;line-height:1.35;color:var(--ab-navy)}
.ab-scheme__rule{margin:20px 0 0}
.ab-scheme__group{margin:16px 0 4px}
.ab-scheme__item{padding-inline:0;align-items:flex-start}
.ab-scheme__item:last-child{border-bottom:0;padding-bottom:0}
.ab-scheme__item .ab-ui-icon{margin-top:3px;color:var(--ab-blue)}
.ab-scheme__item .ab-ui-name,.ab-scheme__item .ab-ui-topic{display:block}
.ab-scheme__caption{margin-top:14px}

@media(max-width:1099px){
  .ab-scheme__grid{align-items:start}
  .ab-scheme__visual{max-width:640px}
}
@media(max-width:767px){
  .ab-scheme__lead{margin-top:16px}
  .ab-scheme__anchor{margin-top:10px}
  .ab-scheme__anchor a{min-height:40px}
  .ab-scheme__visual{padding:20px}
}
@media(max-width:400px){
  .ab-scheme__visual{padding:16px}
  .ab-scheme__core{gap:12px;padding:12px}
  .ab-scheme__logo{width:48px;height:30px}
}

/* ===== 20-platform.css ===== */
/* Сцена 2 «Платформа» — рабочая среда бухгалтера целиком.
   Локальные правила блока; ядро (_core.css) не изменялось. */

/* --- заголовок сцены: 6 колонок, абзац 5 колонок с одной свободной между --- */
.ab-platform__title{grid-column:1 / span 6}
.ab-platform .ab-platform__title{max-width:none}  /* перебиваем .ab-page h2{max-width:22ch}: строки задаём <br> */
.ab-platform__lead{grid-column:8 / span 5;align-self:end;padding-bottom:4px}

/* --- окно платформы --- */
.ab-platform__figure{margin:0}
.ab-platform__window{border-radius:16px}
.ab-platform__body{
  display:grid;
  /* навигация 176px вместо 160px из ТЗ: при 160px слово «законодательства» упиралось в границу колонки */
  grid-template-columns:176px 216px minmax(0,1fr) 256px;
  height:452px;                     /* 52px панель + 452px ≈ 504px окна */
}

/* навигация */
.ab-platform__nav{padding:12px 6px}
.ab-platform__navline{display:none}
.ab-platform__navlist{display:grid;gap:2px}
.ab-platform .ab-ui-nav{height:auto;min-height:40px;padding:9px 10px;gap:8px;font-size:13px;align-items:flex-start}
.ab-platform .ab-ui-nav .ab-ui-icon{margin-top:2px}
.ab-platform .ab-ui-nav span{min-width:0;overflow-wrap:break-word}  /* страховка: не выпускать длинное слово в соседнюю колонку */

/* список диалогов */
.ab-platform__dialogs{border-right:1px solid var(--ab-line);padding:12px 8px;background:var(--ab-surface)}
.ab-platform__colhead{padding:0 8px;margin-bottom:6px}
.ab-platform__dialoglist{display:grid}
.ab-platform .ab-ui-row{padding:13px 8px;align-items:flex-start;gap:8px}
.ab-platform .ab-ui-grow{display:grid;gap:2px}
.ab-platform .ab-ui-name,.ab-platform .ab-ui-topic{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ab-platform .ab-ui-row .ab-ui-time{font-size:12px;line-height:1.4;color:var(--ab-muted);padding-top:1px}
.ab-platform__dialoglist .ab-ui-row:last-child{border-bottom:0}

/* открытая переписка */
.ab-platform__thread{display:flex;flex-direction:column;min-width:0;background:var(--ab-surface)}
.ab-platform__threadhead{padding:14px 20px;border-bottom:1px solid var(--ab-line)}
.ab-platform__messages{flex:1;min-height:0;display:flex;overflow:hidden;padding:16px 20px 20px}
.ab-platform__messagesinner{width:100%}
.ab-platform .ab-ui-message+.ab-ui-message{margin-top:16px}

/* правая панель разбора */
.ab-platform__parse{border-left:1px solid var(--ab-line);background:var(--ab-surface);padding:14px 20px 18px;overflow:hidden}
.ab-platform__parsehead{padding-bottom:12px;border-bottom:1px solid var(--ab-line)}
.ab-platform__parsetitle{font-size:15px}
.ab-platform__fields .ab-ui-field:first-child{padding-top:14px}
.ab-platform__fields .ab-ui-v{flex-wrap:wrap}
.ab-platform__fields .ab-ui-icon{color:var(--ab-blue)}

/* --- адаптив --- */
@media(max-width:1099px){
  .ab-platform__body{grid-template-columns:176px 204px minmax(0,1fr) 240px;height:492px}
  .ab-platform__parse{padding-inline:16px}
  .ab-platform__threadhead,.ab-platform__messages{padding-inline:16px}
}
@media(max-width:899px){
  .ab-platform__body{grid-template-columns:176px minmax(0,1fr) 240px}
  .ab-platform__dialogs{display:none}
}
@media(max-width:767px){
  .ab-platform__body{grid-template-columns:minmax(0,1fr);height:auto}
  .ab-platform .ab-ui-toolbar .ab-ui-right{display:none}  /* не дублируем: раздел назван строкой навигации ниже */
  .ab-platform__nav{border-right:0;border-bottom:1px solid var(--ab-line);padding:0}
  .ab-platform__navlist{display:none}
  .ab-platform__navline{display:block;padding:12px 16px;font-size:13px;line-height:1.4;color:var(--ab-muted)}
  .ab-platform__threadhead{padding:14px 16px}
  .ab-platform__messages{display:block;padding:16px}
  .ab-platform__parse{border-left:0;border-top:1px solid var(--ab-line);padding:14px 16px 16px}
  .ab-platform .ab-ui-message{max-width:100%}
}

/* ревью astra: на планшете список диалогов скрываем уже с 1099px, иначе переписке остаётся ~220px */
@media (min-width:768px) and (max-width:1099px){
  .ab-platform__body{grid-template-columns:176px minmax(0,1fr) 240px;height:auto;min-height:452px}
  .ab-platform__dialogs{display:none}
  .ab-platform__messages,.ab-platform__parse{overflow:visible}
}

/* ===== 30-automation.css ===== */
/* Сцена 3 «Автоматизация» — разбор обращения и ежедневный радар источников.
   Локальные правила блока; ядро (_core.css) не изменялось. */

/* заголовок в две строки требует девяти колонок (вторая строка длиннее первой),
   поэтому абзац встаёт под ним слева — голова сцены отличается от сцены 2 */
.ab-automation__title{grid-column:1 / span 9}
.ab-automation .ab-automation__title{max-width:none}  /* перебиваем .ab-page h2{max-width:22ch}: строки задаём <br> */
.ab-automation__lead{grid-column:1 / span 6}

/* две разные по размеру зоны: слева 7 колонок, справа 5 */
.ab-automation__zones{align-items:start}
.ab-automation__zone--flow{grid-column:1 / span 7}
.ab-automation__zone--radar{grid-column:8 / span 5}
.ab-automation__zonetitle{margin-bottom:16px}
.ab-automation__figure{margin:0}

/* --- левая зона: расшифровка → поля --- */
.ab-automation__source{padding:20px 24px 22px;background:var(--ab-surface-2);border-bottom:1px solid var(--ab-line)}
.ab-automation__from{margin-bottom:4px}
.ab-automation__kind{margin-bottom:14px}
.ab-automation__voice{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--ab-surface);
  border:1px solid var(--ab-line);border-radius:8px}
.ab-automation__voice>.ab-ui-icon{color:var(--ab-navy)}
.ab-automation__voice .ab-ui-wave{flex:0 1 auto;min-width:0;overflow:hidden}
.ab-automation__dur{color:var(--ab-muted);margin-left:auto;padding-left:12px}
.ab-automation__quote{margin-top:16px}
.ab-automation__text{font-size:14px;line-height:1.5;color:var(--ab-ink);max-width:52ch}

/* связка двух частей одного процесса */
.ab-automation__link{display:flex;flex-direction:column;align-items:center;width:24px;margin:0 0 0 24px;padding:14px 0 10px}
.ab-automation__linkline{width:1px;height:22px;background:var(--ab-line)}
.ab-automation__linkarrow{color:var(--ab-blue);width:14px;height:14px;margin-top:-5px}

/* результат разбора */
.ab-automation__result{padding:4px 24px 20px;background:var(--ab-surface)}
.ab-automation__field{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 20px;align-items:baseline;padding:12px 0}
.ab-automation__field+.ab-automation__field{border-top:1px solid var(--ab-line)}
.ab-automation__k{font-size:12px;line-height:1.4;color:var(--ab-muted)}
.ab-automation__v{font-weight:600;font-size:14px;line-height:1.4;color:var(--ab-navy);display:flex;align-items:center;gap:6px}
.ab-automation__v .ab-ui-icon{color:var(--ab-blue)}

/* --- правая зона: журнал радара --- */
.ab-automation__radarhead{padding:16px 20px 14px;border-bottom:1px solid var(--ab-line)}
.ab-automation__radarlist{display:grid}
.ab-automation .ab-ui-row{gap:14px;min-height:58px;padding:14px 20px}
.ab-automation .ab-ui-grow{display:grid}
.ab-automation__time{color:var(--ab-muted);width:38px;text-align:right}
.ab-automation__note{padding:12px 20px 14px;border-top:1px solid var(--ab-line);background:var(--ab-surface-2);
  color:var(--ab-muted);font-size:12px;line-height:1.4}

/* --- адаптив --- */
@media(max-width:1099px){
  /* ядро складывает .ab-grid в одну колонку: сначала процесс, затем радар.
     Окна не растягиваем на всю ширину — иначе строки коротки, а справа пусто */
  .ab-automation__zone--radar{margin-top:8px}
  .ab-automation__flow{max-width:720px}
  .ab-automation__radar{max-width:560px}
  .ab-automation__figure .ab-ui-caption{max-width:720px}
}
@media(max-width:767px){
  .ab-automation__source{padding:16px 16px 18px}
  .ab-automation__result{padding:2px 16px 16px}
  .ab-automation__link{margin-left:16px}
  .ab-automation__field{grid-template-columns:minmax(0,1fr);gap:3px;padding:11px 0}
  .ab-automation__radarhead{padding:14px 16px 12px}
  .ab-automation .ab-ui-row{padding:12px 16px;gap:10px;min-height:54px}
  .ab-automation__note{padding:12px 16px}
  .ab-automation__voice{gap:10px;padding:9px 12px}
}

/* принцип работы: роботы + проверка человеком (позиция, которую конкуренты не занимают) */
.ab-automation__principle{margin-top:24px;padding-left:16px;border-left:2px solid var(--ab-blue);max-width:76ch;font-size:clamp(16px,15px + .25vw,18px);line-height:1.55;color:var(--ab-ink)}
@media(max-width:767px){.ab-automation__principle{margin-top:20px;font-size:16px}}

/* ===== 40-app.css ===== */
/* Сцена 4. Клиентское приложение. Локальные стили, префикс .ab-app.
   Персиковая плоскость и телефон лежат в одной ячейке grid — без absolute,
   поэтому на узком экране композиция не разъезжается. */

.ab-app__inner{align-items:center}
/* текст стоит в разметке первым (порядок для телефона), но занимает правые колонки,
   поэтому обеим частям явно задана первая строка сетки — иначе автопоток уводит телефон на вторую */
.ab-app__text{grid-column:7 / 13;grid-row:1;align-self:center}
.ab-app__status{margin-top:14px}
.ab-app__lead{margin-top:16px}

/* сцена: телефон в колонках 2–5, за ним персиковый прямоугольник со сдвигом 32px вправо */
.ab-app__stage{grid-column:2 / 6;grid-row:1;display:grid;grid-template-columns:minmax(0,auto);justify-items:start;align-items:center;background:none}
.ab-app__figure{grid-area:1 / 1;position:relative;z-index:1;margin:0}

/* корпус и экран */
.ab-app__device{box-shadow:var(--ab-shadow-window)}
.ab-app__screen{display:flex;flex-direction:column}
.ab-app__caption{max-width:360px}

/* шапка приложения */
.ab-app__top{display:flex;flex-direction:column;gap:4px;padding:18px 16px 14px;border-bottom:1px solid var(--ab-line)}
.ab-app__head{padding:16px 16px 12px}
.ab-app__head .ab-ui-sub{margin-top:2px}

/* список документов */
.ab-app__list{padding:0 8px 10px}
.ab-app__list .ab-ui-row{min-height:56px;padding:11px 8px;gap:10px;border-bottom:1px solid var(--ab-line)}
.ab-app__list .ab-ui-row:last-child{border-bottom:0}
.ab-app__list .ab-ui-row>.ab-ui-icon{color:var(--ab-muted)}
.ab-app__list .ab-ui-row.is-selected>.ab-ui-icon{color:var(--ab-blue)}
.ab-app__list .ab-ui-name,.ab-app__list .ab-ui-grow .ab-ui-sub{display:block}
.ab-app__list .ab-ui-name{font-size:14px}
.ab-app__list .ab-ui-status{font-size:12px}

/* выбранный документ */
.ab-app__doc{padding:16px;border-top:1px solid var(--ab-line);background:var(--ab-surface-2)}
.ab-app__doc-name{font-weight:600;font-size:15px;line-height:1.35;color:var(--ab-navy)}
.ab-app__file{margin-top:6px;color:var(--ab-muted)}
.ab-app__doc-field{padding:12px 0 0;margin-top:10px;border-top:1px solid var(--ab-line)}
.ab-app__doc-status{color:var(--ab-wait)}
.ab-app__doc-status .ab-ui-icon{width:14px;height:14px}

/* нижняя навигация — нарисованная, не интерактивная */
.ab-app__nav{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ab-line);background:var(--ab-surface-2)}
.ab-app__nav-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 4px 14px;font-size:12px;line-height:1.3;color:var(--ab-muted)}
.ab-app__nav-item .ab-ui-icon{width:20px;height:20px}
.ab-app__nav-item.is-active{color:var(--ab-navy);font-weight:600}
.ab-app__nav-item.is-active .ab-ui-icon{color:var(--ab-blue)}

@media(max-width:1099px){
  .ab-app__text{align-self:auto;grid-row:auto}
  .ab-app__stage{grid-row:auto;justify-items:start}
  /* плоскость остаётся за телефоном и не вылезает за контейнер */
}
@media(max-width:767px){
}

/* ревью astra: статус «На проверке» в подробностях документа — тем же цветом, что в списке */
.ab-app .ab-ui-field .ab-app__doc-status{color:var(--ab-wait)}

/* правка владельца: декоративная персиковая плоскость убрана — глубину даёт только тень телефона */

/* ===== 50-bot.css ===== */
/* Сцена 5. Бот и калькуляторы. Локальные стили, префикс .ab-bot. */

.ab-bot__inner{align-items:center}
.ab-bot__text{grid-column:1 / 6;align-self:center}
.ab-bot__lead{margin-top:16px}
.ab-bot__note{margin-top:12px;color:var(--ab-muted);font-size:16px;line-height:1.5;max-width:46ch}
.ab-bot__links{margin-top:26px;gap:8px 22px}

/* окно диалога стоит прямо на фоне страницы, без корпуса телефона */
.ab-bot__product{grid-column:6 / 13}
.ab-bot__figure{margin:0}
.ab-bot__window{width:min(600px,100%);margin-left:auto}
.ab-bot__toolbar{height:auto;min-height:64px;padding-block:12px;gap:10px}
.ab-bot__mark{gap:0}
.ab-bot__who{display:flex;flex-direction:column;gap:1px;min-width:0}
.ab-bot__conversation{padding:22px 24px 26px}
.ab-bot__message .ab-ui-bubble{font-size:15px;line-height:1.5}
.ab-bot__message+.ab-bot__message{margin-top:16px}
.ab-bot__caption{width:min(600px,100%);margin-left:auto}

/* калькуляторы — открытая полоса с верхним разделителем, без карточек */
.ab-bot__tools{margin-top:40px}
.ab-bot__tools-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px 32px;padding-top:18px}
.ab-bot__tools-title{font-size:18px;line-height:1.4;letter-spacing:-.01em;font-weight:600}
.ab-bot__tools-links{gap:4px 28px}

@media(max-width:1099px){
  .ab-bot__text{align-self:auto}
  .ab-bot__window,.ab-bot__caption{margin-left:0}
}
@media(max-width:767px){
  .ab-bot__note{font-size:15px}
  .ab-bot__conversation{padding:18px 16px 22px}
  .ab-bot__message{max-width:94%}
  .ab-bot__message .ab-ui-bubble{font-size:14px}
  .ab-bot__tools-row{display:block}
  .ab-bot__tools-links{flex-direction:column;align-items:flex-start;gap:0;margin-top:6px}
  .ab-bot__tools-links a{min-height:44px}
}

/* ревью astra: .ab-page h3 специфичнее локального класса — задаём размер полосы калькуляторов явно */
.ab-page .ab-bot__tools-title{font-size:18px;line-height:1.4;letter-spacing:-.01em;font-weight:600}

/* ===== 55-saas.css ===== */
/* Сцена 6 «SaaS-направление». Открытая карта строк: подписи колонок, тонкие разделители,
   вертикальный ритм 24px. Ни карточек, ни теней, ни скриншотов — сцена отличается по
   устройству от соседних, где показаны большие интерфейсы. Состояния — штатный
   .ab-ui-status (значок + слово), без пилюль и подложек. */

/* колонки 3 / 6 / 3 в общей 12-колоночной сетке */
.ab-saas__label--who,.ab-saas__who{grid-column:span 3}
.ab-saas__label--product,.ab-saas__product{grid-column:span 6}
.ab-saas__label--state,.ab-saas__state{grid-column:span 3}

.ab-saas__lead{margin-top:16px}

/* подписи колонок — обычным регистром, приглушённые */
.ab-saas__labels{padding-bottom:10px}
.ab-saas__label{color:var(--ab-muted);font-size:14px;line-height:1.4}

.ab-saas__list{border-top:1px solid var(--ab-line)}
.ab-saas__row{align-items:baseline;padding-block:24px;border-bottom:1px solid var(--ab-line)}

.ab-saas__who{color:var(--ab-muted);font-size:16px;line-height:1.4}

.ab-saas__name{font-size:clamp(22px,19px + .45vw,25px)}
/* ширину описания на десктопе задаёт сама колонка: короткие пояснения ложатся в одну строку */
.ab-saas__desc{margin-top:6px;font-size:16px;line-height:1.5;color:var(--ab-ink)}

/* состояние: перенос разрешён, значок держится у первой строки */
.ab-saas__state .ab-ui-status{white-space:normal;align-items:flex-start;font-size:14px;line-height:1.35}
.ab-saas__state .ab-ui-icon{margin-top:3px}

/* до 1099px строка складывается: аудитория → продукт с описанием → состояние */
@media(max-width:1099px){
  .ab-saas__labels{display:none}
  .ab-saas .ab-grid{gap:8px}
  .ab-saas__row{align-items:stretch}
  .ab-saas__desc{max-width:52ch}          /* в столбец описание не растягивается на всю ширину */
  .ab-saas__state{margin-top:4px}
}
@media(max-width:767px){
  .ab-saas__who{font-size:15px}
  .ab-saas__desc{font-size:16px}
}
@media(max-width:400px){
  .ab-saas__name{font-size:21px}
  .ab-saas__desc{margin-top:4px}
}

/* ===== 60-partners.css ===== */
/* Сцена 7 «Партнёрства и интеграции».
   Композиция: сверху логотипы (слева белая панель 1С, справа открытая группа банков),
   ниже — карта работающих связей в одной белой поверхности, под ней строка истории.
   Логотипы подключены файлами, в родных цветах: ни filter, ни opacity, ни подкраски.
   Размеры <img> совпадают с собственными пропорциями файлов, поэтому object-fit:contain
   ничего не обрезает и не оставляет полей — радиус и выравнивание считаются точно.
   Внутри карты нет ссылок, кнопок и полей: это иллюстрация.
   Ядро (_core.css) не изменялось. */

.ab-partners .ab-partners__title{max-width:none}   /* перебиваем h2{max-width:22ch}: строки задаёт <br> */
.ab-partners__lead{margin-top:14px}

/* --- общий вид подзаголовков сцены --- */
.ab-partners h3.ab-partners__subtitle{font-size:18px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--ab-navy)}

/* --- верх: логотипы --- */
.ab-partners__top{align-items:start}
.ab-partners__base{grid-column:1 / span 6;padding:24px}
.ab-partners__banks{grid-column:7 / span 6;padding-top:25px}  /* 24px паддинга панели + 1px её границы: заголовки колонок на одной линии */

.ab-partners__marks{display:flex;flex-wrap:wrap;align-items:center;gap:20px 40px;margin:24px 0 26px}
.ab-partners__basetext{display:grid;gap:6px;margin-top:20px;font-size:16px;line-height:1.45;color:var(--ab-ink)}

/* область логотипа: габарит задан на <img>, object-fit:contain держит пропорции файла */
.ab-partners__logo{display:flex;flex:0 0 auto;align-items:center}
.ab-partners__logo img{object-fit:contain;object-position:left center}
.ab-partners__logo--bo img{border-radius:8px}    /* у файла своя жёлтая подложка — скругляем её края */

/* --- банки: открытая группа без панели --- */
/* на широком экране группа занимает всю свою колонку — правый край сходится с картой ниже */
.ab-partners__banklist{display:flex;flex-wrap:wrap;justify-content:space-between;gap:26px 36px;margin-top:24px}
.ab-partners__bank{display:grid;gap:14px;justify-items:start}
.ab-partners__logo--bank{height:26px}
.ab-partners__logo--bank img{max-height:26px}
.ab-partners__bankname{font-size:15px;line-height:1.3;font-weight:600;color:var(--ab-navy)}

/* --- карта связей --- */
.ab-partners__map{margin-top:40px}
.ab-partners__maptitle{margin-bottom:16px}
.ab-partners__window{display:block}

/* строка 1 — по высоте названия, строка 2 забирает остаток: иначе высокий маршрут,
   растянутый на обе строки, раздвигал бы первую и пояснение отрывалось от названия */
.ab-partners__route{display:grid;grid-template-columns:minmax(0,286px) minmax(0,1fr);
  grid-template-rows:auto minmax(0,1fr);column-gap:32px;row-gap:8px;
  grid-template-areas:"name flow" "note flow";align-items:start;padding:22px 24px;border-bottom:1px solid var(--ab-line)}
.ab-partners__route:last-child{border-bottom:0}

.ab-partners h4.ab-partners__routename{grid-area:name;display:flex;align-items:center;gap:10px;
  font-size:16px;line-height:1.3;font-weight:600;letter-spacing:-.01em;color:var(--ab-navy)}
.ab-partners__routename .ab-ui-icon{color:var(--ab-blue)}
.ab-partners__routenote{grid-area:note;color:var(--ab-muted);font-size:14px;line-height:1.45;max-width:46ch}

/* на широком экране маршрут занимает всю колонку: узлы по краям, связь тянется между ними */
.ab-partners__flow{grid-area:flow;align-self:center;display:flex;flex-wrap:nowrap;align-items:center;gap:0}

/* узел маршрута: карточка схемы (радиус 8 — уровень карточки), не пилюля и не кнопка */
.ab-partners__node{flex:0 1 auto;min-width:0;max-width:100%;padding:10px 14px;
  border:1px solid var(--ab-line);border-radius:8px;background:var(--ab-surface-2);
  font-size:14px;line-height:1.35;color:var(--ab-ink)}
.ab-partners__node--ours{background:var(--ab-selected);border-color:#C7DCF4;color:var(--ab-navy);font-weight:600}
.ab-partners__node--stack{display:grid;gap:3px}
.ab-partners__api{font-weight:400;font-size:12px;line-height:1.4;color:var(--ab-muted)}
.ab-partners__api .ab-mono{color:var(--ab-link)}

/* связь: линия + наконечник. У маршрута бота наконечника нет — направление не утверждаем */
.ab-partners__link{flex:1 1 32px;min-width:32px;margin-inline:12px;display:inline-flex;align-items:center;color:var(--ab-blue)}
.ab-partners__line{flex:1 1 auto;width:auto;min-width:16px;height:1px;background:currentColor;opacity:.55}
.ab-partners__tip{width:14px;height:14px;flex:0 0 auto;margin-left:-5px;stroke:currentColor;fill:none;
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ab-partners__link--plain{color:var(--ab-muted)}
.ab-partners__link--plain .ab-partners__line{opacity:.75}

/* --- история компании --- */
.ab-partners__history{margin-top:36px}
.ab-partners__historyrow{display:flex;align-items:center;gap:20px;padding-top:22px}
.ab-partners__historytext{display:grid;gap:4px;min-width:0}
.ab-partners__historynote{font-size:16px;line-height:1.45;color:var(--ab-ink)}

/* --- адаптив --- */
/* до 1099px колонки складывает ядро (.ab-grid → одна колонка); маршрут переносится по словам */
@media(max-width:1099px){
  .ab-partners__banks{padding-top:0}
  .ab-partners__banklist{justify-content:flex-start}   /* колонка стала во всю ширину — растягивать группу больше нечем */
  .ab-partners__base{max-width:640px}
  .ab-partners__route{grid-template-columns:minmax(0,250px) minmax(0,1fr);column-gap:24px;padding:20px}
}

/* ниже 900px тянуть связь через строку уже нечем, а перенос по словам оставлял бы стрелку
   в конце строки без получателя — поэтому маршрут разворачивается сверху вниз */
@media(max-width:900px){
  .ab-partners__flow{align-self:stretch;flex-direction:column;align-items:stretch;gap:0}
  .ab-partners__node{flex:0 0 auto;width:100%}
  .ab-partners__link{align-self:center;flex:0 0 auto;min-width:0;margin-inline:0;flex-direction:column;padding:7px 0}
  .ab-partners__line{flex:0 0 auto;width:1px;height:18px;min-width:0}
  .ab-partners__tip{margin:-6px 0 0;transform:rotate(90deg)}
  .ab-partners__link--plain .ab-partners__line{width:1px;height:24px}
}

/* до 767px пояснение уходит под маршрут: название → источник → связь → получатель → пояснение */
@media(max-width:767px){
  .ab-partners__base{padding:16px}
  .ab-partners__marks{gap:18px 32px;margin:20px 0 22px}
  .ab-partners__basetext{margin-top:18px;font-size:15px}

  .ab-partners__route{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto;
    grid-template-areas:"name" "flow" "note";row-gap:14px;padding:18px 16px}
  .ab-partners__routenote{max-width:none}

  .ab-partners__historyrow{gap:16px;padding-top:20px}
  .ab-partners__historynote{font-size:15px}
}

/* 390/320px: логотипы банков идут по одному с названием, картинки группы 1С — друг под другом */
@media(max-width:480px){
  .ab-partners__banklist{flex-direction:column;gap:22px}
  .ab-partners__marks{flex-direction:column;align-items:flex-start;gap:18px}
}
@media(max-width:400px){
  .ab-partners__route{padding:16px 14px}
  .ab-partners__node{padding:10px 12px}
  .ab-partners__historyrow{flex-direction:column;align-items:flex-start;gap:14px}
}

/* ===== 70-responsibility.css ===== */
/* Сцена 7 «Ответственность» + контакты. Акцент сцены — страховая сумма:
   крупная, navy, без обводки, подложки и свечения. Факты — открытые строки
   с тонкими разделителями, без иконок. Кнопок, форм и призывов здесь нет. */

.ab-responsibility{padding-bottom:clamp(56px,6vw,88px)}   /* воздух до общего подвала */

.ab-responsibility__amount{grid-column:span 5}
.ab-responsibility__sum{font-weight:600;color:var(--ab-navy);
  font-size:clamp(52px,24px + 5vw,96px);line-height:1.02;letter-spacing:-.045em;
  font-variant-numeric:tabular-nums;white-space:nowrap}
.ab-responsibility__sum-note{margin-top:18px;font-size:18px;line-height:1.5;color:var(--ab-ink);max-width:40ch}

/* между колонками — одна свободная колонка */
.ab-responsibility__facts{grid-column:7 / span 6;padding-top:6px}
.ab-responsibility__fact+.ab-responsibility__fact{margin-top:24px;padding-top:24px;border-top:1px solid var(--ab-line)}
.ab-responsibility__term{font-weight:600;font-size:20px;line-height:1.3;letter-spacing:-.015em;color:var(--ab-navy)}
.ab-responsibility__text{margin-top:6px;font-size:18px;line-height:1.5;color:var(--ab-ink);max-width:46ch}

/* контактная строка: 40px, верхний разделитель, действующие ссылки без кнопок */
.ab-responsibility__contacts{margin-top:40px;padding-top:20px;border-top:1px solid var(--ab-line);
  display:flex;flex-wrap:wrap;align-items:center;gap:4px 40px}
.ab-page .ab-responsibility__contacts a{display:inline-flex;align-items:center;min-height:44px;
  font-weight:600;font-size:clamp(18px,17px + .2vw,20px);line-height:1.3;letter-spacing:-.01em}
.ab-responsibility__phone{font-variant-numeric:tabular-nums}

/* в столбец: факты отделяются от суммы такой же линией, что и друг от друга */
@media(max-width:1099px){
  .ab-responsibility__facts{padding-top:24px;border-top:1px solid var(--ab-line)}
}
@media(max-width:767px){
  .ab-responsibility__term{font-size:19px}
  .ab-responsibility__text{font-size:16px}
  .ab-responsibility__sum-note{font-size:17px}
  .ab-responsibility__contacts{flex-direction:column;align-items:stretch;gap:0}
  .ab-page .ab-responsibility__contacts a{width:100%}
}

/* реквизиты компании — так делают Профдело, Деловая среда, DaData: подпись взрослой компании */
.ab-responsibility__legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--ab-line);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 24px}
.ab-responsibility__legal>div{min-width:0}
.ab-responsibility__legal dt{color:var(--ab-muted);font-size:14px;line-height:1.4;margin-bottom:4px}
.ab-responsibility__legal dd{margin:0;font-size:15px;line-height:1.45;color:var(--ab-ink)}
.ab-responsibility__legal .ab-mono{font-size:15px;color:var(--ab-ink)}
.ab-responsibility__contacts{margin-top:28px}
@media(max-width:900px){.ab-responsibility__legal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.ab-responsibility__legal{grid-template-columns:minmax(0,1fr);gap:16px}}
