/* Mymatrix 2026 — theme.css. Строгий инженерный B2B. Мобайл-фёрст. */

/* ===== Reset / база ===== */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: var(--font-body);
	font-weight: 400;
	font-size: 17px;
	line-height: 1.65;
	color: var(--ink);
	background: var(--bg);
	-webkit-font-smoothing: antialiased;
}
img, svg { max-width: 100%; height: auto; display: block; }
a { color: var(--brand); text-decoration: none; }
a:hover { color: var(--brand-hover); text-decoration: underline; }

h1, h2, h3, h4 {
	font-family: var(--font-heading);
	font-weight: 700;
	line-height: 1.2;
	color: var(--ink);
	margin: 0 0 .5em;
}
h1 { font-size: clamp(28px, 4vw, 44px); }
h2 { font-size: clamp(24px, 3vw, 32px); font-weight: 600; }
h3 { font-size: 20px; font-weight: 600; }
p { margin: 0 0 1em; }

/* ===== Layout ===== */
.container {
	width: 100%;
	max-width: var(--container);
	margin-inline: auto;
	padding-inline: 20px;
}
.section { padding-block: var(--section-mobile); }
@media (min-width: 768px) { .section { padding-block: var(--section); } }
.site-main { display: block; }

/* ===== Кнопки / CTA ===== */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	padding: 14px 22px;
	border-radius: var(--radius);
	border: 1px solid var(--brand);
	background: var(--brand);
	color: #fff;
	cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.btn:hover { background: var(--brand-hover); border-color: var(--brand-hover); color: #fff; text-decoration: none; }
.btn--ghost { background: transparent; color: var(--brand); }
.btn--ghost:hover { background: var(--brand); color: #fff; }
.btn--sm { padding: 10px 16px; font-size: 15px; }

/* Утилита доступности */
.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link { position: absolute; left: -9999px; }

/* ===== Header ===== */
.site-header { border-bottom: 1px solid var(--line); background: var(--bg); }

/* Утилити-полоса */
.utilbar {
	border-bottom: 1px solid var(--line);
	background: var(--bg-soft);
	font-size: 14px;
	color: var(--muted);
}
.utilbar__inner {
	display: flex; flex-wrap: wrap; gap: 6px 20px;
	align-items: center; justify-content: space-between;
	padding-block: 8px;
}
.utilbar a { color: var(--ink-soft); }
.utilbar a:hover { color: var(--brand); }
.utilbar__contacts { display: flex; flex-wrap: wrap; gap: 6px 18px; }
.utilbar__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; }
@media (max-width: 767px) { .utilbar__meta { display: none; } }

/* Топбар */
.topbar__inner {
	display: flex; align-items: center; justify-content: space-between;
	gap: 16px; padding-block: 14px; position: relative;
}
.topbar__brand img { width: 180px; height: auto; }

/* Навигация */
.mainnav { display: flex; align-items: center; gap: 28px; }
.mainnav__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; gap: 24px;
}
.mainnav__list a {
	color: var(--ink); font-family: var(--font-heading); font-weight: 600; font-size: 15px;
}
.mainnav__list a:hover { color: var(--brand); text-decoration: none; }
.mainnav__cta { white-space: nowrap; }

/* Бургер */
.burger { display: none; flex-direction: column; gap: 5px; width: 42px; height: 42px;
	align-items: center; justify-content: center; background: transparent;
	border: 1px solid var(--line); border-radius: var(--radius-sm); cursor: pointer; }
.burger span { width: 20px; height: 2px; background: var(--ink); transition: none; }

@media (max-width: 991px) {
	.burger { display: flex; }
	.mainnav {
		position: absolute; top: 100%; left: 0; right: 0; z-index: 40;
		flex-direction: column; align-items: stretch; gap: 0;
		background: var(--bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
		padding: 8px 20px 16px; display: none;
	}
	.mainnav.is-open { display: flex; }
	.mainnav__list { flex-direction: column; align-items: stretch; gap: 0; }
	.mainnav__list li { border-bottom: 1px solid var(--line); }
	.mainnav__list a { display: block; padding: 12px 0; }
	.mainnav__cta { margin-top: 14px; align-self: flex-start; }
	.burger.is-active { border-color: var(--brand); }
}
.nav-lock { overflow: hidden; }

/* ===== Выпадающее подменю (Услуги) ===== */
/* База (мобайл-фёрст): подменю скрыто, раскрывается по .is-open (аккордеон) */
.mainnav__list .menu-item-has-children { display: flex; flex-wrap: wrap; align-items: center; }
.mainnav__list .sub-menu { list-style: none; margin: 0; padding: 0; display: none; }
.mainnav__list .menu-item-has-children.is-open > .sub-menu { display: block; }

/* Каретка-индикатор / кнопка-тоггл */
.submenu-toggle {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; padding: 0; margin: 0;
	background: transparent; border: 0; cursor: pointer; color: currentColor;
}
.submenu-toggle__icon {
	display: block; width: 7px; height: 7px;
	border-right: 2px solid currentColor; border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translate(-1px, -1px);
	transition: transform .15s ease;
}
.menu-item-has-children.is-open > .submenu-toggle .submenu-toggle__icon { transform: rotate(225deg); }

/* Десктоп: подменю — белая панель абсолютом (шапка не растягивается) */
@media (min-width: 992px) {
	.mainnav__list .menu-item-has-children { position: relative; gap: 2px; }
	.mainnav__list .sub-menu {
		position: absolute; top: 100%; left: 0; z-index: 50;
		min-width: 260px; padding: 6px 0; flex-direction: column;
		background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-sm);
	}
	/* Мгновенное появление по hover и по focus-within (клавиатура) */
	.mainnav__list .menu-item-has-children:hover > .sub-menu,
	.mainnav__list .menu-item-has-children:focus-within > .sub-menu { display: flex; }
	.mainnav__list .sub-menu li { border: 0; }
	.mainnav__list .sub-menu a { display: block; padding: 10px 16px; font-size: 14px; white-space: nowrap; color: var(--ink); }
	.mainnav__list .sub-menu a:hover { background: var(--bg-soft); color: var(--brand); }
	/* На десктопе каретка — только индикатор, раскрытие делает hover/focus */
	.submenu-toggle { width: 18px; height: 18px; pointer-events: none; }
}

/* Мобилка: «Услуги» — аккордеон (тап по каретке) */
@media (max-width: 991px) {
	.mainnav__list .menu-item-has-children > a { flex: 1 1 auto; }
	.mainnav__list .sub-menu { flex-basis: 100%; width: 100%; padding-bottom: 6px; }
	.mainnav__list .sub-menu li { border-bottom: 0; }
	.mainnav__list .sub-menu a { padding: 10px 0 10px 16px; font-size: 14px; color: var(--muted); }
	.mainnav__list .sub-menu a:hover { color: var(--brand); }
}

/* ===== Footer ===== */
.site-footer { border-top: 1px solid var(--line); background: var(--bg-soft); margin-top: 48px; }
.footer__grid {
	display: grid; grid-template-columns: 1fr; gap: 32px;
	padding-block: 48px;
}
@media (min-width: 640px) { .footer__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .footer__grid { grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; } }
.footer__brand img { width: 160px; height: auto; margin-bottom: 16px; }
.footer__about { color: var(--muted); font-size: 15px; margin: 0; }
.footer__title { font-size: 16px; margin-bottom: 16px; }
.footer__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.footer__list a { color: var(--ink-soft); font-size: 15px; }
.footer__list a:hover { color: var(--brand); text-decoration: none; }
.footer__list--plain li { color: var(--muted); font-size: 15px; }

.footer__legal { border-top: 1px solid var(--line); background: var(--bg); }
.footer__legal .container { padding-block: 20px; }
.footer__legal p { margin: 0 0 4px; font-size: 13px; color: var(--muted); line-height: 1.5; }
.footer__reqs { color: var(--ink-soft); font-weight: 500; }
.footer__copy { margin-top: 8px; }

/* ===== Breadcrumbs ===== */
.breadcrumbs { border-bottom: 1px solid var(--line); background: var(--bg); }
.breadcrumbs .container { padding-block: 12px; }
.breadcrumbs__list {
	list-style: none; margin: 0; padding: 0;
	display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
	font-size: 14px; color: var(--muted);
}
.breadcrumbs__item { display: inline-flex; align-items: center; gap: 8px; }
.breadcrumbs__item:not(:last-child)::after { content: "→"; color: var(--line); }
.breadcrumbs__item a { color: var(--muted); }
.breadcrumbs__item a:hover { color: var(--brand); text-decoration: none; }
.breadcrumbs__item--current { color: var(--ink-soft); }

/* ===== Контент (типографика, общая для услуг и страниц) ===== */
.entry-content { font-size: 17px; line-height: 1.65; max-width: 720px; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content a { text-decoration: underline; }
.entry-content img { border-radius: var(--radius); }

/* Заголовки внутри контента */
.entry-content h2 { font-size: 28px; font-weight: 600; margin-top: 48px; }
.entry-content h3 { font-size: 22px; font-weight: 600; margin-top: 32px; }
.entry-content h2:first-child, .entry-content h3:first-child { margin-top: 0; }

/* Абзацы и списки */
.entry-content p { font-size: 17px; line-height: 1.65; }
.entry-content li { font-size: 17px; line-height: 1.65; margin-bottom: .35em; }

/* Маркированные списки — кастомный маркер брендового цвета */
.entry-content ul { list-style: none; margin: 0 0 1em; padding: 0; }
.entry-content ul li { position: relative; padding-left: 24px; }
.entry-content ul li::before {
	content: ""; position: absolute; left: 4px; top: .62em;
	width: 7px; height: 7px; background: var(--brand); border-radius: 50%;
}
/* Нумерованные списки — обычные цифры, отступ */
.entry-content ol { margin: 0 0 1em; padding-left: 22px; }
.entry-content ol li::marker { color: var(--brand); font-weight: 600; }

/* Вложенные списки без лишнего нижнего отступа */
.entry-content li > ul, .entry-content li > ol { margin-top: .35em; margin-bottom: 0; }

/* ===== Карточки детей (режим родителя) ===== */
.cards {
	display: grid; grid-template-columns: 1fr; gap: var(--gap);
	margin-top: 40px;
}
@media (min-width: 600px) { .cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .cards { grid-template-columns: 1fr 1fr 1fr; } }
.card {
	position: relative; display: block; background: var(--bg);
	border: 1px solid var(--line); border-radius: var(--radius);
	padding: 24px; color: var(--ink); overflow: hidden;
}
.card:hover { text-decoration: none; }
.card__bar {
	position: absolute; top: 0; left: 0; right: 0; height: 3px;
	background: var(--brand); transform: scaleX(0); transform-origin: left;
}
.card:hover .card__bar { transform: scaleX(1); }
.card__title { font-size: 18px; margin-bottom: 8px; }
.card__excerpt { color: var(--muted); font-size: 15px; margin-bottom: 16px; }
.card__more { color: var(--brand); font-family: var(--font-heading); font-weight: 600; font-size: 15px; }

/* ===== Услуга: hero (общий для родителя и ребёнка) ===== */
.uslugi-hero { border-bottom: 1px solid var(--line); background: var(--bg); }
.uslugi-hero__grid {
	display: grid; grid-template-columns: 1fr; gap: 28px;
	grid-template-areas: "head" "card" "body";
	padding-block: 40px;
}
@media (min-width: 992px) {
	.uslugi-hero__grid {
		grid-template-columns: minmax(0, 1.5fr) minmax(320px, 1fr);
		grid-template-areas: "head card" "body card";
		column-gap: 48px; row-gap: 18px;
		padding-block: 56px; align-items: start;
	}
}
@media (min-width: 992px) {
	.uslugi-hero__grid--nocard {
		grid-template-columns: 1fr;
		grid-template-areas: "head" "body";
	}
}
.uslugi-hero__grid--nocard .uslugi-hero__lead,
.uslugi-hero__grid--nocard .uslugi-hero__body { max-width: 760px; }
.uslugi-hero__head { grid-area: head; }
.uslugi-hero__body { grid-area: body; }
.uslugi-hero__card { grid-area: card; }
.uslugi-hero__title { margin: 0; }
.uslugi-hero__lead { font-size: 19px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 20px; max-width: 640px; }
.uslugi-hero__chips { list-style: none; margin: 0 0 24px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.uslugi-hero__chip {
	font-size: 14px; color: var(--ink-soft); padding: 8px 14px;
	background: var(--bg-soft); border: 1px solid var(--line); border-radius: 999px;
}

/* Карточка параметров услуги (правая колонка hero) */
.uslugi-card {
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
	border-top: 3px solid var(--brand); padding: 24px;
}
@media (min-width: 992px) { .uslugi-card { position: sticky; top: 20px; } }
.uslugi-card__specs { list-style: none; margin: 0 0 20px; padding: 0; }
.uslugi-card__spec {
	display: flex; align-items: baseline; justify-content: space-between; gap: 16px;
	padding: 12px 0; border-top: 1px solid var(--line);
}
.uslugi-card__spec:first-child { border-top: 0; }
.uslugi-card__label { color: var(--muted); font-size: 14px; flex: 0 0 auto; }
.uslugi-card__value { flex: 1 1 auto; color: var(--ink); font-size: 15px; font-weight: 500; text-align: right; }
.uslugi-card__spec--price { align-items: center; }
.uslugi-card__spec--price .uslugi-card__value {
	font-family: var(--font-heading); font-weight: 700; font-size: 24px;
	color: var(--brand); line-height: 1.1;
}
.uslugi-card__cta { width: 100%; }

/* Тело контента услуги под hero */
.uslugi-body { margin-top: 8px; }
.section .cards + .uslugi-body { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--line); }

.siblings { margin-top: 40px; padding-top: 32px; border-top: 1px solid var(--line); }
.siblings__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 600px) { .siblings__list { grid-template-columns: 1fr 1fr; } }
.siblings__list a { color: var(--ink-soft); }
.siblings__list a:hover { color: var(--brand); }

/* ===== CTA-разделитель (между контентом и формой) ===== */
.cta-divider__inner {
	background: var(--bg-section); border-top: 3px solid var(--brand);
	border-radius: var(--radius); padding: 40px;
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between;
	gap: 24px 40px; margin-block: 8px;
}
.cta-divider__title { margin: 0 0 6px; font-size: 24px; }
.cta-divider__note { margin: 0; color: var(--ink-soft); font-size: 15px; }
.cta-divider__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
.cta-divider__phone { font-family: var(--font-heading); font-weight: 700; font-size: 26px; color: var(--ink); white-space: nowrap; }
.cta-divider__phone:hover { color: var(--brand); text-decoration: none; }
.cta-divider__row { display: flex; align-items: center; gap: 12px; }
.cta-divider__msg {
	display: inline-flex; align-items: center; justify-content: center;
	width: 46px; height: 46px; border-radius: var(--radius-sm);
	border: 1px solid var(--line); background: var(--bg); color: var(--ink-soft);
	transition: color .15s ease, border-color .15s ease;
}
.cta-divider__msg:hover { text-decoration: none; }
.cta-divider__msg--wa:hover { color: #25D366; border-color: #25D366; }
.cta-divider__msg--tg:hover { color: #29A9EB; border-color: #29A9EB; }

@media (min-width: 768px) { .cta-divider__actions { align-items: flex-end; } }
@media (max-width: 640px) {
	.cta-divider__inner { padding: 28px 22px; }
	.cta-divider__actions { align-items: stretch; width: 100%; }
	.cta-divider__row { flex-wrap: wrap; }
	.cta-divider__row .btn { flex: 1 1 auto; }
}

/* ===== CTA секция ===== */
.cta { background: var(--bg-section); border-top: 1px solid var(--line); }
.cta__inner { display: grid; grid-template-columns: 1fr; gap: 32px; padding-block: var(--section-mobile); }
@media (min-width: 768px) { .cta__inner { grid-template-columns: 1fr 1fr; padding-block: var(--section); align-items: center; } }
.cta__phone a { font-family: var(--font-heading); font-weight: 700; font-size: 22px; color: var(--ink); }
.cta__form { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; }
.cta__form input:not([type="checkbox"]):not([type="submit"]), .cta__form textarea {
	width: 100%; padding: 12px 14px; margin-bottom: 12px;
	border: 1px solid var(--line); border-radius: var(--radius-sm);
	font-family: var(--font-body); font-size: 16px;
}
/* Submit — единый класс .btn (добавлен в CF7), только чуть шире по горизонтали. */
.cta__form .wpcf7-submit { padding: 14px 28px; width: auto; }
/* :disabled — читается как «заблокировано», а не блеклая активная. */
.btn:disabled, .btn[disabled] {
	background: var(--bg-section); color: var(--muted);
	border-color: var(--line); cursor: not-allowed; pointer-events: none;
}
.btn:disabled:hover, .btn[disabled]:hover {
	background: var(--bg-section); color: var(--muted); border-color: var(--line);
}
/* UX: подсветка согласия при клике по заблокированной кнопке (JS на 1.5с). */
.cta__form .wpcf7-acceptance { border-radius: 8px; transition: box-shadow .2s ease; }
.cta__form .wpcf7-acceptance.is-consent-flash { box-shadow: 0 0 0 2px var(--brand); }

/* ---- Чекбоксы согласия / подписки (acceptance + checkbox) ---- */
/* CF7 по умолчанию даёт .wpcf7-list-item левый отступ — снимаем, тянем к левому краю. */
.cta__form .wpcf7-acceptance,
.cta__form .wpcf7-checkbox,
.cta__form .wpcf7-acceptance .wpcf7-form-control,
.cta__form .wpcf7-checkbox .wpcf7-form-control { display: block; }
.cta__form .wpcf7-list-item { display: block; margin: 0; }
.cta__form .wpcf7-acceptance { margin-top: 6px; }
.cta__form .wpcf7-checkbox { margin-top: 12px; }

/* Чекбокс слева, лейбл в одну строку по левому краю формы. */
.cta__form .wpcf7-list-item label {
	display: flex; align-items: flex-start; gap: 10px;
	margin: 0; text-align: left; cursor: pointer;
	font-family: var(--font-body); font-weight: 400; font-size: 14px;
	line-height: 1.45; color: var(--muted);
}

/* Кастомный вид под дизайн-рамку; accent-color — фолбэк для старых движков. */
.cta__form .wpcf7-list-item input[type="checkbox"] {
	flex: 0 0 auto; width: 18px; height: 18px; margin: 1px 0 0; padding: 0;
	accent-color: var(--brand);
	-webkit-appearance: none; appearance: none;
	border: 1px solid var(--line); border-radius: 4px; background: var(--bg);
	display: inline-grid; place-content: center; cursor: pointer;
	transition: background-color .15s ease, border-color .15s ease;
}
.cta__form .wpcf7-list-item input[type="checkbox"]::before {
	content: ""; width: 11px; height: 11px; transform: scale(0);
	transition: transform .12s ease; background: #fff;
	clip-path: polygon(14% 44%, 0 65%, 40% 100%, 100% 16%, 82% 0, 38% 68%);
}
.cta__form .wpcf7-list-item input[type="checkbox"]:checked {
	background: var(--brand); border-color: var(--brand);
}
.cta__form .wpcf7-list-item input[type="checkbox"]:checked::before { transform: scale(1); }
.cta__form .wpcf7-list-item input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--brand-light); outline-offset: 2px;
}

/* Согласие целиком — ссылка на /soglasie/: цвет текста, подчёркивание, hover → бренд. */
.cta__form .wpcf7-acceptance a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.cta__form .wpcf7-acceptance a:hover { color: var(--brand); }

/* ===== Заголовки записей / meta ===== */
.entry-title { margin-bottom: 16px; }
.section__title { margin-bottom: 28px; }
.entry-meta { color: var(--muted); font-size: 15px; margin-bottom: 24px; }
.entry-meta time { font-family: var(--font-heading); }

/* ===== Статья (новость) ===== */
.article { max-width: 820px; }
.article__thumb { margin: 0 0 28px; }
.article__thumb img { width: 100%; border-radius: var(--radius); }

/* ===== Сетка карточек записей (новости, кейсы) ===== */
.post-grid {
	display: grid; grid-template-columns: 1fr; gap: var(--gap);
}
@media (min-width: 600px) { .post-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .post-grid { grid-template-columns: 1fr 1fr 1fr; } }

.post-card {
	display: flex; flex-direction: column; overflow: hidden;
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
	color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease;
}
.post-card:hover { text-decoration: none; border-color: var(--brand-light); box-shadow: 0 6px 22px rgba(0,0,0,.06); }
.post-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--bg-section); }
.post-card__media img { width: 100%; height: 100%; object-fit: cover; }
.post-card__body { display: flex; flex-direction: column; gap: 8px; padding: 20px; }
.post-card__date { color: var(--muted); font-size: 13px; font-family: var(--font-heading); }
.post-card__title { font-family: var(--font-heading); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--ink); }
.post-card:hover .post-card__title { color: var(--brand); }
.post-card__excerpt { color: var(--muted); font-size: 14px; line-height: 1.5; }

.other-news { background: var(--bg-soft); border-top: 1px solid var(--line); }
.post-card__more { color: var(--brand); font-family: var(--font-heading); font-weight: 600; font-size: 14px; margin-top: 4px; }

/* ===== Фильтр-бар архива (виден только при наличии терминов) ===== */
.filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-bottom: 28px; }
.filter-bar__label { font-family: var(--font-heading); font-weight: 600; color: var(--ink-soft); font-size: 15px; }
.filter-bar__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.filter-bar__list a {
	display: inline-block; padding: 6px 14px; font-size: 14px;
	border: 1px solid var(--line); border-radius: 999px; color: var(--ink-soft);
}
.filter-bar__list a:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }

/* ===== Эксперты: сетка команды ===== */
.experts-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); }
@media (min-width: 600px) { .experts-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .experts-grid { grid-template-columns: repeat(4, 1fr); } }
.expert-card {
	display: flex; flex-direction: column; text-align: center;
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
	padding: 20px; color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease;
}
.expert-card:hover { text-decoration: none; border-color: var(--brand-light); box-shadow: 0 6px 22px rgba(0,0,0,.06); }
.expert-card__photo {
	display: block; width: 120px; height: 120px; margin: 0 auto 14px;
	border-radius: 50%; overflow: hidden; background: var(--bg-section);
}
.expert-card__photo img { width: 100%; height: 100%; object-fit: cover; }
.expert-card__name { font-family: var(--font-heading); font-weight: 600; font-size: 16px; color: var(--ink); }
.expert-card:hover .expert-card__name { color: var(--brand); }
.expert-card__position { color: var(--muted); font-size: 13px; margin-top: 6px; }

/* ===== Эксперт: детальная ===== */
.expert-layout { display: grid; grid-template-columns: 1fr; gap: 32px; }
@media (min-width: 768px) { .expert-layout { grid-template-columns: 280px minmax(0, 1fr); gap: 40px; align-items: start; } }
.expert-media__photo { width: 100%; border-radius: var(--radius); border: 1px solid var(--line); }
.expert-main__position { color: var(--brand); font-family: var(--font-heading); font-weight: 600; font-size: 17px; margin-bottom: 20px; }

/* ===== 404 ===== */
.error404__inner { max-width: 720px; }
.error404__code { font-family: var(--font-heading); font-weight: 800; font-size: clamp(64px, 12vw, 120px); line-height: 1; color: var(--brand-light); margin: 0; }
.error404__lead { color: var(--muted); font-size: 17px; margin-bottom: 24px; }
.error404__subtitle { margin: 40px 0 0; font-size: 20px; }
.error404__search { margin-bottom: 8px; }
.error404__search .search-form { display: flex; gap: 10px; flex-wrap: wrap; }
.error404__search .search-field {
	flex: 1 1 240px; padding: 12px 14px; font-size: 16px; font-family: var(--font-body);
	border: 1px solid var(--line); border-radius: var(--radius-sm);
}
.error404__search .search-submit {
	padding: 12px 22px; background: var(--brand); color: #fff; border: 1px solid var(--brand);
	border-radius: var(--radius-sm); font-family: var(--font-heading); font-weight: 600; cursor: pointer;
}
.error404__search .search-submit:hover { background: var(--brand-hover); border-color: var(--brand-hover); }

/* ===== Главная: общее ===== */
.home-section { padding-block: var(--section-mobile); }
@media (min-width: 768px) { .home-section { padding-block: var(--section); } }
.home-section--soft { background: var(--bg-soft); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.home-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: 32px; }
.home-head h2 { margin: 0; }
.home-head__link { font-family: var(--font-heading); font-weight: 600; font-size: 15px; white-space: nowrap; }

/* ===== Hero ===== */
.hero { border-bottom: 1px solid var(--line); background: var(--bg); }
.hero__inner {
	display: grid; grid-template-columns: 1fr; gap: 40px;
	padding-block: 48px;
}
@media (min-width: 992px) { .hero__inner { grid-template-columns: 1.5fr 1fr; gap: 56px; padding-block: 72px; align-items: center; } }
.hero__title { font-size: clamp(32px, 5vw, 52px); margin-bottom: 16px; }
.hero__lead { font-size: 19px; color: var(--ink-soft); max-width: 620px; margin-bottom: 24px; }
.hero__chips { list-style: none; margin: 0 0 28px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.hero__chip {
	font-size: 14px; color: var(--ink-soft); padding: 8px 14px;
	background: var(--bg-soft); border: 1px solid var(--line); border-radius: 999px;
}
.hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }

/* Блок цифр-фактов */
.facts {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 16px;
}
@media (min-width: 992px) { .facts { grid-template-columns: 1fr; gap: 20px; } }
.facts__item {
	background: var(--bg-soft); border: 1px solid var(--line); border-radius: var(--radius);
	padding: 20px 22px; text-align: center;
}
@media (min-width: 992px) { .facts__item { text-align: left; display: flex; align-items: baseline; gap: 14px; } }
.facts__num { display: block; font-family: var(--font-heading); font-weight: 800; font-size: clamp(28px, 5vw, 42px); line-height: 1; color: var(--brand); }
.facts__unit { font-size: .6em; }
.facts__label { display: block; color: var(--muted); font-size: 14px; margin-top: 6px; }
@media (min-width: 992px) { .facts__label { margin-top: 0; } }

/* Лид секции */
.section-lead { max-width: 760px; color: var(--ink-soft); font-size: 17px; margin: -12px 0 32px; }

/* ===== Главная: карточки услуг (4 родителя) ===== */
.uslugi-cards { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
@media (min-width: 640px) { .uslugi-cards { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .uslugi-cards { grid-template-columns: repeat(4, 1fr); } }
.uslugi-card {
	position: relative; display: flex; flex-direction: column;
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
	padding: 24px; overflow: hidden;
}
.uslugi-card__bar { position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--brand); }
.uslugi-card__title { font-size: 18px; margin: 6px 0 10px; }
.uslugi-card__title a { color: var(--ink); }
.uslugi-card__title a:hover { color: var(--brand); text-decoration: none; }
.uslugi-card__desc { color: var(--muted); font-size: 14px; line-height: 1.5; margin-bottom: 14px; }
.uslugi-card__list { list-style: none; margin: 0 0 16px; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.uslugi-card__list a { color: var(--ink-soft); font-size: 14px; }
.uslugi-card__list a::before { content: "— "; color: var(--brand); }
.uslugi-card__list a:hover { color: var(--brand); text-decoration: none; }
.uslugi-card__more { margin-top: auto; color: var(--brand); font-family: var(--font-heading); font-weight: 600; font-size: 14px; }

/* ===== Главная: преимущества ===== */
.advantages { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
@media (min-width: 600px) { .advantages { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .advantages { grid-template-columns: repeat(3, 1fr); } }
.advantage {
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius);
	padding: 24px; position: relative; padding-left: 28px;
}
.advantage::before { content: ""; position: absolute; left: 0; top: 24px; bottom: 24px; width: 3px; background: var(--brand); border-radius: 3px; }
.advantage__title { font-size: 17px; margin-bottom: 8px; }
.advantage__text { color: var(--muted); font-size: 14px; line-height: 1.55; margin: 0; }

/* ===== Главная: сертификаты ===== */
.certs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 600px) { .certs-grid { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 992px) { .certs-grid { grid-template-columns: repeat(6, 1fr); } }
.certs-grid__item {
	display: block; aspect-ratio: 3 / 4; overflow: hidden; cursor: zoom-in;
	background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius-sm);
	padding: 6px;
}
.certs-grid__img { width: 100%; height: 100%; object-fit: contain; transition: transform .2s ease; }
.certs-grid__item:hover .certs-grid__img { transform: scale(1.03); }

/* ===== Главная: логотипы клиентов «Нам доверяют» ===== */
.clients {
	list-style: none; margin: 0; padding: 0;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
	background: var(--line); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden;
}
@media (min-width: 600px) { .clients { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .clients { grid-template-columns: repeat(5, 1fr); } }
.clients__item {
	display: flex; align-items: center; justify-content: center;
	background: var(--bg); padding: 24px 20px; min-height: 96px;
}
.clients__logo {
	max-width: 100%; max-height: 56px; width: auto; height: auto; object-fit: contain;
	filter: grayscale(1); opacity: .7;
	transition: filter .2s ease, opacity .2s ease;
}
.clients__item:hover .clients__logo { filter: grayscale(0); opacity: 1; }

/* ===== Пагинация ===== */
.pagination { margin-top: 40px; display: flex; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.pagination .page-numbers {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 42px; height: 42px; padding: 0 12px;
	border: 1px solid var(--line); border-radius: var(--radius-sm);
	color: var(--ink-soft); font-family: var(--font-heading); font-weight: 600; font-size: 15px;
}
.pagination .page-numbers:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }
.pagination .page-numbers.current { background: var(--brand); border-color: var(--brand); color: #fff; }

/* ===== Галерея проекта ===== */
.project-gallery, .project-works { margin-top: 48px; padding-top: 40px; border-top: 1px solid var(--line); }
.gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
@media (min-width: 600px) { .gallery-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 992px) { .gallery-grid { grid-template-columns: repeat(4, 1fr); gap: 16px; } }
.gallery-grid__item {
	display: block; aspect-ratio: 1 / 1; overflow: hidden;
	border: 1px solid var(--line); border-radius: var(--radius); background: var(--bg-section);
	cursor: zoom-in;
}
.gallery-grid__img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.gallery-grid__item:hover .gallery-grid__img { transform: scale(1.05); }

/* ===== Лайтбокс ===== */
.lightbox {
	position: fixed; inset: 0; z-index: 1000; display: none;
	align-items: center; justify-content: center;
	background: rgba(20, 20, 20, .92); padding: 24px;
}
.lightbox.is-open { display: flex; }
.lightbox__img { max-width: 92vw; max-height: 86vh; width: auto; height: auto; border-radius: var(--radius); }
.lightbox__close, .lightbox__nav {
	position: absolute; background: transparent; border: 0; color: #fff;
	cursor: pointer; line-height: 1; font-family: var(--font-heading);
}
.lightbox__close { top: 16px; right: 20px; font-size: 40px; }
.lightbox__nav { top: 50%; transform: translateY(-50%); font-size: 56px; padding: 0 16px; opacity: .8; }
.lightbox__nav:hover, .lightbox__close:hover { opacity: 1; }
.lightbox__nav--prev { left: 8px; }
.lightbox__nav--next { right: 8px; }

/* ===== Страница «О компании» ===== */
.about-intro { padding-block: var(--section-mobile); }
@media (min-width: 768px) { .about-intro { padding-block: var(--section); } }
.about-lead { max-width: 760px; font-size: 18px; line-height: 1.6; color: var(--ink-soft); margin: 12px 0 28px; }
.about-facts { margin-top: 8px; }

.about-grid { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: start; }
@media (min-width: 900px) { .about-grid { grid-template-columns: 1fr 320px; gap: 40px; } }
.about-text p { margin: 0 0 14px; }
.about-person { margin: 0; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.about-person img { display: block; width: 100%; height: auto; }
.about-person figcaption { display: flex; flex-direction: column; gap: 4px; padding: 16px; }
.about-person__name { font-family: var(--font-heading); font-weight: 600; color: var(--ink); }
.about-person__role { font-size: 14px; color: var(--muted); }

/* Таймлайн истории */
.timeline { margin: 0; }
.timeline__row { display: grid; grid-template-columns: 1fr; gap: 4px 20px; padding: 18px 0; border-top: 1px solid var(--line); }
.timeline__row:first-child { border-top: 0; }
@media (min-width: 640px) { .timeline__row { grid-template-columns: 96px 1fr; gap: 24px; } }
.timeline__year { font-family: var(--font-heading); font-weight: 700; font-size: 20px; color: var(--brand); }
.timeline__text { margin: 0; color: var(--ink-soft); line-height: 1.55; }

/* Карточки оборудования */
.equip-grid { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
@media (min-width: 600px) { .equip-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .equip-grid { grid-template-columns: 1fr 1fr 1fr 1fr; } }
.equip-card { display: flex; flex-direction: column; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.equip-card__media { aspect-ratio: 4 / 3; background: var(--bg-section); display: flex; align-items: center; justify-content: center; }
.equip-card__img { width: 100%; height: 100%; object-fit: contain; padding: 12px; }
.equip-card__body { display: flex; flex-direction: column; gap: 8px; padding: 16px; }
.equip-card__title { font-family: var(--font-heading); font-weight: 600; font-size: 16px; color: var(--ink); }
.equip-card__text { font-size: 14px; line-height: 1.5; color: var(--muted); }

/* ===== Страница «Контакты» ===== */
.contacts { padding-block: var(--section-mobile); }
@media (min-width: 768px) { .contacts { padding-block: var(--section); } }
.contacts-grid { display: grid; grid-template-columns: 1fr; gap: var(--gap); margin-top: 24px; }
@media (min-width: 560px) { .contacts-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .contacts-grid { grid-template-columns: repeat(4, 1fr); } }
.contact-card { display: flex; flex-direction: column; gap: 8px; padding: 22px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); }
.contact-card__icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: var(--radius-sm); background: var(--bg-section); color: var(--brand); }
.contact-card__label { font-family: var(--font-heading); font-weight: 600; font-size: 14px; color: var(--muted); }
.contact-card__value { display: flex; flex-direction: column; gap: 2px; font-size: 15px; line-height: 1.45; color: var(--ink); }
.contact-card__value a { color: var(--ink); }
.contact-card__value a:hover { color: var(--brand); }

.socials { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.socials__link { display: inline-block; padding: 8px 18px; font-family: var(--font-heading); font-weight: 600; font-size: 14px; color: var(--ink-soft); border: 1px solid var(--line); border-radius: 999px; }
.socials__link:hover { border-color: var(--brand); color: var(--brand); text-decoration: none; }

.reqs { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 8px 24px; max-width: 760px; }
.reqs__row { padding: 10px 0; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.5; color: var(--ink-soft); }
.reqs__row:first-child { border-top: 0; }
.reqs__row strong { color: var(--ink); font-weight: 600; }

.contacts-map { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; line-height: 0; }
.contacts-map iframe { display: block; width: 100%; border: 0; }

.dept-phones { margin-top: 28px; }
.dept-phones__title { font-family: var(--font-heading); font-weight: 600; font-size: 18px; margin: 0 0 12px; }
.dept-phones__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 700px) { .dept-phones__list { grid-template-columns: repeat(3, 1fr); } }
.dept-phones__list li { font-size: 15px; }
.dept-phones__list a { font-family: var(--font-heading); font-weight: 600; color: var(--ink); }
.dept-phones__list a:hover { color: var(--brand); }
.dept-phones__list span { color: var(--muted); font-size: 14px; }
.office-gallery { grid-template-columns: 1fr; }
@media (min-width: 600px) { .office-gallery { grid-template-columns: repeat(3, 1fr); } }

/* ===== Страница «Цены» ===== */
.ceny { padding-block: var(--section-mobile); }
@media (min-width: 768px) { .ceny { padding-block: var(--section); } }

.cat-grid { display: grid; grid-template-columns: 1fr; gap: var(--gap); margin-top: 24px; }
@media (min-width: 560px) { .cat-grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .cat-grid { grid-template-columns: repeat(4, 1fr); } }
.cat-card { display: flex; flex-direction: column; gap: 10px; padding: 22px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); color: var(--ink); transition: border-color .15s ease, box-shadow .15s ease; }
.cat-card:hover { text-decoration: none; border-color: var(--brand-light); box-shadow: 0 6px 22px rgba(0,0,0,.06); }
.cat-card__title { font-family: var(--font-heading); font-weight: 600; font-size: 17px; line-height: 1.3; }
.cat-card:hover .cat-card__title { color: var(--brand); }
.cat-card__more { margin-top: auto; font-family: var(--font-heading); font-weight: 600; font-size: 14px; color: var(--brand); }

.price-table-wrap { overflow-x: auto; }
.price-table { width: 100%; border-collapse: collapse; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.price-table th, .price-table td { padding: 14px 16px; text-align: left; border-top: 1px solid var(--line); font-size: 15px; line-height: 1.45; vertical-align: top; }
.price-table thead th { background: var(--bg-section); border-top: 0; font-family: var(--font-heading); font-weight: 600; color: var(--ink); }
.price-table__num { text-align: center; white-space: nowrap; font-family: var(--font-heading); }
.price-table tbody td.price-table__num { color: var(--ink); font-weight: 600; }
.price-table td a { color: var(--ink); text-decoration: underline; text-underline-offset: 2px; }
.price-table td a:hover { color: var(--brand); }
.price-note { margin-top: 16px; font-size: 14px; color: var(--muted); max-width: 760px; }

/* Мобильный card-режим прайса */
@media (max-width: 640px) {
	.price-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.price-table, .price-table tbody, .price-table tr, .price-table td { display: block; width: 100%; }
	.price-table tr { border-top: 1px solid var(--line); padding: 8px 0; }
	.price-table tr:first-child { border-top: 0; }
	.price-table td { border: 0; padding: 6px 16px; }
	.price-table__num { text-align: left; }
	.price-table td.price-table__num::before { content: attr(data-label) ": "; color: var(--muted); font-weight: 400; font-family: var(--font-body); }
}

/* ============================================================
 * Услуга: коммерческие блоки (после hero, перед контентом)
 * ============================================================ */

.uslugi-hero__updated { margin: 8px 0 0; color: var(--muted); font-size: 13px; }

/* Разделитель между блоками (все на белом, кроме мягких home-section). */
.usl-block { border-top: 1px solid var(--line); }

/* ---- Когда нужна … (сценарии) ---- */
.usl-scenarios__grid { display: grid; grid-template-columns: 1fr; gap: var(--gap); }
@media (min-width: 600px) { .usl-scenarios__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .usl-scenarios__grid { grid-template-columns: repeat(3, 1fr); } }
.usl-scenario { background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 24px; }
.usl-scenario__icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 48px; height: 48px; margin-bottom: 14px;
	border-radius: var(--radius-sm); background: var(--bg-section); color: var(--brand);
}
.usl-scenario__title { font-size: 17px; margin: 0 0 8px; }
.usl-scenario__text { color: var(--muted); font-size: 14px; line-height: 1.55; margin: 0; }

/* ---- Что вы получите (документы) ---- */
.usl-docs__grid { display: grid; grid-template-columns: 1fr; gap: 12px; margin-bottom: 20px; }
@media (min-width: 600px) { .usl-docs__grid { grid-template-columns: 1fr 1fr; } }
@media (min-width: 992px) { .usl-docs__grid { grid-template-columns: repeat(3, 1fr); } }
.usl-doc { display: flex; align-items: center; gap: 14px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 16px 18px; }
.usl-doc__icon {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: var(--radius-sm); background: var(--bg-section); color: var(--brand);
}
.usl-doc__title { font-size: 15px; font-weight: 500; color: var(--ink); line-height: 1.4; }
.usl-docs__note { color: var(--ink-soft); font-size: 15px; line-height: 1.6; max-width: 760px; margin: 0 0 16px; }
.usl-docs__actions { margin: 0; }

/* ---- Как мы работаем (шаги) ---- */
.usl-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: 16px; }
@media (min-width: 640px) { .usl-steps { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1080px) { .usl-steps { grid-template-columns: repeat(5, 1fr); } }
.usl-step { display: flex; gap: 14px; background: var(--bg); border: 1px solid var(--line); border-radius: var(--radius); padding: 20px; }
@media (min-width: 1080px) { .usl-step { flex-direction: column; } }
.usl-step__num {
	flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center;
	width: 36px; height: 36px; border-radius: 50%; background: var(--brand); color: #fff;
	font-family: var(--font-heading); font-weight: 700; font-size: 16px;
}
.usl-step__body { display: flex; flex-direction: column; gap: 6px; }
.usl-step__title { font-family: var(--font-heading); font-weight: 600; font-size: 16px; color: var(--ink); }
.usl-step__text { color: var(--muted); font-size: 14px; line-height: 1.5; }

/* ---- Стоимость (тарифы) ---- */
.usl-pricing__table { max-width: 760px; }
.usl-pricing__actions { margin: 20px 0 0; }

/* ---- Эксперт направления ---- */
.experts-grid--usl { grid-template-columns: 1fr; max-width: 560px; }
@media (min-width: 600px) { .experts-grid--usl { grid-template-columns: 1fr 1fr; } }

/* ---- FAQ (аккордеон details/summary) ---- */
.usl-faq__list { max-width: 820px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.usl-faq__item { border-top: 1px solid var(--line); background: var(--bg); }
.usl-faq__item:first-child { border-top: 0; }
.usl-faq__q {
	position: relative; cursor: pointer; list-style: none;
	padding: 18px 52px 18px 20px;
	font-family: var(--font-heading); font-weight: 600; font-size: 16px; color: var(--ink);
}
.usl-faq__q::-webkit-details-marker { display: none; }
.usl-faq__q::after {
	content: ""; position: absolute; right: 22px; top: 50%;
	width: 9px; height: 9px; border-right: 2px solid var(--brand); border-bottom: 2px solid var(--brand);
	transform: translateY(-70%) rotate(45deg); transition: transform .2s ease;
}
.usl-faq__item[open] .usl-faq__q::after { transform: translateY(-30%) rotate(225deg); }
.usl-faq__q:hover { color: var(--brand); }
.usl-faq__a { padding: 0 20px 18px; color: var(--ink-soft); font-size: 15px; line-height: 1.6; }
.usl-faq__a p { margin: 0; }

/* ---- Липкая мобильная панель (только услуги, только mobile) ---- */
.usl-sticky { display: none; }
@media (max-width: 767px) {
	.usl-sticky {
		display: grid; grid-template-columns: 1fr 1fr;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; height: 56px;
		background: var(--bg); border-top: 1px solid var(--line);
		box-shadow: 0 -2px 12px rgba(0, 0, 0, .08);
	}
	.usl-sticky__btn {
		display: inline-flex; align-items: center; justify-content: center; gap: 8px;
		height: 56px; font-family: var(--font-heading); font-weight: 600; font-size: 15px;
	}
	.usl-sticky__btn--call { color: var(--ink); }
	.usl-sticky__btn--call:hover { text-decoration: none; }
	.usl-sticky__btn--lead { color: #fff; background: var(--brand); }
	.usl-sticky__btn--lead:hover { color: #fff; text-decoration: none; }
	/* чтобы контент не прятался под панелью */
	.single-uslugi .site-main { padding-bottom: 56px; }
}
