/* ==========================================================================
   Каталог услуг: главная (/katalog-uslug/) и посадочная услуги.
   Подключается поверх sit.css, только на страницах каталога.
   ========================================================================== */

/* --- Главная: услуги по разделам, 3 колонки (как в макете: без маркеров и линий) --- */
.sit-services__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--s8) var(--s6);
}
@media (min-width: 576px) { .sit-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .sit-services__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

.sit .sit-services__group-title {     /* слева — пиксельная иконка раздела */
  display: flex;
  align-items: center;
  gap: var(--s3);
  margin-bottom: var(--s4);
  font-size: 22px;
  line-height: 1.15;
}
.sit-services__list > li + li { margin-top: var(--s3); }
.sit .sit-services__link { font-size: 18px; line-height: 1.25; }
@media (min-width: 992px) {
  .sit .sit-services__group-title { font-size: 24px; margin-bottom: var(--s6); }
  .sit-services__list > li + li { margin-top: var(--s4); }
  .sit .sit-services__link { font-size: 20px; line-height: 1.15; }
}

/* --- Посадочная: секция «заголовок слева — содержимое справа» --- */
.sit-block {
  position: relative;
  display: grid;
  gap: var(--s6);
  padding-block: var(--s6);
  border-top: 1px solid var(--border);
}
.sit-block__aside { display: flex; flex-direction: column; gap: var(--s3); }
.sit-block__title {
  font-size: 26px;
  line-height: 1.25;
  letter-spacing: -0.01em;
}
.sit-block__lead { color: var(--text-muted); }
.sit-block__body { min-width: 0; }
@media (min-width: 992px) {
  .sit-block { grid-template-columns: 356px minmax(0, 1fr); gap: var(--s12); padding-block: 40px; }
  .sit-block__title { font-size: 28px; }
  .sit-block__aside { position: sticky; top: var(--s6); align-self: start; }
}
@media (min-width: 1400px) {
  .sit-block { grid-template-columns: 400px minmax(0, 1fr); }
}

/* Якорь секции для подменю: абсолютный, чтобы не становиться ячейкой сетки;
   отступ сверху — под высоту липкого подменю */
.sit-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; scroll-margin-top: calc(var(--sit-header-offset, 0px) + 72px); }
.sit-with { position: relative; }

/* Тип секции «карточки»: пункты (заголовок + текст) плитками по 2 в ряд */
.sit .sit-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
.sit-cards__item {
  padding: var(--s6);
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--yellow);
}
.sit .sit-cards__title { margin-bottom: var(--s3); font-size: 20px; line-height: 1.2; }
.sit-cards__text { font-size: 15px; line-height: 1.5; }
.sit-cards__text > * + * { margin-top: var(--s2); }
@media (min-width: 768px) {
  .sit .sit-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  /* нечётное число карточек: последняя на всю ширину, чтобы не стояла одна в полряда */
  .sit .sit-cards > .sit-cards__item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Секция-схема: заголовок и подзаголовок сверху, картинка на всю ширину */
@media (min-width: 992px) {
  .sit-block--scheme { grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
  .sit-block--scheme .sit-block__aside { position: static; flex-direction: row; align-items: baseline; gap: var(--s6); }
}
.sit-block--scheme .sit-figure { margin-top: 0; }

/* Картинка или схема с подписью */
.sit-figure { margin-top: var(--s6); }
.sit-figure img { width: 100%; height: auto; background: var(--surface-subtle); }
.sit .sit-figure figcaption { margin-top: var(--s2); font-size: 14px; color: var(--text-muted); text-align: center; }
.sit-figure a { display: block; cursor: zoom-in; }

/* --- Таблица из визуального редактора ---
   Десктоп — обычная таблица; до 768 px — строки превращаются в карточки,
   подписи столбцов подставляются из data-label (их проставляет result_modifier). */
.sit-table { width: 100%; overflow-x: auto; }
.sit-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.4;
}
.sit-table th {                    /* шапка в одну строку: мельче и без переноса */
  padding: 10px 16px;
  background: var(--accent);
  color: var(--on-accent);
  font-size: 14px;
  line-height: 1.3;
  letter-spacing: 0.01em;
  white-space: nowrap;
  font-weight: 400;
  text-align: left;
  vertical-align: top;
  border: 1px solid var(--accent);
}
.sit-table td {
  padding: 12px 16px;
  vertical-align: top;
  border: 1px solid var(--border);
}
.sit-table tbody tr:nth-child(even) td { background: var(--surface-subtle); }
.sit-table p { margin: 0; }

/* Наш вариант в сравнении (колонка с «IT-IP» в шапке, класс is-ours ставит sit_prepare_tables):
   тёплая светло-жёлтая подложка и жёлтая полоса (бирюза — холодная для «нашего» предложения, 04.10.2026) */
.sit-table th.is-ours { box-shadow: inset 0 -4px 0 var(--yellow); }
/* знак «проверено» (розетка с галочкой) перед «Договор с IT-IP» — визуальный якорь доверия */
.sit-table { --sit-verified: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23006F81' d='M23 12l-2.44-2.79.34-3.69-3.61-.82-1.89-3.2L12 2.96 8.6 1.5 6.71 4.69 3.1 5.5l.34 3.7L1 12l2.44 2.79-.34 3.7 3.61.82L8.6 22.5l3.4-1.47 3.4 1.46 1.89-3.19 3.61-.82-.34-3.69L23 12zm-12.91 4.72l-3.8-3.81 1.48-1.48 2.32 2.33 5.85-5.87 1.48 1.48-7.33 7.35z'/></svg>"); --sit-verified-on-accent: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23FFFFFF' d='M23 12l-2.44-2.79.34-3.69-3.61-.82-1.89-3.2L12 2.96 8.6 1.5 6.71 4.69 3.1 5.5l.34 3.7L1 12l2.44 2.79-.34 3.7 3.61.82L8.6 22.5l3.4-1.47 3.4 1.46 1.89-3.19 3.61-.82-.34-3.69L23 12zm-12.91 4.72l-3.8-3.81 1.48-1.48 2.32 2.33 5.85-5.87 1.48 1.48-7.33 7.35z'/></svg>"); }
.sit-table th.is-ours::before { content: ""; display: inline-block; width: 18px; height: 18px; margin-right: 8px; vertical-align: -4px; background: var(--sit-verified-on-accent) no-repeat center / contain; }
.sit-table td.is-ours,
.sit-table tbody tr:nth-child(even) td.is-ours { background: var(--yellow-soft); color: var(--text); }
/* сравнение целиком в ширину колонки текста, без прокрутки: колонки вариантов равные, шапка переносится */
@media (min-width: 768px) {
  .sit-table--cmp table { table-layout: fixed; }
  .sit-table--cmp th { white-space: normal; vertical-align: bottom; }
  .sit-table--cmp th:first-child { width: 22%; }
}

/* До 768 px строки — карточки; таблица в 2 колонки (sit-table--fit) остаётся таблицей и помещается без прокрутки */
@media (max-width: 767.98px) {
  .sit-table:not(.sit-table--fit) thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sit-table:not(.sit-table--fit) :is(table, tbody, tr, td) { display: block; width: 100%; }
  .sit-table:not(.sit-table--fit) tr { border: 1px solid var(--border); border-top: 3px solid var(--accent); }
  .sit-table:not(.sit-table--fit) tr + tr { margin-top: var(--s4); }
  .sit-table:not(.sit-table--fit) tbody tr:nth-child(even) td { background: none; }
  .sit-table:not(.sit-table--fit) td { border: 0; padding: 8px 16px; }
  .sit-table:not(.sit-table--fit) td:first-child { padding-top: 14px; font-size: 18px; }
  .sit-table:not(.sit-table--fit) td:last-child { padding-bottom: 14px; }
  .sit-table:not(.sit-table--fit) td[data-label]:not(:first-child)::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font-size: 13px;
    color: var(--text-muted);
  }
  /* в карточке наш вариант — плашкой с жёлтой полосой слева */
  .sit-table:not(.sit-table--fit) tbody tr td.is-ours {
    width: auto;
    margin: 6px 12px;
    padding: 10px 14px 10px 18px;
    background: var(--yellow-soft);
    box-shadow: inset 4px 0 0 var(--yellow);
  }
  .sit-table:not(.sit-table--fit) tbody tr td.is-ours:last-child { margin-bottom: 12px; }
  .sit-table:not(.sit-table--fit) td.is-ours[data-label]::before {
    padding-left: 22px; color: var(--accent-ink);
    background: var(--sit-verified) no-repeat left center / 16px 16px;
  }
  .sit-table--fit th, .sit-table--fit td { padding: 10px 12px; white-space: normal; }
}

/* --- Этапы: номер «1.» текстом акцентного цвета (как в макете) --- */
.sit-steps { display: grid; gap: var(--s6); }
.sit-steps__item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--s2);
  align-items: baseline;
}
.sit-steps__num { min-width: 1.3em; font-size: 20px; line-height: 1.15; color: var(--accent-ink); }
.sit-steps__title { font-size: 20px; line-height: 1.15; }
.sit .sit-steps__text { margin-top: var(--s2); }
.sit-steps__text > * + * { margin-top: var(--s2); }

/* --- Вопросы и ответы: <details>, работает без JS. Как в концепте группы:
   линии между вопросами, справа бирюзовый «+», у открытого — «−» --- */
/* линии только между вопросами — без верхней и нижней (их роль играет граница секции) */
.sit-faq__item + .sit-faq__item { border-top: 1px solid var(--border); }
.sit-faq__item:first-child .sit-faq__q { padding-top: 0; }
.sit-faq__item:first-child .sit-faq__q::after { top: -6px; }
.sit .sit-faq__q {
  position: relative;
  display: block;
  padding: 16px 40px 16px 0;
  font-size: 18px;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}
.sit .sit-faq__q::-webkit-details-marker { display: none; }
.sit .sit-faq__q:hover { color: var(--accent-ink); }
.sit-faq__icon { display: none; }
.sit .sit-faq__q::after {
  content: "+";
  position: absolute;
  right: 4px; top: 10px;
  font-size: 28px;
  line-height: 1;
  color: var(--brand);
}
.sit-faq__item[open] > .sit-faq__q::after { content: "\2212"; }
.sit-faq__a { padding: 0 40px var(--s4) 0; color: var(--text-muted); }
.sit-faq__a > * + * { margin-top: var(--s3); }

.sit .sit-back { margin-top: var(--s8); }

/* --- Другие услуги: карточки со стрелкой --- */
.sit .sit-related__card { justify-content: space-between; min-height: 164px; }
.sit-related__title { font-size: 22px; line-height: 1.25; }
.sit .sit-related__card .sit-more { color: var(--accent-ink); }
.sit a.sit-related__card:hover .sit-arrow::before { transform: translateX(2px); }

/* ==========================================================================
   Посадочная по концепту группы: первый экран + карточка заявки
   ========================================================================== */
.sit-lhero { padding-block: var(--s4) var(--s8); }
.sit-lhero__grid {
  display: grid;
  gap: var(--s6);
  margin-top: var(--s4);
}
.sit .sit-eyebrow { display: flex; align-items: center; gap: var(--s2); font-size: 15px; line-height: 1.3; color: var(--accent-ink); }
.sit-lhero__main .sit-h1 { margin-top: var(--s2); }
.sit .sit-lhero__lead { margin-top: var(--s4); font-size: 18px; line-height: 1.45; color: var(--text-muted); max-width: 40em; }
.sit .sit-lhero__fit-title {
  margin-top: var(--s6);
  font-size: 15px;
  line-height: 1.3;
  color: var(--text-muted);
}
.sit .sit-fit { margin-top: var(--s2); display: grid; gap: var(--s2); max-width: 44em; }
.sit .sit-fit li { margin: 0; }
.sit-fit li { position: relative; padding-left: 22px; }
.sit-fit li::before {                /* квадратный маркер */
  content: "";
  position: absolute;
  left: 0; top: 0.55em;
  width: 8px; height: 8px;
  background: var(--yellow);
}

/* Карточка заявки: цена → кнопка → телефон → факты доверия; на десктопе липнет */
.sit-offer {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: var(--s4);
  padding: var(--s6);
  border: 1px solid var(--border);
  background: var(--surface);
  align-self: start;
}
.sit .sit-offer__price { font-size: 32px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.sit .sit-offer__price--quote { font-size: 20px; line-height: 1.25; color: var(--text); }
.sit .sit-offer__note { margin-top: calc(-1 * var(--s3)); font-size: 15px; color: var(--text-muted); }
.sit-offer .sit-btn { width: 100%; }
.sit .sit-offer__phone { font-size: 20px; color: var(--text); text-align: center; }
.sit .sit-trust { display: grid; gap: var(--s2); padding-top: var(--s4); border-top: 1px solid var(--border); font-size: 15px; color: var(--text-muted); }
.sit-trust li { position: relative; padding-left: 24px; }
.sit-trust li::before {              /* пиксельная галочка из квадратов 3×3 */
  content: "";
  position: absolute;
  left: 0; top: 0.65em;
  width: 3px; height: 3px;
  background: var(--accent);
  box-shadow: 3px 3px 0 var(--accent), 6px 6px 0 var(--accent), 9px 3px 0 var(--accent),
              12px 0 0 var(--accent), 15px -3px 0 var(--accent);
}
@media (min-width: 992px) {
  .sit-lhero { padding-block: var(--s6) var(--s8); }
  .sit-lhero__grid { grid-template-columns: 1fr 360px; gap: var(--s12); }
  .sit-offer { position: sticky; top: var(--s6); }
}

/* «С услугой обычно берут» — как в концепте: карточки одной высоты,
   низ (цена + кнопка) прижат к низу; третья — бесплатное предложение */
.sit-with__grid { align-items: stretch; }
.sit .sit-offer-card { height: 100%; gap: var(--s3); }
.sit .sit-offer-card__title { font-size: 20px; line-height: 1.2; }
.sit .sit-offer-card__title a { color: var(--text); }
.sit .sit-offer-card__title a:hover { color: var(--accent-ink); }
.sit .sit-offer-card__text { color: var(--text-muted); font-size: 15px; line-height: 1.45; }
.sit-offer-card__foot { display: flex; flex-direction: column; gap: var(--s3); margin-top: auto; padding-top: var(--s2); }
.sit .sit-offer-card__price { font-size: 28px; line-height: 1; font-variant-numeric: tabular-nums; }

.sit .sit-offer-card--free {
  position: relative;
  background: var(--accent-tint);
  border-color: var(--accent-tint);
  overflow: hidden;
}
.sit .sit-offer-card--free .sit-offer-card__title,
.sit .sit-offer-card--free .sit-offer-card__text { max-width: calc(100% - 96px); }
.sit .sit-offer-card--free .sit-btn { background: var(--surface); }

/* Енот «живой»: покачивается, рядом мигают пиксельные искры.
   При «уменьшить движение» общий сброс в sit.css выключает анимацию */
.sit-mascot {
  position: absolute;
  right: 12px;
  bottom: 76px;
  width: 92px;
}
.sit .sit-mascot img { width: 100%; height: auto; animation: sit-bob 2.8s ease-in-out infinite; transform-origin: 50% 100%; }
.sit-mascot::before,
.sit-mascot::after {
  content: "";
  position: absolute;
  width: 6px; height: 6px;
  background: var(--brand);
  opacity: 0;
  animation: sit-twinkle 2.4s ease-in-out infinite;
}
.sit-mascot::before { left: -14px; top: 18px; }
.sit-mascot::after { right: -6px; top: -4px; background: var(--accent-line); animation-delay: 1.2s; }
@keyframes sit-bob {
  0%, 100% { transform: translateY(0) rotate(0); }
  25% { transform: translateY(-4px) rotate(-2deg); }
  50% { transform: translateY(-7px) rotate(0); }
  75% { transform: translateY(-4px) rotate(2deg); }
}
@keyframes sit-twinkle {
  0%, 100% { opacity: 0; transform: scale(.3) rotate(0); }
  45% { opacity: 1; transform: scale(1) rotate(45deg); }
  70% { opacity: 0; transform: scale(.6) rotate(90deg); }
}

/* «Ещё в разделе»: плашки-ссылки */
.sit .sit-chips { display: flex; flex-wrap: wrap; gap: var(--s2); }
.sit .sit-chips a {
  display: inline-block;
  padding: 10px 14px;
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 16px;
  line-height: 1.25;
  text-decoration: none;
  transition: border-color 0.15s, color 0.15s;
}
.sit .sit-chips a:hover { border-color: var(--accent-line); color: var(--accent-ink); }

/* ==========================================================================
   Липкое подменю посадочной: целые пункты и раскрываемый список остальных.
   Без JavaScript ссылки переносятся на новые строки и остаются доступными.
   ========================================================================== */
.sit-subnav {
  position: sticky;
  top: var(--sit-header-offset, 0px);   /* под закреплённой шапкой, когда она видна (sit.js) */
  z-index: 90;
  background: var(--surface);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
  transition: box-shadow 0.2s, top 0.25s ease;
}
.sit nav.sit-subnav { background: var(--surface); }   /* общее «.sit nav { background: none }» (для крошек) иначе делает подменю прозрачным */
.sit-subnav.is-stuck { box-shadow: 0 10px 24px -18px rgba(27, 57, 64, 0.5); }
.sit-subnav__bar { display: flex; align-items: center; gap: 0 var(--s6); min-height: 60px; }
/* Название услуги: пока виден H1 — скрыто (не дублируем заголовок); после прилипания —
   слева, до двух строк, дальше многоточие; полное — в подсказке */
.sit .sit-subnav__title {
  display: none;
  flex: 0 1 260px;
  min-width: 0;
  padding-right: var(--s6);
  border-right: 1px solid var(--border);
  font-size: 16px;
  line-height: 1.25;
  color: var(--text);
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sit-subnav.is-stuck .sit-subnav__title { display: -webkit-box; animation: sit-name-in 0.2s ease-out; }
@keyframes sit-name-in { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.sit-subnav__navigation { position: relative; display: flex; flex: 1 1 0%; min-width: 0; align-self: stretch; }
.sit .sit-subnav__links {
  display: flex;
  flex: 1 1 auto;
  min-width: 0;
  gap: var(--s1);
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
}
.sit-subnav.is-enhanced .sit-subnav__links { flex-wrap: nowrap; }
.sit .sit-subnav__links > li { flex: none; }
.sit .sit-subnav__links a, .sit .sit-subnav__overflow a {
  display: block;
  padding: 18px 10px 15px;
  color: var(--text-muted);
  font-size: 15px;
  white-space: nowrap;
  text-decoration: none;
  border-bottom: 3px solid transparent;
}
.sit .sit-subnav__links a:hover, .sit .sit-subnav__overflow a:hover { color: var(--text); }
.sit .sit-subnav__links a[aria-current="true"] { color: var(--text); border-bottom-color: var(--yellow); }
.sit-subnav__cta { display: none; flex: none; margin-left: auto; }
.sit-subnav.is-stuck.has-passed-hero-cta .sit-subnav__cta { display: block; }
.sit-header-shown .sit-subnav.is-stuck .sit-subnav__cta { display: none; }   /* кнопка уже есть в закреплённой шапке */
.sit .sit-subnav__cta .sit-btn { min-height: 40px; padding: 6px 16px; font-size: 15px; white-space: nowrap; gap: var(--s3); }
.sit button.sit-subnav__toggle {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  flex: 0 0 110px; min-width: 0; min-height: 60px; padding: 12px 14px;
  border: 0; border-bottom: 3px solid transparent; border-radius: 0;
  background: var(--surface); box-shadow: none; color: var(--text);
  font: inherit; font-size: 15px; line-height: 1.25; cursor: pointer;
}
.sit button.sit-subnav__toggle[hidden], .sit .sit-subnav__overflow[hidden] { display: none; }
.sit button.sit-subnav__toggle:hover, .sit button.sit-subnav__toggle[aria-expanded="true"] { background: var(--surface-subtle, #f7f8fb); }
.sit button.sit-subnav__toggle.has-current,
.sit button.sit-subnav__toggle[aria-expanded="true"] { border-bottom-color: var(--yellow); }
/* Общий button:focus задаёт браузерную рамку даже после клика мышью. */
.sit button.sit-subnav__toggle:focus:not(:focus-visible) { outline: none; }
.sit-subnav__chevron { width: 8px; height: 8px; flex: none; border: solid currentColor; border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); margin-top: -4px; }
.sit-subnav__toggle[aria-expanded="true"] .sit-subnav__chevron { transform: rotate(225deg); margin-top: 4px; }
.sit-subnav__current { display: none; }
.sit .sit-subnav__overflow {
  position: absolute; top: 100%; right: 0; z-index: 1;
  width: 300px; max-width: 100%; max-height: var(--sit-subnav-panel-height, 55vh); overflow-y: auto;
  overscroll-behavior: contain; margin: 0; padding: 8px 0; list-style: none;
  background: var(--surface); border: 1px solid var(--border);
  box-shadow: 0 12px 24px -12px rgba(27, 57, 64, .3);
}
.sit .sit-subnav__overflow a { display: block; padding: 12px 18px; white-space: normal; overflow-wrap: anywhere; border: 0; border-left: 3px solid transparent; }
.sit .sit-subnav__overflow a:hover { background: var(--surface-subtle, #f7f8fb); }
.sit .sit-subnav__overflow a[aria-current="true"] { color: var(--text); border-left-color: var(--yellow); background: var(--surface-subtle, #f7f8fb); }
.sit .sit-subnav a:focus-visible, .sit button.sit-subnav__toggle:focus-visible { outline: 2px solid var(--accent-ink, #006f81); outline-offset: -3px; }
@media (max-width: 991.98px) {
  .sit .sit-subnav__title { flex-basis: 200px; font-size: 15px; }
  .sit-subnav__bar { gap: 0 var(--s3); }
}
/* На телефоне после баннера сразу начинается содержимое услуги. */
@media (max-width: 767.98px) {
  .sit .sit-subnav { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .sit-subnav { transition: none; }
  .sit-subnav.is-stuck .sit-subnav__title { animation: none; }
}

/* ==========================================================================
   Варианты главной каталога (выбор на тесте: ?v=lists|sections|sidebar|filter)
   ========================================================================== */
.sit-variants {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s2) var(--s4);
  margin-block: var(--s4);
  padding: var(--s3) var(--s4);
  background: var(--surface);
  border: 1px dashed var(--border-strong);
  font-size: 14px;
  color: var(--text-muted);
}
.sit .sit-variants a { color: var(--text); text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.sit .sit-variants a[aria-current="page"] { font-weight: 700; text-decoration: none; }

/* Карточка услуги — общая для вариантов «боковое меню» и «плитки» */
.sit .sit-svc-card { height: 100%; gap: var(--s2); }
.sit-svc-card__label { font-size: 13px; color: var(--text-muted); }
.sit-svc-card__title { font-size: 20px; line-height: 1.2; }
.sit-svc-card__text { color: var(--text-muted); font-size: 15px; line-height: 1.45; }
.sit-svc-card__foot { display: flex; align-items: baseline; justify-content: space-between; gap: var(--s3); margin-top: auto; padding-top: var(--s3); }
.sit-svc-card__price { font-size: 18px; }
.sit .sit-svc-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
.sit .sit-svc-cards li[hidden] { display: none; }
@media (min-width: 576px) { .sit .sit-svc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .sit .sit-svc-cards--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* Вариант «Карточки разделов» */
.sit .sit-svc-section { gap: var(--s3); background: var(--surface-subtle); border-color: var(--surface-subtle); }
.sit .sit-svc-section__title { font-size: 22px; line-height: 1.2; }
.sit .sit-svc-section__text { color: var(--text-muted); font-size: 15px; line-height: 1.45; }
.sit .sit-svc-section__list { display: grid; gap: var(--s2); margin-top: var(--s2); }
.sit .sit-svc-section__list a { font-size: 17px; }
.sit .sit-svc-section__count { margin-top: auto; padding-top: var(--s3); border-top: 1px solid var(--border); font-size: 14px; color: var(--text-muted); }

/* Вариант «Боковое меню» */
.sit-svc-side { display: grid; gap: var(--s8); }
.sit .sit-svc-side__nav ul { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s4); }
.sit .sit-svc-side__nav a {
  display: flex;
  justify-content: space-between;
  gap: var(--s3);
  padding: 8px 12px;
  border: 1px solid var(--border);
  color: var(--text);
  font-size: 16px;
  text-decoration: none;
}
.sit .sit-svc-side__nav a span { color: var(--text-muted); font-variant-numeric: tabular-nums; }
.sit .sit-svc-side__nav a[aria-current="true"] { border-color: var(--yellow); box-shadow: inset 3px 0 0 var(--yellow); }
.sit-svc-side__group + .sit-svc-side__group { margin-top: var(--s12); }
.sit-svc-side__group { scroll-margin-top: 24px; }
.sit .sit-svc-side__title { margin-bottom: var(--s4); font-size: 24px; }
@media (min-width: 992px) {
  .sit-svc-side { grid-template-columns: 300px minmax(0, 1fr); gap: var(--s12); align-items: start; }
  .sit-svc-side__nav { position: sticky; top: 96px; }
  .sit .sit-svc-side__nav ul { flex-direction: column; flex-wrap: nowrap; }
}

/* Вариант «Плитки с фильтром» */
.sit-svc-filter { display: flex; flex-wrap: wrap; gap: var(--s2); margin-bottom: var(--s6); }
.sit .sit-svc-filter button {
  display: inline-flex;
  align-items: center;
  gap: var(--s2);
  min-height: 44px;
  padding: 8px 14px;
  border: 1.5px solid var(--border-strong);
  border-radius: 0;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 15px;
  cursor: pointer;
}
.sit .sit-svc-filter button span { color: var(--text-muted); }
.sit .sit-svc-filter button:hover { border-color: var(--accent-line); }
.sit .sit-svc-filter button[aria-pressed="true"] { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.sit .sit-svc-filter button[aria-pressed="true"] span { color: var(--accent-line); }

/* ==========================================================================
   Шаблоны посадочных, прайс, калькулятор, документы, статьи (03.10.2026)
   Светло-жёлтую заливку не используем: жёлтый — только тень, полоса, маркер.
   ========================================================================== */

/* Т2 «Проектная»: бирюзовый первый экран */
.sit-lhero--teal { background: var(--brand); color: #fff; padding-bottom: var(--s12); }
.sit .sit-lhero--teal .sit-h1, .sit .sit-lhero--teal .sit-eyebrow, .sit .sit-lhero--teal .sit-lhero__fit-title { color: #fff; }
.sit .sit-lhero--teal .sit-lhero__lead { color: rgba(255, 255, 255, 0.88); }
.sit .sit-lhero--teal .sit-fit li { color: #fff; }
.sit .sit-lhero--teal .sit-crumbs, .sit .sit-lhero--teal .sit-crumbs a { color: rgba(255, 255, 255, 0.82); }
.sit-lhero--teal .sit-offer { border-color: transparent; box-shadow: 8px 8px 0 var(--accent-ink); color: var(--text); }
.sit-lhero:not(.sit-lhero--teal) .sit-offer { border: 1.5px solid var(--accent); box-shadow: 8px 8px 0 var(--yellow); }

/* Т3: цены в первом экране */
.sit .sit-facts { display: flex; flex-wrap: wrap; gap: var(--s2); margin-top: var(--s6); }
.sit-facts li { display: grid; min-width: 150px; padding: 10px 14px; background: var(--surface-subtle); }
.sit-facts b { font-weight: 400; font-size: 22px; line-height: 1.1; color: var(--text); font-variant-numeric: tabular-nums; }
.sit-facts span { font-size: 13px; color: var(--text-muted); }

/* «Как заказать» (Т3): три шага с пиксельными цифрами */
.sit .sit-how__list { display: grid; gap: 0; background: var(--surface); border: 1px solid var(--border); }
.sit-how__list li { display: grid; grid-template-columns: auto 1fr; gap: var(--s4); padding: 18px 20px; }
.sit-how__list li + li { border-top: 1px solid var(--border); }
.sit-how__list .sit-digit { height: 32px; width: auto; }
.sit .sit-how__list h3 { font-size: 18px; line-height: 1.25; }
.sit .sit-how__list p { font-size: 15px; color: var(--text-muted); }
@media (min-width: 992px) { .sit .sit-how__list { grid-template-columns: repeat(3, 1fr); } .sit-how__list li + li { border-top: 0; border-left: 1px solid var(--border); } }

/* Секции «Что входит» и «Режимы» */
.sit-cards--included .sit-cards__item { background: var(--surface-subtle); border-color: var(--surface-subtle); border-top: 0; }
.sit .sit-modes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); }
.sit-modes > div { display: grid; gap: 4px; align-content: start; padding: 16px 18px; }
.sit-modes > div:nth-child(n + 3) { border-top: 1px solid var(--border); }
.sit-modes > div:nth-child(even) { border-left: 1px solid var(--border); }
.sit .sit-modes dt { font-weight: 400; font-size: 26px; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.sit .sit-modes dd { margin: 0; font-size: 15px; color: var(--text-muted); }
@media (min-width: 768px) {
  .sit .sit-modes { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .sit-modes > div:nth-child(n + 3) { border-top: 0; }
  .sit-modes > div + div { border-left: 1px solid var(--border); }
}

/* Таблица цен */
.sit-ptable { overflow-x: auto; border: 1px solid var(--border); background: var(--surface); }
.sit-ptable table { width: 100%; min-width: 440px; border-collapse: collapse; font-size: 16px; line-height: 1.4; }
.sit .sit-ptable th, .sit .sit-ptable td { padding: 14px 18px; border-bottom: 1px solid var(--border); text-align: left; font-weight: 400; vertical-align: top; }
.sit .sit-ptable thead th { background: var(--surface-subtle); font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; vertical-align: middle; }
.sit-ptable tbody tr:last-child > * { border-bottom: 0; }
.sit .sit-ptable tbody th a { color: var(--text); }
.sit .sit-ptable tbody th small { display: block; margin-top: 4px; font-size: 14px; color: var(--text-muted); }
.sit .sit-ptable td { color: var(--text-muted); white-space: nowrap; }
.sit .sit-ptable .num { text-align: right; }
.sit .sit-ptable td.num { color: var(--text); font-size: 17px; font-variant-numeric: tabular-nums; }
.sit .sit-ptable td.ask { color: var(--text-muted); font-size: 16px; }
/* Единица под ценой — только на телефоне: три колонки на 375 px не помещаются, а две — без прокрутки */
.sit .sit-ptable .sit-ptable__u { display: none; }
@media (max-width: 575.98px) {
  .sit-ptable table { min-width: 0; }
  .sit .sit-ptable .unit { display: none; }
  .sit .sit-ptable th, .sit .sit-ptable td { padding: 12px 14px; }
  .sit .sit-ptable tbody th small { font-size: 13px; }
  .sit .sit-ptable td.num { padding-left: 0; text-align: right; white-space: nowrap; }
  .sit .sit-ptable .sit-ptable__u {
    display: block; max-width: 7.5em; margin: 4px 0 0 auto;
    font-size: 13px; line-height: 1.3; color: var(--text-muted); white-space: normal; text-align: right;
  }
}
.sit-ptable--rows tbody tr { cursor: pointer; transition: background-color 0.12s; }
.sit-ptable--rows tbody tr:hover { background: var(--accent-tint); }
.sit .sit-ptable--rows tbody tr:hover th a { color: var(--accent-ink); text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sit .sit-pnote { display: flex; gap: 10px; margin-top: var(--s3); font-size: 15px; color: var(--text-muted); }
.sit-pnote::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 7px; background: var(--brand); }
.sit .sit-terms { display: grid; gap: var(--s2); margin-top: var(--s3); }
.sit-terms li { display: grid; grid-template-columns: 76px 1fr; gap: 14px; align-items: center; padding: 12px 16px 12px 20px; background: var(--surface); border: 1px solid var(--border); box-shadow: inset 4px 0 0 var(--yellow); }
.sit-terms b { font-weight: 400; font-size: 26px; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.sit-terms span { font-size: 15px; }
@media (min-width: 768px) { .sit .sit-terms { grid-template-columns: 1fr 1fr; } }
.sit .sit-block--prices .sit-more, .sit .sit-block--docs .sit-more, .sit .sit-block--useful .sit-more { margin-top: var(--s4); }

/* Кейсы на посадочной */
.sit .sit-grid--2 { grid-template-columns: minmax(0, 1fr); gap: var(--s4); }
@media (min-width: 768px) { .sit .sit-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sit .sit-case-mini { display: flex; flex-direction: column; gap: var(--s4); height: 100%; min-height: 140px; padding: 20px; background: var(--surface); border: 1px solid var(--border); border-top: 2px solid var(--brand); color: var(--text); text-decoration: none; }
.sit-case-mini__title { font-size: 19px; line-height: 1.25; }
.sit .sit-case-mini .sit-more { margin-top: auto; font-size: 16px; }
.sit .sit-case-mini:hover .sit-case-mini__title { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Документы */
.sit .sit-docs { display: grid; gap: var(--s2); }
@media (min-width: 768px) { .sit .sit-docs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .sit .sit-docs-page .sit-docs { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sit .sit-docs a { display: grid; grid-template-columns: 40px 1fr; gap: 14px; align-items: center; height: 100%; padding: 14px 16px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: border-color 0.15s; }
.sit .sit-docs a:hover { border-color: var(--accent); }
.sit-docs i { display: grid; place-items: center; width: 40px; height: 46px; background: var(--brand); color: #fff; font-style: normal; font-size: 11px; letter-spacing: 0.04em; }
.sit-docs small { display: block; margin-top: 2px; font-size: 13px; color: var(--text-muted); }
.sit-docs-page { display: grid; gap: var(--s8); }
.sit-docs-group { display: grid; gap: var(--s4); }
.sit .sit-present { display: grid; gap: var(--s2); padding: var(--s6); background: var(--surface); border: 1.5px solid var(--accent); box-shadow: 8px 8px 0 var(--yellow); color: var(--text); text-decoration: none; }
.sit-present__kind { font-size: 14px; color: var(--accent-ink); }
.sit-present__title { font-size: 22px; line-height: 1.2; }
.sit-present__note { color: var(--text-muted); }
.sit .sit-present--slot { border: 1.5px dashed var(--border-strong); box-shadow: none; }

/* Статьи и эксперт */
.sit .sit-arts { display: grid; gap: var(--s4); }
@media (min-width: 768px) { .sit .sit-arts { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sit .sit-arts a { display: grid; gap: var(--s2); align-content: start; padding-top: 14px; border-top: 2px solid var(--text); color: var(--text); text-decoration: none; }
.sit-arts small { font-size: 13px; color: var(--text-muted); }
.sit-arts span { font-size: 18px; line-height: 1.25; }
.sit-arts em { font-style: normal; font-size: 15px; color: var(--text-muted); }
.sit .sit-arts a:hover span { color: var(--accent-ink); }
.sit .sit-arts--page a { height: 100%; padding: 18px 20px 20px; background: var(--surface); border: 1px solid var(--border); border-top: 2px solid var(--text); }
.sit .sit-expert { display: grid; grid-template-columns: 56px 1fr; gap: 2px var(--s4); align-items: center; margin-top: var(--s6); padding: 16px 18px; background: var(--surface-subtle); }
.sit-expert img { grid-row: span 2; width: 56px; height: 56px; border-radius: 50%; object-fit: cover; background: #fff; }
.sit-expert b { font-weight: 400; }
.sit-expert span { font-size: 14px; color: var(--text-muted); }
.sit .sit-updated { padding-block: var(--s4) var(--s6); font-size: 14px; color: var(--text-muted); }
.sit .sit-updated--live { padding: 0; }
.sit-updated--live::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #0dad4a; }
.sit .sit-empty { display: grid; gap: var(--s3); justify-items: start; max-width: 40em; color: var(--text-muted); }
.sit .sit-page-title { margin-top: var(--s4); }

/* Статья */
.sit-article { padding-block: var(--s4) var(--s12); }
.sit-article__grid { display: grid; gap: var(--s8); margin-top: var(--s4); }
.sit-article__main { min-width: 0; max-width: 760px; }
.sit .sit-article__main .sit-h1 { margin-top: var(--s2); }
.sit .sit-article__text { margin-top: var(--s6); }
.sit .sit-article__aside { display: grid; gap: var(--s3); align-content: start; }
@media (min-width: 992px) { .sit-article__grid { grid-template-columns: minmax(0, 1fr) 300px; gap: var(--s12); } .sit-article__aside { position: sticky; top: var(--s6); } }

/* «С услугой обычно берут»: карточка-вопрос — белая, бирюзовая рамка, жёлтая пиксельная тень */
.sit .sit-offer-card--ask { border: 1.5px solid var(--accent); box-shadow: 6px 6px 0 var(--yellow); }
.sit .sit-offer-card__price--ask { font-size: 18px; color: var(--text-muted); }
.sit .sit-others__head { margin-top: var(--s8); }
.sit .sit-svc-card__price--ask { color: var(--text-muted); font-size: 16px; }

/* ---------- Страница цен ---------- */
.sit .sit-calc { display: grid; align-self: start; background: var(--surface); border: 1.5px solid transparent; box-shadow: 8px 8px 0 var(--accent-ink); color: var(--text); }
.sit-calc__row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; align-items: center; padding: 12px 20px; border-bottom: 1px solid var(--border); }
.sit .sit-calc__row label { font-size: 16px; line-height: 1.25; }
.sit-calc__row small { display: block; font-size: 13px; color: var(--text-muted); }
.sit-stepper { display: inline-flex; border: 1.5px solid var(--border-strong); }
.sit .sit-stepper button { width: 40px; height: 40px; border: 0; border-radius: 0; background: var(--surface-subtle); color: var(--text); font-size: 20px; line-height: 1; cursor: pointer; }
.sit .sit-stepper button:hover { background: var(--accent-tint); }
.sit .sit-stepper input { width: 52px; height: 40px; border: 0; border-inline: 1.5px solid var(--border-strong); border-radius: 0; text-align: center; font: inherit; font-size: 17px; color: var(--text); background: var(--surface); -moz-appearance: textfield; }
.sit-stepper input::-webkit-outer-spin-button, .sit-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sit-calc__total { display: grid; gap: 6px; padding: 18px 20px; background: var(--accent-tint); }
.sit-calc__total b { font-weight: 400; font-size: 40px; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.sit-calc__total span { font-size: 14px; color: var(--text-muted); }
.sit-calc__foot { padding: 18px 20px; }
.sit .sit-calc__foot .sit-btn { width: 100%; }
.sit-price-page .sit-lhero__grid { align-items: start; }
@media (min-width: 992px) { .sit-price-page .sit-lhero__grid { grid-template-columns: 1fr 420px; } }

.sit .sit-qprice { display: grid; gap: var(--s3); }
@media (min-width: 768px) { .sit .sit-qprice { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .sit .sit-qprice { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sit .sit-qprice a { display: grid; gap: var(--s2); height: 100%; padding: 18px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: box-shadow 0.15s, transform 0.15s; }
.sit .sit-qprice a:hover { box-shadow: var(--shadow-pixel); transform: translate(-2px, -2px); }
.sit-qprice__q { font-size: 18px; line-height: 1.25; }
.sit-qprice b { font-weight: 400; font-size: 22px; color: var(--text); font-variant-numeric: tabular-nums; }
.sit-qprice small { font-size: 14px; color: var(--text-muted); }

.sit .sit-jump { display: flex; flex-wrap: wrap; gap: var(--s2); margin-bottom: var(--s8); }
.sit .sit-jump a { padding: 8px 14px; border: 1.5px solid var(--border-strong); background: var(--surface); color: var(--text); font-size: 15px; text-decoration: none; }
.sit .sit-jump a:hover { border-color: var(--accent); }
.sit-price-sec { scroll-margin-top: 24px; }
.sit-price-sec + .sit-price-sec { margin-top: var(--s12); }
.sit .sit-price-sec__title { margin-bottom: var(--s4); font-size: 24px; line-height: 1.2; }
.sit .sit-price-sec__lead { margin-bottom: var(--s4); max-width: 44em; }
.sit-faq--wide { max-width: 860px; }

/* ---------- Баннер «по листовке» (общий: каталог, цены, посадочные, разделы) ---------- */
.sit-leaf-band { background: #228499; }
.sit-leaf { position: relative; display: grid; color: #fff; overflow: hidden; }
.sit .sit-leaf__raccoon { order: 3; width: 220px; height: auto; justify-self: start; margin-left: 14px; }
.sit .sit-leaf__bubble { position: relative; justify-self: start; width: 300px; max-width: calc(100% - 48px); min-height: calc(2 * 1.08em + 38px); margin: 28px 24px 0; padding: 18px 22px 20px; background: #fff; color: #228499; font-size: 34px; line-height: 1.08; letter-spacing: -0.01em; }
.sit-leaf__bubble::after { content: ""; position: absolute; left: 50px; bottom: -14px; width: 14px; height: 14px; background: #fff; box-shadow: -14px 14px 0 #fff; }
.sit-leaf__ask { white-space: pre-line; }
.sit-leaf__caret { display: inline-block; width: 0.32em; height: 0.32em; margin-left: 0.12em; background: var(--yellow); animation: sit-caret 1s steps(1, end) infinite; }
.js-asks.is-typing .sit-leaf__caret { animation: none; }
@keyframes sit-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
.sit-leaf__text { display: flex; flex-direction: column; gap: 18px; padding: 36px 24px; }
.sit .sit-leaf__247 { display: grid; font-size: 80px; line-height: 0.95; letter-spacing: -0.02em; color: #fff; }
.sit-leaf__247 span { font-size: 19px; letter-spacing: 0; margin-bottom: 8px; }
.sit .sit-leaf__lead { font-size: 19px; line-height: 1.4; max-width: 23em; color: #fff; }
.sit-leaf__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: auto; padding-top: 18px; }
.sit .sit-leaf .sit-btn--inverse { box-shadow: 6px 6px 0 #17687a; }
.sit .sit-leaf__max { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; background: #fff; color: var(--text); font-size: 16px; text-decoration: none; transition: transform 0.15s, box-shadow 0.15s; }
.sit .sit-leaf__max:hover { color: var(--text); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #17687a; }
@media (min-width: 1200px) {
  .sit-leaf { grid-template-columns: 290px auto minmax(0, 1fr); min-height: 430px; }
  .sit .sit-leaf__raccoon { order: 0; grid-row: 1; grid-column: 1; align-self: end; width: 302px; margin-left: 0; }
  .sit .sit-leaf__bubble { grid-row: 1; grid-column: 2; align-self: start; margin: 36px 0 0; width: 330px; max-width: none; font-size: 40px; padding: 18px 22px 22px; }
  .sit-leaf__text { grid-row: 1; grid-column: 3; padding: 40px 48px 40px 52px; }
}

/* ---------- Каталог-хаб (К2) и страница раздела ---------- */
.sit .sit-hub { display: grid; gap: var(--s6); }
@media (min-width: 768px) { .sit .sit-hub { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .sit .sit-hub { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sit-hub__card { display: flex; flex-direction: column; gap: var(--s3); padding: var(--s6); background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--brand); scroll-margin-top: 96px; }
.sit .sit-hub__title { font-size: 22px; line-height: 1.15; }
.sit .sit-hub__title a { color: var(--text); text-decoration: none; }
.sit .sit-hub__title a:hover { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sit .sit-hub__text { font-size: 15px; line-height: 1.45; color: var(--text-muted); }
.sit .sit-hub__list { display: grid; margin-top: var(--s1); }
.sit-hub__list li { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s3); padding-block: 8px; border-top: 1px solid var(--border); font-size: 16px; line-height: 1.3; }
.sit .sit-hub__list a { color: var(--text); text-decoration: none; }
.sit .sit-hub__list a:hover { color: var(--accent-ink); }
.sit-hub__list span { flex: none; font-size: 14px; color: var(--text-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.sit .sit-hub__more { padding-top: 8px; border-top: 1px solid var(--border); font-size: 15px; line-height: 1.45; color: var(--text-muted); }
.sit .sit-hub__more a { color: var(--text); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: 3px; }
.sit .sit-hub__more a:hover { color: var(--accent-ink); }
.sit .sit-hub__card > .sit-more { margin-top: auto; padding-top: var(--s2); font-size: 16px; }

.sit-sec-seo { display: grid; gap: var(--s8); }
@media (min-width: 992px) { .sit-sec-seo { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--s12); } }
.sit .sit-sec-seo__faq-title { margin-bottom: var(--s3); }
.sit .sit-facts span { max-width: 14em; }

/* Раздел над заголовком посадочной — ссылка на страницу раздела */
.sit .sit-eyebrow a { color: inherit; text-decoration: underline; text-decoration-color: var(--accent-line); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.sit .sit-eyebrow a:hover { text-decoration-color: var(--yellow); }

/* Главная каталога (К2): бирюзовый первый экран без картинки, сразу за ним карточки разделов */
.sit-cat-hero { padding-bottom: var(--s8); }
.sit .sit-cat-hero .sit-h1 { font-size: 32px; }
@media (min-width: 992px) { .sit .sit-cat-hero .sit-h1 { font-size: 46px; line-height: 1.08; } .sit-cat-hero { padding-bottom: var(--s12); } }
.sit .sit-cat-hero .sit-lhero__lead { max-width: 34em; }
.sit-hub-band { padding-block: var(--s8); }

/* ---------- Доводка под прототип (03.10.2026) ---------- */
/* H1 внутренних страниц — крупно, как в прототипе */
@media (min-width: 992px) { .sit .sit-lhero .sit-h1 { font-size: 46px; line-height: 1.08; letter-spacing: -0.015em; } }

/* Этапы: пиксельная цифра и бирюзовая линия сверху, по два в ряд */
.sit .sit-steps--grid { display: grid; gap: var(--s6); }
@media (min-width: 768px) { .sit .sit-steps--grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.sit-steps--grid .sit-steps__item { display: grid; grid-template-columns: minmax(32px, auto) 1fr; gap: 6px 18px; align-items: start; padding-top: 18px; border-top: 2px solid var(--brand); }
.sit-steps--grid .sit-digit { display: block; height: 40px; width: auto; }
.sit .sit-steps--grid .sit-steps__text { color: var(--text-muted); }

/* Блок заявки внизу посадочной: фото слева, общая встроенная форма справа (sit-form.js).
   Енот уже на фото — аватар в шапке формы скрыт; форма тянется на высоту фото, кнопка внизу */
.sit-request__grid { display: grid; gap: var(--s8); }
.sit-request__photo { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 35%; }
.sit .sit-request .sit-lf { padding: 0; }
.sit .sit-request .sit-lf__avatar { display: none; }
.sit .sit-request .sit-lf__head { grid-template-columns: 1fr; padding-right: 0; }
@media (min-width: 992px) {
  .sit-request__grid { grid-template-columns: 1fr 1.15fr; gap: var(--s12); align-items: stretch; }
  .sit-request__photo { aspect-ratio: auto; height: 0; min-height: 100%; }
  .sit-request__form { display: flex; flex-direction: column; }
  .sit .sit-request .sit-lf { flex: 1; display: flex; flex-direction: column; gap: 18px; }
  .sit .sit-request .sit-lf__foot { margin-top: auto; }
}

/* Место под пустой автоблок (только на тесте) */
.sit-slot { display: grid; gap: 6px; padding: 20px 22px; border: 1.5px dashed var(--border-strong); color: var(--text-muted); font-size: 15px; }
.sit-slot b { font-weight: 400; font-size: 17px; color: var(--text); }

/* Хаб: карточка «другие направления группы» — тише карточек услуг: без бирюзовой линии, бирюзовая подложка (пунктир и серое читались как неактивный блок, раздел сам на сером) */
/* «Другие направления группы»: белая карточка в рамке из знака группы 5×5 — знак растянут на всю карточку
   (border-box), белый слой поверх обрезан по padding-box, по краю остаётся фирменная полоса 10 px */
.sit .sit-hub__card--group {
  gap: var(--s4);
  border: 10px solid transparent;
  background: linear-gradient(var(--surface), var(--surface)) padding-box, url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 5 5' preserveAspectRatio='none' shape-rendering='crispEdges'><rect x='0' y='0' width='1' height='5' fill='%23EE2B53'/><rect x='1' y='1' width='1' height='1' fill='%23EE2B53'/><rect x='1' y='4' width='1' height='1' fill='%23EE2B53'/><rect x='1' y='0' width='1' height='1' fill='%23FDB515'/><rect x='1' y='2' width='1' height='2' fill='%23FDB515'/><rect x='3' y='1' width='1' height='1' fill='%23FDB515'/><rect x='3' y='3' width='1' height='2' fill='%23FDB515'/><rect x='2' y='0' width='1' height='5' fill='%23008499'/><rect x='3' y='0' width='1' height='1' fill='%23008499'/><rect x='3' y='2' width='1' height='1' fill='%23008499'/><rect x='4' y='0' width='1' height='3' fill='%23008499'/><rect x='4' y='3' width='1' height='2' fill='%230DAD4A'/></svg>") border-box 0 0 / 100% 100% no-repeat;
}
.sit .sit-hub__kicker { font-size: 15px; color: var(--text-muted); }
.sit .sit-hub__dirs { display: grid; gap: var(--s4); }
.sit .sit-hub__dirs a { display: grid; grid-template-columns: 18px 1fr; gap: 12px; align-items: start; color: var(--text); text-decoration: none; font-size: 17px; line-height: 1.3; }
.sit-hub__dirs i { display: block; width: 18px; height: 18px; margin-top: 2px; }
.sit-hub__dirs small { display: block; margin-top: 2px; font-size: 13px; color: var(--text-muted); }
.sit .sit-hub__dirs a:hover span { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sit .sit-hub__note { margin-top: auto; font-size: 13px; line-height: 1.2; color: var(--text-muted); }   /* дескриптор — плотно, как подписи выше */

/* «Нам доверяют»: заголовок в левой колонке — на уровне верха сетки логотипов */
.sit .sit-trusted__title { margin-bottom: var(--s4); }

/* Иконка услуги в карточке (пиксельный контур 12×12, как в каталоге на главной) */
.sit-svc-card__icon { display: block; width: 36px; height: 36px; margin-bottom: 4px; }
.sit-svc-card__icon svg { display: block; width: 100%; height: 100%; }

/* --- Как мы работаем (/kak-my-rabotaem/): панель SLA на первом экране, список уведомлений --- */
.sit .sit-how-sla__cap { font-size: 15px; color: var(--text-muted); }
.sit .sit-how-sla__val { margin-top: calc(-1 * var(--s3)); font-size: 44px; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.sit-how-sla__bar { display: flex; gap: 3px; height: 12px; overflow: hidden; }
.sit-how-sla__bar i { flex: none; width: 12px; height: 12px; background: var(--surface-subtle); }
.sit-how-sla__bar i.on { background: #0dad4a; }   /* SLA — фирменный зелёный, как на главной */
.sit-how-sla__bar i.load { background: #0dad4a; animation: sit-load 1.2s steps(1, end) infinite; }
@keyframes sit-load { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { .sit-how-sla__bar i.load { animation: none; } }
/* Первый экран: текст распределён по высоте панели SLA — заголовок сверху, пункты внизу */
@media (min-width: 992px) {
  .sit-how-page .sit-lhero__grid, .sit-supply-page .sit-lhero__grid { align-items: stretch; }
  .sit-how-page .sit-lhero__main, .sit-supply-page .sit-lhero__main { display: flex; flex-direction: column; justify-content: space-between; }
}
.sit .sit-how-sla__grid { display: grid; grid-template-columns: auto auto 1fr; gap: var(--s4); margin: 0; padding-block: var(--s4); border-block: 1px solid var(--border); }
.sit .sit-how-sla__grid dt { font-weight: 400; font-size: 18px; line-height: 1.1; font-variant-numeric: tabular-nums; white-space: nowrap; }
.sit .sit-how-sla__grid dd { margin: 0; font-size: 13px; line-height: 1.3; color: var(--text-muted); }
.sit .sit-how-notify { display: grid; gap: 0; background: var(--surface); border: 1px solid var(--border); }
.sit-how-notify li { position: relative; margin: 0; padding: 14px 20px 14px 44px; }
.sit-how-notify li + li { border-top: 1px solid var(--border); }
.sit-how-notify li::before { content: ""; position: absolute; left: 20px; top: 21px; width: 8px; height: 8px; background: var(--accent); box-shadow: 4px 4px 0 var(--yellow); }
@media (min-width: 768px) {
  .sit .sit-how-notify { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sit-how-notify li:nth-child(2) { border-top: 0; }
  .sit-how-notify li:nth-child(even) { border-left: 1px solid var(--border); }
}

/* --- Главная каталога: заголовок в две строки + «витрина» направлений справа.
   Подсветка (подъём + жёлтая пиксельная тень) по очереди обходит плитки — только CSS, 1,6 с на плитку --- */
.sit-cat-hero__grid { display: grid; gap: var(--s8); align-items: center; }
@media (min-width: 992px) { .sit-cat-hero__grid { grid-template-columns: minmax(0, 1fr) 456px; gap: var(--s12); } }
.sit .sit-dirwall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.sit .sit-dirwall__tile { display: grid; align-content: start; gap: 6px; min-height: 128px; padding: 14px; background: var(--surface); color: var(--text); text-decoration: none; transition: transform 0.15s, box-shadow 0.15s;
  animation: sit-dirwall calc(var(--n, 5) * 1.6s) steps(1, end) infinite; animation-delay: calc(var(--i, 0) * 1.6s); }
.sit-dirwall__icon svg { display: block; width: 36px; height: 36px; }
.sit .sit-dirwall__name { font-size: 15px; line-height: 1.2; overflow-wrap: anywhere; hyphens: auto; }
.sit .sit-dirwall__tile small { font-size: 13px; color: var(--text-muted); }
.sit .sit-dirwall__tile:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--yellow); }
.sit .sit-dirwall:hover .sit-dirwall__tile { animation-play-state: paused; }
.sit .sit-dirwall__total { align-content: end; background: var(--accent-ink); color: #fff; animation: none; }
.sit .sit-dirwall__total b { font-weight: 400; font-size: 40px; line-height: 1; font-variant-numeric: tabular-nums; }
.sit .sit-dirwall__total span { font-size: 13px; line-height: 1.3; color: rgba(255, 255, 255, 0.85); }
@keyframes sit-dirwall {
  0% { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 var(--yellow); }
  20%, 100% { transform: none; box-shadow: none; }
}
/* на телефоне — две колонки: в три «Обслуживание» и «Безопасность» не помещаются в плитку */
@media (max-width: 575.98px) { .sit .sit-dirwall { grid-template-columns: repeat(2, minmax(0, 1fr)); } .sit .sit-dirwall__total:nth-child(odd) { grid-column: span 2; min-height: 0; } .sit .sit-dirwall__tile { min-height: 104px; padding: 12px; } .sit-dirwall__icon svg { width: 28px; height: 28px; } }
@media (prefers-reduced-motion: reduce) { .sit .sit-dirwall__tile { animation: none; } }

/* Правило (04.10.2026): заголовок бирюзового первого экрана — в две строки.
   В коде ставим <br> по смыслу; заголовки из админки (разделы, посадочные) ограничены по ширине
   и делятся на строки поровну, чтобы не растягивались в одну длинную строку */
@media (min-width: 992px) {
  .sit .sit-lhero--teal .sit-h1 { max-width: 15em; text-wrap: balance; }
}

/* ==========================================================================
   Документы /dokumenty/ (прототип 04.10.2026): аккредитация, сертификаты,
   партнёрские статусы, документы для договора, реквизиты
   ========================================================================== */
.sit-docs2 .sit-dsec { position: relative; }
@media (min-width: 992px) { .sit-docs2 .sit-dsec { padding-block: var(--s12); } }
.sit .sit-dsec__head { display: grid; gap: var(--s3); margin-bottom: var(--s8); max-width: 44em; }
.sit .sit-dsec__lead { color: var(--text-muted); text-wrap: pretty; }
/* цифры на бирюзовом первом экране «Документов»; класс .sit-dfacts есть и у детальной проектов
   (feed.css, светлый фон) — поэтому только внутри .sit-docs2 */
.sit-docs2 .sit-dfacts { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s12); margin-top: var(--s8); }
.sit-docs2 .sit-dfacts li { display: grid; gap: 2px; }
.sit-docs2 .sit-dfacts b { font-weight: 400; font-size: 28px; line-height: 1.1; color: #fff; }
.sit-docs2 .sit-dfacts span { font-size: 14px; color: rgba(255, 255, 255, 0.78); }

/* пиксельная стрелка вниз — «скачать» */
.sit-dl { position: relative; flex: none; width: 12px; height: 16px; color: currentColor; }
.sit-dl::before {
  content: ""; position: absolute; left: 5px; top: 0; width: 2px; height: 2px; background: currentColor;
  box-shadow: 0 2px 0 currentColor, 0 4px 0 currentColor, 0 6px 0 currentColor, 0 8px 0 currentColor, 0 10px 0 currentColor,
    -2px 8px 0 currentColor, -4px 6px 0 currentColor, 2px 8px 0 currentColor, 4px 6px 0 currentColor,
    -6px 14px 0 currentColor, -4px 14px 0 currentColor, -2px 14px 0 currentColor, 0 14px 0 currentColor, 2px 14px 0 currentColor, 4px 14px 0 currentColor, 6px 14px 0 currentColor;
  transition: transform 0.15s steps(2);
}
.sit .sit-btn:hover .sit-dl::before, .sit .sit-drow:hover .sit-dl::before { transform: translateY(2px); }
.sit .sit-btn small { font-size: 13px; opacity: 0.8; text-transform: none; margin-left: calc(var(--s4) * -1); }

/* аккредитация: карточка-призыв + список регистрационных документов */
.sit-dacc { display: grid; gap: var(--s8); }
@media (min-width: 992px) { .sit-dacc { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); align-items: start; } }
.sit .sit-dfeature { display: grid; gap: var(--s6); min-width: 0; padding: var(--s8); background: var(--surface); border: 1.5px solid var(--accent); box-shadow: 8px 8px 0 var(--yellow); }
@media (max-width: 575.98px) { .sit .sit-dfeature { padding: var(--s6) 20px; box-shadow: 6px 6px 0 var(--yellow); } }
.sit-dfeature__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s4); }
.sit .sit-dfeature__top img { width: 171px; height: auto; }
.sit .sit-dlabel { font-size: 13px; color: var(--text-muted); text-transform: lowercase; letter-spacing: 0.02em; }
.sit .sit-dfeature__title { margin-top: var(--s1); font-size: 24px; line-height: 1.25; }
.sit .sit-dfacts-list { border-top: 1px solid var(--border); }
.sit .sit-dfacts-list div { display: grid; grid-template-columns: minmax(0, 200px) minmax(0, 1fr); gap: var(--s4); padding-block: var(--s3); border-bottom: 1px solid var(--border); }
.sit .sit-dfacts-list dt { font-size: 14px; color: var(--text-muted); }
.sit .sit-dfacts-list dd { margin: 0; overflow-wrap: anywhere; }
@media (max-width: 575.98px) { .sit .sit-dfacts-list div { grid-template-columns: 1fr; gap: 2px; } }
.sit .sit-dticks { display: grid; gap: 10px; }
.sit .sit-dticks li { display: grid; grid-template-columns: 8px minmax(0, 1fr); gap: var(--s3); }
.sit .sit-dticks li::before { content: ""; width: 8px; height: 8px; margin-top: 8px; background: var(--yellow); }
.sit-dactions { display: flex; flex-wrap: wrap; gap: var(--s3) var(--s4); }
.sit-dside { display: grid; gap: var(--s4); min-width: 0; }

/* строки документов */
.sit .sit-dlist { display: grid; background: var(--surface); border: 1px solid var(--border); }
.sit .sit-dlist > li + li { border-top: 1px solid var(--border); }
.sit .sit-drow { display: grid; grid-template-columns: 48px minmax(0, 1fr) auto; gap: var(--s4); align-items: center; padding: var(--s4) 20px; color: var(--text); text-decoration: none; }
.sit a.sit-drow:hover { background: var(--surface-subtle); text-decoration: none; }
.sit a.sit-drow:hover .sit-drow__name { color: var(--accent-ink); }
.sit-drow__ext { position: relative; display: grid; place-items: center; width: 48px; height: 56px; font-size: 12px; letter-spacing: 0.04em; color: var(--accent-ink); background: var(--surface); border: 1.5px solid var(--accent-line); }
.sit-drow__ext::after { content: ""; position: absolute; right: -1.5px; top: -1.5px; width: 10px; height: 10px; background: var(--surface); border-left: 1.5px solid var(--accent-line); border-bottom: 1.5px solid var(--accent-line); }
.sit-drow__ext--web { color: var(--text-muted); border-color: var(--border-strong); }
.sit-drow__ext--web::after { border-color: var(--border-strong); }
.sit-drow__body { display: grid; gap: 2px; min-width: 0; }
.sit-drow__name { transition: color 0.1s; }
.sit-drow__meta { font-size: 13px; color: var(--text-muted); }
.sit .sit-drow__go { display: inline-flex; align-items: center; gap: var(--s2); font-size: 15px; color: var(--accent-ink); text-transform: lowercase; }
.sit .sit-drow__btn { padding: 0; border: 0; background: none; font: inherit; font-size: 15px; cursor: pointer; }
.sit .sit-drow__btn:hover .sit-arrow::before { transform: translateX(2px); }
@media (max-width: 575.98px) {
  .sit .sit-drow { grid-template-columns: 40px minmax(0, 1fr); padding: 14px var(--s4); }
  .sit-drow__ext { width: 40px; height: 48px; }
  .sit .sit-drow__go { grid-column: 2; }
}

/* сертификаты: лист A4 (скан или рисованный) */
.sit .sit-dcerts { display: grid; gap: var(--s6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .sit .sit-dcerts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.sit .sit-dcert { display: grid; gap: var(--s4); align-content: start; width: 100%; padding: 0; border: 0; background: none; font: inherit; color: var(--text); text-align: left; text-decoration: none; cursor: zoom-in; }
.sit a.sit-dcert { cursor: pointer; }
.sit .sit-dcert--static { cursor: default; }
.sit-dsheet { position: relative; display: grid; align-content: start; gap: 7%; aspect-ratio: 210 / 297; max-width: 100%; padding: 14% 12% 0; overflow: hidden; background: var(--surface); border: 1px solid var(--border); transition: box-shadow 0.12s steps(2), transform 0.12s steps(2); }
.sit .sit-dsheet img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.sit-dcert:not(.sit-dcert--static):hover .sit-dsheet, .sit-dcert:focus-visible .sit-dsheet { box-shadow: 6px 6px 0 var(--yellow); transform: translate(-2px, -2px); }
.sit-dsheet__band { position: absolute; inset: 0 0 auto 0; height: 6px; background: var(--accent); }
.sit-dsheet__vendor { font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--text-muted); }
.sit-dsheet__title { font-size: clamp(15px, 1.6vw, 19px); line-height: 1.2; }
.sit-dsheet__lines { display: grid; gap: 7px; margin-top: 4%; }
.sit-dsheet__lines i { display: block; height: 4px; background: var(--border); }
.sit-dsheet__lines i:nth-child(2) { width: 82%; }
.sit-dsheet__lines i:nth-child(3) { width: 64%; }
.sit-dsheet__lines i:nth-child(4) { width: 74%; }
.sit-dsheet__sign { height: 10px; width: 58%; margin-top: 6%; background: repeating-linear-gradient(90deg, var(--border-strong) 0 4px, transparent 4px 8px); }
.sit-dsheet__seal { position: absolute; right: 12%; bottom: 9%; display: grid; grid-template-columns: repeat(3, 12px); grid-auto-rows: 12px; }
.sit-dsheet__seal i { background: var(--accent-tint); }
.sit-dsheet__seal i:nth-child(odd) { background: var(--accent-line); }
.sit-dsheet__seal i:nth-child(3) { background: var(--yellow); }
.sit-dcert__title { font-size: 18px; line-height: 1.3; }
.sit-dcert__meta { display: grid; gap: var(--s1); font-size: 14px; color: var(--text-muted); }

/* партнёрские статусы */
.sit .sit-dtable { overflow-x: auto; background: var(--surface); border: 1px solid var(--border); }
.sit .sit-dtable table { width: 100%; min-width: 680px; border-collapse: collapse; }
.sit .sit-dtable th { padding: var(--s3) 20px; font-weight: 400; font-size: 13px; color: var(--text-muted); text-align: left; white-space: nowrap; text-transform: lowercase; border-bottom: 1px solid var(--border); }
.sit .sit-dtable td { padding: 18px 20px; vertical-align: middle; border-bottom: 1px solid var(--border); }
.sit .sit-dtable tr:last-child td { border-bottom: 0; }
.sit-dtable__vendor { font-size: 18px; }
.sit-dtable__muted { font-size: 14px; color: var(--text-muted); }
.sit-dtable__num { white-space: nowrap; font-variant-numeric: tabular-nums; }
.sit .sit-dtable .sit-more { font-size: 15px; }
.sit-dstatus { display: inline-flex; align-items: center; gap: var(--s2); }
.sit-dstatus::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--accent); }

/* для договора + пакет для закупок */
.sit-dcontract { display: grid; gap: var(--s8); }
.sit-dcontract > div { display: grid; gap: var(--s4); min-width: 0; align-content: start; }
@media (min-width: 992px) { .sit-dcontract { grid-template-columns: minmax(0, 1fr) 360px; align-items: start; } }
.sit .sit-dpack { display: grid; gap: var(--s4); padding: 28px; background: var(--surface); border: 1.5px solid var(--accent); box-shadow: 8px 8px 0 var(--yellow); }
.sit-dpack__mark { justify-self: start; padding: 2px 8px; font-size: 12px; color: #fff; background: var(--accent); text-transform: lowercase; }
.sit .sit-dpack .sit-dticks { font-size: 15px; }
.sit-dpack__note { font-size: 14px; color: var(--text-muted); }
.sit .sit-dpack .sit-btn { width: 100%; }

/* реквизиты */
.sit-dreq { display: grid; gap: var(--s8); }
@media (min-width: 992px) { .sit-dreq { grid-template-columns: minmax(0, 1fr) 300px; align-items: start; } }
.sit .sit-dreq__list { background: var(--surface); border: 1px solid var(--border); }
.sit .sit-dreq__list div { display: grid; grid-template-columns: minmax(0, 220px) minmax(0, 1fr) 40px; gap: var(--s4); align-items: center; padding: 10px 12px 10px 20px; }
.sit .sit-dreq__list div + div { border-top: 1px solid var(--border); }
.sit .sit-dreq__list dt { font-size: 14px; color: var(--text-muted); }
.sit .sit-dreq__list dd { margin: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
@media (max-width: 575.98px) { .sit .sit-dreq__list div { grid-template-columns: minmax(0, 1fr) 40px; } .sit .sit-dreq__list dt { grid-column: 1 / -1; } }
.sit .sit-dcopy { position: relative; width: 40px; height: 40px; padding: 0; border: 0; background: none; color: var(--accent-ink); cursor: pointer; }
.sit-dcopy::before, .sit-dcopy::after { content: ""; position: absolute; left: 12px; top: 11px; width: 12px; height: 14px; border: 1.5px solid currentColor; }
.sit-dcopy::after { left: 17px; top: 16px; background: var(--surface); }
.sit-dcopy.is-done::after { background: #0dad4a; border-color: #0dad4a; }
.sit-dreq__side { display: grid; gap: var(--s3); align-content: start; }
.sit .sit-dreq__side .sit-btn { width: 100%; }
.sit-dreq__note { font-size: 14px; color: var(--text-muted); }

/* слот для администратора (только тест и админ) */
.sit .sit-dslot { padding: var(--s4) 20px; font-size: 14px; color: var(--text-muted); background: var(--surface); border: 1.5px dashed var(--border-strong); }
.sit .sit-dslot b { color: var(--text); font-weight: 400; }
.sit-dside .sit-dslot, .sit-dreq__side .sit-dslot, .sit-dcerts + .sit-dslot { margin-top: var(--s2); }
.sit-dcerts + .sit-dslot { margin-top: var(--s8); }

/* просмотр скана и всплывающее «скопировано» */
.sit .sit-dzoom { width: min(640px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; border: 0; background: var(--surface); color: var(--text); box-shadow: 8px 8px 0 var(--yellow); }
.sit-dzoom::backdrop { background: rgba(27, 57, 64, 0.6); }
.sit-dzoom__bar { display: flex; align-items: center; justify-content: space-between; gap: var(--s4); padding: var(--s3) var(--s3) var(--s3) 20px; }
.sit .sit-dzoom img { display: block; width: 100%; height: auto; }
.sit .sit-dzoom__close { position: relative; flex: none; width: 40px; height: 40px; padding: 0; border: 0; background: none; color: var(--text); cursor: pointer; }
.sit-dzoom__close::before, .sit-dzoom__close::after { content: ""; position: absolute; left: 10px; top: 19px; width: 20px; height: 1.5px; background: currentColor; transform: rotate(45deg); }
.sit-dzoom__close::after { transform: rotate(-45deg); }
.sit-toast { position: fixed; left: 50%; bottom: 24px; z-index: 1000; transform: translateX(-50%); padding: 10px 18px; font-size: 14px; color: #fff; background: #1b3940; }
@media (prefers-reduced-motion: reduce) { .sit-dsheet, .sit-dl::before { transition: none; } }
/* H1 «Документы:» — две строки: вторая строка длинная, снимаем ограничение 15em */
@media (min-width: 992px) { .sit.sit-docs2 .sit-lhero--teal .sit-h1 { max-width: none; } }
/* у кнопок-значков нет фона и тени шаблона */
.sit button.sit-dcopy, .sit button.sit-drow__btn { background: none; box-shadow: none; border: 0; }

/* Текст статьи (/stati/) — как текст кейса: 17px, воздух перед подзаголовками */
.sit .sit-article__text { max-width: 42em; }
.sit .sit-article__text p, .sit .sit-article__text li { font-size: 17px; line-height: 1.65; }
.sit .sit-article__text h2 { font-size: 26px; line-height: 1.2; letter-spacing: -0.01em; margin-top: var(--s8); }
.sit .sit-article__text h3 { margin-top: var(--s6); }
.sit .sit-article__text h2 + *, .sit .sit-article__text h3 + * { margin-top: var(--s3); }
.sit .sit-article__text b, .sit .sit-article__text strong { font-weight: 700; }

/* Разделяем месячное обслуживание, примечания и разовые работы в прайсе услуги. */
.sit .sit-block--prices .sit-block__body > h3 { margin: 0 0 16px; }
.sit .sit-block--prices .sit-block__body > .sit-pnote + h3 { margin-top: 40px; }
@media (max-width: 767px) {
  .sit .sit-block--prices .sit-block__body > .sit-pnote + h3 { margin-top: 32px; }
}

/* Вкладки занимают всю высоту строки: активная линия примыкает к нижней границе меню. */
.sit .sit-subnav__links { align-self: stretch; }
.sit .sit-subnav__links > li { display: flex; }
.sit .sit-subnav__links a { display: flex; align-items: center; }

/* Таблицы в тексте услуги отделяем от заголовка так же, как таблицы прайса. */
.sit .sit-block__body .sit-prose > h3 + .sit-table { margin-top: 16px; }

/* White service tags on the muted related-services background. */
.sit .sit-chips a { background: var(--surface); }

/* В карточке серверов обе месячные цены видны сразу; факты доверия — рядом с описанием. */
.sit .sit-lhero .sit-offer--compact { gap: 16px; border: 1px solid var(--border); }
.sit .sit-offer__rates { margin: 0; display: grid; gap: 16px; }
.sit .sit-offer__rates > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: center; }
.sit .sit-offer__rates dt { margin: 0; font-size: 18px; line-height: 1.35; font-weight: 400; }
.sit .sit-offer__rates dd { margin: 0; font-size: 20px; line-height: 1.2; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sit .sit-offer--compact .sit-offer__note { margin: 0; font-size: 14px; line-height: 1.5; }
.sit .sit-trust--hero { margin: 24px 0 0; padding: 20px 0 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
@media (max-width: 575.98px) {
  .sit .sit-trust--hero { grid-template-columns: 1fr; }
  .sit .sit-offer__rates dd { font-size: 18px; }
}

/* На узком телефоне оставляем место для подписи и стрелки кнопки расчёта. */
@media (max-width: 360px) { .sit .sit-offer--compact .sit-btn { gap: 8px; padding-inline: 12px; } }

/* Карточка серверов начинается на уровне H1: пропускаем строку рубрики и её отступ. */
.sit .sit-offer-column { min-width: 0; align-self: start; }
.sit .sit-service-art { display: none; }
@media (min-width: 992px) {
  .sit .sit-offer-column { margin-block-start: calc(19.5px + var(--s2)); align-self: stretch; display: flex; flex-direction: column; }
  .sit .sit-offer-column .sit-offer { position: static; margin: 0; align-self: stretch; flex: 1; justify-content: space-between; }
  .sit .sit-service-art { display: flex; align-items: center; justify-content: center; width: min(100%, 260px); height: 150px; margin: 0 auto; }
  .sit .sit-service-art img { display: block; flex: none; width: 100%; height: auto; }
}

@media (max-width: 360px) { .sit .sit-offer__rates dt { font-size: 17px; } }

/* Открытое мобильное меню не перекрываем плавающей кнопкой связи. */
body:has(.sit-menu[open]) .sit-dock { visibility: hidden; pointer-events: none; }

/* Единое оформление первого экрана услуг: спокойная рамка и компактное предложение. */
.sit .sit-lhero .sit-offer { border: 1px solid var(--border); gap: 16px; }
.sit .sit-lhero .sit-offer__note { margin: 0; }
.sit .sit-offer-column:not(:has(.sit-offer--compact)) { align-self: start; }
.sit .sit-offer-column:not(:has(.sit-offer--compact)) .sit-offer { justify-content: flex-start; }
@media (max-width: 360px) {
  .sit .sit-lhero .sit-offer .sit-btn { gap: 8px; padding-inline: 12px; }
}

.sit .sit-lhero--teal .sit-trust--hero { color: #fff; --accent: var(--yellow); border-color: rgba(255,255,255,.35); }

/* После таблиц и списков пояснения отделяем от содержимого блока. */
.sit :is(.sit-table, .sit-ptable) + :is(p, ul, ol),
.sit .sit-prose > table + :is(p, ul, ol),
.sit .sit-prose > :is(ul, ol) + p { margin-top: 24px; }

/* Единый короткий первый экран услуг; подробности остаются в разделах. */
.sit .sit-lhero--brief .sit-h1 { max-width: none; }
.sit .sit-lhero--brief .sit-lhero__lead { max-width: 34em; }
.sit .sit-block--brief-page .sit-prose + :is(.sit-cards, .sit-steps) { margin-top: 24px; }

/* Действие рядом с предложением, иллюстрация отдельно от формы. */
.sit .sit-lhero--brief { padding-bottom: 40px; }
.sit .sit-lhero--brief .sit-lhero__grid { align-items: center; margin-top: 28px; gap: 24px; }
.sit .sit-lhero--brief .sit-h1 { margin-top: 0; }
.sit .sit-lhero--brief .sit-lhero__lead { max-width: 35em; }
.sit .sit-lhero__action { margin-top: 28px; }
.sit .sit-lhero__action .sit-btn { min-width: 240px; justify-content: space-between; gap: 32px; }
.sit .sit-lhero__creative { width: min(100%, 220px); margin-inline: auto; pointer-events: none; }
.sit .sit-lhero__creative img { display: block; width: 100%; height: auto; }
@media (min-width: 768px) {
  .sit .sit-lhero--brief .sit-lhero__grid { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 40px; }
  .sit .sit-lhero__creative { width: min(100%, 400px); }
  /* Выравниваем видимую площадку, учитывая прозрачный отступ внизу исходного изображения. */
  .sit .sit-lhero--surface .sit-lhero__main,
  .sit .sit-lhero--surface .sit-lhero__creative { align-self: end; }
  .sit .sit-lhero--surface .sit-lhero__creative { transform: translateY(var(--sit-surface-offset, 0%)); }
  .sit .sit-lhero__creative[data-illustration="it-autsorsing"] { --sit-surface-offset: 12.1875%; }
  .sit .sit-lhero__creative[data-illustration="it-audit"] { --sit-surface-offset: 8.5938%; }
  .sit .sit-lhero__creative[data-illustration="korporativnaya-pochta"] { --sit-surface-offset: 9.375%; }
  .sit .sit-lhero__creative[data-illustration="importozameshchenie"] { --sit-surface-offset: 15.625%; }
  .sit .sit-lhero__creative[data-illustration="montazh-sistem-bezopasnosti"] { --sit-surface-offset: 4.6875%; }
  .sit .sit-lhero__creative[data-illustration="nastroyka-setevogo-oborudovaniya"] { --sit-surface-offset: 9.2188%; }
  .sit .sit-lhero__creative[data-illustration="obsluzhivanie-kompyuterov"] { --sit-surface-offset: 0.4688%; }
  .sit .sit-lhero__creative[data-illustration="obsluzhivanie-orgtekhniki"] { --sit-surface-offset: 13.75%; }
  .sit .sit-lhero__creative[data-illustration="organizatsiya-it-infrastruktury"] { --sit-surface-offset: 3.75%; }
  .sit .sit-lhero__creative[data-illustration="podderzhka-polzovateley"] { --sit-surface-offset: 2.1875%; }
  /* Основание сервера на уровне кнопки: прозрачное поле ниже контактной тени не считаем опорой. */
  .sit .sit-lhero__creative[data-illustration="obsluzhivanie-serverov"] { align-self: end; transform: translateY(8.28%); }
}
@media (min-width: 992px) {
  .sit .sit-lhero--brief { padding-bottom: 48px; }
  .sit .sit-lhero--brief .sit-lhero__grid { margin-top: 36px; gap: 64px; }
}
/* Заполняем свободное место сцены, сохраняя её опору и высоту баннера. */
@media (min-width: 1200px) {
  .sit .sit-lhero__creative:is([data-illustration="importozameshchenie"], [data-illustration="it-audit"], [data-illustration="obsluzhivanie-kompyuterov"], [data-illustration="korporativnaya-pochta"], [data-illustration="obsluzhivanie-orgtekhniki"], [data-illustration="obedinenie-ofisov"], [data-illustration="vks-i-peregovornye"]) { --sit-hero-scale: 1.1; }
  .sit .sit-lhero__creative:is([data-illustration="importozameshchenie"], [data-illustration="it-audit"], [data-illustration="obsluzhivanie-kompyuterov"], [data-illustration="korporativnaya-pochta"], [data-illustration="obsluzhivanie-orgtekhniki"], [data-illustration="obedinenie-ofisov"], [data-illustration="vks-i-peregovornye"]) img { transform: scale(var(--sit-hero-scale)); transform-origin: 50% var(--sit-image-origin, 84.375%); }
  .sit .sit-lhero__creative[data-illustration="it-audit"] { --sit-image-origin: 91.40625%; }
  .sit .sit-lhero__creative[data-illustration="obsluzhivanie-kompyuterov"] { --sit-image-origin: 99.53125%; }
  .sit .sit-lhero__creative[data-illustration="korporativnaya-pochta"] { --sit-image-origin: 90.625%; }
  .sit .sit-lhero__creative[data-illustration="obsluzhivanie-orgtekhniki"] { --sit-image-origin: 86.25%; }
  .sit .sit-lhero__creative[data-illustration="obedinenie-ofisov"] { --sit-image-origin: 93.4375%; }
  .sit .sit-lhero__creative[data-illustration="vks-i-peregovornye"] { --sit-image-origin: 94.0625%; }
}
@media (min-width: 1400px) {
  .sit .sit-lhero__creative:is([data-illustration="importozameshchenie"], [data-illustration="it-audit"], [data-illustration="obsluzhivanie-kompyuterov"], [data-illustration="korporativnaya-pochta"], [data-illustration="obsluzhivanie-orgtekhniki"], [data-illustration="obedinenie-ofisov"], [data-illustration="vks-i-peregovornye"]) { --sit-hero-scale: 1.3; }
}
@media (max-width: 479px) {
  .sit .sit-lhero__action .sit-btn { width: 100%; min-width: 0; }
}

/* Цена — часть предложения, без отдельной карточки и крупной типографики. */
.sit .sit-lhero__pricing { margin-top: 20px; display: grid; gap: 6px; font-size: 18px; line-height: 1.45; color: rgba(255,255,255,.88); }
.sit .sit-lhero__pricing p { margin: 0; }
.sit .sit-lhero__pricing span { white-space: nowrap; }
.sit .sit-service-context { margin-bottom: 28px; }
.sit .sit-service-context h3 { margin-top: 24px; }
.sit .sit-service-context h3:first-child { margin-top: 0; }

/* Однотонный фирменный фон — тот же цвет, что у подложки логотипа. */
.sit .sit-lhero--brief,
.sit .sit-leaf-band {
  background-color: var(--brand);
  background-image: none;
}
.sit .sit-lhero--brief .sit-lhero__lead,
.sit .sit-lhero--brief .sit-lhero__pricing,
.sit .sit-lhero--brief .sit-crumbs,
.sit .sit-lhero--brief .sit-crumbs a { color: #fff; }

/* Общий hover ссылки не должен добавлять вторую линию под заголовком кейса. */
.sit .sit-case-mini:hover,
.sit .sit-case-mini:focus-visible { text-decoration: none; }
.sit .sit-case-mini:focus-visible .sit-case-mini__title {
  text-decoration: underline;
  text-decoration-color: var(--yellow);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

/* На узком экране содержимое не должно расширять колонки каталога и баннера. */
@media (max-width: 1199px) {
  .sit-leaf { grid-template-columns: minmax(0, 1fr); }
  .sit-leaf__text { min-width: 0; }
  .sit .sit-leaf__bubble { overflow-wrap: anywhere; }
}
@media (max-width: 767px) {
  .sit .sit-hub { grid-template-columns: minmax(0, 1fr); }
  .sit-hub__card { min-width: 0; }
  .sit .sit-hub__list a, .sit .sit-hub__dirs a { overflow-wrap: anywhere; min-width: 0; }
}
@media (max-width: 479px) {
  .sit .sit-leaf__bubble { font-size: clamp(26px, 8.7vw, 34px); }
}

/* Контактная тень под оборудованием: координаты подобраны по прозрачным полям каждого ассета. */
.sit .sit-lhero__creative[data-illustration] { position: relative; isolation: isolate; }
.sit .sit-lhero__creative[data-illustration] img { position: relative; z-index: 1; }
.sit .sit-lhero__creative[data-illustration]::before,
.sit .sit-lhero__creative[data-illustration]::after {
  content: var(--sit-ground, none);
  position: absolute;
  z-index: 0;
  pointer-events: none;
  left: var(--sit-ground-x);
  top: var(--sit-ground-y);
  width: var(--sit-ground-width);
  height: 10%;
  transform: translate(-50%, -50%) scale(var(--sit-hero-scale, 1));
  background: radial-gradient(ellipse at center, rgba(8, 35, 40, .27) 0%, rgba(8, 35, 40, .15) 32%, rgba(8, 35, 40, .055) 53%, transparent 73%);
}
.sit .sit-lhero__creative[data-illustration]::after {
  width: calc(var(--sit-ground-width) * .72);
  height: 3.2%;
  background: radial-gradient(ellipse at center, rgba(5, 25, 30, .28) 0%, rgba(5, 25, 30, .13) 35%, transparent 73%);
}
.sit .sit-lhero__creative[data-illustration="montazh-lokalnoy-seti"] { --sit-ground: ""; --sit-ground-x: 50.42%; --sit-ground-y: 93.28%; --sit-ground-width: 85.5%; }
.sit .sit-lhero__creative[data-illustration="nastroyka-setevogo-oborudovaniya"] { --sit-ground: ""; --sit-ground-x: 49.74%; --sit-ground-y: 90.63%; --sit-ground-width: 83.53%; }
.sit .sit-lhero__creative[data-illustration="obedinenie-ofisov"] { --sit-ground: ""; --sit-ground-x: 50.16%; --sit-ground-y: 93.28%; --sit-ground-width: 82.78%; }
.sit .sit-lhero__creative[data-illustration="obsluzhivanie-serverov"] { --sit-ground: ""; --sit-ground-x: 49.64%; --sit-ground-y: 91.72%; --sit-ground-width: 76.78%; }
.sit .sit-lhero__creative[data-illustration="obsluzhivanie-videonablyudeniya"] { --sit-ground: ""; --sit-ground-x: 49.43%; --sit-ground-y: 95.94%; --sit-ground-width: 83.34%; }
.sit .sit-lhero__creative[data-illustration="pereezd-ofisa"] { --sit-ground: ""; --sit-ground-x: 49.48%; --sit-ground-y: 95.94%; --sit-ground-width: 85.31%; }
.sit .sit-lhero__creative[data-illustration="rezervnoe-kopirovanie"] { --sit-ground: ""; --sit-ground-x: 50.1%; --sit-ground-y: 93.91%; --sit-ground-width: 73.13%; }
.sit .sit-lhero__creative[data-illustration="ustanovka-videonablyudeniya"] { --sit-ground: ""; --sit-ground-x: 49.27%; --sit-ground-y: 94.53%; --sit-ground-width: 75.38%; }
