/* HIGOLD — светлая «техдокументационная» тема (десктоп).
   Сгенерировано автоматически: python3 tools/make_doc_theme.py
   Источник: dark.css
   Правьте исходник и запускайте конвертер заново — файл перезаписывается.
   */

/* HIGOLD — тёмная тема (по образцу тёмного варианта): чёрный фон, стеклянная шапка,
   крупные заголовки, одна акцентная кнопка. Подключается последним. */
:root {
  --d-bg: #C0C1BC;
  --d-bg-2: #B7B8B2;
  --d-panel: #F5F5F2;
  --d-panel-2: #EDEDE8;
  --d-line: rgba(16, 16, 14, .28);
  --d-line-soft: rgba(16, 16, 14, .16);
  --d-text: #111111;
  --d-muted: #55575A;
  --d-faint: #7A7C7E;
  --d-accent: #2F5494;
  --d-accent-2: #111111;
  --d-coral: #B23A22;
}
html {
  background: #C0C1BC;
}
body {
  background: var(--d-bg);
  color: var(--d-text);
  font-family: 'Golos Text', 'Inter', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
}
/* ---------- Топбар и шапка: стекло ---------- */
.topbar {
  background: #DCDDD7;
  color: #55575A;
  border-bottom: 1px solid rgba(16, 16, 14, .28);
}
.topbar a {
  color: #4A4C4F;
}
.topbar a:hover {
  color: #111111;
}
.header {
  position: sticky;
  top: 0;
  z-index: 60;
  background: #F5F5F2;
  border-bottom: 1px solid #101010;
}
.header .wrap {
  gap: 18px;
}
.nav a {
  color: #111111;
}
.nav a:hover {
  color: #111111;
  border-color: #101010;
}
.nav .sub {
  background: #F5F5F2;
  border: 1px solid #101010;
  box-shadow: 6px 6px 0 rgba(16, 16, 14, .38);
  z-index: 61;
}
.nav .sub a {
  color: #111111;
}
.nav .sub a:hover {
  background: #E4E4DE;
  color: #111111;
}
.nav .sub-col {
  border-right-color: var(--d-line);
}
.nav .sub .sub-title {
  color: #111111;
}
.header-phone {
  color: #111111;
}
.header-phone span {
  color: var(--d-faint);
}
.burger {
  color: #111111;
}
.burger span {
  background: #111111;
}
.logo img {
  filter: none;
}
/* ---------- Заголовки и типографика ---------- */
.display {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.hero h1 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.aud-head h2 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.collage-head h2 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.sys-head h2 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.cat-hero h1 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.price-hero h1 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.wr-hero h1 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.spec-hero h1 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.01em;
  line-height: 1.06;
}
.hero h1 {
  font-size: clamp(38px, 5vw, 74px);
}
.aud-head h2 {
  font-size: clamp(28px, 3.2vw, 48px);
}
.label {
  color: var(--d-muted);
}
.label .num {
  color: var(--d-muted);
}
.label::before {
  background: var(--d-line);
}
.mono {
  color: var(--d-faint);
}
a {
  color: inherit;
}
/* ---------- HERO: полноэкранный, фото на фоне ---------- */
.hero {
  background: #C0C1BC;
  color: #111111;
  min-height: calc(100vh - 120px);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 72px 0 56px;
}
.hero::before {
  display: none;
}
.hero-bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.hero-bg-slide {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transform: scale(1.06);
  transition: opacity 1.4s ease, transform 14s ease;
}
.hero-bg-slide.on {
  opacity: 1;
  transform: scale(1);
}
.hero-bg-slide {
  z-index: 1;
}
.hero-bg-slide.on {
  opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
  .hero-bg-slide.on {
    opacity: 1;
  }
}
.hero-veil {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 38%, rgba(16, 16, 14, 0.34), rgba(16, 16, 14, 0.8) 72%),
    linear-gradient(180deg, rgba(16, 16, 14, 0.68) 0%, rgba(16, 16, 14, 0.38) 32%, rgba(16, 16, 14, 0.92) 100%);
}
.hero .wrap {
  position: relative;
  z-index: 2;
}
.hero-grid {
  grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
}
.hero h1 {
  max-width: 20ch;
}
.hero h1 em {
  color: #111111;
  font-style: italic;
}
.hero-lead {
  color: rgba(17, 17, 17, 0.72);
  max-width: 52ch;
}
.hero-slogan {
  color: #111111;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-size: clamp(22px, 2.4vw, 34px);
  font-weight: 800;
}
.hero-facts {
  border-top-color: var(--d-line);
}
.hero-facts span {
  color: var(--d-faint);
}
.hero-facts b {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  font-size: 34px;
}
.hero-brands img {
  filter: none;
  opacity: .9;
}
.hero-brands {
  display: flex;
  align-items: flex-start;
  gap: 34px;
  flex-wrap: wrap;
  margin-top: 30px;
}
.brand-block {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.brand-sub {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--d-faint);
}
.logo-sub {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--d-faint);
}
.logo {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.logo-sub {
  color: rgba(17, 17, 17, 0.72);
}
.brand-sub--title {
  font-size: 11px;
  line-height: 1.55;
  letter-spacing: .2em;
  color: rgba(17, 17, 17, 0.72);
  max-width: 260px;
  padding-top: 4px;
}
.hero-mosaic {
  display: none;
}
/* ---------- Кнопки ---------- */
.btn {
  border-radius: 0;
  font-weight: 600;
}
.btn-solid {
  background: var(--d-accent) !important;
  border-color: var(--d-accent) !important;
  color: #111111 !important;
}
.btn-round {
  background: var(--d-accent) !important;
  border-color: var(--d-accent) !important;
  color: #111111 !important;
}
.btn-solid:hover {
  background: var(--d-accent-2) !important;
  border-color: var(--d-accent-2) !important;
}
.btn-round:hover {
  background: var(--d-accent-2) !important;
  border-color: var(--d-accent-2) !important;
}
.btn-ghost {
  border: 1px solid #101010 !important !important;
  color: #111111 !important !important;
  background: #F5F5F2 !important !important;
  backdrop-filter: none;
}
.btn-ghost:hover:not(.danger) {
  background: #111111 !important !important;
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.cat-foot a {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.price-add {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.cat-card .btn {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.spec-btn {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.cat-foot a:hover {
  background: #3A3A38 !important !important;
  color: #FFFFFF !important !important;
  border-color: #3A3A38 !important !important;
}
.price-add:hover {
  background: #3A3A38 !important !important;
  color: #FFFFFF !important !important;
  border-color: #3A3A38 !important !important;
}
.btn-ghost:hover:not(.danger) {
  background: #111111 !important !important;
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.btn-ghost.danger:hover {
  border-color: #B03030 !important !important;
  color: #8C1F1F !important !important;
}
/* ---------- Секции и поверхности ---------- */
.audience {
  background: var(--d-bg);
}
.guide {
  background: var(--d-bg);
}
.numbers {
  background: var(--d-bg);
}
.request {
  background: var(--d-bg);
}
.collage-section {
  background: var(--d-bg);
}
.collections {
  background: var(--d-bg);
}
.tb-section {
  background: var(--d-bg);
}
.sys-blocks {
  background: var(--d-bg);
}
.cat-page {
  background: var(--d-bg);
}
.price-page {
  background: var(--d-bg);
}
.wr-page {
  background: var(--d-bg);
}
.spec-page {
  background: var(--d-bg);
}
.catalog {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.expo {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.partnerform {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.aud-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.tile {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.stat {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.level {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.aud-grid {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.stat-row {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.guide-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.note-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.who-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.num-item {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.aud-head p {
  color: var(--d-muted);
}
.numbers p {
  color: var(--d-muted);
}
.expo p {
  color: var(--d-muted);
}
.request p {
  color: var(--d-muted);
}
.guide-card ul {
  color: var(--d-muted);
}
.aud-head p {
  color: var(--d-muted);
}
.aud-link {
  color: #111111;
}
.guide-card a {
  color: #111111;
}
.note {
  background: rgba(228, 99, 74, .10);
  color: #8C2B15;
  border-left-color: #B23A22;
}
.tile .media {
  background: #DEDED8;
}
.aud-card .media {
  background: #DEDED8;
}
h2 {
  color: #111111;
}
h3 {
  color: #111111;
}
h4 {
  color: #111111;
}
/* ---------- Коллаж, серии, плитки ---------- */
.collage-item {
  background: var(--d-panel);
}
.tb-item {
  background: var(--d-panel);
}
.cat-card {
  background: var(--d-panel);
}
.collage-item img {
  background: var(--d-panel);
}
.tb-item {
  border: 0;
}
.collage-cap b {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  text-transform: none;
  font-weight: 800;
}
.tb-cap b {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  text-transform: none;
  font-weight: 800;
}
.tb-cap {
  background: linear-gradient(to top, rgba(16, 16, 14, 0.88), rgba(16, 16, 14, 0));
}
.tb-cap i {
  opacity: .72;
}
/* ---------- Блоки разделов (главная) ---------- */
.sys-block {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sys-title {
  color: #111111;
  font-weight: 800;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  text-transform: none;
  letter-spacing: -.01em;
}
.sys-sub {
  color: var(--d-muted);
}
.sys-photo {
  background: #DEDED8;
}
.sys-chips a {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: rgba(17, 17, 17, 0.88);
}
.sys-chips a:hover {
  border-color: #111111;
  color: #111111;
  background: var(--d-panel);
}
.sys-coll {
  background: var(--d-panel-2);
  border-color: var(--d-line);
}
.sys-coll-name {
  color: var(--d-muted);
}
.sys-serie {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sys-tile {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sys-serie:hover {
  border-color: rgba(17, 17, 17, 0.58);
}
.sys-tile:hover {
  border-color: rgba(17, 17, 17, 0.58);
}
.sect-card:hover {
  border-color: rgba(17, 17, 17, 0.58);
}
.sect-tile:hover {
  border-color: rgba(17, 17, 17, 0.58);
}
.sect-link:hover {
  border-color: rgba(17, 17, 17, 0.58);
}
.sys-serie-ph {
  background: #DEDED8;
}
.sys-tile-ph {
  background: #DEDED8;
}
.sect-media {
  background: #DEDED8;
}
.sys-tile--hw .sys-tile-ph {
  background: #DADAD4;
}
.sys-serie-body b {
  color: #111111;
}
.sys-tile-body b {
  color: #111111;
}
.sys-serie-body .mono {
  color: var(--d-faint);
}
.sys-tile-body .mono {
  color: var(--d-faint);
}
.sect-body .mono {
  color: var(--d-faint);
}
.sys-size {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: var(--d-muted);
}
.sys-size:hover {
  border-color: #111111;
  color: #111111;
}
.sys-wordmark {
  color: #111111;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
}
.sys-catalog-link {
  color: rgba(17, 17, 17, 0.88);
}
.sys-catalog-link:hover {
  color: #111111;
}
.sect-block {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sect-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sect-tile {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sect-link {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: #111111;
}
.sect-link .mono {
  color: #5A5C5F;
}
.tb-lead {
  color: #111111;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  text-transform: none;
  letter-spacing: -.01em;
  font-weight: 800;
}
/* ---------- Каталог ---------- */
.cat-hero {
  background: #C0C1BC;
  color: #111111;
}
.price-hero {
  background: linear-gradient(135deg, #0E1728 0%, #223E6E 58%, #2F5494 100%);
  color: #FFFFFF;
}
.wr-hero {
  background: #C0C1BC;
  color: #111111;
}
.spec-hero {
  background: #C0C1BC;
  color: #111111;
}
.price-hero {
  background: linear-gradient(135deg, #0E1728 0%, #223E6E 58%, #2F5494 100%);
}
.cat-hero::before {
  display: none;
}
.price-hero::before {
  display: none;
}
.wr-hero::before {
  display: none;
}
.cat-hero p {
  color: #4A4C4F;
}
.price-hero p {
  color: rgba(255, 255, 255, .86);
}
.spec-hero p {
  color: #4A4C4F;
}
.wr-lead {
  color: #4A4C4F;
}
.cat-hero .label {
  color: #55575A;
}
.price-hero .label {
  color: rgba(255, 255, 255, .88);
}
.wr-hero .label {
  color: #55575A;
}
.spec-hero .label {
  color: #55575A;
}
.cat-hero .label::before {
  background: var(--d-line);
}
.price-hero .label::before {
  background: rgba(255, 255, 255, .55);
}
.wr-hero .label::before {
  background: var(--d-line);
}
.cat-hero h1 em {
  color: #111111;
}
.price-hero h1 em {
  color: #FFFFFF;
}
.wr-hero h1 em {
  color: #111111;
}
.spec-hero h1 em {
  color: #111111;
}
.cat-stats {
  border-top-color: var(--d-line);
}
.price-stats {
  border-top-color: rgba(255, 255, 255, .28);
}
.wr-hero-facts {
  border-top-color: #101010;
}
.cat-stats div span {
  color: #5A5C5F;
}
.price-stats div span {
  color: rgba(255, 255, 255, .72);
}
.wr-hero-facts span {
  color: #5A5C5F;
}
.cat-toolbar {
  background: #F5F5F2;
  border-bottom-color: #101010;
  backdrop-filter: none;
}
.price-toolbar {
  background: #F5F5F2;
  border-bottom-color: #101010;
  backdrop-filter: none;
}
.spec-toolbar {
  background: #F5F5F2;
  border-bottom-color: #101010;
  backdrop-filter: none;
}
.cat-tree {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.price-panel {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.cat-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.price-row {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.cat-collection-note {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.cat-search input {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.cat-select {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.price-search input {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.field input {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.field select {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.field textarea {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.cat-search {
  background: var(--d-panel-2);
  border-color: var(--d-line);
}
.cat-toolbar .mono {
  color: var(--d-muted) !important;
}
.cat-head .mono {
  color: var(--d-muted) !important;
}
/* светлые плитки разделов на тёмном фоне */
.sub-tile {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: #111111;
}
.sub-tile b {
  color: #111111;
}
.sub-tile i {
  color: var(--d-muted);
}
.sub-tile:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 10px 26px rgba(16, 16, 14, 0.5);
}
/* главная: плитки направлений каталога */
.dir-tile {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.dir-tile:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 14px 34px rgba(16, 16, 14, 0.5);
}
.dir-body b {
  color: #111111;
}
.dir-body i {
  color: var(--d-muted);
}
.dir-coll {
  border-color: var(--d-line);
  color: var(--d-accent-2);
  background: transparent;
}
.dir-cta {
  color: var(--d-accent-2);
}
/* главная: видео-карусель и плитки направлений */
.hv-slide {
  border-color: var(--d-line);
}
.hv-nav {
  background: #F5F5F2;
  color: #111111;
  border-color: #101010;
  box-shadow: 4px 4px 0 rgba(16, 16, 14, .38);
}
.hv-nav:hover {
  border-color: #111111;
  color: #111111;
}
.hv-empty {
  border-color: var(--d-line);
  color: var(--d-muted);
}
.hv-tile {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: #111111;
}
.hv-tile:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 10px 26px rgba(16, 16, 14, 0.5);
}
.hv-tile[aria-expanded="true"] {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 10px 26px rgba(16, 16, 14, 0.5);
}
.hv-tile-ico {
  border-color: var(--d-line);
  color: #111111;
}
.hv-tile b {
  color: #111111;
}
.hv-tile i {
  color: var(--d-muted);
}
.hv-tile-cta {
  color: var(--d-accent-2);
}
.hv-menu {
  background: #F5F5F2;
  border-color: #101010;
  box-shadow: 6px 6px 0 rgba(16, 16, 14, .38);
}
.hv-menu-t {
  color: #111111;
}
.hv-menu-close {
  color: var(--d-muted);
}
.hv-menu-col {
  border-left-color: var(--d-line-soft);
}
.hv-menu-coll {
  color: var(--d-muted);
}
.hv-menu-col a {
  color: rgba(17, 17, 17, 0.88);
}
.hv-menu-col a:hover {
  color: #111111;
}
/* страницы разделов (pages.css) на тёмном фоне */
.crumbs {
  color: var(--d-muted);
}
.crumbs span {
  color: var(--d-muted);
}
.crumbs a {
  color: var(--d-muted);
}
.page-hero {
  border-bottom-color: var(--d-line-soft);
}
.page-hero h1 {
  color: #111111;
}
.page-h2 {
  color: #111111;
}
.page-text h2 {
  color: #111111;
}
.page-lead {
  color: rgba(17, 17, 17, 0.72);
}
.page-text p {
  color: rgba(17, 17, 17, 0.72);
}
.page-bullets li {
  color: rgba(17, 17, 17, 0.72);
}
.page-collhead {
  border-bottom-color: var(--d-line-soft);
}
.page-collhead b {
  color: #111111;
}
.page-collhead i {
  color: var(--d-muted);
}
.page-text {
  border-top-color: var(--d-line-soft);
}
.page-bullets li::before {
  color: var(--d-accent-2);
}
.page-back {
  color: var(--d-accent-2);
}
.page-back:hover {
  color: #111111;
}
.cat-search input::placeholder {
  color: var(--d-faint);
}
.price-search input::placeholder {
  color: var(--d-faint);
}
.field input::placeholder {
  color: var(--d-faint);
}
.cat-tree h5 {
  color: #111111;
}
.cat-head h2 {
  color: #111111;
}
.cat-card .cat-name {
  color: #111111;
}
.cat-tree h5 {
  background: var(--d-panel-2);
  color: var(--d-faint);
  border-bottom-color: var(--d-line);
}
.cat-tree h5 span {
  color: var(--d-faint);
}
.cat-head p {
  color: var(--d-faint);
}
.cat-specs dt {
  color: var(--d-faint);
}
.cat-note {
  color: var(--d-faint);
}
.cat-footpage .mono {
  color: var(--d-faint);
}
.tree-sec {
  border-bottom-color: var(--d-line-soft);
}
.tree-coll {
  border-bottom-color: var(--d-line-soft);
}
.tree-sec > button {
  color: rgba(17, 17, 17, 0.88);
  border-bottom-color: var(--d-line-soft);
}
.tree-coll > button {
  color: rgba(17, 17, 17, 0.88);
  border-bottom-color: var(--d-line-soft);
}
.tree-series button {
  color: var(--d-muted);
}
.tree-sec > button:hover {
  background: rgba(17, 17, 17, 0.102) !important;
  color: #111111 !important;
}
.tree-coll > button:hover {
  background: rgba(17, 17, 17, 0.102) !important;
  color: #111111 !important;
}
.tree-sec.open > button {
  background: rgba(17, 17, 17, 0.102) !important;
  color: #111111 !important;
}
.tree-coll.open > button {
  background: rgba(17, 17, 17, 0.102) !important;
  color: #111111 !important;
}
.tree-series button:hover {
  background: rgba(17, 17, 17, 0.102) !important;
  color: #111111 !important;
}
.tree-sec.open > button {
  box-shadow: inset 2px 0 0 #111111;
}
.tree-coll.open > button {
  box-shadow: inset 2px 0 0 #111111;
}
.tree-series button:hover {
  color: #111111;
  border-color: #111111;
}
.tree-series button.active {
  color: #111111;
  border-color: #111111;
}
.cat-chip {
  background: transparent;
  border-color: var(--d-line);
  color: var(--d-muted);
}
.cat-subchips button {
  background: transparent;
  border-color: var(--d-line);
  color: var(--d-muted);
}
.price-chip {
  background: rgba(47, 84, 148, .12);
  border-color: #2F5494;
  color: #1B3A6B;
}
.price-chip:hover {
  background: #2F5494;
  color: #FFFFFF;
  border-color: #1B3A6B;
}
.price-chip.active {
  background: #2F5494;
  color: #FFFFFF;
  border-color: #1B3A6B;
}
.price-chips::before {
  color: #2F5494;
}
.cat-chip.active {
  background: #111111;
  color: #F5F5F2;
  border-color: #111111;
}
.cat-subchips button.active {
  background: #111111;
  color: #F5F5F2;
  border-color: #111111;
}
.cat-subchips button:hover {
  background: #111111;
  color: #F5F5F2;
  border-color: #111111;
}
.cat-badge.tb {
  background: #2F5494;
  color: #FFFFFF;
}
.cat-badge.rev {
  background: rgba(228, 99, 74, .16);
  color: #8C2B15;
}
.cat-photo {
  background: #DEDED8;
}
.price-ph {
  background: #DEDED8;
}
.cat-specs dd {
  color: rgba(17, 17, 17, 0.88);
}
.cat-variants th {
  color: var(--d-faint);
}
.cat-variants td {
  border-top-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.cat-variants a {
  color: #111111;
}
.cat-foot a {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.price-add {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.cat-card .btn {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.spec-btn {
  color: #FFFFFF !important !important;
  border-color: #111111 !important !important;
}
.cat-foot a:hover {
  background: #3A3A38 !important !important;
  color: #FFFFFF !important !important;
}
.price-add:hover {
  background: #3A3A38 !important !important;
  color: #FFFFFF !important !important;
}
.cat-empty {
  color: var(--d-muted);
}
.cat-note {
  color: var(--d-muted);
  border-top-color: var(--d-line-soft);
  background: rgba(17, 17, 17, 0.068) !important;
  border-left: 2px solid rgba(17, 17, 17, 0.45);
  padding: 9px 12px;
}
.cat-note b {
  color: #7A5200;
}
.cat-note-sla {
  background: rgba(31, 107, 58, 0.08);
  border-left-color: rgba(31, 107, 58, 0.5);
}
.cat-note-sla b {
  color: #1F6B3A;
}
/* ---------- Прайс ---------- */
.price-page {
  color: var(--d-text);
}
table.price-table {
  background: transparent;
}
table.price-table th {
  background: var(--d-panel-2);
  color: var(--d-faint);
  border-bottom-color: var(--d-line);
}
table.price-table td {
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
table.price-table tr:hover td {
  background: rgba(17, 17, 17, 0.068);
}
table.price-table .series {
  color: var(--d-faint);
}
table.price-table .thumb {
  background: var(--d-panel-2);
  border-color: var(--d-line);
}
.price-tablewrap {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.price-search {
  background: var(--d-panel-2);
  border-color: var(--d-line);
}
.price-search input {
  color: #111111;
}
.price-btn {
  background: transparent;
  border-color: var(--d-line);
  color: #111111;
}
.price-btn:hover {
  border-color: #111111;
}
.price-btn.on {
  background: #111111;
  color: #F5F5F2;
  border-color: #111111;
}
.price-chip.active {
  background: #2F5494;
  border-color: #1B3A6B;
  color: #FFFFFF;
}
.price-tablewrap {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.price-search {
  background: var(--d-panel-2);
  border-color: var(--d-line);
}
.price-search input {
  color: #111111;
}
.price-btn {
  background: transparent;
  border-color: var(--d-line);
  color: #111111;
}
.price-btn:hover {
  border-color: #111111;
}
.price-btn.on {
  background: #111111;
  color: #F5F5F2;
  border-color: #111111;
}
.price-chip.active {
  background: #2F5494;
  border-color: #1B3A6B;
  color: #FFFFFF;
}
.price-row {
  background: transparent;
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.price-row td {
  background: transparent;
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.price-row:hover {
  background: rgba(17, 17, 17, 0.051);
}
.price-row th {
  color: var(--d-faint);
}
.price-row th {
  color: var(--d-faint);
}
.avail-tag {
  border: 1px solid var(--d-line);
  color: var(--d-muted);
}
.avail-tag.yes {
  color: #1F6B3A;
  border-color: rgba(31, 107, 58, .45);
  background: rgba(31, 107, 58, .10);
}
.avail-tag.order {
  color: #7A5200;
  border-color: rgba(122, 82, 0, .45);
  background: rgba(122, 82, 0, .10);
}
.price-note {
  color: var(--d-muted);
}
/* ---------- Гардероб ---------- */
.wr-hero-figure img {
  border-radius: 0;
}
.wr-hero-figure figcaption {
  color: var(--d-faint);
  border-top-color: var(--d-line);
}
.wr-specs li {
  border-top-color: var(--d-line);
}
.wr-specs li b {
  color: #111111;
}
.wr-slogan {
  color: #111111;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
}
.wr-series-card {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-muted);
}
.wr-card {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-muted);
}
.wr-group {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-muted);
}
.wr-note {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-muted);
}
.wr-cta {
  background: var(--d-panel-2) !important;
  color: #111111;
}
.wr-cta p {
  color: var(--d-muted);
}
.wr-cta .label {
  color: var(--d-faint);
}
/* ---------- Спецификация и корзина ---------- */
.spec-sheet {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-text);
}
.spec-side {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-text);
}
.spec-status {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-text);
}
.spec-doc {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-text);
}
.spec-title {
  color: #111111;
}
.spec-title label {
  color: #111111;
}
.spec-title input {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.spec-side input[type="search"] {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.cart-side input[type="search"] {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.gate-login-row input {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.spec-table-wrap input {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.cart-table input[type="number"] {
  background: var(--d-panel-2);
  border-color: var(--d-line);
  color: #111111;
}
.spec-notes {
  color: var(--d-muted);
}
.spec-side p.hint {
  color: var(--d-muted);
}
.cart-side .hint {
  color: var(--d-muted);
}
.spec-status.ok {
  color: #1F6B3A;
  border-color: rgba(31, 107, 58, .45);
}
.spec-status.err {
  color: #8C1F1F;
  border-color: rgba(140, 31, 31, .45);
}
.spec-results li {
  background: #E4E4DE;
  border-color: var(--d-line);
}
.cart-results li {
  background: #E4E4DE;
  border-color: var(--d-line);
}
.spec-results li span {
  color: rgba(17, 17, 17, 0.58);
}
.cart-results li span {
  color: rgba(17, 17, 17, 0.58);
}
.spec-results li:hover {
  border-color: #111111;
}
.cart-results li:hover {
  border-color: #111111;
}
.spec-results span {
  color: var(--d-faint);
}
.cart-results span {
  color: var(--d-faint);
}
.spec-gate {
  background: var(--d-bg);
}
.gate-card {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-text);
}
.gate-login {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-text);
}
.gate-note {
  color: var(--d-muted);
}
.spec-table-wrap {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.cart-table {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.spec-table-wrap th {
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.spec-table-wrap td {
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.cart-table th {
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.cart-table td {
  border-bottom-color: var(--d-line-soft);
  color: rgba(17, 17, 17, 0.88);
}
.spec-table-wrap th {
  color: var(--d-faint);
}
.cart-table th {
  color: var(--d-faint);
}
.spec-totals {
  border-top-color: var(--d-line);
  color: var(--d-muted);
}
.cart-totals {
  border-top-color: var(--d-line);
  color: var(--d-muted);
}
.spec-totals .t b {
  color: #111111;
}
.cart-totals b {
  color: #111111;
}
.spec-sign .line {
  border-top-color: var(--d-line);
}
.cart-note {
  color: var(--d-muted);
  background: var(--d-panel);
  border-left-color: var(--d-accent-2);
}
.cart-empty {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: var(--d-muted);
}
.cart-actions .btn-ghost {
  color: #111111 !important;
}
.spec-sign .btn-ghost {
  color: #111111 !important;
}
/* ---------- Формы ---------- */
.field label {
  color: var(--d-muted);
}
.check {
  color: var(--d-muted);
}
.field-legend {
  color: var(--d-muted);
}
.form-note {
  color: var(--d-faint);
}
.field input:focus {
  border-color: rgba(17, 17, 17, 0.58);
}
.field select:focus {
  border-color: rgba(17, 17, 17, 0.58);
}
.field textarea:focus {
  border-color: rgba(17, 17, 17, 0.58);
}
/* ---------- Футер ---------- */
.footer {
  background: #D3D4CE;
  color: #4A4C4F;
  border-top: 1px solid #101010;
}
.footer h4 {
  color: #111111;
}
.footer a:hover {
  color: #111111;
}
.footer-logo img {
  filter: none;
}
.footer-bottom {
  border-top-color: var(--d-line-soft);
}
.footer-dealer {
  background: var(--d-panel-2);
  color: #111111;
}
.footer-dealer span {
  color: var(--d-faint);
}
.footer-wordmark {
  color: #111111;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  text-transform: none;
  letter-spacing: -.02em;
}
.expo-logo-box {
  background: var(--d-panel);
  border-color: var(--d-line);
}
/* ---------- Карусели ---------- */
.carousel-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.carousel-card .media {
  background: #DEDED8;
}
.carousel-card .cb-art {
  color: var(--d-faint);
}
.carousel-card h4 {
  color: #111111;
}
.carousel-card .cb-sub {
  color: var(--d-muted);
}
.carousel-card .cb-link {
  color: #111111;
  border-bottom-color: rgba(17, 17, 17, 0.58);
}
.carousel-nav {
  background: rgba(245, 245, 242, .92);
  color: #111111;
  border-color: #101010;
  box-shadow: none;
}
.carousel-nav:hover {
  background: #111111;
  color: #F5F5F2;
}
.carousel-dot {
  background: rgba(17, 17, 17, 0.4);
}
.carousel-dot.active {
  background: #111111;
}
.carousel-arrow {
  border-color: rgba(17, 17, 17, 0.45);
}
.carousel-dot {
  border-color: rgba(17, 17, 17, 0.45);
}
.caption {
  color: rgba(17, 17, 17, 0.88);
}
.slide-cap {
  color: rgba(17, 17, 17, 0.88);
}
/* ---------- Прочее ---------- */
::selection {
  background: #111111;
  color: #F5F5F2;
}
.chips a {
  background: #F5F5F2;
  border-color: #101010;
  color: #111111;
}
.chips a:hover {
  background: #111111 !important !important;
  border-color: #111111 !important !important;
  color: #F5F5F2 !important !important;
}
/* Раздел 04: список всех коллекций (тёмная тема) */
.coll-links {
  margin-bottom: 26px;
}
.coll-link {
  background: rgba(17, 17, 17, 0.085);
  border: 1px solid rgba(17, 17, 17, 0.45);
  border-radius: 0;
}
.coll-link img {
  height: 128px;
  object-fit: cover;
}
.coll-link-body b {
  color: #111111;
}
.coll-link-sub {
  color: #5A5C5F;
}
.coll-link-note {
  color: #2F5494;
}
/* ---------- Правовая страница ---------- */
.legal-hero {
  background: #F5F5F2;
  border-color: #101010;
}
.legal-hero h1 {
  color: #111111;
  font-weight: 800;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  letter-spacing: -.01em;
}
.legal-hero h1 em {
  color: #4A4C4F;
}
.legal-hero p {
  color: #5A5C5F;
}
.legal-toc {
  background: #F5F5F2;
  border-color: #101010;
}
.legal-toc a {
  color: #5A5C5F;
  border-color: transparent;
}
.legal-toc a:hover {
  color: #111111;
  background: #EDEDE8;
}
.legal-text section {
  border-color: #101010;
}
.legal-text h2 {
  color: #111111;
  font-weight: 800;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
}
.legal-text p {
  color: rgba(17, 17, 17, 0.88);
}
.legal-text li {
  color: rgba(17, 17, 17, 0.88);
}
.legal-text a {
  color: #111111;
}
.legal-cta {
  background: #F5F5F2;
  border-color: #101010;
}
.legal-cta h2 {
  color: #111111;
  font-weight: 800;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
}
.legal-cta p {
  color: #5A5C5F;
}
.check {
  color: var(--d-muted);
}
.check input[type="checkbox"] {
  accent-color: #111111;
}
.check a {
  color: #111111;
}
.field.consent .check {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.consent-dialog {
  background: #F5F5F2;
  border-color: #101010;
  box-shadow: 8px 8px 0 rgba(16, 16, 14, .45);
}
.consent-dialog h2 {
  color: #111111;
  font-weight: 800;
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
}
.consent-dialog p {
  color: #5A5C5F;
}
.consent-dialog a {
  color: #111111;
}
.consent-check {
  background: #EDEDE8;
  border-color: #101010;
}
.consent-check input[type="checkbox"] {
  accent-color: #111111;
}
.consent-mark {
  background-image: url('assets/logo-blue.svg');
}
/* Раздел РАСПРОДАЖА — тёмная тема */
.sale {
  background: var(--d-bg, #DADAD4);
}
.sale-lead {
  color: var(--d-faint);
}
.sale-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.sale-card:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 14px 34px rgba(16, 16, 14, 0.45);
}
.sale-thumb {
  background: #DEDED8;
}
.sale-body h3 {
  color: #111111;
}
.sale-series {
  color: var(--d-faint);
}
.sale-color {
  color: var(--d-faint);
}
.sale-sizes {
  color: var(--d-faint);
}
.sale-price b {
  color: var(--d-text);
}
.sale-price span {
  color: var(--d-faint);
}
.sale-badge {
  background: rgba(17, 17, 17, 0.24);
}
.sale-link {
  color: #111111;
  border-bottom-color: #111111;
}
.sale-actions .btn-small {
  border-color: rgba(17, 17, 17, 0.58);
  color: #111111;
}
.sale-actions .btn-small:hover {
  background: #111111;
  color: var(--d-bg);
  border-color: #111111;
}
/* Раздел КАТАЛОГИ — тёмная тема */
.catalogs-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.catalogs-card:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 14px 34px rgba(16, 16, 14, 0.45);
}
.catalogs-thumb {
  background: #DEDED8;
}
.catalogs-body b {
  color: #111111;
}
.catalogs-body .mono {
  color: var(--d-faint);
}
.catalogs-note {
  color: var(--d-faint);
}
.catalogs-lead {
  color: var(--d-faint);
}
.catalogs-dl {
  color: #111111;
  border-bottom-color: #111111;
}
/* ---------- Цены в карточках каталогов ---------- */
.cat-price {
  color: var(--d-text);
  font-size: 15px;
  font-weight: 600;
}
.cat-price-none {
  color: #7A7C7E;
  font-weight: 400;
  font-size: 13.5px;
}
.cat-avail {
  color: #1F6B3A;
}
.cat-variants td.num {
  color: var(--d-text);
}
.wr-price {
  color: var(--d-text);
  font-size: 14.5px;
}
.wr-avail {
  color: #1F6B3A;
}
.cat-price-none {
  color: #7A7C7E;
  font-style: italic;
}
.cat-avail {
  font-style: normal;
  font-size: 12px;
  color: #1F6B3A;
  margin-left: 6px;
}
.cat-avail::before {
  content: '· ';
  color: #7A7C7E;
}
.cat-variants td.num {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
/* ---------- Адаптив: карточный прайс на узких экранах ---------- */
@media (max-width: 760px) {
  table.price-table tr {
    background: var(--d-panel);
    border-color: var(--d-line);
  }
  table.price-table td::before {
    color: var(--d-faint);
  }
  table.price-table td.name {
    border-bottom-color: var(--d-line-soft);
  }
  table.price-table tr:hover td {
    background: transparent;
  }
  .price-tablewrap {
    background: transparent;
    border: 0;
  }
}
/* ---------- таблица спецификации: чётные строки не должны «светлеть» в тёмной теме ---------- */
table.spec tbody tr:nth-child(even) {
  background: rgba(17, 17, 17, 0.06);
}
table.spec tbody tr:nth-child(even) td {
  color: rgba(17, 17, 17, 0.88);
}
table.spec tbody tr:nth-child(even) td.num {
  color: rgba(17, 17, 17, 0.88);
}
table.spec tbody tr:nth-child(even) td.sum {
  color: rgba(17, 17, 17, 0.88);
}
/* ---------- страница гардероба: светлые секции в тёмной теме ---------- */
.wr-page .wr-brands {
  background: var(--d-panel);
  color: var(--d-text);
  border-color: var(--d-line);
}
.wr-page .wr-catalog {
  background: var(--d-panel);
  color: var(--d-text);
  border-color: var(--d-line);
}
.wr-page .wr-brand b {
  color: #111111;
}
.wr-page .wr-brand span {
  color: var(--d-muted);
}
.wr-page .wr-brand .mono {
  color: var(--d-accent-2);
}
.wr-page .wr-catalog h2 {
  color: #111111;
}
.sys-logo-sub {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(17, 17, 17, 0.58);
}
/* ---------- Шапка: компактная сетка, чтобы меню не выпирало ---------- */
.header .wrap {
  max-width: 1800px;
  gap: clamp(12px, 1.4vw, 24px);
}
.nav {
  gap: clamp(10px, 1vw, 18px);
  flex-wrap: wrap;
  row-gap: 0;
  align-content: center;
  padding: 8px 0;
}
.nav > a {
  padding-top: 3px;
  padding-bottom: 3px;
}
.nav > .nav-item {
  padding-top: 3px;
  padding-bottom: 3px;
}
.header-contact {
  gap: 14px;
  flex: 0 0 auto;
}
@media (max-width: 1400px) {
  .nav a {
    font-size: 13px;
  }
  .header-phone {
    font-size: 14px;
  }
}
@media (max-width: 1200px) {
  .header-phone {
    display: none;
  }
  .nav a {
    font-size: 12.5px;
  }
}
/* ---------- Раздел «Реализованные проекты» ---------- */
.projects {
  padding: 78px 0 84px;
  background: var(--d-bg, #C0C1BC);
}
.projects-lead {
  max-width: 780px;
  color: var(--d-faint);
  font-size: 16px;
  line-height: 1.6;
  margin: 14px 0 28px;
}
.proj-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.proj-card {
  background: var(--d-panel);
  border: 1px solid var(--d-line);
  border-radius: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.proj-card:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 14px 34px rgba(16, 16, 14, 0.45);
}
.proj-media {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: #DEDED8;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}
.proj-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.proj-media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.proj-play {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(16, 16, 14, .62);
  color: #FFFFFF;
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #FFFFFF;
  pointer-events: none;
}
.proj-meta {
  padding: 16px 18px 18px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.proj-meta b {
  font-size: 16px;
  color: var(--d-text);
  font-weight: 600;
}
.proj-meta span {
  font-size: 13px;
  color: var(--d-faint);
  line-height: 1.5;
}
.proj-empty {
  grid-column: 1 / -1;
  padding: 46px 28px;
  text-align: center;
  border: 1px dashed var(--d-line);
  border-radius: 0;
  background: var(--d-panel);
}
.proj-empty b {
  display: block;
  font-size: 18px;
  color: var(--d-text);
  margin-bottom: 8px;
}
.proj-empty p {
  margin: 0 auto;
  max-width: 560px;
  color: var(--d-faint);
  font-size: 14px;
  line-height: 1.6;
}
.proj-lb {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(16, 16, 14, .88);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
}
.proj-lb[hidden] {
  display: none;
}
.proj-lb-inner {
  max-width: min(1100px, 94vw);
  max-height: 90vh;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.proj-lb-inner img {
  max-width: 100%;
  max-height: 76vh;
  display: block;
  object-fit: contain;
}
.proj-lb-inner video {
  max-width: 100%;
  max-height: 76vh;
  display: block;
  object-fit: contain;
}
.proj-lb-cap {
  display: flex;
  flex-direction: column;
  gap: 4px;
  color: #FFFFFF;
}
.proj-lb-cap b {
  font-size: 16px;
}
.proj-lb-cap span {
  font-size: 13px;
  color: rgba(255, 255, 255, .78);
}
.proj-lb-close {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #F5F5F2;
  border: 1px solid #101010;
  color: #111111;
  font-size: 16px;
  cursor: pointer;
}
.proj-lb-close:hover {
  background: #E4E4DE;
}
/* ---------- «Реализованные проекты»: группировка по проекту ---------- */
.projects-list {
  display: flex;
  flex-direction: column;
  gap: 34px;
}
.proj-group-title {
  margin: 0 0 16px;
  font-size: 20px;
  font-weight: 600;
  color: var(--d-text);
  letter-spacing: .01em;
}
@media (max-width: 1000px) {
  .proj-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 620px) {
  .projects {
    padding: 54px 0 60px;
  }
  .proj-grid {
    grid-template-columns: 1fr;
  }
}
/* новые блоки главной: карточки направлений и новостей на тёмном фоне */
.news-card {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.news-card h3 {
  color: #111111;
}
.dir-body b {
  color: #111111;
}
.news-card p {
  color: var(--d-muted);
}
.news-date {
  color: var(--d-faint);
}
.news-link {
  color: var(--d-accent-2);
}
.secmap-item {
  background: var(--d-panel);
  border-color: var(--d-line);
}
.secmap-item:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 12px 30px rgba(16, 16, 14, 0.5);
}
.secmap-txt b {
  color: #111111;
}
.secmap-txt i {
  color: var(--d-muted);
}
.secmap-cta {
  color: var(--d-accent-2);
  border-top-color: var(--d-line-soft);
}
/* ---------- Разбавление чёрного фона: секции чередуют тон и мягкий градиент ---------- */
main > section {
  position: relative;
}
main > section:nth-child(2n) {
  background: #B7B8B2;
}
main > section:nth-child(3n) {
  background: #BCBDB7;
}
.hv-section {
  background: linear-gradient(180deg, #C0C1BC 0%, #C0C1BB 100%);
}
.secmap {
  background: linear-gradient(180deg, #C0C1BB 0%, #B7B8B2 100%);
}
.catalog {
  background: #BCBDB7;
}
.guide {
  background: linear-gradient(180deg, #B7B8B2 0%, #BABBB5 100%);
}
.news-block {
  background: #B7B8B2;
}
.b2b.dark {
  background: linear-gradient(120deg, #C0C1BB 0%, #B4B5AF 55%, #BCBDB7 100%);
}
.numbers {
  background: #BCBDB7;
}
.expo {
  background: #B7B8B2;
}
.catalogs {
  background: #BCBDB7;
}
.sale {
  background: #B7B8B2;
}
.projects {
  background: #BCBDB7;
}
.request {
  background: linear-gradient(180deg, #B7B8B2 0%, #BABBB5 100%);
}
/* ---------- Главная: ряд иконок коллекций ---------- */
.collrow {
  background: linear-gradient(180deg, #C0C1BB 0%, #B7B8B2 100%);
}
.coll-ico {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: #111111;
}
.coll-ico:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 12px 30px rgba(16, 16, 14, 0.5);
}
.coll-ico b {
  color: #111111;
}
.coll-ico i {
  color: var(--d-muted);
}
.dir-mini {
  background: var(--d-panel);
  border-color: var(--d-line);
  color: #111111;
}
.dir-mini:hover {
  border-color: rgba(17, 17, 17, 0.58);
  box-shadow: 0 10px 26px rgba(16, 16, 14, 0.45);
}
.dir-mini b {
  color: #111111;
}
.dir-mini i {
  color: var(--d-muted);
}
.dir-mini span {
  color: var(--d-accent-2);
}

/* ==========================================================================
   ТЕХДОКУМЕНТАЦИОННЫЙ СЛОЙ — «серый чертёжный лист, чёрная линия, белый карточек»
   ========================================================================== */

/* --- 1. Холст страницы: светло-серый лист с технической сеткой --- */
html { background: #C0C1BC; }
body {
  min-height: 100vh;
  background-color: #C0C1BC;
  background-image:
    linear-gradient(to right, rgba(16, 16, 14, .055) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(16, 16, 14, .055) 1px, transparent 1px);
  background-size: 56px 56px;
  color: #111111;
}

/* --- 2. Секции: чистый холст, сетка видна насквозь ---
   Герои исключены: у прайса синяя шапка, её нельзя обнулять. */
main > section:not(.cat-hero):not(.price-hero):not(.wr-hero):not(.spec-hero):not(.legal-hero):not(.page-hero),
main > section:nth-child(2n):not(.cat-hero):not(.price-hero):not(.wr-hero):not(.spec-hero),
main > section:nth-child(3n):not(.cat-hero):not(.price-hero):not(.wr-hero):not(.spec-hero),
.audience, .guide, .numbers, .request, .collage-section, .collections,
.tb-section, .sys-blocks, .cat-page, .price-page, .wr-page, .spec-page,
.hv-section, .secmap, .collrow, .catalog, .news-block, .b2b, .catalogs,
.sale, .projects, .legal-page, .gate-page, .m-sec {
  background: transparent !important;
  background-image: none !important;
}
.expo, .partnerform {
  background: #F5F5F2 !important;
  border-top: 1px solid #101010;
  border-bottom: 1px solid #101010;
}

/* --- 3. Карточки: белый лист, чёрная волосяная рамка, жёсткая тень --- */
.aud-card, .tile, .guide-card, .note-card, .who-card, .num-item,
.sys-block, .sys-serie, .sys-tile, .sect-block, .sect-card, .sect-tile, .sect-link,
.sub-tile, .dir-tile, .hv-tile, .carousel-card, .coll-link, .cat-card,
.sale-card, .catalogs-card, .news-card, .secmap-btn, .proj-card, .dir-mini, .coll-ico,
.wr-series-card, .wr-card, .wr-group, .wr-note,
.spec-sheet, .spec-side, .spec-status, .spec-doc,
.gate-card, .gate-login, .consent-dialog {
  background: #F5F5F2;
  border: 1px solid #101010;
  border-radius: 0;
  box-shadow: 3px 3px 0 rgba(16, 16, 14, .92);
}
.aud-card:hover, .tile:hover, .guide-card:hover, .note-card:hover, .who-card:hover,
.num-item:hover, .sys-block:hover, .sys-serie:hover, .sys-tile:hover,
.sect-block:hover, .sect-card:hover, .sect-tile:hover, .sect-link:hover,
.sub-tile:hover, .dir-tile:hover, .hv-tile:hover, .carousel-card:hover,
.coll-link:hover, .cat-card:hover, .sale-card:hover, .catalogs-card:hover,
.news-card:hover, .secmap-btn:hover, .proj-card:hover, .dir-mini:hover, .coll-ico:hover,
.wr-series-card:hover, .wr-card:hover, .wr-group:hover, .wr-note:hover,
.spec-sheet:hover, .spec-side:hover, .spec-status:hover, .spec-doc:hover,
.gate-card:hover, .gate-login:hover {
  border-color: #101010;
  box-shadow: 6px 6px 0 rgba(16, 16, 14, .92);
  transform: none;
}

/* --- 4. Плоские поверхности: белый лист с волосяной рамкой --- */
.aud-grid, .stat-row, .stat, .level, .price-panel, .price-tablewrap, .cat-tree,
.cat-note, .proj-empty, .legal-toc, .legal-hero, .legal-cta, .legal-text section,
.spec-table-wrap, .cart-table, .cart-empty, .price-search, .cat-search, .hv-menu {
  background: #F5F5F2;
  border-color: #101010;
  border-radius: 0;
}
.stat-row, .aud-grid { gap: 0; }
.stat, .level { border: 0; border-right: 1px solid rgba(16, 16, 14, .22); border-bottom: 1px solid rgba(16, 16, 14, .22); }

/* --- 5. Мелкие элементы: ряды и чипы --- */
.chips a {
  background: #F5F5F2;
  border: 1px solid #101010;
  border-radius: 0;
  color: #111111;
  font-family: 'IBM Plex Mono', ui-monospace, monospace;
  font-size: 12px;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.b2b-list li, .contacts li { border-top-color: rgba(16, 16, 14, .24); }
.b2b-list li b { color: #111111; }
.b2b-list li span { color: #55575A; }
.guide-card li { border-bottom-color: rgba(16, 16, 14, .18); }
.guide-card li::before { background: #111111; }

/* --- 6. Фотографии: тонкая чёрная рамка, без скруглений --- */
.secmap-photo, .tile .media, .aud-card .media, .sys-photo, .sys-serie-ph,
.sys-tile-ph, .sect-media, .cat-photo, .price-ph, .carousel-card .media,
.proj-media, .sale-thumb, .catalogs-thumb, .coll-ico img, .guide-card .media,
.news-card img {
  border-bottom: 1px solid #101010;
}
.secmap-photo, .tile .media, .aud-card .media, .sys-photo, .sys-serie-ph,
.sys-tile-ph, .sect-media, .cat-photo, .price-ph, .carousel-card .media,
.proj-media, .sale-thumb, .catalogs-thumb {
  background: #DEDED8;
}
.coll-ico img, .guide-card .media img { border-radius: 0; }

/* --- 7. Заголовки: тяжёлый гротеск ---
   Archivo Black не содержит кириллицы, поэтому тяжесть даёт Golos Text 800. */
.display, .hero h1, .aud-head h2, .collage-head h2, .sys-head h2,
.cat-hero h1, .wr-hero h1, .spec-hero h1, .legal-hero h1, .legal-text h2,
.legal-cta h2, .consent-dialog h2, .page-hero h1, .page-text h2, .section-title,
.sys-title, .tb-lead, .guide-card h3, .news-card h3, .secmap-txt b,
.wr-slogan, .hero-slogan, .hero-facts b,
.sale-body h3, .catalogs-body b, .coll-link-body b, .dir-body b, .coll-ico b,
.dir-mini b, .hv-tile b, .sys-serie-body b, .sys-tile-body b, .sect-body b,
.sect-link b, .carousel-card h4, .cat-name, .price-name {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -.018em;
  line-height: 1.12;
  color: #111111;
}
h2, h3, h4 {
  font-family: 'Golos Text', 'Inter', system-ui, sans-serif;
  font-weight: 800;
  letter-spacing: -.015em;
  color: #111111;
}
.price-hero h1, .price-hero h1 em { color: #FFFFFF; }
.tb-cap b, .collage-cap b { color: #FFFFFF; }
.tb-cap i, .collage-cap i { color: rgba(255, 255, 255, .82); }

/* --- 8. Метки: моноширинные, капитель, трекинг --- */
.label, .mono {
  font-family: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.label { color: #111111; font-weight: 700; }
.label .num { color: #8E9092; font-weight: 400; }
.label::before { background: #101010; width: 26px; height: 2px; }

/* --- 8a. Шапка: чёрные контурные кнопки вместо белых иконок --- */
.header-ico {
  border-radius: 0;
  border: 1px solid #101010;
  color: #111111;
  background: #F5F5F2;
}
.header-ico:hover {
  border-color: #101010;
  background: #111111;
  color: #F5F5F2;
}
.header-ico-label { color: #111111; }
.header-ico--cart .cart-badge {
  background: #111111;
  color: #F5F5F2;
  border: 1px solid #F5F5F2;
  border-radius: 0;
}
.header-ico--cart .cart-badge.is-on { background: #111111; color: #F5F5F2; border-color: #F5F5F2; }
.nav-menu {
  border-radius: 0;
  border: 1px solid #101010;
  color: #111111;
  background: #F5F5F2;
  font-weight: 700;
}
.nav-menu:hover {
  border-color: #111111;
  background: #111111;
  color: #F5F5F2;
}
.nav-menu[aria-expanded="true"] {
  background: #111111;
  border-color: #111111;
  color: #F5F5F2;
}
.head-quick { color: #111111; }
.burger { color: #111111; }
.burger span { background: #111111; }
.header-phone { color: #111111; }
.header-phone span { color: #55575A; }

/* --- 9. Карточка «СТРУКТУРА РАЗДЕЛОВ» по макету --- */
.secmap-txt b { font-size: 15px; letter-spacing: .02em; text-transform: uppercase; }
.secmap-txt i { color: #55575A; font-size: 13px; line-height: 1.5; }
.secmap-cta { color: #111111; font-weight: 700; font-size: 13px; }
.secmap-btn { padding: 0; gap: 0; }
.secmap-txt { padding: 14px 16px 18px; }
.dir-mini b { font-size: 16px; }
.dir-mini i { color: #55575A; }
.dir-mini span { color: #111111; font-weight: 700; }

/* --- 10. Кнопки: прямые чёрные прямоугольники --- */
.btn { border-radius: 0; font-weight: 600; letter-spacing: .01em; }
.btn-ghost {
  border: 1px solid #101010 !important;
  background: #F5F5F2 !important;
  color: #111111 !important;
  backdrop-filter: none !important;
}
.btn-ghost:hover:not(.danger) {
  background: #111111 !important;
  color: #FFFFFF !important;
  border-color: #111111 !important;
}
.cat-foot a, .price-add, .cat-card .btn, .spec-btn {
  background: #111111 !important;
  color: #FFFFFF !important;
  border-color: #111111 !important;
  border-radius: 0;
}
.cat-foot a:hover, .price-add:hover {
  background: #3A3A38 !important;
  color: #FFFFFF !important;
  border-color: #3A3A38 !important;
}
.cat-chip, .cat-subchips button {
  border-radius: 0;
  background: #F5F5F2;
  border-color: #101010;
  color: #4A4C4F;
}
.cat-chip.active, .cat-subchips button.active, .cat-subchips button:hover {
  background: #111111;
  color: #F5F5F2;
  border-color: #111111;
}
.tree-sec > button:hover, .tree-coll > button:hover,
.tree-sec.open > button, .tree-coll.open > button,
.tree-series button:hover {
  background: #EDEDE8 !important;
  color: #111111 !important;
}
.tree-sec.open > button, .tree-coll.open > button { box-shadow: inset 3px 0 0 #111111; }
.tree-series button:hover, .tree-series button.active {
  color: #111111;
  border-color: #101010;
}
.price-btn {
  background: #F5F5F2;
  border-color: #101010;
  color: #111111;
  border-radius: 0;
}
.price-btn:hover { border-color: #101010; background: #EDEDE8; }
.price-btn.on { background: #111111; color: #F5F5F2; border-color: #111111; }
.price-search input { color: #111111; }

/* --- 11. Прайс: синяя шапка и синие активные чипы сохраняются --- */
.price-hero { background: linear-gradient(135deg, #0E1728 0%, #223E6E 58%, #2F5494 100%); }
.price-hero h1, .price-hero h1 em { color: #FFFFFF; }
.price-chip {
  background: rgba(47, 84, 148, .12);
  border-color: #2F5494;
  color: #1B3A6B;
  border-radius: 0;
}
.price-chip:hover { background: #2F5494; border-color: #1B3A6B; color: #FFFFFF; }
.price-chip.active { background: #2F5494; border-color: #1B3A6B; color: #FFFFFF; }
.price-chips::before { color: #2F5494; }
/* Синяя шапка прайса: подписи светлые, иначе тонут в градиенте */
.price-hero .label .num { color: rgba(255, 255, 255, .5); }
.price-hero .page-back,
.price-hero .price-back { color: rgba(255, 255, 255, .92); border-color: rgba(255, 255, 255, .45); }
.price-hero .price-back:hover { background: #FFFFFF; color: #0E1728; border-color: #FFFFFF; }
.cat-badge.tb { background: #2F5494; color: #FFFFFF; }
.price-row, .price-row td { color: #4A4C4F; border-bottom-color: rgba(16, 16, 14, .16); }
.price-row:hover { background: #EDEDE8; }
.price-row th { color: #7A7C7E; }
.price-tablewrap { background: #F5F5F2; border-color: #101010; }
.avail-tag { border-color: #101010; color: #55575A; }
.avail-tag.yes { color: #1F6B3A; border-color: rgba(31, 107, 58, .45); background: rgba(31, 107, 58, .10); }
.avail-tag.order { color: #7A5200; border-color: rgba(122, 82, 0, .45); background: rgba(122, 82, 0, .10); }

/* --- 12. Мелкие правки --- */
.collage-cap, .tb-cap { color: #FFFFFF; }
.proj-meta b { color: #111111; }
.proj-meta span { color: #55575A; }
.proj-empty b { color: #111111; }
.proj-empty p { color: #55575A; }
.note { background: rgba(228, 99, 74, .10); color: #8C2B15; border-left-color: #B23A22; }
.cat-note b { color: #7A5200; }
.cat-note-sla b { color: #1F6B3A; }
.cat-avail { color: #1F6B3A; }
.wr-avail { color: #1F6B3A; }
.cat-price-none { color: #7A7C7E; }
.spec-status.ok { color: #1F6B3A; border-color: rgba(31, 107, 58, .45); }
.spec-status.err { color: #8C1F1F; border-color: rgba(140, 31, 31, .45); }
.consent-dialog { background: #F5F5F2; border: 1px solid #101010; }
.carousel-nav { background: rgba(245, 245, 242, .92); color: #111111; border-color: #101010; }

/* --- 13. Совместимость со страничными файлами catalog.css / pages.css ---
   Они подключаются отдельно и перебивают тему латунными акцентами. */
.cat-hero h1 em { color: #111111 !important; }
.cat-hero .label .num { color: #7A7C7E !important; }
.cat-tree h5 span { color: #55575A !important; }
.cat-collection-note { border-left-color: #101010 !important; }
.cat-collection-note b { color: #55575A !important; }
.cat-art { color: #55575A !important; }
.cat-note { border-left-color: #B23A22 !important; background: rgba(178, 58, 34, .08) !important; }
.cat-note b { color: #8C2B15 !important; }
.cat-note-sla { border-left-color: #1F6B3A !important; background: rgba(31, 107, 58, .10) !important; }
.cat-note-sla b { color: #1F6B3A !important; }
.page-meta { color: #55575A !important; }
.sub-tile .mono { color: #55575A !important; }
.page-collhead .mono { color: #55575A !important; }

/* --- 14. Пилли и круги -> прямые углы --- */
.carousel-nav {
  border-radius: 0;
  box-shadow: 3px 3px 0 rgba(16, 16, 14, .92);
}
.btn-round {
  border-radius: 0;
  border: 1px solid #101010;
  background: #111111;
  color: #FFFFFF;
}
.account-link {
  border-radius: 0;
  border-color: #101010;
  background: #F5F5F2;
  color: #111111 !important;
}
.account-link:hover { background: #111111; color: #FFFFFF !important; }
.account-link span[data-account-name] { color: inherit; }
.crm-link {
  border-radius: 0;
  border-color: #101010;
  background: #F5F5F2;
  color: #111111 !important;
}
.crm-link:hover { background: #111111; color: #FFFFFF !important; }
.acc-switch {
  border-radius: 0;
  border-color: #101010;
  background: #F5F5F2;
}
.acc-switch-btn { border-radius: 0; color: #55575A; }
.acc-switch-btn.is-on { background: #111111; color: #FFFFFF; }
.spec-title .chip {
  border-radius: 0;
  color: #55575A;
  border-color: #101010;
}
.cart-badge { border-radius: 0; }

/* --- 15. Аккаунт: белый лист, чёрная линия, прямые углы --- */
.acc-hero {
  background: #F5F5F2;
  border-bottom: 1px solid #101010;
}
.acc-hero h1, .acc-hero h1 em { color: #111111; }
.acc-lead { color: #55575A; }
.acc-card {
  background: #F5F5F2;
  border: 1px solid #101010;
  border-radius: 0;
  box-shadow: 3px 3px 0 rgba(16, 16, 14, .92);
}
.acc-card h2, .acc-card h3 { color: #111111; }
.acc-switch {
  border-radius: 0;
  border-color: #101010;
  background: #EDEDE8;
}
.acc-switch-btn { border-radius: 0; color: #55575A; }
.acc-switch-btn.is-on { background: #111111; color: #FFFFFF; }
.acc-form input, .acc-form select, .acc-form textarea,
.acc-row input, .acc-row select, .acc-row textarea,
#accForm input, #accForm select, #accForm textarea {
  background: #FFFFFF;
  border: 1px solid #101010;
  border-radius: 0;
  color: #111111;
}
.acc-form input:focus, .acc-form select:focus, .acc-form textarea:focus,
#accForm input:focus, #accForm select:focus, #accForm textarea:focus {
  outline: 2px solid #2F5494;
  outline-offset: 1px;
}
.acc-note, .acc-msg { color: #55575A; }
.acc-list { border-color: #101010; }
.acc-block, .acc-section, .acc-profile {
  background: #F5F5F2;
  border: 1px solid #101010;
  border-radius: 0;
}
.acc-block-head h3, .acc-sub { color: #111111; }

/* --- 16. Пустые состояния: пунктир по-техдокументационному --- */
.ct-empty {
  background: #F5F5F2;
  border: 1px dashed #101010;
  border-radius: 0;
  color: #111111;
}
.ct-empty p { color: #55575A; }

/* --- 17. Фото-плитки разделов: подпись на фото остаётся светлой --- */
.sub-tile-ph {
  background: #101010;
  border: 1px solid #101010;
  border-radius: 0;
}
.sub-tile-ph .tile-text {
  background: linear-gradient(to top, rgba(8, 10, 12, .96) 6%, rgba(8, 10, 12, .90) 30%, rgba(8, 10, 12, .62) 62%, rgba(8, 10, 12, 0));
}
.sub-tile-ph .mono { color: #F5F5F2 !important; }
.sub-tile-ph b { color: #FFFFFF !important; }
.sub-tile-ph i { color: rgba(255, 255, 255, .84) !important; }
