/* ==========================================================================
   Главная service-it.ru — вариант «B+ с енотом» (03.10.2026).
   Опирается на токены и компоненты template_styles.css (.sit-btn, .sit-chip, .sit-more…).
   Все классы — sh-* внутри .sit-home. Подключается в /index.php: Assets::addPageStylesheet('home.css').
   ========================================================================== */

.sit-home .sh-subtle { background: var(--surface-subtle); }

/* Общие стили подчёркивают ссылки при наведении (.sit a:hover) — у карточек, ссылок «далее» и таблицы цен гасим,
   подчёркивание оставляем только у ссылок в тексте (SEO-блок, ответы) */
.sit-home a.sit-more, .sit-home .sh-ptable a, .sit-home .sh-svc, .sit-home .sh-door__links a { text-decoration: none !important; }
.sit-home .sit-more:hover, .sit-home .sit-case:hover .sit-case__title { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sit-home .sit-case__title { text-decoration: none; }
.sit-home .sit-section { padding-block: var(--s8); }
@media (min-width: 992px) { .sit-home .sit-section { padding-block: 40px; } }
.sit-home .sh-btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.sit-home .sh-chip { align-self: flex-start; justify-self: start; }
.sit-home .sh-chip--y { background: var(--yellow); color: var(--text); }
.sit-home .sit-chip--soft { background: var(--accent-tint); color: var(--accent-ink); }

/* Вторичная кнопка: при наведении — пиксельная тень (вместо бирюзовой подложки) */
.sit-home .sit-btn--secondary { transition: transform 0.15s, box-shadow 0.15s; }
.sit-home .sit-btn--secondary:hover,
.sit-home .sit-btn--secondary:focus-visible { background: transparent; transform: none; box-shadow: none; }  /* только стрелка */

/* ---------- Первый экран: текст + пульт ---------- */
.sh-hero { padding-block: 40px; }
.sh-hero__inner { display: grid; gap: 32px; align-items: center; }
.sh-hero__text { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.sit-home .sh-hero__title { font-size: 36px; line-height: 1.08; letter-spacing: -0.015em; }
.sit-home .sh-hero__lead { font-size: 19px; color: var(--text-muted); max-width: 30em; }
@media (min-width: 992px) {
  .sh-hero { padding-block: 64px; }
  .sh-hero__inner { grid-template-columns: 1fr 1fr; gap: 56px; }
  .sit-home .sh-hero__title { font-size: 50px; }
}

.sh-board { background: var(--surface); border: 1px solid var(--border); box-shadow: 8px 8px 0 var(--accent-tint); }
.sh-board__top { display: flex; justify-content: flex-start; align-items: center; gap: 12px; padding: 14px 20px; border-bottom: 1px solid var(--border); font-size: 14px; color: var(--text-muted); }
.sh-pulse { display: inline-flex; align-items: center; gap: 8px; }
.sh-pulse::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #0dad4a; animation: sh-blink 1.6s steps(1, end) infinite; }
.sh-board__sla { display: grid; gap: 8px; padding: 24px 20px; }
.sh-board__cap { font-size: 15px; color: var(--text-muted); }
.sh-board__sla b { font-weight: 400; font-size: 64px; line-height: 0.95; color: var(--text); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
@media (min-width: 992px) { .sh-board__sla b { font-size: 72px; } }
.sh-board__grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; border-top: 1px solid var(--border); }
.sh-board__grid div { padding: 16px 20px; }
.sh-board__grid div + div { border-left: 1px solid var(--border); }
.sit-home .sh-board__grid dt { font-size: 28px; line-height: 1; font-variant-numeric: tabular-nums; }
.sit-home .sh-board__grid dd { margin-top: 4px; font-size: 13px; color: var(--text-muted); }

/* Полоса SLA — отдельные квадраты 12×12; «догрузка» бледно-синяя */
.sh-bar { display: flex; gap: 3px; height: 12px; overflow: hidden; }
.sh-bar .cell { flex: none; width: 12px; height: 12px; background: var(--surface-subtle); }
.sh-bar .cell.on { background: #0dad4a; }   /* SLA — фирменный зелёный: «хорошо», бирюзы на первом экране и так много */
/* «онлайн» и «догрузка» мигают одним ритмом и в одной фазе (фазу выравнивает home.js) */
.sh-bar .cell.load { background: #b6e6c6; animation: sh-blink 1.6s steps(1, end) infinite; }
@keyframes sh-blink { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0.25; } }
@keyframes sh-load { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0.25; } }   /* чат: точка и «печатает» */

/* ---------- Развилка ---------- */
.sh-doors { display: grid; gap: 24px; }
@media (min-width: 992px) { .sh-doors { grid-template-columns: 1fr 1.35fr; align-items: stretch; } }
@media (max-width: 991.98px) { .sh-door--seek { order: -1; } }   /* на телефоне главная карточка — первой */
.sh-door { display: grid; gap: 14px; align-content: start; padding: 28px; background: var(--surface-subtle); }
.sit-home .sh-door__title { font-size: 24px; line-height: 1.15; }
.sh-door__links { display: grid; gap: 10px; }
.sit-home .sh-door__links a,
.sit-home .sh-door__main { display: flex; justify-content: space-between; align-items: center; gap: 12px; width: 100%; padding: 14px 16px; background: var(--surface); border: 1px solid var(--border); color: var(--text); font: inherit; font-size: 17px; text-align: left; text-decoration: none; cursor: pointer; }
.sit-home .sh-door__links a:hover { border-color: var(--accent); }
.sit-home .sh-door__links a:hover .sit-arrow::before { transform: translateX(2px); }
.sit-home .sh-door__phone { justify-content: flex-start; }
.sh-door--seek { padding: 28px 32px 32px; background: var(--surface); border: 1.5px solid var(--accent); box-shadow: 8px 8px 0 var(--yellow); }
.sit-home .sh-door--seek .sh-door__title { font-size: 28px; }
.sit-home .sh-door--seek .sh-door__links a { background: var(--surface-subtle); border-color: var(--surface-subtle); }
.sit-home .sh-door--seek .sh-door__links a:hover { border-color: var(--accent); }
.sit-home .sh-door__main { background: var(--accent); border-color: var(--accent); color: var(--on-accent); }
.sit-home .sh-door__main:hover .sit-arrow::before { transform: translateX(2px); }
.sh-door__lbl { display: inline-flex; align-items: center; gap: 14px; }
.sh-ico { display: block; flex: none; width: 28px; height: 28px; }
.sh-ico svg { display: block; width: 100%; height: 100%; }

/* ---------- Каталог вкладками ---------- */
.sh-tabs { display: flex; flex-wrap: wrap; gap: 4px 28px; margin-bottom: 24px; border-bottom: 1px solid var(--border); }
.sit-home .sh-tab { appearance: none; border-radius: 0; box-shadow: none; outline-offset: 2px; border-left: 0; border-right: 0; border-top: 0; padding: 10px 0; margin-bottom: -1px; border: 0; border-bottom: 3px solid transparent; background: none; font: inherit; font-size: 18px; color: var(--text-muted); cursor: pointer; }
.sit-home .sh-tab[aria-selected="true"] { color: var(--text); border-bottom-color: var(--yellow); }
.sit-home .sh-tab:focus { outline: none; }
.sit-home .sh-tab:hover { color: var(--text); }
.sit-home .sh-tab:focus-visible { outline: 3px solid var(--accent-line); outline-offset: 2px; }
.sh-svc-grid { display: grid; gap: 24px; grid-template-columns: minmax(0, 1fr); }
.sh-svc-grid + .sh-svc-grid { margin-top: 24px; }
.sh-js .sh-svc-grid + .sh-svc-grid { margin-top: 0; }
.sh-svc-grid[hidden] { display: none; }
@media (min-width: 576px) { .sh-svc-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 992px) { .sh-svc-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.sit-home .sh-svc { display: grid; gap: 8px; align-content: start; padding: 20px; background: var(--surface); border: 1px solid var(--border); color: var(--text); text-decoration: none; transition: box-shadow 0.15s, transform 0.15s; }
.sit-home .sh-svc:hover { color: var(--text); box-shadow: 4px 4px 0 var(--yellow); transform: translate(-2px, -2px); }
.sh-svc__icon { display: block; width: 36px; height: 36px; margin-bottom: 4px; }
.sh-svc__icon svg { display: block; width: 100%; height: 100%; }
.sh-svc__title { font-size: 19px; line-height: 1.2; }
.sh-svc__text { font-size: 15px; color: var(--text-muted); }
.sh-svc__price { font-size: 17px; color: var(--accent-ink); }
.sh-svc__price--ask { font-size: 15px; color: var(--text-muted); }
/* «Также» под карточками вкладки — ссылки на остальные посадочные направления, одной строкой */
.sit-home .sh-svc-also { grid-column: 1 / -1; font-size: 15px; line-height: 1.6; color: var(--text-muted); }
.sit-home .sh-svc-also a { color: var(--text); text-decoration: underline; text-decoration-color: var(--border); text-underline-offset: 3px; }
.sit-home .sh-svc-also a:hover { color: var(--accent-ink); text-decoration-color: currentColor; }

/* ---------- Баннер по листовке (макет Figma 1641:108) ---------- */
.sh-leaf { position: relative; display: grid; gap: 0; background: #228499; color: #fff; overflow: hidden; }
.sh-leaf__raccoon { order: 3; width: 220px; height: auto; justify-self: start; margin-left: 14px; }
.sit-home .sh-leaf__bubble { position: relative; justify-self: start; margin: 28px 24px 0; padding: 18px 22px 20px; background: #fff; color: #228499; font-size: 36px; line-height: 1.08; letter-spacing: -0.01em; }
.sh-leaf__bubble::after { content: ""; position: absolute; left: 50px; bottom: -14px; width: 14px; height: 14px; background: #fff; box-shadow: -14px 14px 0 #fff; }
.sh-leaf__text { display: grid; gap: 18px; align-content: start; padding: 36px 24px; }
.sit-home .sh-leaf__247 { display: grid; font-size: 80px; line-height: 0.95; letter-spacing: -0.02em; }
.sh-leaf__247 span { font-size: 19px; letter-spacing: 0; margin-bottom: 8px; }
.sit-home .sh-leaf__lead { font-size: 19px; line-height: 1.4; max-width: 23em; }
.sh-leaf .sh-btns { margin-top: 18px; gap: 16px; }
.sit-home .sh-leaf .sit-btn--inverse { box-shadow: 6px 6px 0 #17687a; }
@media (min-width: 1200px) {
  .sh-leaf { grid-template-columns: 290px 360px 1fr; min-height: 430px; }
  .sh-leaf__raccoon { order: 0; grid-row: 1; grid-column: 1; align-self: end; width: 302px; }
  .sit-home .sh-leaf__bubble { grid-row: 1; grid-column: 2; align-self: start; margin: 36px 0 0; width: 330px; font-size: 44px; padding: 18px 22px 22px; }
  .sh-leaf__text { grid-row: 1; grid-column: 3; padding: 40px 48px 40px 52px; }
}

/* Кнопка MAX: белая, при наведении — пиксельная тень */
.sit-home .sh-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-home .sh-max img { width: 24px; height: 24px; }
.sit-home .sh-max:hover { color: var(--text); transform: translate(-2px, -2px); box-shadow: 6px 6px 0 #17687a; }
.sit-home .sh-max--line { border: 1.5px solid var(--border-strong); }
.sit-home .sh-max--line:hover { box-shadow: 4px 4px 0 var(--accent-ink); }

/* ---------- Шаги ---------- */
.sh-steps { display: grid; gap: 24px; }
@media (min-width: 576px) { .sh-steps { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .sh-steps { grid-template-columns: repeat(4, 1fr); } }
.sh-step { display: grid; grid-template-columns: auto 1fr; gap: 6px 18px; align-content: start; padding-top: 18px; border-top: 2px solid var(--brand); }
.sit-home .sh-step__num { grid-row: span 2; display: block; width: auto; height: 40px; }
.sit-home .sh-step h3 { grid-column: 2; font-size: 20px; line-height: 1.2; }
.sit-home .sh-step p { grid-column: 2; color: var(--text-muted); }

/* ---------- О компании ---------- */
.sh-about { display: grid; gap: 40px; align-items: stretch; }
.sh-about__text { display: flex; flex-direction: column; gap: 14px; }
.sit-home .sh-about__big { font-size: 22px; line-height: 1.35; max-width: 32em; }
.sh-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: auto 0 0; padding-top: 32px; }
.sh-stats > div { padding-top: 14px; border-top: 2px solid var(--brand); }
.sit-home .sh-stats dt { font-size: 36px; line-height: 1; color: var(--text); font-variant-numeric: tabular-nums; }
.sit-home .sh-stats dd { margin-top: 6px; font-size: 14px; line-height: 1.35; color: var(--text-muted); }
.sh-about__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; margin-top: 14px; }
.sit-home .sh-about__foot img { width: 171px; height: auto; }
@media (min-width: 992px) { .sh-about { grid-template-columns: 1fr 1fr; gap: 56px; } }

/* Направления группы: мозаика 2×2, плитки одного устройства — знак сверху, название и адрес снизу */
.sit-home .sh-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
.sit-home .sh-group > li { display: flex; }
.sit-home .sh-group__tile { display: flex; flex-direction: column; gap: 8px; width: 100%; min-height: 200px; padding: 22px; color: #fff; text-decoration: none; }
.sit-home .sh-group__tile--tp { background: var(--brand); }
.sit-home .sh-group__tile--1c { background: var(--yellow); }   /* текст белый, как на остальных цветных плитках */
.sit-home .sh-group__tile--pm { background: #ee2b53; }
.sit-home .sh-group__tile--group { background: #fff; color: var(--text); box-shadow: inset 0 0 0 1px var(--border); }
.sh-group__top { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; min-height: 40px; }
.sh-group__ico { display: block; width: 40px; height: 40px; }
.sh-group__ico svg, .sh-group__ico img { display: block; width: 100%; height: 100%; }
/* Иконки из спрайта на цветных плитках и бирюзовой кнопке аудита — белые (жёлтый пиксель остаётся) */
.sh-group__ico, .sit-home .sh-door__main .sh-ico { --icon-ink: #fff; }
.sit-home .sh-group__logo { width: auto; height: 40px; }
.sh-group__here { padding: 3px 8px; background: #fff; color: var(--text); font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; }
.sit-home .sh-group__title { display: block; margin-top: auto; font-size: 20px; line-height: 1.2; }
.sh-group__url { font-size: 14px; opacity: 0.92; }
.sit-home .sh-group__tile--group .sh-group__url { color: var(--accent-ink); opacity: 1; }
@media (max-width: 520px) {
  .sit-home .sh-group { grid-template-columns: 1fr; }
  .sit-home .sh-group__tile { min-height: 150px; }
}

/* ---------- Клиенты и партнёры ---------- */
.sit-home .sh-logos__sub { margin: 0 0 12px; font-size: 18px; color: var(--text-muted); }
.sit-home .sh-logos__partners { margin-bottom: 0; }
.sit-home .sh-logos__clients { margin-bottom: 32px; }
.sit-home .sh-logos .sit-logo-grid li { aspect-ratio: auto; height: 104px; }
@media (min-width: 992px) {
  .sit-home .sh-logos__clients .sit-logo-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .sit-home .sh-logos__partners .sit-logo-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

/* ---------- SEO-текст и города ---------- */
.sh-seo { display: grid; gap: 32px; }
.sh-seo__text > * + * { margin-top: 14px; }
.sit-home .sh-seo__text p { max-width: 40em; }
.sit-home .sh-seo__text a { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 3px; }
.sh-geo { display: grid; gap: 12px; align-content: start; }
.sit-home .sh-geo h3 { font-size: 18px; }
.sit-home .sh-geo ul { display: flex; flex-wrap: wrap; gap: 8px; }
.sit-home .sh-geo li { padding: 6px 12px; background: var(--surface); border: 1px solid var(--border); font-size: 15px; }
@media (min-width: 992px) { .sh-seo { grid-template-columns: 1.3fr 1fr; gap: 56px; } }

/* ---------- Вопросы + чат ---------- */
.sh-faq-wrap { display: grid; gap: 40px; align-items: start; }
@media (min-width: 992px) { .sh-faq-wrap { grid-template-columns: minmax(0, 1fr) 360px; gap: 56px; } }
.sh-faq details { border-bottom: 1px solid var(--border); }
.sit-home .sh-faq summary { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; font-size: 18px; cursor: pointer; list-style: none; }
.sh-faq summary::-webkit-details-marker { display: none; }
.sh-faq summary::after { content: ""; flex: none; width: 14px; height: 14px; margin-top: 6px; background: linear-gradient(var(--accent), var(--accent)) center / 14px 1.5px no-repeat, linear-gradient(var(--accent), var(--accent)) center / 1.5px 14px no-repeat; }
.sh-faq details[open] summary::after { background: linear-gradient(var(--accent), var(--accent)) center / 14px 1.5px no-repeat; }
.sit-home .sh-faq details p { padding: 0 0 18px; max-width: 46em; color: var(--text-muted); }
.sit-home .sh-faq details a { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 3px; }

.sh-chat { display: grid; gap: 14px; padding: 20px; background: var(--surface-subtle); }
.sh-chat__head { display: grid; grid-template-columns: 10px 1fr; column-gap: 10px; align-items: center; }
.sit-home .sh-chat__head b { font-weight: 400; font-size: 20px; }
.sh-chat__head span:last-child { grid-column: 2; font-size: 14px; color: var(--text-muted); }
.sh-chat__dot { width: 10px; height: 10px; border-radius: 50%; background: #0dad4a; animation: sh-load 1.6s steps(1, end) infinite; }
.sh-chat__log { display: flex; flex-direction: column; gap: 14px; min-height: 196px; padding: 16px; background: var(--surface); }
.sh-chat__msg { position: relative; max-width: 85%; padding: 10px 14px; font-size: 15px; line-height: 1.4; animation: sh-pop 0.25s steps(2, end); }
.sh-chat__msg--me { align-self: flex-end; background: var(--accent-tint); }
.sh-chat__msg--me::after { content: ""; position: absolute; right: 10px; bottom: -6px; width: 6px; height: 6px; background: var(--accent-tint); }
.sh-chat__msg--it { align-self: flex-start; background: var(--accent); color: #fff; }
.sh-chat__msg--it::after { content: ""; position: absolute; left: 10px; bottom: -6px; width: 6px; height: 6px; background: var(--accent); }
.sh-chat__typing { display: flex; gap: 5px; padding: 14px; }
.sh-chat__typing i { width: 6px; height: 6px; background: #fff; animation: sh-load 0.9s steps(1, end) infinite; }
.sh-chat__typing i:nth-child(2) { animation-delay: 0.3s; }
.sh-chat__typing i:nth-child(3) { animation-delay: 0.6s; }
@keyframes sh-pop { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.sit-home .sh-chat .sit-btn { min-height: 44px; padding: 8px 18px; font-size: 16px; gap: 16px; }
.sit-home .sh-chat .sh-max { min-height: 44px; }
.sit-home .sh-chat__note { font-size: 12px; color: var(--text-muted); }

/* ---------- Цены на работы ---------- */
.sh-ptable { overflow-x: auto; border: 1px solid var(--border); background: var(--surface); }
.sh-ptable table { width: 100%; min-width: 520px; border-collapse: collapse; font-size: 16px; }
.sit-home .sh-ptable th,
.sit-home .sh-ptable td { padding: 14px 18px; border: 0; border-bottom: 1px solid var(--border); text-align: left; font-weight: 400; vertical-align: middle; }
.sit-home .sh-ptable thead th { background: var(--surface-subtle); font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--text-muted); white-space: nowrap; }
.sh-ptable tbody tr:last-child th,
.sh-ptable tbody tr:last-child td { border-bottom: 0; }
.sit-home .sh-ptable tbody th a { color: var(--text); }
.sit-home .sh-ptable tbody th a:hover { color: var(--accent-ink); text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.sit-home .sh-ptable td { color: var(--text-muted); white-space: nowrap; }
.sit-home .sh-ptable td.sh-num { color: var(--text); font-variant-numeric: tabular-nums; font-size: 17px; }
/* Единица под ценой — только на телефоне (как .sit-ptable в catalog.css) */
.sit-home .sh-ptable .sit-ptable__u { display: none; }
@media (max-width: 575.98px) {
  .sh-ptable table { min-width: 0; }
  .sit-home .sh-ptable .unit { display: none; }
  .sit-home .sh-ptable th, .sit-home .sh-ptable td { padding: 12px 14px; }
  .sit-home .sh-ptable td.sh-num { padding-left: 0; text-align: right; }
  .sit-home .sh-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-home .sh-pnote { display: flex; gap: 10px; align-items: flex-start; margin-top: 14px; font-size: 15px; color: var(--text-muted); }
.sh-pnote::before { content: ""; flex: none; width: 8px; height: 8px; margin-top: 7px; background: var(--brand); }

/* ---------- Заявка ---------- */
.sh-request { display: grid; gap: 32px; padding: 32px; background: var(--surface-subtle); align-items: center; }
.sit-home .sh-request__photo { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; object-position: 50% 35%; }
.sh-request__text { display: grid; gap: 16px; align-content: start; }
.sh-request__list { display: grid; gap: 8px; }
.sit-home .sh-request__list li { display: grid; padding: 12px 16px; background: var(--surface); border: 1px solid var(--border); font-size: 14px; color: var(--text-muted); }
.sit-home .sh-request__list b { font-weight: 400; font-size: 17px; color: var(--text); }
.sit-home .sh-request__phone { font-size: 15px; color: var(--text-muted); }
@media (min-width: 992px) { .sh-request { grid-template-columns: 1fr 1.15fr; gap: 48px; padding: 40px; } }

/* ==========================================================================
   Правки после прототипа (03.10.2026)
   ========================================================================== */
/* Первый экран — акцентный бирюзовый */
.sh-hero--teal { background: var(--brand); color: #fff; }
.sit-home .sh-hero--teal .sh-hero__title { color: #fff; }
.sit-home .sh-hero--teal .sh-hero__lead { color: rgba(255, 255, 255, 0.88); }
.sit-home .sh-hero--teal .sit-chip--soft { background: rgba(255, 255, 255, 0.16); color: #fff; }
.sh-hero--teal .sh-board { color: var(--text); border-color: transparent; box-shadow: 8px 8px 0 var(--accent-ink); }
.sit-home .sit-btn--yellow { background: var(--yellow); border-color: var(--yellow); color: var(--text); transition: transform 0.15s, box-shadow 0.15s; }
.sit-home .sit-btn--yellow:hover,
.sit-home .sit-btn--yellow:focus-visible { color: var(--text); transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--accent-ink); }
.sit-home .sit-btn--ghost { background: transparent; border-color: rgba(255, 255, 255, 0.75); color: #fff; transition: transform 0.15s, box-shadow 0.15s; }
.sit-home .sit-btn--ghost:hover,
.sit-home .sit-btn--ghost:focus-visible { color: #fff; transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--yellow); }

/* Строка дежурного инженера в пульте: круглый аватар, MAX */
.sh-duty { display: flex; align-items: center; gap: 14px; padding: 14px 20px; background: var(--accent-tint); border-bottom: 1px solid var(--border); }
.sit-home .sh-duty > img { flex: none; width: 64px; height: 64px; border-radius: 50%; box-shadow: 0 0 0 2px #fff; }
.sh-duty > span { display: grid; gap: 2px; flex: 1; min-width: 0; }
.sit-home .sh-duty b { font-weight: 400; font-size: 17px; }
.sh-duty small { font-size: 13px; color: var(--text-muted); }
.sit-home .sh-duty__max { display: inline-flex; align-items: center; gap: 6px; padding: 8px 12px; background: var(--surface); border: 1.5px solid var(--border-strong); color: var(--text); font-size: 15px; white-space: nowrap; transition: transform 0.15s, box-shadow 0.15s; }
.sit-home .sh-duty__max img { width: 20px; height: 20px; }
.sit-home .sh-duty__max:hover { color: var(--text); transform: translate(-2px, -2px); box-shadow: 4px 4px 0 var(--accent-ink); }
@media (max-width: 420px) { .sit-home .sh-duty__max { display: none; } }

/* Баннер — полоса во всю ширину */
.sh-leaf-band { background: #228499; }
.sh-leaf-band .sh-leaf { background: none; }

/* Кейсы без картинок: при наведении подчёркивается только заголовок */
.sit-home .sit-cases--text .sit-case { padding: 20px 20px 18px; background: var(--surface); border: 1px solid var(--border); border-top: 2px solid var(--brand); min-height: 150px; }
.sit-home .sit-cases--text a.sit-case:hover,
.sit-home .sit-cases--text a.sit-case:focus-visible { box-shadow: none; transform: none; }
.sit-home .sit-cases--text .sit-case__body { padding-top: 0; }
.sit-home .sit-cases .sit-case:hover .sit-case__title { text-decoration: underline; text-decoration-color: var(--yellow); text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Плитки направлений: при наведении текст не меняет цвет, подчёркивается адрес */
.sit-home a.sh-group__tile:hover, .sit-home a.sh-group__tile:hover .sh-group__title { color: #fff; text-decoration: none; }
.sit-home a.sh-group__tile--group:hover, .sit-home a.sh-group__tile--group:hover .sh-group__title { color: var(--text); }
.sit-home a.sh-group__tile:hover .sh-group__url { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }

/* Цены: ховер на всю строку */
.sh-ptable tbody tr { cursor: pointer; transition: background-color 0.12s; }
.sh-ptable tbody tr:hover { background: var(--accent-tint); }
.sit-home .sh-ptable tbody tr:hover th a { color: var(--accent-ink); text-decoration: underline !important; text-decoration-color: var(--yellow) !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; }

/* Заявка — фон во всю ширину, выбор запроса */
.sh-request-band { background: var(--surface-subtle); }
.sit-home .sh-request { padding: 0; background: none; }
.sit-home .sh-request__photo { align-self: stretch; height: 100%; min-height: 320px; aspect-ratio: auto; }
.sh-opts { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.sit-home .sh-opts legend { margin-bottom: 6px; padding: 0; font-size: 14px; color: var(--text-muted); }
.sit-home .sh-opt { display: flex; gap: 12px; align-items: flex-start; margin: 0; padding: 12px 16px; background: var(--surface); border: 1.5px solid var(--border-strong); cursor: pointer; font-weight: 400; }
.sit-home .sh-opt input { appearance: none; flex: none; width: 20px; height: 20px; margin: 2px 0 0; border: 1.5px solid var(--border-strong); background: var(--surface); }
.sit-home .sh-opt input:checked { border-color: var(--accent); background: var(--accent); box-shadow: inset 0 0 0 4px var(--surface); }
.sit-home .sh-opt:has(input:checked) { border-color: var(--accent); background: var(--accent-tint); }
.sit-home .sh-opt span { display: grid; font-size: 14px; color: var(--text-muted); }
.sit-home .sh-opt b { font-weight: 400; font-size: 17px; color: var(--text); }

@media (prefers-reduced-motion: reduce) {
  .sit-home *, .sit-home *::before, .sit-home *::after { animation: none !important; transition: none !important; }
}

/* Подчёркивание при наведении из общих стилей (.sit a:hover): у карточек кейсов и кнопок MAX его нет */
.sit-home a.sit-case, .sit-home a.sit-case .sit-more, .sit-home .sh-duty__max, .sit-home .sh-max { text-decoration: none !important; }
.sit-home .sit-cases a.sit-case:hover .sit-case__title { text-decoration: underline !important; text-decoration-color: var(--yellow) !important; text-decoration-thickness: 2px !important; text-underline-offset: 4px; }

/* Облачко енота: вопросы печатаются и стираются по очереди; размер под две строки фиксирован */
.sh-leaf__ask { white-space: pre-line; }
.sit-home .sh-leaf__bubble.js-asks { min-height: calc(2 * 1.08em + 40px); }
.sh-leaf__caret { display: inline-block; width: 0.32em; height: 0.32em; margin-left: 0.12em; background: var(--yellow); animation: sh-caret 1s steps(1, end) infinite; }
.js-asks.is-typing .sh-leaf__caret { animation: none; }
@keyframes sh-caret { 0%, 49% { opacity: 1; } 50%, 100% { opacity: 0; } }
@media (max-width: 1199.98px) { .sit-home .sh-leaf__bubble.js-asks { width: 270px; max-width: calc(100% - 48px); } }

/* Баннер: кнопки прижаты к низу колонки — уравновешивают облачко вверху (03.10.2026) */
@media (min-width: 1200px) {
  .sh-leaf__text { display: flex; flex-direction: column; gap: 18px; }
  .sh-leaf .sh-btns { margin-top: auto; padding-top: 18px; }
}

/* «О компании»: цифры — сразу под текстом, кнопка с аккредитацией — прижата к низу колонки
   (на уровне подписи под плитками направлений); кнопка — белая, ховер — пиксельная тень (03.10.2026) */
.sit-home .sh-about .sh-stats { margin-top: 8px; }
.sit-home .sh-about__foot { margin-top: auto; padding-top: 24px; }
.sit-home .sh-about__foot .sit-btn--secondary { background: #fff; transition: transform 0.15s, box-shadow 0.15s; }
.sit-home .sh-about__foot .sit-btn--secondary:hover,
.sit-home .sh-about__foot .sit-btn--secondary:focus-visible { background: #fff; transform: none; box-shadow: none; }

/* Пульт поддержки — компактнее (03.10.2026): уже, меньше отступы и кегли, данные и анимация те же */
@media (min-width: 992px) { .sh-hero__inner { grid-template-columns: minmax(0, 1fr) 460px; } }
.sh-board__top { padding: 10px 16px; font-size: 13px; }
.sh-duty { gap: 12px; padding: 10px 16px; }
.sit-home .sh-duty > img { width: 44px; height: 44px; }
.sit-home .sh-duty b { font-size: 16px; }
.sh-duty small { font-size: 12px; }
.sit-home .sh-duty__max { padding: 6px 10px; font-size: 14px; }
.sit-home .sh-duty__max img { width: 18px; height: 18px; }
.sh-board__sla { gap: 6px; padding: 16px 16px 18px; }
.sh-board__cap { font-size: 14px; }
.sh-board__sla b { font-size: 48px; }
@media (min-width: 992px) { .sh-board__sla b { font-size: 56px; } }
.sh-board__grid div { padding: 12px 16px; }
.sit-home .sh-board__grid dt { font-size: 22px; }
.sit-home .sh-board__grid dd { font-size: 12px; }

/* Встроенная форма заявки внизу главной (sit-form.js) — без своих полей и рамки */
.sit-home .sh-request__form .sit-lf { padding: 0; }
.sit-home .sh-request__form .sit-lf__done { padding: 0; }
/* Встроенная форма на главной: енот уже на фото слева — аватар в шапке формы не показываем;
   колонка формы тянется на высоту фото: заголовок у верхнего края, кнопка у нижнего */
.sit-home .sh-request__form .sit-lf__avatar { display: none; }
.sit-home .sh-request__form .sit-lf__head { grid-template-columns: 1fr; padding-right: 0; }
.sit-home .sh-request__form .sit-lf__title { font-size: 28px; }
@media (min-width: 992px) {
  .sit-home .sh-request { align-items: stretch; }
  .sit-home .sh-request__text { display: flex; flex-direction: column; }
  .sit-home .sh-request__form { display: flex; flex-direction: column; flex: 1; }
  .sit-home .sh-request__form .sit-lf { flex: 1; display: flex; flex-direction: column; gap: 18px; }
  .sit-home .sh-request__form .sit-lf__head { margin-bottom: 10px; }
  .sit-home .sh-request__form .sit-lf__foot { margin-top: auto; }
}
/* Фото подстраивается под высоту формы (а не форма под фото): верх и низ совпадают, без пустоты */
@media (min-width: 992px) {
  .sit-home .sh-request__photo { height: 0; min-height: 100%; aspect-ratio: auto; }
}

/* Статус «онлайн» стоит слева, перед названием пульта; разделитель — точка */
.sit-home .sh-board__top .sh-pulse { color: var(--text); }  /* текст «онлайн» — цветом текста, зелёная только точка */
.sit-home .sh-board__top .sh-pulse + span::before { content: "·"; margin-right: 12px; color: var(--border-strong); }

/* «онлайн»: точка горит ровно, от неё расходится и тает кольцо — как сигнал радара (05.10.2026).
   Ритм 2 с — не совпадает с миганием квадратов полосы (1,6 с) */
.sit-home .sh-board__top .sh-pulse::before { animation: sh-ping 2s cubic-bezier(0.2, 0.6, 0.4, 1) infinite; opacity: 1; }
@keyframes sh-ping {
  0%   { box-shadow: 0 0 0 0 rgba(13, 173, 74, 0.55); }
  70%  { box-shadow: 0 0 0 7px rgba(13, 173, 74, 0); }
  100% { box-shadow: 0 0 0 0 rgba(13, 173, 74, 0); }
}
@media (prefers-reduced-motion: reduce) { .sit-home .sh-board__top .sh-pulse::before { animation: none; } }

/* SEO-текст: список услуг со ссылками на посадочные */
.sit-home .sh-seo__list { display: grid; gap: 6px; }
.sit-home .sh-seo__list li { position: relative; padding-left: 20px; }
.sit-home .sh-seo__list li::before { content: ""; position: absolute; left: 2px; top: 0.6em; width: 6px; height: 6px; background: var(--yellow); }
.sit-home .sh-seo__text > * + * { margin-top: 14px; }
.sit-home .sh-seo__text > p + .sh-seo__list { margin-top: 8px; }

/* 2026-11-05: readable white text on the teal sections. */
.sit-home .sh-hero--teal, .sit-home .sh-leaf-band { background-color: var(--brand); }
.sit-home .sh-hero--teal .sh-hero__lead { color: #fff; }
.sit-home .sh-hero--teal .sit-chip--soft { background: #005565; color: #fff; }

/* Однотонный фирменный фон, как у баннеров услуг и логотипа. */
.sit .sh-leaf-band {
  background-color: var(--brand);
  background-image: none;
}
