:root{--se-paper:#ffffff;--se-ink:#333333;--se-accent:#d83131;--se-accent2:#333333;--se-link:#d83131;--se-dark:#262626;--se-font:Arial, Helvetica, sans-serif;--se-font-head:'Montserrat', Arial, sans-serif;--se-radius:0px;--se-head-scale:1;--se-text-scale:1;--se-on-accent2-set:#ffffff;--se-accent2-hover:color-mix(in oklab, var(--se-accent2) 80%, #000);--se-font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--se-eyebrow-font:inherit;--se-eyebrow-weight:600;--se-eyebrow-color:var(--se-accent);--se-eyebrow-on-dark:var(--se-accent)}

/*
  Токены библиотеки блоков. Базовые значения (--se-paper … --se-radius) приходят из темы сайта
  (site.yaml → theme) и ставятся сборкой перед этим файлом. Всё остальное вычисляется из них:
  смена акцента перекрашивает все блоки согласованно. Префикс --se- — свои переменные движка.
*/
:root {
  --se-surface: #ffffff;
  --se-sunken: color-mix(in oklab, var(--se-paper) 92%, var(--se-ink));
  --se-ink-2: color-mix(in oklab, var(--se-ink) 82%, var(--se-paper));
  --se-muted: color-mix(in oklab, var(--se-ink) 64%, var(--se-paper));
  --se-faint: color-mix(in oklab, var(--se-ink) 60%, var(--se-paper));
  --se-line: color-mix(in oklab, var(--se-ink) 11%, var(--se-paper));
  --se-line-strong: color-mix(in oklab, var(--se-ink) 22%, var(--se-paper));
  --se-link-soft: color-mix(in oklab, var(--se-link) 11%, var(--se-surface));
  --se-link-hover: color-mix(in oklab, var(--se-link) 84%, black);
  --se-accent-hover: color-mix(in oklab, var(--se-accent) 86%, black);
  --se-on-accent: #ffffff;
  /* второй фирменный цвет (полоса меню, плашки подписей); текст на нём — тёмный или белый, выбирается в теме */
  --se-on-accent2: var(--se-on-accent2-set, #ffffff);
  --se-on-dark: color-mix(in oklab, white 94%, var(--se-dark));
  --se-on-dark-muted: color-mix(in oklab, white 76%, var(--se-dark));
  --se-on-dark-faint: color-mix(in oklab, white 58%, var(--se-dark));
  --se-on-dark-line: color-mix(in oklab, white 16%, var(--se-dark));
  --se-shadow-pop: 0 12px 32px -12px color-mix(in oklab, var(--se-ink) 30%, transparent);

  --se-text-xs: clamp(0.8125rem, 0.79rem + 0.1vw, 0.875rem);
  --se-text-sm: clamp(0.9375rem, 0.91rem + 0.11vw, 1rem);
  --se-text-base: clamp(1rem, 0.97rem + 0.14vw, 1.0625rem);
  --se-text-md: clamp(1.0625rem, 1.02rem + 0.21vw, 1.1875rem);
  --se-text-lg: clamp(1.125rem, 1.05rem + 0.36vw, 1.25rem);
  --se-text-xl: clamp(1.1875rem, 1.07rem + 0.57vw, 1.5rem);
  --se-text-2xl: clamp(1.375rem, 1.16rem + 1.02vw, 2rem);
  --se-text-3xl: clamp(1.625rem, 1.25rem + 1.79vw, 2.625rem);
  --se-text-4xl: clamp(1.875rem, 1.24rem + 3.04vw, 3.5rem);
  --se-text-5xl: clamp(2.25rem, 1.2rem + 5vw, 4.5rem);
  --se-leading-tight: 1.04; --se-leading-snug: 1.2; --se-leading-normal: 1.45; --se-leading-relaxed: 1.6;
  --se-tracking-tight: -0.025em; --se-tracking-snug: -0.015em; --se-tracking-wide: 0.12em;

  --se-s-1: 0.25rem; --se-s-2: 0.5rem; --se-s-3: 0.75rem; --se-s-4: 1rem; --se-s-5: 1.25rem; --se-s-6: 1.5rem;
  --se-s-8: 2rem; --se-s-10: 2.5rem; --se-s-12: 3rem; --se-s-16: 4rem; --se-s-20: 5rem; --se-s-24: 6rem;
  --se-section-sm: clamp(2.5rem, 4vw, 3.5rem);
  --se-section-md: clamp(3.5rem, 6vw, 5rem);
  --se-section-lg: clamp(4.5rem, 8vw, 6.5rem);
  --se-container: 76rem;
  --se-container-text: 44rem;
  --se-container-wide: 90rem;
  --se-header-height: 4.5rem;
  --se-gutter: clamp(1rem, 4vw, 3rem);
  --se-ease: cubic-bezier(0.32, 0.72, 0.28, 1);
  --se-duration: 220ms;
}
@media (prefers-reduced-motion: reduce) {
  :root { --se-duration: 0ms; }
}

:root{--se-container:73.125rem;--se-container-wide:73.125rem;--se-gutter:15px;}
/*
  Сброс и типографика ВНУТРИ блоков библиотеки. Всё через .se-b — общие стили сайта (theme.css)
  не должны случайно менять вид блока, и наоборот.
*/
.se-b, .se-b *, .se-b *::before, .se-b *::after { box-sizing: border-box; }
.se-b {
  position: relative;
  font-family: var(--se-font);
  font-size: calc(var(--se-text-base) * var(--se-text-scale, 1));
  line-height: 1.45;
  color: var(--se-ink);
  background: var(--se-paper);
  -webkit-font-smoothing: antialiased;
  text-align: left;
}
.se-b :where(h1, h2, h3, h4, p, ul, ol, figure, blockquote, dl, dd) { margin: 0; padding: 0; }
.se-b :where(h1, h2, h3, h4) {
  font-family: var(--se-font-head, var(--se-font));
  font-weight: 700; color: inherit; text-transform: none; letter-spacing: var(--se-head-tracking, -0.015em); line-height: var(--se-head-leading, 1.15);
  text-wrap: balance; /* строки заголовка ровные по длине — без одинокого слова на второй строке */
}
.se-b :where(p) { text-wrap: pretty; }
.se-b h1 { font-size: calc(var(--se-text-4xl) * var(--se-head-scale, 1)); letter-spacing: -0.025em; line-height: 1.06; }
.se-b h2 { font-size: calc(var(--se-text-3xl) * var(--se-head-scale, 1)); }
.se-b h3 { font-size: calc(var(--se-text-xl) * (1 + (var(--se-head-scale, 1) - 1) / 2)); }
.se-b :where(p) { max-width: 68ch; }
.se-b :where(img, svg, video, iframe) { display: block; max-width: 100%; }
.se-b img { height: auto; }
.se-b a { color: var(--se-link); text-decoration-line: var(--se-link-decoration, underline); text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.se-b a:hover { color: var(--se-link-hover); }
.se-b :where(button, input, textarea, select) { font: inherit; color: inherit; }
.se-b :where(ul.se-rich, .se-rich ul, .se-rich ol) { padding-left: 1.2em; }
.se-b .se-rich .se-rich__h2 { margin-top: var(--se-s-12); font-size: var(--se-text-xl); }
.se-b .se-rich .se-rich__h3 { margin-top: var(--se-s-10); font-size: var(--se-text-md); }
.se-b .se-rich > :first-child { margin-top: 0; }
.se-b .se-rich > * + * { margin-top: var(--se-s-4); }
.se-b .se-rich li + li { margin-top: var(--se-s-2); }
.se-b :focus-visible { outline: 2px solid var(--se-link); outline-offset: 2px; }

/* карточки-ссылки (услуги, объекты, категории, галерея) при наведении не перекрашивают текст в цвет ссылок */
.se-b a.sv__card:hover { color: #fff; }
.se-b a.pj__card:hover, .se-b a.pj__pcard:hover, .se-b a.cards__cat:hover, .se-b a.cards__link:hover, .se-b a.gs__card:hover, .se-b a.feat__inner--link:hover { color: inherit; }

/* выделенная фраза в заголовке (==слова== в тексте блока) */
.se-b mark.se-mark { background: none; color: var(--se-link); }

/* таблица в тексте («| а | б |»): широкая — листается вбок, строка подсвечивается под курсором */
.se-b .se-table { overflow-x: auto; }
.se-b .se-table table { width: 100%; border-collapse: collapse; font-size: var(--se-text-sm); }
.se-b .se-table th, .se-b .se-table td { padding: var(--se-s-3); border: 1px solid var(--se-line); text-align: center; vertical-align: middle; }
.se-b .se-table thead th { background: var(--se-accent); color: var(--se-on-accent); font-weight: 600; }
.se-b .se-table tbody tr:hover > * { background: color-mix(in oklab, var(--se-link) 10%, var(--se-surface)); }
.se-b .se-rich img { max-width: 100%; height: auto; }
.se-b .se-table img { display: block; max-width: none; max-height: 200px; width: auto; margin-inline: auto; }  /* фото в таблице — не выше 200 px; широкая таблица листается вбок */
/* длинное слово в заголовке на телефоне переносится, а не распирает страницу */
.se-b :where(h1, h2, h3) { overflow-wrap: break-word; }

/* Появление при прокрутке (тема → «Анимация появления»): класс ставит скрипт только тем, что ниже первого экрана,
   и снимает после появления — свои переходы и наведения элементов не страдают. Без скрипта всё видно сразу. */
.se-rv { opacity: 0; transform: translateY(var(--se-rv-shift, 18px)) scale(var(--se-rv-scale, 1));
  transition: opacity var(--se-rv-dur, .7s) ease, transform var(--se-rv-dur, .7s) cubic-bezier(.2, .7, .2, 1);
  transition-delay: var(--se-rv-delay, 0s); }
.se-rv.se-rv--in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .se-rv { opacity: 1; transform: none; transition: none; } }

/* текст только для поисковиков и экранных дикторов (например, H1 раздела, у которого на экране заголовка нет) */
.se-sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Общие детали блоков: фон и отступы секции, контейнер, заголовок секции, кнопки, фото и заглушка. */

/* ── Фон секции: чередование задаёт ритм страницы ── */
.se-b.tone--paper { background: var(--se-paper); color: var(--se-ink); }
.se-b.tone--surface { background: var(--se-surface); color: var(--se-ink); }
.se-b.tone--sunken { background: var(--se-sunken); color: var(--se-ink); }
.se-b.tone--dark { background: var(--se-dark); color: var(--se-on-dark); }
.se-b.tone--accent { background: var(--se-accent); color: var(--se-on-accent); }
.se-b.tone--dark a:not(.se-btn), .se-b.tone--accent a:not(.se-btn) { color: inherit; }

/* Три размера отступов: одинаковый ритм у всех секций выдаёт шаблон */
.se-b.space--sm { padding-block: var(--se-section-sm); }
.se-b.space--md { padding-block: var(--se-section-md); }
.se-b.space--lg { padding-block: var(--se-section-lg); }
.se-b.space--none { padding-block: 0; }

.se-container { width: 100%; max-width: calc(var(--se-container) + 2 * var(--se-gutter)); margin-inline: auto; padding-inline: var(--se-gutter); }
.se-container--text { max-width: calc(var(--se-container-text) + 2 * var(--se-gutter)); }
.se-container--wide { max-width: calc(var(--se-container-wide) + 2 * var(--se-gutter)); }

/* ── Заголовок секции: текст справа и снизу — диагональ вместо стопки по центру ── */
.se-head { display: flex; flex-direction: column; gap: var(--se-s-4); margin-bottom: var(--se-s-10); }
.se-head__title { max-width: 22ch; }
.se-head__eyebrow { font-family: var(--se-eyebrow-font, inherit); font-size: var(--se-text-xs); font-weight: var(--se-eyebrow-weight, 600); letter-spacing: 0.12em; text-transform: uppercase; color: var(--se-eyebrow-color, var(--se-accent)); }
.tone--dark .se-head__eyebrow { color: var(--se-eyebrow-on-dark, var(--se-eyebrow-color, var(--se-accent))); }
.se-head__link { font-size: var(--se-text-sm); font-weight: 600; white-space: nowrap; }
.tone--dark .se-head__link { color: var(--se-on-dark); }
.se-head__text { font-size: var(--se-text-base); color: var(--se-ink-2); max-width: 46ch; }
.tone--dark .se-head__text, .tone--accent .se-head__text { color: inherit; opacity: .82; }
.tone--accent .se-head__eyebrow { color: inherit; opacity: .8; }
.se-head--center { align-items: center; text-align: center; }
.se-head--center .se-head__title, .se-head--center .se-head__text { margin-inline: auto; }
@media (min-width: 900px) {
  .se-head:not(.se-head--center):not(.se-head--stack) { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: var(--se-s-10); }
  .se-head:not(.se-head--center):not(.se-head--stack) .se-head__text { text-align: right; margin-left: auto; }
}

/* ── Кнопки ── */
.se-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--se-s-2);
  min-height: 48px; padding: 0.75rem 1.5rem; border: 1.5px solid transparent; border-radius: var(--se-radius);
  font-size: var(--se-text-sm); font-weight: 600; line-height: 1.2; text-decoration: none; cursor: pointer;
  transition: background var(--se-duration) var(--se-ease), color var(--se-duration) var(--se-ease), border-color var(--se-duration) var(--se-ease);
}
.se-b .se-btn--primary { background: var(--se-accent); color: var(--se-on-accent); }
.se-b .se-btn--primary:hover { background: var(--se-accent-hover); color: var(--se-on-accent); }
.se-b .se-btn--secondary { background: transparent; color: currentColor; border-color: color-mix(in oklab, currentColor 35%, transparent); }
.se-b .se-btn--secondary:hover { border-color: currentColor; color: currentColor; }
.se-b.tone--accent .se-btn--primary { background: var(--se-dark); color: var(--se-on-dark); }
.se-actions { display: flex; flex-wrap: wrap; gap: var(--se-s-3); }

/* ── Фото и заглушка вместо фото ── */
.se-media { position: relative; overflow: hidden; border-radius: var(--se-radius); background: var(--se-sunken); }
.se-media img { width: 100%; height: 100%; object-fit: cover; }
.se-media--placeholder { display: grid; place-items: center; padding: var(--se-s-6); color: var(--se-muted); font-size: var(--se-text-sm); text-align: center;
  background: repeating-linear-gradient(-45deg, var(--se-sunken), var(--se-sunken) 10px, color-mix(in oklab, var(--se-sunken) 85%, var(--se-ink)) 10px, color-mix(in oklab, var(--se-sunken) 85%, var(--se-ink)) 11px); }

/* Сетка карточек: число колонок задаётся атрибутом — repeat(var(--n)) не работает */
.se-grid { display: grid; gap: var(--se-s-6); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 640px) { .se-grid[data-cols="2"], .se-grid[data-cols="3"], .se-grid[data-cols="4"] { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) {
  .se-grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.se-hidden-block { display: none !important; }

/* ── Форма «перезвоните мне» ── */
.se-lead { display: grid; gap: var(--se-s-3); max-width: 34rem; }
.se-lead__row { display: flex; flex-wrap: wrap; gap: var(--se-s-3); }
.se-lead__input { flex: 1 1 14rem; min-height: 48px; padding: 0 var(--se-s-4); border: 1.5px solid var(--se-line-strong); border-radius: var(--se-radius); background: var(--se-surface); color: var(--se-ink); font-size: var(--se-text-base); }
.se-lead__input:focus { outline: none; border-color: var(--se-link); }
.se-lead__agree { display: flex; gap: var(--se-s-2); align-items: flex-start; font-size: var(--se-text-xs); line-height: 1.4; opacity: .85; cursor: pointer; }
.se-lead__agree input { width: 16px; height: 16px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--se-accent); }
.se-lead__agree a { color: inherit; }
/* политика — отдельной строкой под галочкой: её не «принимают», галочка — только согласие (152-ФЗ с 01.09.2025) */
.se-lead__policy { margin-top: calc(var(--se-s-2) * -1); padding-left: calc(16px + var(--se-s-2)); font-size: var(--se-text-xs); line-height: 1.4; opacity: .85; }
.se-lead__policy a { color: inherit; }
.se-lead__hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.se-lead__msg { font-size: var(--se-text-sm); min-height: 1.2em; }
.se-lead__msg.ok { color: #1e9b2e; font-weight: 600; }
.tone--dark .se-lead__msg.ok, .tone--accent .se-lead__msg.ok { color: inherit; }
.se-lead__msg.err { color: #c0392b; }
.tone--dark .se-lead__input, .tone--accent .se-lead__input { border-color: transparent; }

/* ── «Заявка отправлена» вместо формы (lib.js; админка → «Заявки и почта» → «После отправки заявки») ── */
.se-lead--done > :not(.se-thanks) { display: none !important; }  /* отправлено: поля спрятаны, видна карточка */
.se-thanks { display: grid; justify-items: start; gap: var(--se-s-2); padding: var(--se-s-4) 0; outline: none; }
.se-thanks__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: var(--se-s-2); border-radius: 50%; background: #1e9b2e; color: #fff; }
.se-thanks__icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.se-thanks__title { font-size: var(--se-text-xl); font-weight: 700; line-height: 1.25; }
.se-thanks__text { font-size: var(--se-text-base); line-height: 1.45; }
.se-thanks__msg { font-size: var(--se-text-sm); color: var(--se-muted); }
.se-thanks__msg a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.se-thanks__ok { margin-top: var(--se-s-3); min-width: 10rem; }
.se-thanks__again { margin-top: var(--se-s-1); padding: 0; border: 0; background: none; color: inherit; font: inherit; font-size: var(--se-text-sm); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; opacity: .8; }
.se-cb .se-thanks { justify-items: center; text-align: center; padding: var(--se-s-2) 0 0; }
.tone--dark .se-thanks__msg, .tone--accent .se-thanks__msg, .se-lead--dark .se-thanks__msg { color: inherit; opacity: .8; }

/* ── Окно «перезвоните мне» (lib.js) ── */
.se-cb { position: fixed; inset: 0; z-index: 2147483500; display: grid; place-items: center; padding: var(--se-s-4); background: rgb(10 12 16 / .6); }
.se-cb[hidden] { display: none; }
.se-cb__box { position: relative; width: min(30rem, 100%); max-height: calc(100vh - 2rem); overflow: auto; padding: var(--se-s-8) var(--se-s-6) var(--se-s-6); border-radius: var(--se-radius); box-shadow: 0 20px 60px -20px rgb(0 0 0 / .5); display: grid; gap: var(--se-s-3); }
.se-cb__box h3 { font-size: var(--se-text-xl); }
.se-cb__lead { color: var(--se-muted); font-size: var(--se-text-sm); }
.se-cb__close { position: absolute; top: 8px; right: 12px; border: 0; background: none; font-size: 28px; line-height: 1; color: var(--se-muted); cursor: pointer; }

/* Чистый сайт на библиотеке (sayty.py new) — своих стилей у страницы нет */
body.se-site { margin: 0; background: var(--se-paper); color: var(--se-ink); font-family: var(--se-font); }
body.se-site .se-main { display: block; }

/* Фото целиком, без обрезки — для логотипов, схем и картинок на прозрачном фоне */
.se-media--contain { background: var(--se-surface); }
.se-media--contain img { object-fit: contain; padding: var(--se-s-4); }

/* ── Полная форма заявки (подписи над полями) ── */
.se-lead--full { display: flex; flex-direction: column; gap: var(--se-s-3); max-width: none; container-type: inline-size; }
.se-lead__field { display: flex; flex-direction: column; gap: var(--se-s-2); }
.se-lead__label { font-size: var(--se-text-xs); color: var(--se-muted); }
.se-lead--full .se-lead__input { flex: none; min-height: 46px; padding: var(--se-s-3) var(--se-s-4); border: 1px solid var(--se-line-strong); border-radius: min(var(--se-radius), 3px); background-color: var(--se-surface); font-size: var(--se-text-base); }
.se-lead__phone { position: relative; display: block; }
.se-lead__code { position: absolute; left: var(--se-s-4); top: 50%; transform: translateY(-50%); color: var(--se-muted); pointer-events: none; font-family: var(--se-font-mono); }
.se-lead--full .se-lead__phone-input { width: 100%; padding-left: calc(var(--se-s-4) + 2.4em); font-family: var(--se-font-mono); }
.se-lead__pair { display: grid; gap: var(--se-s-3); }
@container (min-width: 440px) { .se-lead__pair { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.se-lead__select { width: 100%; min-width: 0; appearance: none; padding-right: var(--se-s-8) !important; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 2px), calc(100% - 13px) calc(50% - 2px); background-size: 5px 5px, 5px 5px; background-repeat: no-repeat; }
.se-lead__textarea { min-height: 6rem; resize: vertical; }
.se-lead--full .se-lead__agree { gap: var(--se-s-3); color: var(--se-muted); opacity: 1; }
.se-lead--full .se-lead__agree input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--se-link); }
.se-lead--full .se-lead__policy { padding-left: calc(18px + var(--se-s-3)); color: var(--se-muted); opacity: 1; }
.se-lead__submit { min-height: 54px; margin-top: var(--se-s-2); font-size: var(--se-text-md); width: 100%; }
.se-lead--full .se-lead__msg:empty { display: none; }
.se-lead__fallback { font-size: var(--se-text-xs); color: var(--se-muted); }
.se-lead__messengers { display: flex; flex-wrap: wrap; align-items: center; gap: var(--se-s-1) var(--se-s-4); margin-top: calc(var(--se-s-2) * -1); font-size: var(--se-text-xs); color: var(--se-muted); }
.se-lead__messengers a { display: inline-flex; align-items: center; gap: var(--se-s-2); color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.se-lead__messengers svg { width: 16px; height: 16px; }
.se-lead__captcha:empty { display: none; }
.se-lead--dark .se-lead__label, .se-lead--dark .se-lead__agree, .se-lead--dark .se-lead__policy, .se-lead--dark .se-lead__fallback, .se-lead--dark .se-lead__messengers { color: var(--se-on-dark-muted); }
.se-lead--dark.se-lead--full .se-lead__input { background-color: color-mix(in oklab, var(--se-dark) 82%, white); border-color: var(--se-on-dark-line); color: var(--se-on-dark); }
.se-lead--dark .se-lead__select option { color: var(--se-ink); background: var(--se-surface); }
.se-lead--dark .se-lead__input::placeholder, .se-lead--dark .se-lead__code { color: var(--se-on-dark-faint); }
.se-lead--dark .se-lead__agree a, .se-lead--dark .se-lead__policy a, .se-lead--dark .se-lead__fallback a, .se-lead--dark .se-lead__messengers a { color: var(--se-on-dark); text-decoration: underline; text-underline-offset: 3px; }
.se-lead--dark .se-lead__msg { color: var(--se-on-dark); }

/* ── Баннер согласия на Метрику — в цветах темы сайта ── */
.se-cc { position: fixed; left: 0; right: 0; bottom: 0; z-index: 2147483400; padding: var(--se-s-4); padding-bottom: max(var(--se-s-4), calc(env(safe-area-inset-bottom, 0px) + var(--se-s-3)));
  background: var(--se-surface); border-top: 1px solid var(--se-line-strong); box-shadow: var(--se-shadow-pop); }
.se-cc[hidden] { display: none; }
.se-cc__in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--se-s-4); width: min(100%, var(--se-container-wide)); margin-inline: auto; padding-inline: var(--se-gutter); }
.se-cc__text { flex: 1 1 28rem; min-width: 0; max-width: none; font-size: var(--se-text-sm); line-height: var(--se-leading-normal); color: var(--se-ink-2); }
.se-cc__text a { color: var(--se-link); text-decoration: underline; text-underline-offset: 3px; }
.se-cc__actions { display: flex; flex-shrink: 0; flex-wrap: wrap; gap: var(--se-s-3); }
.se-cc__btn { min-height: 46px; padding: 0 var(--se-s-6); border: 1px solid var(--se-line-strong); border-radius: var(--se-radius); background: var(--se-surface); color: var(--se-ink); font: inherit; font-size: var(--se-text-sm); font-weight: 500; cursor: pointer; }
.se-cc__btn:hover { border-color: var(--se-link); color: var(--se-link); }
.se-cc__btn--ok { background: var(--se-accent); border-color: var(--se-accent); color: var(--se-on-accent); }
.se-cc__btn--ok:hover { background: var(--se-accent-hover); border-color: var(--se-accent-hover); color: var(--se-on-accent); }
@media (max-width: 640px) { .se-cc__in { padding-inline: 0; } .se-cc__actions { width: 100%; } .se-cc__btn { flex: 1 1 auto; } }
/* плавающая кнопка «Написать» поднимается над баннером, пока он на экране */
.se-b--float_contact { bottom: calc(max(var(--se-s-5), env(safe-area-inset-bottom, 0px) + var(--se-s-4)) + var(--se-cc-h, 0px)) !important; }

/* кнопка под блоком (общее поле «Кнопка под блоком») */
.se-b .se-more { display: flex; justify-content: center; margin-top: var(--se-s-10); }
.se-b .se-picto { display: block; color: var(--se-accent); }
/* кнопка-ссылка без подчёркивания: правило ссылок .se-b a сильнее, чем .se-btn */
.se-b a.se-btn { text-decoration: none; }

/* карусель (галерея, отзывы): лента с привязкой, стрелки — script в gallery/carousel.js */
.se-b .gc { position: relative; }
.se-b .gc__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--gc-per) - 1) * var(--se-s-3)) / var(--gc-per)); gap: var(--se-s-3);
  margin: 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.se-b .gc__track::-webkit-scrollbar { display: none; }
.se-b .gc__item { scroll-snap-align: start; }
@media (max-width: 640px) { .se-b .gc__track { grid-auto-columns: 85%; } }
.se-b .gc__arrow { position: absolute; top: 50%; z-index: 1; width: 44px; height: 44px; margin-top: -22px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .85); color: var(--se-ink); font-size: 1.8rem; line-height: 1; cursor: pointer; box-shadow: 0 2px 10px rgb(0 0 0 / .2); }
.se-b .gc__arrow--prev { left: 8px; }
.se-b .gc__arrow--next { right: 8px; }
.se-b .gc__track { cursor: grab; user-select: none; }
.se-b .gc__track.is-drag { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; }

/* Полоса «Акция» вверху страницы (site.yaml → promo) */
.se-promo { position: relative; display: flex; justify-content: center; padding: 10px 48px; font-size: var(--se-text-sm); line-height: 1.4; text-align: center; }
.se-promo--accent { background: var(--se-accent); color: var(--se-on-accent); }
.se-promo--dark { background: var(--se-dark); color: var(--se-on-dark); }
.se-promo p { margin: 0; }
.se-promo__link { margin-left: .6em; color: inherit; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.se-promo__x { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; border: 0; background: none; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; opacity: .75; }
.se-promo__x:hover { opacity: 1; }
.se-promo[hidden] { display: none; }

/* ── calculator ── */
.se-b--calculator .calc { display: grid; gap: var(--se-s-8); }
.se-b--calculator .calc__preview { display: flex; flex-direction: column; gap: var(--se-s-4); }
.se-b--calculator .calc__frame { display: grid; place-items: center; min-height: 16rem; padding: var(--se-s-8); background: var(--se-paper); border: 1px solid var(--se-line); border-radius: var(--se-radius); color: var(--se-ink-2); }
.se-b--calculator .calc__frame svg { max-height: 14rem; width: auto; }
.se-b--calculator .calc__dims { font-family: var(--se-font-mono); font-size: var(--se-text-sm); color: var(--se-muted); text-align: center; max-width: none; }
.se-b--calculator .calc__controls { display: flex; flex-direction: column; gap: var(--se-s-8); }
.se-b--calculator .calc__group { margin: 0; padding: 0; border: none; min-width: 0; }
.se-b--calculator .calc__legend { padding: 0 0 var(--se-s-4); font-family: var(--se-font-mono); font-size: var(--se-text-xs); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-faint); }
.se-b--calculator .calc__types { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 8rem), 1fr)); gap: var(--se-s-2); }
.se-b--calculator .calc__type, .se-b--calculator .calc__system { display: flex; flex-direction: column; gap: var(--se-s-2); min-height: 46px; padding: var(--se-s-4) var(--se-s-3); text-align: center; background: var(--se-surface); border: 1px solid var(--se-line-strong); border-radius: min(var(--se-radius), 3px); cursor: pointer; color: var(--se-ink); font: inherit;
  transition: border-color var(--se-duration) var(--se-ease), background-color var(--se-duration) var(--se-ease); }
.se-b--calculator .calc__type svg { height: 30px; width: auto; margin-inline: auto; }
.se-b--calculator .calc__type-name { font-size: var(--se-text-sm); font-weight: 600; }
.se-b--calculator .calc__type-room { font-size: var(--se-text-xs); color: var(--se-faint); }
.se-b--calculator [aria-pressed="true"] { border-color: var(--se-link); background: var(--se-link-soft); }
.se-b--calculator .calc__systems { display: flex; flex-direction: column; gap: var(--se-s-2); }
.se-b--calculator .calc__system { flex-direction: row; align-items: baseline; justify-content: space-between; gap: var(--se-s-4); text-align: left; }
.se-b--calculator .calc__system-name { font-size: var(--se-text-sm); font-weight: 600; }
.se-b--calculator .calc__system-meta { font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-faint); }
.se-b--calculator .calc__sizes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--se-s-3); }
.se-b--calculator .calc__field { display: flex; flex-direction: column; gap: var(--se-s-2); }
.se-b--calculator .calc__label { font-size: var(--se-text-xs); color: var(--se-muted); }
.se-b--calculator .calc__input { min-height: 46px; padding: var(--se-s-3) var(--se-s-4); background: var(--se-surface); border: 1px solid var(--se-line-strong); border-radius: min(var(--se-radius), 3px); color: var(--se-ink); font-family: var(--se-font-mono); font-size: var(--se-text-base); width: 100%; }
.se-b--calculator .calc__input:focus-visible { border-color: var(--se-link); }
.se-b--calculator .calc__hint { margin-top: var(--se-s-3); font-size: var(--se-text-xs); color: var(--se-faint); }
.se-b--calculator .calc__result { align-self: start; padding: var(--se-s-6); background: var(--se-paper); border: 1px solid var(--se-line); border-radius: var(--se-radius); }
.se-b--calculator .calc__result-label { font-size: var(--se-text-xs); color: var(--se-muted); }
.se-b--calculator .calc__price { display: flex; align-items: baseline; gap: var(--se-s-2); margin: var(--se-s-2) 0 var(--se-s-5); }
.se-b--calculator .calc__num { font-family: var(--se-font-mono); font-size: var(--se-text-3xl); font-weight: 500; letter-spacing: var(--se-tracking-tight); }
.se-b--calculator .calc__cur { font-size: var(--se-text-lg); color: var(--se-muted); }
.se-b--calculator .calc__hidden { font-size: var(--se-text-md); font-weight: 500; line-height: var(--se-leading-snug); }
.se-b--calculator .calc__summary { display: flex; flex-direction: column; gap: var(--se-s-2); margin: 0 0 var(--se-s-6); padding-block: var(--se-s-5); border-block: 1px solid var(--se-line); }
.se-b--calculator .calc__row { display: flex; align-items: baseline; justify-content: space-between; gap: var(--se-s-4); font-size: var(--se-text-sm); }
.se-b--calculator .calc__row dt { color: var(--se-faint); flex-shrink: 0; }
.se-b--calculator .calc__row dd { margin: 0; text-align: right; font-weight: 500; }
.se-b--calculator .calc__alt { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--se-s-2) var(--se-s-4); margin-top: var(--se-s-5); font-size: var(--se-text-xs); color: var(--se-muted); }
.se-b--calculator .calc__alt-links { display: flex; gap: var(--se-s-4); }
.se-b--calculator .calc__alt-link { display: inline-flex; align-items: center; gap: var(--se-s-2); font-weight: 600; text-decoration: none; }
.se-b--calculator .calc__alt-link svg { width: 16px; height: 16px; }
.se-b--calculator .calc__note { margin-top: var(--se-s-5); padding-top: var(--se-s-5); border-top: 1px solid var(--se-line); font-size: var(--se-text-xs); line-height: var(--se-leading-normal); color: var(--se-faint); max-width: none; }
@media (min-width: 700px) { .se-b--calculator .calc__types { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .se-b--calculator .calc { grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr) 21rem; gap: var(--se-s-10); align-items: start; } }

/* ── cards ── */
.se-b--cards .cards__list { list-style: none; margin: 0; padding: 0; }
.se-b--cards .cards__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); overflow: hidden; transition: border-color var(--se-duration) var(--se-ease), transform var(--se-duration) var(--se-ease); }
.se-b--cards a.cards__link:hover { border-color: var(--se-line-strong); transform: translateY(-2px); color: inherit; }
.se-b--cards .cards__media { border-radius: 0; }
.se-b--cards .cards__body { display: flex; flex-direction: column; gap: var(--se-s-2); padding: var(--se-s-5); flex: 1; }
.se-b--cards .cards__title { font-size: var(--se-text-lg); }
.se-b--cards a.cards__link .cards__title::after { content: " →"; color: var(--se-accent); }
.se-b--cards .cards__text { font-size: var(--se-text-sm); color: var(--se-muted); line-height: 1.5; }
.se-b--cards .cards__price { margin-top: auto; padding-top: var(--se-s-2); font-weight: 700; color: var(--se-accent); }
.se-b--cards.tone--dark .cards__link { background: color-mix(in oklab, var(--se-dark) 88%, white); border-color: var(--se-on-dark-line); }
.se-b--cards.tone--dark .cards__text { color: var(--se-on-dark-muted); }

.se-b--cards.cards--bar .cards__link { background: none; border: 0; }
.se-b--cards.cards--bar .cards__media { box-shadow: 0 6px 18px -10px rgb(0 0 0 / .35); }
.se-b--cards.cards--bar .cards__body { padding: 0; }
.se-b--cards.cards--bar .cards__title { margin-top: var(--se-s-3); padding: .75rem 1rem; background: var(--se-accent2); color: var(--se-on-accent2); text-align: center; text-transform: uppercase; font-weight: 600; font-size: var(--se-text-md); letter-spacing: .02em; box-shadow: 0 6px 14px -8px rgb(0 0 0 / .35); }
.se-b--cards.cards--bar a.cards__link .cards__title::after { content: none; }
.se-b--cards.cards--bar .cards__text, .se-b--cards.cards--bar .cards__price { display: none; }

/* мозаика (категории каталога): крупная первая карточка, лишнюю высоту забирает её фото */
.se-b--cards .cards__mosaic { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: var(--se-s-6); }
.se-b--cards .cards__cat { display: flex; flex-direction: column; background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); overflow: hidden; color: inherit; text-decoration: none; }
.se-b--cards .cards__cat:hover { border-color: var(--se-line-strong); }
.se-b--cards .cards__cmedia { border-radius: 0; }
.se-b--cards .cards__cbody { display: flex; flex-direction: column; flex-grow: 1; padding: var(--se-s-6); }
.se-b--cards .cards__ctitle { font-size: var(--se-text-xl); font-weight: 700; letter-spacing: var(--se-tracking-snug); }
.se-b--cards .cards__ctitle--sm { font-size: var(--se-text-lg); }
.se-b--cards .cards__cat:hover .cards__ctitle { color: var(--se-link); }
.se-b--cards .cards__ctext { margin-top: var(--se-s-3); font-size: var(--se-text-sm); line-height: var(--se-leading-relaxed); color: var(--se-muted); }
.se-b--cards .cards__cprice { margin-top: auto; padding-top: var(--se-s-5); font-family: var(--se-font-mono); font-size: var(--se-text-sm); color: var(--se-link); }
@media (min-width: 1024px) {
  .se-b--cards .cards__mosaic { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-b--cards .cards__cat--lead { grid-column: span 2; grid-row: span 2; }
  .se-b--cards .cards__cat--lead .cards__cmedia { aspect-ratio: auto !important; flex-grow: 1; min-height: 20rem; }
  .se-b--cards .cards__cat--lead .cards__cbody { flex-grow: 0; }
}

/* ── cards · banners ── */
/* «Баннеры»: плитки фиксированной высоты; двойная (поле «Высота» = tall) занимает две строки */
.se-b--banners .bn__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-5); grid-auto-rows: var(--bn-h); grid-auto-flow: dense; }
@media (min-width: 760px) {
  .se-b--banners .bn__grid[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-b--banners .bn__grid[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-b--banners .bn__grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .se-b--banners .bn__item--tall { grid-row: span 2; }
}
.se-b--banners .bn__link { position: relative; display: block; height: 100%; overflow: hidden; color: #fff; text-decoration: none; }
.se-b--banners .bn__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.se-b--banners a.bn__link:hover .bn__img { transform: scale(1.04); }
.se-b--banners .bn__text { position: absolute; inset: auto var(--se-s-5) var(--se-s-5); display: grid; gap: var(--se-s-1); text-shadow: 2px 2px 4px #000; }
.se-b--banners .bn__title { font-size: var(--se-text-xl); font-weight: 700; }
.se-b--banners .bn__sub { font-size: var(--se-text-md); }
@media (min-width: 760px) {
  .se-b--banners .bn__grid:has(.bn__item--tall) { grid-auto-flow: column; grid-template-rows: repeat(2, var(--bn-h)); grid-template-columns: none; grid-auto-columns: minmax(0, 1fr); }
}
.se-b--banners .bn__btn { justify-self: center; margin-top: var(--se-s-4); text-shadow: none; }

/* ── cards · facts ── */
.se-b--facts .facts__title { margin-bottom: var(--se-s-8); max-width: 24ch; }
.se-b--facts .facts__list { display: grid; gap: var(--se-s-8) var(--se-s-6); grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; }
@media (min-width: 900px) {
  .se-b--facts .facts__list[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-b--facts .facts__list[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .se-b--facts .facts__list[data-count="5"], .se-b--facts .facts__list[data-count="6"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
.se-b--facts.facts--accent .facts__item { padding-left: var(--se-s-4); border-left: 2px solid var(--se-accent); }
.se-b--facts.tone--accent .facts__item { border-color: currentColor; }
.se-b--facts dt { font-size: calc(var(--se-text-3xl) * var(--se-head-scale, 1)); font-weight: 700; letter-spacing: -0.02em; line-height: 1.1; font-variant-numeric: tabular-nums; }
.se-b--facts dd { margin: var(--se-s-2) 0 0; font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--facts.tone--dark dd, .se-b--facts.tone--accent dd { color: inherit; opacity: .75; }

/* колонки с тонкими разделителями: числа моноширинным, без цветных черт */
.se-b--facts.facts--divided .facts__list { gap: 0; }
@media (min-width: 768px) { .se-b--facts.facts--divided .facts__list { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.se-b--facts.facts--divided .facts__item { padding: var(--se-s-8) var(--se-s-5) var(--se-s-8) 0; }
.se-b--facts.facts--divided .facts__item + .facts__item { padding-left: var(--se-s-5); border-left: 1px solid var(--se-on-dark-line); }
.se-b--facts.facts--divided:not(.tone--dark) .facts__item + .facts__item { border-left-color: var(--se-line); }
.se-b--facts.facts--divided dt { font-family: var(--se-font-mono); font-weight: 500; letter-spacing: var(--se-tracking-tight); }
.se-b--facts.facts--divided dd { font-size: var(--se-text-base); line-height: var(--se-leading-normal); max-width: 26ch; color: var(--se-muted); opacity: 1; }
.se-b--facts.facts--divided.tone--dark dd { color: var(--se-on-dark-muted); }

/* карточка: надзаголовок, заголовок и текст в две колонки, ниже цифры с разделителями */
.se-b--facts .facts__panel { display: grid; gap: clamp(1.45rem, 3.2vw, 2.2rem); padding: clamp(1.75rem, 3vw, 2.45rem); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--facts .facts__copy { display: grid; gap: var(--se-s-3); }
@media (min-width: 1040px) { .se-b--facts .facts__copy { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: clamp(1.5rem, 2.8vw, 2.3rem); } }
.se-b--facts .facts__copy h2 { max-width: 18ch; }
.se-b--facts .facts__text { max-width: 36rem; line-height: 1.72; color: var(--se-ink-2); }
.se-b--facts .facts__row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; padding-top: clamp(1.2rem, 2vw, 1.55rem); border-top: 1px solid var(--se-line); }
@media (min-width: 920px) { .se-b--facts .facts__row { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.se-b--facts .facts__cell { display: grid; align-content: start; gap: .64rem; padding: 0 clamp(.9rem, 2vw, 1.3rem); }
.se-b--facts .facts__cell:nth-child(2n) { border-left: 1px solid var(--se-line); }
@media (min-width: 920px) { .se-b--facts .facts__cell { border-left: 1px solid var(--se-line); } .se-b--facts .facts__cell:first-child { padding-left: 0; border-left: 0; } }
.se-b--facts.facts--panel dt { font-size: clamp(2.7rem, 4.4vw, 3.85rem); font-weight: 800; line-height: .98; white-space: nowrap; }
.se-b--facts.facts--panel dd { margin: 0; max-width: 15ch; font-size: .74rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.5; color: var(--se-muted); opacity: 1; }
@media (max-width: 600px) {
  .se-b--facts .facts__row { grid-template-columns: minmax(0, 1fr); }
  .se-b--facts .facts__cell { padding: .95rem 0 !important; border-left: 0 !important; border-top: 1px solid var(--se-line); }
  .se-b--facts .facts__cell:first-child { border-top: 0; padding-top: 0 !important; }
  .se-b--facts.facts--panel dd { max-width: none; }
}

/* ── cards · features ── */
.se-b--features .feat__list { list-style: none; margin: 0; padding: 0; }
.se-b--features .feat__title { font-size: var(--se-text-lg); }
.se-b--features .feat__text { margin-top: var(--se-s-3); font-size: var(--se-text-sm); line-height: 1.55; color: var(--se-muted); }
.se-b--features.tone--dark .feat__text, .se-b--features.tone--accent .feat__text { color: inherit; opacity: .78; }
.se-b--features.feat--cards .feat__item { padding: var(--se-s-6); background: var(--se-paper); border: 1px solid var(--se-line); border-radius: var(--se-radius); }
.se-b--features.feat--cards.tone--paper .feat__item { background: var(--se-surface); }
.se-b--features.feat--cards.tone--dark .feat__item { background: color-mix(in oklab, var(--se-dark) 88%, white); border-color: var(--se-on-dark-line); }
.se-b--features.feat--lines .feat__item { padding-top: var(--se-s-5); border-top: 2px solid var(--se-accent); }
.se-b--features.feat--checks .feat__item { display: grid; grid-template-columns: auto 1fr; gap: var(--se-s-3); align-items: start; }
.se-b--features .feat__check { color: var(--se-accent); margin-top: 1px; }
.se-b--features.tone--accent .feat__check { color: inherit; }

/* нумерованная сетка и колонки с выводом: заголовок и подводка стопкой, ячейки разделены волосяными линиями */
.se-b--features .feat__eyebrow { margin-bottom: var(--se-s-4); }
.se-b--features .feat__h { max-width: 22ch; }
.se-b--features.feat--notes .feat__h { max-width: 24ch; }
.se-b--features .feat__lead { margin: var(--se-s-4) 0 var(--se-s-10); max-width: 64ch; font-size: var(--se-text-md); color: var(--se-muted); }
.se-b--features .feat__h + .feat__inc, .se-b--features .feat__h + .feat__layers { margin-top: var(--se-s-10); }
/* линии — тенью вокруг ячейки, а не фоном сетки: неполная последняя строка не становится серым прямоугольником */
.se-b--features .feat__inc { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 1px; }
@media (min-width: 560px) { .se-b--features .feat__inc { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  .se-b--features .feat__inc[data-cols="1"] { grid-template-columns: minmax(0, 1fr); }
  .se-b--features .feat__inc[data-cols="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-b--features .feat__inc[data-cols="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-b--features .feat__inc[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.se-b--features .feat__cell { background: var(--se-surface); box-shadow: 0 0 0 1px var(--se-line); }
.se-b--features.tone--paper .feat__cell { box-shadow: 0 0 0 1px var(--se-line-strong); }
.se-b--features .feat__inner { display: block; height: 100%; padding: var(--se-s-6) var(--se-s-5) var(--se-s-8); color: inherit; text-decoration: none; }
.se-b--features .feat__inner--link:hover { background: var(--se-link-soft); }
.se-b--features .feat__inner--link:hover .feat__name { color: var(--se-link); }
.se-b--features .feat__go { display: block; margin-top: var(--se-s-4); color: var(--se-link); }
.se-b--features .feat__num { font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-link); }
.se-b--features .feat__name { margin: var(--se-s-4) 0 var(--se-s-2); font-size: var(--se-text-md); }
.se-b--features .feat__ctext { font-size: var(--se-text-base); line-height: var(--se-leading-normal); color: var(--se-ink-2); }
.se-b--features .feat__layers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr)); gap: 1px; background: var(--se-line); border: 1px solid var(--se-line); }
.se-b--features .feat__layer { background: var(--se-surface); padding: var(--se-s-8) var(--se-s-6) var(--se-s-10); }
.se-b--features .feat__ltitle { margin: var(--se-s-5) 0 var(--se-s-3); font-size: var(--se-text-xl); font-weight: 700; }
.se-b--features .feat__ltext { font-size: var(--se-text-sm); line-height: var(--se-leading-relaxed); color: var(--se-ink-2); }
.se-b--features .feat__note { margin-top: var(--se-s-5); padding-top: var(--se-s-4); border-top: 1px solid var(--se-line); font-size: var(--se-text-sm); line-height: var(--se-leading-normal); color: var(--se-ink-2); }
.se-b--features .feat__note span { color: var(--se-ink); font-weight: 700; }

/* карточки: заголовок мелкой меткой */
.se-b--features.feat--labels .feat__item { padding: clamp(1.4rem, 2.5vw, 1.9rem); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--features.feat--labels .feat__title { font-family: inherit; font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--se-muted); }
.se-b--features.feat--labels .feat__text { margin-top: var(--se-s-4); font-size: var(--se-text-md); line-height: 1.7; color: var(--se-ink-2); }
/* значок над заголовком карточки (поле «Значок» у пункта) */
.se-b--features .feat__icon { display: block; margin-bottom: var(--se-s-4); }

/* ── cards · icons ── */
/* «Значки по центру»: значок фирменного цвета, заголовок, подпись и текст — по центру, без подложки */
.se-b--icons .ic__list { list-style: none; margin: 0; padding: 0; gap: var(--se-s-10) var(--se-s-8); }
.se-b--icons .ic__item { display: grid; justify-items: center; align-content: start; gap: var(--se-s-3); text-align: center; }
.se-b--icons .ic__item > * { max-width: 34ch; }
.se-b--icons .ic__icon { margin-bottom: var(--se-s-2); }
.se-b--icons .ic__title { font-size: var(--se-text-xl); }
.se-b--icons .ic__label { font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--icons .ic__text { font-size: var(--se-text-base); line-height: 1.55; color: var(--se-ink-2); }
.se-b--icons.tone--dark .ic__label, .se-b--icons.tone--dark .ic__text { color: var(--se-on-dark-muted); }
.se-b--icons.tone--dark .se-picto, .se-b--icons.tone--accent .se-picto { color: currentColor; }

/* ── cards · logos ── */
.se-b--logos .lg__title { font-size: var(--se-text-lg); margin-bottom: var(--se-s-6); color: var(--se-muted); font-weight: 600; }
.se-b--logos .lg__list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--se-s-8) var(--se-s-12); }
.se-b--logos .lg__list img { max-height: 44px; width: auto; filter: grayscale(1); opacity: .75; transition: filter var(--se-duration), opacity var(--se-duration); }
.se-b--logos .lg__list a:hover img { filter: none; opacity: 1; }
.se-b--logos .lg__name { font-size: var(--se-text-lg); font-weight: 700; color: var(--se-muted); }

/* ── cards · projects ── */
.se-b--projects .se-media { border-radius: 0; }
.se-b--projects .pj__card { display: block; color: inherit; text-decoration: none; }
.se-b--projects .pj__body { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--se-s-2) var(--se-s-5); padding-top: var(--se-s-4); }
.se-b--projects .pj__body--stack { display: block; }
.se-b--projects .pj__title { font-size: var(--se-text-xl); font-weight: 600; letter-spacing: var(--se-tracking-snug); }
.se-b--projects .pj__title--sm { font-size: var(--se-text-md); }
.se-b--projects .pj__card:hover .pj__title { color: var(--se-link); }
.se-b--projects .pj__meta { flex: 1 1 12rem; font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--projects .pj__body--stack .pj__meta { margin-top: var(--se-s-1); }
.se-b--projects .pj__sys { font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-faint); }
.se-b--projects .pj__body--stack .pj__sys { margin-top: var(--se-s-2); }
.se-b--projects .pj__mosaic { display: grid; gap: var(--se-s-6); }
.se-b--projects .pj__rest { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: var(--se-s-6); }
.se-b--projects .pj__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 17rem), 1fr)); gap: var(--se-s-8) var(--se-s-6); list-style: none; margin: 0; padding: 0; }
@media (min-width: 1024px) {
  .se-b--projects .pj__mosaic { grid-template-columns: 1.4fr 1fr; align-items: start; }
  .se-b--projects .pj__rest { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* карточки с описанием (две колонки: слева крупные, справа компактные) */
.se-b--projects .pj__cols { display: grid; gap: var(--se-s-6); }
@media (min-width: 1024px) { .se-b--projects .pj__cols { grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr); align-items: start; } .se-b--projects .pj__cols--one { grid-template-columns: minmax(0, .5fr); } }
.se-b--projects .pj__col { display: grid; gap: var(--se-s-6); align-content: start; }
.se-b--projects .pj__pcard { display: grid; overflow: hidden; border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); color: inherit; text-decoration: none; }
.se-b--projects .pj__pmedia { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--se-sunken); }
.se-b--projects .pj__pmedia img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms ease; }
.se-b--projects .pj__pcard:hover img { transform: scale(1.04); }
.se-b--projects .pj__pbody { display: grid; gap: var(--se-s-4); padding: 1.55rem 1.55rem 1.75rem; }
.se-b--projects .pj__pcard--featured .pj__pbody { padding: clamp(1.75rem, 3vw, 2.2rem); }
.se-b--projects .pj__pmeta { display: flex; flex-wrap: wrap; gap: .42rem .62rem; font-size: .68rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--se-muted); }
.se-b--projects .pj__ptitle { font-family: var(--se-font-head, var(--se-font)); font-size: clamp(1.45rem, 2vw, 2rem); font-weight: 700; line-height: 1.04; }
.se-b--projects .pj__pcard--featured .pj__ptitle { font-size: clamp(1.8rem, 2.5vw, 2.5rem); }
.se-b--projects .pj__psum { max-width: 42ch; color: var(--se-muted); line-height: 1.65; }

/* ── cards · services ── */
.se-b--services .sv__overview { display: grid; gap: var(--se-s-4); margin-bottom: var(--se-s-8); padding-block: var(--se-s-5); border-block: 1px solid var(--se-line); }
@media (min-width: 1024px) { .se-b--services .sv__overview { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: start; } }
.se-b--services .sv__overview-text { margin-top: var(--se-s-3); max-width: 36rem; color: var(--se-ink-2); line-height: 1.74; }
.se-b--services .sv__tags { display: flex; flex-wrap: wrap; gap: var(--se-s-3); align-content: start; margin: 0; padding: 0; list-style: none; }
.se-b--services .sv__tags li { display: inline-flex; align-items: center; min-height: 2.4rem; padding: .55rem .95rem; border: 1px solid var(--se-line); border-radius: 999px; font-size: .74rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--se-ink-2); }
.se-b--services .sv__grid { display: grid; gap: var(--se-s-5); }
@media (min-width: 1024px) { .se-b--services .sv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1280px) { .se-b--services .sv__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
/* фото на всю карточку, текст поверх на затемнении снизу */
.se-b--services .sv__card { position: relative; display: grid; align-content: space-between; aspect-ratio: 4 / 4.55; padding: clamp(1.25rem, 2vw, 1.65rem); overflow: hidden; isolation: isolate; border-radius: var(--se-radius); background: var(--se-dark); color: #fff; text-decoration: none; }
.se-b--services .sv__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform 620ms ease; }
.se-b--services .sv__card:hover .sv__img { transform: scale(1.06) translateY(-.25rem); }
.se-b--services .sv__shade { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(17 17 17 / 0) 0%, rgb(17 17 17 / .04) 36%, rgb(17 17 17 / .48) 68%, rgb(17 17 17 / .9) 100%); }
.se-b--services .sv__pill { display: inline-flex; align-items: center; min-height: 2rem; padding: .45rem .8rem; border: 1px solid rgb(255 255 255 / .16); border-radius: 999px; background: rgb(17 17 17 / .26); backdrop-filter: blur(12px); font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.se-b--services .sv__bottom { display: grid; gap: var(--se-s-4); }
.se-b--services .sv__title { font-family: var(--se-font-head, var(--se-font)); font-size: clamp(1.45rem, 2vw, 2.05rem); font-weight: 700; line-height: 1.02; text-shadow: 0 .25rem 1.2rem rgb(0 0 0 / .52); }
.se-b--services .sv__text { max-width: 28ch; font-size: .95rem; line-height: 1.58; color: rgb(255 255 255 / .78); }
.se-b--services .sv__more { width: fit-content; padding-top: .9rem; border-top: 1px solid rgb(255 255 255 / .14); font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
@media (max-width: 767px) { .se-b--services .sv__card { aspect-ratio: 4 / 4.2; } }

/* ── cards · shop ── */
/* «Каталог»: сетка товаров и боковая колонка разделов */
.se-b--shop .shop { display: grid; gap: var(--se-s-8); }
@media (min-width: 960px) { .se-b--shop .shop--side { grid-template-columns: 16rem minmax(0, 1fr); align-items: start; } }
.se-b--shop .shop__side { display: grid; gap: var(--se-s-8); }
.se-b--shop .shop__stitle { margin-bottom: var(--se-s-3); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: var(--se-text-sm); }
.se-b--shop .shop__cats ul { list-style: none; margin: 0; padding: 0; display: grid; }
.se-b--shop .shop__cats a { display: block; padding: var(--se-s-2) 0; border-bottom: 1px solid var(--se-line); color: var(--se-ink-2); text-decoration: none; font-size: var(--se-text-sm); }
.se-b--shop .shop__cats a:hover, .se-b--shop .shop__cats a[aria-current="page"] { color: var(--se-accent); }
.se-b--shop .shop__form .se-lead__row { flex-direction: column; align-items: stretch; }
.se-b--shop .shop__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-8) var(--se-s-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 760px) { .se-b--shop .shop__grid[data-cols="3"], .se-b--shop .shop__grid[data-cols="4"] { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .se-b--shop .shop__grid[data-cols="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.se-b--shop .shop__link { display: grid; gap: var(--se-s-2); color: inherit; text-decoration: none; }
.se-b--shop .shop__media { background: var(--se-surface); }
.se-b--shop .shop__title { font-weight: 600; text-transform: uppercase; font-size: var(--se-text-sm); }
.se-b--shop .shop__link:hover .shop__title { color: var(--se-accent); }
.se-b--shop .shop__price { color: var(--se-accent); font-size: var(--se-text-sm); }
.se-b--shop .gc__track.shop__grid { display: grid; grid-template-columns: none; }
.se-b--shop .shop__main { min-width: 0; }
.se-b--shop .shop__form .se-lead__input, .se-b--product .shop__form .se-lead__input { flex: none; min-height: 40px; }

/* карточка: метка на фото, старая цена; разделы с подразделами; вкладки (общие с блоком «Товар») */
:is(.se-b--shop, .se-b--product) .shop__pic { position: relative; display: block; }
:is(.se-b--shop, .se-b--product) .shop__badge { position: absolute; top: var(--se-s-4); left: 0; padding: 2px var(--se-s-3); background: var(--se-surface); color: var(--se-ink); font-size: var(--se-text-sm); }
:is(.se-b--shop, .se-b--product) .shop__price del, .se-b--product .pd__price del { color: var(--se-ink-3, #999); margin-right: .3em; }
:is(.se-b--shop, .se-b--product) .shop__sub summary { display: flex; align-items: center; justify-content: space-between; gap: var(--se-s-2); list-style: none; cursor: pointer; border-bottom: 1px solid var(--se-line); }
:is(.se-b--shop, .se-b--product) .shop__sub summary::-webkit-details-marker { display: none; }
:is(.se-b--shop, .se-b--product) .shop__sub summary a { flex: 1; border-bottom: 0; }
:is(.se-b--shop, .se-b--product) .shop__toggle { width: 16px; height: 16px; flex: none; border: 1px solid currentColor; border-radius: 50%; position: relative; color: var(--se-ink-2); }
:is(.se-b--shop, .se-b--product) .shop__toggle::before, :is(.se-b--shop, .se-b--product) .shop__toggle::after { content: ""; position: absolute; left: 3px; right: 3px; top: 50%; height: 1px; margin-top: -.5px; background: currentColor; }
:is(.se-b--shop, .se-b--product) .shop__toggle::after { transform: rotate(90deg); }
:is(.se-b--shop, .se-b--product) .shop__sub[open] .shop__toggle { color: var(--se-accent); }
:is(.se-b--shop, .se-b--product) .shop__sub[open] .shop__toggle::after { display: none; }
:is(.se-b--shop, .se-b--product) .shop__sub ul { padding-left: var(--se-s-4); }
.se-b--shop .shop__tabbar { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--se-s-2) var(--se-s-6); margin-bottom: var(--se-s-8); }
.se-b--shop .shop__tabbar button { padding: var(--se-s-1) 0; border: 0; border-bottom: 2px solid transparent; background: none; color: var(--se-ink-2); font: inherit; text-transform: uppercase; letter-spacing: .02em; cursor: pointer; }
.se-b--shop .shop__tabbar button:hover { color: var(--se-accent); }
.se-b--shop .shop__tabbar button[aria-selected="true"] { color: var(--se-accent); border-bottom-color: currentColor; }
@media (min-width: 960px) {  /* разделы слева едут за страницей под прилипшей шапкой (--se-header-h — из lib.js), если колонка помещается в экран (data-fits — из lib.js) */
  .se-b--shop .shop__side[data-fits] { position: sticky; top: calc(var(--se-header-h, 0px) + var(--se-s-5)); }
}

/* поиск по каталогу над разделами */
:is(.se-b--shop, .se-b--product) .shop__search { position: relative; }
:is(.se-b--shop, .se-b--product) .shop__q { width: 100%; min-height: 42px; }
:is(.se-b--shop, .se-b--product) .shop__found { position: absolute; left: 0; right: 0; top: calc(100% + 4px); z-index: 30; list-style: none; margin: 0; padding: 4px; display: grid; gap: 2px; max-height: 70vh; overflow: auto; background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); box-shadow: 0 12px 32px -12px rgb(0 0 0 / .3); }
:is(.se-b--shop, .se-b--product) .shop__found[hidden] { display: none; }
:is(.se-b--shop, .se-b--product) .shop__found a { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 10px; align-items: center; padding: 6px; border-radius: calc(var(--se-radius) / 2); color: var(--se-ink); text-decoration: none; font-size: var(--se-text-sm); }
:is(.se-b--shop, .se-b--product) .shop__found a:hover, :is(.se-b--shop, .se-b--product) .shop__found a.is-cur { background: var(--se-sunken); }
:is(.se-b--shop, .se-b--product) .shop__found img, :is(.se-b--shop, .se-b--product) .shop__found a > span:first-child { width: 48px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 3px; background: var(--se-sunken); }
:is(.se-b--shop, .se-b--product) .shop__found b { display: block; font-weight: 600; }
:is(.se-b--shop, .se-b--product) .shop__found small { color: var(--se-accent); }
:is(.se-b--shop, .se-b--product) .shop__no-hits, :is(.se-b--shop, .se-b--product) .shop__more-hits { padding: 8px; color: var(--se-ink-2); font-size: var(--se-text-sm); }

/* ── cards · steps ── */
.se-b--steps .steps__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-8); grid-template-columns: minmax(0, 1fr); counter-reset: none; }
@media (min-width: 700px) { .se-b--steps .steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) {
  .se-b--steps .steps__list[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-b--steps .steps__list[data-count="4"], .se-b--steps .steps__list[data-count="8"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.se-b--steps .steps__item { display: flex; flex-direction: column; gap: var(--se-s-3); padding-top: var(--se-s-5); border-top: 2px solid var(--se-line-strong); }
.se-b--steps.tone--dark .steps__item { border-color: var(--se-on-dark-line); }
.se-b--steps .steps__num { font-size: var(--se-text-sm); font-weight: 700; color: var(--se-accent); font-variant-numeric: tabular-nums; letter-spacing: 0.06em; }
.se-b--steps.tone--accent .steps__num { color: inherit; opacity: .8; }
.se-b--steps .steps__title { font-size: var(--se-text-lg); }
.se-b--steps .steps__text { font-size: var(--se-text-sm); line-height: 1.55; color: var(--se-muted); }
.se-b--steps.tone--dark .steps__text, .se-b--steps.tone--accent .steps__text { color: inherit; opacity: .78; }

/* с фото у каждого шага: столько колонок, сколько шагов — последний не повисает один во втором ряду */
.se-b--steps .steps__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--se-s-6); }
@media (min-width: 1100px) {
  .se-b--steps .steps__grid[data-count="2"] { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .se-b--steps .steps__grid[data-count="3"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .se-b--steps .steps__grid[data-count="4"] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .se-b--steps .steps__grid[data-count="5"] { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .se-b--steps .steps__grid[data-count="6"] { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
.se-b--steps .steps__media { margin-bottom: var(--se-s-4); border-radius: 0; }
.se-b--steps .steps__meta { font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-link); }
.se-b--steps.steps--photos .steps__title { margin: var(--se-s-2) 0; font-size: var(--se-text-lg); }
.se-b--steps.steps--photos .steps__text { line-height: var(--se-leading-normal); }

/* карточки с крупным номером */
.se-b--steps .steps__cards { display: grid; gap: var(--se-s-4); margin: 0; padding: 0; list-style: none; }
@media (min-width: 900px) { .se-b--steps .steps__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.se-b--steps .steps__ccard { display: grid; align-content: start; gap: var(--se-s-4); padding: clamp(1.5rem, 3vw, 2rem); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--steps.tone--dark .steps__ccard { border-color: rgb(255 255 255 / .12); background: linear-gradient(180deg, rgb(255 255 255 / .08), rgb(255 255 255 / .03)); box-shadow: 0 22px 56px rgb(0 0 0 / .16); }
.se-b--steps .steps__big { font-family: var(--se-font-head, var(--se-font)); font-size: clamp(2.5rem, 4vw, 4rem); line-height: .98; font-weight: 800; color: var(--se-accent); }
.se-b--steps .steps__ctitle { font-size: clamp(1.4rem, 2vw, 1.9rem); line-height: 1.08; }
.se-b--steps .steps__ctext { max-width: 34ch; line-height: 1.65; color: var(--se-muted); }
.se-b--steps.tone--dark .steps__ctext { color: rgb(255 255 255 / .72); }
@media (min-width: 1100px) { .se-b--steps .steps__cards:has(> :nth-child(3):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ── cards · tiles ── */
/* «Фото фоном, всё по центру»: фото на всю карточку под затемнением, название, цена, пункты и кнопка внизу */
.se-b--tiles .tl__list { list-style: none; margin: 0; padding: 0; gap: var(--tl-gap, var(--se-s-2)); }
.se-b--tiles .tl__item { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; gap: var(--se-s-5);
  min-height: var(--tl-height, 21rem); padding: var(--se-s-5); overflow: hidden; border-radius: var(--se-radius); background: var(--se-dark); color: #fff; }
.se-b--tiles .tl__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.se-b--tiles .tl__item::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--tl-shade, rgb(17 17 17 / .5)); }
.se-b--tiles .tl__title { text-align: center; font-size: var(--se-text-xl); font-weight: 500; color: inherit; }
.se-b--tiles .tl__price { margin-top: var(--se-s-4); text-align: center; font-weight: 700; }
.se-b--tiles .tl__points { margin: var(--se-s-4) 0 0; padding-left: 1.4em; display: grid; gap: 0; }
.se-b--tiles .tl__text { margin-top: var(--se-s-3); text-align: center; }
.se-b--tiles .tl__btn { align-self: center; }

/* ── faq ── */
.se-b--faq .faq__list { border-top: 1px solid var(--se-line); }
.se-b--faq .faq__item { border-bottom: 1px solid var(--se-line); }
.se-b--faq .faq__q { display: flex; align-items: center; justify-content: space-between; gap: var(--se-s-5); min-height: 46px; padding-block: var(--se-s-5); font-size: var(--se-text-md); font-weight: 600; cursor: pointer; list-style: none; }
.se-b--faq .faq__q::-webkit-details-marker { display: none; }
.se-b--faq .faq__q:hover { color: var(--se-link); }
.se-b--faq .faq__icon { flex-shrink: 0; color: var(--se-muted); transition: transform var(--se-duration) var(--se-ease); }
.se-b--faq .faq__item[open] .faq__icon { transform: rotate(180deg); }
.se-b--faq .faq__a { max-width: 68ch; padding-bottom: var(--se-s-6); font-size: var(--se-text-sm); line-height: 1.6; color: var(--se-muted); }
.se-b--faq.tone--dark .faq__list, .se-b--faq.tone--dark .faq__item { border-color: var(--se-on-dark-line); }
.se-b--faq.tone--dark .faq__a { color: var(--se-on-dark-muted); }
.se-b--faq.tone--dark .faq__q:hover { color: inherit; opacity: .8; }
/* открытым списком */
.se-b--faq .faq__open { margin: 0; display: grid; gap: var(--se-s-5); }
.se-b--faq .faq__open dt { font-weight: 700; }
.se-b--faq .faq__open dd { margin: var(--se-s-1) 0 0; }

/* ── footer ── */
.se-b--footer .ft__grid { display: grid; gap: var(--se-s-10); grid-template-columns: minmax(0, 1fr); }
@media (min-width: 760px) { .se-b--footer .ft__grid { grid-template-columns: minmax(0, 1.3fr) repeat(auto-fit, minmax(10rem, 1fr)); } }
.se-b--footer .ft__logo { max-height: 52px; width: auto; }
.se-b--footer .ft__name { font-size: var(--se-text-xl); font-weight: 800; }
.se-b--footer .ft__about { margin-top: var(--se-s-4); font-size: var(--se-text-sm); opacity: .78; max-width: 36ch; }
.se-b--footer .ft__title { font-weight: 700; margin-bottom: var(--se-s-4); font-size: var(--se-text-sm); letter-spacing: .06em; text-transform: uppercase; opacity: .7; }
.se-b--footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-3); font-size: var(--se-text-sm); }
.se-b--footer a { color: inherit; text-decoration: none; opacity: .9; }
.se-b--footer a:hover { color: inherit; opacity: 1; text-decoration: underline; }
.se-b--footer .ft__msg { display: flex; gap: var(--se-s-2); margin-top: var(--se-s-4); }
.se-b--footer .ft__msg a { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; border: 1px solid color-mix(in oklab, currentColor 30%, transparent); }
.se-b--footer .ft__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--se-s-4); margin-top: var(--se-s-12); padding-top: var(--se-s-6); border-top: 1px solid color-mix(in oklab, currentColor 18%, transparent); font-size: var(--se-text-xs); opacity: .7; }
.se-b--footer .ft__legal { display: flex; flex-wrap: wrap; gap: var(--se-s-6); }

/* подробный подвал */
.se-b--footer .ft__note { margin-top: var(--se-s-4); font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-on-dark-faint); }
.se-b--footer.ft--detailed { padding-block: var(--se-section-md) var(--se-s-8); }
.se-b--footer.ft--detailed .ft__grid { gap: var(--se-s-10); padding-bottom: var(--se-s-10); border-bottom: 1px solid var(--se-on-dark-line); }
@media (min-width: 640px) { .se-b--footer.ft--detailed .ft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .se-b--footer.ft--detailed .ft__grid { grid-template-columns: 1.4fr repeat(3, minmax(0, 1fr)) 1.2fr; gap: var(--se-s-8); } }
.se-b--footer.ft--detailed .ft__name { font-size: var(--se-text-lg); font-weight: 700; letter-spacing: var(--se-tracking-snug); }
.se-b--footer.ft--detailed .ft__about { margin-top: var(--se-s-2); color: var(--se-on-dark-muted); opacity: 1; max-width: 34ch; }
.se-b--footer.ft--detailed .ft__title { margin-bottom: var(--se-s-4); font-family: var(--se-font-mono); font-weight: 400; font-size: var(--se-text-xs); letter-spacing: var(--se-tracking-wide); color: var(--se-on-dark-faint); opacity: 1; }
.se-b--footer.ft--detailed ul { gap: var(--se-s-2); }
.se-b--footer.ft--detailed a, .se-b--footer.ft--detailed.tone--dark a:not(.se-btn) { color: var(--se-on-dark-muted); opacity: 1; }
.se-b--footer.ft--detailed.tone--dark a:not(.se-btn):hover { color: var(--se-on-dark); text-decoration: none; }
.se-b--footer.ft--detailed .ft__contacts { font-style: normal; }
.se-b--footer.ft--detailed .ft__contacts li, .se-b--footer.ft--detailed .ft__contacts a { display: flex; align-items: center; gap: var(--se-s-2); font-size: var(--se-text-sm); color: var(--se-on-dark-muted); }
.se-b--footer.ft--detailed .ft__line svg { flex-shrink: 0; }
.se-b--footer.ft--detailed.tone--dark .ft__contacts .ft__phone { font-family: var(--se-font-mono); font-size: var(--se-text-md); color: var(--se-on-dark); }
.se-b--footer.ft--detailed .ft__mono { font-family: var(--se-font-mono); }
.se-b--footer.ft--detailed .ft__msgs { display: flex; flex-wrap: wrap; gap: var(--se-s-1) var(--se-s-4); margin-top: var(--se-s-2); }
.se-b--footer.ft--detailed .ft__msgs a { display: inline-flex; align-items: center; gap: var(--se-s-2); font-size: var(--se-text-sm); }
.se-b--footer.ft--detailed .ft__bottom { margin-top: 0; padding-top: var(--se-s-6); border-top: 0; color: var(--se-on-dark-faint); opacity: 1; }
.se-b--footer.ft--detailed.tone--dark .ft__bottom a { color: var(--se-on-dark-faint); }

/* три колонки */
.se-b--footer.ft--split { padding-block: var(--se-s-10); }
.se-b--footer .ft__split { display: grid; gap: var(--se-s-10); }
@media (min-width: 768px) { .se-b--footer .ft__split { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); } .se-b--footer .ft__snav { justify-self: center; } .se-b--footer .ft__sinfo { justify-self: end; text-align: right; } }
.se-b--footer .ft__sbrand { display: grid; gap: var(--se-s-3); align-content: start; }
.se-b--footer .ft__sname { font-family: var(--se-font-head, var(--se-font)); font-size: var(--se-text-lg); font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.se-b--footer .ft__sabout { max-width: 24rem; color: var(--se-muted); }
.se-b--footer .ft__slegal { display: grid; gap: var(--se-s-1); padding-top: var(--se-s-2); font-size: var(--se-text-sm); }
.se-b--footer.ft--split a { color: var(--se-muted); opacity: 1; text-decoration: none; }
.se-b--footer.ft--split .ft__slegal a { text-decoration: underline; text-decoration-color: color-mix(in oklab, var(--se-accent) 50%, transparent); text-underline-offset: 4px; }
.se-b--footer.ft--split a:hover { color: var(--se-accent); }
.se-b--footer .ft__snav { display: grid; gap: var(--se-s-2); align-content: start; font-size: var(--se-text-sm); }
.se-b--footer .ft__sinfo { display: grid; gap: var(--se-s-2); align-content: start; font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--footer .ft__sinfo p:first-child { margin-bottom: var(--se-s-2); }

/* «Значки связи по центру»: меню столбиком, квадратные значки фирменного цвета, текст справа */
.se-b--footer .ft__cgrid { display: grid; gap: var(--se-s-8); align-items: center; }
@media (min-width: 900px) { .se-b--footer .ft__cgrid { grid-template-columns: 1fr auto 1fr; } }
.se-b--footer .ft__cmenu { display: grid; gap: var(--se-s-1); justify-items: start; }
.se-b--footer .ft__cmenu a { color: inherit; text-decoration: none; font-weight: 600; }
.se-b--footer .ft__cmid { display: grid; justify-items: center; gap: var(--se-s-3); }
.se-b--footer .ft__cicons { display: flex; gap: var(--se-s-3); }
.se-b--footer .ft__cicons a { display: grid; place-items: center; width: 3.75rem; height: 3.75rem; border-radius: var(--se-radius); background: var(--se-accent); color: #fff; }
.se-b--footer .ft__cicons a:hover { background: var(--se-accent-hover); color: #fff; }
.se-b--footer .ft__cnote { font-weight: 600; text-align: center; }
.se-b--footer .ft__cinfo { display: grid; gap: var(--se-s-4); font-weight: 600; font-size: var(--se-text-sm); }
.se-b--footer .ft__formcol .se-lead__row { flex-direction: column; align-items: stretch; }
.se-b--footer .ft__formtext { margin-bottom: var(--se-s-3); font-size: var(--se-text-sm); opacity: .8; }
.se-b--footer .ft__formcol .se-lead__input { flex: none; }

/* ── footer · float_contact ── */
.se-b--float_contact { position: fixed; right: var(--se-s-5); bottom: max(var(--se-s-5), env(safe-area-inset-bottom, 0px) + var(--se-s-4)); z-index: 40; background: none; }
.se-b--float_contact .fc__toggle { display: inline-flex; align-items: center; gap: var(--se-s-3); min-height: 52px; padding: 0 var(--se-s-5); border: 0; background: var(--se-dark); color: var(--se-on-dark); border-radius: var(--se-radius); box-shadow: var(--se-shadow-pop); font: inherit; font-size: var(--se-text-sm); font-weight: 600; cursor: pointer; }
.se-b--float_contact .fc__toggle:hover { background: color-mix(in oklab, var(--se-dark) 88%, black); }
.se-b--float_contact .fc__ico { display: inline-flex; }
.se-b--float_contact .fc__ico--close, .se-b--float_contact.is-open .fc__ico--chat { display: none; }
.se-b--float_contact.is-open .fc__ico--close { display: inline-flex; }
.se-b--float_contact .fc__panel { position: absolute; right: 0; bottom: calc(100% + var(--se-s-3)); width: min(19rem, calc(100vw - var(--se-s-8))); padding: var(--se-s-5); background: var(--se-surface); color: var(--se-ink); border: 1px solid var(--se-line-strong); border-radius: var(--se-radius); box-shadow: var(--se-shadow-pop); }
.se-b--float_contact .fc__panel[hidden] { display: none; }
.se-b--float_contact .fc__title { font-size: var(--se-text-md); font-weight: 600; letter-spacing: var(--se-tracking-snug); }
.se-b--float_contact .fc__text { margin-top: var(--se-s-2); font-size: var(--se-text-xs); line-height: var(--se-leading-normal); color: var(--se-muted); }
.se-b--float_contact .fc__links { display: grid; gap: var(--se-s-2); margin-top: var(--se-s-4); }
.se-b--float_contact .fc__link { display: flex; align-items: center; justify-content: space-between; gap: var(--se-s-3); min-height: 46px; padding: 0 var(--se-s-4); border: 1px solid var(--se-line-strong); border-radius: min(var(--se-radius), 3px); color: var(--se-ink); font-size: var(--se-text-sm); font-weight: 500; text-decoration: none; }
.se-b--float_contact .fc__link span { flex: 1; }
.se-b--float_contact .fc__link:hover { border-color: var(--se-link); color: var(--se-link); }
.se-b--float_contact .fc__link--request { background: var(--se-accent); border-color: var(--se-accent); color: var(--se-on-accent); }
.se-b--float_contact .fc__link--request:hover { background: var(--se-accent-hover); border-color: var(--se-accent-hover); color: var(--se-on-accent); }
.se-b--float_contact .fc__phone { display: block; margin-top: var(--se-s-4); padding-top: var(--se-s-4); border-top: 1px solid var(--se-line); font-family: var(--se-font-mono); font-size: var(--se-text-sm); color: var(--se-ink-2); text-decoration: none; }
@media (max-width: 640px) {
  .se-b--float_contact { right: var(--se-s-4); }
  .se-b--float_contact .fc__toggle { justify-content: center; width: 52px; padding: 0; gap: 0; }
  .se-b--float_contact .fc__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* ── footer · totop ── */
/* Кнопка «Наверх» (поле подвала to_top): круглая, в левом нижнем углу — справа уже кнопка «Написать» */
.se-b--totop { position: fixed; left: var(--se-s-5); bottom: max(var(--se-s-5), env(safe-area-inset-bottom, 0px) + var(--se-s-4)); z-index: 40; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border-radius: 50%; background: var(--se-accent); color: var(--se-on-accent); box-shadow: var(--se-shadow-pop); text-decoration: none; opacity: 0; transform: translateY(12px); transition: opacity var(--se-duration) var(--se-ease), transform var(--se-duration) var(--se-ease), background var(--se-duration); }
.se-b--totop.is-shown { opacity: 1; transform: none; }
.se-b--totop:hover { background: var(--se-accent-hover); color: var(--se-on-accent); }

/* ── gallery ── */
.se-b--gallery .gal__list { list-style: none; margin: 0; padding: 0; gap: var(--se-s-4); }
@media (max-width: 639px) { .se-b--gallery .gal__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.se-b--gallery .gal__link { display: block; cursor: zoom-in; }
.se-b--gallery .gal__link img { transition: transform .4s var(--se-ease); }
.se-b--gallery .gal__link:hover img { transform: scale(1.03); }
.se-b--gallery .gal__cap { margin-top: var(--se-s-2); font-size: var(--se-text-sm); color: var(--se-muted); }
/* Просмотр крупно (lib.js) */
.se-lightbox { position: fixed; inset: 0; z-index: 2147483600; display: grid; place-items: center; background: rgb(10 12 16 / .92); padding: 4vh 4vw; }
.se-lightbox img { max-width: 100%; max-height: 84vh; object-fit: contain; border-radius: 4px; }
.se-lightbox p { position: absolute; left: 0; right: 0; bottom: 3vh; margin: 0; text-align: center; color: #fff; font: 15px/1.4 system-ui, sans-serif; }
.se-lightbox button { position: absolute; border: 0; background: rgb(255 255 255 / .12); color: #fff; width: 48px; height: 48px; border-radius: 50%; font-size: 26px; cursor: pointer; }
.se-lightbox button:hover { background: rgb(255 255 255 / .25); }
.se-lightbox .lb-close { top: 16px; right: 16px; }
.se-lightbox .lb-prev { left: 16px; top: 50%; transform: translateY(-50%); }
.se-lightbox .lb-next { right: 16px; top: 50%; transform: translateY(-50%); }

/* ── Галерея «история» ── */
.se-b--gallery .gs__feature { display: grid; gap: 1.1rem; align-items: stretch; margin-bottom: 1.1rem; }
@media (min-width: 1100px) { .se-b--gallery .gs__feature { grid-template-columns: minmax(0, 1.3fr) minmax(19rem, .82fr); } .se-b--gallery .gs__feature--solo { grid-template-columns: minmax(0, 1fr); } }
.se-b--gallery .gs__card { display: grid; align-content: start; overflow: hidden; color: inherit; text-decoration: none; border: 1px solid var(--se-line); border-radius: calc(var(--se-radius) * 1.2); background: var(--se-surface); transition: transform 220ms ease, box-shadow 220ms ease; }
.se-b--gallery .gs__card:hover { color: inherit; transform: translateY(-.2rem); }
.se-b--gallery .gs__media { display: block; overflow: hidden; background: var(--se-sunken); }
.se-b--gallery .gs__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 520ms ease; }
.se-b--gallery .gs__card:hover .gs__media img { transform: scale(1.04); }
.se-b--gallery .gs__media--featured { aspect-ratio: 16 / 11.2; }
.se-b--gallery .gs__media--wide { aspect-ratio: 16 / 9.8; }
.se-b--gallery .gs__media--standard { aspect-ratio: 16 / 10.8; }
.se-b--gallery .gs__copy { display: grid; gap: .7rem; align-content: start; min-height: 8.7rem; padding: 1.1rem 1.2rem 1.35rem; }
.se-b--gallery .gs__copy--lead { min-height: 9.4rem; padding: clamp(1.2rem, 2vw, 1.55rem); }
.se-b--gallery .gs__meta { font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--se-muted); }
.se-b--gallery .gs__title { font-family: var(--se-font-head, var(--se-font)); font-size: 1.14rem; font-weight: 700; line-height: 1.12; }
.se-b--gallery .gs__title--lead { font-size: clamp(1.45rem, 2.2vw, 1.95rem); }
.se-b--gallery .gs__alt { max-width: 40ch; font-size: .94rem; line-height: 1.62; color: var(--se-muted); }
.se-b--gallery .gs__story { display: grid; gap: 1rem; align-content: start; padding: clamp(1.25rem, 2vw, 1.55rem); border: 1px solid var(--se-line); border-radius: calc(var(--se-radius) * 1.2);
  background: linear-gradient(180deg, color-mix(in oklab, var(--se-accent) 7%, var(--se-surface)), var(--se-surface)); }
.se-b--gallery .gs__story-title { max-width: 18ch; font-size: clamp(1.35rem, 1.9vw, 1.8rem); line-height: 1.05; }
.se-b--gallery .gs__story-text { color: var(--se-muted); line-height: 1.7; }
.se-b--gallery .gs__points { display: grid; gap: .75rem; margin: 0; padding: 0; list-style: none; }
.se-b--gallery .gs__points li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem; padding-top: .8rem; border-top: 1px solid var(--se-line); color: var(--se-muted); line-height: 1.55; }
.se-b--gallery .gs__points li:first-child { padding-top: 0; border-top: 0; }
.se-b--gallery .gs__num { min-width: 2.3rem; font-family: var(--se-font-head, var(--se-font)); font-size: 1.4rem; font-weight: 800; line-height: 1; color: var(--se-accent); }
.se-b--gallery .gs__plabel { display: block; margin-bottom: .25rem; font-size: .72rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--se-muted); }
.se-b--gallery .gs__grid { display: grid; gap: 1.1rem; align-items: stretch; }
@media (min-width: 900px) {
  .se-b--gallery .gs__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); grid-auto-flow: dense; }
  .se-b--gallery .gs__span-12 { grid-column: span 12; } .se-b--gallery .gs__span-7 { grid-column: span 7; } .se-b--gallery .gs__span-6 { grid-column: span 6; }
  .se-b--gallery .gs__span-5 { grid-column: span 5; } .se-b--gallery .gs__span-4 { grid-column: span 4; }
}
/* подписи под фото: без карточек, фото скруглено, подпись под ним */
.se-b--gallery.gs--plain .gs__card { border: 0; background: none; box-shadow: none; overflow: visible; }
.se-b--gallery.gs--plain .gs__card:hover { transform: none; }
.se-b--gallery.gs--plain .gs__media { border-radius: calc(var(--se-radius) * 1.05); }
.se-b--gallery.gs--plain .gs__copy { min-height: 0; padding: .45rem 0 0; gap: .45rem; }
.se-b--gallery.gs--plain .gs__copy--lead { min-height: 8.9rem; }
.se-b--gallery.gs--plain .gs__story { border-color: transparent; background: linear-gradient(180deg, color-mix(in oklab, var(--se-accent) 4%, var(--se-paper)), var(--se-paper)); }
.se-b--gallery.gs--plain .gs__grid { align-items: start; }
/* подпись сразу под фото / прижата к низу */
.se-b--gallery.gs--top .gs__item, .se-b--gallery.gs--bottom .gs__item { align-self: start; }
.se-b--gallery.gs--top .gs__item .gs__copy, .se-b--gallery.gs--bottom .gs__item .gs__copy { gap: .38rem; min-height: 0; padding: .72rem .92rem .92rem; }
.se-b--gallery.gs--top .gs__item .gs__title, .se-b--gallery.gs--bottom .gs__item .gs__title { font-size: 1.08rem; }
.se-b--gallery.gs--bottom .gs__item { align-self: stretch; grid-template-rows: auto 1fr; }
.se-b--gallery.gs--bottom .gs__item .gs__copy { align-content: end; min-height: 8.8rem; }
/* фото на всю карточку: карточка высокая, фото заполняет её */
.se-b--gallery.gs--full .gs__item { grid-template-rows: minmax(0, 1fr) auto; min-height: 26.5rem; }
.se-b--gallery.gs--full .gs__item.gs__span-12 { min-height: 31rem; }
.se-b--gallery.gs--full .gs__item.gs__span-4 { min-height: 22.5rem; }
.se-b--gallery.gs--full .gs__item .gs__media { aspect-ratio: auto; height: 100%; }
.se-b--gallery.gs--full .gs__item .gs__copy { min-height: 7.6rem; padding: .95rem 1.05rem 1.15rem; gap: .55rem; }

/* «Где я в ленте»: номер в углу, точки, миниатюры */
.se-b .gc__count { position: absolute; top: 12px; left: 12px; z-index: 1; padding: 4px 10px; border-radius: 999px; background: rgb(0 0 0 / .55); color: #fff; font-size: var(--se-text-sm); font-variant-numeric: tabular-nums; pointer-events: none; }
.se-b .gc__dots { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin-top: var(--se-s-4); }
.se-b .gc__dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: var(--se-line); cursor: pointer; }
.se-b .gc__dots button[aria-current="true"] { background: var(--se-accent); }
.se-b .gc__thumbs { display: flex; gap: 8px; margin-top: var(--se-s-3); overflow-x: auto; scrollbar-width: thin; padding-bottom: 4px; }
.se-b .gc__thumb { flex: 0 0 auto; width: 84px; height: 60px; padding: 0; border: 2px solid transparent; border-radius: calc(var(--se-radius) / 2); background: var(--se-sunken); overflow: hidden; cursor: pointer; opacity: .6; transition: opacity var(--se-duration) var(--se-ease); }
.se-b .gc__thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.se-b .gc__thumb:hover { opacity: 1; }
.se-b .gc__thumb.is-active { opacity: 1; border-color: var(--se-accent); }
@media (max-width: 640px) { .se-b .gc__thumb { width: 64px; height: 46px; } }
.se-b .gc[data-gc-pager="thumbs"] .gc__arrow { margin-top: -60px; }  /* стрелки — по середине фото, а не всей ленты с миниатюрами */
.se-b .gc[data-gc-pager="dots"] .gc__arrow { margin-top: -35px; }
@media (max-width: 640px) { .se-b .gc[data-gc-pager="thumbs"] .gc__arrow { margin-top: -53px; } }

/* ── gallery · video ── */
.se-b--video .vd__frame { position: relative; aspect-ratio: 16 / 9; border-radius: var(--se-radius); overflow: hidden; background: #000; }
.se-b--video .vd__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.se-b--video .vd__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .85; }
.se-b--video .vd__frame:not(:has(iframe)) { background: radial-gradient(circle at 50% 45%, color-mix(in oklab, var(--se-dark) 70%, #444), var(--se-dark)); }
.se-b--video .vd__play { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: var(--se-s-3); width: 100%; border: 0; background: transparent; color: var(--se-accent); cursor: pointer; font: inherit; }
.se-b--video .vd__play span { color: #fff; font-size: var(--se-text-sm); font-weight: 600; text-shadow: 0 1px 6px rgb(0 0 0 / .6); }
.se-b--video .vd__play:hover svg { transform: scale(1.06); }
.se-b--video .vd__play svg { transition: transform var(--se-duration) var(--se-ease); filter: drop-shadow(0 4px 14px rgb(0 0 0 / .35)); }

/* ── header ── */
.se-b--header { padding-block: var(--se-s-3); border-bottom: 1px solid var(--se-line); z-index: 50; }
.se-b--header.hd--sticky { position: sticky; top: 0 }
.se-b--header .hd__bar { display: flex; align-items: center; gap: var(--se-s-6); min-height: 56px; }
.se-b--header .hd__logo { display: flex; align-items: center; gap: var(--se-s-3); color: inherit; text-decoration: none; flex-shrink: 0; }
.se-b--header .hd__logo img { max-height: var(--hd-logo, 48px); width: auto; }
.se-b--header.hd--logo-s { --hd-logo: 38px; }
.se-b--header.hd--logo-l { --hd-logo: 68px; }
.se-b--header.hd--logo-xl { --hd-logo: 92px; }
@media (max-width: 1023px) { .se-b--header.hd--logo-l, .se-b--header.hd--logo-xl { --hd-logo: 52px; } }
@media (max-width: 520px) { .se-b--header.hd--logo-l, .se-b--header.hd--logo-xl { --hd-logo: 40px; } }
.se-b--header .hd__name { display: flex; flex-direction: column; font-weight: 800; font-size: var(--se-text-lg); line-height: 1.1; }
.se-b--header .hd__name small { font-weight: 400; font-size: var(--se-text-xs); color: var(--se-muted); margin-top: 2px; }
.se-b--header .hd__nav { margin-left: auto; }
.se-b--header .hd__menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--se-s-2) var(--se-s-6); } /* пункт не рвётся, а целиком уходит на вторую строку */
.se-b--header .hd__menu a { color: inherit; text-decoration: none; font-weight: 500; font-size: var(--se-text-sm); white-space: nowrap; }
.se-b--header .hd__menu a:hover, .se-b--header .hd__menu a[aria-current="page"] { color: var(--se-accent); }
.se-b--header .has-sub { position: relative; }
.se-b--header .has-sub > a::after { content: ""; display: inline-block; width: 6px; height: 6px; margin-left: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); }
.se-b--header .hd__sub { list-style: none; margin: 0; padding: var(--se-s-2) 0; position: absolute; top: 100%; left: -12px; min-width: 220px; background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); box-shadow: 0 12px 32px -12px rgb(0 0 0 / .25); opacity: 0; visibility: hidden; transform: translateY(6px); transition: all var(--se-duration) var(--se-ease); }
.se-b--header .has-sub:hover .hd__sub, .se-b--header .has-sub:focus-within .hd__sub { opacity: 1; visibility: visible; transform: none; }
.se-b--header .hd__sub a { display: block; padding: var(--se-s-2) var(--se-s-4); color: var(--se-ink); }
.se-b--header .hd__right { display: flex; align-items: center; gap: var(--se-s-4); }
.se-b--header .hd__phone { color: inherit; text-decoration: none; font-weight: 700; white-space: nowrap; }
.se-b--header .hd__phones { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.se-b--header .hd__phones .hd__phone + .hd__phone { font-weight: 600; font-size: var(--se-text-sm); color: var(--se-muted); }
@media (max-width: 1023px) { .se-b--header .hd__phones .hd__phone + .hd__phone { display: none; } }
.se-b--header .hd__msg { display: flex; gap: var(--se-s-2); }
.se-b--header .hd__msg a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; color: var(--se-accent); background: color-mix(in oklab, var(--se-accent) 10%, transparent); }
.se-b--header .hd__cb { min-height: 42px; padding: 0.55rem 1.1rem; white-space: nowrap; }
.se-b--header .hd__burger { display: none; width: 44px; height: 44px; border: 0; background: none; padding: 10px; cursor: pointer; color: inherit; }
.se-b--header .hd__burger span { display: block; height: 2px; background: currentColor; margin: 5px 0; transition: transform var(--se-duration); }
@media (max-width: 1023px) {
  .se-b--header .hd__nav { position: fixed; inset: 64px 0 0 0; background: var(--se-surface); padding: var(--se-s-6) var(--se-gutter); overflow: auto; transform: translateX(100%); transition: transform var(--se-duration) var(--se-ease); margin: 0; }
  .se-b--header.menu-open .hd__nav { transform: none; }
  .se-b--header .hd__menu { flex-direction: column; gap: var(--se-s-4); }
  .se-b--header .hd__menu a { font-size: var(--se-text-lg); color: var(--se-ink); }
  .se-b--header .hd__sub { position: static; opacity: 1; visibility: visible; transform: none; border: 0; box-shadow: none; padding: var(--se-s-2) 0 0 var(--se-s-4); }
  .se-b--header .hd__burger { display: block; }
  .se-b--header .hd__right { margin-left: auto; }
  .se-b--header .hd__cb, .se-b--header .hd__msg { display: none; }
}
@media (max-width: 520px) { .se-b--header .hd__phone { font-size: var(--se-text-sm); } }
@media (max-width: 520px) {
  .se-b--header .hd__bar { gap: var(--se-s-3); }
  .se-b--header .hd__logo { min-width: 0; flex-shrink: 1; }
  .se-b--header .hd__name { min-width: 0; font-size: var(--se-text-md); }
  .se-b--header .hd__name, .se-b--header .hd__name small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .se-b--header .hd__right { gap: var(--se-s-2); }
  .se-b--header .hd__burger { width: 40px; padding: 10px 6px; margin-right: -6px; }
}

.se-b--header .hd__logo--bg { background: var(--se-accent); padding: 6px 14px; border-radius: var(--se-radius); align-self: stretch; margin-block: calc(-1 * var(--se-s-3)); border-radius: 0; }
.se-b--header .hd__logo--bg img { max-height: var(--hd-logo, 58px); }

/* Раскладка «меню полосой»: логотип и контакты сверху, меню — цветной строкой во всю ширину */
@media (min-width: 1024px) {
  .se-b--header.hd--bar { padding-bottom: 0; }
  .se-b--header.hd--bar .hd__bar { flex-wrap: wrap; row-gap: var(--se-s-3); }
  /* полоса во всю ширину окна: фон тянется тенью за пределы контейнера, лишнее срезается clip-path */
  .se-b--header.hd--bar .hd__nav { order: 5; flex: 0 0 100%; margin: 0; background: var(--se-accent2); box-shadow: 0 0 0 100vmax var(--se-accent2); clip-path: inset(0 -100vmax); }
  .se-b--header.hd--bar .hd__right { margin-left: auto; }
  .se-b--header.hd--bar .hd__menu { justify-content: space-between; gap: 0; flex-wrap: wrap; }
  .se-b--header.hd--bar .hd__menu > li > a { display: block; padding: .75em .35em; color: var(--se-on-accent2); font-weight: 600; font-size: var(--hd-menu-fs, clamp(.74rem, .45rem + .4vw, .9rem)); white-space: nowrap; text-align: center; }
  /* lib.js подбирает размер шрифта (--hd-menu-fs), чтобы все пункты встали в одну строку */
  .se-b--header.hd--bar.hd--fit .hd__nav { min-width: 0; }
  .se-b--header.hd--bar.hd--fit .hd__menu { flex-wrap: nowrap; }
  .se-b--header.hd--bar.hd--fit .hd__menu > li { flex: 1 1 auto; }
  .se-b--header.hd--bar .hd__menu > li > a:hover, .se-b--header.hd--bar .hd__menu > li > a[aria-current="page"] { color: var(--se-on-accent2); background: var(--se-accent2-hover); }
  /* ячейки: пункты растягиваются на всю полосу, между ними — просвет цвета фона (как таблица);
     просвет — это фон списка в промежутках gap, поэтому при переносе на 2 строки лишних линий по краям нет */
  .se-b--header.hd--bar.hd--cells .hd__menu { gap: 2px; background: var(--se-surface); }
  .se-b--header.hd--bar.hd--cells .hd__menu > li { flex: 1 1 auto; background: var(--se-accent2); }
  .se-b--header.hd--bar.hd--cells .hd__menu > li > a { padding-inline: .3em; }
}

/* ── Компактная шапка. Пороги — как у okna-surguta: до 900 только меню-шторка; 900–1359 телефон и кнопка;
   от 1360 меню в строку; от 1440 ещё и адрес ── */
.se-b--header.hd--compact { padding-block: 0; }
.se-b--header .hc__inner { display: flex; align-items: center; gap: var(--se-s-6); min-height: var(--se-header-height); padding-block: var(--se-s-3); }
.se-b--header .hc__logo { flex-shrink: 0; line-height: 0; color: inherit; text-decoration: none; }
.se-b--header .hc__logo img { height: 40px; width: auto; }
.se-b--header .hc__nav { display: none; align-items: center; gap: var(--se-s-6); margin-right: auto; }
.se-b--header .hc__link { color: var(--se-ink-2); font-size: var(--se-text-sm); white-space: nowrap; text-decoration: none; }
.se-b--header .hc__link:hover, .se-b--header .hc__link[aria-current="page"] { color: var(--se-ink); }
.se-b--header .hc__contact { display: none; flex-direction: column; align-items: flex-end; line-height: 1.25; }
.se-b--header .hc__phone { font-family: var(--se-font-mono); font-size: var(--se-text-md); font-weight: 500; color: var(--se-ink); letter-spacing: -0.01em; white-space: nowrap; text-decoration: none; }
.se-b--header .hc__address { font-size: var(--se-text-xs); color: var(--se-faint); }
.se-b--header .hc__cta { display: none; flex-shrink: 0; min-height: 46px; padding: var(--se-s-3) var(--se-s-5); }
.se-b--header .hc__burger { display: grid; place-items: center; width: 46px; height: 46px; margin-left: auto; padding: 0; border: 1px solid var(--se-line-strong); border-radius: min(var(--se-radius), 3px); background: none; color: var(--se-ink); cursor: pointer; }
@media (min-width: 900px) {
  .se-b--header .hc__contact { display: flex; margin-left: auto; }
  .se-b--header .hc__cta { display: inline-flex; }
  .se-b--header .hc__address { display: none; }
  .se-b--header .hc__inner > .hc__burger { margin-left: 0; }
}
@media (min-width: 1360px) {
  .se-b--header .hc__nav { display: flex; }
  .se-b--header .hc__contact { margin-left: 0; }
  .se-b--header .hc__inner > .hc__burger { display: none; }
}
@media (min-width: 1440px) { .se-b--header .hc__address { display: block; } }
.hc__menu { position: fixed; inset: 0; z-index: 60; display: flex; flex-direction: column; background: var(--se-surface); padding: var(--se-s-4) var(--se-gutter) var(--se-s-8); overflow-y: auto; }
.hc__menu[hidden] { display: none; }
.hc__menu .hc__menu-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: var(--se-s-6); }
.hc__menu .hc__menu-label { font-family: var(--se-font-mono); font-size: var(--se-text-xs); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-muted); }
.hc__menu .hc__burger { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; border: 1px solid var(--se-line-strong); border-radius: min(var(--se-radius), 3px); background: none; color: var(--se-ink); cursor: pointer; }
.hc__menu .hc__menu-nav { display: flex; flex-direction: column; }
.hc__menu .hc__menu-nav a { padding-block: var(--se-s-4); border-bottom: 1px solid var(--se-line); color: var(--se-ink); font-size: var(--se-text-xl); font-weight: 600; letter-spacing: var(--se-tracking-snug); text-decoration: none; }
.hc__menu .hc__menu-foot { display: flex; flex-direction: column; gap: var(--se-s-2); margin-top: auto; padding-top: var(--se-s-8); }
.hc__menu .hc__menu-phone { font-family: var(--se-font-mono); font-size: var(--se-text-xl); font-weight: 500; color: var(--se-ink); text-decoration: none; }
.hc__menu .hc__menu-address { font-size: var(--se-text-sm); color: var(--se-muted); }
.hc__menu .hc__menu-cta { margin-top: var(--se-s-4); min-height: 54px; font-size: var(--se-text-md); }
@media (min-width: 1360px) { .hc__menu { display: none !important; } }

/* ── Плавающая шапка: полупрозрачная панель поверх первого экрана ── */
.se-b--header.hd--floating { position: fixed; top: 0; left: 0; right: 0; padding: var(--se-s-4) var(--se-s-2) 0; background: none; border: 0; z-index: 50; }
.se-b--header.hd--floating .hd__bar { max-width: min(100%, 80rem); margin: 0 auto; padding: var(--se-s-4) var(--se-s-5); min-height: 0; border: 1px solid rgb(0 0 0 / .08); border-radius: var(--se-radius); background: rgb(255 255 255 / .75); -webkit-backdrop-filter: blur(24px); backdrop-filter: blur(24px); box-shadow: 0 12px 40px rgb(17 17 17 / .08); }
.se-b--header.hd--floating .hd__name { font-size: clamp(.95rem, 2.8vw, 1.08rem); font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.se-b--header.hd--floating .hd__nav { margin-inline: auto; }
.se-b--header.hd--floating .hd__menu { gap: var(--se-s-6); }
.se-b--header.hd--floating .hd__menu a { position: relative; font-size: .75rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--se-muted); white-space: nowrap; }
.se-b--header.hd--floating .hd__menu a::after { content: ""; position: absolute; left: 0; right: 0; bottom: -.5rem; height: 1px; background: rgb(17 17 17 / .28); transform: scaleX(0); transform-origin: left; transition: transform var(--se-duration); }
.se-b--header.hd--floating .hd__menu a:hover, .se-b--header.hd--floating .hd__menu a[aria-current="page"] { color: var(--se-ink); }
.se-b--header.hd--floating .hd__menu a:hover::after, .se-b--header.hd--floating .hd__menu a[aria-current="page"]::after { transform: scaleX(1); }
.se-b--header.hd--floating .hd__right { margin-left: 0; }
@media (max-width: 1023px) {
  .se-b--header.hd--floating .hd__right { margin-left: auto; }
  .se-b--header.hd--floating .hd__burger { width: 44px; height: 44px; padding: 12px; border: 1px solid rgb(0 0 0 / .1); border-radius: 50%; background: #fff; box-shadow: 0 10px 26px rgb(17 17 17 / .08); }
  .se-b--header.hd--floating .hd__burger span { margin: 3px 0; }
  .se-b--header.hd--floating .hd__nav { position: absolute; inset: auto var(--se-s-2) auto auto; top: calc(100% + var(--se-s-2)); width: min(calc(100vw - 2rem), 19rem); height: auto; padding: var(--se-s-5); border: 1px solid rgb(0 0 0 / .08); border-radius: calc(var(--se-radius) * .85); background: #fff; box-shadow: 0 24px 70px rgb(17 17 17 / .14); transform: none; display: none; overflow: visible; }
  .se-b--header.hd--floating.menu-open .hd__nav { display: block; }
  .se-b--header.hd--floating .hd__menu { gap: var(--se-s-3); }
  .se-b--header.hd--floating .hd__menu a { font-size: var(--se-text-sm); font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--se-muted); }
}

/* «Кнопка над меню»: крупный логотип слева на две строки, справа сверху телефон и кнопка, под ними меню */
@media (min-width: 1024px) {
  .se-b--header.hd--stacked .hd__bar { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "logo right" "logo nav"; align-items: center; column-gap: var(--se-s-8); row-gap: var(--se-s-2); padding-block: var(--se-s-4); }
  .se-b--header.hd--stacked .hd__logo { grid-area: logo; }
  .se-b--header.hd--stacked .hd__right { grid-area: right; justify-self: end; }
  .se-b--header.hd--stacked .hd__nav { grid-area: nav; justify-self: end; margin: 0; }
}
.se-b--header.hd--logo-xxl { --hd-logo: 110px; }
@media (max-width: 1023px) { .se-b--header.hd--logo-xxl { --hd-logo: 56px; } }
@media (max-width: 520px) { .se-b--header.hd--logo-xxl { --hd-logo: 42px; } }

/* адрес и часы работы рядом с логотипом (на широком экране) */
.se-b--header .hd__info { display: none; }
@media (min-width: 1024px) {
  .se-b--header .hd__info { display: flex; gap: var(--se-s-8); margin-left: var(--se-s-6); }
  .se-b--header .hd__infoitem { display: flex; align-items: flex-start; gap: var(--se-s-3); max-width: 15rem; font-size: var(--se-text-sm); line-height: 1.35; }
  .se-b--header .hd__infoitem .se-ico { flex-shrink: 0; color: var(--se-accent); }
  .se-b--header .hd__infoitem span { display: grid; }
  .se-b--header .hd__infoitem small { font-size: inherit; color: var(--se-muted); }
  .se-b--header .hd__infolink { color: var(--se-link); font-size: var(--se-text-xs); }
}

/* третий уровень меню: выпадает вправо от пункта подменю; на телефоне — списком с отступом */
.se-b--header .has-sub2 { position: relative; }
.se-b--header .has-sub2 > a::after { content: "›"; float: right; margin-left: var(--se-s-3); }
.se-b--header .hd__sub2 { list-style: none; margin: 0; padding: var(--se-s-2) 0; position: absolute; top: calc(-1 * var(--se-s-2)); left: 100%; min-width: 220px; background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); box-shadow: 0 12px 32px -12px rgb(0 0 0 / .25); opacity: 0; visibility: hidden; transition: all var(--se-duration) var(--se-ease); }
.se-b--header .has-sub2:hover > .hd__sub2, .se-b--header .has-sub2:focus-within > .hd__sub2 { opacity: 1; visibility: visible; }
.se-b--header .hd__sub2 a { display: block; padding: var(--se-s-2) var(--se-s-4); color: var(--se-ink); }
@media (max-width: 1023px) {
  .se-b--header .has-sub2 > a::after { content: none; }
  .se-b--header .hd__sub2 { position: static; opacity: 1; visibility: visible; border: 0; box-shadow: none; padding: var(--se-s-1) 0 0 var(--se-s-4); }
}

/* «Компактная при прокрутке» (поле sticky_compact): при прокрутке видна только строка меню;
   на телефоне — одна строка: логотип поменьше, телефон и кнопка меню (подпись и адрес прячутся) */
@media (max-width: 1023px) {
  .se-b--header.hd--compact-scroll.is-scrolled { --hd-logo: 34px; padding-block: 4px; }
  .se-b--header.hd--compact-scroll.is-scrolled .hd__tagline,
  .se-b--header.hd--compact-scroll.is-scrolled .hd__info { display: none; }
  .se-b--header.hd--compact-scroll.is-scrolled .hd__bar { flex-wrap: nowrap; row-gap: 0; }
}
@media (min-width: 1024px) {
  .se-b--header.hd--compact-scroll.is-scrolled .hd__logo,
  .se-b--header.hd--compact-scroll.is-scrolled .hd__info,
  .se-b--header.hd--compact-scroll.is-scrolled .hd__right { display: none; }
  .se-b--header.hd--compact-scroll.is-scrolled .hd__bar { padding-block: 0; }
  .se-b--header.hd--compact-scroll.is-scrolled .hd__nav { margin-block: 0 !important; }
}

/* ── hero ── */
.se-b--hero .hero__grid { display: grid; gap: var(--se-s-10); align-items: center; }
.se-b--hero .hero__text { display: flex; flex-direction: column; gap: var(--se-s-5); max-width: 40rem; }
.se-b--hero .hero__title { font-size: calc(var(--se-text-4xl) * var(--se-head-scale, 1)); line-height: 1.06; letter-spacing: -0.025em; max-width: 18ch; }
.se-b--hero .hero__lead { font-size: var(--se-text-lg); line-height: 1.5; color: var(--se-ink-2); max-width: 46ch; }
.se-b--hero.tone--dark .hero__lead, .se-b--hero.tone--accent .hero__lead { color: inherit; opacity: .85; }
.se-b--hero .se-actions { margin-top: var(--se-s-2); }
.se-b--hero .hero__below { margin-top: var(--se-s-10); }
@media (min-width: 960px) {
  .se-b--hero.hero--side .hero__grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr); gap: var(--se-s-16); }
}

/* Подложка: фото под текстом, затемнение снизу-слева для читаемости */
.se-b--hero.hero--background { color: #fff; min-height: min(86vh, 46rem); display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; }
.se-b--hero .hero__bg { position: absolute; inset: 0; z-index: 0; }
.se-b--hero .hero__bg img { width: 100%; height: 100%; object-fit: cover; }
/* затемнение: ровная подложка + градиент к тексту — белый текст читается и на светлых фото */
.se-b--hero .hero__bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to right, rgb(0 0 0 / .62), rgb(0 0 0 / .38) 55%, rgb(0 0 0 / .18)), rgb(0 0 0 / .12); }
.se-b--hero.hero--background > .se-container { position: relative; z-index: 1; }
.se-b--hero.hero--background .hero__lead { color: rgb(255 255 255 / .88); }
.se-b--hero.hero--background .se-head__eyebrow { color: rgb(255 255 255 / .85); }

/* Строка фактов: числа крупно, подписи мелко */
.se-b--hero .hero__facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--se-s-6) var(--se-s-8); margin: var(--se-s-12) 0 0; padding-top: var(--se-s-8); border-top: 1px solid var(--se-line); }
.se-b--hero.tone--dark .hero__facts, .se-b--hero.hero--background .hero__facts { border-color: rgb(255 255 255 / .2); }
.se-b--hero .hero__facts dt { font-size: var(--se-text-2xl); font-weight: 700; letter-spacing: -0.02em; }
.se-b--hero .hero__facts dd { margin: var(--se-s-2) 0 0; font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--hero.tone--dark .hero__facts dd, .se-b--hero.hero--background .hero__facts dd { color: inherit; opacity: .75; }
@media (min-width: 760px) { .se-b--hero .hero__facts { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* текст по центру (для подложки) */
.se-b--hero.hero--center .hero__grid { justify-items: center; }
.se-b--hero.hero--center .hero__text { align-items: center; text-align: center; margin-inline: auto; max-width: 48rem; }
.se-b--hero.hero--center .hero__title { max-width: 17.5ch; margin-inline: auto; }
.se-b--hero.hero--center .hero__lead { margin-inline: auto; }
.se-b--hero.hero--center .se-actions { justify-content: center; }
.se-b--hero.hero--background.hero--center { justify-content: center; }

/* картинка справа поверх фона (логотип партнёра) */
.se-b--hero .hero__badge { display: none; }
@media (min-width: 900px) {
  .se-b--hero.hero--background .hero__grid:has(.hero__badge) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .se-b--hero .hero__badge { display: flex; justify-content: center; align-items: center; }
  .se-b--hero .hero__badge img { max-width: 100%; max-height: 220px; width: auto; }
}

/* ── hero · page_header ── */
.se-b--page_header { border-bottom: 1px solid var(--se-line); padding-block: var(--se-s-6) var(--se-section-sm); }
.se-b--page_header .ph__crumbs { margin-bottom: var(--se-s-10); }
.se-b--page_header .ph__crumbs-list { display: flex; flex-wrap: wrap; gap: var(--se-s-2) var(--se-s-3); margin: 0; padding: 0; list-style: none; font-size: var(--se-text-xs); color: var(--se-faint); }
.se-b--page_header .ph__crumbs-list li + li::before { content: "/"; margin-right: var(--se-s-3); color: var(--se-line-strong); }
.se-b--page_header .ph__crumbs-list a { color: var(--se-muted); text-decoration: none; }
.se-b--page_header .ph__crumbs-list a:hover { color: var(--se-ink); }
.se-b--page_header .ph__eyebrow { font-family: var(--se-eyebrow-font, inherit); font-size: var(--se-text-xs); font-weight: var(--se-eyebrow-weight, 600); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-link); }
.se-b--page_header .ph__title { margin-top: var(--se-s-4); max-width: 20ch; }
.se-b--page_header .ph__eyebrow + .ph__title { margin-top: var(--se-s-4); }
.se-b--page_header .ph__col > .ph__title:first-child { margin-top: 0; }
.se-b--page_header .ph__text { margin-top: var(--se-s-5); max-width: 60ch; font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); color: var(--se-ink-2); }
.se-b--page_header .ph__grid { display: grid; gap: var(--se-s-8); }
.se-b--page_header .ph__media { border-radius: 0; }
.se-b--page_header .ph__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: var(--se-s-5); margin: var(--se-s-8) 0 0; padding-top: var(--se-s-6); border-top: 1px solid var(--se-line); }
.se-b--page_header .ph__facts dt { font-family: var(--se-font-mono); font-size: var(--se-text-xs); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-faint); }
.se-b--page_header .ph__facts dd { margin: var(--se-s-2) 0 0; font-size: var(--se-text-md); font-weight: 500; }
@media (min-width: 900px) {
  .se-b--page_header.ph--media .ph__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.58fr); align-items: center; gap: var(--se-s-12); }
  .se-b--page_header.ph--portrait .ph__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.34fr); }
  .se-b--page_header.ph--square .ph__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 0.46fr); }
}
@media (max-width: 899px) {
  .se-b--page_header.ph--landscape .ph__media, .se-b--page_header.ph--square .ph__media { aspect-ratio: 16 / 9 !important; }
}

/* метки, карточки, кнопки под текстом */
.se-b--page_header .ph__chips { display: flex; flex-wrap: wrap; gap: var(--se-s-2); margin: var(--se-s-5) 0 0; padding: 0; list-style: none; }
.se-b--page_header .ph__chips li { padding: .45rem .8rem; border: 1px solid var(--se-line); border-radius: 999px; font-size: var(--se-text-xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--se-ink-2); }
.se-b--page_header .ph__cards { display: grid; gap: var(--se-s-3); margin: var(--se-s-6) 0 0; }
@media (min-width: 640px) { .se-b--page_header .ph__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.se-b--page_header .ph__cards > div { padding: var(--se-s-4) var(--se-s-5); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--page_header .ph__cards dt { font-size: var(--se-text-xs); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--se-muted); }
.se-b--page_header .ph__cards dd { margin: var(--se-s-2) 0 0; font-size: var(--se-text-sm); line-height: var(--se-leading-normal); color: var(--se-ink-2); }
.se-b--page_header .ph__actions { margin-top: var(--se-s-6); }
/* крупное фото справа */
@media (min-width: 900px) {
  .se-b--page_header.ph--split.ph--media .ph__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: stretch; }
  .se-b--page_header.ph--split .ph__media { aspect-ratio: auto !important; min-height: 100%; }
  .se-b--page_header.ph--aside .ph__grid { grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr); align-items: start; gap: var(--se-s-12); }
}
/* факты панелью и боковая панель */
.se-b--page_header .ph__meta, .se-b--page_header .ph__aside { margin: 0; padding: var(--se-s-6) var(--se-s-8); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--page_header .ph__meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--se-s-5) var(--se-s-8); }
.se-b--page_header .ph__meta dt { font-size: var(--se-text-xs); font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--se-muted); }
.se-b--page_header .ph__meta dd { margin: var(--se-s-2) 0 0; font-size: var(--se-text-md); }
.se-b--page_header .ph__aside { display: grid; gap: var(--se-s-4); }
.se-b--page_header .ph__aside-text { color: var(--se-ink-2); line-height: var(--se-leading-relaxed); }
.se-b--page_header .ph__aside-list { display: grid; gap: var(--se-s-2); margin: 0; padding: var(--se-s-4) 0 0; border-top: 1px solid var(--se-line); list-style: none; font-size: var(--se-text-sm); }
.se-b--page_header .ph__aside-list li::before { content: "— "; color: var(--se-accent); }

.se-b--page_header .ph__note { margin-top: var(--se-s-5); max-width: 42rem; font-size: var(--se-text-sm); line-height: 1.72; color: var(--se-muted); }
.se-b--page_header .ph__stats { display: grid; gap: var(--se-s-4); margin: 0; padding-block: var(--se-s-4); border-block: 1px solid var(--se-line); }
@media (min-width: 640px) { .se-b--page_header .ph__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } .se-b--page_header .ph__stats > div + div { padding-left: var(--se-s-4); border-left: 1px solid var(--se-line); } }
.se-b--page_header .ph__stats dt { font-family: var(--se-font-head, var(--se-font)); font-size: clamp(1.8rem, 2.8vw, 2.35rem); font-weight: 800; line-height: 1; }
.se-b--page_header .ph__stats dd { margin: var(--se-s-2) 0 0; font-size: .72rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--se-muted); }
.se-b--page_header .ph__aside-list--rich { gap: var(--se-s-3); }
.se-b--page_header .ph__aside-list--rich li::before { content: none; }
.se-b--page_header .ph__aside-list--rich li > *, .se-b--page_header .ph__aside-list--rich a { display: grid; gap: var(--se-s-1); color: inherit; text-decoration: none; }
.se-b--page_header .ph__aside-list--rich span { color: var(--se-muted); font-size: var(--se-text-sm); }

/* ── hero · slider ── */
.se-b--slider { overflow: hidden; }
.se-b--slider .sl { position: relative; }
.se-b--slider .sl__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.se-b--slider .sl__track::-webkit-scrollbar { display: none; }
.se-b--slider .sl__track { cursor: grab; }
.se-b--slider .sl__track.is-drag { cursor: grabbing; scroll-snap-type: none; scroll-behavior: auto; user-select: none; }
.se-b--slider .sl__track img, .se-b .gc__track img { -webkit-user-drag: none; }
.se-b--slider .sl__slide { position: relative; flex: 0 0 100%; scroll-snap-align: start; display: flex; align-items: center; color: #fff; }
.se-b--slider.sl--tall .sl__slide { min-height: min(86vh, 44rem); }
.se-b--slider.sl--medium .sl__slide { min-height: min(62vh, 32rem); }
.se-b--slider.sl--banner .sl__slide { aspect-ratio: 16 / 7; min-height: 18rem; }
.se-b--slider .sl__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.se-b--slider .sl__img--empty { background: linear-gradient(135deg, var(--se-dark), color-mix(in oklab, var(--se-dark) 70%, var(--se-accent))); }
.se-b--slider.sl--dark .sl__slide:not(.sl__slide--asis)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgb(0 0 0 / .66), rgb(0 0 0 / .32) 55%, rgb(0 0 0 / .08)); }
.se-b--slider .sl__slide--asis .sl__img { object-fit: contain; background: var(--se-dark); }
.se-b--slider .sl__cover { position: absolute; inset: 0; z-index: 2; }
.se-b--slider .sl__text { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--se-s-5); padding-block: var(--se-s-16); }
.se-b--slider .sl__text--left > * { max-width: 38rem; }
.se-b--slider .sl__text--center { align-items: center; text-align: center; }
.se-b--slider .sl__text--center > * { max-width: 44rem; }
.se-b--slider .sl__eyebrow { font-size: var(--se-text-sm); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: var(--se-accent); padding: .3rem .7rem; border-radius: var(--se-radius); align-self: flex-start; }
.se-b--slider .sl__text--center .sl__eyebrow { align-self: center; }
.se-b--slider .sl__title { font-size: calc(var(--se-text-4xl) * var(--se-head-scale, 1)); line-height: 1.08; letter-spacing: -0.02em; color: #fff; text-shadow: 0 2px 18px rgb(0 0 0 / .25); }
.se-b--slider .sl__lead { font-size: var(--se-text-lg); color: rgb(255 255 255 / .9); }
.se-b--slider .se-btn--secondary { color: #fff; }
.se-b--slider .sl__arrow { position: absolute; top: 50%; z-index: 3; transform: translateY(-50%); width: 48px; height: 48px; border: 0; border-radius: 50%; background: rgb(255 255 255 / .9); color: var(--se-accent); font-size: 30px; line-height: 1; cursor: pointer; box-shadow: 0 4px 14px rgb(0 0 0 / .25); }
.se-b--slider .sl__arrow:hover { background: #fff; }
.se-b--slider .sl__arrow--prev { left: 16px; }
.se-b--slider .sl__arrow--next { right: 16px; }
.se-b--slider .sl__dots { position: absolute; left: 0; right: 0; bottom: 18px; z-index: 3; display: flex; justify-content: center; gap: 8px; }
.se-b--slider .sl__dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: rgb(255 255 255 / .55); cursor: pointer; }
.se-b--slider .sl__dots button[aria-current="true"] { background: #fff; width: 26px; border-radius: 5px; }
@media (max-width: 640px) { .se-b--slider .sl__arrow { display: none; } .se-b--slider .sl__text { padding-block: var(--se-s-12) var(--se-s-16); } }
/* текст не заезжает под стрелки */
@media (min-width: 641px) { .se-b--slider .sl__text { padding-inline: max(var(--se-gutter), 84px); } }

/* ── lead · contacts ── */
.se-b--contacts .ct__grid { display: grid; gap: var(--se-s-10); }
.se-b--contacts .ct__info { display: flex; flex-direction: column; gap: var(--se-s-5); }
.se-b--contacts .ct__lead { color: var(--se-ink-2); }
.se-b--contacts .ct__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-4); }
.se-b--contacts .ct__list li { display: grid; grid-template-columns: 22px 1fr; column-gap: var(--se-s-3); align-items: start; font-size: var(--se-text-md); }
.se-b--contacts .ct__list li > span:last-child:not(:nth-child(2)) { grid-column: 2; font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--contacts .ct__list .se-ico { color: var(--se-accent); margin-top: 2px; }
.se-b--contacts .ct__list a { color: inherit; text-decoration: none; font-weight: 600; }
.se-b--contacts .ct__msg { display: flex; flex-wrap: wrap; gap: var(--se-s-2); }
.se-b--contacts .ct__msgbtn { display: inline-flex; align-items: center; gap: var(--se-s-2); padding: 0.55rem 0.9rem; border: 1px solid var(--se-line-strong); border-radius: var(--se-radius); color: inherit; text-decoration: none; font-size: var(--se-text-sm); font-weight: 600; }
.se-b--contacts .ct__msgbtn:hover { border-color: currentColor; color: inherit; }
.se-b--contacts .ct__map { min-height: 360px; border-radius: var(--se-radius); overflow: hidden; background: var(--se-sunken); }
.se-b--contacts .ct__map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; }
@media (min-width: 960px) { .se-b--contacts .ct__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--se-s-16); } }

/* вид «карта ссылкой» */
.se-b--contacts .cm { display: grid; gap: var(--se-s-10); padding-block: var(--se-section-md); }
.se-b--contacts .cm__title { font-size: var(--se-text-2xl); }
.se-b--contacts .cm__lead { margin-top: var(--se-s-4); max-width: 52ch; font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); color: var(--se-on-dark-muted); }
.se-b--contacts .cm__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); gap: var(--se-s-6); margin: var(--se-s-10) 0; padding-top: var(--se-s-8); border-top: 1px solid var(--se-on-dark-line); }
.se-b--contacts .cm__list dt { font-family: var(--se-font-mono); font-size: var(--se-text-xs); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-on-dark-faint); }
.se-b--contacts .cm__list dd { display: flex; flex-direction: column; gap: var(--se-s-1); margin: var(--se-s-3) 0 0; font-size: var(--se-text-md); }
.se-b--contacts .cm__list svg { display: inline; vertical-align: -2px; margin-right: var(--se-s-2); color: var(--se-on-dark-faint); }
.se-b--contacts .cm__list a { color: var(--se-on-dark); text-decoration: none; }
.se-b--contacts .cm__list a:hover { color: var(--se-on-dark-muted); }
.se-b--contacts .cm__mono { font-family: var(--se-font-mono); }
.se-b--contacts .cm__actions .se-btn { min-height: 54px; padding: var(--se-s-4) var(--se-s-8); font-size: var(--se-text-md); }
.se-b--contacts .cm__map-btn { border-color: color-mix(in oklab, var(--se-on-dark) 55%, transparent) !important; color: var(--se-on-dark) !important; }
.se-b--contacts .cm__side { display: flex; flex-direction: column; gap: var(--se-s-6); }
.se-b--contacts .cm__form { padding: var(--se-s-6); background: color-mix(in oklab, var(--se-dark) 88%, white); border: 1px solid var(--se-on-dark-line); border-radius: var(--se-radius); }
.se-b--contacts .cm__form-title { margin-bottom: var(--se-s-5); font-size: var(--se-text-md); font-weight: 600; }
.se-b--contacts .cm__map { display: grid; place-items: center; min-height: 12rem; background: color-mix(in oklab, var(--se-dark) 88%, white); border: 1px solid var(--se-on-dark-line); border-radius: var(--se-radius); text-align: center; color: var(--se-on-dark-muted); text-decoration: none; font-family: var(--se-font-mono); font-size: var(--se-text-xs); letter-spacing: .06em; line-height: var(--se-leading-relaxed); }
.se-b--contacts .cm__map:hover { color: var(--se-on-dark); border-color: var(--se-on-dark-faint); }
@media (min-width: 1024px) { .se-b--contacts .cm { grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: var(--se-s-16); align-items: center; } }
.se-b--contacts .ct__map { position: relative; display: grid; }
.se-b--contacts .ct__map-stub { display: grid; place-content: center; justify-items: center; gap: var(--se-s-4); padding: var(--se-s-8); text-align: center; color: var(--se-ink-2);
  background: repeating-linear-gradient(45deg, var(--se-sunken) 0 18px, color-mix(in oklab, var(--se-sunken) 92%, var(--se-ink)) 18px 19px); }
.se-b--contacts .ct__map-stub svg { color: var(--se-accent); }
.se-b--contacts .ct__map-stub p { font-weight: 600; max-width: 30ch; }
.se-b--contacts .ct__map-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--se-s-3); }

/* «Контакты строками, карта под ними» */
.se-b--contacts .cw__list { list-style: none; margin: 0 0 var(--se-s-8); padding: 0; display: grid; gap: var(--se-s-3); font-size: var(--se-text-lg); }
.se-b--contacts .cw__list a { color: inherit; }
.se-b--contacts .cw__map { min-height: 400px; }
.se-b--contacts .cw__note { margin: var(--se-s-6) auto 0; max-width: none; text-align: center; font-weight: 600; font-size: var(--se-text-lg); }

/* ── lead · cta_band ── */
.se-b--cta_band .cta__grid { display: grid; gap: var(--se-s-8); align-items: center; }
.se-b--cta_band .cta__text { display: flex; flex-direction: column; gap: var(--se-s-4); }
.se-b--cta_band .cta__lead { font-size: var(--se-text-md); opacity: .85; }
.se-b--cta_band .cta__phone { display: inline-flex; align-items: center; gap: var(--se-s-3); font-size: var(--se-text-2xl); font-weight: 700; text-decoration: none; color: inherit; letter-spacing: -0.01em; }
.se-b--cta_band .cta__side { display: grid; gap: var(--se-s-4); }
@media (min-width: 960px) { .se-b--cta_band .cta__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--se-s-16); } }

/* полная форма: текст слева, форма справа фиксированной ширины */
.se-b--cta_band .cta__row { display: flex; flex-direction: column; gap: var(--se-s-8); }
.se-b--cta_band .cta__title { font-size: var(--se-text-2xl); max-width: 24ch; }
.se-b--cta_band.cta--full .cta__lead { margin-top: var(--se-s-3); color: var(--se-muted); max-width: 56ch; opacity: 1; }
.se-b--cta_band.cta--full.tone--dark .cta__lead { color: var(--se-on-dark-muted); }
.se-b--cta_band .cta__form { width: 100%; max-width: 26rem; }
.se-b--cta_band .cta__form--wide { max-width: 34rem; }
@media (min-width: 900px) {
  .se-b--cta_band .cta__row { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--se-s-16); }
  .se-b--cta_band .cta__form { flex-shrink: 0; }
}

/* без формы: карточка по центру или тёмная карточка строкой */
.se-b--cta_band .cta__card { display: grid; gap: var(--se-s-6); padding: clamp(1.9rem, 3.5vw, 3rem); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--cta_band.cta--center .cta__card { justify-items: center; text-align: center; }
.se-b--cta_band.cta--center .cta__copy { display: grid; gap: var(--se-s-5); justify-items: center; max-width: 48rem; }
.se-b--cta_band.cta--center .cta__lead { max-width: 42rem; color: var(--se-muted); opacity: 1; }
.se-b--cta_band.cta--center .cta__btns { justify-content: center; }
.se-b--cta_band.tone--dark .cta__card { border-color: rgb(255 255 255 / .12); background: linear-gradient(180deg, rgb(255 255 255 / .07), rgb(255 255 255 / .02)); }
.se-b--cta_band.tone--dark .cta__lead { color: rgb(255 255 255 / .74); }
.se-b--cta_band.cta--panel .cta__copy { display: grid; gap: var(--se-s-4); }
@media (min-width: 900px) { .se-b--cta_band.cta--panel .cta__card { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--se-s-10); } }

/* «Три способа связи»: три белые колонки с цветной чертой сверху */
.se-b--cta_band .th__grid { display: grid; gap: var(--se-s-5); }
@media (min-width: 900px) { .se-b--cta_band .th__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.se-b--cta_band .th__col { display: grid; align-content: start; justify-items: center; gap: var(--se-s-3); padding: var(--se-s-5); border-top: 3px solid var(--se-link); background: var(--se-surface); color: var(--se-ink); text-align: center; }
.se-b--cta_band .th__title { font-weight: 700; }
.se-b--cta_band .th__phone { color: inherit; text-decoration: none; font-size: var(--se-text-md); }
.se-b--cta_band .th__text { font-size: var(--se-text-sm); color: var(--se-ink-2); }
.se-b--cta_band .th__msg { display: flex; gap: var(--se-s-2); }
.se-b--cta_band .th__msg a { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--se-radius); background: var(--se-accent); color: var(--se-on-accent); }
.se-b--cta_band .th__form { display: grid; gap: var(--se-s-3); width: 100%; text-align: left; }
.se-b--cta_band .th__label { display: grid; gap: 4px; font-size: var(--se-text-sm); color: var(--se-muted); }

/* ── lead · lead_form ── */
.se-b--lead_form .lf__grid { display: grid; gap: var(--se-s-10); align-items: center; }
.se-b--lead_form.lf--center .lf__form { margin-inline: auto; max-width: 36rem; }
@media (min-width: 960px) { .se-b--lead_form.lf--side .lf__grid { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--se-s-16); } }
.se-b--lead_form .lf__form { display: grid; gap: var(--se-s-4); max-width: none; }
.se-b--lead_form .lf__lead { color: var(--se-muted); margin-top: calc(-1 * var(--se-s-2)); }
.se-b--lead_form .se-lead__input { width: 100%; }
.se-b--lead_form .lf__comment { min-height: 6rem; padding-block: var(--se-s-3); resize: vertical; }
.se-b--lead_form .lf__opts { margin: 0; padding: 0; border: 0; display: grid; gap: var(--se-s-2); grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); }
.se-b--lead_form .lf__opts legend { padding: 0; margin-bottom: var(--se-s-3); font-weight: 600; font-size: var(--se-text-sm); text-transform: uppercase; letter-spacing: .04em; }
.se-b--lead_form .lf__opt { display: flex; gap: var(--se-s-2); align-items: flex-start; font-size: var(--se-text-sm); cursor: pointer; }
.se-b--lead_form .lf__opt input { width: 17px; height: 17px; margin: 1px 0 0; flex-shrink: 0; accent-color: var(--se-accent); }
.se-b--lead_form .lf__btn { justify-self: start; min-width: 14rem; }

/* ── prices · price_list ── */
.se-b--price_list .pl__groups { display: grid; gap: var(--se-s-10); }
.se-b--price_list .pl__gtitle { font-size: var(--se-text-lg); margin-bottom: var(--se-s-3); }
.se-b--price_list .pl__table { width: 100%; border-collapse: collapse; }
.se-b--price_list .pl__table tr { border-bottom: 1px solid var(--se-line); }
.se-b--price_list .pl__table tr:first-child { border-top: 1px solid var(--se-line-strong); }
.se-b--price_list .pl__table th, .se-b--price_list .pl__table td { padding: var(--se-s-4) 0; vertical-align: baseline; text-align: left; font-weight: 400; }
.se-b--price_list .pl__name { display: block; font-size: var(--se-text-md); font-weight: 600; }
.se-b--price_list .pl__note { display: block; margin-top: 2px; font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--price_list .pl__price { padding-left: var(--se-s-6) !important; text-align: right !important; white-space: nowrap; font-size: var(--se-text-md); font-weight: 700; font-variant-numeric: tabular-nums; }
.se-b--price_list .pl__unit { font-weight: 400; color: var(--se-muted); font-size: var(--se-text-sm); }
.se-b--price_list .pl__foot { margin-top: var(--se-s-6); font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--price_list .pl__cta { margin-top: var(--se-s-8); }
.se-b--price_list.tone--dark .pl__table tr { border-color: var(--se-on-dark-line); }
.se-b--price_list.tone--dark .pl__note, .se-b--price_list.tone--dark .pl__unit, .se-b--price_list.tone--dark .pl__foot { color: var(--se-on-dark-muted); }
@media (min-width: 960px) { .se-b--price_list .pl__groups:has(.pl__group + .pl__group) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--se-s-10) var(--se-s-16); } }

@media (max-width: 640px) {
  .se-b--price_list .pl__price { white-space: normal; min-width: 7rem; font-size: var(--se-text-base); padding-left: var(--se-s-4) !important; }
  .se-b--price_list .pl__name { font-size: var(--se-text-base); }
}

.se-b--price_list .pl__table thead th { padding: var(--se-s-3) 0; font-size: var(--se-text-xs); font-weight: 700; text-transform: uppercase; letter-spacing: .05em; color: var(--se-muted); border-bottom: 1px solid var(--se-line-strong); }
.se-b--price_list .pl__price--2 { color: var(--se-muted); font-weight: 600; }
.se-b--price_list .pl__notecol { font-size: var(--se-text-sm); color: var(--se-muted); }
/* широкая таблица на телефоне листается вбок, страница не расползается */
@media (max-width: 640px) { .se-b--price_list .pl__group { overflow-x: auto; -webkit-overflow-scrolling: touch; } }

/* вкладки и картинка у группы */
.se-b--price_list .pl__tabs { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: var(--se-s-4); }
.se-b--price_list .pl__tab { flex: 1 1 12rem; padding: 12px 16px; border: 1px solid var(--se-line-strong); border-radius: var(--se-radius) var(--se-radius) 0 0; background: var(--se-sunken); color: var(--se-muted); font: inherit; font-weight: 600; cursor: pointer; }
.se-b--price_list .pl__tab[aria-selected="true"] { background: var(--se-surface); color: var(--se-ink); border-bottom-color: var(--se-surface); }
.se-b--price_list .pl__groups--tabs { display: block; }
.se-b--price_list .pl__gwrap { display: grid; gap: var(--se-s-6); align-items: start; }
@media (min-width: 900px) { .se-b--price_list .pl__gwrap { grid-template-columns: minmax(0, 1fr) minmax(0, .8fr); } }
.se-b--price_list .pl__gimg { width: 100%; height: auto; }
.se-b--price_list .pl__gnote { margin-top: var(--se-s-4); font-size: var(--se-text-sm); }
.se-b--price_list .pl__unitcol { white-space: nowrap; color: var(--se-muted); }
.se-b--price_list .pl__sub th { padding-block: var(--se-s-3); background: var(--se-link-soft); font-weight: 600; text-align: left; }
/* строка под курсором подсвечивается — легче вести глазом от названия к цене */
.se-b--price_list .pl__table tbody tr:not(.pl__sub):hover > * { background: color-mix(in oklab, var(--se-link) 10%, var(--se-surface)); }

/* ── prices · products ── */
.se-b--products .pr__list { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-8); }
.se-b--products .pr__item { display: grid; gap: var(--se-s-6); padding: var(--se-s-6); background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); align-items: center; }
@media (min-width: 900px) { .se-b--products .pr__item { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.2fr) minmax(15rem, 0.6fr); gap: var(--se-s-8); } }
.se-b--products .pr__media { position: relative; }
.se-b--products .pr__media img { width: 100%; max-height: 22rem; object-fit: contain; }
.se-b--products .pr__badge { position: absolute; right: 4%; bottom: 8%; display: grid; place-items: center; width: 6.5rem; height: 6.5rem; padding: .5rem; border-radius: 50%; background: var(--se-accent); color: var(--se-on-accent); font-weight: 800; font-size: .78rem; line-height: 1.1; text-align: center; text-transform: uppercase; transform: rotate(-8deg); box-shadow: 0 6px 16px -6px rgb(0 0 0 / .4); }
.se-b--products .pr__size { margin-top: var(--se-s-2); text-align: center; font-size: var(--se-text-sm); color: var(--se-muted); font-variant-numeric: tabular-nums; }
.se-b--products .pr__text { display: flex; flex-direction: column; gap: var(--se-s-3); }
.se-b--products .pr__text h3 { font-size: var(--se-text-xl); }
.se-b--products .pr__text .se-rich { font-size: var(--se-text-sm); line-height: 1.6; color: var(--se-ink-2); }
.se-b--products .pr__card { display: flex; flex-direction: column; padding: var(--se-s-6); border-radius: var(--se-radius); }
.se-b--products.pr--highlight .pr__card { background: #f2c200; color: #1d1d1b; box-shadow: 0 8px 20px -10px rgb(0 0 0 / .35); }
.se-b--products.pr--accent .pr__card { background: var(--se-accent); color: var(--se-on-accent); }
.se-b--products.pr--accent .pr__btn { background: var(--se-dark); color: var(--se-on-dark); }
.se-b--products.pr--plain .pr__card { border: 2px solid var(--se-line-strong); }
.se-b--products .pr__ctitle { font-size: var(--se-text-lg); font-weight: 800; text-transform: uppercase; line-height: 1.2; margin-bottom: var(--se-s-3); }
.se-b--products .pr__plabel { font-size: var(--se-text-xs); font-weight: 700; text-transform: uppercase; opacity: .8; margin-top: var(--se-s-3); }
.se-b--products .pr__price { font-size: calc(var(--se-text-3xl) * var(--se-head-scale, 1)); font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; text-align: right; font-variant-numeric: tabular-nums; }
.se-b--products.pr--highlight .pr__price--2 { color: #fff; text-shadow: 0 1px 2px rgb(0 0 0 / .25); }
.se-b--products .pr__btn { margin-top: var(--se-s-5); width: 100%; }

/* ── prices · profile_table ── */
.se-b--profile_table .pt__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.se-b--profile_table .pt__table { width: 100%; min-width: 44rem; border-collapse: collapse; text-align: left; }
.se-b--profile_table th, .se-b--profile_table td { padding: var(--se-s-5) var(--se-s-4); border-bottom: 1px solid var(--se-line); vertical-align: baseline; }
.se-b--profile_table thead th { padding-block: var(--se-s-3); font-family: var(--se-font-mono); font-size: var(--se-text-xs); font-weight: 500; letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-faint); }
.se-b--profile_table tbody th { font-size: var(--se-text-md); font-weight: 600; }
.se-b--profile_table tbody th a { color: var(--se-link); text-decoration: none; }
.se-b--profile_table tbody th a:hover { text-decoration: underline; }
.se-b--profile_table tbody td { font-size: var(--se-text-sm); color: var(--se-ink-2); }
.se-b--profile_table .pt__mono { font-family: var(--se-font-mono); }
.se-b--profile_table .pt__purpose { color: var(--se-muted); }
.se-b--profile_table .pt__right { text-align: right; }
.se-b--profile_table .pt__unit { display: block; font-size: var(--se-text-xs); font-weight: 400; letter-spacing: var(--se-tracking-wide); color: var(--se-muted); text-transform: none; }
.se-b--profile_table tbody tr:last-child th, .se-b--profile_table tbody tr:last-child td { border-bottom: none; }

/* ── product ── */
/* Товар: общие части каталога — из cards/shop.css (классы .shop__*), здесь — карточка товара */
.se-b--product .shop { display: grid; gap: var(--se-s-8); }
@media (min-width: 960px) { .se-b--product .shop--side { grid-template-columns: 16rem minmax(0, 1fr); align-items: start; } }
.se-b--product .shop__side { display: grid; gap: var(--se-s-8); }
.se-b--product .shop__stitle { margin-bottom: var(--se-s-3); font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: var(--se-text-sm); }
.se-b--product .shop__cats ul { list-style: none; margin: 0; padding: 0; }
.se-b--product .shop__cats a { display: block; padding: var(--se-s-2) 0; border-bottom: 1px solid var(--se-line); color: var(--se-ink-2); text-decoration: none; font-size: var(--se-text-sm); }
.se-b--product .shop__cats a:hover, .se-b--product .shop__cats a[aria-current="page"] { color: var(--se-accent); }
.se-b--product .shop__form .se-lead__row { flex-direction: column; align-items: stretch; }
.se-b--product .pd { display: grid; gap: var(--se-s-8); }
@media (min-width: 760px) { .se-b--product .pd { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); align-items: start; } }
.se-b--product .pd__main { display: block; }
.se-b--product .pd__thumbs { list-style: none; margin: var(--se-s-3) 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(72px, 1fr)); gap: var(--se-s-2); }
.se-b--product .pd__info { display: grid; gap: var(--se-s-4); align-content: start; }
.se-b--product .pd__title { font-size: var(--se-text-2xl); text-transform: uppercase; }
.se-b--product .pd__price { font-size: var(--se-text-xl); color: var(--se-accent); }
.se-b--product .pd__text { font-size: var(--se-text-sm); color: var(--se-ink-2); }
.se-b--product .pd__order { display: grid; gap: var(--se-s-3); padding-block: var(--se-s-4); border-block: 1px solid var(--se-line); }
.se-b--product .pd__opt { display: grid; gap: 6px; font-size: var(--se-text-sm); font-weight: 600; }
.se-b--product .pd__opt select { min-height: 44px; padding: 0 var(--se-s-3); border: 1px solid var(--se-line-strong); border-radius: var(--se-radius); font: inherit; background: var(--se-surface); }
.se-b--product .pd__btn { justify-self: start; }
.se-b--product .pd__meta { font-size: var(--se-text-xs); color: var(--se-muted); }
.se-b--product .pd__more, .se-b--product .pd__related { margin-top: var(--se-s-12); }
.se-b--product .pd__h { margin-bottom: var(--se-s-5); font-size: var(--se-text-xl); }
.se-b--product .pd__specs { border-collapse: collapse; }
.se-b--product .pd__specs th, .se-b--product .pd__specs td { padding: var(--se-s-2) var(--se-s-6) var(--se-s-2) 0; border-bottom: 1px solid var(--se-line); text-align: left; font-weight: 400; }
.se-b--product .pd__specs th { color: var(--se-muted); }
.se-b--product .shop__grid { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--se-s-6) var(--se-s-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .se-b--product .shop__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.se-b--product .shop__link { display: grid; gap: var(--se-s-2); color: inherit; text-decoration: none; }
.se-b--product .shop__title { font-weight: 600; text-transform: uppercase; font-size: var(--se-text-sm); }
.se-b--product .shop__price { color: var(--se-accent); font-size: var(--se-text-sm); }
.se-b--product .pd__note { display: flex; align-items: center; gap: var(--se-s-3); text-transform: uppercase; font-size: var(--se-text-sm); }
.se-b--product .pd__note-icon { color: var(--se-accent); flex: none; }
@media (max-width: 959px) { .se-b--product .shop__side { order: 2; } }  /* на телефоне сначала товар, разделы — под ним */
@media (min-width: 960px) {  /* разделы слева едут за страницей под прилипшей шапкой (--se-header-h — из lib.js), если колонка помещается в экран (data-fits — из lib.js) */
  .se-b--product .shop__side[data-fits] { position: sticky; top: calc(var(--se-header-h, 0px) + var(--se-s-5)); }
}
.se-b--product .gc__track.shop__grid { display: grid; grid-template-columns: none; }

/* ── profile_cutaway ── */
.se-b--profile_cutaway .cut { display: grid; gap: var(--se-s-10); align-items: center; }
.se-b--profile_cutaway .cut__eyebrow { font-family: var(--se-eyebrow-font, inherit); font-size: var(--se-text-xs); font-weight: var(--se-eyebrow-weight, 600); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-link); }
.se-b--profile_cutaway .cut__title { max-width: 20ch; margin-top: var(--se-s-5); }
.se-b--profile_cutaway .cut__lead { margin-top: var(--se-s-5); max-width: 52ch; font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); color: var(--se-ink-2); }
.se-b--profile_cutaway .cut__note { margin-top: var(--se-s-6); font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-faint); }
/* подписи на схеме 11px в координатах SVG — на телефоне схема прокручивается вбок, а не ужимается */
.se-b--profile_cutaway .cut__figure { margin: 0; background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); padding: var(--se-s-5); overflow-x: auto; overscroll-behavior-x: contain; }
.se-b--profile_cutaway .cut__figure svg { width: 100%; min-width: 32rem; height: auto; max-width: none; }
.se-b--profile_cutaway .svg-frame { fill: var(--se-surface); stroke: var(--se-ink-2); stroke-width: 2.5; }
.se-b--profile_cutaway .svg-chamber { fill: var(--se-link-soft); stroke: var(--se-line-strong); stroke-width: 1; }
.se-b--profile_cutaway .svg-armature { fill: var(--se-ink-2); }
.se-b--profile_cutaway .svg-seal { fill: color-mix(in oklab, var(--se-ink) 88%, var(--se-paper)); }
.se-b--profile_cutaway .svg-glass { fill: color-mix(in oklab, var(--se-link) 26%, var(--se-surface)); stroke: color-mix(in oklab, var(--se-link) 45%, var(--se-surface)); stroke-width: 1; }
.se-b--profile_cutaway .svg-glass--low-e { fill: color-mix(in oklab, var(--se-link) 40%, var(--se-surface)); stroke-width: 1.5; }
.se-b--profile_cutaway .svg-spacer { fill: var(--se-line); stroke: var(--se-line-strong); stroke-width: 1; }
.se-b--profile_cutaway .svg-lead { stroke: var(--se-muted); stroke-width: 1; }
.se-b--profile_cutaway .svg-dot { fill: var(--se-muted); }
.se-b--profile_cutaway .svg-dash { stroke: var(--se-line-strong); stroke-width: 1; stroke-dasharray: 3 4; }
.se-b--profile_cutaway .svg-label { font-family: var(--se-font-mono); font-size: 11px; fill: var(--se-ink-2); }
.se-b--profile_cutaway .svg-label--cold { fill: var(--se-link); font-size: 12px; }
.se-b--profile_cutaway .svg-label--warm { fill: var(--se-accent); font-size: 12px; }
@media (min-width: 1024px) { .se-b--profile_cutaway .cut { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: var(--se-s-16); } }

/* ── quiz ── */
/* Квиз: окно и вопросы. Цвета — из темы сайта (выбранный ответ, кнопка «Далее», полоса прогресса — фирменный цвет). */
.se-b--quiz .qz { display: grid; justify-items: center; gap: var(--se-s-5); }
.se-b--quiz .qz__img { max-width: 220px; height: auto; }
.se-b--quiz.qz--inline .se-quiz { width: min(100%, 46rem); }
.qz__dialog { width: min(52rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); padding: var(--se-s-6); border: 0; border-radius: var(--se-radius); background: var(--se-surface); color: var(--se-ink); box-shadow: 0 30px 90px rgb(0 0 0 / .35); }
.qz__dialog::backdrop { background: rgb(0 0 0 / .55); }
.qz__close { position: absolute; top: .5rem; right: .75rem; border: 0; background: none; font-size: 2rem; line-height: 1; color: var(--se-muted); cursor: pointer; }
.se-quiz { text-align: left; font-size: var(--se-text-base); }
.se-quiz .sq-progress { margin: 0 0 var(--se-s-6); }
.se-quiz .sq-progress-label { margin-bottom: 6px; font-size: var(--se-text-xs); color: var(--se-muted); }
.se-quiz .sq-bar { height: 12px; overflow: hidden; border: 1px solid var(--se-line); border-radius: 999px; background: var(--se-surface); }
.se-quiz .sq-bar span { display: block; height: 100%; background: var(--se-accent); transition: width .3s; }
.se-quiz .sq-title { margin: 0 0 var(--se-s-6); text-align: center; font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 500; line-height: 1.15; }
.se-quiz .sq-answer { display: flex; align-items: center; gap: 14px; width: 100%; margin: 0 0 var(--se-s-3); padding: 16px 18px; border: 1px solid var(--se-line-strong); border-radius: var(--se-radius); background: var(--se-surface); color: var(--se-ink); font: inherit; font-size: var(--se-text-md); text-align: left; cursor: pointer; transition: box-shadow .15s, background .15s; }
.se-quiz .sq-answer:hover { box-shadow: 0 2px 10px rgb(0 0 0 / .12); }
.se-quiz .sq-answer i { flex-shrink: 0; width: 12px; height: 12px; border: 1px solid var(--se-muted); border-radius: 50%; }
.se-quiz .sq-answer.sel { border-color: var(--se-accent); background: var(--se-accent); color: var(--se-on-accent); }
.se-quiz .sq-answer.sel i { border: 3px solid currentColor; }
.se-quiz .sq-input { width: 100%; margin: 0 0 var(--se-s-4); padding: 14px 16px; border: 1px solid var(--se-line-strong); border-radius: var(--se-radius); font: inherit; font-size: var(--se-text-md); }
.se-quiz .sq-row { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
.se-quiz .sq-next { padding: 14px 28px; border: 0; border-radius: var(--se-radius); background: var(--se-accent); color: var(--se-on-accent); font: inherit; font-weight: 600; cursor: pointer; }
.se-quiz .sq-back { padding: 6px 0; border: 0; background: none; color: var(--se-muted); font: inherit; font-size: var(--se-text-sm); cursor: pointer; }
.se-quiz .sq-consent { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 var(--se-s-4); font-size: var(--se-text-xs); line-height: 1.4; color: var(--se-muted); }
.se-quiz .sq-consent a { color: inherit; }
.se-quiz .sq-policy { margin: calc(var(--se-s-4) * -1 + 4px) 0 var(--se-s-4); padding-left: 21px; font-size: var(--se-text-xs); line-height: 1.4; color: var(--se-muted); }
.se-quiz .sq-error { margin: 0 0 var(--se-s-3); color: #c0392b; font-size: var(--se-text-sm); }
.se-quiz .sq-done { padding: var(--se-s-10) 0; text-align: center; font-size: var(--se-text-lg); }

/* ── reviews ── */
.se-b--reviews .rv__list { list-style: none; margin: 0; padding: 0; }
.se-b--reviews .rv__item { display: flex; flex-direction: column; gap: var(--se-s-4); height: 100%; padding: var(--se-s-6); background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); }
.se-b--reviews .rv__stars { color: #f2a300; letter-spacing: 2px; font-size: 1.05rem; }
.se-b--reviews .rv__stars .off { color: var(--se-line-strong); }
.se-b--reviews .rv__text { margin: 0; font-size: var(--se-text-base); line-height: 1.6; flex: 1; }
.se-b--reviews .rv__who { display: flex; flex-direction: column; gap: 2px; font-size: var(--se-text-sm); }
.se-b--reviews .rv__who span { color: var(--se-muted); }
.se-b--reviews .rv__more { margin-top: var(--se-s-8); }
.se-b--reviews.tone--dark .rv__item { background: color-mix(in oklab, var(--se-dark) 88%, white); border-color: var(--se-on-dark-line); }
.se-b--reviews.tone--dark .rv__who span { color: var(--se-on-dark-muted); }

/* одна крупная цитата: текст слева, пояснение справа за волосяной чертой */
.se-b--reviews .rv__quote { display: grid; gap: var(--se-s-10); }
.se-b--reviews .rv__label { font-family: var(--se-eyebrow-font, inherit); font-size: var(--se-text-xs); font-weight: var(--se-eyebrow-weight, 600); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-eyebrow-color, var(--se-muted)); line-height: 1.4; }
.se-b--reviews.tone--dark .rv__label { color: var(--se-eyebrow-on-dark, var(--se-on-dark-faint)); }
.se-b--reviews .rv__big { margin: var(--se-s-6) 0 var(--se-s-5); font-size: var(--se-text-2xl); font-weight: 500; line-height: 1.32; letter-spacing: var(--se-tracking-snug); text-wrap: pretty; }
.se-b--reviews .rv__author { font-size: var(--se-text-sm); color: var(--se-muted); }
.se-b--reviews .rv__aside { border-left: 1px solid var(--se-line-strong); padding-left: var(--se-s-6); }
.se-b--reviews .rv__aside-text { font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); color: var(--se-ink-2); }
.se-b--reviews .rv__link { display: inline-block; margin-top: var(--se-s-5); font-size: var(--se-text-sm); font-weight: 600; }
.se-b--reviews.tone--dark .rv__author { color: var(--se-on-dark-muted); }
.se-b--reviews.tone--dark .rv__aside { border-left-color: var(--se-on-dark-line); }
.se-b--reviews.tone--dark .rv__aside-text { color: var(--se-on-dark-muted); }
.se-b--reviews.tone--dark .rv__link { color: var(--se-on-dark); text-decoration: underline; text-underline-offset: 4px; }
@media (min-width: 1024px) { .se-b--reviews .rv__quote { grid-template-columns: minmax(0, 1fr) 24rem; gap: var(--se-s-16); align-items: center; } }
/* подряд без карточек */
.se-b--reviews .rv__plain { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 18rem), 1fr)); gap: var(--se-s-8); }
.se-b--reviews .rv__ptext { margin: 0 0 var(--se-s-4); font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); }

/* карточками в две колонки, имя и объект строкой под чертой */
.se-b--reviews .rv__cols { display: grid; gap: var(--se-s-6); list-style: none; margin: 0; padding: 0; }
@media (min-width: 900px) { .se-b--reviews .rv__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.se-b--reviews .rv__card { background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); padding: var(--se-s-8) var(--se-s-6); }
.se-b--reviews .rv__ctext { margin: 0; font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); color: var(--se-ink-2); }
.se-b--reviews .rv__meta { display: flex; flex-wrap: wrap; gap: var(--se-s-2) var(--se-s-4); margin-top: var(--se-s-5); padding-top: var(--se-s-4); border-top: 1px solid var(--se-line); font-size: var(--se-text-sm); }
.se-b--reviews .rv__name { font-weight: 600; }
.se-b--reviews .rv__obj { color: var(--se-muted); }

/* крупный первый отзыв, остальные стопкой */
.se-b--reviews .rv__fgrid { display: grid; gap: var(--se-s-6); }
@media (min-width: 1100px) { .se-b--reviews .rv__fgrid { grid-template-columns: minmax(0, 1.06fr) minmax(0, .94fr); align-items: stretch; } .se-b--reviews .rv__fgrid--one { grid-template-columns: minmax(0, .6fr); } }
.se-b--reviews .rv__fstack { display: grid; gap: var(--se-s-6); }
.se-b--reviews .rv__fcard { display: grid; gap: var(--se-s-4); align-content: start; padding: 1.75rem; border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); }
.se-b--reviews .rv__fcard--main { padding: clamp(1.9rem, 3vw, 2.35rem); }
.se-b--reviews .rv__fq { font-size: 1.02rem; line-height: 1.75; max-width: none; }
.se-b--reviews .rv__fcard--main .rv__fq { max-width: 34ch; font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.62; }
.se-b--reviews .rv__fdetail { max-width: 44ch; line-height: 1.72; color: var(--se-muted); }
.se-b--reviews .rv__fmeta { display: grid; gap: .45rem; margin-top: auto; font-size: .84rem; color: var(--se-muted); }
.se-b--reviews .rv__fname { font-family: var(--se-font-head, var(--se-font)); font-size: 1rem; font-weight: 700; color: var(--se-ink); }
.se-b--reviews .rv__frow { display: flex; flex-wrap: wrap; gap: .45rem .9rem; }

/* карусель */
.se-b--reviews .rv__slide { display: grid; align-content: start; gap: var(--se-s-3); padding: var(--se-s-5); border: 1px solid var(--se-line); border-top: 3px solid var(--se-accent); background: var(--se-surface); }
.se-b--reviews .rv__sname { font-weight: 600; }
.se-b--reviews .rv__stext { margin: 0; font-size: var(--se-text-sm); color: var(--se-ink-2); }

/* ── temperature_scale ── */
.se-b--temperature_scale .ts__head { display: flex; flex-direction: column; gap: var(--se-s-5); margin-bottom: var(--se-s-12); }
.se-b--temperature_scale .ts__title { max-width: 24ch; }
.se-b--temperature_scale .ts__lead { font-size: var(--se-text-sm); line-height: var(--se-leading-relaxed); color: var(--se-on-dark-muted); max-width: 46ch; }
.se-b--temperature_scale:not(.tone--dark) .ts__lead { color: var(--se-ink-2); }
.se-b--temperature_scale .ts { display: flex; flex-direction: column; gap: var(--se-s-10); }
.se-b--temperature_scale .ts__bar { margin: 0; }
.se-b--temperature_scale .ts__caption { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--se-s-2) var(--se-s-5); margin-bottom: var(--se-s-4); }
.se-b--temperature_scale .ts__name { font-size: var(--se-text-md); font-weight: 600; }
.se-b--temperature_scale .ts__verdict { font-family: var(--se-font-mono); font-size: var(--se-text-xs); }
.se-b--temperature_scale .ts__verdict--good { color: #9fd0a8; }
.se-b--temperature_scale .ts__verdict--bad { color: #e5a0a0; }
.se-b--temperature_scale:not(.tone--dark) .ts__verdict--good { color: #2e7d3e; }
.se-b--temperature_scale:not(.tone--dark) .ts__verdict--bad { color: #b03a3a; }
/* градиент — переход от улицы к комнате; белая риска — где поверхность опускается до точки росы */
.se-b--temperature_scale .ts__track { position: relative; height: 46px; border-radius: min(var(--se-radius), 3px);
  background: linear-gradient(90deg, var(--se-link) 0%, color-mix(in oklab, var(--se-link) 60%, #8a8f86) 34%, #8a8f86 52%, #c08a4a 100%); }
.se-b--temperature_scale .ts__marker { position: absolute; left: var(--pos); top: -8px; bottom: -8px; width: 3px; background: #fff; }
.se-b--temperature_scale .ts__scale { display: flex; justify-content: space-between; gap: var(--se-s-3); margin-top: var(--se-s-3); font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-on-dark-faint); }
.se-b--temperature_scale .ts__note { margin-top: var(--se-s-10); font-family: var(--se-font-mono); font-size: var(--se-text-xs); color: var(--se-on-dark-faint); max-width: none; }
.se-b--temperature_scale:not(.tone--dark) .ts__scale, .se-b--temperature_scale:not(.tone--dark) .ts__note { color: var(--se-faint); }
@media (min-width: 900px) {
  .se-b--temperature_scale .ts__head { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: var(--se-s-16); }
  .se-b--temperature_scale .ts__lead { text-align: right; }
}

/* ── text · rich_text ── */
.se-b--rich_text .rt { display: flex; flex-direction: column; gap: var(--se-s-6); }
.se-b--rich_text .se-rich { font-size: var(--se-text-md); line-height: 1.65; color: var(--se-ink-2); }
.se-b--rich_text.tone--dark .se-rich, .se-b--rich_text.tone--accent .se-rich { color: inherit; opacity: .9; }
.se-b--rich_text .se-rich p { max-width: none; }

/* колонка текста слева (как в okna-surguta): обычный размер шрифта, заголовок отдельно */
.se-b--rich_text .rt--column { display: block; }
.se-b--rich_text .rt--column > h2 { margin-bottom: var(--se-s-8); max-width: 24ch; }
.se-b--rich_text .rt--column .se-rich { max-width: var(--se-container-text); font-size: var(--se-text-base); line-height: var(--se-leading-relaxed); }
.se-b--rich_text .rt--column .se-rich > * + * { margin-top: var(--se-s-5); }
.se-b--rich_text .rt--column .se-rich ul, .se-b--rich_text .rt--column .se-rich ol { display: flex; flex-direction: column; gap: var(--se-s-3); padding-left: var(--se-s-6); }
.se-b--rich_text .rt--column .se-rich li + li { margin-top: 0; }
.se-b--rich_text .rt--column .se-rich .se-rich__h2 { margin-top: var(--se-s-12); }
.se-b--rich_text .rt--column .se-rich .se-rich__h3 { margin-top: var(--se-s-10); }
.se-b--rich_text .rt--column .se-rich > :first-child { margin-top: 0; }

/* карточки: панель, две колонки, текст и пункты */
.se-b--rich_text .rt__card { position: relative; display: grid; gap: clamp(1.4rem, 3vw, 2.8rem); padding: clamp(1.9rem, 3.2vw, 2.7rem); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: var(--se-surface); overflow: hidden; }
@media (min-width: 1080px) {
  .se-b--rich_text.rt--panel .rt__card, .se-b--rich_text.rt--aside .rt__card { grid-template-columns: minmax(0, .88fr) minmax(0, 1.12fr); align-items: start; }
  .se-b--rich_text.rt--aside .rt__card { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
}
.se-b--rich_text .rt__intro { display: grid; align-content: start; gap: var(--se-s-4); }
.se-b--rich_text.rt--panel .rt__intro { max-width: 28rem; }
.se-b--rich_text .rt__body { display: grid; gap: var(--se-s-4); max-width: 42rem; }
.se-b--rich_text .rt__lead { font-size: clamp(1.08rem, 1.55vw, 1.24rem); line-height: 1.72; color: var(--se-ink-2); max-width: none; }
.se-b--rich_text.rt--aside .rt__intro .rt__lead { font-family: var(--se-font-head, var(--se-font)); font-weight: 700; color: var(--se-ink); }
.se-b--rich_text .rt__support { display: grid; gap: var(--se-s-4); padding-top: var(--se-s-4); border-top: 1px solid var(--se-line); }
.se-b--rich_text .rt__support p, .se-b--rich_text .rt__p { line-height: 1.72; color: var(--se-muted); max-width: none; }
.se-b--rich_text .rt__cols { display: grid; gap: var(--se-s-6); }
@media (min-width: 900px) { .se-b--rich_text .rt__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } .se-b--rich_text .rt__cols p + p { padding-left: var(--se-s-8); border-left: 1px solid var(--se-line); } }
.se-b--rich_text .rt__cols p { font-size: var(--se-text-md); line-height: 1.72; color: var(--se-ink-2); max-width: none; }
.se-b--rich_text .rt__items { display: grid; gap: var(--se-s-4); margin: 0; padding: 0; list-style: none; }
.se-b--rich_text .rt__items li { display: flex; gap: var(--se-s-4); padding: var(--se-s-5); border: 1px solid var(--se-line); border-radius: calc(var(--se-radius) * .75); background: var(--se-surface); }
.se-b--rich_text .rt__items h3 { font-size: var(--se-text-base); }
.se-b--rich_text .rt__items p { margin-top: var(--se-s-2); font-size: var(--se-text-sm); line-height: 1.6; color: var(--se-muted); }
.se-b--rich_text .rt__items .rt__label { margin: 0 0 var(--se-s-1); font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }
.se-b--rich_text .rt__num { font-family: var(--se-font-head, var(--se-font)); font-size: 1.4rem; font-weight: 800; line-height: 1; color: var(--se-accent); }

/* ── text · spec_sheet ── */
.se-b--spec_sheet .ss { display: grid; gap: var(--se-s-10); align-items: start; }
.se-b--spec_sheet .ss__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: var(--se-s-5); margin: 0 0 var(--se-s-8); padding-bottom: var(--se-s-8); border-bottom: 1px solid var(--se-line); }
.se-b--spec_sheet .ss__facts dt { font-family: var(--se-font-mono); font-size: var(--se-text-xs); letter-spacing: var(--se-tracking-wide); text-transform: uppercase; color: var(--se-faint); }
.se-b--spec_sheet .ss__facts dd { margin: var(--se-s-2) 0 0; font-family: var(--se-font-mono); font-size: var(--se-text-2xl); font-weight: 500; letter-spacing: var(--se-tracking-snug); }
.se-b--spec_sheet .ss__purpose { margin-bottom: var(--se-s-8); font-size: var(--se-text-md); line-height: var(--se-leading-relaxed); color: var(--se-ink-2); max-width: none; }
.se-b--spec_sheet .ss__purpose span { color: var(--se-faint); }
.se-b--spec_sheet .ss__specs { width: 100%; border-collapse: collapse; margin-bottom: var(--se-s-8); }
.se-b--spec_sheet .ss__specs th, .se-b--spec_sheet .ss__specs td { padding: var(--se-s-4) 0; border-bottom: 1px solid var(--se-line); text-align: left; font-size: var(--se-text-sm); font-weight: 400; vertical-align: baseline; }
.se-b--spec_sheet .ss__specs th { color: var(--se-muted); padding-right: var(--se-s-5); }
.se-b--spec_sheet .ss__specs td { text-align: right; color: var(--se-ink); font-family: var(--se-font-mono); }
.se-b--spec_sheet .ss__cta { font-size: var(--se-text-md); font-weight: 600; }
.se-b--spec_sheet .ss__media { border-radius: 0; }
@media (min-width: 1024px) { .se-b--spec_sheet .ss { grid-template-columns: minmax(0, 1fr) minmax(0, 0.75fr); gap: var(--se-s-16); } }

/* ── text · text_media ── */
.se-b--text_media .tm__grid { display: grid; gap: var(--se-s-8); align-items: center; }
.se-b--text_media .tm__text { display: flex; flex-direction: column; gap: var(--se-s-5); }
.se-b--text_media .se-rich { color: var(--se-ink-2); font-size: var(--se-text-md); line-height: 1.6; }
.se-b--text_media.tone--dark .se-rich, .se-b--text_media.tone--accent .se-rich { color: inherit; opacity: .88; }
@media (min-width: 960px) {
  .se-b--text_media .tm__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--se-s-16); }
  .se-b--text_media.tm--left .tm__media { order: -1; }
}
.se-b--text_media .tm__grid > * { min-width: 0; }

/* ── text · text_photos ── */
/* «Текст и сетка фото» / «Две колонки» */
.se-b--text_photos .tp__title { margin-bottom: var(--se-s-8); text-align: center; }
.se-b--text_photos .tp__grid { display: grid; gap: var(--se-s-6) var(--se-s-5); align-items: start; }
@media (min-width: 900px) { .se-b--text_photos .tp__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.se-b--text_photos .tp__photos { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--se-s-2); }
.se-b--text_photos .tp__photos .se-media { border-radius: var(--se-radius); }

/* ── wishlist ── */
/* «Отложенные товары»: список, значок «Отложено (N)», кнопки на карточках товара */
.se-b--wishlist [hidden] { display: none !important; }
.se-b--wishlist .wl__list { list-style: none; margin: 0 0 var(--se-s-8); padding: 0; display: grid; gap: var(--se-s-3); }
.se-b--wishlist .wl__row { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: var(--se-s-4); align-items: center; padding: var(--se-s-3); background: var(--se-surface); border: 1px solid var(--se-line); border-radius: var(--se-radius); }
.se-b--wishlist .wl__img { width: 96px; aspect-ratio: 4 / 3; object-fit: cover; border-radius: calc(var(--se-radius) / 2); background: var(--se-sunken); }
.se-b--wishlist .wl__title { color: var(--se-ink); font-weight: 600; text-decoration: none; }
.se-b--wishlist .wl__title:hover { color: var(--se-accent); }
.se-b--wishlist .wl__price { margin-top: 2px; color: var(--se-accent); font-size: var(--se-text-sm); }
.se-b--wishlist .wl__price del { color: var(--se-muted); margin-right: .3em; }
.se-b--wishlist .wl__del { padding: var(--se-s-2) var(--se-s-3); border: 1px solid var(--se-line); border-radius: var(--se-radius); background: none; color: var(--se-ink-2); font: inherit; font-size: var(--se-text-sm); cursor: pointer; }
.se-b--wishlist .wl__del:hover { border-color: currentColor; color: var(--se-accent); }
.se-b--wishlist .wl__empty { display: grid; justify-items: start; gap: var(--se-s-4); color: var(--se-ink-2); }
.se-b--wishlist .wl__count { margin-bottom: var(--se-s-4); color: var(--se-ink-2); }
@media (max-width: 560px) {
  .se-b--wishlist .wl__row { grid-template-columns: 72px minmax(0, 1fr); }
  .se-b--wishlist .wl__img { width: 72px; }
  .se-b--wishlist .wl__del { grid-column: 2; justify-self: start; }
}

/* значок «Отложено (N)» — справа внизу над кнопкой «Написать»; виден, когда что-то отложено (рисует подвал, если у сайта
   включены отложенные) */
.se-b--wishbar { position: fixed; right: var(--se-s-5); bottom: calc(max(var(--se-s-5), env(safe-area-inset-bottom, 0px) + var(--se-s-4)) + 64px); z-index: 39;  /* под открытой панелью «Написать» */ display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 var(--se-s-4); background: var(--se-accent); color: var(--se-on-accent); border-radius: var(--se-radius); box-shadow: var(--se-shadow-pop); text-decoration: none; font-size: var(--se-text-sm); font-weight: 600; transition: background var(--se-duration); }
.se-b--wishbar:hover { background: var(--se-accent-hover); color: var(--se-on-accent); }
.se-b--wishbar[hidden] { display: none; }
.se-b--wishbar .wb__n { display: grid; place-items: center; min-width: 22px; height: 22px; padding: 0 5px; border-radius: 11px; background: var(--se-surface); color: var(--se-ink); font-size: 12px; }
.se-b--wishbar.is-bump { animation: se-wb-bump .5s ease; }
@keyframes se-wb-bump { 40% { transform: scale(1.12); } }

/* кнопки «Отложить» и «Заказать» на карточке товара: появляются при наведении (на телефоне «Отложить» видна всегда) */
:is(.se-b--shop, .se-b--product) .shop__item { position: relative; }
:is(.se-b--shop, .se-b--product) .shop__acts { position: absolute; top: var(--se-s-3); right: var(--se-s-3); z-index: 2; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; opacity: 0; transform: translateY(-4px); transition: opacity var(--se-duration) var(--se-ease), transform var(--se-duration) var(--se-ease); }
:is(.se-b--shop, .se-b--product) .shop__item:hover .shop__acts, :is(.se-b--shop, .se-b--product) .shop__acts:focus-within { opacity: 1; transform: none; }
:is(.se-b--shop, .se-b--product) .shop__act { display: inline-flex; align-items: center; gap: 6px; padding: 7px 12px; border: 0; border-radius: var(--se-radius); background: rgb(255 255 255 / .94); color: var(--se-ink); box-shadow: 0 2px 10px rgb(0 0 0 / .18); font: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
:is(.se-b--shop, .se-b--product) .shop__act:hover { background: var(--se-accent); color: var(--se-on-accent); }
:is(.se-b--shop, .se-b--product) .shop__act[aria-pressed="true"] { background: var(--se-accent); color: var(--se-on-accent); }
:is(.se-b--shop, .se-b--product) .shop__media { overflow: hidden; }
:is(.se-b--shop, .se-b--product) .shop__media img { transition: transform .5s var(--se-ease); }
:is(.se-b--shop, .se-b--product) .shop__link:hover .shop__media img { transform: scale(1.05); }
@media (hover: none) {
  :is(.se-b--shop, .se-b--product) .shop__acts { opacity: 1; transform: none; }
  :is(.se-b--shop, .se-b--product) .shop__act--order { display: none; }
}
.se-b--product .pd__wish { margin-left: var(--se-s-2); }
.se-b--product .pd__wish[aria-pressed="true"]::before { content: "✓ "; }
@media (max-width: 640px) { .se-b--wishbar { padding: 0 var(--se-s-3); } .se-b--wishbar > span:not(.wb__n) { display: none; } }  /* на телефоне — значок и число */

/* ── тема: heads = center ── */
/* Тема → «Заголовки разделов: по центру» — заголовок и текст под ним по центру (иначе текст справа от заголовка). */
.se-b .se-head { align-items: center; text-align: center; }
.se-b .se-head .se-head__title, .se-b .se-head .se-head__text { margin-inline: auto; }
@media (min-width: 900px) {
  .se-b .se-head:not(.se-head--stack) { flex-direction: column; align-items: center; justify-content: flex-start; gap: var(--se-s-4); }
  .se-b .se-head:not(.se-head--stack) .se-head__text { text-align: center; margin-inline: auto; }
}

/* ── тема: reveal = soft ── */
/* Анимация появления — мягкая: плавно проявляется, чуть поднимаясь (скрипт — «Появление при прокрутке» в _base/lib.js) */
:root { --se-reveal: soft; --se-rv-shift: 18px; --se-rv-scale: 1; --se-rv-dur: .7s; }

/* ── стили сайта (theme.css) ── */
/* Окна Просвет (окна-в-сургуте.рф): тонкая подгонка вида.
   Текст 13–14 px системным шрифтом, заголовки Montserrat, акцент #d83131. */
body.se-site { font-size: 14px; }
.se-b { font-size: 14px; line-height: 1.6; color: #333; }
.se-b :where(h1, h2, h3, h4) { letter-spacing: 0; }
.se-b h2, .se-b .se-head__title { font-size: 30px; font-weight: 400; color: #333; max-width: none; }
.se-b .se-head { margin-bottom: 30px; }
.se-b .se-btn { min-height: 0; padding: 12px 25px; font-size: 14px; font-weight: 400; text-transform: uppercase; }
.ov-hidden-h1 { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); padding: 0 !important; }

/* шапка: логотип по центру, тёмная полоса меню 1200, под ней розовая кнопка «Звоните!» */
.se-b--header.ov-header { padding-block: 0; background: #fff; box-shadow: none; }
@media (min-width: 1024px) {
  .se-b--header.ov-header .hd__bar { flex-direction: column; align-items: center; gap: 0; padding-top: 18px; }
  .se-b--header.ov-header .hd__logo img { width: 98px; max-height: none; height: auto; }
  .se-b--header.ov-header .hd__menu > li { flex: 0 0 auto; }
  .se-b--header.ov-header.hd--bar .hd__nav { order: 2; flex-basis: auto; width: 100%; max-width: 1200px; margin: 25px 0 0; background: #333; box-shadow: none; clip-path: none; }
  .se-b--header.ov-header.hd--bar .hd__menu { justify-content: center; gap: 0; flex-wrap: nowrap; }
  .se-b--header.ov-header.hd--bar .hd__menu > li > a { padding: 18px 16px; font-family: Arial, sans-serif; font-size: 13px; font-weight: 400; text-transform: uppercase; color: #fff; }
  .se-b--header.ov-header .hd__right { order: 3; margin: 13px 0 12px; }
  .se-b--header.ov-header .hd__cb { min-width: 427px; padding: 18px 25px; background: #ff675b; font-size: 16px; text-transform: none; }
  .se-b--header.ov-header .hd__cb:hover { background: #f4483b; }
  .se-b--header .hd__sub { left: 0; min-width: 240px; border-radius: 0; background: #333; border: 0; }
  .se-b--header .hd__sub a { padding: 10px 16px; font-size: 13px; color: #fff; }
  .se-b--header .hd__sub a:hover { background: #d83131; color: #fff; }
  .se-b--header.ov-header.is-scrolled .hd__nav { max-width: none; box-shadow: 0 2px 8px rgb(0 0 0 / .25); }
}

/* баннеры: во всю ширину, впритык */
.ov-banners .se-container { max-width: none; padding-inline: 0; }
.se-b.ov-banners { padding-block: 6px 0; }
.se-b.ov-banners + .se-b.ov-banners { padding-top: 6px; }
.se-b.ov-banners.space--md { padding-block: 50px; }
.ov-banners.space--md .se-container { max-width: 1200px; padding-inline: 15px; }
.ov-banners.space--md .bn__grid { gap: 30px; }
.ov-banners.space--md .bn__text { inset: auto 20px 30px; text-align: left; }
.ov-banners .bn__grid { gap: 6px; }
.se-b--banners .bn__text { inset: 40px 20px auto; text-align: right; }
.se-b--banners .bn__title { font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 400; }
.se-b--banners .bn__sub { font-family: 'Montserrat', sans-serif; font-size: 17px; }

/* группы товаров: маленький красный заголовок с чертой, карточки 3 в ряд */
.ov-home-group .se-head__title { font-size: 17px; font-weight: 400; color: #d83131; text-transform: uppercase; }
.ov-home-group .se-head__title::after { content: ""; display: block; width: 30px; height: 2px; margin: 8px auto 0; background: rgb(0 0 0 / .1); }
.se-b--shop .shop__grid { gap: 30px 20px; }
.se-b--shop .shop__title { font-size: 13px; font-weight: 400; color: #333; }
.se-b--shop .shop__price { font-size: 14.3px; color: #d83131; }
.se-b--shop .shop__media { background: none; }

/* запись на замер, преимущества, «это интересно» */
.se-b.ov-newsletter { background: #fff; border-top: 1px solid #ececec; }
.ov-newsletter .cta__grid { display: block; text-align: center; }
.ov-newsletter h2 { font-size: 16px; font-weight: 400; text-transform: uppercase; color: #333; }
.ov-newsletter .cta__lead { margin: 8px auto 16px; font-size: 12px; color: #777; max-width: none; }
.ov-newsletter .se-lead__row { flex-direction: column; align-items: stretch; }
.ov-newsletter .se-lead__input { flex: none; border: 0; border-bottom: 1px solid #ccc; border-radius: 0; }
.ov-newsletter .se-lead button { align-self: flex-start; background: #d83131; }
.ov-newsletter .se-lead__agree { text-align: left; }
.ov-feats .feat__item { display: flex; gap: 12px; align-items: center; padding: 16px; border: 1px solid #ececec; background: #fff; }
.ov-feats .feat__icon .se-picto { width: 34px; height: 34px; color: #d83131; }
.ov-feats .feat__title { font-size: 13px; font-weight: 700; }
.ov-feats .feat__text { margin-top: 2px; font-size: 12px; }
.ov-interest .rt > h2 { font-size: 13px; font-weight: 700; text-transform: uppercase; text-align: left; }
.ov-interest .se-rich { font-size: 13px; }
.ov-interest .se-rich a { color: #333; text-decoration: none; }

/* карточки профилей (REHAU, VEKA): название и текст сверху, фото снизу */
.ov-pairs .cards__link { display: flex; flex-direction: column-reverse; justify-content: flex-end; height: 100%; }
.ov-pairs .cards__body { padding: 14px 12px; text-align: center; }
.ov-pairs .cards__title { font-family: 'Montserrat', sans-serif; font-size: 18px; font-weight: 400; }
.ov-pairs .cards__text { font-size: 12.5px; line-height: 1.5; }
.ov-pairs .cards__text p + p { font-size: 14px; }
.ov-pairs .cards__media { background: transparent; aspect-ratio: auto !important; height: 150px; margin: 0 10px 14px; }
.ov-pairs .cards__media img { object-fit: contain; height: 100%; }
.ov-pairs .cards__list { gap: 0; }
.ov-pairs .cards__item { border-right: 1px solid rgb(255 255 255 / .3); border-bottom: 1px solid rgb(255 255 255 / .3); }
@media (min-width: 1024px) {
  .ov-pairs .cards__list { grid-template-columns: repeat(20, minmax(0, 1fr)) !important; }
  .ov-pairs .cards__item:nth-child(-n+5) { grid-column: span 4; }
  .ov-pairs .cards__item:nth-child(n+6) { grid-column: span 5; }
  .ov-pairs .se-container { max-width: none; padding-inline: 0; }
}
.se-b.ov-bg-veka-4 .cards__item { background: rgb(26 120 180 / .35) !important; }
.se-b.tone--accent.ov-pairs { background: linear-gradient(rgb(237 85 85 / .85), rgb(237 85 85 / .85)), #ed5555; }
.ov-pairs.tone--accent .cards__item { background: rgb(255 255 255 / .12); }
.ov-pairs.tone--dark .cards__item, .ov-pairs.tone--dark .cards__link { background: transparent; border: 0; color: #fff; }
.ov-pairs.tone--dark .cards__text { color: rgb(255 255 255 / .85); }
.ov-banner.se-b--hero.hero--background { min-height: 420px; justify-content: center; }
.ov-banner .hero__title { font-family: 'Montserrat', sans-serif; font-size: 40px; font-weight: 400; text-transform: uppercase; }
.ov-banner .hero__lead { font-size: 18px; }
.ov-pagetitle .rt > h1 { margin: 0; font-family: Arial, sans-serif; font-size: 17px; font-weight: 400; text-transform: uppercase; text-align: left; color: #000; }
.ov-text .rt > h2 { font-size: 26px; text-align: center; }
.ov-cta { text-align: center; }

.ov-features-3 .feat__list { gap: 0; }
.ov-features-3 .feat__item { padding: 40px 30px; border: 0; text-align: center; }
.ov-features-3 .feat__item:nth-child(1) { background: #262626; color: #fff; }
.ov-features-3 .feat__item:nth-child(2) { background: #ed1c24; color: #fff; }
.ov-features-3 .feat__item:nth-child(3) { background: #fff; color: #333; }
.ov-features-3 .feat__title { font-size: 16px; font-weight: 700; }
.ov-features-3 .feat__text { color: inherit; opacity: .9; font-weight: 700; }
.ov-pagetitle { border-bottom: 1px solid #ececec; }

/* ряды на тёмном фоне: карточки без белой подложки */
.se-b[class*="ov-bg-"] .feat__item, .se-b[class*="ov-bg-"] .cards__item, .se-b[class*="ov-bg-"] .cards__link { background: transparent; border-color: rgb(255 255 255 / .15); }
.ov-prices .pl__table thead th { background: #fff; color: #333; font-weight: 700; text-transform: none; letter-spacing: 0; border-bottom: 2px solid #ececec; }
.ov-prices .pl__table th, .ov-prices .pl__table td { padding: 10px 12px !important; font-size: 13px; text-align: left !important; }
.ov-prices .pl__name { font-size: 13px; font-weight: 400; }
.ov-prices .pl__price { font-size: 13px; font-weight: 400; }
.ov-prices .pl__table tbody tr:nth-child(odd) { background: #f9f9f9; }

/* REHAU: профили — полупрозрачные красные карточки на фото, 5 + 3 */
.se-b.ov-bg-rehau-2 .cards__item { background: rgb(237 28 36 / .62) !important; border-right: 1px solid rgb(255 255 255 / .25); }
.se-b.ov-bg-rehau-2 .cards__list { gap: 0; }
@media (min-width: 1024px) {
  .se-b.ov-bg-rehau-2 .se-container { max-width: none; padding-inline: 0; }
  .se-b.ov-bg-rehau-2 .cards__list { grid-template-columns: repeat(15, minmax(0, 1fr)) !important; }
  .se-b.ov-bg-rehau-2 .cards__item:nth-child(-n+5) { grid-column: span 3; }
  .se-b.ov-bg-rehau-2 .cards__item:nth-child(n+6) { grid-column: span 5; }
}
.se-b.ov-bg-rehau-2 .se-head__title { padding: 40px 0 50px; color: #000; font-size: 30px; }
.se-b.ov-bg-rehau-2 .cards__text { color: #fff; }
.se-b.ov-bg-rehau-2 .cards__media { height: 200px; }
.se-b.ov-bg-rehau-2 .cards__title { color: #fff; }
.ov-head .rt > h2, .ov-text.ov-head .rt > h2 { font-family: Arial, sans-serif; font-size: 20px; font-weight: 700; text-align: center; }
.se-b.ov-features-3 .se-container { max-width: none; padding-inline: 0; }
.se-b.ov-features-3 { padding-block: 0; }
.ov-products .shop__grid:has(> :only-child) { grid-template-columns: minmax(0, 380px); justify-content: center; }
.ov-products .shop__item:only-child .shop__link { text-align: center; }

.se-b.ov-bg-veka-4 { background-image: linear-gradient(rgb(14 34 89 / .45), rgb(14 34 89 / .45)), url(/img/fon/subscription-back.jpg) !important; }
.se-b.ov-bg-veka-4 .cards__title, .se-b.ov-bg-veka-4 .cards__text { color: #fff; text-shadow: 0 1px 3px rgb(0 0 0 / .6); }
.ov-dealer .rt { text-align: center; }
.ov-dealer .rt > h2 { font-size: 30px; font-weight: 400; }
.ov-dealer .se-rich { text-align: center; font-size: 15px; }
.ov-dealer .se-rich strong { color: #d83131; font-size: 26px; font-weight: 400; }

/* заголовок раздела слева, с короткой чертой (как fancy-heading у Themify) */
.se-b.ov-left .se-head { align-items: flex-start; text-align: left; }
.se-b.ov-left .se-head__title { margin-inline: 0; font-size: 18px; text-transform: none; }
.se-b.ov-left .se-head__title::after { content: ""; display: block; width: 30px; height: 2px; margin-top: 8px; background: #d83131; }
/* карточки с подписью поверх низа фото (плюсы остекления, профили Exprof) */
.ov-captioned .cards__link { border: 0; background: none; }
.ov-captioned .cards__body { position: relative; margin: -40px 15px 0; padding: 12px 16px; background: #fff; text-align: center; }
.ov-captioned .cards__title { font-family: 'Montserrat', sans-serif; font-size: 16px; font-weight: 500; text-transform: uppercase; }
.ov-captioned .cards__text { font-size: 12px; color: #333; }
/* что мы предлагаем: фото слева, пункты справа строками */
.ov-offer .cards__cat--lead .cards__cbody { display: none; }
.ov-offer .cards__cat:not(.cards__cat--lead) { display: grid; grid-template-columns: 60px 1fr; align-items: center; gap: 12px; padding: 12px; border: 1px solid #ececec; }
.ov-offer .cards__cat:not(.cards__cat--lead) .se-media { aspect-ratio: 1 !important; }
.ov-offer .cards__ctitle--sm { font-size: 13px; font-weight: 400; }
.ov-offer .cards__ctext { color: #d83131; font-size: 14px; }
.ov-offer .cards__cprice { display: none; }
@media (min-width: 1024px) {
  .se-b.ov-offer .cards__mosaic { grid-template-columns: 1fr 1fr !important; gap: 12px 30px; }
  .se-b.ov-offer .cards__mosaic > :not(.cards__cat--lead) { grid-column: 2 !important; }
  .se-b.ov-offer .cards__cat--lead { grid-column: 1 !important; grid-row: 1 / span 3 !important; }
}
.ov-captioned .cards__text { white-space: normal; }
/* баннер без затемнения у оригинала — белая карточка с тёмным текстом слева */
.ov-hero-card .hero__bg::after { background: none; }
.ov-hero-card .hero__text { max-width: 450px; padding: 30px; background: rgb(255 255 255 / .9); color: #222; }
.ov-hero-card .hero__title { font-family: Arial, sans-serif; text-transform: none; font-size: 32px; color: #222; }
.ov-hero-card .hero__lead { color: #222 !important; font-size: 17px; }
/* призыв на тёмном: текст слева, кнопка справа, без карточки */
.ov-cta.cta--panel .cta__card { background: none; border: 0; box-shadow: none; color: #fff; justify-content: center; gap: 40px; }
.ov-cta.cta--panel .cta__title { font-family: 'Montserrat', sans-serif; font-size: 22px; font-weight: 400; text-transform: uppercase; color: #fff; }
.ov-cta.cta--panel .cta__lead { color: #fff; font-size: 13px; }
.ov-cta .se-btn--primary { background: #f39c12; }

.ov-reviews .rv__slide { border: 0; background: none; text-align: center; color: #fff; }
.ov-reviews .rv__stext { font-size: 14px; color: #fff; max-width: 900px; margin: 0 auto; }
.ov-reviews .rv__sname { order: 2; color: #fff; font-weight: 700; }
.ov-reviews .se-head__title { color: #fff; }
.ov-logos .lg__list { justify-content: space-between; }
.ov-logos .lg__list img { max-height: 70px; filter: none; opacity: 1; }
.ov-gallery .gal__list { gap: 4px; }
@media (min-width: 760px) {  /* пять фото: две крупных сверху, три под ними */
  .ov-gallery .gal__list:has(> :nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ov-gallery .gal__list:has(> :nth-child(5):last-child) > :nth-child(-n+2) { grid-column: span 3; }
  .ov-gallery .gal__list:has(> :nth-child(5):last-child) > :nth-child(n+3) { grid-column: span 2; }
}
.ov-gallery .se-media { border-radius: 0; }

/* тёмные ряды: светлые заголовки; карточки-значки (белые иконки) — маленькие, без подложки */
.se-b.ov-dark h2, .se-b.ov-dark .se-head__title, .se-b.ov-dark .se-head__text { color: #fff; }
.se-b.ov-dark.ov-offer .cards__list { gap: 20px; }
.se-b.ov-dark.ov-offer .cards__link { background: none; border: 0; text-align: center; }
.se-b.ov-dark.ov-offer .cards__media { aspect-ratio: auto !important; height: 70px; background: none; }
.se-b.ov-dark.ov-offer .cards__media img { object-fit: contain; }
.se-b.ov-dark.ov-offer .cards__title { color: #fff; font-size: 14px; }
.se-b.ov-dark.ov-offer .cards__text { color: #fff; font-size: 11px; }

/* значки в красном круге */
.se-b--icons .ic__icon { display: grid; place-items: center; width: 76px; height: 76px; border: 2px solid #d83131; border-radius: 50%; }
.se-b--icons .ic__icon .se-picto { width: 30px; height: 30px; color: #d83131; }
.se-b--icons .ic__title { font-size: 14px; font-weight: 700; }
.se-b--icons .ic__text { font-size: 11px; }
.se-b.ov-dark .ic__title, .se-b.ov-dark .ic__text { color: #fff; }
/* четыре преимущества вокруг картинки: 2 слева, картинка, 2 справа */
@media (min-width: 900px) {
  .ov-ring .ic__list { grid-template-columns: 1fr 1.3fr 1fr !important; grid-template-rows: auto auto; }
  .ov-ring .ic__list::before { content: ""; grid-column: 2; grid-row: 1 / span 2; min-height: 260px; background: center / contain no-repeat; }
  .ov-ring .ic__item:nth-child(1), .ov-ring .ic__item:nth-child(2) { grid-column: 1; }
  .ov-ring .ic__item:nth-child(3), .ov-ring .ic__item:nth-child(4) { grid-column: 3; }
  .ov-ring .ic__item:nth-child(1) { grid-row: 1; } .ov-ring .ic__item:nth-child(2) { grid-row: 2; }
  .ov-ring .ic__item:nth-child(3) { grid-row: 1; } .ov-ring .ic__item:nth-child(4) { grid-row: 2; }
}
.ov-ring .ic__icon { width: auto; height: auto; border: 0; }
@media (min-width: 900px) {
  .ov-ring .ic__item { display: grid; grid-template-columns: 1fr 40px; column-gap: 16px; text-align: right; justify-items: end; align-items: center; }
  .ov-ring .ic__item > .ic__icon { grid-column: 2; grid-row: 1 / span 2; }
  .ov-ring .ic__item:nth-child(n+3) { grid-template-columns: 40px 1fr; text-align: left; justify-items: start; }
  .ov-ring .ic__item:nth-child(n+3) > .ic__icon { grid-column: 1; }
  .ov-ring .ic__item > :not(.ic__icon) { grid-column: 1; }
  .ov-ring .ic__item:nth-child(n+3) > :not(.ic__icon) { grid-column: 2; }
}
.ov-alt .se-media { max-height: 190px; }
.ov-alt .se-media img { object-fit: contain; }
.ov-center .rt, .ov-center .se-rich { text-align: center; }
.ov-center .se-rich p { margin-inline: auto; max-width: 900px; font-size: 17px; }
/* «Пластиковые окна»: первый ряд — текст по центру над фото */
.se-b.ov-bg-plast-0 .tm__grid { grid-template-columns: 1fr !important; text-align: center; }
.se-b.ov-bg-plast-0 .tm__text { order: -1; }
.se-b.ov-bg-plast-0 .se-rich p { margin-inline: auto; }
.se-b.ov-bg-plast-0 .tm__media .se-media { max-width: 900px; margin: 0 auto; background: none; }

.ov-alt .cards__list { align-items: center; }
.ov-alt .cards__link { background: none !important; border: 0 !important; text-align: center; }
.ov-alt .se-media--placeholder, .ov-alt .cards__body:not(:has(*)) { display: none; }
.ov-alt .se-media { background: none; }
.ov-alt .cards__title { font-size: 15px; font-weight: 700; }
.ov-alt .cards__text { font-size: 11px; }
.ov-alt .cards__text p { margin-inline: auto; }

.ov-light .cta__card { max-width: none; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; text-align: left; align-items: flex-start; }
.ov-light .cta__copy { align-items: flex-start; text-align: left; }
.ov-light .cta__title { max-width: none !important; }
.ov-light .cta__btns { justify-content: center; width: 100%; }
.ov-light .se-btn--primary { background: #ed1c24; font-size: 18px; }
.ov-light .cta__title { font-family: Arial, sans-serif; font-size: 26px; font-weight: 400; text-transform: uppercase; color: #222; }
.ov-light .cta__lead { color: #222; text-transform: uppercase; font-size: 17px; }
.ov-colbanners .bn__grid { gap: 0; }
.ov-colbanners .se-container { max-width: none; padding-inline: 0; }
.ov-colbanners .bn__link::before { content: ""; position: absolute; inset: 0; z-index: 1; background: rgb(35 39 71 / .55); }
.ov-colbanners .bn__item:nth-child(2) .bn__link::before { background: rgb(255 255 255 / .82); }
.ov-colbanners .bn__item:nth-child(2) .bn__text { color: #222; text-shadow: none; }
.ov-colbanners .bn__text { z-index: 2; inset: 50% 20px auto; transform: translateY(-50%); text-align: center; text-shadow: none; }
.ov-colbanners .bn__title { font-family: Arial, sans-serif; font-size: 22px; font-weight: 400; }
.ov-colbanners .bn__sub { font-size: 28px; font-weight: 700; }
.ov-colbanners .bn__btn { background: #ed1c24; font-size: 18px; }

.ov-portfolio .gc { max-width: 1170px; }
.ov-portfolio .gc__item .se-media { background: #f4f4f4; }
.ov-contacts-boxes .feat__item { background: #f4f4f4; border: 0; }
.ov-contacts-boxes .feat__title { text-transform: uppercase; font-weight: 400; font-size: 15px; }
.ov-contactform .lf__form { max-width: none !important; margin-inline: 0 !important; text-align: left; }
.ov-contactform h2 { font-size: 16px; text-transform: uppercase; text-align: left; }
.ov-contactform .se-lead__input { border-radius: 0; }
.ov-contactform .lf__btn { background: #d83131; text-transform: uppercase; }
.se-b--shop .shop__form, .se-b--product .shop__form { padding-bottom: 20px; }
.shop__form .se-lead__input { border-radius: 0; }
.shop__form .se-btn { background: #d83131; text-transform: uppercase; font-size: 12px; }

/* подвал: тёмный, логотип, контакты */
.se-b--footer.ov-footer { background: #262626; color: #ccc; }
.se-b--footer.ov-footer .ft__logo { max-height: 120px; }
@media (min-width: 900px) { .se-b--footer.ov-footer .ft__grid { grid-template-columns: 1fr 1fr 1fr; } }
.se-b--footer.ov-footer .ft__formtitle { font-family: 'Montserrat', sans-serif; font-size: 20px; font-weight: 400; text-transform: uppercase; letter-spacing: 0; opacity: 1; }
.se-b--footer.ov-footer .se-btn--primary { background: #333; }

/* сравнительная таблица профилей (REHAU): красная шапка, серые полосы, тёмная сетка, фото профилей, красные звёзды */
.ov-table .se-table table { table-layout: fixed; font-size: 15px; color: #333; }
.ov-table .se-table th, .ov-table .se-table td { border-color: #444; padding: 16px; }
.ov-table .se-table thead th { background: #dd3333; font-weight: 400; text-align: left; }
.ov-table .se-table td:first-child { text-align: left; }
.ov-table .se-table tbody tr:nth-child(even) > * { background: #eee; }
.ov-table .se-table img { max-width: 100%; max-height: none; }
.ov-table .se-table mark.se-mark { color: #dd3333; font-size: 26px; line-height: 1; }
@media (max-width: 900px) { .ov-table .se-table table { table-layout: auto; min-width: 900px; } }

/* фоны рядов оригинала */
.se-b.ov-bg-rehau-2 { background: url(/img/fon/7281.jpg) center / cover no-repeat; }
.se-b.ov-bg-veka-1 { background: linear-gradient(rgba(255, 255, 255, .71), rgba(255, 255, 255, .71)), url(/img/fon/veka-hero.jpg) center / cover no-repeat; }
.se-b.ov-bg-veka-4 { background: url(/img/fon/subscription-back.jpg) center / cover no-repeat; }
.se-b.ov-bg-balk-2 { background: #232323; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-balk-7 { background: #232323; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-balk-12 { background: linear-gradient(rgba(0, 0, 0, .69), rgba(0, 0, 0, .69)), url(/img/fon/bntvdyju6fe.jpg) center / cover no-repeat; }
.se-b.ov-bg-balk-14 { background: #232323; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-remont-0 { background: linear-gradient(rgba(255, 255, 255, .61), rgba(255, 255, 255, .61)), url(/img/fon/vuzov-zamer-1.png) center / cover no-repeat; }
.se-b.ov-bg-remont-3 { background: url(/img/fon/adobestock-190486078.jpg) center / cover no-repeat; }
.se-b.ov-bg-utepl-3 { background: #1c1c1c; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-utepl-8 { background: #1c1c1c; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-plast-0 { background: #000; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-plast-1 { background: #000; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-ring-plast-1 .ic__list::before { background-image: url(/img/kartochki/window-307x350.png); }
.se-b.ov-bg-plast-2 { background: #000; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-plast-3 { background: #000; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-plast-4 { background: #030303; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-plast-6 { background: #030303; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
.se-b.ov-bg-plast-10 { background: #000; --se-ink: #fff; --se-ink-2: rgb(255 255 255 / .85); --se-muted: rgb(255 255 255 / .7); --se-line: rgb(255 255 255 / .15); color: #fff; }
