/* Внутренние страницы и мега-меню. Подключается после styles.css.
   Без логических свойств, min()/clamp() и flex-gap — для старых браузеров. */

/* ---------- мега-меню */
.nav-drop { position: relative; }
.nav-drop__toggle { position: relative; padding: 0 14px 0 0; color: inherit; border: 0; background: none; font-size: 14px; font-weight: 650; cursor: pointer; }
.nav-drop__toggle::after { content: ""; position: absolute; right: 0; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 2px solid var(--amber-dark); border-bottom: 2px solid var(--amber-dark); transform: rotate(45deg); }
.nav-mega { position: absolute; z-index: 40; top: 100%; left: -260px; display: none; width: 1000px; margin-top: 18px; padding: 26px 28px; grid-template-columns: repeat(5, 1fr); grid-gap: 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; box-shadow: 0 24px 60px rgba(7, 19, 36, .18); }
.nav-mega::before { content: ""; position: absolute; top: -20px; left: 0; right: 0; height: 20px; }
.nav-mega--list { left: -20px; width: 300px; grid-template-columns: 1fr; grid-gap: 0; padding: 14px 18px; }
.nav-drop:hover .nav-mega, .nav-drop:focus-within .nav-mega, .nav-drop.is-open .nav-mega { display: grid; }
.nav-mega__col { display: grid; align-content: start; grid-gap: 8px; }
.main-nav .nav-mega a { font-size: 13px; font-weight: 500; color: #3c475a; }
.main-nav .nav-mega a::after { display: none; }
.main-nav .nav-mega a:hover { color: var(--amber-text); }
.main-nav .nav-mega a.nav-mega__head { margin-bottom: 4px; color: var(--navy-950); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.nav-mega--list a { padding: 8px 0; border-bottom: 1px solid #eef1f6; }
.nav-mega--list a:last-child { border-bottom: 0; }

@media (max-width: 1120px) {
  .nav-drop__toggle { font-size: 12px; }
  .nav-mega { left: -200px; width: 860px; }
}
@media (max-width: 920px) {
  .main-nav.is-open { overflow-y: auto; }
  .nav-drop__toggle { width: 100%; padding: 11px 12px; text-align: left; font-size: 14px; }
  .nav-drop__toggle::after { right: 14px; }
  .nav-drop:hover .nav-mega, .nav-drop:focus-within .nav-mega { display: none; }
  .nav-mega, .nav-mega--list { position: static; width: auto; margin: 0 0 8px; padding: 6px 12px 10px; grid-template-columns: 1fr 1fr; grid-gap: 14px; border: 0; border-radius: 0; box-shadow: none; background: var(--surface-soft); }
  .nav-drop.is-open .nav-mega { display: grid; }
  .nav-mega--list { grid-template-columns: 1fr; grid-gap: 0; }
  .main-nav .nav-mega a { padding: 4px 0; }
}
@media (max-width: 640px) {
  .nav-mega { grid-template-columns: 1fr; }
}

/* ---------- общие */
.inner-page main { overflow: visible; }
.ip-section { padding: 72px 0; }
.ip-section--soft { background: var(--surface-soft); }
.ip-section h2 { max-width: 860px; margin: 0 0 14px; color: var(--navy-950); font-size: 38px; line-height: 1.08; letter-spacing: -.03em; }
.ip-section h2 span { color: var(--amber-head); }
.ip-lead { max-width: 760px; margin: 0 0 32px; color: var(--muted); font-size: 17px; line-height: 1.6; }
.ip-narrow { max-width: 860px; }
.ip-note { max-width: 860px; margin: 16px 0 0; color: var(--muted); font-size: 14px; line-height: 1.6; }
.ip-note a, .prose a, .faq-answer a, .ip-lead a { color: var(--amber-text); text-decoration: underline; text-underline-offset: 3px; }
.ip-link { display: inline-flex; align-items: center; margin-top: 26px; color: var(--amber-text); font-size: 15px; font-weight: 750; }
.ip-link svg { margin-left: 8px; }
.inner-page [id] { scroll-margin-top: 90px; }

/* ---------- крошки */
.crumbs ol { display: flex; flex-wrap: wrap; margin: 0; padding: 22px 0 0; list-style: none; font-size: 13px; color: #8f9bb0; }
.crumbs li { margin-right: 8px; }
.crumbs li + li::before { content: "/"; margin-right: 8px; color: var(--footer-text); }
.crumbs a { color: #c4cddb; }
.crumbs a:hover { color: var(--amber); }

/* ---------- hero */
.ip-hero { color: #fff; background: linear-gradient(135deg, #0d203a 0%, #071426 70%); }
.ip-hero__grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-gap: 56px; align-items: start; padding: 34px 0 64px; }
.ip-hero h1 { margin: 0; color: #fff; font-size: 52px; line-height: 1.02; letter-spacing: -.04em; }
.ip-hero h1 span { color: var(--amber); }
.ip-hero__lead { max-width: 720px; margin: 24px 0 0; color: #b8c3d3; font-size: 18px; line-height: 1.6; }
.ip-hero__facts { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 36px; border-top: 1px solid rgba(255,255,255,.12); }
.ip-hero__facts div { display: grid; grid-gap: 5px; padding: 18px 16px 0 0; }
.ip-hero__facts strong { color: #fff; font-size: 22px; letter-spacing: -.02em; }
.ip-hero__facts small { color: #8796ab; font-size: 13px; line-height: 1.4; }

.ip-quote { padding: 28px; color: var(--ink); border-radius: 18px; background: #fff; box-shadow: 0 30px 70px rgba(0,0,0,.3); }
.ip-quote__label { display: flex; align-items: center; margin: 0; color: #42604e; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.ip-quote__label i { width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #38bf7a; box-shadow: 0 0 0 4px rgba(56,191,122,.12); }
.ip-quote h2 { margin: 16px 0 14px; font-size: 26px; line-height: 1.15; letter-spacing: -.02em; }
.ip-quote ul { margin: 0 0 22px; padding: 0; list-style: none; }
.ip-quote li { display: grid; grid-template-columns: 24px 1fr; align-items: start; padding: 7px 0; color: #44506a; font-size: 15px; line-height: 1.45; }
.ip-quote li svg { color: var(--success); margin-top: 1px; }
.ip-quote .button { width: 100%; }
.ip-quote__alt { display: block; margin-top: 12px; color: var(--amber-text); text-align: center; font-size: 14px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.ip-quote__phone { display: grid; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 22px; font-weight: 800; }
.ip-quote__phone small { color: var(--muted); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }

.ip-hero--article .ip-hero__article { max-width: 900px; padding: 34px 0 40px; }
.ip-hero--article h1 { font-size: 48px; }
.ip-meta { margin: 20px 0 0; color: #8796ab; font-size: 13px; }
.ip-toc { max-width: 900px; margin: 0 0 0; padding: 0 0 44px; }
.ip-toc p { margin: 0 0 10px; color: #ffc44a; font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ip-toc ol { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; counter-reset: toc; }
.ip-toc li { margin: 0 10px 10px 0; counter-increment: toc; }
.ip-toc a { display: inline-block; padding: 9px 14px; color: #dbe3ee; border: 1px solid rgba(255,255,255,.14); border-radius: 999px; font-size: 14px; }
.ip-toc a::before { content: counter(toc) ". "; color: var(--amber); }
.ip-toc a:hover { border-color: var(--amber); }

/* ---------- текст */
.prose { color: #344055; font-size: 17px; line-height: 1.7; }
.prose p { margin: 0 0 16px; }
.prose strong { color: var(--ink); }
.prose ul, .prose ol { margin: 0 0 16px; padding-left: 22px; }

/* ---------- таблицы */
.data-table-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: #fff; -webkit-overflow-scrolling: touch; }
.data-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: 15px; }
.data-table th { padding: 14px 18px; color: var(--muted); text-align: left; background: #f4f6fa; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.data-table td { padding: 15px 18px; color: #3b475b; border-bottom: 1px solid #e8ecf2; line-height: 1.5; vertical-align: top; }
.data-table tr:last-child td { border-bottom: 0; }
.data-table td:first-child { color: var(--ink); font-weight: 750; }
.data-table a { color: var(--amber-text); text-decoration: underline; text-underline-offset: 3px; }

/* ---------- карточки */
.ip-cards { display: grid; grid-gap: 18px; }
.ip-cards--2 { grid-template-columns: repeat(2, 1fr); }
.ip-cards--3 { grid-template-columns: repeat(3, 1fr); }
.ip-cards--4 { grid-template-columns: repeat(4, 1fr); }
.ip-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
a.ip-card:hover { border-color: var(--amber); transform: translateY(-2px); box-shadow: 0 18px 40px rgba(14,30,53,.08); }
.ip-card small { margin-bottom: 8px; color: var(--amber-text); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ip-card h3 { margin: 0 0 10px; color: var(--navy-950); font-size: 20px; line-height: 1.2; }
.ip-card p { margin: 0; color: #556178; font-size: 15px; line-height: 1.55; }
.ip-card__more { display: inline-flex; align-items: center; margin-top: auto; padding-top: 16px; color: var(--amber-text); font-size: 14px; font-weight: 750; }
.ip-card__more svg { margin-left: 6px; }

/* ---------- шаги */
.ip-steps { display: grid; grid-template-columns: repeat(5, 1fr); grid-gap: 16px; margin: 0; padding: 0; list-style: none; }
.ip-steps li { padding: 22px; border-radius: 14px; background: #fff; border: 1px solid var(--line); }
.ip-steps li > span { display: inline-block; margin-bottom: 14px; color: var(--amber-text); font-size: 13px; font-weight: 900; letter-spacing: .08em; }
.ip-steps h3 { margin: 0 0 8px; color: var(--navy-950); font-size: 17px; line-height: 1.25; }
.ip-steps p { margin: 0; color: #556178; font-size: 14px; line-height: 1.55; }

/* ---------- цены */
.ip-prices { border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: #fff; }
.ip-price { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; grid-gap: 20px; align-items: center; padding: 18px 24px; border-bottom: 1px solid #e8ecf2; }
.ip-price:last-child { border-bottom: 0; }
.ip-price--head { padding-top: 12px; padding-bottom: 12px; background: #f4f6fa; }
.ip-price--head p { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ip-price h3 { margin: 0 0 4px; color: var(--navy-950); font-size: 18px; }
.ip-price small { color: var(--muted); font-size: 14px; }
.ip-price p { margin: 0; color: var(--ink); font-size: 18px; font-weight: 750; }
.ip-price p span { color: var(--muted); font-size: 13px; font-weight: 600; }
.ip-prices__foot { display: grid; grid-template-columns: 1fr auto; grid-gap: 24px; align-items: center; margin-top: 22px; }
.ip-prices__foot p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
.ip-prices__foot > div { display: flex; align-items: center; }
.ip-prices__foot .ip-link { margin: 0 0 0 22px; }

/* ---------- кейсы */
.ip-cases { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 18px; }
.ip-case { padding: 24px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.ip-case > small { color: var(--amber-text); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.ip-case h3 { margin: 8px 0 12px; color: var(--navy-950); font-size: 20px; line-height: 1.25; }
.ip-case__tags { display: flex; flex-wrap: wrap; margin-bottom: 8px; }
.ip-case__tags span { margin: 0 6px 6px 0; padding: 5px 10px; color: #3b475b; border-radius: 999px; background: #eef2f8; font-size: 12px; font-weight: 750; }
.ip-case dl { margin: 0; }
.ip-case dl div { padding: 10px 0; border-top: 1px solid #edf0f5; }
.ip-case dt { color: var(--muted); font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ip-case dd { margin: 4px 0 0; color: #3b475b; font-size: 14px; line-height: 1.5; }

/* ---------- FAQ (стили главной + светлая типографика ответов) */
.ip-faq .faq-question strong { font-size: 16px; line-height: 1.35; }
.ip-faq .faq-answer > p { color: #b4c0d0; font-size: 15px; }
.ip-faq .faq-answer a { color: #ffc44a; }
.ip-faq .faq-intro .button { margin-top: 8px; }

/* ---------- связанные */
.ip-rels { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 14px; }
.ip-rel { position: relative; display: grid; grid-gap: 4px; padding: 18px 48px 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: #fff; }
.ip-rel strong { color: var(--navy-950); font-size: 16px; }
.ip-rel small { color: var(--muted); font-size: 14px; }
.ip-rel svg { position: absolute; right: 18px; top: 50%; margin-top: -10px; color: var(--amber-head); }
.ip-rel:hover { border-color: var(--amber); }

/* ---------- CTA */
.ip-cta { display: grid; grid-template-columns: 1fr auto; grid-gap: 32px; align-items: center; padding: 36px 40px; color: #fff; border-radius: 18px; background: linear-gradient(135deg, #0d203a, #071426); }
.ip-cta h2 { margin: 0 0 8px; color: #fff; font-size: 30px; }
.ip-cta p { max-width: 640px; margin: 0; color: #aeb9ca; font-size: 16px; line-height: 1.55; }
.ip-cta__actions { display: grid; justify-items: center; grid-gap: 12px; }
.ip-cta__phone { color: #fff; font-size: 18px; font-weight: 800; }

/* ---------- проверка габаритов */
.checker { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 22px 40px; padding: 34px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.checker__copy h2 { font-size: 32px; }
.checker__copy p { color: var(--muted); font-size: 15px; line-height: 1.6; }
.checker__form { display: grid; grid-template-columns: 1fr 1fr; grid-gap: 14px; align-content: start; }
.checker__form label { display: grid; grid-gap: 6px; }
.checker__form span { color: #566174; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.checker__form input { width: 100%; min-height: 52px; padding: 12px 14px; border: 1px solid #dce2ea; border-radius: 9px; background: #f7f9fc; font-size: 17px; }
.checker__form input:focus { border-color: var(--focus); background: #fff; box-shadow: 0 0 0 3px rgba(255,174,0,.45); }
.checker__result { grid-column: 1 / -1; padding: 22px 24px; border-radius: 14px; background: var(--surface-soft); border-left: 4px solid #c3ccd9; }
.checker__result.is-ok { border-left-color: var(--success); }
.checker__result.is-warn { border-left-color: var(--amber); }
.checker__result.is-hard { border-left-color: #d9534f; }
.checker__result strong { display: block; color: var(--navy-950); font-size: 20px; }
.checker__result ul { margin: 10px 0 18px; padding-left: 20px; color: #3b475b; font-size: 15px; line-height: 1.6; }
.checker__result ul:empty { display: none; }

/* ---------- словарь */
.gloss__nav { display: flex; flex-wrap: wrap; margin-bottom: 26px; }
.gloss__nav a { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 6px 6px 0; color: var(--navy-950); border: 1px solid var(--line); border-radius: 8px; font-weight: 800; }
.gloss__nav a:hover { border-color: var(--amber); background: #fff8e6; }
.gloss__group { display: grid; grid-template-columns: 70px 1fr; padding: 22px 0; border-top: 1px solid var(--line); }
.gloss__letter { margin: 0; color: var(--amber-head); font-size: 36px; font-weight: 900; line-height: 1; }
.gloss dl { margin: 0; }
.gloss__item { padding: 0 0 18px; }
.gloss__item:target { margin: 0 -12px; padding: 12px; border-radius: 10px; background: #fff8e6; }
.gloss dt { color: var(--navy-950); font-size: 19px; font-weight: 800; }
.gloss dd { margin: 6px 0 0; color: #3b475b; font-size: 16px; line-height: 1.6; }
.gloss dd a { color: var(--amber-text); font-weight: 700; white-space: nowrap; }

/* ---------- калькулятор на /ceny/ */
.ip-calc { padding-top: 64px; }

/* ---------- финальный блок */
.final-section--inner .final-panel::after { content: ""; }

/* ---------- адаптив */
@media (max-width: 1120px) {
  .ip-hero h1 { font-size: 44px; }
  .ip-steps { grid-template-columns: repeat(3, 1fr); }
  .ip-cards--4 { grid-template-columns: repeat(2, 1fr); }
  .ip-hero__facts { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 920px) {
  .ip-hero__grid { grid-template-columns: 1fr; grid-gap: 30px; padding-bottom: 44px; }
  .ip-cards--3, .ip-cards--4, .ip-cases, .ip-rels { grid-template-columns: repeat(2, 1fr); }
  .ip-price { grid-template-columns: 1fr 1fr 1fr; grid-gap: 10px 16px; }
  .ip-price > div { grid-column: 1 / -1; }
  .ip-price--head { display: none; }
  .ip-price p::before { content: attr(data-label); display: block; margin-bottom: 3px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .ip-prices__foot { grid-template-columns: 1fr; }
  .checker { grid-template-columns: 1fr; }
  .ip-cta { grid-template-columns: 1fr; }
  .ip-cta__actions { justify-items: start; }
}
@media (max-width: 640px) {

  .ip-section { padding: 48px 0; }
  .ip-section h2 { font-size: 28px; }
  .ip-lead, .prose { font-size: 16px; }
  .ip-hero h1, .ip-hero--article h1 { font-size: 32px; }
  .ip-hero__lead { font-size: 16px; }
  .ip-hero__facts strong { font-size: 18px; }
  .ip-quote { padding: 22px; }
  .ip-cards--2, .ip-cards--3, .ip-cards--4, .ip-cases, .ip-rels, .ip-steps { grid-template-columns: 1fr; }
  .ip-price { grid-template-columns: 1fr 1fr; grid-gap: 10px 14px; padding: 16px 18px; }
  .ip-price p { font-size: 16px; }
  .ip-prices__foot > div { display: grid; grid-gap: 14px; }
  .ip-prices__foot .ip-link { margin: 0; }
  .checker { padding: 22px; }
  .checker__copy h2 { font-size: 26px; }
  .ip-cta { padding: 26px 22px; }
  .ip-cta h2 { font-size: 24px; }
  .gloss__group { grid-template-columns: 44px 1fr; }
  .gloss__letter { font-size: 28px; }
  .ip-toc a { font-size: 13px; }
}

.main-nav > a, .nav-drop__toggle { white-space: nowrap; }
.main-nav__mobile { display: none; }
@media (max-width: 920px) { .main-nav .main-nav__mobile { display: block; } }
/* ссылки на страницы, которые ещё в работе (только до запуска) */
a[data-planned] { opacity: .5; }

/* =========================================================
   Дизайн v2 внутренних страниц: фото, доверие, схемы, иконки, отзыв, статьи в две колонки
   ========================================================= */

/* ---------- первый экран с фото */
.ip-hero--photo { position: relative; background-color: #071426; background-image: linear-gradient(90deg, rgba(7,20,38,.98) 0%, rgba(7,20,38,.93) 42%, rgba(7,20,38,.62) 100%), url(/assets/hero-heavy-haul.webp); background-size: cover; background-position: center right; }
.ip-hero--photo .ip-hero__lead { color: #c9d3e1; }

/* ---------- полоса доверия */
.ip-trust { background: #fff; border-bottom: 1px solid var(--line); box-shadow: 0 10px 30px rgba(14,30,53,.05); }
.ip-trust__row { display: grid; grid-template-columns: repeat(5, 1fr); }
.ip-trust__row a { display: grid; grid-template-columns: 40px 1fr; grid-gap: 12px; align-items: center; padding: 18px 14px 18px 0; border-right: 1px solid #edf0f5; }
.ip-trust__row a:last-child { border-right: 0; }
.ip-trust__row a + a { padding-left: 14px; }
.ip-trust__row strong { display: block; color: var(--navy-950); font-size: 14px; line-height: 1.25; }
.ip-trust__row small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; line-height: 1.35; }
.ip-trust__row a:hover strong { color: var(--amber-text); }

/* ---------- иконки карточек */
.ip-icon { display: inline-grid; place-items: center; width: 46px; height: 46px; margin-bottom: 14px; color: #b07400; border-radius: 12px; background: #fff4d9; }
.ip-icon svg { width: 22px; height: 22px; stroke-width: 1.7; }
a.ip-card:hover .ip-icon { color: var(--navy-950); background: var(--amber); }
.ip-trust .ip-icon { width: 40px; height: 40px; margin-bottom: 0; }
.ip-card { position: relative; overflow: hidden; }
.ip-card::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: var(--amber); transform: scaleX(0); transform-origin: left; transition: transform .25s ease; }
a.ip-card:hover::after { transform: scaleX(1); }

/* ---------- схема автопоезда */
.ip-section--scheme { background: linear-gradient(180deg, #f3f6fb 0%, #fff 100%); }
.scheme { border: 1px solid var(--line); border-radius: 18px; background: #fff; overflow: hidden; box-shadow: 0 24px 60px rgba(14,30,53,.07); }
.scheme__views { display: grid; grid-template-columns: 3.2fr 1fr; grid-gap: 18px; align-items: end; padding: 26px 26px 10px; background-image: linear-gradient(rgba(14,30,53,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(14,30,53,.045) 1px, transparent 1px); background-size: 20px 20px; }
.scheme svg { display: block; width: 100%; height: auto; overflow: visible; fill: initial; stroke: none; }
.scheme .s-ground { stroke: #8a95a8; stroke-width: 2; }
.scheme .s-truck { fill: #172947; }
.scheme .s-glass, .scheme .c-glass { fill: #9cc8ef; }
.scheme .s-frame { fill: #2b3a52; }
.scheme .s-trailer { fill: #4a5a73; }
.scheme .s-wheel { fill: #0d1b32; }
.scheme .s-hub { fill: #9aa6b8; }
.scheme .c-main { fill: #ffae00; stroke: #c98700; stroke-width: 1.5; }
.scheme .c-dark { fill: #2b3a52; }
.scheme .c-hub { fill: #8a95a8; }
.scheme .c-boom { fill: none; stroke: #c98700; stroke-width: 9; stroke-linecap: round; stroke-linejoin: round; }
.scheme .c-boom-fill { fill: #e0a000; }
.scheme .c-rib { stroke: rgba(120,80,0,.35); stroke-width: 2; }
.scheme .c-rib-fill { fill: rgba(120,80,0,.25); }
.scheme .s-cargo-rear { fill: rgba(255,174,0,.85); stroke: #c98700; stroke-width: 1.5; }
.scheme .s-limit { stroke: #d9534f; stroke-width: 1.5; stroke-dasharray: 6 5; fill: none; }
.scheme .s-limit-t { fill: #c0392b; font-size: 12px; font-weight: 700; font-family: inherit; }
.scheme .s-dim { stroke-width: 2; }
.scheme .s-dim.is-ok { stroke: #15945c; }
.scheme .s-dim.is-over { stroke: #d48600; }
.scheme .s-dim-t { font-size: 15px; font-weight: 800; font-family: inherit; }
.scheme .s-dim-t.is-ok { fill: #15945c; }
.scheme .s-dim-t.is-over { fill: #b97400; }
.scheme .s-dim2 { stroke: #8a95a8; stroke-width: 1.5; }
.scheme .s-dim2-t { fill: #687287; font-size: 12px; font-weight: 700; font-family: inherit; }
.scheme__legend { margin: 0; padding: 18px 26px 22px; border-top: 1px solid var(--line); border-left: 5px solid #15945c; }
.scheme__legend.is-over { border-left-color: var(--amber); }
.scheme__legend strong { display: block; color: var(--navy-950); font-size: 18px; }
.scheme__legend p { margin: 6px 0 10px; color: #44506a; font-size: 15px; line-height: 1.6; }
.scheme__legend .ip-link { margin-top: 0; }

/* ---------- отзыв */
.ip-section--review { padding-top: 24px; padding-bottom: 24px; }
.ip-review { position: relative; max-width: 900px; margin: 0 auto; padding: 34px 40px 30px 96px; border-radius: 18px; background: #fffaf0; border: 1px solid #f3dfae; }
.ip-review::before { content: "\201C"; position: absolute; left: 30px; top: 6px; color: var(--amber); font-size: 110px; font-weight: 900; line-height: 1; font-family: Georgia, serif; }
.ip-review__stars { color: var(--amber-dark); font-size: 16px; letter-spacing: 3px; }
.ip-review blockquote { margin: 8px 0 14px; }
.ip-review blockquote p { margin: 0; color: var(--navy-950); font-size: 20px; line-height: 1.5; font-weight: 600; }
.ip-review figcaption { color: var(--muted); font-size: 14px; }
.ip-review .ip-link { margin-top: 12px; }

/* ---------- статьи: две колонки, закреплённое оглавление */
.doc-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; grid-gap: 48px; align-items: start; padding-top: 12px; }
.doc-main .container { width: auto; max-width: none; margin-left: 0; margin-right: 0; }
.doc-main .ip-section { padding: 44px 0; }
.doc-main .ip-section--soft { margin: 0 -20px; padding-left: 20px; padding-right: 20px; border-radius: 18px; }
.doc-main .ip-section h2 { font-size: 32px; }
.doc-main .ip-cards--3, .doc-main .ip-rels, .doc-main .ip-steps { grid-template-columns: repeat(2, 1fr); }
.doc-main .ip-steps li:last-child:nth-child(odd) { grid-column: 1 / -1; }
.doc-main .faq-section { margin: 32px 0; padding: 40px 32px; border-radius: 18px; }
.doc-main .faq-layout { grid-template-columns: 1fr; grid-gap: 26px; }
.doc-aside { position: relative; height: 100%; }
.doc-aside__inner { position: -webkit-sticky; position: sticky; top: 96px; padding: 44px 0; }
.doc-toc { margin-bottom: 18px; padding: 20px 22px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.doc-toc p { margin: 0 0 10px; color: var(--amber-text); font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.doc-toc ol { margin: 0; padding-left: 18px; color: var(--muted); font-size: 14px; }
.doc-toc li { padding: 5px 0; }
.doc-toc a { color: #2b3a52; }
.doc-toc a:hover { color: var(--amber-text); }
.doc-cta { padding: 22px; color: #fff; border-radius: 14px; background: linear-gradient(135deg, #0d203a, #071426); }
.doc-cta__label { display: flex; align-items: center; margin: 0 0 10px; color: #8fe0b3; font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.doc-cta__label i { width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #38bf7a; }
.doc-cta strong { display: block; font-size: 20px; }
.doc-cta > p { margin: 6px 0 16px; color: #aeb9ca; font-size: 14px; line-height: 1.5; }
.doc-cta .button { width: 100%; }
.doc-cta__phone { display: block; margin-top: 12px; color: #fff; text-align: center; font-weight: 800; }
.inner-page--pillar .ip-hero .ip-toc, .inner-page--article .ip-hero .ip-toc { display: none; }

/* ---------- адаптив v2 */
@media (max-width: 1120px) {
  .ip-trust__row { grid-template-columns: repeat(3, 1fr); }
  .ip-trust__row a:nth-child(n+4) { display: none; }
  .ip-trust__row a:nth-child(3) { border-right: 0; }
  .doc-layout { grid-template-columns: minmax(0, 1fr); grid-gap: 0; }
  .doc-main { min-width: 0; }
  .doc-aside { display: none; }
  .inner-page--pillar .ip-hero .ip-toc, .inner-page--article .ip-hero .ip-toc { display: block; }
}
@media (max-width: 920px) {
  .scheme__views { grid-template-columns: 1fr; }
  .scheme__rear { max-width: 260px; margin: 0 auto; }
  .ip-review { padding: 28px 24px 24px; }
  .ip-review::before { display: none; }
}
@media (max-width: 640px) {
  .ip-hero--photo { background-image: linear-gradient(180deg, rgba(7,20,38,.94), rgba(7,20,38,.97)), url(/assets/hero-heavy-haul.webp); }
  .ip-trust__row { grid-template-columns: 1fr 1fr; }
  .ip-trust__row a { padding: 14px 10px 14px 0; border-right: 0; border-bottom: 1px solid #edf0f5; }
  .ip-trust__row a + a { padding-left: 0; }
  .ip-trust__row a:nth-child(3) { grid-column: 1 / -1; border-bottom: 0; }
  .scheme__views { padding: 16px 12px 6px; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .scheme__side { min-width: 540px; }
  .scheme__rear { max-width: 170px; }
  .scheme__legend { padding: 16px 18px 18px; }
  .ip-review blockquote p { font-size: 17px; }
  .doc-main .ip-cards--3, .doc-main .ip-rels, .doc-main .ip-steps { grid-template-columns: 1fr; }
  .doc-main .ip-section--soft { margin: 0 -14px; padding-left: 14px; padding-right: 14px; border-radius: 0; }
  .doc-main .faq-section { margin: 24px -14px; padding: 32px 14px; border-radius: 0; }
}

/* =========================================================
   v3: сквозные блоки с главной (тест персон 10.10.2026)
   ========================================================= */

/* ---------- калькулятор под ценами */
.ip-calc-inline { margin-top: 28px; padding: 28px; border: 1px solid #f0d89a; border-radius: 18px; background: linear-gradient(180deg, #fffaf0, #fff); }
.ip-calc-inline__head { max-width: 760px; margin-bottom: 18px; }
.ip-calc-inline__head h3 { margin: 0 0 6px; color: var(--navy-950); font-size: 26px; }
.ip-calc-inline__head p:last-child { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.ip-calc-inline .calc-pro { margin: 0; }

/* ---------- условия работы и документы */
.ip-section--terms { background: var(--surface-soft); }
.ip-terms { display: grid; grid-template-columns: minmax(0, 1fr) 340px; grid-gap: 32px; align-items: start; }
.ip-terms__grid { display: grid; grid-template-columns: repeat(2, 1fr); grid-gap: 14px; margin-top: 22px; }
.ip-term { display: grid; grid-template-columns: 46px 1fr; grid-gap: 14px; align-items: start; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.ip-term .ip-icon { margin: 0; }
.ip-term h3 { margin: 2px 0 6px; color: var(--navy-950); font-size: 16px; }
.ip-term p { margin: 0; color: #556178; font-size: 14px; line-height: 1.5; }
.ip-docs { padding: 24px; color: #fff; border-radius: 18px; background: linear-gradient(135deg, #0d203a, #071426); box-shadow: 0 24px 60px rgba(7,20,38,.18); }
.ip-docs__label { margin: 0 0 6px; color: #ffc44a; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.ip-docs__req { margin: 0 0 16px; color: #aeb9ca; font-size: 13px; line-height: 1.55; }
.ip-docs__file { display: grid; grid-template-columns: 40px 1fr; grid-gap: 12px; align-items: center; margin-bottom: 10px; padding: 12px; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; background: rgba(255,255,255,.04); }
.ip-docs__file:hover { border-color: var(--amber); }
.ip-docs__file .ip-icon { width: 40px; height: 40px; margin: 0; }
.ip-docs__file strong { display: block; color: #fff; font-size: 14px; }
.ip-docs__file small { display: block; color: #8796ab; font-size: 12px; }
.ip-docs .button { width: 100%; margin-top: 8px; }
.ip-docs__note { display: block; margin-top: 10px; color: #8796ab; font-size: 12px; line-height: 1.5; }

/* ---------- первый экран: два дополнительных действия */
.ip-quote__alts { display: flex; flex-wrap: wrap; justify-content: space-between; margin-top: 12px; }
.ip-quote__alts .ip-quote__alt { margin: 0 8px 0 0; }

/* ---------- схема: подсказка про срочность */
.scheme__urgent { margin: 0 0 12px !important; padding: 10px 14px; border-radius: 10px; background: #fff6e0; color: #5a4300 !important; font-size: 14px !important; }

/* ---------- инструменты в боковой колонке статей */
.doc-tools { margin-top: 18px; padding: 16px 18px; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.doc-tools p { margin: 0 0 8px; color: var(--amber-text); font-size: 12px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.doc-tools a { display: grid; grid-template-columns: 32px 1fr; grid-gap: 10px; align-items: center; padding: 6px 0; color: #2b3a52; font-size: 14px; font-weight: 600; }
.doc-tools a:hover { color: var(--amber-text); }
.doc-tools .ip-icon { width: 32px; height: 32px; margin: 0; border-radius: 9px; }
.doc-tools .ip-icon svg { width: 17px; height: 17px; }

@media (max-width: 1120px) {
  .ip-terms { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
  .ip-calc-inline { margin-left: -14px; margin-right: -14px; padding: 22px 14px; border-radius: 0; border-left: 0; border-right: 0; }
  .ip-calc-inline__head h3 { font-size: 22px; }
  .ip-terms__grid { grid-template-columns: 1fr; }
  .ip-quote__alts { display: grid; grid-gap: 8px; justify-content: center; }
}

/* ---------- таблицы и списки в тексте (юридические страницы) */
.prose table { width: 100%; margin: 0 0 20px; border-collapse: collapse; font-size: 15px; }
.prose th, .prose td { padding: 11px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.prose th { width: 38%; color: var(--navy-950); font-weight: 700; background: #f7f9fc; }
.prose h2 { margin: 32px 0 12px; color: var(--navy-950); font-size: 24px; }
.prose h3 { margin: 22px 0 8px; color: var(--navy-950); font-size: 19px; }
@media (max-width: 640px) { .prose th, .prose td { display: block; width: auto; padding: 8px 0; } .prose th { background: none; border-bottom: 0; padding-bottom: 0; } }

/* главная: ссылки в карточках задач */
.task-card h3 a.task-card__title-link { color: inherit; }
.task-card h3 a.task-card__title-link:hover { color: var(--amber-text); }
.task-card p a { color: inherit; text-decoration: underline; text-decoration-color: rgba(255,174,0,.6); text-underline-offset: 3px; }
.task-card p a:hover { color: var(--amber-text); }
.fanout-card__more { display: inline-block; margin-top: 14px; color: var(--amber-text); font-size: 13px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.fanout-card__more:hover { color: var(--amber-text); }

/* Команда: карточки сотрудников с фото (build/team.json) */
.ip-team { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 300px)); gap: 20px; }
.ip-person { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--line); border-radius: 14px; background: #fff; }
.ip-person img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; background: #e9edf3; }
.ip-person__body { display: flex; flex: 1; flex-direction: column; padding: 20px 22px 22px; }
.ip-person small { margin-bottom: 6px; color: var(--amber-text); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.ip-person h3 { margin: 0 0 8px; color: var(--navy-950); font-size: 20px; line-height: 1.2; }
.ip-person p { margin: 0; color: #556178; font-size: 15px; line-height: 1.55; }
.ip-person .ip-link { margin-top: auto; padding-top: 16px; }
@media (max-width: 640px) {
  .ip-team { grid-template-columns: 1fr; gap: 14px; }
  .ip-person { flex-direction: row; }
  .ip-person img { flex: 0 0 116px; align-self: flex-start; width: 116px; border-radius: 0 0 12px 0; }
  .ip-person__body { padding: 14px 16px; }
  .ip-person h3 { font-size: 18px; }
  .ip-person p { font-size: 14px; }
}

/* =========================================================
   v14 (консилиум 18.10.2026): якоря, порядок блоков, сетки, таблицы, статьи
   ========================================================= */

/* п. 25 — мера строки прозы 68ch, левый край по оси остальных блоков */
.ip-section > .container.ip-narrow { max-width: var(--container); }
.ip-narrow > h2, .ip-narrow > .section-kicker, .ip-narrow > .ip-lead, .ip-narrow > .gloss, .ip-narrow > .gloss__nav { max-width: 860px; }
.prose { max-width: 68ch; }
.doc-main .ip-section > .container.ip-narrow { max-width: none; }

/* п. 20 — строка якорей под первым экраном */
.ip-anchors { position: relative; background: #fff; border-bottom: 1px solid var(--line); }
.ip-anchors ul { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 12px 0; list-style: none; }
.ip-anchors li { margin: 4px 8px 4px 0; }
.ip-anchors a { display: inline-flex; align-items: center; min-height: 36px; padding: 6px 12px; color: #2b3a52; border: 1px solid var(--line); border-radius: 999px; font-size: 14px; line-height: 1.3; }
.ip-anchors a:hover { border-color: var(--amber-head); color: var(--amber-text); }
.ip-anchors a.ip-anchors__main { color: var(--navy-950); border-color: #f0d89a; background: #fff7e0; font-weight: 800; }
@media (max-width: 920px) {
  .ip-anchors ul { flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; padding: 10px 0; }
  .ip-anchors ul::-webkit-scrollbar { display: none; }
  .ip-anchors li { flex: 0 0 auto; }
  .ip-anchors a { min-height: 40px; white-space: nowrap; }
}

/* п. 21 — CTA под кейсами */
.ip-cases__cta { display: grid; grid-template-columns: 1fr auto; grid-gap: 18px; align-items: center; margin-top: 22px; padding: 20px 24px; border: 1px solid #f0d89a; border-radius: 14px; background: #fffaf0; }
.ip-cases__cta p { margin: 0; color: #3b475b; font-size: 16px; line-height: 1.5; }
.ip-cases__cta strong { color: var(--navy-950); }
@media (max-width: 640px) { .ip-cases__cta { grid-template-columns: 1fr; padding: 18px; } .ip-cases__cta .button { width: 100%; } }

/* п. 24 — сетки без пустот */
.ip-cases { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.ip-cases--n1 { grid-template-columns: minmax(0, 760px); }
.ip-team { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.ip-team .ip-person { max-width: 420px; }
.ip-rels--2 { grid-template-columns: repeat(2, 1fr); }
.ip-rels--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1120px) { .ip-rels--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 920px) {
  .ip-cases { grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); }
  .ip-rels, .ip-rels--2, .ip-rels--4 { grid-template-columns: repeat(2, 1fr); }
  .ip-rels > :last-child:nth-child(odd) { grid-column: 1 / -1; }
}
.doc-main .ip-rels--4 { grid-template-columns: repeat(2, 1fr); }
.doc-main .ip-rels > :last-child:nth-child(odd) { grid-column: 1 / -1; }
@media (max-width: 640px) {
  .ip-cases, .ip-cases--n1 { grid-template-columns: 1fr; }
  .ip-rels, .ip-rels--2, .ip-rels--4, .doc-main .ip-rels--4 { grid-template-columns: 1fr; }
  .ip-rels > :last-child:nth-child(odd) { grid-column: auto; }
  .ip-team { grid-template-columns: 1fr; }
  .ip-team .ip-person { max-width: none; }
}

/* п. 8 — таблицы: фокус, липкая первая колонка */
.data-table-wrap:focus-visible { outline-offset: -3px; }
.data-table th:first-child, .data-table td:first-child { position: sticky; left: 0; z-index: 2; background: #fff; box-shadow: 1px 0 0 #e8ecf2; }
.data-table thead th:first-child { background: #f4f6fa; }
@media (max-width: 640px) {
  .data-table th:first-child, .data-table td:first-child { min-width: 120px; max-width: 44vw; }
}

/* п. 22 — «Услуга по теме» в статьях; инструменты на мобильном */
.ip-topic { display: grid; grid-template-columns: 1fr auto; grid-gap: 18px 28px; align-items: center; margin: 4px 0 8px; padding: 22px 24px; border: 1px solid #f0d89a; border-left: 4px solid var(--amber); border-radius: 14px; background: #fffaf0; }
.ip-topic .section-kicker { margin-bottom: 6px; }
.ip-topic__title { margin: 0 0 6px; font-size: 21px; font-weight: 850; line-height: 1.25; }
.ip-topic__title a { color: var(--navy-950); }
.ip-topic__title a:hover { color: var(--amber-text); }
.ip-topic__text { max-width: 60ch; margin: 0; color: #44506a; font-size: 15px; line-height: 1.55; }
.ip-topic__price { margin: 10px 0 0; color: var(--navy-950); font-size: 18px; font-weight: 850; }
.ip-topic__price small { color: var(--muted); font-size: 13px; font-weight: 600; }
.ip-topic__actions { display: grid; justify-items: start; grid-gap: 10px; }
.ip-topic__actions .ip-link { margin-top: 0; }
@media (max-width: 640px) { .ip-topic { grid-template-columns: 1fr; padding: 18px; } .ip-topic__actions .button { width: 100%; } }
.doc-tools--mobile { display: none; }
@media (max-width: 1120px) {
  .doc-tools.doc-tools--mobile { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-gap: 4px 16px; margin-top: 20px; margin-bottom: 4px; }
  .doc-tools--mobile p { grid-column: 1 / -1; }
}
@media (max-width: 640px) { .doc-tools.doc-tools--mobile { grid-template-columns: 1fr; } }

/* п. 10 — h2 только для экранного диктора */
.ip-section .sr-only { margin: -1px; }

/* мелкие зоны нажатия на телефоне (дополнение координатора) */
@media (max-width: 920px) {
  .ip-link, .ip-quote__alt, .ip-cta__phone, .doc-cta__phone, .ip-card__more { min-height: 44px; display: inline-flex; align-items: center; }
  .ip-quote__alt { display: flex; justify-content: center; }
  .doc-tools a { min-height: 44px; }
  .crumbs a { display: inline-block; padding: 8px 0; }
}

/* 320 px: длинные слова в H1 и ссылки словаря не распирают страницу */
.ip-hero__copy, .ip-hero__grid > * { min-width: 0; }
.ip-hero h1 { overflow-wrap: break-word; hyphens: auto; }
@media (max-width: 360px) { .ip-hero h1, .ip-hero--article h1 { font-size: 28px; } }
@media (max-width: 640px) { .gloss dd a { white-space: normal; } }
@media (max-width: 920px) { .crumbs ol { align-items: center; } }

/* v15 — форма прямо в карточке расчёта (hero услуг и хабов) */
.ip-quote ul { margin-bottom: 16px; }
.quote-form { display: grid; gap: 10px; }
.quote-field { display: grid; gap: 5px; }
.quote-field > span { color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.quote-field b { color: var(--amber-text); }
.quote-field input { width: 100%; height: 48px; padding: 0 14px; color: var(--ink); font: inherit; font-size: 15px; border: 1px solid var(--field-border, #7d8799); border-radius: 10px; background: #f7f9fc; }
.quote-field input::placeholder { color: #667084; }
.quote-field input:focus { border-color: #101827; background: #fff; box-shadow: 0 0 0 3px rgba(255,174,0,.35); outline: none; }
.quote-field input:focus-visible { outline: 3px solid #101827; outline-offset: 2px; }
.quote-consent { margin: 2px 0 2px; }
.quote-form .button--submit { width: 100%; margin-top: 4px; }
.quote-form .form-status { min-height: 0; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.45; }
.quote-form .form-status:empty { display: none; }
.quote-form.is-sent .quote-field input { background: #f2f4f8; }
.quote-form .field-error { display: block; color: #b42318; font-size: 12px; font-weight: 600; text-transform: none; letter-spacing: 0; }
@media (max-width: 640px) {
  .quote-field input { font-size: 16px; }
}

/* v16 — «В этом разделе»: соседние страницы раздела, видимая навигация */
.ip-section--siblings { padding-top: 8px; padding-bottom: 40px; }
.ip-siblings .section-kicker { margin-bottom: 14px; }
.ip-siblings__list { display: flex; flex-wrap: wrap; gap: 10px; }
.ip-siblings__list a { display: inline-flex; align-items: center; min-height: 40px; padding: 8px 16px; color: var(--navy-950); font-size: 15px; font-weight: 700; line-height: 1.25; border: 1px solid var(--line); border-radius: 999px; background: #fff; transition: border-color .2s ease, background .2s ease; }
.ip-siblings__list a:hover { border-color: var(--amber); background: #fff8e8; }
.ip-siblings__list a.is-hub { border-color: #d9c08a; background: #fffaf0; }
@media (max-width: 640px) {
  .ip-siblings__list { gap: 8px; }
  .ip-siblings__list a { min-height: 44px; font-size: 14px; padding: 8px 14px; }
}
