/* =====================================================================
   Итогия (10.10.2026) — оформление бренда.
   Палитра: графит знака #17181A + жёлтый шар/точка #FFE24A; фон первого
   экрана — то же небо с шёлковой лентой, что в CRM (обшивка «Flux»,
   слои assets/flux/*.webp — те же файлы, что frontend/public/backdrop).
   Подключается ПОСЛЕДНИМ на каждой странице: только переопределения.
   ===================================================================== */
:root{
  /* Второй цвет — небесно-голубой из неба CRM (10.10.2026: «небесно голубой мне нравится»). */
  --primary:#3F72B0;            /* ссылки, плашки, линии — контраст 4.8 на белом */
  --primary-press:#2F5C93;
  --primary-2:#9CC3EE;          /* голубой на тёмных блоках */
  --tint:#EAF1FA;
  --tint-2:#DCE8F5;
  --sky:#3F72B0;
  --sky-soft:#DCE8F5;
  --itg-yellow:#FFE24A;
  --itg-yellow-deep:#F2CD1C;
}
::selection{background:#FFF1A6;color:var(--ink);}

/* ---------- Небо CRM на первом экране ---------- */
.hero{color:var(--ink);background:linear-gradient(115deg,#dbe3ea 0%,#e8ebee 45%,#eceeee 100%);}
.itg-sky{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;border-radius:inherit;}
.itg-sky > *{position:absolute;will-change:transform;}
.itg-sky .itg-wash{inset:-10%;
  background:
    radial-gradient(55% 60% at 6% 22%, rgba(150,186,222,.85), rgba(150,186,222,0) 70%),
    radial-gradient(50% 55% at 2% 88%, rgba(200,214,228,.9), rgba(200,214,228,0) 70%),
    radial-gradient(45% 40% at 38% 104%, rgba(232,240,190,.85), rgba(232,240,190,0) 70%),
    radial-gradient(60% 55% at 100% 8%, rgba(236,238,240,1), rgba(236,238,240,0) 70%),
    linear-gradient(115deg,#dbe3ea 0%,#e8ebee 45%,#eceeee 100%);
  animation:itgBreath 16s ease-in-out infinite alternate;}
.itg-sky img{inset:-6%;width:112%;height:112%;max-width:none;max-height:none;object-fit:cover;object-position:50% 50%;}
.itg-sky .itg-shadow{animation:itgShadow 26s ease-in-out infinite alternate;}
.itg-sky .itg-warm{animation:itgWarm 22s ease-in-out infinite alternate;transform-origin:70% 30%;}
.itg-sky .itg-silk{animation:itgSilk 18s ease-in-out infinite alternate;transform-origin:45% 25%;}
@keyframes itgShadow{0%{transform:translate(0,0) scale(1);}100%{transform:translate(2.5%,-2%) scale(1.06);}}
@keyframes itgWarm{0%{transform:translate(-1.5%,1%) rotate(-3deg) scale(1);}100%{transform:translate(2%,-1.5%) rotate(4deg) scale(1.05);}}
@keyframes itgSilk{0%{transform:translate(0,0) rotate(0) scale(1);}50%{transform:translate(1.2%,-.8%) rotate(2.5deg) scale(1.025);}100%{transform:translate(-1%,1%) rotate(-2deg) scale(1.01);}}
@keyframes itgBreath{0%{transform:translate(0,0);}100%{transform:translate(2%,-1.5%);}}
/* Телефон — как в CRM: лента крупнее и один неподвижный кадр (плывущие слои
   во весь экран дают рывки прокрутки). */
@media (max-width:640px){
  .itg-sky img{inset:-6% -60% -6% -40%;width:200%;height:112%;}
  .itg-sky > *{animation:none !important;will-change:auto;}
  .itg-sky .itg-warm{transform:translate(-1.5%,1%) rotate(-3deg);}
}
@media (prefers-reduced-motion:reduce){.itg-sky > *{animation:none !important;}}
.hero-bg{z-index:1;}

/* Текст первого экрана — графитом (был белым на сиреневом). */
.hero-display{color:var(--ink);}
.hero-line{background:linear-gradient(90deg,rgba(23,24,26,.22),rgba(23,24,26,.22) 90%,rgba(23,24,26,0));}
.hero-vnav a{color:rgba(23,24,26,.45);}
.hero-vnav a:hover,.hero-vnav a.on{color:rgba(23,24,26,.92);}

/* ---------- Знак и имя ---------- */
.nav-brand{color:var(--ink);font-family:var(--ui);font-weight:700;}
.nav-brand::after,.foot-brand .nav-brand::after{content:".";color:var(--itg-yellow);margin-left:-11px;}
.nav-logo{border-radius:9px;}
.brand-dot{color:var(--itg-yellow);}

/* ---------- Жёлтый — там, где «горячее» (как шар и точка знака) ---------- */
.dash-chart i.hot,.sc-bars i.hot,.sl-chart i.hot,.swh-chart i.hot{background:linear-gradient(180deg,#FFE24A,#F2CD1C);}
.sc-prog .fill{background:linear-gradient(90deg,#FFE24A,#F2CD1C);}
.cursor-dot{background:var(--itg-yellow);box-shadow:0 1px 6px rgba(23,24,26,.35);}
.demo-feat h4 .d{background:var(--itg-yellow);}
.marquee.accent-strip{background:#17181A;}

/* ---------- Финальный призыв — то же небо ---------- */
.cta{background:linear-gradient(115deg,#dbe3ea 0%,#e8ebee 45%,#eceeee 100%);}
.cta::before{display:none;}
.cta .wrap{position:relative;z-index:2;}
.cta-title .it{color:var(--ink);}

/* Большая бегущая строка: была голубой. */
.marquee.big .mq-item{color:#C6CDD5;}
.marquee.big .mq-item em{color:var(--ink);}

/* ---------- Главная кнопка — жёлтая с тёмным текстом, как в CRM ---------- */
.btn-primary{background:var(--itg-yellow);color:#17181A;box-shadow:0 14px 30px -10px rgba(214,170,0,.55),inset 0 1px 0 rgba(255,255,255,.45);}
.btn-primary:hover{background:var(--itg-yellow-deep);color:#17181A;box-shadow:0 20px 40px -12px rgba(214,170,0,.6);}
.btn-primary svg,.btn-primary .arr{color:#17181A;}

/* ---------- Подписи колонок подвала — текст, а не заголовок (10.10.2026) ----------
   Были <h5> сразу после <h2>: скачок H2→H5 ломает структуру заголовков для поиска.
   Вид прежний — правила повторяют .foot-col h5 / .contact-card h5. */
.foot-col .h5{font:600 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:rgba(49,55,63,.5);margin-bottom:20px;}
.contact-card .h5{font:600 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--dk-ink-3);margin-bottom:12px;}
@media (max-width:760px){
  .foot > .foot-col:last-child .h5{grid-column:1 / -1;}
  .foot-col .h5{font-size:16px;}
}

/* Контраст подписей в мини-дашборде первого экрана: #9C97A8 на белом давал 2,6–2,8
   (норма — 4,5). Тон тот же, на ступень темнее. */
.browser-bar .url,.dash-h-sub,.dash-stat .k,.dash-stat .v span{color:#6B6679;}
/* Хлебные крошки и подвал статей: серый #9C97A8 не проходил по контрасту,
   а ссылки подвала отличались от текста только цветом — добавлено подчёркивание. */
.bl-crumbs span,.bl-artmeta,.bl-body figcaption,.bl-toc b,.bl-meta,.bl-next span,.lg-toc-h,.lg-doc .lg-meta{color:#6B6679;}
.bl-tag{color:#2A5486;}
.bl-foot{color:#6B6679;}
.bl-foot a{text-decoration:underline;text-underline-offset:2px;}

/* ---------- /web: стандарты вместо отзывов-заглушек, ссылки в кейсах (10.10.2026) ---------- */
.rev-std .rev-num{font:700 clamp(30px,2.6vw,40px)/1 var(--ui);letter-spacing:-.03em;color:var(--primary);}
.rev-std .rev-q{font-style:normal;}
.rev-tag{display:inline-flex;font:600 12px/1 var(--ui);letter-spacing:.08em;text-transform:uppercase;color:#17181A;background:#FFE24A;border-radius:100px;padding:8px 12px;}
.work-cover{position:absolute;inset:0;z-index:3;border-radius:inherit;}
.work-cover:focus-visible{outline:2px solid #FFE24A;outline-offset:3px;}
/* значок первого экрана: факт вместо рейтинга — без звёзд */
.rate-call svg,.hero-rating .rate-badge svg{filter:none;}
/* подпись значка первого экрана — на светлом небе графитом (была белой) */
.hero-rating .rate-text{color:var(--ink);}
.hero-rating:hover .rate-text{color:var(--ink);}
@media (max-width:760px){.hero-rating .rate-text{color:var(--ink);}}
/* экраны телефона («Экраны»): главная кнопка — жёлтая, как в самой CRM; у имени — точка знака */
.sl-cta{background:#FFE24A !important;color:#17181A !important;box-shadow:0 1.6cqh 3.4cqh -1.6cqh rgba(242,205,28,.55) !important;}
.sl-brand::after{content:".";color:#FFE24A;}
/* ---------- Лента подключений (главная, /web) ---------- */
.int-strip .int-cell{display:inline-flex;align-items:center;gap:12px;padding:0 clamp(18px,2.4vw,34px);}
.int-strip .int-cell b{font:600 clamp(16px,1.5vw,21px)/1 var(--ui);letter-spacing:-.01em;color:#5F6875;white-space:nowrap;transition:color .25s;}
.int-strip .int-cell i{width:8px;height:8px;border-radius:50%;background:var(--c,#C6CDD5);flex:none;}
.int-strip .int-cell:hover b{color:var(--ink);}
.int-strip-cap{text-align:center;font:600 12px/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);padding:clamp(26px,3vw,40px) 16px 0;background:var(--surface);}

/* ---------- Третий проход SEO/GEO (10.10.2026) ----------
   «Коротко» — ответ на главный вопрос страницы первым экраном: его читают те,
   у кого 10 секунд, и его же вырезают в ответы поисковики и нейросети. */
.bl-tldr{background:#fff;border:1px solid #E3EAF2;border-radius:20px;padding:clamp(18px,2.2vw,24px) clamp(18px,2.4vw,26px);margin:0 0 clamp(22px,2.6vw,32px);box-shadow:0 12px 30px -24px rgba(42,58,77,.45);}
.bl-tldr > b{display:inline-flex;font:600 12px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:#17181A;background:#FFE24A;border-radius:100px;padding:7px 11px;margin-bottom:12px;}
.bl-body .bl-tldr ul{margin:0;padding:0;list-style:none;gap:8px;}
.bl-body .bl-tldr li{position:relative;padding-left:18px;font-family:var(--ui);font-size:16px;line-height:1.55;color:var(--ink);}
.bl-tldr li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:50%;background:var(--primary);}
.bl-body .bl-tldr p{margin:0;font-family:var(--ui);font-size:16px;line-height:1.6;color:var(--ink);}
/* Автор и дата правки в строке статьи */
.bl-artmeta .bl-by a,.bl-artmeta .bl-upd{color:#2A5486;}
.bl-artmeta .bl-by a{text-decoration:underline;text-underline-offset:2px;}
/* Подвал статей: вторая строка — разделы сайта */
.bl-foot .bl-foot-links{display:block;margin-top:10px;line-height:1.9;}

/* ---------- Словарь (/slovar) ---------- */
.gl-abc{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px;}
.gl-abc a{font:500 14px/1 var(--ui);color:var(--ink);background:var(--tint);border-radius:100px;padding:10px 14px;text-decoration:none;}
.gl-abc a:hover{background:var(--tint-2);color:var(--primary);}
.gl-list{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin:18px 0 0;}
.gl-term{background:#fff;border:1px solid #E3EAF2;border-radius:20px;padding:18px 20px 16px;scroll-margin-top:96px;}
.bl-body .gl-term h3{margin:0 0 6px;font:700 19px/1.25 var(--ui);letter-spacing:-.01em;color:var(--ink);}
.gl-term h3 small{font:500 13px/1 var(--ui);color:#6B6679;margin-left:8px;letter-spacing:0;}
.bl-body .gl-term p{margin:0;}
.bl-body .gl-term p + p{margin-top:8px;}
.gl-term .gl-in{font-family:var(--ui);font-size:14.5px;line-height:1.5;color:var(--ink);background:var(--tint);border-radius:12px;padding:9px 12px;margin-top:10px !important;}
.gl-term:target{border-color:var(--primary);box-shadow:0 0 0 3px rgba(63,114,176,.15);}

/* ---------- О компании (/o-kompanii) ---------- */
.ab-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:18px;align-items:start;background:#fff;border:1px solid #E3EAF2;border-radius:22px;padding:22px;scroll-margin-top:96px;}
.ab-av{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:#17181A;color:#FFE24A;font:700 24px/1 var(--ui);}
.bl-body .ab-card h3{margin:0 0 4px;font:700 20px/1.25 var(--ui);}
.bl-body .ab-card p{margin:0;}
.bl-body .ab-card p + p{margin-top:8px;}
.ab-req{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:8px 18px;font:15px/1.5 var(--ui);color:var(--ink-2);margin:12px 0 0;}
.ab-req dt{color:#6B6679;}
.ab-req dd{margin:0;color:var(--ink);}
@media (max-width:640px){
  .ab-card{grid-template-columns:minmax(0,1fr);}
  .ab-req{grid-template-columns:minmax(0,1fr);gap:2px;}
  .ab-req dd{margin-bottom:8px;}
}
.int-strip-cap a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(23,24,26,.25);}
.int-strip-cap a:hover{color:var(--ink);text-decoration-color:currentColor;}
.bl-glossary{margin:0 0 clamp(20px,2.4vw,30px);font:500 16px/1.55 var(--ui);color:var(--ink-2);background:var(--tint);border-radius:16px;padding:14px 18px;}
.bl-glossary a{color:var(--primary);text-decoration:underline;text-underline-offset:2px;}
/* Обложки-баннеры (1600×840, текст слева): не обрезать надпись — ни в статье, ни в карточке ленты */
.bl-cover.is-banner{aspect-ratio:1600/840;object-fit:cover;}
.bl-card img.is-banner{object-position:0 50%;}
/* Ссылки на светло-голубой подложке: #3F72B0 на #EAF1FA даёт 4,34 — на ступень темнее (≥ 6) */
.vz-why a,.gl-term .gl-in a,.bl-glossary a,.vz-sum a,.bl-note a{color:#2A5486;}

/* ---------- Помощь (/pomoshch) ---------- */
.bl-body .pz-steps.hp-steps{grid-template-columns:minmax(0,1fr);gap:10px;}
.bl-body .pz-steps.hp-steps li{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:14px;align-items:start;scroll-margin-top:96px;font-size:15.5px;line-height:1.6;}
.bl-body .pz-steps.hp-steps li::before{grid-row:1 / span 2;margin:0;}
.bl-body .pz-steps.hp-steps li > b{grid-column:2;margin-bottom:2px;}
.bl-body .pz-steps.hp-steps li > span{grid-column:2;}
.bl-body .pz-steps.hp-steps code,.bl-body code{font:500 .9em/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;background:var(--tint);border-radius:6px;padding:1px 6px;word-break:break-all;}
.bl-body a.hp-card{display:block;color:inherit;text-decoration:none;transition:border-color .25s,transform .35s var(--ease);}
.bl-body a.hp-card:hover{border-color:var(--primary);transform:translateY(-2px);}
.bl-body a.hp-card h3{color:var(--ink);}
.bl-body a.hp-card p{font-size:14.5px;}
.bl-body .vz-item .vz-why + p{margin-top:10px;font-family:var(--ui);font-size:14.5px;}
.bl-body .pz-steps.hp-steps li > span b{display:inline;margin:0;font-size:inherit;font-weight:600;color:var(--ink);}
/* ---------- Что нового (/novoe) ---------- */
.nv-item time{display:inline-block;font:600 12px/1 var(--ui);letter-spacing:.06em;text-transform:uppercase;color:#2A5486;background:var(--tint);border-radius:100px;padding:6px 10px;margin-bottom:10px;}
.bl-body .nv-item p + p{margin-top:8px;font-family:var(--ui);font-size:14.5px;}
.bl-body .vz-item p.vz-more-link{margin-top:10px;font-family:var(--ui);font-size:14.5px;}

/* ---------- Соцсети в подвале (11.10.2026): MAX → Telegram → ВКонтакте; ставит build_socials.py ---------- */
.foot-soc,.bl-foot-soc{display:flex;flex-wrap:wrap;gap:8px;}
.bl-foot-soc{margin-top:12px;}
.foot-soc-a,.bl-foot-soc-a{display:inline-flex;align-items:center;gap:8px;font:600 14px/1 var(--ui,inherit);color:var(--ink,#141619);background:#fff;border:1px solid #DCE5EF;border-radius:100px;padding:9px 14px 9px 10px;text-decoration:none !important;transition:border-color .25s,transform .3s,color .25s;}
.foot-soc-a:hover,.bl-foot-soc-a:hover{border-color:#3F72B0;color:#2A5486;transform:translateY(-2px);}
.foot-soc-a i,.bl-foot-soc-a i{width:22px;height:22px;border-radius:50%;flex:none;background:var(--net,#3F72B0) center/14px no-repeat;}
[data-net="max"]{--net:linear-gradient(140deg,#4C8DFF,#8A3FFC);}
[data-net="max"] i{background:var(--net);}
[data-net="telegram"] i{background:#2AA3E0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M20.7 4.3 3.4 11c-1.2.5-1.2 1.2-.2 1.5l4.4 1.4 1.7 5.2c.2.6.1.8.7.8.5 0 .7-.2 1-.5l2.1-2.1 4.5 3.3c.8.5 1.4.2 1.6-.8l2.9-13.7c.3-1.2-.4-1.7-1.4-1.3zM8.6 13.6l9.6-6.1c.5-.3.9-.1.5.2l-8.2 7.4-.3 3.4-1.6-4.9z'/%3E%3C/svg%3E") center/13px no-repeat;}
[data-net="vk"] i{background:#0077FF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M12.8 17.5c-5.6 0-8.8-3.8-8.9-10.2h2.8c.1 4.7 2.2 6.6 3.8 7.1V7.3h2.6v4c1.6-.2 3.3-2 3.8-4h2.6c-.4 2.5-2.2 4.3-3.5 5 1.3.6 3.4 2.2 4.2 5.2h-2.9c-.6-2-2.2-3.5-4.2-3.7v3.7h-.3z'/%3E%3C/svg%3E") center/15px no-repeat;}
