

/* Start:/bitrix/templates/promonews/css/blog.css?179301318746174*/
/* ============================================================
   Статьи медиа: листинг + карточка + страница материала.
   Путь: /local/templates/{ШАБЛОН}/css/blog.css
   Использует общие токены из layout.css.
   ============================================================ */

.bl-page, .bl-detail { font-family: var(--font-b); color: var(--ink); padding: 24px 20px 0; }   /* 254: снизу 0 — до подвала его отступ (56) */

/* хлебные крошки */
.bl-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--muted); margin-bottom: 22px; }
.bl-bc a { color: var(--muted); text-decoration: none; }
.bl-bc a:hover { color: var(--green-deep); }
.bl-bc span { color: var(--muted); }   /* разделитель «/» — того же цвета, что в каталоге (раньше был почти не виден) */
.bl-bc b { color: var(--ink); font-weight: 600; }

/* шапка листинга */
.bl-head { margin-bottom: 22px; }
.bl-h1 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h1); letter-spacing: var(--ls-tight); margin: 0 0 8px; line-height: var(--lh-tight); }
.bl-head__sub { color: var(--ink-soft); font-size: var(--fs-lead); margin: 0; max-width: 640px; line-height: var(--lh-body); }
.bl-head__sub code { overflow-wrap: anywhere; }   /* версия 245: длинное имя файла в служебном сообщении не выходит за экран */
.bl-h2 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h2); letter-spacing: var(--ls-tight); margin: 0 0 var(--sp-h2-after); line-height: var(--lh-tight); }

/* вкладки по типу материала: Все · Новости · Статьи · Интервью (свойство MATERIAL_TYPE, /blog/?type=) */
.bl-tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.bl-tab { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm); color: var(--ink-soft); text-decoration: none;
    padding: 10px 14px; margin-bottom: -1px; border-bottom: 2px solid transparent; transition: .15s; }
.bl-tab:hover { color: var(--green-deep); }
.bl-tab.is-active { color: var(--ink); border-bottom-color: var(--btn); }

/* бейдж типа материала (новость / статья / интервью) и пометка «Реклама» у партнёрских материалов (ERID) */
.bl-type { display: inline-block; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-caps); letter-spacing: .04em;
    text-transform: uppercase; color: var(--green-deep); background: rgba(27,106,229,.1); border-radius: 6px; padding: 4px 8px; line-height: 1.2; }
.bl-type--news { color: #8a4b00; background: rgba(240,150,0,.14); }
.bl-type--interview { color: #5a2d8f; background: rgba(120,70,190,.12); }
.bl-type--qa { color: #0b5f4a; background: rgba(20,150,110,.13); }   /* версия 3.4: «Вопрос эксперту» */
.bl-ad-mark { display: inline-block; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-caps); letter-spacing: .04em;
    text-transform: uppercase; color: var(--muted); border: 1px solid var(--line); border-radius: 6px; padding: 3px 7px; line-height: 1.2; }
.bl-card__badges { position: absolute; right: 12px; top: 12px; display: flex; gap: 6px; }
.bl-card__badges .bl-type, .bl-card__badges .bl-ad-mark { background: rgba(255,255,255,.92); }
/* плашка маркировки рекламы над материалом (закон о рекламе): «Реклама · erid: …» */
.bl-erid { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin: 0 0 18px; padding: 10px 14px; font-size: var(--fs-xs);
    color: var(--ink-soft); background: var(--surface); border: 1px solid var(--line); border-radius: 10px; }
.bl-erid b { font-weight: 600; color: var(--ink); }
.bl-erid code { font-family: inherit; user-select: all; overflow-wrap: anywhere; }

/* чипы рубрик */
.bl-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 28px; }
.bl-chip { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm); color: var(--ink-soft);
    background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 9px 16px; text-decoration: none; transition: .15s; }
.bl-chip:hover { border-color: var(--green); color: var(--green-deep); }
.bl-chip.is-active { display: inline-flex; align-items: center; gap: 6px; background: var(--btn); border-color: var(--btn); color: #fff; }
/* версия 249: выбранная метка — цвет кнопок (--btn) с галочкой: «выбрано» видно и без цвета. Была ярко-синей (--green). */
.bl-chip.is-active::before { content: ''; flex: none; width: 12px; height: 12px; background: currentColor;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat; }

/* версия 215: книги портала на общей странице блога — карточки с обложкой, по две в ряд (.bl-books, .bl-book; blog/index.php).
   Правила .bl-guide ниже — прежний вид полосой (до 215), оставлены на случай старого blog/index.php */
.bl-books { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; margin-bottom: 28px; }
.bl-book { display: grid; grid-template-columns: 100px minmax(0, 1fr); gap: 18px; align-items: center; padding: 18px 22px 18px 18px;
    background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: .18s; }
.bl-book:hover { box-shadow: var(--shadow-h); border-color: rgba(27,106,229,.35); }
.bl-book__cover { height: 124px; display: flex; flex-direction: column; justify-content: space-between; padding: 12px 8px 10px 15px;
    border-radius: 6px 10px 10px 6px; color: #fff; font-family: var(--font-d); font-weight: 800; line-height: var(--lh-tight);
    background: linear-gradient(160deg, #1b6ae5, #0b3c84); box-shadow: inset 6px 0 0 rgba(0,0,0,.18), 0 8px 18px rgba(26,43,74,.18); transition: transform .18s; }
.bl-book:nth-child(2n) .bl-book__cover { background: linear-gradient(160deg, #f59e0b, #c2410c); }
.bl-book:nth-child(3n) .bl-book__cover { background: linear-gradient(160deg, #10b981, #047857); }
.bl-book:hover .bl-book__cover { transform: translateY(-2px) rotate(-1.5deg); }
.bl-book__label { font-size: 9px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; opacity: .8; }
.bl-book__title { font-size: var(--fs-ui); line-height: var(--lh-tight); overflow-wrap: anywhere; }
.bl-book__title small { display: block; font-size: 10.5px; margin-top: 2px; }
.bl-book__text { display: grid; gap: 5px; min-width: 0; }
.bl-book__text b { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-read); line-height: var(--lh-head); }
.bl-book__meta { font-size: var(--fs-xs); color: var(--muted); }
.bl-book__note { margin: 0; font-size: var(--fs-sm); line-height: var(--lh-ui); color: var(--ink-soft); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.bl-book__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--green-deep); }
.bl-book__more .ic { transition: transform .2s; }
.bl-book:hover .bl-book__more .ic { transform: translateX(4px); }
@media (max-width: 560px) {
    .bl-books { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .bl-book { grid-template-columns: 88px minmax(0, 1fr); gap: 14px; padding: 14px 16px 14px 14px; }
    .bl-book__cover { height: 104px; padding: 9px 4px 8px 11px; }
    .bl-book__title { font-size: var(--fs-xs); overflow-wrap: normal; }
    .bl-book__title small { font-size: 8.5px; }   /* длинное слово названия помещается в строку обложки, не рвётся */
}
@media (prefers-reduced-motion: reduce) { .bl-book__cover, .bl-book__more .ic { transition: none; } }

/* полоса учебника (/uchebnik/) на общей странице статей — прежний вид до 215 */
.bl-guide { display: grid; grid-template-columns: auto 1fr auto; gap: 18px; align-items: center; margin-bottom: 28px; padding: 18px 22px;
    background: linear-gradient(135deg, #eef3ff 0%, #f5f7fa 70%); border: 1px solid var(--line); border-radius: 18px; text-decoration: none; color: inherit; transition: .18s; }
.bl-guide:hover { box-shadow: var(--shadow-h); border-color: rgba(27,106,229,.35); }
.bl-guide__text { min-width: 0; display: grid; gap: 3px; }
.bl-guide__text b { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-text); }
.bl-guide__text span { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); }
.bl-guide__more { display: inline-flex; align-items: center; gap: 6px; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--green-deep); white-space: nowrap; }
.bl-guide__more .ic { transition: transform .2s; }
.bl-guide:hover .bl-guide__more .ic { transform: translateX(4px); }
@media (max-width: 720px) { .bl-guide { grid-template-columns: auto 1fr; } .bl-guide__more { grid-column: 2; justify-self: start; } }

/* промо-статья */
.bl-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; background: var(--surface);
    border: 1px solid var(--line); border-radius: 20px; overflow: hidden; box-shadow: var(--shadow);
    text-decoration: none; color: inherit; margin-bottom: 36px; transition: .18s; }
.bl-feature:hover { box-shadow: var(--shadow-h); }
/* Обложка промо-статьи не обрезается: картинка всегда 15:8. Когда текст справа выше картинки, поля сверху и снизу
   заполняет её размытая копия (адрес — в переменной --cover, её ставит страница блога); без переменной — ровный фон. */
.bl-feature__img { position: relative; overflow: hidden; background: #eef2f8; display: grid; align-items: center; }
.bl-feature__img::before { content: ''; position: absolute; inset: -30px; background: var(--cover, none) center / cover no-repeat; filter: blur(24px); }
.bl-feature__img img { position: relative; width: 100%; height: auto; aspect-ratio: 15 / 8; object-fit: cover; display: block; }
.bl-feature__img .bl-card__img-ph { position: relative; justify-self: center; padding: 60px 0; }
.bl-feature__body { padding: 32px; display: flex; flex-direction: column; }
.bl-feature__tag { align-self: flex-start; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-caps);
    letter-spacing: .04em; text-transform: uppercase; color: var(--green-deep);
    background: rgba(27,106,229,.1); border-radius: 999px; padding: 5px 12px; margin-bottom: 14px; }
.bl-feature__title { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h3); line-height: var(--lh-head); margin: 0 0 12px; letter-spacing: var(--ls-head); }
.bl-feature__excerpt { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-body); margin: 0 0 16px; }
.bl-feature__meta { color: var(--muted); font-size: var(--fs-xs); display: flex; gap: 8px; margin-bottom: 18px; }
.bl-feature__more { margin-top: auto; font-family: var(--font-d); font-weight: 700; color: var(--green-deep); }

/* сетка карточек */
.bl-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.bl-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    overflow: hidden; box-shadow: var(--shadow); text-decoration: none; color: inherit;
    display: flex; flex-direction: column; transition: .18s; }
.bl-card:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); }
/* Обложка статьи везде одной пропорции — 15:8 (загружать 1200×640), как баннер компании в списках: карточка,
   промо-статья и страница статьи показывают её целиком. Раньше карточка была 16:10 и срезала края обложки. */
.bl-card__img { position: relative; aspect-ratio: 15 / 8; background: #eef2f8; display: grid; place-items: center; }
.bl-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* обложки нет — значок статьи из набора иконок */
.bl-card__img-ph { display: grid; place-items: center; color: #9fb2d3; font-size: 34px; line-height: 1; }
.bl-card__img-ph .ic { stroke-width: 1.3; }
.bl-card__rubric { position: absolute; left: 12px; top: 12px; font-family: var(--font-d); font-weight: 600;
    font-size: var(--fs-caps); color: var(--ink); background: rgba(255,255,255,.92); border-radius: 8px; padding: 5px 10px; }
.bl-card__body { padding: 18px; display: flex; flex-direction: column; flex: 1 1 auto; }
.bl-card__title { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-text); line-height: var(--lh-head); margin: 0 0 8px; }
.bl-card__excerpt { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); margin: 0 0 14px; }
.bl-card__meta { margin-top: auto; color: var(--muted); font-size: var(--fs-xs); display: flex; gap: 6px; }

.bl-empty { text-align: center; color: var(--ink-soft); background: var(--surface);
    border: 1px dashed var(--line); border-radius: var(--radius); padding: 48px 24px; }

/* SEO-текст */
/* версия 254: SEO-текст — по стандарту, как на главной (.hm-seo): «текст разделов» 17 px цветом --ink (был 15 px, серый),
   колонка --measure, отступы абзацев, пунктов и подзаголовков из шкалы, ссылки — полупрозрачное подчёркивание */
.bl-seo { color: var(--ink); line-height: var(--lh-read); font-size: var(--fs-text); }
.bl-seo--top { margin-bottom: 24px; }
.bl-seo--bottom { margin-top: 40px; padding-top: 28px; border-top: 1px solid var(--line); }
.bl-seo h2, .bl-seo h3 { font-family: var(--font-d); color: var(--ink); }
.bl-seo h2 { margin: var(--sp-h2-before) 0 var(--sp-h2-after); font-size: var(--fs-h3); line-height: var(--lh-head); letter-spacing: var(--ls-head); font-weight: var(--fw-head); }   /* версия 245: по шкале */
.bl-seo h3 { font-size: var(--fs-h5); line-height: var(--lh-head); letter-spacing: var(--ls-sub); font-weight: var(--fw-sub); }
.bl-seo > * { max-width: var(--measure); }
.bl-seo h3 { margin: var(--sp-h4-before) 0 var(--sp-h4-after); }
.bl-seo p, .bl-seo ul:not([class]), .bl-seo ol:not([class]) { margin: 0 0 var(--sp-p); }
.bl-seo li:not([class]) { margin-bottom: var(--sp-li); }   /* :not([class]) — списки-компоненты (.rt-how__list) не трогаем */
.bl-seo b, .bl-seo strong { color: var(--ink); font-weight: 600; }
.bl-seo a { color: var(--green-deep); font-weight: 400; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; text-decoration-color: rgba(13, 75, 160, .4); }
.bl-seo a:hover { text-decoration-color: currentColor; }
.bl-seo > :last-child { margin-bottom: 0; }


/* ---------------- ДЕТАЛЬНАЯ СТАТЬЯ ---------------- */
.bl-detail { max-width: 1080px; }

/* прогресс чтения */
.bl-progress { position: sticky; top: var(--st-top, 0px); left: 0; height: 3px; background: transparent; z-index: 40; }
.bl-progress i { display: block; height: 100%; width: 0; background: var(--green); transition: width .1s linear; }

.bl-art__head { margin-bottom: 24px; max-width: 760px; }   /* 254: 24 (было 22) */
.bl-art__rubric { display: inline-block; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-xs);
    color: var(--green-deep); text-decoration: none; margin-bottom: 10px; }
.bl-art__rubric:hover { color: var(--green); }
.bl-art__title { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h1); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 0 0 16px; }

/* строка автора/даты */
.bl-art__byline { color: var(--muted); font-size: var(--fs-sm); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.bl-art__avatar { width: 30px; height: 30px; border-radius: 50%; background: var(--btn); color: #fff;
    font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); display: inline-flex; align-items: center; justify-content: center; }
.bl-art__author { color: var(--ink); font-weight: 600; }
.bl-art__byline > span:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot) { position: relative; padding-left: 16px; }
.bl-art__byline > span:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot)::before {
    content: ''; position: absolute; left: 0; top: 50%; width: 3px; height: 3px; border-radius: 50%; background: var(--line); transform: translateY(-50%); }
.bl-art__dot { display: none; }
/* версия 180: у первого пункта строки точки-разделителя нет — иначе у статьи без автора и даты строка начиналась с «· 1 просмотр» */
.bl-art__byline > span:first-child:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot) { padding-left: 0; }
.bl-art__byline > span:first-child:not(.bl-art__avatar):not(.bl-art__author):not(.bl-art__dot)::before { display: none; }

.bl-art__cover { border-radius: 18px; overflow: hidden; margin: 10px 0 30px; max-height: 520px; }
/* версия 178: aspect-ratio 15/8 — пропорции копии обложки (ResizeImageGet 1200×640, EXACT): высота известна до загрузки картинки
   и текст под обложкой не сдвигается (CLS). Исходник меньше 1200×640 остаётся своих пропорций — object-fit: cover
   подрезает его до тех же 15/8, как и у карточек списка */
.bl-art__cover img { width: 100%; height: auto; display: block; aspect-ratio: 15 / 8; object-fit: cover; }

/* двухколоночный макет: статья + «липкая» колонка */
.bl-art__layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 48px; align-items: start; }
.bl-art__main { min-width: 0; max-width: 760px; }
.bl-art__aside { position: relative; align-self: stretch; }   /* версия 218: во всю высоту ряда — иначе .bl-aside-sticky не прилипал */
.bl-aside-sticky { position: sticky; top: calc(var(--st-top, 0px) + 24px); display: flex; flex-direction: column; gap: 18px; }

/* оглавление */
.bl-toc { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; box-shadow: var(--shadow); }
.bl-toc__title { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); letter-spacing: .02em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.bl-toc__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.bl-toc__item a { display: block; color: var(--ink-soft); text-decoration: none; font-size: var(--fs-sm); line-height: var(--lh-snug);
    padding: 6px 10px; border-left: 2px solid transparent; border-radius: 0 8px 8px 0; transition: .12s; }
.bl-toc__item--h3 a { padding-left: 22px; font-size: var(--fs-xs); color: var(--muted); }
.bl-toc__item a:hover { color: var(--green-deep); background: #f1f5ff; }
.bl-toc__item a.is-active { color: var(--green-deep); border-left-color: var(--btn); background: #f1f5ff; font-weight: 600; }

/* мини-CTA в колонке */
/* версия 222: призыв в колонке — белая карточка, сверху иконка компаса в кружке, текст по центру, кнопка на всю ширину.
   Иконка — псевдоэлемент: разметка призывов глав, идей, терминов и статей блога не меняется */
.bl-aside-cta { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 22px; box-shadow: var(--shadow); text-align: center; }
.bl-aside-cta::before { content: ''; display: block; width: 54px; height: 54px; margin: 0 auto 12px; border-radius: 50%;
    background: #eef3fd url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d4ba0' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M15.6 8.4l-1.9 5.3-5.3 1.9 1.9-5.3 5.3-1.9z'/%3E%3Ccircle fill='%23f59e0b' stroke='none' cx='12' cy='12' r='1.4'/%3E%3C/svg%3E") center / 26px 26px no-repeat; }
.bl-aside-cta__h { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-text); line-height: var(--lh-head); margin-bottom: 6px; color: var(--ink); }
.bl-aside-cta p { margin: 0 0 16px; color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); }
.bl-aside-cta .bl-btn { display: flex; justify-content: center; width: 100%; box-sizing: border-box; white-space: normal; }
.bl-btn--sm { padding: 11px 18px; font-size: var(--fs-sm); }
/* баннер Premium-компании в колонке (include/banner_slot.php, стили .tf-banner — tariffs.css): отступ даёт gap колонки */
.bl-aside-sticky .tf-banner--aside { margin: 0; }

/* автор под статьёй */
.bl-author { display: flex; gap: 14px; align-items: center; background: var(--surface); border: 1px solid var(--line);
    border-radius: var(--radius); padding: 18px 20px; margin: 30px 0; box-shadow: var(--shadow); }
.bl-author__avatar { flex: 0 0 auto; width: 48px; height: 48px; border-radius: 50%; background: var(--btn); color: #fff;
    font-family: var(--font-d); font-weight: 700; font-size: 20px; display: inline-flex; align-items: center; justify-content: center; }
.bl-author__name { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-md); }
.bl-author__role { color: var(--muted); font-size: var(--fs-xs); }
/* автор из справочника «Авторы блога»: фото, пара строк о нём, ссылка на его страницу */
.bl-author { align-items: flex-start; }
.bl-author__avatar--img, .bl-art__avatar--img { object-fit: cover; background: #eef2f8; padding: 0; }
.bl-author__body { min-width: 0; }
.bl-author__name a { color: inherit; text-decoration: none; }
.bl-author__name a:hover { color: var(--green-deep); }
.bl-author__about { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); margin: 8px 0 0; }
.bl-author__more { display: inline-block; margin-top: 8px; color: var(--green-deep); font-weight: 600; font-size: var(--fs-sm); text-decoration: none; }
a.bl-art__author { text-decoration: none; }
a.bl-art__author:hover { color: var(--green-deep); }

/* шаринг */
.bl-share { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.bl-share--bottom { margin: 26px 0 4px; }
.bl-share__label { color: var(--muted); font-size: var(--fs-sm); margin-right: 4px; }
.bl-share__btn { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-xs); color: var(--ink-soft);
    background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 9px 14px; cursor: pointer; transition: .15s; }
.bl-share__btn:hover { border-color: var(--green); color: var(--green-deep); }

/* версия 238: 18 px вместо 17 — в колонке 812 px строка была 85–90 знаков, стало около 80 */
.bl-art__body { font-size: var(--fs-read); line-height: var(--lh-read); color: var(--ink); }
/* у подзаголовков свой межстрочный интервал: раньше они наследовали 1,75 от текста — строки двухстрочного заголовка расходились */
.bl-art__body h2 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h3); line-height: var(--lh-head); letter-spacing: var(--ls-head); margin: var(--sp-h3-before) 0 var(--sp-h3-after); }
/* версия 237: под h3 — 14 px вместо 10: подзаголовок прилипал к тексту */
/* версия 238→239: h3 22 px (на телефоне 20) — после 18 px текста подзаголовок 21 px почти не отличался от абзаца */
.bl-art__body h3 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: var(--lh-head); margin: var(--sp-h3-before) 0 var(--sp-h3-after); letter-spacing: var(--ls-head); }
/* версия 234: заголовок раздела открывается линией под ним — серая на всю колонку, синий отрезок 64 px в начале
   (вариант 8 «Подчёркивание»; перекликается с синей линией под шапкой таблиц). Только h2 текста без класса:
   служебные заголовки внутри статьи (.gd-def__h «Словарь главы», .cs-cta h2) остаются как были. */
/* версия 237: под линией 26 px вместо 18 (было равно отступу между абзацами, и с учётом межстрочного интервала текст
   стоял к линии ближе, чем абзацы друг к другу), от заголовка до линии 14 px вместо 12 */
.bl-art__body > h2:not([class]) { margin: var(--sp-h2-before) 0 var(--sp-h2-after); }   /* линия — общее правило, layout.css (246) */
.bl-art__body > h2:not([class]):first-child { margin-top: 0; }
@media (max-width: 720px) {
}
.bl-art__body p { margin: 0 0 var(--sp-p); }
.bl-art__body ul, .bl-art__body ol { margin: 0 0 var(--sp-p); padding-left: 22px; }
/* версия 237: 10 px между пунктами вместо 8 — пункты в несколько строк сливались */
.bl-art__body li { margin-bottom: var(--sp-li); }
.bl-art__body img { max-width: 100%; height: auto; border-radius: 12px; margin: 8px 0; }
/* версия 180: таблицы в статьях — как в главах путеводителя (guide.css .gd-body): рамки, шапка на подложке, чередование
   строк, первая колонка полужирная. До 180 таблица была блоком с прокруткой без рамок — на странице читалась как текст
   в четыре колонки. На узком экране — снова прокрутка вбок, не сжимая колонки */
/* версия 237: блоки в рамках (таблица, «Совет», схема, файл, калькулятор) — 28 px сверху и снизу, раньше 18–30 вразнобой */
.bl-art__body table { display: table; width: 100%; max-width: 100%; border-collapse: collapse; margin: var(--sp-block) 0; font-size: var(--fs-ui); line-height: var(--lh-snug); }
.bl-art__body th, .bl-art__body td { border: 1px solid var(--line); padding: 9px 12px; text-align: left; vertical-align: top; }
.bl-art__body th { background: #f1f5ff; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--ink); }
.bl-art__body tr:nth-child(even) td { background: #fafbfe; }
.bl-art__body td:first-child { font-weight: 600; }
.bl-art__body td p:last-child, .bl-art__body th p:last-child { margin-bottom: 0; }
@media (max-width: 720px) {
    .bl-art__body table { display: block; overflow-x: auto; white-space: nowrap; font-size: var(--fs-sm); -webkit-overflow-scrolling: touch; }
    .bl-art__body td, .bl-art__body th { white-space: normal; min-width: 140px; }
}
.bl-art__body a { color: var(--green-deep); }
/* версия 222: цитата в тексте — «Совет»: белая карточка, слева жёлтая лампочка на плашке, сверху подпись. Только CSS —
   тексты глав, идей, терминов и статей не меняются (иконка и подпись — псевдоэлементы) */
.bl-art__body blockquote { position: relative; margin: var(--sp-block) 0; padding: 40px 22px 18px 76px; border: 1px solid var(--line); border-radius: 16px;
    background: var(--surface); box-shadow: var(--shadow); color: var(--ink); }
.bl-art__body blockquote::before { content: ''; position: absolute; left: 22px; top: 18px; width: 40px; height: 40px; border-radius: 12px;
    background: #fff6e0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b45309' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 17v-1.7a6.3 6.3 0 1 1 6 0V17z'/%3E%3Cpath d='M9.8 20.5h4.4'/%3E%3Ccircle fill='%23f59e0b' stroke='none' cx='12' cy='9.8' r='1.9'/%3E%3C/svg%3E") center / 22px 22px no-repeat; }
.bl-art__body blockquote::after { content: 'Совет'; position: absolute; left: 76px; top: 17px; font: 700 var(--fs-caps)/var(--lh-head) var(--font-d);
    letter-spacing: .06em; text-transform: uppercase; color: #b45309; }
.bl-art__body blockquote > :first-child { margin-top: 0; }
.bl-art__body blockquote > :last-child { margin-bottom: 0; }
@media (max-width: 560px) {
    .bl-art__body blockquote { padding: 64px 16px 16px; }
    .bl-art__body blockquote::before { left: 16px; top: 14px; }
    .bl-art__body blockquote::after { left: 66px; top: 26px; }
}
/* версия 238: читаемость текста.
   «Совет» — обычный шрифт текста чуть мельче основного (в главах был шрифт заголовков 600 — несколько предложений
   читались тяжёлым блоком); полужирное внутри остаётся полужирным. */
.bl-art__body blockquote { font-size: var(--fs-text); line-height: var(--lh-read); }
.bl-art__body blockquote :is(b, strong) { font-weight: 700; }
/* Ссылки в тексте: тонкая линия с отступом от букв (стандартная браузерная — толстая, вплотную, режет «р», «у», «д»),
   при наведении — сплошная. Только ссылки без класса внутри абзацев, списков, таблиц: кнопки и карточки не трогаем. */
.bl-art__body :is(p, li, td, th) a:not([class]) { text-decoration-line: underline; text-decoration-thickness: 1px;
    text-underline-offset: .2em; text-decoration-color: rgba(13, 75, 160, .4); transition: text-decoration-color .15s; }
.bl-art__body :is(p, li, td, th) a:not([class]):hover { text-decoration-color: currentColor; }
/* Без одиноких коротких слов на последней строке абзаца; двухстрочные заголовки — строками примерно равной длины.
   Браузеры без поддержки просто игнорируют. */
.bl-art__body :is(p, li, blockquote) { text-wrap: pretty; }
.bl-art__body :is(h2, h3) { text-wrap: balance; }
/* Цифры одной ширины в таблицах — суммы и проценты в столбце стоят друг под другом */
.bl-art__body table { font-variant-numeric: tabular-nums; }
/* На телефоне — переносы по слогам (lang="ru" у страницы): без них длинные слова оставляли в строках дыры.
   Не короче 6 букв и не меньше 3 букв на строке, где браузер это поддерживает. */
@media (max-width: 560px) {
    .bl-art__body :is(p, li, blockquote) { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 6 3 3; }
}
/* версия 239: таблица шире экрана прокручивается вбок — тень у края, за которым ещё есть столбцы. Обёртку .bl-tscroll
   ставит js/ux.js и он же переключает is-more (справа есть ещё) и is-moved (таблицу уже сдвинули — тень слева). */
.bl-tscroll { position: relative; }
.bl-tscroll::before, .bl-tscroll::after { content: ''; position: absolute; top: 1px; bottom: 1px; width: 32px; z-index: 1;
    pointer-events: none; opacity: 0; transition: opacity .2s; }
.bl-tscroll::after { right: 0; border-radius: 0 13px 13px 0; background: linear-gradient(to left, rgba(26, 43, 74, .16), rgba(26, 43, 74, 0)); }
.bl-tscroll::before { left: 0; border-radius: 13px 0 0 13px; background: linear-gradient(to right, rgba(26, 43, 74, .16), rgba(26, 43, 74, 0)); }
.bl-tscroll.is-more::after, .bl-tscroll.is-moved::before { opacity: 1; }

.bl-art__tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; }
.bl-tag { font-size: var(--fs-xs); color: var(--ink-soft); background: var(--bg); border: 1px solid var(--line); border-radius: 8px; padding: 6px 12px; }
/* тег-ссылка: под статьёй и на странице всех тегов (/blog/tags/) */
.bl-tag--link { display: inline-flex; align-items: center; gap: 8px; max-width: 100%; overflow-wrap: anywhere; text-decoration: none; transition: border-color .15s ease, color .15s ease; }
.bl-tag--link:hover { border-color: var(--green); color: var(--green-deep); }
.bl-tag--link i { font-style: normal; font-size: var(--fs-caps); color: var(--muted); background: var(--surface); border-radius: 999px; padding: 1px 7px; }
.bl-tagcloud { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.bl-tagcloud .bl-tag { font-size: var(--fs-ui); padding: 9px 14px; background: var(--surface); }
.bl-chip--tags { margin-left: auto; border-style: dashed; }
.bl-head__sub a { color: var(--green-deep); }

/* --- связь с каталогом: специализации каталога компаний у статьи (App\Site\BlogCategories) --- */
.bl-art__cats { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 30px; }
.bl-art__cats-label { font-size: var(--fs-sm); color: var(--muted); margin-right: 4px; }
.bl-cat { display: inline-flex; align-items: center; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm);
  color: var(--green-deep); background: var(--surface); border: 1px solid var(--green); border-radius: 999px;
  padding: 7px 14px; text-decoration: none; transition: background .15s ease, color .15s ease; }
.bl-cat:hover { background: var(--btn); color: #fff; }   /* 251: было --green */
/* блок «Компании по теме» на странице статьи (карточки — agency_card из home.css) */
.bl-theme { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--line); }
.bl-theme__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.bl-theme__all { color: var(--green-deep); font-weight: 600; text-decoration: none; white-space: nowrap; }
.bl-theme__all:hover { color: var(--green); }
/* панель темы на /blog/?category= */
.bl-theme-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: -8px 0 22px; padding: 12px 16px;
  background: var(--surface); border: 1px solid var(--line); border-radius: 12px; font-size: var(--fs-ui); }
.bl-theme-bar__label { color: var(--muted); }
.bl-theme-bar__name { font-family: var(--font-d); }
.bl-theme-bar__link { color: var(--green-deep); font-weight: 600; text-decoration: none; }
.bl-theme-bar__link:hover { color: var(--green); }
.bl-theme-bar__reset { margin-left: auto; color: var(--ink-soft); font-size: var(--fs-sm); }

.bl-art__cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap;
    position: relative; overflow: hidden; color: #fff; background: linear-gradient(120deg, #0b3c84 0%, #0d4ba0 50%, #1b6ae5 100%);
    border-radius: 20px; padding: 28px 30px; margin: 34px 0; box-shadow: 0 14px 34px rgba(13, 75, 160, .22); }
/* версия 215: синяя плашка (была светло-голубая) — тёплое пятно справа, иконка на полупрозрачной плашке, кнопка белая */
.bl-art__cta::after { content: ''; position: absolute; right: -60px; top: -80px; width: 260px; height: 260px; border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 200, 87, .35), transparent 65%); pointer-events: none; }
.bl-art__cta-ic { flex: none; width: 56px; height: 56px; border-radius: 16px; background: rgba(255, 255, 255, .14); display: grid; place-items: center; color: #fff; }
.bl-art__cta-ic .ic { --ic-accent: #ffc857; }
.bl-art__cta-t { flex: 1 1 260px; min-width: 0; }
.bl-art__cta-h { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: var(--lh-head); margin-bottom: 4px; color: #fff; letter-spacing: var(--ls-head); }
.bl-art__cta p { margin: 0; color: rgba(255, 255, 255, .85); font-size: var(--fs-ui); }
.bl-art__cta .bl-btn { position: relative; z-index: 1; background: #fff; color: var(--green-deep); }
.bl-art__cta .bl-btn:hover { background: #eef3fd; color: var(--green-deep); }
.bl-art__cta .bl-btn:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
/* версия 223 (аудит 222, п. 1.12): длинное «Компании: {категория}» переносится, а не срезается краем плашки (overflow: hidden) */
.bl-art__cta .bl-btn { white-space: normal; max-width: 100%; box-sizing: border-box; text-align: center; line-height: var(--lh-snug); }
.bl-btn { display: inline-flex; align-items: center; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-ui);
    background: var(--btn); color: #fff; border-radius: 12px; padding: 14px 24px; text-decoration: none; white-space: nowrap; transition: .15s; }
.bl-btn:hover { background: var(--btn-deep); }

.bl-related { margin-top: 44px; padding-top: 32px; border-top: 1px solid var(--line); }

/* пагинация bitrix (шаблон system.pagenavigation «modern») — лёгкая стилизация */
.bl-page .modern-page-navigation { margin-top: 32px; display: flex; gap: 6px; flex-wrap: wrap; }
.bl-page .modern-page-navigation a,
.bl-page .modern-page-navigation span { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 12px;
    border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); text-decoration: none; font-weight: 600; font-size: var(--fs-sm); }
.bl-page .modern-page-navigation a:hover { border-color: var(--green); color: var(--green-deep); }
.bl-page .modern-page-navigation .modern-page-current { background: var(--btn); border-color: var(--btn); color: #fff; }   /* 251: было --green */

/* ---------------- АДАПТИВ ---------------- */
@media (max-width: 920px) {
    .bl-grid { grid-template-columns: repeat(2, 1fr); }
    .bl-feature { grid-template-columns: 1fr; }
    .bl-art__layout { grid-template-columns: 1fr; gap: 0; }
    .bl-art__aside { order: -1; margin-bottom: 24px; }
    .bl-aside-sticky { position: static; }
    .bl-aside-cta, .bl-aside-sticky .tf-banner { display: none; }   /* в потоке остаётся только оглавление */
    .bl-toc { background: var(--bg); box-shadow: none; }
}
@media (max-width: 560px) {
    .bl-page, .bl-detail { padding: 20px 16px 0; }
    .bl-grid { grid-template-columns: 1fr; }
    .bl-feature__body { padding: 22px; }
    .bl-art__cta { flex-direction: column; align-items: flex-start; padding: 24px 22px; }
    .bl-art__cta-t { flex: none; }
    .bl-art__cta .bl-btn { width: 100%; justify-content: center; }   /* версия 223 */
}

/* ============================================================
   АВТОРЫ БЛОГА (/blog/authors/): список авторов и страница автора.
   ============================================================ */
.bl-chip--authors { border-style: dashed; }
.bl-chip--tags + .bl-chip--authors { margin-left: 0; }
.bl-chips > .bl-chip--authors:not(.bl-chip--tags ~ .bl-chip--authors) { margin-left: auto; }   /* тегов нет — «Авторы» сами уходят вправо */
/* список авторов */
.bl-people { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 18px; }
.bl-people__card { display: flex; gap: 16px; align-items: flex-start; height: 100%; box-sizing: border-box; background: var(--surface); border: 1px solid var(--line);
    border-radius: var(--radius); padding: 22px; box-shadow: var(--shadow); text-decoration: none; color: var(--ink); transition: transform .15s ease, box-shadow .15s ease; }
.bl-people__card:hover { transform: translateY(-3px); box-shadow: var(--shadow-h); }
.bl-people__photo { flex: 0 0 72px; width: 72px; height: 72px; border-radius: 50%; object-fit: cover; background: #eef2f8; }
.bl-people__photo--ph { display: grid; place-items: center; font-family: var(--font-d); font-weight: 800; font-size: 28px; color: var(--green-deep); }
.bl-people__body { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.bl-people__name { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-read); line-height: var(--lh-head); }
.bl-people__role { color: var(--muted); font-size: var(--fs-sm); line-height: var(--lh-snug); }
.bl-people__about { color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-ui); margin-top: 4px;
    display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }
.bl-people__count { margin-top: 8px; color: var(--green-deep); font-weight: 600; font-size: var(--fs-sm); }
/* страница автора */
.bl-person { display: flex; gap: 28px; align-items: flex-start; background: var(--surface); border: 1px solid var(--line); border-radius: 20px;
    padding: 32px; box-shadow: var(--shadow); margin-bottom: 36px; }
.bl-person__photo { flex: 0 0 160px; width: 160px; height: 160px; border-radius: 50%; object-fit: cover; background: #eef2f8; }
.bl-person__photo--ph { display: grid; place-items: center; font-family: var(--font-d); font-weight: 800; font-size: 60px; color: var(--green-deep); }
.bl-person__body { min-width: 0; }
.bl-person__name { margin-bottom: 6px; }
.bl-person__role { color: var(--green-deep); font-family: var(--font-d); font-weight: 600; font-size: var(--fs-md); margin: 0 0 12px; }
.bl-person__about { color: var(--ink-soft); font-size: var(--fs-text); line-height: var(--lh-body); margin: 0; max-width: 720px; }
.bl-person__links { list-style: none; margin: 16px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bl-person__links a { display: inline-block; font-weight: 600; font-size: var(--fs-sm); color: var(--ink); background: var(--bg); border: 1px solid var(--line);
    border-radius: 999px; padding: 7px 14px; text-decoration: none; overflow-wrap: anywhere; transition: border-color .15s ease, color .15s ease; }
.bl-person__links a:hover { border-color: var(--green); color: var(--green-deep); }
.bl-person__bio { max-width: 820px; margin-bottom: 40px; font-size: var(--fs-md); }
.bl-person__bio img { max-width: 100%; height: auto; }
.bl-person__bio a { color: var(--green-deep); }
.bl-person__count { font-weight: 600; font-size: .6em; color: var(--muted); vertical-align: middle; margin-left: 6px; }
.bl-person__all { margin: 32px 0 0; }
.bl-person__all a { color: var(--green-deep); font-weight: 600; text-decoration: none; }
@media (max-width: 720px) {
    .bl-person { flex-direction: column; gap: 18px; padding: 22px; }
    .bl-person__photo { flex-basis: auto; width: 112px; height: 112px; }
    .bl-person__photo--ph { font-size: 42px; }
    .bl-person__about { font-size: 16px; }
}

/* ---- Рубрика «Вопрос эксперту» (версия 3.4): карточка эксперта и форма вопроса ---- */
.bl-expert { display: flex; gap: 16px; align-items: flex-start; margin: 26px 0; padding: 16px 18px; border: 1px solid var(--line, #e3e6ea); border-radius: 14px; background: var(--card, #fff); }
.bl-expert__logo { width: 56px; height: 56px; object-fit: contain; border-radius: 10px; background: #fff; flex: none; }
.bl-expert__label { font-size: 12px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted, #6b7280); }
.bl-expert__name { font-weight: 600; font-size: var(--fs-lg, 18px); margin: 2px 0 4px; }
.bl-expert__name a { color: inherit; text-decoration: none; }
.bl-expert__name a:hover { text-decoration: underline; }
.bl-expert__brief { margin: 0 0 6px; color: var(--muted, #6b7280); font-size: var(--fs-sm, 14px); }
.bl-expert__more { font-size: var(--fs-sm, 14px); }
.bl-ask { margin: 26px 0; }
.bl-ask__head { margin-bottom: 14px; }
.bl-ask .svc-h2 { margin-top: 0; }
.bl-ask textarea.svc-input { resize: vertical; min-height: 96px; }
.bl-tabs .bl-tab[href*="type=qa"] { font-weight: 600; }

/* End */


/* Start:/bitrix/templates/promonews/css/service.css?179301318844939*/
/* ============================================================
   Страница-услуга «Разместить компанию».
   Путь: /local/templates/{ШАБЛОН}/css/service.css
   Использует общие токены из layout.css (--ink, --green, --line, --radius …).
   ============================================================ */

.svc { font-family: var(--font-b); color: var(--ink); padding: 24px 20px 0; }   /* 254 */

/* хлебные крошки */
.svc-bc { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: var(--fs-xs); color: var(--muted); margin-bottom: 22px; }
.svc-bc a { color: var(--muted); text-decoration: none; }
.svc-bc a:hover { color: var(--green-deep); }
.svc-bc span { color: var(--muted); }   /* разделитель «/» — того же цвета, что в каталоге (раньше был почти не виден) */
.svc-bc b { color: var(--ink); font-weight: 600; }

/* типографика секций */
.svc-h1 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-display);   /* версия 243: не меньше 28 px (было 26), на планшете ~34 */
    line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 10px 0 16px; }
.svc-h1 em { font-style: normal; color: var(--green); }   /* версия 252: выделенные слова H1 — только цвет */
/* Версия 129: заголовок раздела — как на главной (.hm-h2); вводка под ним — крупнее, с межстрочным интервалом
   и не шире 720 px (раньше шла во всю ширину страницы, до 150 знаков в строке). */
/* версия 243: заголовок раздела не меньше 24 px (было 22 — на телефоне и планшете всего на 3 px крупнее подзаголовка h3) */
.svc-h2 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h2); line-height: var(--lh-tight); letter-spacing: var(--ls-tight); margin: 0 0 8px; }
.svc-sub { color: var(--ink-soft); font-size: var(--fs-lead); line-height: var(--lh-body); max-width: 720px; margin: 0 0 var(--sp-h2-after); }   /* 254: 24 (было 26) */
.svc-sec > .svc-h2 { margin-bottom: var(--sp-h2-after); }   /* версия 246: под линией; подводка — после линии */

/* ---------------- РАЗДЕЛЫ-ПОЛОСЫ (версия 129) ----------------
   Как на главной: каждый раздел — полоса во всю ширину окна с отступами 56 px сверху и снизу, фон полос чередуется —
   белый и серый (фон страницы). Раньше разделы шли по одному серому фону через 56 px, и длинная страница читалась
   одним полотном. Разметка страниц не менялась: .svc остаётся колонкой 1200 px, а фон полосы выведен за её края
   тенью (box-shadow) и обрезан по высоте раздела (clip-path). Где clip-path не поддерживается, полосы остаются без
   белого фона — отступы те же.
   Белые — чётные <section> внутри .svc: первый <section> — шапка страницы (.svc-hero), поэтому первый раздел под
   ней белый. --band — цвет полосы для вложенных блоков, которым нужен фон «под цвет страницы». */
.svc-sec { margin-top: 0; padding: var(--sp-section) 0; --band: var(--bg); }
.svc > :not(.svc-sec) + .svc-sec { margin-top: var(--sp-h2-before); }   /* первая полоса — с отступом от шапки страницы; 254: 48 / 40 (было 44 / 30) */
/* последняя полоса доходит до подвала: гасит отступ над подвалом (.st-footer, --sp-section). 254: было −136 / −120 под
   прежние поля; на телефоне −120 при зазоре 96 — подвал на 24 px заходил на полосу и закрывал низ формы заявки */
.svc > .svc-sec:last-of-type { margin-bottom: calc(-1 * var(--sp-section)); }
@supports (clip-path: inset(0 -100vmax)) {
    .svc-sec:nth-of-type(even), .svc-sec.svc-leadwrap { box-shadow: 0 0 0 100vmax var(--band); clip-path: inset(0 -100vmax); background: var(--band); }
    .svc-sec:nth-of-type(even) { --band: var(--surface); }
    /* форма заявки внизу страницы — всегда на подкрашенной полосе: белая карточка формы видна на ней при любом соседе */
    .svc-sec.svc-leadwrap { --band: #eaf0fa; }
}

/* кнопки (локальные, в духе .st-cta / .hm-btn) */
.svc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px;
    font-family: var(--font-d); font-weight: 700; font-size: var(--fs-ui); line-height: 1;
    padding: 14px 24px; border-radius: 12px; text-decoration: none; cursor: pointer;
    border: 1.5px solid transparent; transition: .18s; white-space: nowrap; }
.svc-btn--accent { background: var(--btn); color: #fff; }
.svc-btn--accent:hover { background: var(--btn-deep); }
.svc-btn--ghost { background: #fff; color: var(--btn); border-color: rgba(13,75,160,.45); }
.svc-btn--ghost:hover { background: var(--btn); color: #fff; border-color: var(--btn); }

/* ---------------- HERO ---------------- */
.svc-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 40px; align-items: center;
    background: linear-gradient(135deg, #eef3ff 0%, #f5f7fa 60%); border: 1px solid var(--line);
    border-radius: 22px; padding: 44px; }
.svc-eyebrow { display: inline-block; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-caps);
    letter-spacing: .08em; text-transform: uppercase; color: var(--green-deep);
    background: rgba(27,106,229,.1); border-radius: 999px; padding: 6px 14px; }
.svc-hero__lead { color: var(--ink-soft); font-size: var(--fs-lead); line-height: var(--lh-body); margin: 0 0 28px; max-width: 560px; }   /* 254: 28 (было 26) */
.svc-hero__cta { display: flex; flex-wrap: wrap; gap: 12px; }

.svc-stats { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-stat { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 20px; box-shadow: var(--shadow); }
.svc-stat__n { display: block; font-family: var(--font-d); font-weight: 800; font-size: 26px; color: var(--ink); letter-spacing: -.02em; overflow-wrap: anywhere; }
.svc-stat__t { display: block; color: var(--ink-soft); font-size: var(--fs-sm); line-height: var(--lh-snug); margin-top: 4px; }

/* ---------------- ЧТО ВХОДИТ ---------------- */
.svc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.svc-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius);
    padding: 24px; box-shadow: var(--shadow); transition: .18s; }
.svc-card:hover { box-shadow: var(--shadow-h); transform: translateY(-2px); }
/* значок карточки — иконка набора на плитке (размер и цвет плитки — css/layout.css, .ic-plate) */
.svc-card__ico { margin-bottom: 14px; }
.svc-card__h { font-family: var(--font-d); font-weight: var(--fw-sub); font-size: var(--fs-h5); margin: 0 0 6px; line-height: var(--lh-head); letter-spacing: var(--ls-sub); }
.svc-card__d { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-ui); margin: 0; }

/* ---------------- ТАРИФЫ ---------------- */
/* 254: сверху 20 px — карточка «Популярный» поднята на 6 px, метка над ней выступает ещё на 12: вместе 18 px заходили в
   отступ под заголовком, и метка стояла в 6 px от линии раздела */
.svc-plans { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; align-items: start; padding-top: 20px; }
/* четыре тарифа — в один ряд (на средней ширине — два ряда по два); ниже 920px, как всегда, в одну колонку */
.svc-plans:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1180px) { .svc-plans:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 920px) { .svc-plans:has(> :nth-child(4):last-child) { grid-template-columns: 1fr; } }
.svc-plan { position: relative; background: var(--surface); border: 1px solid var(--line);
    border-radius: 18px; padding: 28px 24px; box-shadow: var(--shadow); display: flex; flex-direction: column; }
/* версия 248: метка «Популярный» — тёмно-синяя, как кнопки (--btn), с янтарной звездой (--amber) из логотипа.
   Была ярко-синей (--green) и сливалась с синей кнопкой «Обсудить» под ней. Звезда — ::before, шаблон не менялся. */
.svc-plan--hot { border-color: var(--btn); box-shadow: var(--shadow-h); transform: translateY(-6px); }
.svc-plan__badge { position: absolute; top: -12px; left: 24px; display: inline-flex; align-items: center; gap: 5px;
    background: var(--btn); color: #fff;
    font-family: var(--font-d); font-weight: 700; font-size: var(--fs-caps); letter-spacing: .03em;
    padding: 5px 12px 5px 10px; border-radius: 999px; }
.svc-plan__badge::before { content: ''; flex: none; width: 12px; height: 12px; background: var(--amber);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.5l2.9 6 6.6.9-4.8 4.6 1.2 6.5L12 17.4l-5.9 3.1 1.2-6.5L2.5 9.4l6.6-.9z'/%3E%3C/svg%3E") center / contain no-repeat; }
.svc-plan__name { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-read); color: var(--ink-soft); }
.svc-plan__price { font-family: var(--font-d); font-weight: 800; font-size: 34px; letter-spacing: -.02em; margin-top: 6px; }
.svc-plan__note { color: var(--muted); font-size: var(--fs-xs); margin-bottom: 18px; }
.svc-plan__list { list-style: none; margin: 0 0 22px; padding: 18px 0 0; border-top: 1px solid var(--line); display: grid; gap: 11px; flex: 1 1 auto; }
.svc-plan__list li { display: flex; gap: 9px; font-size: var(--fs-ui); line-height: var(--lh-snug); color: var(--ink); }
.svc-plan__list li.is-off { color: var(--muted); }
.svc-plan__mark { flex: 0 0 18px; font-weight: 700; }
.svc-plan__list li.is-on .svc-plan__mark { color: var(--green); }
.svc-plan__list li.is-off .svc-plan__mark { color: var(--line); }
.svc-plan__cta { width: 100%; }

/* ---------------- ШАГИ ---------------- */
.svc-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: none; }
.svc-step { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow); }
.svc-step__n { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px;
    border-radius: 12px; background: rgba(27,106,229,.1); color: var(--green-deep);
    font-family: var(--font-d); font-weight: 800; font-size: var(--fs-read); margin-bottom: 14px; }
.svc-step__h { font-family: var(--font-d); font-weight: var(--fw-sub); font-size: var(--fs-h6); margin: 0 0 6px; line-height: var(--lh-head); letter-spacing: var(--ls-sub); }
.svc-step__d { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-ui); margin: 0; }

/* ---------------- FAQ ---------------- */
.svc-faq { display: grid; gap: 10px; }
.svc-faq__item { background: var(--surface); border: 1px solid var(--line); border-radius: 14px; padding: 4px 20px; }
.svc-faq__q { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-md); color: var(--ink);
    cursor: pointer; padding: 16px 28px 16px 0; position: relative; list-style: none; }
.svc-faq__q::-webkit-details-marker { display: none; }
.svc-faq__q::after { content: '+'; position: absolute; right: 0; top: 50%; transform: translateY(-50%);
    font-size: 22px; color: var(--green); font-weight: 400; line-height: 1; transition: transform .2s; }
.svc-faq__item[open] .svc-faq__q::after { content: '−'; }
.svc-faq__a { color: var(--ink-soft); font-size: var(--fs-md); line-height: var(--lh-read); padding: 0 0 18px; max-width: 760px; }

/* ---------------- ФОРМА ---------------- */
/* версия 129: раздел с формой — полоса с собственным отступом сверху; ссылка «Оставить заявку» ставит её к верху окна */
.svc-leadwrap, .svc-sec[id] { scroll-margin-top: 0; }
.svc-lead { background: var(--surface); border: 1px solid var(--line); border-radius: 22px;
    padding: 40px; box-shadow: var(--shadow-h); max-width: 760px; margin: 0 auto; }
.svc-lead__head { text-align: center; margin-bottom: 24px; }   /* 254 */
/* версия 164: подписка под формой заявки («Разместить компанию») — по центру, как карточка формы над ней (раньше
   прижималась влево), и ближе к форме: у полосы с формой свой нижний отступ */
.svc-leadwrap > .svc-sec { padding: 32px 0 0; }
.svc-leadwrap .nl--card { margin-left: auto; margin-right: auto; }
.svc-lead__title { margin-bottom: 8px; }
.svc-lead__sub { color: var(--ink-soft); font-size: var(--fs-lead); line-height: var(--lh-body); margin: 0; }
.svc-form { display: grid; gap: 14px; }
.svc-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.svc-input { font-family: inherit; font-size: var(--fs-ui); color: var(--ink); width: 100%;
    border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; background: #fbfcfe;
    outline: none; resize: vertical; transition: .15s; }
.svc-input:focus { border-color: var(--green); background: #fff; }
.svc-consent { display: flex; gap: 10px; align-items: flex-start; font-size: var(--fs-xs); color: var(--muted); line-height: var(--lh-ui); }
.svc-consent input { margin-top: 2px; flex: 0 0 auto; }
.svc-consent a { color: var(--green-deep); }
/* подпись бывает длинной («Отправить заявку 4 компаниям») — на узком экране переносится, а не распирает страницу */
.svc-form__submit { width: 100%; margin-top: 4px; white-space: normal; text-align: center; }
.svc-form__note { text-align: center; color: var(--muted); font-size: var(--fs-caps); margin: 0; }

/* состояние «успех» (подменяется JS) */
.svc-lead-ok { text-align: center; padding: 40px 20px; font-family: var(--font-d); font-weight: 600;
    font-size: var(--fs-h5); color: var(--ink); line-height: var(--lh-ui); }
.svc-lead-ok span { display: block; font-family: var(--font-b); font-weight: 400; font-size: var(--fs-ui); color: var(--ink-soft); margin-top: 8px; }

/* ---------------- ХАБ УСЛУГ ---------------- */
.svc-hero--center { grid-template-columns: 1fr; text-align: center; }
.svc-hero--center .svc-hero__lead { margin-left: auto; margin-right: auto; }
.svc-hero--center .svc-eyebrow { margin: 0 auto; }

.svc-hub { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.svc-hub--3 { grid-template-columns: repeat(3, 1fr); }
/* страница размещения: строка ссылок на другие услуги и блок «как мы работаем» */
.svc-more { margin: 18px 0 0; color: var(--ink-soft); font-size: var(--fs-md); line-height: var(--lh-read); }
.svc-more a { color: var(--green-deep); font-weight: 600; text-decoration: none; }
.svc-more a:hover { text-decoration: underline; }
.svc-principles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
/* нечётное число пунктов — последний во всю ширину, а не один в левой колонке */
.svc-principles > .svc-principle:last-child:nth-child(odd) { grid-column: 1 / -1; }
.svc-principle { display: flex; gap: 12px; align-items: flex-start; padding: 18px 20px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); }
.svc-principle b { display: block; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-md); margin-bottom: 4px; }
.svc-principle span:not(.svc-plan__mark) { display: block; color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-ui); }
@media (max-width: 760px) { .svc-principles { grid-template-columns: 1fr; } }
/* очень узкий экран (320–400 px): плитки в шапке услуги компактнее, иначе слово вроде «Кабинет» раздвигало сетку шире экрана */
@media (max-width: 400px) {
    .svc-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .svc-stat { padding: 14px; min-width: 0; }
    .svc-stat__n { font-size: 21px; }
    .svc-stat__t { hyphens: auto; overflow-wrap: anywhere; }
    .svc-h1 { hyphens: auto; overflow-wrap: anywhere; }   /* длинное слово в заголовке («квалифицированные»): перенос, а не выход за экран */
}
/* отдельное направление в разделе услуг — широкий блок над карточками (сайт компании под ключ) */
.svc-hub-feat { display: flex; align-items: center; gap: 24px; padding: 28px 32px; border-radius: var(--radius); text-decoration: none;
    background: linear-gradient(120deg, #16294a, #1b3a6b); color: #fff; box-shadow: var(--shadow); transition: .18s; }
.svc-hub-feat:hover { box-shadow: var(--shadow-h); transform: translateY(-2px); }
/* на тёмном блоке — светлая иконка на полупрозрачной плитке; линия тоньше: иконка здесь крупная */
.svc-hub-feat__ico { flex: 0 0 76px; width: 76px; height: 76px; border-radius: 22px; display: grid; place-items: center; background: rgba(255,255,255,.12); color: #fff; font-size: 36px; line-height: 1; }
.svc-hub-feat__ico .ic { width: 50px; height: 50px; stroke-width: 1.3; }
.svc-hub-feat__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.svc-hub-feat__eyebrow { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-caps); letter-spacing: .08em; text-transform: uppercase; color: #9fc0ff; }
.svc-hub-feat__h { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h2); letter-spacing: var(--ls-tight); line-height: var(--lh-tight); }
.svc-hub-feat__d { color: #c9d6ec; font-size: var(--fs-md); line-height: var(--lh-ui); max-width: 640px; }
.svc-hub-feat__side { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.svc-hub-feat__price { font-family: var(--font-d); font-weight: 700; font-size: 20px; white-space: nowrap; }
/* второе направление идёт сразу за первым */
.svc-hub-feat--next { margin-top: 14px; }
/* первое направление (упаковка) — светлее, чтобы два тёмных блока не сливались */
.svc-hub-feat--first { background: linear-gradient(120deg, #1b6ae5, #2f80ed); }
.svc-hub-feat--first .svc-hub-feat__eyebrow { color: #d6e6ff; }
.svc-hub-feat--first .svc-hub-feat__d { color: #e8f0ff; }
.svc-hub-feat--first .svc-btn--accent { background: #fff; color: var(--green-deep); }
/* десять этапов — по пять в ряд (на средней ширине — как обычно, по два) */
@media (min-width: 1181px) { .svc-steps:has(> :nth-child(10):last-child) { grid-template-columns: repeat(5, 1fr); } }
/* пять шагов — в один ряд из пяти (в сетке по четыре пятый оставался один во втором ряду) */
@media (min-width: 1181px) { .svc-steps:has(> :nth-child(5):last-child) { grid-template-columns: repeat(5, 1fr); gap: 14px; } .svc-steps:has(> :nth-child(5):last-child) .svc-step { padding: 20px 18px; } }
/* уже — шаги идут по два: при нечётном числе последний занимает всю строку */
@media (min-width: 561px) and (max-width: 1180px) { .svc-steps > .svc-step:last-child:nth-child(odd) { grid-column: 1 / -1; } }
/* шесть шагов — два ровных ряда по три, а не четыре и два */
@media (min-width: 1181px) { .svc-steps:has(> :nth-child(6):last-child) { grid-template-columns: repeat(3, 1fr); } }
/* ссылка на подробную инструкцию под шагами */
.svc-steps__more { margin: 20px 0 0; font-size: var(--fs-ui); }
.svc-steps__more a { color: var(--green-deep); font-weight: 600; }
/* услуги того же направления под блоком: две ссылки-плашки */
.svc-hub-feat__more { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; }
.svc-hub-feat__link { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border: 1px solid var(--line); border-radius: 12px;
    background: var(--surface); text-decoration: none; color: var(--ink); transition: .15s; }
.svc-hub-feat__link:hover { border-color: rgba(27,106,229,.4); box-shadow: var(--shadow); }
.svc-hub-feat__link b { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-md); }
.svc-hub-feat__link span { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-snug); }
@media (max-width: 760px) {
    .svc-hub-feat__more { grid-template-columns: 1fr; }
    .svc-hub-feat { flex-direction: column; align-items: flex-start; padding: 24px; gap: 16px; }
    .svc-hub-feat__side { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
}
.svc-hub__card { display: flex; flex-direction: column; background: var(--surface); border: 1px solid var(--line);
    border-radius: 18px; padding: 28px; box-shadow: var(--shadow); text-decoration: none; color: inherit; transition: .18s; }
.svc-hub__card:hover { box-shadow: var(--shadow-h); transform: translateY(-3px); border-color: rgba(27,106,229,.35); }
.svc-hub__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
/* название услуги — h3 внутри группы (раньше h2): вид прежний */
h3.svc-hub__name { margin-top: 0; }
/* .svc-hub__ico — иконка набора на плитке (css/layout.css, .ic-plate) */
.svc-hub__tag { font-family: var(--font-d); font-weight: 600; font-size: var(--fs-caps); letter-spacing: .03em;
    color: var(--green-deep); background: rgba(27,106,229,.1); border-radius: 999px; padding: 5px 12px; }
.svc-hub__name { font-family: var(--font-d); font-weight: var(--fw-sub); font-size: var(--fs-h5); margin: 0 0 8px; line-height: var(--lh-head); letter-spacing: var(--ls-sub); }
.svc-hub__desc { color: var(--ink-soft); font-size: var(--fs-md); line-height: var(--lh-ui); margin: 0 0 20px; }
.svc-hub__foot { display: flex; align-items: baseline; justify-content: space-between; margin-top: auto;
    padding-top: 16px; border-top: 1px solid var(--line); }
.svc-hub__price { font-family: var(--font-d); font-weight: 800; font-size: var(--fs-read); color: var(--ink); }
.svc-hub__more { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--green-deep); }

.svc-hub-cta { display: flex; align-items: center; justify-content: space-between; gap: 22px; flex-wrap: wrap;
    background: linear-gradient(135deg, #eef3ff 0%, #f5f7fa 70%); border: 1px solid var(--line);
    border-radius: 20px; padding: 30px 34px; }
.svc-hub-cta__h { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h4); margin-bottom: 4px; line-height: var(--lh-head); letter-spacing: var(--ls-head); }
.svc-hub-cta p { margin: 0; color: var(--ink-soft); font-size: var(--fs-md); line-height: var(--lh-ui); }

/* ---------------- АДАПТИВ ---------------- */
@media (max-width: 920px) {
    .svc-hub { grid-template-columns: 1fr; }
    .svc-hub-cta { flex-direction: column; align-items: flex-start; }
    .svc-hero { grid-template-columns: 1fr; padding: 32px; gap: 28px; }
    .svc-grid { grid-template-columns: repeat(2, 1fr); }
    .svc-plans { grid-template-columns: 1fr; }
    .svc-plan--hot { transform: none; }
    .svc-steps { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
    .svc { padding: 20px 16px 0; }
    .svc-hero { padding: 24px; }
    .svc-stats { grid-template-columns: 1fr 1fr; }
    .svc-grid { grid-template-columns: 1fr; }
    .svc-steps { grid-template-columns: 1fr; }
    .svc-lead { padding: 28px 20px; }
    .svc-form__submit { line-height: var(--lh-head); }
    .svc-form__row { grid-template-columns: 1fr; }
}

/* ---------- тарифы размещения: таблица include/tariff_table.php (стили .tf-* — tariffs.css) ---------- */
.svc-tariffs { margin: 0 0 22px; }
.svc-tariffs .tf-legend { margin-top: 12px; }
.svc-tariffs__cat { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; margin: 0 0 16px; font-weight: 600; }
.svc-tariffs__cat .svc-input { width: auto; min-width: 280px; max-width: 100%; }
.svc-form__plan { margin: 0; font-family: var(--font-d); font-weight: 600; font-size: var(--fs-sm); color: var(--green-deep); }
.svc-form__plan[hidden] { display: none; }

/* ---------- от чего зависит стоимость + что входит дополнительно ---------- */
.svc-terms { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 18px; align-items: start; }
.svc-terms__main, .svc-terms__opts { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 26px; }
.svc-terms__main { border-color: rgba(27,106,229,.35); box-shadow: var(--shadow-h); }
.svc-terms__h { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-read); margin: 0 0 14px; }
.svc-terms__factors { margin: 0 0 18px; padding-left: 20px; color: var(--ink); font-size: var(--fs-ui); line-height: var(--lh-ui); }
.svc-terms__factors li { margin-bottom: 8px; }
.svc-terms__note { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-ui); margin: 0 0 18px; }
.svc-terms__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 22px; }
.svc-terms__list li { display: flex; gap: 10px; align-items: flex-start; }
.svc-terms__list .svc-plan__mark { flex: 0 0 auto; color: var(--green-deep); font-weight: 700; }
.svc-terms__list b { display: block; font-family: var(--font-d); font-weight: 700; font-size: var(--fs-ui); margin-bottom: 2px; }
.svc-terms__list span { color: var(--ink-soft); font-size: var(--fs-ui); line-height: var(--lh-ui); }
@media (max-width: 900px) { .svc-terms { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .svc-terms__list { grid-template-columns: 1fr; } .svc-terms__main, .svc-terms__opts { padding: 20px; } }

/* самый узкий экран: длинное слово в плитке шапки («Финмодель») выходило за плитку */
@media (max-width: 380px) { .svc-stat__n { font-size: 18px; } }

/* ============================================================
   ВЕРСИЯ 174: ТЁМНЫЙ ПЕРВЫЙ ЭКРАН (.svc--dark, .svc-hero--dark; site.config.php → services.hero_dark)
   Страницы услуг, «Разместить компанию» и витрина /services/ — как главная (.hm-hero--dark, css/home.css): тёмно-синий
   фон с голубой подсветкой справа и тёплой снизу слева, во всю ширину окна сразу под меню. Хлебные крошки, заголовок и
   кнопки — светлые, плитки — полупрозрачные панели.
   Шапка (.svc-hero) остаётся первым <section> колонки .svc — чередование полос ниже не меняется. Фон выведен за края
   колонки рамкой-картинкой с выносом (border-image-outset): вынос не занимает места и не даёт прокрутки вбок, в отличие
   от блока шириной 100vw. Картинка — SVG с теми же тремя градиентами, что у главной (у рамки картинка одна, а у главной
   градиентов три). --svc-out — от края колонки до края окна: 1160 px — колонка .st-wrap (1200 px) без полей по 20 px.
   Поля колонки — 20 px на любой ширине: стили шаблона (layout.css, .st-wrap) Битрикс выводит после стилей страницы, и
   поля 16 px из правила .svc для телефона до страницы не доходят. Где они всё же действуют, вынос на 4 px длиннее —
   лишнее уходит за край окна, прокрутки не даёт.
   ============================================================ */
.svc.svc--dark { padding-top: 0; --svc-out: max(20px, (100vw - 1160px) / 2); }
/* border после border-image нельзя: свойство border сбрасывает и рамку-картинку. Сплошной тёмный фон под картинкой —
   для браузеров без max() в выносе (рамка-картинка там не рисуется): белый текст остаётся на тёмном, хоть и в колонке */
.svc-hero.svc-hero--dark { color: #fff; background: #0f1d33; border: 0; border-radius: 0; padding: 26px 0 64px; row-gap: 30px;
    border-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3ClinearGradient id='l' x2='1.2' y2='.4'%3E%3Cstop stop-color='%2316294a'/%3E%3Cstop offset='.6' stop-color='%230f1d33'/%3E%3Cstop offset='1' stop-color='%230b1628'/%3E%3C/linearGradient%3E%3CradialGradient id='a' cx='0' cy='0' r='1' gradientTransform='matrix(.55 0 0 .75 .82 .25)'%3E%3Cstop stop-color='%231b6ae5' stop-opacity='.4'/%3E%3Cstop offset='.7' stop-color='%231b6ae5' stop-opacity='0'/%3E%3C/radialGradient%3E%3CradialGradient id='b' cx='0' cy='0' r='1' gradientTransform='matrix(.45 0 0 .6 .05 1)'%3E%3Cstop stop-color='%23f0a431' stop-opacity='.22'/%3E%3Cstop offset='.7' stop-color='%23f0a431' stop-opacity='0'/%3E%3C/radialGradient%3E%3Crect width='100%25' height='100%25' fill='url(%23l)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23a)'/%3E%3Crect width='100%25' height='100%25' fill='url(%23b)'/%3E%3C/svg%3E") 0 fill / 0 / 0 var(--svc-out); }
.svc-hero--dark .svc-hero__col > :last-child { margin-bottom: 0; }
/* хлебные крошки — первой строкой экрана, над обеими колонками */
.svc-hero--dark > .svc-bc { grid-column: 1 / -1; margin: 0; }
.svc-hero--dark .svc-bc a { color: #9fb0cc; }
.svc-hero--dark .svc-bc a:hover { color: #fff; }
.svc-hero--dark .svc-bc span { color: rgba(255,255,255,.35); }
.svc-hero--dark .svc-bc b { color: #fff; }
.svc-hero--dark .svc-eyebrow { background: none; border-radius: 0; padding: 0; font-size: var(--fs-xs); color: #8fb6ff; }
.svc-hero--dark .svc-h1 { color: #fff; margin-top: 12px; }
/* версия 252: ключевые слова H1 выделены цветом (<em>), как на главной (.hm-hero__title em) — ради конверсии;
   исключение из правила «без цветного текста в заголовках», см. STANDARD.md, раздел 2 */
.svc-hero--dark .svc-h1 em { color: #7fb0ff; }
.svc-hero--dark .svc-hero__lead { color: #b8c4d8; }
/* 251: на тёмном первом экране кнопка остаётся ярко-синей — --btn на #0f1d33 почти не виден (2,0 : 1) */
.svc-hero--dark .svc-btn--accent { background: var(--green); }
.svc-hero--dark .svc-btn--accent:hover { background: #1559c7; box-shadow: 0 8px 20px rgba(0,0,0,.3); }
.svc-hero--dark .svc-btn--ghost { background: rgba(255,255,255,.06); color: #fff; border-color: rgba(255,255,255,.35); }
.svc-hero--dark .svc-btn--ghost:hover { background: rgba(255,255,255,.14); color: #fff; border-color: rgba(255,255,255,.6); }
.svc-hero--dark .svc-btn:focus-visible, .svc-hero--dark .svc-bc a:focus-visible { outline: 3px solid rgba(127,176,255,.7); outline-offset: 2px; }
.svc-hero--dark .svc-stat { background: rgba(255,255,255,.07); border-color: rgba(255,255,255,.14); box-shadow: none; }
.svc-hero--dark .svc-stat__n { color: #fff; }
.svc-hero--dark .svc-stat__n .ic { --ic-accent: #ffc857; }
.svc-hero--dark .svc-stat__t { color: #b8c4d8; }
/* первая полоса — сразу под экраном, без серого зазора */
.svc.svc--dark > .svc-hero--dark + .svc-sec { margin-top: 0; }
@media (max-width: 920px) {
    .svc-hero.svc-hero--dark { padding: 22px 0 44px; row-gap: 24px; }
}
@media (max-width: 560px) {
    .svc-hero.svc-hero--dark { padding: 18px 0 36px; row-gap: 20px; }
}
/* режим высокой контрастности Windows: цвета текста заменяет система — тёмный фон-картинку убираем */
@media (forced-colors: active) { .svc-hero.svc-hero--dark { border-image: none; background: none; } }
/* печать: без тёмного фона, текст — тёмный, как в светлой шапке */
@media print {
    .svc-hero.svc-hero--dark { border-image: none; background: none; color: var(--ink); }
    .svc-hero--dark .svc-h1, .svc-hero--dark .svc-bc b, .svc-hero--dark .svc-stat__n { color: var(--ink); }
    .svc-hero--dark .svc-h1 em { color: var(--green-deep); }
    .svc-hero--dark .svc-hero__lead, .svc-hero--dark .svc-bc a, .svc-hero--dark .svc-stat__t, .svc-hero--dark .svc-eyebrow { color: var(--ink-soft); }
    .svc-hero--dark .svc-bc span { color: var(--muted); }
    .svc-hero--dark .svc-btn--ghost { color: var(--btn); border-color: rgba(13,75,160,.45); }
}

/* ---------------- ТЕКСТОВЫЕ РАЗДЕЛЫ (версия 188) ----------------
   $svc['sections'] и $svc['stepsNote'] в /services/_render.php: подробный текст страницы услуги — абзацы, подзаголовки,
   списки с галочками, нумерованные списки, таблицы, рисунки. Колонка текста — не шире 860 px (до ~95 знаков в строке),
   таблицы и списки в две колонки — на всю ширину раздела. */
.svc-prose { color: var(--ink-soft); font-size: var(--fs-text); line-height: var(--lh-read); }
.svc-prose > p, .svc-prose > h3, .svc-prose > ol, .svc-prose > ul:not(.svc-checks--2) { max-width: 860px; }
.svc-prose p { margin: 0 0 var(--sp-p); }
.svc-prose > :last-child { margin-bottom: 0; }
.svc-prose b, .svc-prose strong { color: var(--ink); font-weight: 600; }
.svc-prose a { color: var(--green-deep); font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.svc-prose a:hover { text-decoration-thickness: 2px; }
.svc-prose h3 { font-family: var(--font-d); font-weight: var(--fw-head); font-size: var(--fs-h4); line-height: var(--lh-head); letter-spacing: var(--ls-head); color: var(--ink); margin: var(--sp-h3-before) 0 var(--sp-h3-after); }
.svc-prose > h3:first-child { margin-top: 0; }
/* список с галочками */
.svc-checks { list-style: none; margin: 0 0 var(--sp-block); padding: 0; display: grid; gap: 12px; }
.svc-checks--2 { grid-template-columns: 1fr 1fr; gap: 14px 18px; }
.svc-checks li { position: relative; padding: 16px 18px 16px 52px; background: var(--surface); border: 1px solid var(--line);
    border-radius: 14px; font-size: var(--fs-md); line-height: var(--lh-ui); color: var(--ink); }
.svc-sec:nth-of-type(even) .svc-checks li { background: var(--bg); }
.svc-checks li::before { content: ''; position: absolute; left: 16px; top: 15px; width: 24px; height: 24px; border-radius: 50%;
    background: rgba(27,106,229,.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230d4ba0' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 16px no-repeat; }
.svc-checks--warn li::before { background: rgba(244,156,8,.16) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b86e00' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 6v8M12 18.5v.01'/%3E%3C/svg%3E") center / 16px no-repeat; }
.svc-checks li b { display: block; margin-bottom: 2px; }
/* нумерованный список */
.svc-num { list-style: none; margin: 0 0 var(--sp-block); padding: 0; counter-reset: svcn; display: grid; gap: 14px; }
.svc-num li { counter-increment: svcn; position: relative; padding-left: 50px; min-height: 34px; }
.svc-num li::before { content: counter(svcn); position: absolute; left: 0; top: 0; width: 34px; height: 34px; border-radius: 10px;
    background: rgba(27,106,229,.1); color: var(--green-deep); font-family: var(--font-d); font-weight: 800; font-size: var(--fs-md);
    display: flex; align-items: center; justify-content: center; }
/* таблица: на узком экране прокручивается внутри своей рамки, а не всей страницей */
.svc-table { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: var(--sp-block) 0; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); }
.svc-table table { width: 100%; min-width: 640px; border-collapse: collapse; font-size: var(--fs-ui); line-height: var(--lh-ui); }
.svc-table th, .svc-table td { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.svc-table th { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-sm); color: var(--ink); background: #eef1f5; }
.svc-table td { color: var(--ink-soft); }
.svc-table td:first-child { color: var(--ink); font-weight: 600; }
.svc-table tr:last-child td { border-bottom: 0; }
/* рисунок */
.svc-fig { margin: var(--sp-block) 0; max-width: var(--measure); }
.svc-fig img { display: block; width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--line); }
.svc-fig figcaption { margin-top: 10px; color: var(--muted); font-size: var(--fs-sm); line-height: var(--lh-ui); }
.svc-note { color: var(--muted); font-size: 14px !important; line-height: var(--lh-ui); font-style: italic; }
/* карточка «что входит» со списком документов */
.svc-card__list { list-style: none; margin: 14px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line); display: grid; gap: 7px; }
.svc-card__list li { position: relative; padding-left: 16px; font-size: var(--fs-sm); line-height: var(--lh-snug); color: var(--ink); }
.svc-card__list li::before { content: ''; position: absolute; left: 2px; top: .6em; width: 6px; height: 6px; border-radius: 50%; background: var(--green); }
/* четыре карточки — в ряд на широком экране, два ряда по две — на среднем */
@media (min-width: 1181px) { .svc-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 561px) and (max-width: 1180px) { .svc-grid:has(> :nth-child(4):last-child) { grid-template-columns: repeat(2, 1fr); } }
.svc-steps__note { margin-top: 26px; }
@media (max-width: 760px) {
    .svc-checks--2 { grid-template-columns: 1fr; }
    .svc-table th, .svc-table td { padding: 12px 14px; }
}
/* версия 242: читаемость текстовых разделов — как у статей и карточки компании (версии 237–241).
   Текст — основным тёмным цветом (был серо-синий --ink-soft на всех абзацах подробного текста); колонка 760 px вместо 860
   (было ~95 знаков в строке, стало ~80); 16 px между абзацами вместо 14; под подзаголовком h3 14 px вместо 10.
   Ссылки — обычной жирности 500 вместо 600 и с полупрозрачной линией: на странице их по десятку, полужирные пестрили. */
.svc-prose { color: var(--ink); }
.svc-prose > p, .svc-prose > h3, .svc-prose > ol, .svc-prose > ul:not(.svc-checks--2), .svc-fig { max-width: var(--measure); }
.svc-prose h3 { text-wrap: balance; }
.svc-prose > h3:first-child { margin-top: 0; }
.svc-prose a { font-weight: 500; text-underline-offset: .2em; text-decoration-color: rgba(13, 75, 160, .4); transition: text-decoration-color .15s; }
.svc-prose a:hover { text-decoration-thickness: 1px; text-decoration-color: currentColor; }
.svc-prose :is(p, li) { text-wrap: pretty; }
.svc-num li { line-height: var(--lh-body); }
.svc-table table { font-variant-numeric: tabular-nums; }
/* ответы в FAQ — тоже основным цветом, это такой же текст для чтения */
.svc-faq__a { color: var(--ink); }
.svc-h2 { text-wrap: balance; }
@media (max-width: 560px) {
    .svc-prose :is(p, li), .svc-faq__a { -webkit-hyphens: auto; hyphens: auto; hyphenate-limit-chars: 6 3 3; }
}
/* версия 243: на узком экране подзаголовок в тексте — 18 px (было 19) и 30 px над ним: правило 242 выше по файлу
   перебивало мобильные 28 px своими 36 */
@media (max-width: 760px) {
    .svc-prose > h3:first-child { margin-top: 0; }
}
/* семь этапов при четырёх колонках (шире 920 px): последний — обычной ширины, без растягивания на весь ряд */
@media (min-width: 921px) { .svc-steps:has(> :nth-child(7):last-child) > .svc-step:last-child { grid-column: auto; } }

/* ============================================================
   ВЕРСИЯ 269: ПЕРВЫЙ ЭКРАН УСЛУГИ — КАК НА «РАЗМЕСТИТЬ Компанию»
   Справа — «окно» (.pl-window из placement.css) со списком того, что получит клиент: значок, название, одна строка,
   галочка справа. Окно не обрезается снизу (у снимка экрана на «Разместить» внизу растворение — здесь список целиком).
   ============================================================ */
.pl-window.svc-win { max-height: none; }
.pl-window.svc-win::after { content: none; }
.svc-win__list { list-style: none; margin: 0; padding: 6px 0; }
.svc-win__item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 14px; padding: 14px 18px; }
.svc-win__item + .svc-win__item { border-top: 1px solid #eef0f4; }
.svc-win__ico { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: #eef3fb; color: var(--green-deep); }
.svc-win__text { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.svc-win__text b { font-family: var(--font-d); font-weight: 700; font-size: var(--fs-md); line-height: var(--lh-head); color: var(--ink); }
.svc-win__text span { font-size: var(--fs-sm); line-height: var(--lh-snug); color: var(--ink-soft); }
.svc-win__ok { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; background: #e7f6ec; color: #1f8a4c; }
@media (max-width: 560px) { .svc-win__item { grid-template-columns: 38px minmax(0, 1fr); padding: 12px 14px; gap: 12px; } .svc-win__ico { width: 38px; height: 38px; } .svc-win__ok { display: none; } }

/* End */
/* /bitrix/templates/promonews/css/blog.css?179301318746174 */
/* /bitrix/templates/promonews/css/service.css?179301318844939 */
