/* Шаблон services-seo. Только то, чего нет в глобальных стилях сайта:
   блок «Кратко», оглавление, этапы, «почему мы», кейсы, автор.
   Таблицы, кнопки, аккордеон FAQ, форма — из template.css / service.css. */

/* Заголовки блоков: воздух между H2 и содержимым, одинаковый на всех блоках */
.seo-page .seo-block > .b-content-inner__title, .seo-page .seo-block > h2 { margin-bottom: 32px !important; }
.seo-page .seo-tasks__title { margin-bottom: 26px; }
.seo-page .seo-block > .seo-price-note, .seo-page .seo-block > .seo-docs__intro { margin-top: -12px; }

.seo-page .b-co-content + .seo-block,
.seo-page .seo-block + .seo-block,
.seo-page .seo-block + .b-co-content { margin-top: 44px; }

/* Обложка — лента 1792×656 (как 1582×583 у старых услуг): масштабируется
   по ширине колонки, высота из пропорции. Явно, чтобы стили старой обложки
   не растягивали её по высоте. */
.seo-hero { display: block; width: 100%; height: auto; aspect-ratio: 1792 / 656; overflow: hidden; border-radius: 6px 6px 0 0; }
.seo-hero img { display: block; width: 100% !important; height: 100% !important; max-height: none; object-fit: cover; }

/* Первый блок одним кеглем и начертанием — правка клиента 21.09.2026 */
.seo-lead p { font-size: 17px; line-height: 1.55; }
.seo-lead b { font-weight: inherit; }

/* Кратко */
.seo-brief {
    margin: 28px 0 8px;
    padding: 24px 28px;
    background: #f5f6f8;
    border-left: 4px solid var(--main-color, #f4943b);
    border-radius: 6px;
}
.seo-brief__title {
    font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
    color: #6b7078; margin-bottom: 12px;
}
.seo-brief__list { list-style: none; margin: 0; padding: 0; }
.seo-brief__list li { display: flex; gap: 12px; padding: 7px 0; border-bottom: 1px solid #e6e8eb; font-size: 16px; line-height: 1.45; }
.seo-brief__list li:last-child { border-bottom: 0; }
.seo-brief__label { flex: 0 0 150px; color: #6b7078; }
.seo-brief__value { flex: 1; }
.seo-brief__btn { display: inline-block; margin-top: 18px; }

/* Разделы кластера — карточки вложенных страниц на разводящей */
.seo-sub__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.seo-sub__card {
    display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 16px;
    border: 1px solid #e6e8eb; border-left: 4px solid var(--main-color, #f4943b); border-radius: 6px;
    background: #fff; color: inherit; text-decoration: none; transition: box-shadow .15s;
}
.seo-sub__card:hover { box-shadow: 0 6px 18px rgba(0,0,0,.08); }
.seo-sub__name { font-size: 17px; font-weight: 700; line-height: 1.3; }
.seo-sub__text { font-size: 14px; line-height: 1.45; color: #6b7078; }
.seo-sub__more { margin-top: auto; font-size: 14px; font-weight: 600; color: var(--main-color, #f4943b); }

/* Оглавление */
.seo-toc { margin: 24px 0 8px; padding: 18px 24px; border: 1px solid #e6e8eb; border-radius: 6px; }
.seo-toc__title { font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #6b7078; margin-bottom: 10px; }
.seo-toc__list { margin: 0; padding: 0 0 0 20px; columns: 2; column-gap: 32px; }
.seo-toc__list li { break-inside: avoid; padding: 3px 0; font-size: 15px; }
.seo-toc__list a { color: inherit; text-decoration: none; border-bottom: 1px solid #c9ccd1; }
.seo-toc__list a:hover { border-bottom-color: var(--main-color, #f4943b); }

.seo-price-note { margin: -8px 0 16px; color: #6b7078; font-size: 15px; }
.seo-price-date { margin: 10px 0 0; color: #6b7078; font-size: 14px; }
/* Подвал карточки прайса: примечание слева, дата цен справа — внутри рамки таблицы */
.seo-page .seo-price-foot__text { flex: 1 1 auto; min-width: 0; }
.seo-page .seo-price-foot { display: flex; align-items: center; justify-content: space-between; gap: 8px 24px; padding: 14px 20px; background: #f6f6f6; border-top: 1px solid #e6e8eb; }
.seo-page .seo-price-foot__text p { margin: 0 !important; font-size: 14px; line-height: 1.45; color: #4d4d4d; }
.seo-page .seo-price-foot .seo-price-date { display: inline-flex; align-items: center; gap: 7px; margin: 0 0 0 auto !important; font-size: 13px; line-height: 1.4; color: #6b7078; white-space: nowrap; }
.seo-page .seo-price-foot .seo-price-date::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4943b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3.5' y='5' width='17' height='15.5' rx='2.5'/><path d='M3.5 10h17M8 3v4M16 3v4'/></svg>") center/16px no-repeat; }
@media (max-width: 767.98px) {
    .seo-page .seo-price-foot { flex-direction: column; align-items: flex-start; padding: 12px 16px; border: 1px solid #e6e8eb; border-radius: 12px; }
    .seo-page .seo-price-foot .seo-price-date { margin: 0 !important; white-space: normal; }
}

/* Списки «что входит» и «документы» */
/* «Что входит» — две колонки, у каждого пункта оранжевая лента слева (мотив логотипа):
   название своей строкой, пояснение под ним. Обёртку li в span скрипт сайта тоже может добавить. */
.seo-check { list-style: none !important; margin: 4px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; }
.seo-page .seo-check__item { position: relative; margin: 0 !important; padding: 4px 0 4px 18px !important; border-bottom: 0 !important; font-size: 15px; line-height: 1.5; }
.seo-page .seo-check__item::before { content: "" !important; position: absolute; left: 0; top: 6px; bottom: 6px; width: 4px; border: 0 !important; transform: none !important; height: auto !important; border-radius: 2px; background: var(--main-color, #f4943b); }
.seo-page .seo-check__item > span:not(.seo-check__name):not(.seo-check__desc) { display: block; }
.seo-page .seo-check__name { display: block; font-size: 16px; font-weight: 800; line-height: 1.3; color: #2b2b2b; }
.seo-page .seo-check__desc { display: block; margin-top: 3px; font-size: 14px; line-height: 1.45; color: #4d4d4d; }
.seo-page .seo-check__desc a { color: var(--orange-hover, #e58124); text-decoration: underline; text-underline-offset: 2px; }

/* Документы — чек-лист «что подготовить»: две колонки, название своей строкой, пояснение под ним */
.seo-docs { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; counter-reset: doc; }
/* скрипт сайта оборачивает содержимое li в span — флекс вешаем и на li, и на эту обёртку */
.seo-page .seo-docs__item, .seo-page .seo-docs__item > span:not(.seo-docs__box):not(.seo-docs__body) { display: flex !important; align-items: flex-start; gap: 14px; }
.seo-page .seo-docs__item { padding: 16px 18px !important; background: #f6f6f6; border-radius: 12px; border-bottom: 0 !important; }
.seo-page .seo-docs__item > span:not(.seo-docs__box):not(.seo-docs__body) { flex: 1; min-width: 0; }
.seo-page .seo-docs__item::before { display: none !important; }
.seo-page .seo-docs__box { display: block !important; flex: 0 0 26px; width: 26px !important; min-width: 26px; height: 26px !important; margin-top: 1px; border-radius: 7px; border: 2px solid var(--main-color, #f4943b); background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='%23f4943b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/15px no-repeat; }
.seo-page .seo-docs__body { display: flex !important; flex-direction: column; gap: 3px; min-width: 0; }
.seo-page .seo-docs__name { display: block; font-size: 16px; font-weight: 700; line-height: 1.3; color: #2b2b2b; }
.seo-page .seo-docs__hint { display: block; font-size: 14px; line-height: 1.45; color: #4d4d4d; }


/* Цифры компании — тёмные карточки с оранжевым числом (слайд «23 года») */
.seo-facts__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.seo-facts__item { position: relative; padding: 20px 52px 18px 20px; background: #3d3d3d; color: #fff; border-radius: 12px; }
.seo-facts__item::after { content: ""; position: absolute; top: 16px; right: 16px; width: 26px; height: 26px; border-radius: 50%; background: var(--main-color, #f4943b) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/16px no-repeat; }
.seo-facts__num { font-size: 38px; font-weight: 800; line-height: 1.1; color: var(--main-color, #f4943b); }
.seo-facts__cap { margin-top: 6px; font-size: 14px; line-height: 1.4; color: #e6e6e6; }

/* ---------- Этапы: маршрут декларации на одной линии ----------
   Узлы слева в колонках, линия от центра первого узла до центра последнего,
   после последнего — пунктирная стрелка «что дальше». Строки колонок выровнены
   сеткой: заголовки, тексты и сроки стоят на одной высоте во всех колонках. */
.seo-steps__wrap { position: relative; margin: 8px 0 0; }
.seo-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(var(--n, 3), 1fr); grid-template-rows: auto auto auto 1fr auto; column-gap: 28px; row-gap: 0; position: relative; }
/* каждый элемент этапа — в своей строке и колонке, чтобы отсутствие заголовка не сдвигало поток */
.seo-steps__item > * { grid-column: var(--i, 1); }
.seo-steps__node { grid-row: 1; } .seo-steps__eyebrow { grid-row: 2; } .seo-steps__title { grid-row: 3; } .seo-steps__text { grid-row: 4; } .seo-steps__time { grid-row: 5; }
.seo-steps::before { content: ""; position: absolute; top: 34px; height: 4px; left: 40px; right: calc(100% / var(--n, 3) - 36px); background: var(--main-color, #f4943b); border-radius: 2px; }
.seo-steps__item { display: contents; }
.seo-steps__item > * { min-width: 0; }
.seo-steps__node { position: relative; z-index: 1; width: 72px; height: 72px; border-radius: 50%; background: #fff; border: 4px solid var(--main-color, #f4943b); display: flex; align-items: center; justify-content: center; box-shadow: 0 6px 16px rgba(0,0,0,.10); }
.seo-steps__icon { width: 48px; height: 48px; object-fit: contain; }
.seo-steps__eyebrow { margin: 18px 0 6px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--orange-hover, #e58124); }
.seo-steps__title { font-size: 18px; font-weight: 800; line-height: 1.25; color: #2b2b2b; margin: 0 0 8px; min-height: 0; }
.seo-steps__text { font-size: 15px; line-height: 1.55; color: #4d4d4d; }
.seo-steps__time { padding-top: 14px; font-size: 13px; line-height: 20px; color: #6b7078; display: flex; align-items: center; gap: 8px; align-self: end; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.seo-steps__time::before { content: ""; flex: 0 0 20px; width: 20px; height: 20px; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4943b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>") center/20px no-repeat; }
/* хвост: от правого края последнего узла до конца блока, пунктир и стрелка, подпись под ним */
.seo-steps__tail { position: absolute; top: 35px; left: calc(100% - 100% / var(--n, 3) + 80px); right: 0; height: 0; border-top: 3px dashed var(--main-color, #f4943b); }
.seo-steps__tail::after { content: ""; position: absolute; right: -2px; top: -9px; width: 0; height: 0; border-left: 12px solid var(--main-color, #f4943b); border-top: 8px solid transparent; border-bottom: 8px solid transparent; }
.seo-steps__tail span { position: absolute; left: 10px; right: 0; top: 10px; text-align: right; font-size: 11px; line-height: 1.25; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--orange-hover, #e58124); }

/* ---------- Почему Free Lines: лента фактов в две колонки ----------
   Не плитки, а список: иконка слева, факт и пояснение справа, тонкие
   разделители. Две колонки — восемь фактов читаются за один экран. */
.seo-why__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; }
.seo-why__item { display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid #e6e8eb; }
.seo-why__item:nth-last-child(-n+2) { border-bottom: 0; }
.seo-why__icon { width: 56px; height: 56px; object-fit: contain; flex: 0 0 56px; }
.seo-why__body { min-width: 0; }
.seo-why__fact { font-size: 16px; font-weight: 800; line-height: 1.3; color: #2b2b2b; }
.seo-why__desc { margin-top: 6px; font-size: 14px; line-height: 1.5; color: #4d4d4d; }

/* ---------- Риск → как снимаем ----------
   Строка из двух половин: слева серое поле риска с оранжевой меткой, справа
   белое поле решения; между ними стрелка. Читается как «было — стало». */
.seo-risks { display: flex; flex-direction: column; gap: 12px; margin: 12px 0 4px; }
.seo-risk { display: grid; grid-template-columns: 1fr 44px 1fr; align-items: stretch; border: 1px solid #e6e8eb; border-radius: 14px; overflow: hidden; }
.seo-risk__what { padding: 18px 22px; background: #f6f6f6; }
.seo-risk__label { display: inline-flex; align-items: center; gap: 6px; margin-bottom: 8px; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #6b7078; }
.seo-risk__label::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--main-color, #f4943b); }
.seo-risk__how .seo-risk__label::before { background: #2b2b2b; }
.seo-risk__title { font-size: 16px; font-weight: 800; line-height: 1.3; color: #2b2b2b; margin: 0 0 6px; }
.seo-risk__what p, .seo-risk__how p { margin: 0; font-size: 14.5px; line-height: 1.5; color: #4d4d4d; }
.seo-risk__arrow { display: flex; align-items: center; justify-content: center; background: #f6f6f6; color: var(--main-color, #f4943b); }
.seo-risk__arrow::before { content: ""; width: 0; height: 0; border-left: 12px solid var(--main-color, #f4943b); border-top: 9px solid transparent; border-bottom: 9px solid transparent; }
.seo-risk__how { padding: 18px 22px; background: #fff; }
.seo-risk__how a { color: var(--orange-hover, #e58124); text-decoration: underline; text-underline-offset: 2px; }

/* ---------- FAQ: поверх штатного аккордеона ----------
   Вопрос без подчёркивания, круглая кнопка-плюс, ответ без серой подложки. */
.seo-page #faq .b-vc-item { box-shadow: none !important; border: 1px solid #e6e8eb; border-radius: 14px; margin: 0 0 10px !important; padding: 0 !important; transition: border-color .15s; }
.seo-page #faq .b-vc-item:hover { border-color: var(--main-color, #f4943b); }
/* скрипт сайта может обернуть содержимое шапки в span — флекс и на шапке, и на обёртке */
.seo-page #faq .b-vc-item-header, .seo-page #faq .b-vc-item-header > span { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center !important; justify-content: space-between; gap: 16px; text-align: left; }
.seo-page #faq .b-vc-item-header::before, .seo-page #faq .b-vc-item-header::after { display: none !important; content: none !important; }
.seo-page #faq .b-vc-item-header { padding: 18px 22px !important; }
.seo-page #faq .b-vc-item-header > span { flex: 1; min-width: 0; }
.seo-page #faq .b-vc-item-header a.i-accordion-header:not(.b-vc-item__arrow) { flex: 1 1 auto; min-width: 0; text-align: left; }
.seo-page #faq .b-vc-item-header .b-vc-item__arrow { flex: 0 0 auto; margin-left: auto !important; }
.seo-page #faq .b-vc-item__title { font-size: 17px !important; font-weight: 700 !important; text-decoration: none !important; color: #2b2b2b !important; line-height: 1.35; text-align: left !important; }
.seo-page #faq .i-accordion-header, .seo-page #faq .i-accordion-header * { text-decoration: none !important; }
.seo-page #faq .b-vc-item__arrow { position: relative; width: 38px !important; height: 38px !important; border-radius: 50% !important; background: #f6f6f6 !important; border: 1px solid #e6e8eb; transition: background .2s, border-color .2s; }
.seo-page #faq .b-vc-item__arrow span { display: none !important; }
/* свой шеврон: две линии под углом, поворачивается при раскрытии */
.seo-page #faq .b-vc-item__arrow::before { content: ""; position: absolute; left: 50%; top: 50%; width: 9px; height: 9px; margin: -7px 0 0 -5px; border-right: 2.5px solid #2b2b2b; border-bottom: 2.5px solid #2b2b2b; transform: rotate(45deg); transition: transform .25s ease, border-color .2s; }
.seo-page #faq .b-vc-item:hover .b-vc-item__arrow { background: var(--main-color, #f4943b) !important; border-color: var(--main-color, #f4943b); }
.seo-page #faq .b-vc-item:hover .b-vc-item__arrow::before { border-color: #fff; }
.seo-page #faq .b-vc-item.m-open .b-vc-item__arrow { background: var(--main-color, #f4943b) !important; border-color: var(--main-color, #f4943b); }
.seo-page #faq .b-vc-item.m-open .b-vc-item__arrow::before { border-color: #fff; transform: rotate(225deg); margin-top: -2px; }
.seo-page #faq .b-vc-item.m-open { border-color: var(--main-color, #f4943b); }
/* анимация раскрытия ответа и появления скрытых вопросов после «Показать еще» */
@keyframes seoFaqReveal { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.seo-page #faq .b-vc-item.m-open .b-vc-item-body { animation: seoFaqReveal .3s ease both; }
.seo-page #faq .b-vc-item { animation: seoFaqReveal .35s ease both; }
/* «Показать еще»: не сплошная кнопка, а контурная пилюля по центру */
.seo-page #faq .b-btn-orange { display: inline-flex !important; align-items: center; gap: 8px; width: auto !important; margin: 6px auto 0 !important; padding: 12px 26px !important; background: #fff !important; color: #2b2b2b !important; border: 2px solid var(--main-color, #f4943b) !important; border-radius: 24px !important; font-size: 15px !important; font-weight: 700 !important; transition: background .2s, color .2s; cursor: pointer; }
.seo-page #faq .b-btn-orange::after { content: ""; width: 8px; height: 8px; border-right: 2.5px solid currentColor; border-bottom: 2.5px solid currentColor; transform: rotate(45deg); margin-top: -4px; }
.seo-page #faq .b-btn-orange:hover { background: var(--main-color, #f4943b) !important; color: #fff !important; }
.seo-page #faq .b-btn-orange.is-hidden { display: none !important; }
.seo-page #faq .b-vc-body { text-align: center; }
.seo-page #faq .b-vc-list { text-align: left; }
@media (prefers-reduced-motion: reduce) { .seo-page #faq .b-vc-item, .seo-page #faq .b-vc-item-body, .seo-page #faq .b-vc-item__arrow::before { animation: none !important; transition: none !important; } }
.seo-page #faq .b-vc-item-body { padding: 0 22px 20px !important; }
.seo-page #faq .b-vc-item-content, .seo-page #faq .b-vc-item-about, .seo-page #faq .b-vc-item-aboutItem, .seo-page #faq .b-vc-item-about-content { background: none !important; padding: 0 !important; margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
.seo-page #faq .b-vc-item-about-content { padding-top: 4px !important; border-top: 1px solid #eef0f2 !important; padding-top: 14px !important; font-size: 15px; line-height: 1.55; color: #4d4d4d; }
.seo-page #faq .b-vc-item-about-content p { margin: 0 0 8px; }

/* ---------- Первоисточники: карточки документов ---------- */
.seo-sources__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.seo-sources__card { display: flex; flex-direction: column; gap: 6px; height: 100%; padding: 18px 18px 16px 18px; border: 1px solid #e6e8eb; border-left: 4px solid var(--main-color, #f4943b); border-radius: 12px; background: #fff; color: inherit; text-decoration: none; transition: box-shadow .15s; }
.seo-sources__card:hover { box-shadow: 0 8px 22px rgba(0,0,0,.08); color: inherit; }
.seo-sources__name { font-size: 15px; font-weight: 800; line-height: 1.3; color: #2b2b2b; }
.seo-sources__note { font-size: 13.5px; line-height: 1.45; color: #4d4d4d; }
.seo-sources__host { margin-top: auto; padding-top: 8px; font-size: 12px; color: #6b7078; display: flex; align-items: center; gap: 6px; }
.seo-sources__host::after { content: "\2197"; color: var(--main-color, #f4943b); font-weight: 700; }

/* Ссылки в тексте разделов — темнее оранжевого шапки и с подчёркиванием */
.seo-page .seo-block p a, .seo-page .seo-block li a:not(.seo-sources__card) { color: var(--orange-hover, #e58124); text-decoration: underline; text-underline-offset: 2px; }

/* Панель эксперта — тёмная плашка с фото и цифрами (слайд «Экспертиза ФЛК») */
.seo-expert { display: grid; grid-template-columns: 150px 1fr auto; gap: 24px; align-items: center; padding: 26px 28px; margin: 12px 0 18px; background: #3d3d3d; color: #fff; border-radius: 16px; }
.seo-expert__photo { width: 150px; height: 150px; border-radius: 50%; object-fit: cover; background: #fff; }
.seo-expert__lead { font-size: 14px; color: #c9ccd1; margin-bottom: 6px; }
.seo-expert p { margin: 0 0 8px; font-size: 15px; line-height: 1.5; }
.seo-expert b { color: var(--main-color, #f4943b); }
.seo-expert__nums { display: flex; flex-direction: column; gap: 14px; min-width: 190px; }
.seo-expert__num { display: block; font-size: 40px; font-weight: 800; line-height: 1; color: var(--main-color, #f4943b); }
.seo-expert__nums div { font-size: 15px; line-height: 1.35; }

/* «Вы получаете» — светлая панель с галочками (слайд «Подтверждение стоимости») */
.seo-gets { padding: 22px 26px; margin: 12px 0 16px; background: #f6f6f6; border-radius: 12px; }
.seo-gets ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 24px; }
.seo-gets li { position: relative; padding-left: 36px; font-size: 16px; line-height: 1.45; }
.seo-gets li::before { content: ""; position: absolute; left: 0; top: 0; width: 24px; height: 24px; border-radius: 50%; background: var(--main-color, #f4943b) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M5 12.5l4.5 4.5L19 7.5'/></svg>") center/15px no-repeat; }

/* Кейсы */
.seo-cases__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 16px; }
.seo-cases__item { padding: 20px 22px; border: 1px solid #e6e8eb; border-radius: 6px; }
.seo-cases__title { margin: 0 0 10px; min-height: 2.6em; font-size: 16px; font-weight: 700; line-height: 1.3; }
.seo-cases__body { font-size: 15px; line-height: 1.5; }
.seo-cases__body p { margin: 0 0 8px; }
/* Кейс с логотипом клиента — как на текущей странице сайта */
.seo-cases__logo { display: block; height: 56px; width: auto; max-width: 220px; object-fit: contain; object-position: left center; margin: 0 0 14px; }
.seo-cases__who { margin: 0 0 12px; min-height: 150px; padding: 10px 14px; background: #fdebd3; border-left: 4px solid var(--main-color, #f4943b); color: #2b2b2b; border-radius: 4px; font-size: 14px; line-height: 1.45; }
.seo-cases__item { display: flex; flex-direction: column; }
.seo-cases__link { margin-top: auto; padding-top: 10px; align-self: flex-start; font-size: 15px; font-weight: 600; color: var(--main-color, #f4943b); text-decoration: none; border-bottom: 1px solid transparent; }
.seo-cases__link:hover { color: var(--orange-hover, #e58124); border-bottom-color: var(--orange-hover, #e58124); }
.seo-cases__link::after { content: " →"; }
/* «Статьи по теме услуги» — партиал сайта, свой стиль; только отступ */
.seo-page .service-blog-relinks { margin-top: 44px; }


/* Автор и даты */
.seo-author { display: flex; align-items: center; gap: 16px; margin: 40px 0 8px; padding: 16px 20px; border-top: 1px solid #e6e8eb; border-bottom: 1px solid #e6e8eb; flex-wrap: wrap; }
.seo-author__pic { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; }
.seo-author__who { flex: 1; min-width: 200px; }
.seo-author__label { font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: #6b7078; }
.seo-author__name { font-weight: 700; color: inherit; text-decoration: none; }
.seo-author__post { font-size: 14px; color: #6b7078; }
.seo-author__dates { font-size: 14px; color: #6b7078; text-align: right; }
.seo-form-text { color: rgba(255,255,255,.88); font-size: 16px; line-height: 1.5; margin-bottom: 16px; }

/* ---------- Полоса лицензии: тёмная лента с оранжевой кромкой ---------- */
.seo-license { display: flex; align-items: center; gap: 16px; margin: 20px 0 8px; padding: 14px 20px 14px 16px; background: #3d3d3d; color: #fff; border-left: 6px solid var(--main-color, #f4943b); border-radius: 12px; text-decoration: none; transition: background .15s; }
.seo-license:hover { background: #2f2f2f; color: #fff; }
.seo-license__icon { width: 44px; height: 44px; object-fit: contain; flex: 0 0 44px; }
.seo-license__text { flex: 1; font-size: 15px; line-height: 1.4; }
.seo-license__text b { color: var(--main-color, #f4943b); font-weight: 700; }
.seo-license__link { flex: 0 0 auto; padding: 9px 16px; border: 1px solid rgba(255,255,255,.5); border-radius: 20px; font-size: 14px; font-weight: 700; white-space: nowrap; }
.seo-license:hover .seo-license__link { border-color: var(--main-color, #f4943b); color: var(--main-color, #f4943b); }

/* ---------- «Какие задачи решаем»: тёмная панель на фото ---------- */
.seo-page .seo-tasks { position: relative !important; margin-top: 28px; padding: 40px 40px 36px; border-radius: 16px; overflow: hidden; background: #3d3d3d center/cover no-repeat; color: #fff; }
.seo-tasks::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(43,43,43,.95) 0%, rgba(43,43,43,.86) 55%, rgba(43,43,43,.66) 100%); }
.seo-tasks::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--main-color, #f4943b); }
.seo-tasks__inner { position: relative; }
.seo-tasks__eyebrow { font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--main-color, #f4943b); margin-bottom: 8px; }
.seo-tasks__title { margin: 0 0 24px !important; font-size: 28px; font-weight: 800; line-height: 1.2; color: #fff; text-align: left; }
.seo-tasks__list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.seo-tasks__item { display: flex; flex-direction: column; padding: 20px 20px 18px; background: #fff; color: #2b2b2b; border-radius: 14px; }
.seo-tasks__icon { width: 56px; height: 56px; padding: 8px; box-sizing: border-box; object-fit: contain; margin: 0 0 14px; background: #fdebd3; border-radius: 12px; }
.seo-tasks__q { margin: 0 0 8px; font-size: 16px; font-weight: 800; line-height: 1.3; color: #2b2b2b; }
.seo-tasks__a { font-size: 14px; line-height: 1.5; color: #4d4d4d; }
.seo-tasks__a p { margin: 0; }
.seo-tasks__foot { display: flex; align-items: center; flex-wrap: wrap; gap: 14px 22px; margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.18); }
.seo-page .seo-tasks__btn { margin: 0 !important; }
.seo-tasks__note { font-size: 14px; line-height: 1.4; color: rgba(255,255,255,.8); max-width: 420px; }

/* ---------- «С какими грузами работаем»: карточки-ссылки на отраслевые решения ----------
   Рендер в верхней зоне фиксированной высоты, название и пояснение начинаются
   с одной линии во всех карточках, внизу подпись-ссылка. */
.seo-cargo__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.seo-cargo__item { position: relative; display: flex; flex-direction: column; padding: 132px 16px 16px; background: linear-gradient(160deg, #fff 0%, #f1f2f4 100%); border: 1px solid #e6e8eb; border-radius: 14px; overflow: hidden; color: inherit; text-decoration: none; transition: box-shadow .15s, border-color .15s; }
a.seo-cargo__item:hover { border-color: var(--main-color, #f4943b); box-shadow: 0 8px 22px rgba(0,0,0,.08); color: inherit; }
.seo-cargo__img { position: absolute; left: 50%; top: 10px; transform: translateX(-50%); width: 116px; height: 116px; object-fit: contain; filter: drop-shadow(0 6px 10px rgba(0,0,0,.12)); }
.seo-cargo__name { display: block; min-height: 2.6em; font-size: 16px; font-weight: 800; line-height: 1.25; color: #2b2b2b; }
.seo-cargo__note { display: block; flex: 1; margin-top: 4px; font-size: 13px; line-height: 1.4; color: #6b7078; }
.seo-cargo__more { display: block; margin-top: 12px; padding-top: 10px; border-top: 1px solid #e6e8eb; font-size: 12px; font-weight: 700; color: var(--orange-hover, #e58124); }
.seo-cargo__more::after { content: " →"; }

/* ---------- Направления: карточки-ссылки с кодом страны ---------- */
.seo-dirs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 16px 0 4px; }
.seo-dirs__item { display: flex; flex-direction: column; gap: 4px; padding: 16px 16px 14px; border: 1px solid #e6e8eb; border-radius: 12px; background: #fff; color: inherit; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
.seo-dirs__item:hover { border-color: var(--main-color, #f4943b); box-shadow: 0 8px 22px rgba(0,0,0,.08); color: inherit; }
.seo-dirs__code { display: inline-block; align-self: flex-start; margin-bottom: 6px; padding: 4px 8px; border-radius: 6px; background: #fdebd3; color: var(--orange-hover, #e58124); font-size: 12px; font-weight: 800; letter-spacing: .12em; }
.seo-dirs__name { font-size: 16px; font-weight: 800; line-height: 1.25; color: #2b2b2b; }
.seo-dirs__note { font-size: 12.5px; line-height: 1.35; color: #6b7078; }
.seo-dirs__more { margin: 12px 0 0 !important; font-size: 14px; color: #6b7078; }


/* Флаги направлений — из библиотеки flag-icons (MIT), файлы в img/flags/, пропорция 4:3 */
.seo-flag { display: inline-block; width: 28px; height: 21px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(0,0,0,.12); background-size: cover; background-position: center; flex: 0 0 28px; }
.seo-flag--cn { background-image: url('img/flags/cn.svg'); }
.seo-flag--tr { background-image: url('img/flags/tr.svg'); }
.seo-flag--de { background-image: url('img/flags/de.svg'); }
.seo-flag--in { background-image: url('img/flags/in.svg'); }
.seo-flag--kr { background-image: url('img/flags/kr.svg'); }
.seo-dirs__head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.seo-dirs__code { margin: 0; padding: 2px 6px; font-size: 11px; }

/* ---------- СВХ: чипы ---------- */
.seo-chips { list-style: none !important; margin: 12px 0 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
.seo-page .seo-chips li { margin: 0 !important; padding: 8px 14px !important; border: 1px solid #e6e8eb; border-radius: 20px; background: #f6f6f6; font-size: 14px; line-height: 1.3; color: #2b2b2b; border-bottom: 1px solid #e6e8eb !important; }
.seo-page .seo-chips li::before { display: none !important; }
.seo-chips__note { margin: 14px 0 0 !important; font-size: 14px; color: #6b7078; }

/* ---------- Баннер-призыв на фото ---------- */
.seo-page .seo-banner { position: relative !important; padding: 44px 40px; border-radius: 16px; overflow: hidden; background: #e9ebee center/cover no-repeat; color: #2b2b2b; }
.seo-banner::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,255,255,.96) 0%, rgba(255,255,255,.9) 45%, rgba(255,255,255,.35) 100%); }
.seo-banner__inner { position: relative; max-width: 560px; }
.seo-banner__title { font-size: 30px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; }
.seo-banner__text { margin-top: 12px; font-size: 15px; line-height: 1.5; color: #4d4d4d; }
.seo-banner__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 22px; margin-top: 22px; }
.seo-banner__phone { font-size: 14px; color: #6b7078; }
.seo-banner__phone a { color: #2b2b2b; font-weight: 700; text-decoration: none; }

@media (max-width: 767.98px) {
    .seo-page .seo-block > .b-content-inner__title, .seo-page .seo-block > h2 { margin-bottom: 22px !important; }
    .seo-brief__list li { flex-direction: column; gap: 2px; }
    .seo-brief__label { flex-basis: auto; font-size: 13px; }
    .seo-toc__list { columns: 1; }
    .seo-why__grid, .seo-cases__grid, .seo-sub__grid, .seo-gets ul { grid-template-columns: 1fr; }
    .seo-why__grid { grid-template-columns: 1fr; gap: 0; }
    .seo-why__item:nth-last-child(-n+2) { border-bottom: 1px solid #e6e8eb; }
    .seo-why__item:last-child { border-bottom: 0; }
    .seo-steps { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; gap: 26px; padding-left: 0; }
    .seo-steps__item { display: flex; flex-direction: column; position: relative; min-width: 0; }
    .seo-steps__item > * { grid-column: auto; grid-row: auto; }
    .seo-steps__time { white-space: normal; overflow: visible; line-height: 1.35; }
    .seo-steps__time { align-self: auto; }
    .seo-steps__tail { display: none; }
    .seo-steps::before { left: 34px; right: auto; top: 36px; bottom: 36px; width: 4px; height: auto; }
    .seo-steps__item { padding: 0 0 0 92px; }
    .seo-steps__node { position: absolute; left: 0; top: 0; }
    .seo-steps__eyebrow { margin-top: 4px; }
    .seo-risk { grid-template-columns: 1fr; }
    .seo-risk__arrow { height: 32px; }
    .seo-risk__arrow::before { border-left: 9px solid transparent; border-right: 9px solid transparent; border-top: 12px solid var(--main-color, #f4943b); border-bottom: 0; }
    .seo-sources__list { grid-template-columns: 1fr; }
    .seo-dirs { grid-template-columns: repeat(2, 1fr); }
    .seo-check { grid-template-columns: 1fr; gap: 10px; }
    .seo-docs { grid-template-columns: 1fr; gap: 8px; }
    .seo-docs__item { padding: 12px 14px; }
    .seo-page #faq .b-vc-item-header { padding: 14px 16px !important; }
    .seo-page #faq .b-vc-item__title { font-size: 15px !important; }
    .seo-cases__title, .seo-cases__who { min-height: 0; }
    .seo-license { flex-wrap: wrap; padding: 14px 16px; }
    .seo-license__text { flex-basis: calc(100% - 60px); }
    .seo-license__link { margin-left: 60px; }
    .seo-tasks { padding: 26px 18px 24px; }
    .seo-tasks__title { font-size: 22px; }
    .seo-tasks__list { grid-template-columns: 1fr; }
    .seo-tasks__foot { margin-top: 20px; padding-top: 18px; }
    .seo-page .seo-tasks__btn { width: 100%; }
    .seo-cargo__grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
    .seo-cargo__item { padding: 100px 12px 12px; }
    .seo-cargo__img { width: 88px; height: 88px; top: 8px; }
    .seo-cargo__name { font-size: 14px; min-height: 0; }
    .seo-cargo__note { font-size: 12px; }
    .seo-cargo__more { font-size: 11px; }
    .seo-banner { padding: 26px 18px; }
    .seo-banner::before { background: rgba(255,255,255,.9); }
    .seo-banner__title { font-size: 22px; }
    .seo-banner__btn { width: 100%; }
    .seo-facts__grid { grid-template-columns: repeat(2, 1fr); }
    .seo-facts__num { font-size: 30px; }
    .seo-expert { grid-template-columns: 1fr; text-align: center; }
    .seo-expert__photo { margin: 0 auto; }
    .seo-expert__nums { flex-direction: row; justify-content: center; gap: 24px; }
    .seo-author__dates { text-align: left; width: 100%; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .seo-dirs { grid-template-columns: repeat(3, 1fr); }
    .seo-why__grid { grid-template-columns: repeat(2, 1fr); }
    .seo-why__grid { grid-template-columns: 1fr; gap: 0; }
    .seo-why__item:nth-last-child(-n+2) { border-bottom: 1px solid #e6e8eb; }
    .seo-why__item:last-child { border-bottom: 0; }
    .seo-steps { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; gap: 26px; padding-left: 0; }
    .seo-check { grid-template-columns: 1fr; gap: 10px; }
    .seo-docs { grid-template-columns: 1fr; gap: 8px; }
    .seo-docs__item { padding: 12px 14px; }
    .seo-page #faq .b-vc-item-header { padding: 14px 16px !important; }
    .seo-page #faq .b-vc-item__title { font-size: 15px !important; }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .seo-tasks__list { grid-template-columns: 1fr; }
    .seo-cargo__grid { grid-template-columns: repeat(2, 1fr); }
}

/* FAQ: вопрос — H3 (параметр QUESTION_TAG). Сбрасываем отступы заголовка, чтобы вид остался как у div */
.seo-page h3.b-vc-item__title { margin: 0; padding: 0; text-transform: none; letter-spacing: normal; }

/* ---------- Таблицы: прайс, сроки, таблицы в разделах — в одном виде с блоками ----------
   Светлая карточка с тонкой рамкой и скруглением 12 px вместо черной шапки сайта;
   подписи колонок — мелкие заглавные, как «Этап N из M»; под шапкой оранжевая линия;
   все по левому краю. Цена — жирная, «от» мельче; срок — с часами, как в этапах;
   статья кодекса — чипом. На мобильном строки прайса и сроков становятся карточками. */
.seo-page .b-table-wrap { background: #fff !important; border: 1px solid #e6e8eb; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; }
.seo-page .b-table-wrap > table.b-table { margin: 0 !important; }  /* у сайта 10px сверху и снизу — внутри рамки давало белую полоску над шапкой */
.seo-page table.b-table { width: 100%; border-collapse: separate !important; border-spacing: 0; background: #fff; border-radius: 12px !important; box-shadow: none !important; overflow: hidden; }
.seo-page .seo-block table.b-tb-table { border: 1px solid #e6e8eb; margin: 16px 0 !important; }
.seo-page table.b-table thead tr { border: 0 !important; }
.seo-page table.b-table thead td, .seo-page table.b-table thead th { padding: 14px 20px 12px !important; background: #f6f6f6 !important; color: #6b7078 !important; border-radius: 0 !important; border-bottom: 2px solid var(--main-color, #f4943b) !important; font-size: 12px !important; font-weight: 800 !important; line-height: 1.3 !important; letter-spacing: .08em; text-transform: uppercase; text-align: left !important; vertical-align: bottom !important; }
.seo-page table.b-table thead td b, .seo-page table.b-table thead th b { color: inherit !important; font-weight: inherit !important; }
.seo-page table.b-table tbody tr { border: 0 !important; }
.seo-page table.b-table tbody td { padding: 16px 20px !important; background: #fff !important; color: #2b2b2b !important; border-radius: 0 !important; border-bottom: 1px solid #eef0f2 !important; font-size: 15px !important; font-weight: 400 !important; line-height: 1.45 !important; text-align: left !important; vertical-align: top !important; transition: background-color .15s; }
.seo-page table.b-table tbody tr:last-child td { border-bottom: 0 !important; }
.seo-page table.b-table tbody tr:hover td { background: #fafafa !important; }
.seo-page table.b-table tbody td:first-child { font-weight: 700 !important; }
.seo-page table.b-table tbody td b { font-weight: 800; }

/* прайс */
.seo-page .b-table-fold td.ac-trigger { width: 27%; }
.seo-page .b-table-fold td.seo-price { width: 21%; font-size: 16px !important; font-weight: 700 !important; line-height: 1.4 !important; font-variant-numeric: tabular-nums; }
.seo-page td.seo-price > span.seo-price__pre { display: inline !important; margin: 0 2px 0 0 !important; padding: 0 !important; line-height: inherit !important; vertical-align: baseline !important; }
.seo-page td.seo-price > span.seo-price__free { display: inline-block !important; margin: 0 4px 0 0 !important; vertical-align: baseline !important; }
/* двухколоночная таблица (ставки сбора): акцент только на значении, диапазон — обычным */
.seo-page table.seo-terms tbody td:first-child:nth-last-child(2) { font-weight: 400 !important; }
.seo-price__pre { margin-right: 1px; font-size: 13px; font-weight: 400; color: #6b7078; }
.seo-price__free { display: inline-block; margin-right: 4px; padding: 2px 10px; border-radius: 20px; background: #fdebd3; color: #a65410; font-size: 13px; font-weight: 800; line-height: 1.5; }
.seo-page .b-table-fold td.seo-price-time { width: 19%; color: #4d4d4d !important; font-size: 14px !important; }
.seo-page .b-table-fold td.seo-price-time::before { content: ""; display: inline-block; width: 16px; height: 16px; margin: 0 7px -3px 0; background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23f4943b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='9'/><path d='M12 7v5l3 2'/></svg>") center/16px no-repeat; }

/* сроки и ставки: вторая колонка — главная */
.seo-page table.seo-terms tbody td:nth-child(2):last-child { font-weight: 700 !important; font-variant-numeric: tabular-nums; white-space: nowrap; }
.seo-page table.seo-terms tbody td:nth-child(2) { color: #2b2b2b !important; }
.seo-law { display: inline-block; padding: 2px 9px; border: 1px solid #e6e8eb; border-radius: 6px; background: #f6f6f6; color: #4d4d4d; font-size: 13px; font-weight: 600; line-height: 1.5; white-space: nowrap; }

/* пример расчета: суммы справа, строка «Итого» подсвечена */
.seo-page table.seo-table--total tbody td:last-child, .seo-page table.seo-table--total thead td:last-child { text-align: right !important; white-space: nowrap; font-variant-numeric: tabular-nums; }
.seo-page table.seo-table--total tbody td:last-child { font-weight: 600 !important; }
.seo-page table.seo-table--total tbody tr:last-child td { background: #fdebd3 !important; border-top: 2px solid var(--main-color, #f4943b) !important; font-weight: 800 !important; }

/* сравнение: первая колонка — подпись строки */
.seo-page table.seo-table--compare tbody td:first-child { width: 26%; color: #6b7078 !important; font-weight: 600 !important; }

@media (max-width: 767.98px) {
    .seo-page table.b-table thead td, .seo-page table.b-table thead th { padding: 12px 10px 10px !important; font-size: 10.5px !important; letter-spacing: .06em; }
    .seo-page table.b-table tbody td { padding: 12px 10px !important; font-size: 13.5px !important; }
    .seo-page table.seo-table--compare tbody td:first-child { width: auto; }

    /* прайс: строка — карточка; название, описание, цена слева и срок справа */
    .seo-page .b-table-wrap { border: 0; background: transparent !important; overflow: visible; }
    .seo-page .b-table-fold, .seo-page .b-table-fold tbody { display: block !important; background: transparent !important; overflow: visible !important; border-radius: 0 !important; }
    .seo-page .b-table-fold thead { display: none; }
    .seo-page .b-table-fold tbody tr.ac { display: grid !important; grid-template-columns: 1fr auto; gap: 6px 12px; margin-bottom: 10px; padding: 14px 16px 12px; border: 1px solid #e6e8eb !important; border-radius: 12px; background: #fff; }
    .seo-page .b-table-fold tbody tr.ac td { display: block !important; width: auto !important; max-height: none !important; overflow: visible !important; padding: 0 !important; border: 0 !important; background: transparent !important; }
    .seo-page .b-table-fold tbody tr.ac td:nth-child(1), .seo-page .b-table-fold tbody tr.ac td:nth-child(2) { grid-column: 1 / -1; }
    .seo-page .b-table-fold tbody tr.ac td.ac-trigger { font-size: 16px !important; line-height: 1.3 !important; background-image: none !important; pointer-events: none; }
    .seo-page .b-table-fold tbody tr.ac td:nth-child(2) { font-size: 14px !important; color: #4d4d4d !important; }
    .seo-page .b-table-fold tbody tr.ac td.seo-price { align-self: center; padding-top: 8px !important; font-size: 17px !important; }
    .seo-page .b-table-fold tbody tr.ac td.seo-price-time { max-width: 52vw; align-self: center; padding-top: 8px !important; font-size: 13px !important; text-align: right !important; color: #6b7078 !important; }
    .seo-page .b-table-fold tbody tr.ac td.ac-panel > span:first-child { display: none !important; }
    .seo-page .b-table-fold tbody tr.ac td.ac-trigger::after, .seo-page .b-table-fold tbody tr.ac td.ac-trigger::before,
    .seo-page .b-table-fold tbody tr.ac td.ac-trigger > svg, .seo-page .b-table-fold tbody tr.ac td.ac-trigger > i,
    .seo-page .b-table-fold tbody tr.ac td.ac-trigger > span:not(:first-child) { display: none !important; }
    .seo-page .b-table-footer { display: none; }

    /* сроки (три колонки): строка — карточка */
    .seo-page .seo-block table.b-tb-table.seo-terms:not(.seo-terms--pair) { display: block; margin: 0 !important; border: 0 !important; background: transparent !important; overflow: visible; border-radius: 0 !important; }
    .seo-page table.seo-terms:not(.seo-terms--pair) tbody { display: block; }
    .seo-page table.seo-terms:not(.seo-terms--pair) thead { display: none; }
    .seo-page table.b-table.seo-terms:not(.seo-terms--pair) tbody tr { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px; padding: 14px 16px; border: 1px solid #e6e8eb !important; border-radius: 12px; background: #fff; }
    .seo-page table.seo-terms:not(.seo-terms--pair) tbody td { display: block; padding: 0 !important; border: 0 !important; background: transparent !important; font-size: 14.5px !important; }
    .seo-page table.seo-terms:not(.seo-terms--pair) tbody td:first-child { font-size: 15.5px !important; }
    .seo-page table.seo-terms:not(.seo-terms--pair) tbody td:nth-child(3) { margin-top: 4px; }
    .seo-page table.seo-terms--pair tbody td:last-child { text-align: right !important; }
    .seo-page table.seo-terms--pair thead td:last-child { text-align: right !important; }

    /* пример расчета: платеж и сумма в строку, формула под ними */
    .seo-page table.seo-table--total, .seo-page table.seo-table--total tbody { display: block; }
    .seo-page table.seo-table--total thead { display: none; }
    .seo-page table.b-table.seo-table--total tbody tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 12px; padding: 12px 14px; border-bottom: 1px solid #eef0f2 !important; }
    .seo-page table.b-table.seo-table--total tbody tr:last-child { border-bottom: 0 !important; background: #fdebd3; border-top: 2px solid var(--main-color, #f4943b) !important; }
    .seo-page table.seo-table--total tbody td, .seo-page table.b-table.seo-table--total tbody tr:last-child td { padding: 0 !important; border: 0 !important; background: transparent !important; }
    .seo-page table.seo-table--total tbody td:nth-child(1) { grid-column: 1; grid-row: 1; }
    .seo-page table.seo-table--total tbody td:nth-child(3) { grid-column: 2; grid-row: 1; }
    .seo-page table.seo-table--total tbody td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; font-size: 13px !important; color: #6b7078 !important; }
    .seo-page table.b-table thead td, .seo-page table.b-table thead th { word-break: normal; overflow-wrap: normal; hyphens: manual; }

    /* сравнение: строка — карточка; подпись строки сверху, два варианта рядом с подписями колонок */
    .seo-page table.seo-table--compare, .seo-page table.seo-table--compare tbody { display: block; }
    .seo-page table.seo-table--compare thead { display: none; }
    .seo-page table.b-table.seo-table--compare tbody tr { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 14px; padding: 12px 14px; border-bottom: 1px solid #eef0f2 !important; }
    .seo-page table.b-table.seo-table--compare tbody tr:last-child { border-bottom: 0 !important; }
    .seo-page table.seo-table--compare tbody td { padding: 0 !important; border: 0 !important; background: transparent !important; }
    .seo-page table.seo-table--compare tbody td:first-child { grid-column: 1 / -1; font-size: 11px !important; font-weight: 800 !important; letter-spacing: .06em; text-transform: uppercase; color: #6b7078 !important; }
    .seo-page table.seo-table--compare tbody td[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: 12px; font-weight: 700; color: var(--orange-hover, #e58124); }
}

/* ---------- Форма заявки: как панель задач — темное фото склада, оранжевая кромка;
   слева заголовок и текст, справа белая карточка с полями. Разметка формы штатная
   (mail_services), меняется только вид и только внутри .seo-page. ---------- */
.seo-page .b-srv-callback.seo-form { position: relative !important; padding: 44px 44px 40px !important; border-radius: 16px !important; overflow: hidden; background-color: #3d3d3d !important; background-position: center !important; background-size: cover !important; background-repeat: no-repeat !important; }
.seo-page .seo-form::before { content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, rgba(43,43,43,.96) 0%, rgba(43,43,43,.9) 45%, rgba(43,43,43,.72) 100%); }
.seo-page .seo-form::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--main-color, #f4943b); }
.seo-page .seo-form__grid { position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 40px; align-items: start; }
.seo-page .seo-form__eyebrow { margin-bottom: 12px; font-size: 12px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--main-color, #f4943b); }
.seo-page .seo-form .b-co-callback-title { margin: 0 0 16px !important; font-size: 30px !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.01em; text-align: left !important; color: #fff !important; }
.seo-page .seo-form .seo-form-text { margin: 0 0 20px; font-size: 15px; line-height: 1.55; color: #d4d6da; }
.seo-page .seo-form__phone { margin: 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.14); font-size: 14px; color: #a9adb3; }
.seo-page .seo-form__phone a { color: #fff; font-weight: 700; text-decoration: none; }
.seo-page .seo-form__phone a:hover { color: var(--main-color, #f4943b); }

.seo-page .seo-form__card { padding: 26px 26px 24px; border-radius: 12px; background: #fff; box-shadow: 0 18px 40px rgba(0,0,0,.28); }
.seo-page .seo-form__card .b-order-form { display: block !important; margin: 0 !important; }
.seo-page .seo-form__card .b-order-form-fieldset { display: grid !important; grid-template-columns: 1fr 1fr; gap: 14px 14px; margin: 0 0 18px !important; }
.seo-page .seo-form__card .b-order-form-field { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.seo-page .seo-form__card .b-order-form-field_full { grid-column: 1 / -1; }
.seo-page .seo-form__card .b-order-form-field__label { margin: 0 0 6px !important; font-size: 13px !important; font-weight: 700 !important; line-height: 1.3 !important; color: #2b2b2b !important; }
.seo-page .seo-form__card input[type=text], .seo-page .seo-form__card input[type=tel], .seo-page .seo-form__card input[type=email], .seo-page .seo-form__card textarea { width: 100% !important; height: 48px !important; margin: 0 !important; padding: 0 14px !important; border: 1px solid #e1e3e6 !important; border-radius: 10px !important; background: #f6f6f6 !important; box-shadow: none !important; font-size: 16px !important; color: #2b2b2b !important; transition: border-color .15s, box-shadow .15s, background-color .15s; }
.seo-page .seo-form__card textarea { height: 104px !important; min-height: 104px; padding: 12px 14px !important; resize: vertical; line-height: 1.45 !important; }
.seo-page .seo-form__card input::placeholder, .seo-page .seo-form__card textarea::placeholder { color: #9a9ea5; }
.seo-page .seo-form__card input:hover, .seo-page .seo-form__card textarea:hover { border-color: #c9ccd1 !important; }
.seo-page .seo-form__card input:focus, .seo-page .seo-form__card textarea:focus { outline: none; border-color: var(--main-color, #f4943b) !important; background: #fff !important; box-shadow: 0 0 0 3px rgba(244,148,59,.18) !important; }
.seo-page .seo-form__card .b-form-error { margin-top: 4px; font-size: 12px; }

.seo-page .seo-form__card .b-form-row_actions { display: block !important; margin: 0 0 10px !important; }
.seo-page .seo-form__card .b-control_checkbox { display: flex !important; align-items: flex-start; gap: 10px; cursor: pointer; }
.seo-page .seo-form__card .b-control-indicator { position: relative; flex: 0 0 20px; width: 20px !important; height: 20px !important; margin: 1px 0 0 !important; border: 2px solid #c9ccd1 !important; border-radius: 6px !important; background: #fff !important; transition: background-color .15s, border-color .15s; }
.seo-page .seo-form__card .b-control-indicator::before { content: "" !important; position: absolute; left: 50%; top: 45%; width: 5px !important; height: 10px !important; margin: 0 !important; border: solid #fff !important; border-width: 0 2.5px 2.5px 0 !important; background: none !important; transform: translate(-50%, -50%) rotate(45deg); opacity: 0 !important; transition: opacity .12s; }
.seo-page .seo-form__card .b-control-input:checked + .b-control-indicator { border-color: var(--main-color, #f4943b) !important; background: var(--main-color, #f4943b) !important; }
.seo-page .seo-form__card .b-control-input:checked + .b-control-indicator::before { opacity: 1 !important; }
.seo-page .seo-form__card .b-control-input:focus-visible + .b-control-indicator { box-shadow: 0 0 0 3px rgba(244,148,59,.25); }
.seo-page .seo-form__card .b-control:hover .b-control-indicator { border-color: var(--main-color, #f4943b) !important; }
.seo-page .seo-form__card .b-control-text { font-size: 13px !important; line-height: 1.45 !important; color: #4d4d4d !important; }
.seo-page .seo-form__card .b-control-text a { color: var(--orange-hover, #e58124) !important; text-decoration: underline; text-underline-offset: 2px; }

.seo-page .seo-form__card .b-order-form__btn { display: flex !important; align-items: center; justify-content: center; width: 100% !important; height: 52px !important; margin: 16px 0 0 !important; padding: 0 24px !important; border: 0 !important; border-radius: 10px !important; background: var(--main-color, #f4943b) !important; color: #fff !important; font-size: 16px !important; font-weight: 800 !important; letter-spacing: .01em; box-shadow: 0 8px 20px rgba(244,148,59,.32); transition: background-color .15s, transform .15s, box-shadow .15s; }
.seo-page .seo-form__card .b-order-form__btn:hover { background: var(--orange-hover, #e58124) !important; transform: translateY(-1px); box-shadow: 0 12px 24px rgba(244,148,59,.38); }
.seo-page .seo-form__card .b-order-form__btn:focus-visible { outline: 3px solid rgba(244,148,59,.45); outline-offset: 2px; }

@media (max-width: 991.98px) {
    .seo-page .seo-form__grid { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767.98px) {
    .seo-page .b-srv-callback.seo-form { padding: 28px 16px 18px 22px !important; }
    .seo-page .seo-form .b-co-callback-title { font-size: 24px !important; }
    .seo-page .seo-form__card { padding: 18px 16px 16px; }
    .seo-page .seo-form__card .b-order-form-fieldset { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
    .seo-page .seo-form__card .b-order-form__btn { transition: none; }
    .seo-page .seo-form__card .b-order-form__btn:hover { transform: none; }
}
.seo-page .seo-form__card .b-order-form__btn { max-width: none !important; min-width: 0 !important; }
.seo-page .seo-form__card .b-form-row_actions, .seo-page .seo-form__card .b-form-field, .seo-page .seo-form__card .b-control_checkbox { margin-left: 0 !important; padding-left: 0 !important; }
.seo-page .seo-form__card .b-form-field_auto, .seo-page .seo-form__card .b-control_checkbox { width: 100% !important; }
.seo-page .seo-form__card .b-control-text { flex: 1 1 auto; max-width: none !important; }

/* ---------- Правки клиента 24.09.2026 ---------- */
/* «Что входит»: платная опция помечается плашкой рядом с названием */
.seo-page .seo-check__tag { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 6px; background: #fdebd3; color: var(--orange-hover, #e58124); font-size: 12px; font-weight: 700; line-height: 1.5; letter-spacing: .02em; vertical-align: 2px; white-space: nowrap; }
/* «Нам доверяют» внутри страницы: без собственных полей секции главной */
.seo-page .seo-trust .h-section-partners-section { margin: 0; padding: 0; }
.seo-page .seo-trust .b-co-content { padding: 0; }
.seo-page .seo-trust .h-section-title { margin: 0 0 32px; font-size: 30px; font-weight: 500; line-height: 1.1; color: #303030; text-align: center; }
/* стрелки стоят по краям блока — сам слайдер сужаем, чтобы логотипы под них не заезжали */
.seo-page .seo-trust .h-partners-sl { margin: 0 60px; padding: 0 !important; }
@media (max-width: 767.98px) {
    /* 17.1: подписи в «Кратко» были 13px — мелко на телефоне */
    .seo-brief { padding: 20px 18px; }
    .seo-brief__label { font-size: 15px; font-weight: 500; color: #5c6168; }
    .seo-brief__value { font-size: 16px; }
    /* 17.2: длинная кнопка вылезала за карточку */
    .seo-page .seo-brief__btn { display: block; width: 100%; max-width: none; min-width: 0; padding-left: 16px; padding-right: 16px; box-sizing: border-box; white-space: normal; text-align: center; }
    /* 17.3: срок в две строки — первая строка на уровне цены */
    .seo-page .b-table-fold tbody tr.ac td.seo-price, .seo-page .b-table-fold tbody tr.ac td.seo-price-time { align-self: baseline; }
    /* 17.4: форма на телефоне во всю ширину и прижата к низу — нижние углы прямые,
       иначе в скруглениях виден белый фон страницы */
    .seo-page .b-srv-callback.seo-form { border-radius: 16px 16px 0 0 !important; }
    .seo-page .seo-trust .h-section-title { margin-bottom: 22px; font-size: 22px; }
    .seo-page .seo-trust .h-partners-sl { margin: 0 44px; }
}
/* п.8: 10 типов грузов — сетка 5×2; на планшете и телефоне остаются две колонки */
@media (min-width: 1200px) {
    .seo-cargo__grid--5 { grid-template-columns: repeat(5, 1fr); gap: 12px; }
    .seo-cargo__grid--5 .seo-cargo__item { padding: 120px 14px 14px; }
    .seo-cargo__grid--5 .seo-cargo__img { width: 104px; height: 104px; }
    .seo-cargo__grid--5 .seo-cargo__name { font-size: 15px; }
}

/* Правки 27.09.2026: последняя карточка в неполном ряду — по центру, а не у левого края */
@media (min-width: 768px) {
    .seo-sub__card:last-child:nth-child(odd) { grid-column: 1 / -1; justify-self: center; width: calc((100% - 14px) / 2); }
}
@media (max-width: 767.98px) {
    /* направления — списком, по одной стране в строку: крупный флаг слева,
       название с кодом страны, под ними подпись; справа стрелка */
    .seo-dirs { grid-template-columns: 1fr; gap: 10px; }
    .seo-dirs__item { display: grid; grid-template-columns: auto auto 1fr auto; grid-template-rows: auto auto; align-items: center; column-gap: 10px; row-gap: 2px; padding: 14px 16px; }
    .seo-dirs__head { display: contents; }
    .seo-dirs .seo-flag { grid-column: 1; grid-row: 1 / 3; width: 48px; height: 36px; margin-right: 4px; border-radius: 6px; }
    .seo-dirs__name { grid-column: 2; grid-row: 1; align-self: end; font-size: 18px; }
    .seo-dirs__code { grid-column: 3; grid-row: 1; align-self: end; justify-self: start; margin-bottom: 2px; padding: 2px 6px; font-size: 11px; }
    .seo-dirs__note { grid-column: 2 / 4; grid-row: 2; align-self: start; font-size: 14px; }
    .seo-dirs__item::after { content: ""; grid-column: 4; grid-row: 1 / 3; width: 8px; height: 8px; margin: 0 4px 0 8px; border-top: 2px solid var(--main-color, #f4943b); border-right: 2px solid var(--main-color, #f4943b); transform: rotate(45deg); }
    /* кнопка реестра — по центру карточки */
    .seo-license__link { margin: 0 auto; }
    /* «доп. услуга» помещается в строку с названием */
    .seo-page .seo-check__tag { margin-left: 6px; padding: 1px 6px; font-size: 11px; }
}
@media (max-width: 374.98px) {
    .seo-page .seo-check__tag { margin-left: 0; }
}

/* 15.10.2026, по правкам клиента: единые размеры FAQ на всех страницах —
   вопрос 20px (мобильный 17px), ответ тем же кеглем, что основной текст (16px),
   стрелка раскрытия строго по центру строки, в том числе на мобильном. */
.seo-page #faq .b-vc-item__title { font-size: 18px !important; }
.seo-page #faq .b-vc-item-about-content,
.seo-page #faq .b-vc-item-about-content p,
.seo-page #faq .b-vc-item-about-content li { font-size: 16px !important; line-height: 1.55 !important; }
.seo-page #faq .b-vc-item-header .b-vc-item__arrow { align-self: center !important; margin-top: 0 !important; }
@media (max-width: 767px) {
    .seo-page #faq .b-vc-item__title { font-size: 16px !important; }
}

/* стрелка центрируется флексом — гасим унаследованные сдвиги (top/transform),
   иначе на мобильном она уезжает вверх от центра строки */
.faq-service .b-vc-item-header .b-vc-item__arrow,
.seo-page #faq .b-vc-item-header .b-vc-item__arrow {
    position: relative !important;
    top: auto !important; bottom: auto !important;
    right: auto !important; left: auto !important;
    transform: none !important;
    align-self: center !important;
}

/* ---------- Правки клиента 19.10.2026 ---------- */
/* «Кратко»: кнопка не липнет к последней строке */
.seo-page .seo-brief__btn { margin-top: 26px; }
/* 21.10.2026: правило сайта «a.b-btn.i-modal-link { margin-top: 0 }» перебивало отступ —
   поднимаем специфичность; кнопка отделена от списка «Кратко» сильнее, чем от края блока */
.seo-page .seo-brief a.b-btn.seo-brief__btn { margin-top: 14px; }
/* на телефоне кнопка блочная — ее отступ схлопывается с нижним полем списка, нужен больше */
@media (max-width: 767.98px) { .seo-page .seo-brief a.b-btn.seo-brief__btn { margin-top: 24px; } }
/* «Обсудить задачу»: подпись в одну строку, где помещается; иначе перенос по тире */
.seo-page .seo-tasks__note { flex: 1 1 280px; max-width: none; }
.seo-page .seo-tasks__note > span { display: inline-block; }
@media (max-width: 767.98px) {
    .seo-page .seo-tasks__note { line-height: 1.45; }
}

/* Правки 19.10.2026: единый ритм между разделами — отступ задает только сам блок;
   верхнее поле заголовка и нижние поля последнего элемента внутри блока обнулены,
   иначе промежуток зависел от того, чем кончается раздел (текст, список, таблица) */
.seo-page > .seo-block:not(.seo-tasks) { margin-top: 48px !important; }
.seo-page > .seo-block > h2:first-child, .seo-page > .seo-block > .b-content-inner__title:first-child { margin-top: 0 !important; }
.seo-page > .seo-block > :last-child, .seo-page > .seo-block > :last-child > :last-child, .seo-page > .seo-block > table:last-child { margin-bottom: 0 !important; }
@media (max-width: 767.98px) { .seo-page > .seo-block:not(.seo-tasks) { margin-top: 32px !important; } }
.seo-page > .seo-toc { margin-bottom: 0; }
/* Картинки грузов без паллет (19.10.2026): вытянутые в ширину — медицина и опасные грузы —
   упираются в ширину квадрата и выглядят мельче соседей; подтягиваем масштабом */
.seo-cargo__img[alt^="Медицина"], .seo-cargo__img[alt^="Опасные"] { transform: translateX(-50%) scale(1.12); }
