:root {
  --burgundy: rgb(115, 10, 38);
  --gold: #b08a42;
  --text: #1f1f1f;
  --bg: #f7f3ed;
  --white: #ffffff;
  --border: #e8e2d8;
}

@font-face {
  font-family: "Ronda";
  src: url("../fonts/Ronda.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}

@font-face {
  font-family: "MyraidLight";
  src: url("../fonts/MyriadPro-Light.otf") format("opentype");
  font-style: normal;
  font-weight: 400;
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  scroll-behavior: smooth;
}

body {
  min-height: 100vh;
  margin: 0;
  display: flex;
  flex-direction: column;
  font-family: "MyraidLight", sans-serif;
  color: var(--text);
  background: var(--white);
}

.container {
  width: min(1200px, calc(100% - 40px));
  margin: 0 auto;
}

/* =========================
   HEADER
========================= */

#site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #ffffff;
  border-bottom: 1px solid var(--border);
}

.header-inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto auto;
  align-items: center;
  column-gap: clamp(26px, 3vw, 44px);
  min-height: 64px;
  padding: 6px 0;
}

.logo {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  position: relative;
}

.logo-img {
  display: block !important;
  width: auto;
  height: 48px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.logo:hover .logo-img {
  transform: scale(1.05);
}

.logo-light {
  display: block;
}

.logo-dark {
  display: none !important;
}

body.dark-mode .logo-light {
  display: none !important;
}

body.dark-mode .logo-dark {
  display: block !important;
}

.logo:hover img {
  transform: scale(1.05);
}

.main-nav {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  align-items: center;
  justify-items: center;
  gap: clamp(8px, 1vw, 18px);
  min-width: 0;
  width: 100%;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 4px 6px;
  text-decoration: none;
  color: var(--text);
  font-family: "MyraidLight", sans-serif;
  font-weight: 500;
  font-size: clamp(14px, 0.95vw, 17px);
  line-height: 1;
  letter-spacing: 0.2px;
  white-space: nowrap;
  text-align: center;
  transition: color 0.2s ease;
}

.nav-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.submenu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  padding: 10px 0;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.12);
  z-index: 200;
}

.submenu-link {
  display: block;
  padding: 10px 16px;
  text-decoration: none;
  color: var(--text);
  font-family: "MyraidLight", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 1.2;
  white-space: nowrap;
  transition: color 0.2s ease, background 0.2s ease;
}

.submenu-link:hover,
.submenu-link.active {
  color: var(--burgundy);
  background: #f8f4ef;
}

.nav-item:hover>.submenu {
  display: block;
}


.nav-link:hover,
.nav-link.active,
.nav-item:hover>.nav-link {
  color: var(--burgundy);
}

.header-contact-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: clamp(38px, 3.4vw, 46px);
  padding: 0 clamp(18px, 2vw, 28px);
  border-radius: 999px;
  background: var(--burgundy);
  color: #ffffff;
  text-decoration: none;
  font-family: "MyraidLight", sans-serif;
  font-weight: 700;
  font-size: clamp(14px, 1.05vw, 18px);
  line-height: 1;
  white-space: nowrap;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  box-shadow: 0 4px 10px rgba(115, 10, 38, 0.2);
}

.header-contact-btn:hover {
  transform: translateY(-2px) scale(1.03);
  box-shadow:
    0 8px 20px rgba(115, 10, 38, 0.3),
    0 2px 6px rgba(0, 0, 0, 0.08);
}

.header-contact-btn:active {
  transform: translateY(1px) scale(0.98);
  box-shadow: 0 3px 8px rgba(115, 10, 38, 0.2);
}

.menu-toggle {
  display: none;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  margin: 5px auto;
  background: var(--burgundy);
  transition: 0.25s ease;
}

.menu-toggle.active span:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

.menu-toggle.active span:nth-child(2) {
  opacity: 0;
}

.menu-toggle.active span:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.mobile-menu {
  display: none;
  border-top: 1px solid var(--border);
  background: #ffffff;
}

.mobile-menu.open {
  display: block;
}

.mobile-nav {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 20px 18px;
}

.mobile-nav-link {
  display: block;
  padding: 12px 0;
  text-decoration: none;
  color: var(--text);
  font-family: "MyraidLight", sans-serif;
  font-weight: 500;
  font-size: 14px;
  border-bottom: 1px solid #f3eee7;
  transition: color 0.2s ease;
}

.mobile-nav-link:hover,
.mobile-nav-link.active {
  color: var(--burgundy);
}

.mobile-contact-btn {
  margin-top: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  width: fit-content;
  padding: 0 18px;
  border-radius: 999px;
  background: var(--burgundy);
  color: #ffffff;
  text-decoration: none;
  font-family: "MyraidLight", sans-serif;
  font-weight: 600;
  box-shadow: 0 4px 10px rgba(115, 10, 38, 0.2);
}

/* =========================
   HERO — CINEMATIC PREMIUM
========================= */

.hero {
  position: relative;
  height: calc(100vh - 300px);
  min-height: 620px;
  overflow: hidden;
  background: #050505;
  isolation: isolate;
}

.hero-slider {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.hero-slide {
  position: absolute;
  inset: -5%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  background-color: #050505;
  opacity: 0;
  transform: scale(1.09);
  filter: saturate(0.9) contrast(1.04) brightness(0.86);
  transition:
    opacity 1.65s cubic-bezier(0.22, 1, 0.36, 1),
    transform 8.5s cubic-bezier(0.18, 0.84, 0.25, 1),
    filter 1.65s ease;
  will-change: opacity, transform, filter;
}

.hero-slide.active {
  opacity: 1;
  z-index: 2;
  filter: saturate(1.05) contrast(1.06) brightness(1);
  animation: heroImageDrift 8.5s ease forwards;
}

.hero-slide.prev-out {
  opacity: 0;
  z-index: 1;
  transform: scale(1.13);
  filter: saturate(0.9) contrast(1.04) brightness(0.84);
}

@keyframes heroImageDrift {
  0% {
    transform: scale(1.09) translate3d(-1.2%, 0.8%, 0);
  }

  100% {
    transform: scale(1.02) translate3d(1.2%, -0.8%, 0);
  }
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 72% 34%, rgba(176, 138, 66, 0.12), transparent 34%),
    linear-gradient(90deg,
      rgba(0, 0, 0, 0.74) 0%,
      rgba(0, 0, 0, 0.52) 34%,
      rgba(0, 0, 0, 0.18) 66%,
      rgba(0, 0, 0, 0.08) 100%),
    linear-gradient(180deg,
      rgba(0, 0, 0, 0.18) 0%,
      transparent 42%,
      rgba(0, 0, 0, 0.42) 100%);
  pointer-events: none;
}

.hero-noise {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0.08;
  mix-blend-mode: overlay;
  background-image:
    repeating-radial-gradient(circle at 17% 32%,
      rgba(255, 255, 255, 0.22) 0 1px,
      transparent 1px 4px);
}

.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.07) 44%,
      transparent 58%);
  transform: translateX(-130%);
  animation: heroLightSweep 10s ease-in-out infinite;
}

@keyframes heroLightSweep {

  0%,
  68% {
    transform: translateX(-130%);
    opacity: 0;
  }

  76% {
    opacity: 1;
  }

  100% {
    transform: translateX(130%);
    opacity: 0;
  }
}

.hero-content {
  position: relative;
  z-index: 4;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: clamp(20px, 6vw, 120px);
  padding-right: 120px;
}

.hero-copy {
  position: relative;
  max-width: 900px;
  transform: translateZ(0);
}

.hero-copy::before {
  content: "ENGINEERING SYSTEMS";
  display: inline-flex;
  margin-bottom: 22px;
  padding: 0 0 0 64px;
  position: relative;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(176, 138, 66, 0.94);
}

.hero-copy::after {
  content: "";
  position: absolute;
  left: 0;
  top: 7px;
  width: 46px;
  height: 2px;
  background: rgba(176, 138, 66, 0.82);
}

.hero h1 {
  margin: 0 0 22px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(42px, 5.2vw, 84px);
  line-height: 0.96;
  font-weight: 400;
  letter-spacing: -0.04em;
  color: #ffffff;
  text-shadow:
    0 26px 64px rgba(0, 0, 0, 0.52),
    0 3px 14px rgba(0, 0, 0, 0.42);
}

.hero h1 span {
  display: block;
}

.hero p {
  margin: 0 0 34px;
  max-width: 680px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(17px, 1.45vw, 23px);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.84);
  text-shadow: 0 12px 34px rgba(0, 0, 0, 0.42);
}

.hero-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 56px;
  padding: 0 32px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--burgundy);
  color: #ffffff;
  text-decoration: none;
  font-family: "MyraidLight", sans-serif;
  font-weight: 700;
  font-size: 16px;
  box-shadow:
    0 12px 28px rgba(115, 10, 38, 0.34),
    0 1px 0 rgba(255, 255, 255, 0.16) inset;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    background 0.28s ease;
}

.hero-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent, rgba(255, 255, 255, 0.22), transparent);
  transform: translateX(-120%);
  transition: transform 0.55s ease;
}

.hero-btn::after {
  content: "→";
  margin-left: 10px;
  transition: transform 0.22s ease;
}

.hero-btn:hover {
  transform: translateY(-3px);
  background: #5f0820;
  box-shadow:
    0 18px 38px rgba(115, 10, 38, 0.44),
    0 1px 0 rgba(255, 255, 255, 0.18) inset;
}

.hero-btn:hover::before {
  transform: translateX(120%);
}

.hero-btn:hover::after {
  transform: translateX(4px);
}

/* PREMIUM ARROWS */

.hero-controls {
  position: absolute;
  right: clamp(20px, 3vw, 46px);
  top: 50%;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  transform: translateY(-50%);
  padding: 12px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.10);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(12px);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.24),
    0 1px 0 rgba(255, 255, 255, 0.14) inset;
}

.hero-counter {
  min-width: 48px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0.08em;
}

.hero-counter span:nth-child(2) {
  width: 1px;
  height: 34px;
  background: linear-gradient(180deg,
      rgba(176, 138, 66, 0.9),
      rgba(255, 255, 255, 0.12));
}

.hero-arrow {
  width: 46px;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
  backdrop-filter: blur(10px);
  font-size: 18px;
  line-height: 1;
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.22),
    0 1px 0 rgba(255, 255, 255, 0.16) inset;
  transition:
    background 0.25s ease,
    transform 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease;
}

.hero-arrow:hover {
  background: rgba(176, 138, 66, 0.94);
  border-color: rgba(176, 138, 66, 1);
  color: #050505;
  transform: scale(1.06);
}

/* HERO TEXT ANIMATION — только один раз при загрузке */

.hero-reveal {
  opacity: 0;
  transform: translateY(34px);
  filter: blur(7px);
  will-change: transform, opacity, filter;
}

.hero-reveal.is-visible {
  animation: heroRevealUp 1.05s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.hero-title-reveal.is-visible {
  animation-delay: 0.12s;
}

.hero-subtitle-reveal.is-visible {
  animation-delay: 0.32s;
}

.hero-button-reveal.is-visible {
  animation-delay: 0.52s;
}

@keyframes heroRevealUp {
  0% {
    opacity: 0;
    transform: translateY(34px);
    filter: blur(7px);
  }

  65% {
    opacity: 1;
    transform: translateY(-2px);
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* DARK MODE HERO */

body.dark-mode .hero-copy::before {
  color: rgba(208, 181, 94, 0.94);
}

body.dark-mode .hero-copy::after {
  background: rgba(208, 181, 94, 0.86);
}

body.dark-mode .hero-arrow:hover {
  background: rgb(208, 181, 94);
  border-color: rgb(208, 181, 94);
  color: #050505;
}

body.dark-mode .hero-counter span:nth-child(2) {
  background: linear-gradient(180deg,
      rgb(208, 181, 94),
      rgba(255, 255, 255, 0.12));
}

/* MOBILE HERO */

@media (max-width: 720px) {
  .hero {
    min-height: 540px;
    height: 72vh;
  }

  .hero-content {
    padding-left: 24px;
    padding-right: 24px;
    align-items: center;
  }

  .hero-copy {
    max-width: 100%;
  }

  .hero-copy::before {
    padding-left: 44px;
    font-size: 11px;
    letter-spacing: 0.18em;
  }

  .hero-copy::after {
    width: 32px;
  }

  .hero h1 {
    font-size: 38px;
    line-height: 1;
  }

  .hero p {
    font-size: 18px;
    max-width: 100%;
  }

  .hero-controls {
    right: 16px;
    top: auto;
    bottom: 16px;
    flex-direction: row;
    transform: none;
    border-radius: 999px;
  }

  .hero-counter {
    flex-direction: row;
    min-width: auto;
  }

  .hero-counter span:nth-child(2) {
    width: 26px;
    height: 1px;
  }

  .hero-arrow {
    width: 42px;
    height: 42px;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 470px;
  }

  .hero h1 {
    font-size: 30px;
    line-height: 1.02;
  }

  .hero p {
    font-size: 15px;
    line-height: 1.45;
  }

  .hero-btn {
    height: 42px;
    padding: 0 18px;
    font-size: 14px;
  }
}

@media (prefers-reduced-motion: reduce) {

  .hero-slide,
  .hero-slide.active,
  .hero-reveal,
  .hero-reveal.is-visible,
  .hero::after {
    animation: none !important;
    transition: none !important;
  }
}


/* =========================
   HOME MAIN LAYOUT
========================= */

.home-main-shell {
  background: #f8f5f0;
  padding: 0 0 34px;
}

.home-main-grid {
  width: calc(100vw - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(280px, 20vw, 360px);
  gap: 10px;
  align-items: start;
}

.home-main-primary {
  min-width: 0;
}

.home-main-primary-inner {
  min-width: 0;
  width: 100%;
  display: block;
}

.home-news-sidebar {
  margin-top: 0px;
  margin-bottom: 0;
  position: sticky;
  top: 86px;
  width: 100%;
  display: flex;
  justify-content: stretch;
  align-self: start;
  z-index: 2;
}

/* =========================
   DEALER CERTIFICATES
========================= */

.dealer-certificates {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(115, 10, 38, 0.12);
}

.dealer-cert-title {
  margin-bottom: 12px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.58);
}

.dealer-doc-link {
  display: inline-flex;
  width: auto;
  max-width: max-content;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 18px;
  margin: 0 10px 10px 0;
  border-radius: 999px;
  text-decoration: none;
  color: #730a26;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(176, 138, 66, 0.34);
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  transition: 0.22s ease;
}

.dealer-doc-link:hover {
  color: #fff;
  background: #730a26;
  border-color: #730a26;
  transform: translateY(-2px);
  box-shadow:
    0 14px 30px rgba(115, 10, 38, 0.24),
    0 0 0 1px rgba(115, 10, 38, 0.08);
}

.dealer-doc-icon {
  display: inline-flex;
  width: 26px;
  height: 26px;
  min-width: 26px;
  align-items: center;
  justify-content: center;
  flex: 0 0 26px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: #730a26;
  font-size: 13px;
  line-height: 1;
}

.dealer-doc-link:hover .dealer-doc-icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}

/* DARK THEME — DEALER CERTIFICATES */

body.dark-mode .dealer-certificates {
  border-top-color: rgba(208, 181, 94, 0.22);
}

body.dark-mode .dealer-cert-title {
  color: rgba(208, 181, 94, 0.78);
}

body.dark-mode .dealer-doc-link {
  color: rgb(208, 181, 94);
  background: rgba(208, 181, 94, 0.08);
  border-color: rgba(208, 181, 94, 0.28);
}

body.dark-mode .dealer-doc-link:hover {
  color: #050505;
  background: rgb(208, 181, 94);
  border-color: rgb(208, 181, 94);
  box-shadow:
    0 0 24px rgba(208, 181, 94, 0.32),
    0 12px 30px rgba(208, 181, 94, 0.18);
}

body.dark-mode .dealer-doc-icon {
  background: rgba(208, 181, 94, 0.14);
  color: rgb(208, 181, 94);
}

body.dark-mode .dealer-doc-link:hover .dealer-doc-icon {
  background: rgba(5, 5, 5, 0.16);
  color: #050505;
}

/* =========================
   DEALER CERTIFICATE LIGHTBOX
========================= */

.dealer-doc-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  padding: 24px;
}

.dealer-doc-modal.is-open {
  display: block;
}

.dealer-doc-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 6, 6, 0.62);
  backdrop-filter: blur(8px);
}

/* вся модалка */
.dealer-doc-viewer {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  gap: 18px;
}

/* зона картинки всегда центрирует содержимое */
.dealer-doc-image-wrap {
  width: 100%;
  height: 100%;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding: 36px 76px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* сцена ровно по центру; размер равен картинке */
.dealer-doc-image-stage {
  position: relative;
  width: fit-content;
  height: fit-content;
  max-width: none;
  max-height: none;
  margin: auto;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* сам сертификат */
.dealer-doc-modal-image {
  display: block;
  width: auto;
  max-width: none;
  max-height: none;
  height: min(78vh, 760px);
  object-fit: contain;
  border-radius: 10px;
  background: #fff;
  box-shadow:
    0 28px 90px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(176, 138, 66, 0.26);
  user-select: none;
}

/* кнопка закрытия — справа сверху от сертификата */
.dealer-doc-modal-close {
  position: absolute;
  top: -18px;
  right: -18px;
  z-index: 8;

  width: 42px;
  height: 42px;
  border-radius: 999px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(115, 10, 38, 0.22);
  background: rgba(255, 255, 255, 0.94);
  color: var(--burgundy);

  font-size: 30px;
  line-height: 1;
  font-weight: 300;
  cursor: pointer;

  box-shadow:
    0 12px 30px rgba(115, 10, 38, 0.16),
    0 0 0 5px rgba(255, 255, 255, 0.48),
    0 1px 0 rgba(255, 255, 255, 0.86) inset;

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  transition:
    transform 0.22s ease,
    background 0.22s ease,
    color 0.22s ease,
    border-color 0.22s ease,
    box-shadow 0.22s ease;
}

.dealer-doc-modal-close:hover {
  background: var(--burgundy);
  color: #ffffff;
  border-color: var(--burgundy);
  transform: scale(1.06);
  box-shadow:
    0 16px 36px rgba(115, 10, 38, 0.28),
    0 0 0 5px rgba(255, 255, 255, 0.56);
}

/* панель управления масштабом */
.dealer-doc-controls {
  position: relative;
  z-index: 4;
  justify-self: center;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(115, 10, 38, 0.22);
  box-shadow:
    0 14px 38px rgba(115, 10, 38, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
  backdrop-filter: blur(10px);
}

.dealer-doc-zoom-btn,
.dealer-doc-scale-label {
  height: 38px;
  border-radius: 999px;
  border: 1px solid rgba(115, 10, 38, 0.30);
  background: rgba(255, 255, 255, 0.94);
  color: #730a26;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.dealer-doc-zoom-btn {
  width: 38px;
  cursor: pointer;
  transition: 0.22s ease;
}

.dealer-doc-scale-label {
  min-width: 62px;
  padding: 0 12px;
  font-size: 13px;
}

.dealer-doc-zoom-btn:hover {
  background: #730a26;
  color: #fff;
  border-color: #730a26;
  transform: translateY(-1px);
}

body.dealer-doc-modal-open {
  overflow: hidden;
}

/* DARK THEME — LIGHTBOX */

body.dark-mode .dealer-doc-modal-backdrop {
  background: rgba(0, 0, 0, 0.78);
  backdrop-filter: blur(10px);
}

body.dark-mode .dealer-doc-modal-image {
  background: #fff;
  box-shadow:
    0 30px 100px rgba(0, 0, 0, 0.72),
    0 0 0 1px rgba(208, 181, 94, 0.32),
    0 0 42px rgba(208, 181, 94, 0.10);
}

body.dark-mode .dealer-doc-controls {
  background: rgba(10, 10, 10, 0.88);
  border-color: rgba(208, 181, 94, 0.34);
  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.58),
    0 0 28px rgba(208, 181, 94, 0.08);
}

body.dark-mode .dealer-doc-zoom-btn,
body.dark-mode .dealer-doc-scale-label {
  background: rgba(10, 10, 10, 0.94);
  color: rgb(208, 181, 94);
  border-color: rgba(208, 181, 94, 0.38);
}

body.dark-mode .dealer-doc-modal-close {
  background: rgba(10, 10, 10, 0.92);
  color: rgb(208, 181, 94);
  border-color: rgba(208, 181, 94, 0.42);
  box-shadow:
    0 16px 42px rgba(0, 0, 0, 0.58),
    0 0 0 5px rgba(5, 5, 5, 0.42),
    0 1px 0 rgba(255, 255, 255, 0.05) inset;
}

body.dark-mode .dealer-doc-modal-close:hover {
  background: rgb(208, 181, 94);
  color: #050505;
  border-color: rgb(208, 181, 94);
  transform: scale(1.06);
  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.68),
    0 0 28px rgba(208, 181, 94, 0.22),
    0 0 0 5px rgba(5, 5, 5, 0.46);
}

body.dark-mode .dealer-doc-zoom-btn:hover {
  background: rgb(208, 181, 94);
  color: #050505;
  border-color: rgb(208, 181, 94);
}

/* mobile */

@media (max-width: 720px) {
  .dealer-doc-modal {
    padding: 12px;
  }

  .dealer-doc-image-wrap {
    padding: 42px 16px 18px;
  }

  .dealer-doc-modal-image {
    height: min(72vh, 640px);
  }

  .dealer-doc-modal-close {
    top: -16px;
    right: -12px;
    width: 38px;
    height: 38px;
    font-size: 28px;
    line-height: 32px;
  }
}

/* =========================
   MAP TITLE
========================= */

.map-title {
  width: calc(100vw - 48px);
  margin: 0 auto 18px;
  text-align: center;
  font-family: "MyraidLight", sans-serif;
  line-height: 1.2;
  opacity: 0;
  transform: translateY(20px);
  animation: fadeUp 0.8s ease forwards;
}

@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.map-title-top {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 5px;
  padding: 0 90px;
}

.map-title-top::before,
.map-title-top::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 70px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.map-title-top::before {
  left: 0;
}

.map-title-top::after {
  right: 0;
}

.map-title-main {
  display: block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 2.4vw, 44px);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text);
  padding-bottom: 18px;
}

.map-title-main::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  margin: 18px auto 0;
  opacity: 0.3;
}

/* =========================
   MINE MAP
========================= */

.mine-map-section {
  width: 100%;
  padding: 16px 0 0;
  background: #f8f5f0;
  min-width: 0;
}

.mine-map {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin: 0 auto;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}

.mine-map-canvas {
  position: relative;
  width: min(100%, 980px);
  line-height: 0;
  overflow: visible;
}

.mine-map-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  object-fit: contain;
  object-position: center top;
  background: transparent;
}

/* =========================
   MAP HOTSPOTS
========================= */

.mine-map {
  position: relative;
}

.map-hotspots-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
  pointer-events: none;
}

.map-hotspot {
  position: absolute;
  z-index: 10;
  transform: translate(-50%, -50%);
  pointer-events: auto;
}

.map-hotspot:hover {
  z-index: 100;
}


.map-hotspot-btn {
  width: clamp(60px, 5vw, 92px);
  height: clamp(60px, 5vw, 92px);
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.map-hotspot-btn .hotspot-icon {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition:
    transform 0.25s ease,
    filter 0.25s ease,
    opacity 0.25s ease;
}

/* светлая тема — мягкая золотая тень */
.map-hotspot-btn .hotspot-icon-light {
  display: block;
  filter:
    drop-shadow(0 8px 14px rgba(176, 138, 66, 0.22)) drop-shadow(0 0 4px rgba(176, 138, 66, 0.18));
}

.map-hotspot-btn .hotspot-icon-dark {
  display: none;
}

/* hover в светлой теме — золотой, не красный */
.map-hotspot:hover .map-hotspot-btn .hotspot-icon-light {
  transform: translateY(-4px) scale(1.08);
  filter:
    drop-shadow(0 12px 20px rgba(176, 138, 66, 0.46)) drop-shadow(0 0 14px rgba(176, 138, 66, 0.48));
}

/* тёмная тема */
body.dark-mode .map-hotspot-btn .hotspot-icon-light {
  display: none;
}

body.dark-mode .map-hotspot-btn .hotspot-icon-dark {
  display: block;
  filter:
    drop-shadow(0 10px 16px rgba(208, 181, 94, 0.16)) drop-shadow(0 0 5px rgba(208, 181, 94, 0.14));
}

body.dark-mode .map-hotspot:hover .map-hotspot-btn .hotspot-icon-dark {
  transform: translateY(-4px) scale(1.08);
  filter:
    drop-shadow(0 14px 22px rgba(208, 181, 94, 0.36)) drop-shadow(0 0 14px rgba(208, 181, 94, 0.42));
}

/* позиции иконок на карте */
.map-hotspot-vent {
  left: 87.5%;
  top: 42%;
}

.map-hotspot-factory {
  left: 18.5%;
  top: 47%;
}

.map-hotspot-komb {
  left: 26.5%;
  top: 67%;
}

.map-hotspot-rudnik {
  left: 56%;
  top: 60%;
}

.map-hotspot-pm {
  left: 66%;
  top: 20%;
}

.map-hotspot-shkaf {
  left: 80%;
  top: 43%;
}

/* выпадающее меню */
.map-hotspot-menu {
  position: absolute;
  left: 50%;
  top: calc(100% + 6px);
  width: clamp(240px, 16vw, 300px);
  transform: translateX(-50%) translateY(10px);

  opacity: 0;
  visibility: hidden;
  pointer-events: none;

  z-index: 200;

  border-radius: 16px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid rgba(176, 138, 66, 0.38);
  box-shadow:
    0 22px 46px rgba(0, 0, 0, 0.2),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
  backdrop-filter: blur(10px);

  transition:
    opacity 0.22s ease,
    visibility 0.22s ease,
    transform 0.22s ease;
}

.map-hotspot:hover .map-hotspot-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.map-hotspot-menu::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -7px;
  width: 14px;
  height: 14px;
  background: rgba(255, 255, 255, 0.96);
  border-left: 1px solid rgba(176, 138, 66, 0.32);
  border-top: 1px solid rgba(176, 138, 66, 0.32);
  transform: translateX(-50%) rotate(45deg);
}

.map-hotspot-menu-title {
  padding: 12px 14px 10px;
  font-family: "MyraidLight", sans-serif;
  font-size: 14px;
  line-height: 1.2;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  text-align: center;
  border-bottom: 1px solid rgba(176, 138, 66, 0.26);
}

.map-hotspot-menu a {
  display: block;
  padding: 12px 14px;
  font-family: "MyraidLight", sans-serif;
  font-size: 14px;
  line-height: 1.25;
  color: var(--text);
  text-decoration: none;
  text-align: center;
  border-bottom: 1px solid rgba(176, 138, 66, 0.18);
  transition: background 0.2s ease, color 0.2s ease;
}

.map-hotspot-menu a:last-child {
  border-bottom: none;
}

.map-hotspot-menu a:hover {
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
}

/* =========================
   DARK MODE: MAP HOTSPOTS
========================= */

body.dark-mode .map-hotspot-menu {
  background: linear-gradient(180deg, #141414 0%, #0b0b0b 100%);
  border-color: rgba(208, 181, 94, 0.34);
  box-shadow:
    0 18px 38px rgba(0, 0, 0, 0.42),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .map-hotspot-menu::before {
  background: #141414;
  border-color: rgba(208, 181, 94, 0.34);
}

body.dark-mode .map-hotspot-menu-title {
  color: rgb(208, 181, 94);
  border-bottom-color: rgba(208, 181, 94, 0.28);
}

body.dark-mode .map-hotspot-menu a {
  color: rgba(255, 255, 255, 0.9) !important;
  border-bottom-color: rgba(208, 181, 94, 0.18);
}

body.dark-mode .map-hotspot-menu a:hover {
  background: rgba(208, 181, 94, 0.11);
  color: rgb(208, 181, 94) !important;
}

/* =========================
   RESPONSIVE: MAP HOTSPOTS
========================= */

@media (max-width: 1200px) {
  .map-hotspot-btn {
    width: 54px;
    height: 54px;
  }

  .map-hotspot-menu {
    width: 230px;
  }
}

@media (max-width: 920px) {
  .map-hotspots-layer {
    display: none;
  }
}

/* =========================
   NEWS SIDEBAR
========================= */

.home-news-panel {
  position: relative;
  width: 100%;
  max-width: none;
  border-radius: 28px;
  padding: 24px 16px 18px;
  background:
    radial-gradient(circle at 20% 0%, rgba(176, 138, 66, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(176, 138, 66, 0.28);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0;
  overflow: hidden;
  transform: translateY(0);
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.home-news-panel::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(176, 138, 66, 0.18) 24%,
      transparent 46%);
  transform: translateX(-120%);
  pointer-events: none;
  animation: homeNewsShine 6s ease-in-out infinite;
}

.home-news-panel:hover {
  transform: translateY(-4px);
  border-color: rgba(176, 138, 66, 0.42);
  box-shadow:
    0 24px 58px rgba(115, 10, 38, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

@keyframes homeNewsShine {

  0%,
  72% {
    transform: translateX(-120%);
  }

  100% {
    transform: translateX(120%);
  }
}

.home-news-head,
.home-news-list,
.home-news-more {
  width: 100%;
  max-width: none;
}

.home-news-head {
  margin-bottom: 8px;
  text-align: center;
}

.home-news-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 12px;
  padding: 0 58px;
}

.home-news-kicker::before,
.home-news-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 40px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.home-news-kicker::before {
  left: 0;
}

.home-news-kicker::after {
  right: 0;
}

.home-news-title {
  margin: 0 0 10px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(22px, 1.55vw, 28px);
  line-height: 1.08;
  font-weight: 400;
  color: var(--text);
  text-align: center;
}

.home-news-line {
  width: 100%;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.22;
}

.home-news-list {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 14px;
}

.news-preview-card {
  position: relative;
  padding: 14px 14px 13px;
  border-radius: 18px;
  border: 1px solid rgba(176, 138, 66, 0.18);
  background:
    radial-gradient(circle at 100% 0%, rgba(176, 138, 66, 0.10), transparent 38%),
    rgba(255, 255, 255, 0.64);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.035),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
  text-align: left;
  overflow: hidden;
  opacity: 0;
  transform: translateY(18px) scale(0.98);
  animation: newsPreviewReveal 0.72s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: var(--news-delay, 0s);
  transition:
    transform 0.3s ease,
    box-shadow 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease;
}

.news-preview-card::before {
  content: "";
  position: absolute;
  left: 14px;
  top: 14px;
  bottom: 14px;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg,
      rgba(115, 10, 38, 0.95),
      rgba(176, 138, 66, 0.38));
  opacity: 0.72;
}

.news-preview-card:hover {
  transform: translateY(-4px) scale(1.01);
  border-color: rgba(115, 10, 38, 0.24);
  background:
    radial-gradient(circle at 100% 0%, rgba(176, 138, 66, 0.16), transparent 42%),
    rgba(255, 255, 255, 0.88);
  box-shadow:
    0 18px 38px rgba(115, 10, 38, 0.11),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

.news-preview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 9px;
  padding-left: 12px;
}

.news-preview-category {
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.news-preview-date {
  font-size: 12px;
  color: rgba(31, 31, 31, 0.5);
}

.news-preview-card-title {
  margin: 0 0 8px;
  padding-left: 12px;
  font-size: 17px;
  line-height: 1.18;
  font-weight: 400;
  color: var(--text);
}

.news-preview-excerpt {
  margin: 0 0 8px;
  padding-left: 12px;
  font-size: 13px;
  line-height: 1.38;
  color: rgba(31, 31, 31, 0.76);
}

.news-preview-link {
  display: inline-flex;
  align-items: center;
  margin-left: 12px;
  font-size: 13px;
  text-decoration: none;
  color: var(--burgundy);
  font-weight: 700;
  padding: 6px 0;
}

.news-preview-link::after {
  content: "→";
  margin-left: 8px;
  transition: transform 0.22s ease;
}

.news-preview-link:hover {
  opacity: 1;
}

.news-preview-card:hover .news-preview-link::after {
  transform: translateX(4px);
}

@keyframes newsPreviewReveal {
  0% {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
    filter: blur(6px);
  }

  70% {
    opacity: 1;
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

.home-news-more {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--burgundy);
  color: #ffffff;
  text-decoration: none;
  font-family: "MyraidLight", sans-serif;
  font-size: 14px;
  font-weight: 700;
  box-shadow:
    0 10px 22px rgba(115, 10, 38, 0.20),
    0 1px 0 rgba(255, 255, 255, 0.2) inset;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.home-news-more::after {
  content: "→";
  margin-left: 9px;
  transition: transform 0.22s ease;
}

.home-news-more:hover {
  transform: translateY(-2px);
  background: #5f0820;
  box-shadow:
    0 15px 30px rgba(115, 10, 38, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.24) inset;
}

.home-news-more:hover::after {
  transform: translateX(4px);
}

/* =========================
   HOME TOP: ABOUT + MAP
========================= */

.home-primary-top {
  display: grid;
  grid-template-columns: minmax(250px, 320px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  min-width: 0;
}

.home-about-panel {
  min-width: 0;
  width: 100%;
  min-height: 580px;
  padding: 32px 22px;
  border: none;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  display: flex;
  overflow: hidden;
}

.home-about-inner {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.home-about-label {
  max-width: 100%;
  margin-bottom: 22px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(10px, 0.72vw, 12px);
  line-height: 1.35;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--burgundy);
  opacity: 0.9;
}

.home-about-title {
  max-width: 100%;
  margin: 0 0 24px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(26px, 1.8vw, 36px);
  line-height: 1.16;
  font-weight: 400;
  color: var(--text);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

.home-about-text-wrap {
  max-width: 92%;
}

.home-about-text {
  max-width: 100%;
  margin: 0 0 14px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(14px, 0.86vw, 16px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.82);
  white-space: normal;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}

.home-about-text:last-child {
  margin-bottom: 0;
}

.home-about-text strong {
  color: var(--burgundy);
  font-weight: 600;
}

.typing-cursor {
  display: inline-block;
  margin-left: 2px;
  color: var(--burgundy);
  animation: typingBlink 0.9s steps(1);
}

@keyframes typingBlink {

  0%,
  48% {
    opacity: 1;
  }

  49%,
  100% {
    opacity: 0;
  }
}

/* =========================
   DIRECTIONS
========================= */

.directions-section {
  padding: 26px 0 34px;
  background: #f8f5f0;
}

.directions-head {
  text-align: center;
  font-family: "MyraidLight", sans-serif;
  margin-bottom: 18px;
  opacity: 0;
  transform: translateY(18px);
  animation: directionsFade 0.8s ease forwards;
}

.directions-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 0;
  padding: 0 90px;
}

.directions-kicker::before,
.directions-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 70px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.directions-kicker::before {
  left: 0;
}

.directions-kicker::after {
  right: 0;
}

.directions-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 2.4vw, 44px);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text);
}

.directions-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  margin: 12px auto 0;
  opacity: 0.3;
}

@keyframes directionsFade {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* НОВАЯ СЕТКА: только 4 направления */

.directions-layout {
  width: calc(100vw - 48px);
  margin: 0 auto;
}

.directions-main,
.directions-side-card {
  min-width: 0;
}

.cards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  height: 100%;
  margin: 0;
}

.direction-card,
.cooperation-card {
  display: flex;
  flex-direction: column;
  min-height: 380px;
  height: 100%;
  padding: 20px 18px 18px;
  border-radius: 24px;
  border: 1px solid rgba(176, 138, 66, 0.38);
  background:
    radial-gradient(circle at 18% 12%, rgba(176, 138, 66, 0.08) 0%, transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 247, 242, 0.98) 100%);
  text-decoration: none;
  color: inherit;
  font-family: "MyraidLight", sans-serif;
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.05),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.direction-card:hover {
  transform: translateY(-6px);
  border-color: rgba(176, 138, 66, 0.62);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.direction-card-top {
  margin-bottom: 14px;
}

.direction-badge,
.cooperation-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  width: fit-content;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  border: 1px solid rgba(176, 138, 66, 0.24);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 14px;
}

.direction-card-title,
.cooperation-title {
  margin: 0 0 16px;
  color: var(--burgundy);
  font-size: clamp(18px, 1.2vw, 24px);
  line-height: 1.22;
  font-weight: 600;
}

.direction-card-title {
  min-height: 62px;
}

.direction-card-media-wrap,
.cooperation-image-wrap {
  margin-top: auto;
  width: 100%;
  flex: 1;
  min-height: 220px;
  border-radius: 18px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(247, 243, 237, 0.9) 0%, rgba(241, 235, 227, 0.95) 100%);
  border: 1px solid rgba(176, 138, 66, 0.18);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}

.direction-card-media,
.cooperation-image {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 220px;
  object-fit: contain;
}

.cooperation-card-top {
  margin-bottom: 8px;
}

.cooperation-text {
  margin: 0;
  color: rgba(31, 31, 31, 0.78);
  font-size: 14px;
  line-height: 1.45;
}


.cooperation-image-btn .cooperation-image {
  transition: transform 0.25s ease, opacity 0.25s ease;
}

.cooperation-image-btn:hover .cooperation-image {
  transform: scale(1.03);
  opacity: 0.92;
}

/* =========================
   HOME BOTTOM SECTION
   KPI + PROJECTS + CYCLE
========================= */

.home-bottom-section {
  padding: 14px 0 44px;
  background: #f8f5f0;
}

.home-bottom-layout {
  width: calc(100vw - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    minmax(560px, 0.9fr) minmax(620px, 1.45fr) minmax(330px, 0.75fr);
  gap: 14px;
  align-items: stretch;
}

.home-kpi-head {
  grid-column: 1 / -1;
  margin-bottom: 4px;
}

.home-kpi-kicker,
.cases-stat-kicker {
  display: block;
  margin-bottom: 8px;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(115, 10, 38, 0.72);
}

.home-kpi-title,
.cases-stat-title {
  margin: 0;
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.15;
  color: #1f1f1f;
}

.home-kpi-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}

.home-kpi-card {
  min-width: 0;
  min-height: 190px;
  padding: 22px 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(115, 10, 38, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 247, 242, 0.98) 100%);
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.045),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  overflow: hidden;
}

.home-kpi-card * {
  min-width: 0;
}

.home-kpi-icon {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  margin-bottom: 22px;
  border-radius: 14px;
  border: 1px solid rgba(176, 138, 66, 0.38);
  color: var(--gold);
  background:
    radial-gradient(circle at 35% 25%, rgba(176, 138, 66, 0.18), transparent 48%),
    rgba(176, 138, 66, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
}

.home-kpi-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-kpi-number {
  margin: 0 0 14px;
  font-size: clamp(28px, 2vw, 42px);
  line-height: 1;
  font-weight: 600;
  color: var(--burgundy);
  letter-spacing: -0.03em;
  white-space: nowrap;
}

.home-kpi-text {
  max-width: 100%;
  color: var(--text);
  font-size: clamp(14px, 0.92vw, 17px);
  line-height: 1.3;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.home-projects-panel {
  min-width: 0;
  min-height: 190px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(115, 10, 38, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 247, 242, 0.98) 100%);
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.045),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.home-projects-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.home-projects-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(18px, 1.25vw, 24px);
  line-height: 1.15;
  font-weight: 600;
  color: var(--burgundy);
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.home-projects-more {
  flex-shrink: 0;
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  color: var(--burgundy);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.home-projects-more::after {
  content: " →";
}

.home-projects-grid {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.home-project-card {
  min-width: 0;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(115, 10, 38, 0.08);
  background: rgba(255, 255, 255, 0.62);
}

.home-project-image-wrap {
  width: 100%;
  aspect-ratio: 16 / 7;
  overflow: hidden;
  background: #ddd6cc;
}

.home-project-image,
.home-project-image-wrap img,
.home-project-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.home-project-body {
  padding: 11px 10px 12px;
}

.home-project-body h3 {
  margin: 0 0 8px;
  font-family: "MyraidLight", sans-serif;
  font-size: 14px;
  line-height: 1.32;
  font-weight: 400;
  color: var(--text);
  overflow-wrap: anywhere;
}

.home-project-body p {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(31, 31, 31, 0.64);
}

.home-cycle-panel {
  min-width: 0;
  min-height: 190px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(115, 10, 38, 0.14);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(250, 247, 242, 0.98) 100%);
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.045),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
  display: flex;
  flex-direction: column;
}

.home-cycle-list {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.cycle-item {
  flex: 1;
  min-height: 52px;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(176, 138, 66, 0.18);
  background: rgba(176, 138, 66, 0.055);
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
}

.cycle-icon {
  width: 46px;
  height: 46px;
  flex: 0 0 46px;
  border-radius: 14px;
  border: 1px solid rgba(176, 138, 66, 0.38);
  color: var(--gold);
  background: rgba(176, 138, 66, 0.07);
  display: flex;
  align-items: center;
  justify-content: center;
}

.cycle-icon svg {
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.cycle-text {
  font-size: 15px;
  line-height: 1.25;
  color: var(--text);
  text-transform: uppercase;
  text-align: left;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* =========================
   DARK MODE FOR DIRECTIONS + GEOGRAPHY
========================= */

body.dark-mode .direction-card,
body.dark-mode .cooperation-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08) 0%, transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border: 1px solid rgba(208, 181, 94, 0.34) !important;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.22),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .direction-card:hover,
body.dark-mode .cooperation-card:hover {
  border-color: rgba(208, 181, 94, 0.58) !important;
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.32),
    0 1px 0 rgba(255, 255, 255, 0.06) inset;
}

body.dark-mode .direction-card-title,
body.dark-mode .cooperation-title {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .direction-badge,
body.dark-mode .cooperation-badge {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  border-color: rgba(208, 181, 94, 0.34) !important;
}

body.dark-mode .cooperation-text {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .direction-card-media-wrap,
body.dark-mode .cooperation-image-wrap {
  background: linear-gradient(180deg, #111111 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, .18) !important;
}


/* =========================
   RESPONSIVE: DIRECTIONS + GEOGRAPHY
========================= */

@media (max-width: 1380px) {
  .cards-grid {
    grid-template-columns: repeat(4, minmax(180px, 1fr));
  }
}

@media (max-width: 1180px) {
  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .direction-card,
  .cooperation-card {
    min-height: 340px;
  }
}

@media (max-width: 720px) {
  .directions-section {
    padding: 48px 0 64px;
  }

  .directions-head {
    margin-bottom: 28px;
  }

  .directions-kicker {
    padding: 0 56px;
  }

  .directions-kicker::before,
  .directions-kicker::after {
    width: 42px;
  }

  .directions-title {
    font-size: 26px;
  }

  .directions-layout {
    width: calc(100% - 20px);
    gap: 18px;
  }

  .cards-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .direction-card,
  .cooperation-card {
    min-height: auto;
    border-radius: 20px;
    padding: 18px 16px 16px;
  }

  .direction-card-title,
  .cooperation-title {
    font-size: 22px;
    min-height: auto;
  }

  .direction-card-media-wrap,
  .cooperation-image-wrap {
    min-height: 200px;
    padding: 12px;
    border-radius: 16px;
  }

  .cooperation-text {
    font-size: 14px;
  }
}

/* =========================
   RESPONSIVE: HOME BOTTOM
========================= */

@media (max-width: 1550px) {
  .home-bottom-layout {
    grid-template-columns: 1fr;
  }

  .home-kpi-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
  }

  .home-cycle-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .cycle-item {
    min-height: 76px;
  }
}

@media (max-width: 980px) {
  .home-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-projects-grid {
    grid-template-columns: 1fr;
  }

  .home-cycle-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-project-image-wrap {
    aspect-ratio: 16 / 7;
  }
}

@media (max-width: 720px) {
  .home-bottom-layout {
    width: calc(100% - 20px);
    gap: 12px;
  }

  .home-kpi-grid,
  .home-cycle-list {
    grid-template-columns: 1fr;
  }

  .home-kpi-card,
  .home-projects-panel,
  .home-cycle-panel {
    border-radius: 18px;
  }

  .home-kpi-card {
    min-height: auto;
    padding: 18px 16px;
  }

  .home-projects-head {
    flex-direction: column;
    align-items: flex-start;
  }

  .home-projects-title {
    font-size: 21px;
  }

  .home-project-image-wrap {
    aspect-ratio: 16 / 9;
  }

  .cycle-item {
    min-height: auto;
  }
}

@media (max-width: 560px) {
  .home-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* =========================
   FOOTER
========================= */

#site-footer {
  background: #f8f5f0;
  border-top: 1px solid rgba(115, 10, 38, 0.08);
}

.footer-inner {
  padding: 18px 24px 16px;
}

.footer-contacts-block {
  width: 100%;
  max-width: none;
}

.footer-contacts-title {
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.8vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.58);
  margin-bottom: 8px;
}

/* полоска под КОНТАКТЫ */
.footer-contacts-line {
  display: block;
  /*width: min(720px, 42vw);*/
  width: 100%;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.22;
  margin: 0 0 14px 0;
}

/* главная сетка футера */
.footer-contacts-content {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(260px, 420px) minmax(420px, 760px);
  column-gap: clamp(60px, 14vw, 260px);
  align-items: start;
}

/* левая колонка: телефон + email */
.footer-contacts-left {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* правая колонка: адреса */
.footer-contacts-right {
  justify-self: end;
  width: min(760px, 100%);
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.footer-contact-group {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}

.footer-contact-label {
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.78vw, 14px);
  line-height: 1.2;
  color: rgba(31, 31, 31, 0.68);
}

.footer-contact-link {
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(14px, 0.95vw, 18px);
  line-height: 1.2;
  color: var(--text);
  text-decoration: none;
  font-weight: 400;
}

.footer-contact-link:hover {
  color: var(--burgundy);
}

.footer-contact-text {
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.82vw, 15px);
  line-height: 1.35;
  color: var(--text);
  text-align: left;
  max-width: 760px;
}

.footer-email {
  color: var(--burgundy);
}

/* DARK MODE FOOTER */

body.dark-mode #site-footer {
  background: #050505 !important;
  border-top-color: rgba(208, 181, 94, 0.18) !important;
}

body.dark-mode .footer-contacts-title,
body.dark-mode .footer-contact-label {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .footer-contacts-line {
  background: rgb(208, 181, 94) !important;
  opacity: 0.45 !important;
}

body.dark-mode .footer-contact-link,
body.dark-mode .footer-contact-text {
  color: #ffffff !important;
}

body.dark-mode .footer-email {
  color: rgb(208, 181, 94) !important;
}

/* ADAPTIVE FOOTER */

@media (max-width: 980px) {
  .footer-contacts-content {
    grid-template-columns: 1fr;
    row-gap: 18px;
  }

  .footer-contacts-right {
    justify-self: start;
    width: 100%;
  }

  .footer-contacts-line {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .footer-inner {
    padding: 16px 14px 14px;
  }

  .footer-contacts-content {
    row-gap: 14px;
  }

  .footer-contact-label,
  .footer-contact-text {
    font-size: 12px;
  }

  .footer-contact-link {
    font-size: 14px;
  }
}

/* =========================
   RESPONSIVE
========================= */

@media (min-width: 1400px) {
  .logo img {
    height: 64px;
  }
}

@media (max-width: 1200px) {
  .home-main-grid {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .home-news-sidebar {
    justify-content: center;
    position: static;
  }

  .home-news-panel {
    max-width: 100%;
  }

  .home-news-head,
  .home-news-list,
  .home-news-more {
    max-width: 100%;
  }
}

@media (max-width: 1180px) {
  .container {
    width: min(1200px, calc(100% - 32px));
  }

  .header-inner {
    gap: 12px;
    min-height: 60px;
  }

  .nav-link {
    font-size: 12px;
  }

  .header-contact-btn {
    height: 34px;
    padding: 0 14px;
    font-size: 12px;
  }

}

@media (max-width: 1024px) {
  .hero-copy {
    max-width: 720px;
  }

  .hero h1 {
    font-size: 54px;
  }

  .hero p {
    font-size: 19px;
  }
}

@media (max-width: 920px) {
  .header-inner {
    grid-template-columns: auto 1fr auto auto;
    min-height: 56px;
    padding: 4px 0;
  }

  .logo img {
    height: 48px;
  }

  .main-nav,
  .header-contact-btn {
    display: none;
  }

  .menu-toggle {
    display: inline-block;
    justify-self: end;
  }

  .mobile-menu.open {
    display: block;
  }

  .footer-inner {
    padding: 12px 14px 10px;
  }

  .footer-contacts-block {
    justify-self: start;
    align-items: flex-start;
    text-align: left;
  }

  .footer-contact-group {
    align-items: flex-start;
  }

  .footer-contact-text {
    text-align: left;
    max-width: 100%;
  }

  .footer-contacts-line {
    margin-left: 0;
  }

}

@media (max-width: 720px) {
  .hero {
    min-height: 520px;
  }

  .hero-content {
    padding-left: 24px;
    padding-right: 24px;
  }

  .hero-copy {
    max-width: 100%;
  }

  .hero h1 {
    font-size: 38px;
    line-height: 1;
  }

  .hero p {
    font-size: 18px;
    max-width: 100%;
  }

  .hero-controls {
    right: 16px;
    bottom: 16px;
  }

  .hero-arrow {
    width: 40px;
    height: 40px;
  }

  .mine-map {
    border-radius: 18px;
  }

  .map-title {
    width: calc(100% - 20px);
    margin-bottom: 16px;
  }

  .map-card {
    width: 170px;
    font-size: 11px;
  }

  .map-card-title {
    font-size: 11px;
    padding: 7px 10px;
  }

  .map-card ul {
    padding: 8px 10px;
  }

  .map-dot {
    width: 10px;
    height: 10px;
  }

  .map-title-top {
    padding: 0 56px;
    margin-bottom: 14px;
  }

  .map-title-top::before,
  .map-title-top::after {
    width: 42px;
  }

  .map-title-main {
    font-size: 26px;
  }

  .home-main-grid {
    width: calc(100% - 20px);
    gap: 20px;
  }

  .home-main-shell {
    padding-bottom: 56px;
  }

  .home-news-panel {
    padding: 22px 16px 18px;
    border-radius: 22px;
  }

  .news-preview-card-title {
    font-size: 18px;
  }

  .news-preview-excerpt {
    font-size: 14px;
  }
}

@media (max-width: 1500px) {
  .home-primary-top {
    grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
  }

  .home-about-panel {
    min-height: 520px;
    padding: 24px 20px;
  }

  .home-about-title {
    font-size: clamp(24px, 1.7vw, 32px);
  }

  .home-about-text {
    font-size: 14px;
    line-height: 1.55;
  }
}


@media (max-width: 1200px) {
  .home-primary-top {
    grid-template-columns: 1fr;
  }

  .home-about-panel {
    min-height: auto;
    padding: 24px 0 10px;
  }

  .home-about-title {
    max-width: 720px;
    font-size: clamp(28px, 4vw, 40px);
  }

  .home-about-text-wrap {
    max-width: 720px;
  }
}

@media (max-width: 720px) {
  .home-about-panel {
    padding: 20px 0 8px;
  }

  .home-about-title {
    font-size: 28px;
    line-height: 1.16;
  }

  .home-about-text {
    font-size: 14px;
    line-height: 1.55;
  }

  .home-about-label {
    font-size: 11px;
    margin-bottom: 14px;
  }
}

@media (max-width: 560px) {
  .home-about-title {
    font-size: 24px;
  }

  .home-about-text {
    font-size: 14px;
  }
}

@media (max-width: 560px) {
  .home-about-title {
    font-size: 24px;
  }

  .home-about-text {
    font-size: 14px;
  }
}

@media (max-width: 560px) {
  .hero {
    min-height: 470px;
  }

  .hero h1 {
    font-size: 30px;
    line-height: 1.02;
  }

  .hero p {
    font-size: 15px;
    line-height: 1.45;
  }

  .hero-btn {
    height: 42px;
    padding: 0 18px;
    font-size: 14px;
  }

  .footer-inner {
    padding: 10px 12px 10px;
  }

  .footer-contacts-line {
    margin-bottom: 5px;
  }

  .footer-contacts-content {
    gap: 4px;
  }

  .footer-contact-label,
  .footer-contact-text {
    font-size: 11px;
  }

  .footer-contact-link {
    font-size: 13px;
  }
}

/* =========================
   CONTACTS MESSENGERS
========================= */

.contacts-messengers {
  margin: 24px 0 28px;
  padding: 18px 0 4px;
  border-top: 1px solid rgba(176, 138, 66, 0.24);
}

.contacts-messengers-title {
  margin-bottom: 14px;
  font-family: "MyraidLight", sans-serif;
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.62);
}

.contacts-messengers-list {
  display: flex;
  align-items: center;
  gap: 12px;
}

.contacts-messenger-link {
  width: 46px;
  height: 46px;
  border-radius: 14px;
  border: 1px solid rgba(176, 138, 66, 0.32);
  background:
    radial-gradient(circle at 35% 25%, rgba(176, 138, 66, 0.16), transparent 52%),
    rgba(255, 255, 255, 0.72);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  box-shadow:
    0 8px 18px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.contacts-messenger-link img {
  display: block;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.contacts-messenger-link:hover {
  transform: translateY(-3px);
  border-color: rgba(176, 138, 66, 0.62);
  background:
    radial-gradient(circle at 35% 25%, rgba(176, 138, 66, 0.24), transparent 54%),
    rgba(255, 255, 255, 0.92);
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.1),
    0 0 14px rgba(176, 138, 66, 0.18);
}

body.dark-mode .contacts-messengers {
  border-top-color: rgba(208, 181, 94, 0.24);
}

body.dark-mode .contacts-messengers-title {
  color: rgba(208, 181, 94, 0.78);
}

body.dark-mode .contacts-messenger-link {
  border-color: rgba(208, 181, 94, 0.34);
  background:
    radial-gradient(circle at 35% 25%, rgba(208, 181, 94, 0.14), transparent 54%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%);
  box-shadow:
    0 10px 24px rgba(0, 0, 0, 0.32),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .contacts-messenger-link:hover {
  border-color: rgba(208, 181, 94, 0.58);
  background:
    radial-gradient(circle at 35% 25%, rgba(208, 181, 94, 0.22), transparent 56%),
    linear-gradient(180deg, #171717 0%, #0b0b0b 100%);
  box-shadow:
    0 14px 30px rgba(0, 0, 0, 0.46),
    0 0 16px rgba(208, 181, 94, 0.2);
}

/* =========================
   DEALERS PAGE
========================= */

.dealers-page {
  background: #f8f5f0;
}

.dealers-shell {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
}

.dealers-hero {
  padding: 46px 0 24px;
}

.dealers-intro-card,
.dealers-content-card {
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.dealers-intro-card {
  padding: 34px 36px;
  text-align: center;
}

.dealers-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

.dealers-kicker::before,
.dealers-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.dealers-kicker::before {
  left: 0;
}

.dealers-kicker::after {
  right: 0;
}

.dealers-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(30px, 2.7vw, 46px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.dealers-intro-text {
  max-width: 880px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.86);
}

.dealers-list-section {
  padding: 0 0 72px;
}

.dealers-content-card {
  padding: 36px;
}

.dealers-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.dealer-card {
  min-width: 0;
  padding: 26px 24px 24px;
  border-radius: 24px;
  border: 1px solid rgba(176, 138, 66, 0.28);
  background:
    radial-gradient(circle at 18% 12%, rgba(176, 138, 66, 0.08) 0%, transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 247, 242, 0.96) 100%);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.dealer-card-head {
  margin-bottom: 18px;
}

.dealer-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 0 11px;
  margin-bottom: 14px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  border: 1px solid rgba(176, 138, 66, 0.24);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dealer-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  color: var(--burgundy);
  font-size: clamp(22px, 1.55vw, 30px);
  line-height: 1.18;
  font-weight: 600;
}

.dealer-info {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dealer-link,
.dealer-site {
  color: var(--text);
  text-decoration: none;
  font-size: 16px;
  line-height: 1.35;
}

.dealer-link:hover,
.dealer-site:hover {
  color: var(--burgundy);
}

.dealer-email,
.dealer-site {
  color: var(--burgundy);
}

.dealer-text {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.84);
}

body.dark-mode .dealers-page,
body.dark-mode .dealers-hero,
body.dark-mode .dealers-list-section {
  background: #050505 !important;
}

body.dark-mode .dealers-intro-card,
body.dark-mode .dealers-content-card,
body.dark-mode .dealer-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08) 0%, transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.24),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .dealers-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .dealers-kicker::before,
body.dark-mode .dealers-kicker::after {
  background: rgb(208, 181, 94) !important;
  opacity: .45;
}

body.dark-mode .dealers-title,
body.dark-mode .dealer-link {
  color: #ffffff !important;
}

body.dark-mode .dealers-intro-text,
body.dark-mode .dealer-text {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .dealer-title,
body.dark-mode .dealer-email,
body.dark-mode .dealer-site {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .dealer-badge {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  border-color: rgba(208, 181, 94, 0.34) !important;
}

body.dark-mode .dealer-link:hover,
body.dark-mode .dealer-site:hover {
  color: rgb(208, 181, 94) !important;
}

/* ===== DEALER ROWS ===== */

.dealer-info {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dealer-row {
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: start;
  column-gap: 10px;
}

.dealer-icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  line-height: 1;
  flex-shrink: 0;
  background: rgba(115, 10, 38, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.22);
  color: var(--burgundy);
  margin-top: 1px;
}

.dealer-link,
.dealer-site,
.dealer-text {
  min-width: 0;
}

.dealer-text {
  font-size: 16px;
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.84);
}

/* ===== CERTIFICATES ===== */

.dealer-certificates {
  margin-top: 10px;
  padding-top: 14px;
  border-top: 1px solid rgba(115, 10, 38, 0.10);
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.dealer-cert-title {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
}

.dealer-cert-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  width: fit-content;
  min-height: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  color: var(--burgundy);
  background: rgba(115, 10, 38, 0.06);
  border: 1px solid rgba(176, 138, 66, 0.28);
  transition: 0.25s ease;
}

.dealer-cert-btn:hover {
  transform: translateY(-1px);
  background: rgba(115, 10, 38, 0.10);
  color: var(--burgundy);
}

.dealer-icon-doc {
  background: rgba(255, 255, 255, 0.72);
}

/* ===== DARK MODE ===== */

body.dark-mode .dealer-icon {
  background: rgba(208, 181, 94, 0.10) !important;
  border-color: rgba(208, 181, 94, 0.26) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .dealer-certificates {
  border-top-color: rgba(208, 181, 94, 0.18) !important;
}

body.dark-mode .dealer-cert-title {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .dealer-cert-btn {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .dealer-cert-btn:hover {
  background: rgba(208, 181, 94, 0.14) !important;
  color: #fff !important;
}

body.dark-mode .dealer-icon-doc {
  background: rgba(255, 255, 255, 0.06) !important;
}

/* ===== MOBILE ===== */

@media (max-width: 560px) {
  .dealer-row {
    grid-template-columns: 24px 1fr;
    column-gap: 8px;
  }

  .dealer-icon {
    width: 24px;
    height: 24px;
    font-size: 12px;
  }

  .dealer-cert-btn {
    width: 100%;
    justify-content: flex-start;
  }
}

/*АДАПТИВ ДИЛЛЕРЫ И ДИСТРИБЬЮТЕРЫ*/
@media (max-width: 920px) {
  .dealers-hero {
    padding: 32px 0 20px;
  }

  .dealers-intro-card,
  .dealers-content-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .dealers-title {
    font-size: 30px;
  }

  .dealers-intro-text,
  .dealer-text,
  .dealer-link,
  .dealer-site {
    font-size: 15px;
  }

  .dealers-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .dealer-card {
    padding: 22px 18px 18px;
    border-radius: 20px;
  }

  .dealer-title {
    font-size: 22px;
  }
}

@media (max-width: 560px) {
  .dealers-shell {
    width: calc(100% - 20px);
  }

  .dealers-kicker {
    padding: 0 48px;
  }

  .dealers-kicker::before,
  .dealers-kicker::after {
    width: 36px;
  }

  .dealers-title {
    font-size: 26px;
    line-height: 1.2;
  }

  .dealers-list-section {
    padding-bottom: 48px;
  }
}

/* =========================
   SOLUTION PAGE
========================= */

.map-hotspot-menu-title-link {
  color: inherit;
  text-decoration: none;
}

.map-hotspot-menu-title-link:hover {
  color: var(--burgundy);
}

body.dark-mode .map-hotspot-menu-title-link:hover {
  color: rgb(208, 181, 94) !important;
}

.solution-page {
  background: #f8f5f0;
  color: var(--text);
}

.solution-shell {
  width: min(1280px, calc(100% - 48px));
  margin: 0 auto;
}

.solution-hero {
  padding: 48px 0 26px;
}

.solution-hero-card {
  padding: 42px 38px;
  border-radius: 30px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.12), transparent 38%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 247, 242, 0.98) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.solution-kicker {
  display: inline-block;
  position: relative;
  margin-bottom: 18px;
  padding: 0 84px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
}

.solution-kicker::before,
.solution-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 64px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.28;
  transform: translateY(-50%);
}

.solution-kicker::before {
  left: 0;
}

.solution-kicker::after {
  right: 0;
}

.solution-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(34px, 3.2vw, 58px);
  line-height: 1.08;
  font-weight: 400;
  color: var(--text);
}

.solution-lead {
  max-width: 860px;
  margin: 0 auto;
  font-size: clamp(17px, 1.15vw, 21px);
  line-height: 1.58;
  color: rgba(31, 31, 31, 0.82);
}

.solution-list-section {
  padding: 12px 0 78px;
}

.solution-item {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.8fr);
  gap: clamp(24px, 3vw, 48px);
  align-items: center;
  margin-bottom: 26px;
  padding: clamp(24px, 2.4vw, 36px);
  border-radius: 30px;
  background:
    radial-gradient(circle at 12% 16%, rgba(176, 138, 66, 0.09), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(250, 247, 242, 0.98) 100%);
  border: 1px solid rgba(176, 138, 66, 0.28);
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.solution-item:hover {
  transform: translateY(-5px);
  border-color: rgba(176, 138, 66, 0.55);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

.solution-item:nth-child(even) {
  grid-template-columns: minmax(360px, 0.8fr) minmax(0, 0.95fr);
}

.solution-item:nth-child(even) .solution-item-content {
  order: 2;
}

.solution-item:nth-child(even) .solution-item-media {
  order: 1;
}

.solution-item-number {
  width: 46px;
  height: 30px;
  margin-bottom: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(115, 10, 38, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.24);
  color: var(--burgundy);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.solution-item h2 {
  margin: 0 0 16px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(25px, 2vw, 38px);
  line-height: 1.14;
  font-weight: 400;
  color: var(--burgundy);
}

.solution-item p {
  max-width: 720px;
  margin: 0 0 24px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.82);
}

.solution-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--burgundy);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(115, 10, 38, 0.18);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.solution-read-more::after {
  content: " →";
  margin-left: 6px;
}

.solution-read-more:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(115, 10, 38, 0.26);
}

.solution-item-media {
  min-height: 280px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(176, 138, 66, 0.24);
  background:
    radial-gradient(circle at 50% 20%, rgba(176, 138, 66, 0.12), transparent 42%),
    #f3eee7;
  display: flex;
  align-items: center;
  justify-content: center;
}

.solution-item-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.solution-item:hover .solution-item-media img {
  transform: scale(1.04);
}

.solution-image-placeholder,
.solution-item-media-placeholder {
  position: relative;
}

.solution-image-placeholder::before,
.solution-item-media-placeholder::before {
  content: "Изображение будет добавлено";
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  text-align: center;
  font-size: 14px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(115, 10, 38, 0.52);
  background:
    radial-gradient(circle at 50% 30%, rgba(176, 138, 66, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 245, 240, 0.92));
}

.solution-image-placeholder img[src],
.solution-item-media-placeholder img[src] {
  position: relative;
  z-index: 2;
}

.solution-image-placeholder img:not([src]),
.solution-item-media-placeholder img:not([src]) {
  display: none;
}

body.dark-mode .solution-image-placeholder::before,
body.dark-mode .solution-item-media-placeholder::before {
  color: rgba(208, 181, 94, 0.72);
  background:
    radial-gradient(circle at 50% 30%, rgba(208, 181, 94, 0.12), transparent 42%),
    linear-gradient(180deg, #141414, #0b0b0b);
}

/* =========================
   DARK MODE: SOLUTION PAGE
========================= */

body.dark-mode .solution-page,
body.dark-mode .solution-hero,
body.dark-mode .solution-list-section {
  background: #050505 !important;
}

body.dark-mode .solution-hero-card,
body.dark-mode .solution-item {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08) 0%, transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.26),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .solution-item:hover {
  border-color: rgba(208, 181, 94, 0.48) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.42),
    0 0 22px rgba(208, 181, 94, 0.08);
}

body.dark-mode .solution-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .solution-kicker::before,
body.dark-mode .solution-kicker::after {
  background: rgb(208, 181, 94) !important;
  opacity: 0.45;
}

body.dark-mode .solution-title {
  color: #ffffff !important;
}

body.dark-mode .solution-lead,
body.dark-mode .solution-item p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .solution-item h2 {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .solution-item-number {
  background: rgba(208, 181, 94, 0.12) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .solution-read-more {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  box-shadow: 0 10px 22px rgba(208, 181, 94, 0.16);
}

body.dark-mode .solution-read-more:hover {
  box-shadow: 0 14px 30px rgba(208, 181, 94, 0.22);
}

body.dark-mode .solution-item-media {
  background:
    radial-gradient(circle at 50% 20%, rgba(208, 181, 94, 0.12), transparent 42%),
    #0b0b0b !important;
  border-color: rgba(208, 181, 94, 0.22) !important;
}

/* =========================
   ADAPTIVE: SOLUTION PAGE
========================= */

@media (max-width: 920px) {
  .solution-shell {
    width: calc(100% - 24px);
  }

  .solution-hero {
    padding: 34px 0 20px;
  }

  .solution-hero-card {
    padding: 30px 22px;
    border-radius: 24px;
  }

  .solution-kicker {
    padding: 0 48px;

  }

  .solution-kicker::before,
  .solution-kicker::after {
    width: 34px;
  }

  .solution-item,
  .solution-item:nth-child(even) {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 22px;
    border-radius: 24px;
  }

  .solution-item:nth-child(even) .solution-item-content,
  .solution-item:nth-child(even) .solution-item-media {
    order: initial;
  }

  .solution-item-media,
  .solution-item-media img {
    min-height: 220px;
  }
}

@media (max-width: 560px) {
  .solution-title {
    font-size: 30px;
  }

  .solution-lead {
    font-size: 16px;
  }

  .solution-item h2 {
    font-size: 24px;
  }

  .solution-item p {
    font-size: 15px;
  }

  .solution-read-more {
    width: 100%;
  }
}

/* =========================
   SOLUTION DETAIL PAGE
========================= */

.solution-detail-page {
  background: #f8f5f0;
}

.solution-detail-hero {
  padding: 46px 0 24px;
}

.solution-detail-hero-card {
  padding: 38px;
  border-radius: 30px;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.12), transparent 40%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(250, 247, 242, 0.98) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.76) inset;
}

.solution-back-link {
  display: inline-flex;
  margin-bottom: 22px;
  color: var(--burgundy);
  text-decoration: none;
  font-size: 15px;
  font-weight: 600;
}

.solution-back-link:hover {
  opacity: 0.75;
}

.solution-detail-title {
  max-width: 980px;
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(34px, 3vw, 54px);
  line-height: 1.08;
  font-weight: 400;
  color: var(--text);
}

.solution-detail-lead {
  max-width: 920px;
  margin: 0;
  font-size: clamp(17px, 1.1vw, 21px);
  line-height: 1.58;
  color: rgba(31, 31, 31, 0.82);
}

.solution-detail-content-section {
  padding: 10px 0 78px;
}

.solution-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 28px;
  align-items: start;
}

.solution-detail-content {
  padding: clamp(26px, 2.4vw, 40px);
  border-radius: 30px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.05),
    0 1px 0 rgba(255, 255, 255, 0.76) inset;
}

.solution-detail-content p {
  margin: 0 0 18px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.7;
  color: rgba(31, 31, 31, 0.84);
}

.solution-detail-content h2 {
  margin: 34px 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(24px, 1.7vw, 34px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--burgundy);
}

.solution-detail-grid-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0 0 24px;
}

.solution-detail-grid-list div {
  padding: 13px 14px;
  border-radius: 14px;
  background: rgba(176, 138, 66, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.18);
  font-size: 15px;
  line-height: 1.35;
  color: rgba(31, 31, 31, 0.84);
}

.solution-detail-list {
  margin: 0 0 24px;
  padding-left: 22px;
}

.solution-detail-list li {
  margin-bottom: 10px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.84);
}

.solution-detail-aside {
  position: sticky;
  top: 90px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.solution-detail-image-card {
  border-radius: 24px;
  overflow: hidden;
  background: #f3eee7;
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.06);
}

.solution-detail-image-card img {
  display: block;
  width: 100%;
  height: auto;
}

.solution-detail-nav {
  padding: 20px;
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(176, 138, 66, 0.24);
}

.solution-detail-nav-title {
  margin-bottom: 12px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.5);
}

.solution-detail-nav a {
  display: block;
  padding: 11px 0;
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 138, 66, 0.16);
  font-size: 15px;
  line-height: 1.35;
}

.solution-detail-nav a:last-child {
  border-bottom: none;
}

.solution-detail-nav a:hover {
  color: var(--burgundy);
}

body.dark-mode .solution-detail-page,
body.dark-mode .solution-detail-hero,
body.dark-mode .solution-detail-content-section {
  background: #050505 !important;
}

body.dark-mode .solution-detail-hero-card,
body.dark-mode .solution-detail-content,
body.dark-mode .solution-detail-nav {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08) 0%, transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, 0.26) !important;
  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.34),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .solution-back-link,
body.dark-mode .solution-detail-content h2,
body.dark-mode .solution-detail-nav a:hover {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .solution-detail-title {
  color: #ffffff !important;
}

body.dark-mode .solution-detail-lead,
body.dark-mode .solution-detail-content p,
body.dark-mode .solution-detail-list li,
body.dark-mode .solution-detail-nav a {
  color: rgba(255, 255, 255, 0.84) !important;
}

body.dark-mode .solution-detail-grid-list div {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
  color: rgba(255, 255, 255, 0.84) !important;
}

body.dark-mode .solution-detail-image-card {
  background: #0b0b0b !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
}

body.dark-mode .solution-detail-nav-title {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .solution-detail-nav a {
  border-bottom-color: rgba(208, 181, 94, 0.16) !important;
}

/* =========================
   ADAPTIVE SOLUTION DETAIL PAGE
========================= */

@media (max-width: 980px) {
  .solution-detail-layout {
    grid-template-columns: 1fr;
  }

  .solution-detail-aside {
    position: static;
  }

  .solution-detail-grid-list {
    grid-template-columns: 1fr;
  }

  .solution-detail-hero-card,
  .solution-detail-content {
    border-radius: 24px;
    padding: 24px 20px;
  }
}

/* =========================
   CONTACTS PAGE
========================= */

.contacts-page {
  background: #f8f5f0;
}

.contacts-hero {
  padding: 56px 0 72px;

}

.contacts-layout {
  width: min(1400px, calc(100% - 40px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(320px, 560px) minmax(320px, 1fr);
  gap: 32px;
  align-items: stretch;
}

.contacts-card,
.contacts-map-card {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  border-radius: 28px;
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.contacts-card {
  padding: 30px 28px 28px;
}

.contacts-head {
  text-align: center;
}

.contacts-kicker {
  display: inline-block;
  position: relative;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

/* линии слева и справа */
.contacts-kicker::before,
.contacts-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.contacts-kicker::before {
  left: 0;
}

.contacts-kicker::after {
  right: 0;
}

.contacts-title {
  margin: 0 0 16px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 2.5vw, 42px);
  line-height: 1.12;

  font-weight: 400;

  color: var(--text);
}

.contacts-line {
  width: 100%;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.22;
  margin-bottom: 22px;
}

.contacts-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.contacts-item {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.contacts-label {
  font-size: 16px;
  line-height: 1.35;
  color: rgba(31, 31, 31, 0.7);
}

.contacts-text {
  font-size: 16px;
  line-height: 1.5;
  color: var(--text);
}

.contacts-link {
  font-size: clamp(18px, 1.15vw, 24px);
  line-height: 1.25;
  color: var(--text);
  text-decoration: none;
}

.contacts-link:hover {
  color: var(--burgundy);
}

.contacts-email {
  color: var(--burgundy);
}

.contacts-map-card {
  padding: 20px;
  display: flex;
  flex-direction: column;
}

.contacts-map-head {
  margin-bottom: 14px;
  text-align: center;

}

.contacts-map-title {
  display: inline-block;
  position: relative;
  text-align: center;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin: 0 auto 16px;
  padding: 0 70px;
}

/* линии слева и справа */
.contacts-map-title::before,
.contacts-map-title::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.contacts-map-title::before {
  left: 0;
}

.contacts-map-title::after {
  right: 0;
}

.contacts-map-frame {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(115, 10, 38, 0.08);
  background: #ece6dd;
}

.contacts-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
}

@media (max-width: 1100px) {
  .contacts-layout {
    grid-template-columns: 1fr;
  }

  .contacts-map-frame {
    min-height: 420px;
  }
}

@media (max-width: 720px) {
  .contacts-hero {
    padding: 32px 0 48px;
  }

  .contacts-layout {
    width: calc(100% - 20px);
    gap: 20px;
  }

  .contacts-card,
  .contacts-map-card {
    border-radius: 22px;
  }

  .contacts-card {
    padding: 22px 18px 20px;
  }

  .contacts-map-card {
    padding: 14px;
  }

  .contacts-title {
    font-size: 28px;
  }

  .contacts-text,
  .contacts-label {
    font-size: 14px;
  }

  .contacts-link {
    font-size: 17px;
  }

  .contacts-map-frame {
    min-height: 340px;
    border-radius: 16px;
  }
}

/* =========================
   ABOUT PAGE
========================= */

.about-page {
  background: #f8f5f0;
}

.about-shell {
  width: min(1540px, calc(100% - 40px));
  margin: 0 auto;
}

.about-hero {
  padding: 46px 0 24px;
}

.about-intro-card {
  padding: 34px 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-align: center;
}

.about-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

.about-kicker::before,
.about-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.about-kicker::before {
  left: 0;
}

.about-kicker::after {
  right: 0;
}

.about-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(16px, 2.7vw, 22px);
  line-height: 1.18;
  font-weight: 400;
  color: var(--text);
}

.about-video-section {
  padding: 0 0 28px;
}

.about-video-card {
  padding: 18px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.about-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border-radius: 20px;
  background: #ddd6cc;
}

.about-video-frame iframe {
  width: 100%;
  height: 100%;
  display: block;
}

.about-content-section {
  padding: 0 0 72px;
}

.about-content-card {
  padding: 36px 36px 18px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.about-block {
  margin-bottom: 42px;
}

.about-block p {
  font-size: clamp(14px, 0.9vw, 18px);
  margin: 6px;
}

.about-block:last-child {
  margin-bottom: 0;
}

.about-section-head {
  text-align: center;
  margin-bottom: 24px;
}

.about-section-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 18px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  padding: 0 70px;
}

.about-section-kicker::before,
.about-section-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.about-section-kicker::before {
  left: 0;
}

.about-section-kicker::after {
  right: 0;
}

.about-top-section {
  padding: 0 0 28px;
}

.about-top-card,
.about-columns-card,
.about-bottom-grid {
  padding: 34px 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.about-top-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1.05fr);
  gap: 28px;
  align-items: center;
}

.about-lead-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.about-top-text p {
  margin: 0 0 14px;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.82);
}

.about-top-video .about-video-frame {
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}

.about-columns-section {
  padding: 0 0 28px;
}

.about-columns-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}

.about-column-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(20px, 2vw, 28px);
  line-height: 1.25;
  font-weight: 400;
  color: var(--text);
}

.about-column p {
  margin: 0;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.82);
}

.about-bottom-section {
  padding: 0 0 72px;
}

.about-bottom-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, 0.9fr);
  gap: 32px;
  align-items: start;
}

.about-accent-line {
  margin: 0 0 10px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(22px, 2.4vw, 34px);
  line-height: 1.2;
  color: var(--text);
}

.about-accent-subline {
  margin: 0 0 24px;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.6;
  color: rgba(31, 31, 31, 0.78);
}

.about-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.about-action-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 15px;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.about-action-btn-primary {
  background: var(--burgundy);
  color: #fff;
  box-shadow: 0 10px 24px rgba(115, 10, 38, 0.18);
}

.about-action-btn-secondary {
  background: rgba(255, 255, 255, 0.92);
  color: var(--burgundy);
  border: 1px solid rgba(115, 10, 38, 0.18);
}

.about-action-btn:hover {
  transform: translateY(-1px);
}

.about-passat-logo-link {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 18px;
  text-decoration: none;
}

.about-passat-logo-frame {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 220px;
  min-height: 72px;
  padding: 14px 18px;
  border-radius: 18px;
  border: 1px solid rgba(176, 138, 66, 0.24);
  background:
    radial-gradient(circle at 50% 30%, rgba(176, 138, 66, 0.16), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(243, 238, 231, 0.95));
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
}

.about-passat-logo {
  display: block;
  width: min(220px, 100%);
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.about-passat-link {
  display: inline-block;
  margin-top: 14px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: var(--burgundy);
  text-decoration: none;
}

.about-passat-link:hover {
  text-decoration: underline;
}

.about-bottom-holding p {
  margin: 0;
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.82);
}

@media (max-width: 1100px) {
  .about-top-grid,
  .about-bottom-grid,
  .about-columns-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .about-top-card,
  .about-columns-card,
  .about-bottom-grid {
    padding: 24px 20px;
  }

  .about-actions {
    flex-direction: column;
  }

  .about-action-btn {
    width: 100%;
  }
}

.about-text-group p {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.9);
}

.about-text-group p:last-child {
  margin-bottom: 0px;
}

.about-list {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.about-list li {
  position: relative;
  padding-left: 22px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(31, 31, 31, 0.9);
}

.about-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--burgundy);
  opacity: 0.8;
}

@media (max-width: 920px) {
  .about-hero {
    padding: 32px 0 20px;
  }

  .about-intro-card,
  .about-content-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .about-video-card {
    padding: 12px;
    border-radius: 22px;
  }

  .about-video-frame {
    border-radius: 16px;
  }

  .about-title {
    font-size: 30px;
  }

  .about-text-group p,
  .about-list li {
    font-size: 12px;
  }

  .about-block {
    margin-bottom: 34px;
  }
}

@media (max-width: 560px) {
  .about-shell {
    width: calc(100% - 20px);
  }

  .about-kicker,
  .about-section-kicker {
    padding: 0 48px;
  }

  .about-kicker::before,
  .about-kicker::after,
  .about-section-kicker::before,
  .about-section-kicker::after {
    width: 36px;
  }

  .about-title {
    font-size: 12px;
    line-height: 1.2;
  }

  .about-content-section {
    padding-bottom: 48px;
  }
}

/* =========================
   SOLUTIONS PAGE
========================= */

.solutions-page {
  background: #f8f5f0;
}

.solutions-shell {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
}

.solutions-hero {
  padding: 46px 0 24px;
}

.solutions-intro-card {
  padding: 34px 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-align: center;
}

.solutions-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

.solutions-kicker::before,
.solutions-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.solutions-kicker::before {
  left: 0;
}

.solutions-kicker::after {
  right: 0;
}

.solutions-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(30px, 2.7vw, 46px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.solutions-intro-text {
  max-width: 980px;
  margin: 0 auto 14px;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.9);
}

.solutions-intro-text:last-child {
  margin-bottom: 0;
}

.solutions-content-section {
  padding: 0 0 72px;
}

.solutions-content-card {
  padding: 36px 36px 18px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.solutions-block {
  margin-bottom: 42px;
}

.solutions-block:last-child {
  margin-bottom: 0;
}

.solutions-section-head {
  text-align: center;
  margin-bottom: 24px;
}

.solutions-section-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  padding: 0 70px;
}

.solutions-section-kicker::before,
.solutions-section-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.solutions-section-kicker::before {
  left: 0;
}

.solutions-section-kicker::after {
  right: 0;
}

.solutions-lead-text p,
.solutions-text-group p {
  margin: 0 0 16px;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.9);
}

.solutions-lead-text p:last-child,
.solutions-text-group p:last-child {
  margin-bottom: 0;
}

.solutions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-bottom: 42px;
}

.solution-card {
  padding: 28px 24px 22px;
  border-radius: 24px;
  border: 1px solid rgba(115, 10, 38, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 247, 242, 0.96) 100%);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.solution-card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.solution-card-title {
  margin: 0 0 12px;
  font-family: "MyraidLight", sans-serif;
  color: var(--burgundy);
  font-size: clamp(22px, 1.55vw, 30px);
  line-height: 1.15;
  font-weight: 600;
}

.solution-card-subtitle {
  margin: 0 0 16px;
  font-size: 16px;
  line-height: 1.5;
  color: rgba(31, 31, 31, 0.75);
}

.solution-card p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(31, 31, 31, 0.9);
}

.solution-card p:last-child {
  margin-bottom: 0;
}

.solution-list {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}

.solution-list li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 20px;
  font-size: 16px;
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.9);
}

.solution-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--burgundy);
  opacity: 0.8;
}

.solutions-cta {
  margin-top: 8px;
}

.solutions-cta-card {
  padding: 30px 28px;
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 247, 242, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.12);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-align: center;
}

.solutions-cta-title {
  margin: 0 0 14px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(26px, 2vw, 36px);
  line-height: 1.18;
  font-weight: 400;
  color: var(--text);
}

.solutions-cta-text {
  max-width: 760px;
  margin: 0 auto 20px;
  font-size: 17px;
  line-height: 1.6;
  color: rgba(31, 31, 31, 0.82);
}

.solutions-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 999px;
  background: var(--burgundy);
  color: #ffffff;
  text-decoration: none;
  font-family: "MyraidLight", sans-serif;
  font-size: 15px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(115, 10, 38, 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.solutions-cta-btn:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 24px rgba(115, 10, 38, 0.24);
}

@media (max-width: 920px) {
  .solutions-hero {
    padding: 32px 0 20px;
  }

  .solutions-intro-card,
  .solutions-content-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .solutions-title {
    font-size: 30px;
  }

  .solutions-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .solution-card {
    padding: 22px 18px 18px;
    border-radius: 20px;
  }

  .solutions-lead-text p,
  .solutions-text-group p,
  .solution-card p,
  .solution-list li {
    font-size: 15px;
  }

  .solutions-block {
    margin-bottom: 34px;
  }
}

@media (max-width: 560px) {
  .solutions-shell {
    width: calc(100% - 20px);
  }

  .solutions-kicker,
  .solutions-section-kicker {
    padding: 0 48px;
  }

  .solutions-kicker::before,
  .solutions-kicker::after,
  .solutions-section-kicker::before,
  .solutions-section-kicker::after {
    width: 36px;
  }

  .solutions-title {
    font-size: 26px;
    line-height: 1.2;
  }

  .solutions-content-section {
    padding-bottom: 48px;
  }
}

/* =========================
   EQUIPMENT PAGE
========================= */

.equipment-page {
  background: #f8f5f0;
}

.equipment-shell {
  width: min(1360px, calc(100% - 40px));
  margin: 0 auto;
}

.equipment-hero {
  padding: 46px 0 24px;
}

.equipment-intro-card {
  padding: 34px 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-align: center;
}

.equipment-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

.equipment-kicker::before,
.equipment-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.equipment-kicker::before {
  left: 0;
}

.equipment-kicker::after {
  right: 0;
}

.equipment-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(30px, 2.7vw, 46px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.equipment-intro-text {
  max-width: 980px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.9);
}

.equipment-grid-section {
  padding: 0 0 72px;
}

.equipment-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.equipment-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid rgba(115, 10, 38, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 247, 242, 0.96) 100%);
  text-decoration: none;
  color: inherit;
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.equipment-card:hover {
  transform: translateY(-6px);
  border-color: rgba(115, 10, 38, 0.22);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.equipment-card-media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  padding: 20px 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 28%, rgba(176, 138, 66, 0.14), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(243, 238, 231, 0.96));
  border-bottom: 1px solid rgba(115, 10, 38, 0.08);
}

.equipment-card-image {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  background: transparent;
}

.equipment-card-body {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px 20px 20px;
}

.equipment-card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 42px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.equipment-card-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  color: var(--burgundy);
  font-size: clamp(20px, 1.45vw, 28px);
  line-height: 1.18;
  font-weight: 600;
}

.equipment-card-text {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.84);
}

@media (max-width: 1180px) {
  .equipment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .equipment-shell {
    width: calc(100% - 20px);
  }

  .equipment-hero {
    padding: 32px 0 20px;
  }

  .equipment-intro-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .equipment-title {
    font-size: 28px;
  }

  .equipment-intro-text {
    font-size: 15px;
  }

  .equipment-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .equipment-card {
    border-radius: 20px;
  }

  .equipment-card-body {
    padding: 18px 16px;
  }

  .equipment-card-title {
    font-size: 22px;
  }

  .equipment-card-text {
    font-size: 14px;
  }
}

/* =========================
   SERVICES PAGE
========================= */

.services-page {
  background: #f8f5f0;
}

.services-shell {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
}

.services-hero {
  padding: 46px 0 24px;
}

.services-intro-card {
  padding: 34px 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-align: center;
}

.services-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

.services-kicker::before,
.services-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.services-kicker::before {
  left: 0;
}

.services-kicker::after {
  right: 0;
}

.services-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(30px, 2.7vw, 46px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.services-intro-text {
  max-width: 960px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.9);
}

.services-grid-section {
  padding: 0 0 72px;
}

.services-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.services-card {
  display: block;
  text-decoration: none;
  color: inherit;
}

.services-card-body {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 28px 24px 22px;
  border-radius: 24px;
  border: 1px solid rgba(115, 10, 38, 0.12);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 247, 242, 0.96) 100%);
  box-shadow:
    0 8px 24px rgba(0, 0, 0, 0.04),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease;
}

.services-card:hover .services-card-body {
  transform: translateY(-6px);
  border-color: rgba(115, 10, 38, 0.22);
  box-shadow:
    0 16px 34px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.services-card-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-width: 42px;
  height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  margin-bottom: 16px;
}

.services-card-title {
  margin: 0 0 14px;
  font-family: "MyraidLight", sans-serif;
  color: var(--burgundy);
  font-size: clamp(24px, 1.55vw, 32px);
  line-height: 1.15;
  font-weight: 600;
}

.services-card-text {
  margin: 0 0 20px;
  font-size: 16px;
  line-height: 1.6;
  color: rgba(31, 31, 31, 0.84);
}

.services-card-link {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--burgundy);
  font-size: 15px;
  font-weight: 600;
}

.services-card-link::after {
  content: "→";
  transition: transform 0.25s ease;
}

.services-card:hover .services-card-link::after {
  transform: translateX(4px);
}

@media (max-width: 920px) {
  .services-hero {
    padding: 32px 0 20px;
  }

  .services-intro-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .services-title {
    font-size: 30px;
  }

  .services-intro-text,
  .services-card-text {
    font-size: 15px;
  }

  .services-grid {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .services-card-body {
    padding: 22px 18px 18px;
    border-radius: 20px;
  }
}

@media (max-width: 560px) {
  .services-shell {
    width: calc(100% - 20px);
  }

  .services-kicker {
    padding: 0 48px;
  }

  .services-kicker::before,
  .services-kicker::after {
    width: 36px;
  }

  .services-title {
    font-size: 26px;
    line-height: 1.2;
  }

  .services-grid-section {
    padding-bottom: 48px;
  }
}

/* =========================
   PROJECTS PAGE
========================= */

.projects-page {
  background: #f8f5f0;
}

.projects-shell {
  width: min(1280px, calc(100% - 40px));
  margin: 0 auto;
}

.projects-hero {
  padding: 46px 0 24px;
}

.projects-intro-card {
  padding: 34px 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
  text-align: center;
}

.projects-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 16px;
  padding: 0 70px;
}

.projects-kicker::before,
.projects-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.projects-kicker::before {
  left: 0;
}

.projects-kicker::after {
  right: 0;
}

.projects-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(30px, 2.7vw, 46px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.projects-intro-text {
  max-width: 980px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.65;
  color: rgba(31, 31, 31, 0.9);
}

.projects-content-section {
  padding: 0 0 72px;
}

.projects-content-card {
  padding: 36px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96) 0%, rgba(248, 245, 240, 0.96) 100%);
  border: 1px solid rgba(115, 10, 38, 0.1);
  box-shadow:
    0 16px 36px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.7) inset;
}

.projects-years-head {
  text-align: center;
  margin-bottom: 22px;
}

.projects-section-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  padding: 0 70px;
}

.projects-section-kicker::before,
.projects-section-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.projects-section-kicker::before {
  left: 0;
}

.projects-section-kicker::after {
  right: 0;
}

.projects-years-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin-bottom: 28px;
}

.projects-year-btn {
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(115, 10, 38, 0.12);
  background: #ffffff;
  color: var(--text);
  font-family: "MyraidLight", sans-serif;
  font-size: 15px;
  cursor: pointer;
  transition: 0.25s ease;
}

.projects-year-btn:hover,
.projects-year-btn.active {
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  border-color: rgba(115, 10, 38, 0.22);
}

.projects-year-title {
  margin: 0 0 22px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 2.1vw, 38px);
  line-height: 1.1;
  color: var(--burgundy);
  text-align: center;
}

.projects-year-items {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.project-item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  padding: 18px 20px;
  border-radius: 20px;
  border: 1px solid rgba(115, 10, 38, 0.08);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(250, 247, 242, 0.96) 100%);
}

.project-date {
  font-size: 15px;
  line-height: 1.4;
  color: var(--burgundy);
  font-weight: 600;
}

.project-name {
  margin: 0 0 8px;
  font-family: "MyraidLight", sans-serif;
  font-size: 20px;
  line-height: 1.3;
  font-weight: 600;
  color: var(--text);
}

.project-customer {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(31, 31, 31, 0.78);
}

@media (max-width: 920px) {
  .projects-hero {
    padding: 32px 0 20px;
  }

  .projects-intro-card,
  .projects-content-card {
    padding: 24px 20px;
    border-radius: 22px;
  }

  .projects-title {
    font-size: 30px;
  }

  .projects-intro-text {
    font-size: 15px;
  }

  .project-item {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 16px;
    border-radius: 18px;
  }

  .project-name {
    font-size: 18px;
  }

  .project-customer,
  .project-date {
    font-size: 14px;
  }
}

@media (max-width: 560px) {
  .projects-shell {
    width: calc(100% - 20px);
  }

  .projects-kicker,
  .projects-section-kicker {
    padding: 0 48px;
  }

  .projects-kicker::before,
  .projects-kicker::after,
  .projects-section-kicker::before,
  .projects-section-kicker::after {
    width: 36px;
  }

  .projects-title {
    font-size: 26px;
    line-height: 1.2;
  }

  .projects-content-section {
    padding-bottom: 48px;
  }
}

/* =========================
   NEWS PAGE
========================= */

.news-page {
  background: #f8f5f0;
}

.news-shell {
  width: min(1500px, calc(100% - 56px));
  margin: 0 auto;
}

.news-hero {
  padding: 48px 0 24px;
}

.news-intro-card {
  padding: clamp(34px, 4vw, 58px);
  border-radius: 34px;
  text-align: center;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 242, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

.news-kicker,
.news-section-kicker {
  display: inline-block;
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(176, 138, 66, 0.95);
}

.news-title {
  margin: 0 auto 18px;
  max-width: 900px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(38px, 4vw, 68px);
  line-height: 1.06;
  font-weight: 400;
  color: var(--text);
}

.news-intro-text {
  max-width: 940px;
  margin: 0 auto;
  font-size: clamp(16px, 1.1vw, 20px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.74);
}

.news-list-section {
  padding: 10px 0 84px;
}

.news-content-card {
  padding: clamp(26px, 3vw, 42px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 10% 12%, rgba(176, 138, 66, 0.08), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 247, 242, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.76) inset;
}

.news-section-head {
  text-align: center;
  margin-bottom: 24px;
}

.news-years-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 30px;
}

.news-year-btn {
  min-height: 38px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid rgba(115, 10, 38, 0.18);
  background: rgba(255, 255, 255, 0.72);
  color: #730a26;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.22s ease;
}

.news-year-btn:hover,
.news-year-btn.active {
  background: #730a26;
  color: #fff;
  border-color: #730a26;
  box-shadow: 0 12px 28px rgba(115, 10, 38, 0.16);
}

.news-page-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.news-page-card {
  min-height: 260px;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(176, 138, 66, 0.10), transparent 38%),
    rgba(255, 255, 255, 0.78);
  border: 1px solid rgba(176, 138, 66, 0.22);
  color: inherit;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.04);
  transition: 0.25s ease;
}

.news-page-card:hover {
  transform: translateY(-4px);
  box-shadow:
    0 18px 40px rgba(115, 10, 38, 0.10),
    0 0 0 1px rgba(115, 10, 38, 0.08);
}

.news-page-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.news-page-date {
  color: rgba(31, 31, 31, 0.56);
  font-size: 13px;
  font-weight: 600;
}

.news-page-category {
  min-height: 26px;
  padding: 0 10px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  background: rgba(115, 10, 38, 0.07);
  color: #730a26;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.news-page-card-title {
  margin: 0 0 14px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(22px, 1.45vw, 28px);
  line-height: 1.14;
  font-weight: 400;
  color: #730a26;
}

.news-page-card-text {
  margin: 0 0 22px;
  font-size: 15px;
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.72);
}

.news-page-card-more {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  color: #730a26;
  font-size: 14px;
  font-weight: 800;
  text-decoration: none;
}

.news-page-card-more::after {
  content: "→";
  margin-left: 10px;
}

.news-empty-state,
.home-news-empty {
  padding: 20px;
  border-radius: 20px;
  text-align: center;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(176, 138, 66, 0.22);
  color: rgba(31, 31, 31, 0.68);
}

@media (max-width: 1100px) {
  .news-page-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .news-shell {
    width: calc(100% - 20px);
  }

  .news-page-grid {
    grid-template-columns: 1fr;
  }
}

.news-detail-page {
  background: #f8f5f0;
}

.news-detail-hero {
  padding: 48px 0 72px;
}

.news-detail-back {
  display: inline-block;
  margin-bottom: 18px;
  color: var(--burgundy);
  text-decoration: none;
  font-size: 15px;
}

.news-detail-back:hover {
  text-decoration: underline;
}

.news-detail-card {
  padding: clamp(28px, 4vw, 48px);
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 242, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.07),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

.news-detail-top {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  margin-bottom: 18px;
}

.news-detail-title {
  margin: 0 0 24px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 3.4vw, 44px);
  line-height: 1.15;
  font-weight: 400;
  color: var(--text);
}

.news-detail-content p,
.news-detail-content li {
  font-size: clamp(15px, 1vw, 18px);
  line-height: 1.7;
  color: rgba(31, 31, 31, 0.88);
}

.news-detail-content p {
  margin: 0 0 16px;
}

.news-detail-content h2 {
  margin: 28px 0 14px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.25;
  font-weight: 400;
  color: var(--text);
}

.news-detail-content blockquote {
  margin: 24px 0;
  padding: 18px 22px;
  border-left: 4px solid var(--burgundy);
  background: rgba(115, 10, 38, 0.05);
  border-radius: 0 16px 16px 0;
  font-style: italic;
}

.news-detail-content ul {
  margin: 0 0 18px;
  padding-left: 22px;
}

.news-detail-content li {
  margin-bottom: 8px;
}

.news-detail-image {
  margin: 24px 0;
}

.news-detail-image img {
  display: block;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  border-radius: 20px;
}

.news-detail-loading,
.news-empty-state {
  font-size: 16px;
  color: rgba(31, 31, 31, 0.65);
}

/* =========================
   DARK MODE: HOME NEWS
========================= */

body.dark-mode .home-news-panel {
  background:
    radial-gradient(circle at 20% 0%, rgba(208, 181, 94, 0.13), transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.34),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .home-news-panel::before {
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(208, 181, 94, 0.20) 24%,
      transparent 46%);
}

body.dark-mode .home-news-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .home-news-kicker::before,
body.dark-mode .home-news-kicker::after,
body.dark-mode .home-news-line {
  background: rgb(208, 181, 94) !important;
  opacity: 0.42 !important;
}

body.dark-mode .home-news-title {
  color: #ffffff !important;
}

body.dark-mode .news-preview-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(208, 181, 94, 0.12), transparent 38%),
    rgba(10, 10, 10, 0.72) !important;
  border-color: rgba(208, 181, 94, 0.20) !important;
  box-shadow:
    0 14px 32px rgba(0, 0, 0, 0.26),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .news-preview-card::before {
  background: linear-gradient(180deg,
      rgb(208, 181, 94),
      rgba(208, 181, 94, 0.22));
}

body.dark-mode .news-preview-card:hover {
  border-color: rgba(208, 181, 94, 0.34) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.42),
    0 0 24px rgba(208, 181, 94, 0.08);
}

body.dark-mode .news-preview-category {
  background: rgba(208, 181, 94, 0.12) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .news-preview-date {
  color: rgba(255, 255, 255, 0.52) !important;
}

body.dark-mode .news-preview-card-title {
  color: #ffffff !important;
}

body.dark-mode .news-preview-excerpt {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.dark-mode .news-preview-link {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .home-news-more {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  box-shadow:
    0 0 24px rgba(208, 181, 94, 0.20),
    0 14px 28px rgba(0, 0, 0, 0.32);
}

body.dark-mode .home-news-more:hover {
  background: #f0d98a !important;
  box-shadow:
    0 0 34px rgba(208, 181, 94, 0.30),
    0 18px 36px rgba(0, 0, 0, 0.42);
}

/* =========================
   NEWS PAGE DARK
========================= */

body.dark-mode .news-page,
body.dark-mode .news-hero,
body.dark-mode .news-list-section {
  background: #050505 !important;
}

body.dark-mode .news-intro-card,
body.dark-mode .news-content-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #090909 0%, #050505 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.36),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .news-title {
  color: #fff !important;
}

body.dark-mode .news-kicker,
body.dark-mode .news-section-kicker {
  color: rgba(208, 181, 94, 0.86) !important;
}

body.dark-mode .news-intro-text {
  color: rgba(255, 255, 255, 0.76) !important;
}

body.dark-mode .news-year-btn {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .news-year-btn:hover,
body.dark-mode .news-year-btn.active {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  border-color: rgb(208, 181, 94) !important;
  box-shadow: 0 0 24px rgba(208, 181, 94, 0.18);
}

body.dark-mode .news-page-card {
  background:
    radial-gradient(circle at 100% 0%, rgba(208, 181, 94, 0.12), transparent 38%),
    rgba(10, 10, 10, 0.72) !important;
  border-color: rgba(208, 181, 94, 0.22) !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.26);
}

body.dark-mode .news-page-card:hover {
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.42),
    0 0 26px rgba(208, 181, 94, 0.10);
}

body.dark-mode .news-page-date,
body.dark-mode .news-page-card-title,
body.dark-mode .news-page-card-more {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .news-page-category {
  background: rgba(208, 181, 94, 0.10) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .news-page-card-text {
  color: rgba(255, 255, 255, 0.74) !important;
}

body.dark-mode .news-empty-state,
body.dark-mode .home-news-empty {
  background: rgba(10, 10, 10, 0.72) !important;
  border-color: rgba(208, 181, 94, 0.22) !important;
  color: rgba(255, 255, 255, 0.74) !important;
}

/* THEME BUTTON */

.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  height: 36px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(115, 10, 38, 0.18);
  background: #ffffff;
  color: var(--burgundy);
  cursor: pointer;
  transition: 0.25s ease;
}

.theme-toggle:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.08);
}

.theme-icon {
  font-size: 14px;
  line-height: 1;
}

body.dark-mode {
  background: #050505 !important;
  color: #ffffff;
}

body.dark-mode #site-header,
body.dark-mode .mobile-menu {
  background: #080808 !important;
  border-color: rgba(255, 255, 255, 0.12);
}

body.dark-mode .home-main-shell,
body.dark-mode .mine-map-section,
body.dark-mode .directions-section,
body.dark-mode .home-bottom-section,
body.dark-mode #site-footer {
  background: #050505 !important;
}

body.dark-mode .nav-link,
body.dark-mode .mobile-nav-link,
body.dark-mode .directions-title,
body.dark-mode .map-title-main,
body.dark-mode .footer-contact-link,
body.dark-mode .footer-contact-text {
  color: #f4f4f4 !important;
}

body.dark-mode .theme-toggle {
  background: #151515;
  border-color: rgba(176, 138, 66, 0.38);
  color: #d8aa4d;
}

/* =========================
 DARK MODE COLOR REMAP
========================= */

body.dark-mode {

  --gold-dark: rgb(208, 181, 94);

  --burgundy: rgb(208, 181, 94);
  /* заменяем burgundy на золото */
  --text: #ffffff;
}

body.dark-mode .logo {
  background: #050505;
  border-radius: 10px;
}

body.dark-mode .home-kpi-icon,
body.dark-mode .cycle-icon {
  color: rgb(208, 181, 94) !important;
  border-color: rgba(208, 181, 94, 0.36) !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(208, 181, 94, 0.2), transparent 48%),
    rgba(208, 181, 94, 0.08) !important;
}

body.dark-mode .home-kpi-number,
body.dark-mode .home-projects-title,
body.dark-mode .home-projects-more {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .home-kpi-text,
body.dark-mode .home-project-body p {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.dark-mode .cycle-text,
body.dark-mode .home-project-body h3 {
  color: #ffffff !important;
}

body.dark-mode .cycle-item,
body.dark-mode .home-project-card {
  background: rgba(208, 181, 94, 0.055) !important;
  border-color: rgba(208, 181, 94, 0.16) !important;
}

body.dark-mode .home-about-panel {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.dark-mode .home-about-label {
  color: rgba(208, 181, 94, 0.78) !important;
  opacity: 1;
}

body.dark-mode .home-about-title {
  color: #ffffff !important;
}

body.dark-mode .home-about-text {
  color: rgba(255, 255, 255, 0.78) !important;
}

body.dark-mode .home-about-text strong,
body.dark-mode .typing-cursor {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .home-primary-top,
body.dark-mode .mine-map-section {
  background: transparent !important;
}

body.dark-mode .footer-contacts-title,
body.dark-mode .footer-contact-label {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .footer-contact-link,
body.dark-mode .footer-contact-text {
  color: rgba(255, 255, 255, 0.88) !important;
}

body.dark-mode .footer-email {
  color: rgb(208, 181, 94) !important;
}

/* ВСЕ ОБЫЧНЫЕ ТЕКСТЫ (были черные) -> белые */

body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode p,
body.dark-mode li,
body.dark-mode .nav-link,
body.dark-mode .mobile-nav-link,
body.dark-mode .direction-link,
body.dark-mode .footer-contact-text,
body.dark-mode .footer-contact-link,
body.dark-mode .contacts-text,
body.dark-mode .contacts-link,
body.dark-mode .about-text-group p,
body.dark-mode .solution-card p,
body.dark-mode .project-name,
body.dark-mode .project-customer {
  color: #ffffff !important;
}


/* ВСЕ БЫЛИ BURGUNDY -> GOLD */

body.dark-mode .header-contact-btn,
body.dark-mode .hero-btn,
body.dark-mode .direction-badge,
body.dark-mode .cooperation-badge,
body.dark-mode .solution-card-badge,
body.dark-mode .equipment-card-badge,
body.dark-mode .services-card-badge,
body.dark-mode .projects-year-btn.active {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
}

/* PROJECTS YEARS BUTTONS — DARK MODE */

body.dark-mode .projects-year-btn {
  background: rgba(208, 181, 94, 0.08) !important;
  color: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(208, 181, 94, 0.28) !important;
  box-shadow:
    0 6px 16px rgba(0, 0, 0, 0.18),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .projects-year-btn:hover {
  background: rgba(208, 181, 94, 0.16) !important;
  color: rgb(208, 181, 94) !important;
  border-color: rgba(208, 181, 94, 0.48) !important;
  transform: translateY(-1px);
}

body.dark-mode .projects-year-btn.active {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  border-color: rgb(208, 181, 94) !important;
  box-shadow:
    0 8px 22px rgba(208, 181, 94, 0.22),
    0 1px 0 rgba(255, 255, 255, 0.12) inset;
}


body.dark-mode .direction-card h3,
body.dark-mode .equipment-card-title,
body.dark-mode .services-card-title,
body.dark-mode .solution-card-title,
body.dark-mode .project-date,
body.dark-mode .footer-email,
body.dark-mode .direction-arrow {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .map-title-top,
body.dark-mode .directions-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}


/* все линии burgundy -> gold */

body.dark-mode .map-title-top::before,
body.dark-mode .map-title-top::after,
body.dark-mode .map-title-main::after,

body.dark-mode .directions-kicker::before,
body.dark-mode .directions-kicker::after,
body.dark-mode .directions-title::after,

body.dark-mode .contacts-kicker::before,
body.dark-mode .contacts-kicker::after,
body.dark-mode .contacts-map-title::before,
body.dark-mode .contacts-map-title::after,
body.dark-mode .contacts-line {
  background: rgb(208, 181, 94) !important;
  opacity: .45;
}

body.dark-mode .about-top-text p,
body.dark-mode .about-column p,
body.dark-mode .about-accent-subline,
body.dark-mode .about-bottom-holding p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .about-lead-title,
body.dark-mode .about-column-title,
body.dark-mode .about-accent-line {
  color: #ffffff !important;
}

body.dark-mode .about-passat-link {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .about-passat-logo-frame {
  background:
    radial-gradient(circle at 50% 30%, rgba(208, 181, 94, 0.10), transparent 44%),
    linear-gradient(180deg, #151515, #090909) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 24px 54px rgba(0, 0, 0, 0.38),
    0 0 28px rgba(208, 181, 94, 0.08);
}

body.dark-mode .about-action-btn-primary {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  box-shadow: 0 10px 24px rgba(208, 181, 94, 0.22) !important;
}

body.dark-mode .about-action-btn-secondary {
  background: rgba(208, 181, 94, 0.08) !important;
  color: rgba(255, 255, 255, 0.82) !important;
  border: 1px solid rgba(208, 181, 94, 0.28) !important;
}

body.dark-mode .about-action-btn-secondary:hover {
  background: rgba(208, 181, 94, 0.16) !important;
  color: rgb(208, 181, 94) !important;
  border-color: rgba(208, 181, 94, 0.48) !important;
}

body.dark-mode .about-action-btn-primary:hover,
body.dark-mode .about-action-btn-secondary:hover {
  box-shadow: 0 8px 22px rgba(208, 181, 94, 0.22) !important;
}

body.dark-mode .solutions-kicker::before,
body.dark-mode .solutions-kicker::after,
body.dark-mode .solutions-section-kicker::before,
body.dark-mode .solutions-section-kicker::after,

body.dark-mode .about-kicker::before,
body.dark-mode .about-kicker::after,
body.dark-mode .about-section-kicker::before,
body.dark-mode .about-section-kicker::after,

body.dark-mode .equipment-kicker::before,
body.dark-mode .equipment-kicker::after,

body.dark-mode .services-kicker::before,
body.dark-mode .services-kicker::after,

body.dark-mode .projects-kicker::before,
body.dark-mode .projects-kicker::after,
body.dark-mode .projects-section-kicker::before,
body.dark-mode .projects-section-kicker::after,

body.dark-mode .news-kicker::before,
body.dark-mode .news-kicker::after,
body.dark-mode .news-section-kicker::before,
body.dark-mode .news-section-kicker::after,

body.dark-mode .footer-contacts-line,
body.dark-mode .contacts-line,
body.dark-mode .contacts-kicker::before,
body.dark-mode .contacts-kicker::after {
  background: rgb(208, 181, 94) !important;
  opacity: .45 !important;
}

/* все подписи/kicker в dark mode -> gold */

body.dark-mode .map-title-top,
body.dark-mode .directions-kicker,
body.dark-mode .footer-contacts-title,
body.dark-mode .footer-contact-label,
body.dark-mode .contacts-kicker,
body.dark-mode .contacts-map-title,
body.dark-mode .about-kicker,
body.dark-mode .about-section-kicker,
body.dark-mode .solutions-kicker,
body.dark-mode .solutions-section-kicker,
body.dark-mode .equipment-kicker,
body.dark-mode .services-kicker,
body.dark-mode .projects-kicker,
body.dark-mode .projects-section-kicker,
body.dark-mode .news-kicker,
body.dark-mode .news-section-kicker,
body.dark-mode .home-about-label,
body.dark-mode .contacts-label,
body.dark-mode .contacts-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}

/* hover */

body.dark-mode .header-contact-btn:hover,
body.dark-mode .hero-btn:hover {
  box-shadow:
    0 8px 22px rgba(208, 181, 94, .22);
}


body.dark-mode,
body.dark-mode main,
body.dark-mode .contacts-page,
body.dark-mode .about-page,
body.dark-mode .solutions-page,
body.dark-mode .equipment-page,
body.dark-mode .services-page,
body.dark-mode .projects-page,
body.dark-mode .news-page,
body.dark-mode .contacts-hero,
body.dark-mode .about-hero,
body.dark-mode .solutions-hero,
body.dark-mode .equipment-hero,
body.dark-mode .services-hero,
body.dark-mode .projects-hero,
body.dark-mode .news-hero,
body.dark-mode .about-content-section,
body.dark-mode .about-top-section,
body.dark-mode .about-columns-section,
body.dark-mode .about-bottom-section,
body.dark-mode .solutions-content-section,
body.dark-mode .equipment-grid-section,
body.dark-mode .services-grid-section,
body.dark-mode .projects-content-section,
body.dark-mode .news-list-section {
  background: #050505 !important;
}

body.dark-mode .contacts-card,
body.dark-mode .contacts-map-card,
body.dark-mode .about-intro-card,
body.dark-mode .about-top-card,
body.dark-mode .about-columns-card,
body.dark-mode .about-bottom-grid,
body.dark-mode .about-video-card,
body.dark-mode .about-content-card,
body.dark-mode .solutions-intro-card,
body.dark-mode .solutions-content-card,
body.dark-mode .solution-card,
body.dark-mode .solutions-cta-card,
body.dark-mode .equipment-intro-card,
body.dark-mode .equipment-card,
body.dark-mode .home-kpi-card,
body.dark-mode .home-projects-panel,
body.dark-mode .home-cycle-panel,
body.dark-mode .services-intro-card,
body.dark-mode .services-card-body,
body.dark-mode .projects-intro-card,
body.dark-mode .projects-content-card,
body.dark-mode .project-item,
body.dark-mode .news-intro-card,
body.dark-mode .news-content-card,
body.dark-mode .news-page-card {
  background: linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, .24) !important;
  box-shadow:
    0 20px 52px rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.045) inset !important;
}


body.dark-mode .contacts-kicker::before,
body.dark-mode .contacts-kicker::after,
body.dark-mode .contacts-map-title::before,
body.dark-mode .contacts-map-title::after,
body.dark-mode .about-kicker::before,
body.dark-mode .about-kicker::after,
body.dark-mode .about-section-kicker::before,
body.dark-mode .about-section-kicker::after,
body.dark-mode .solutions-kicker::before,
body.dark-mode .solutions-kicker::after,
body.dark-mode .solutions-section-kicker::before,
body.dark-mode .solutions-section-kicker::after,
body.dark-mode .equipment-kicker::before,
body.dark-mode .equipment-kicker::after,
body.dark-mode .services-kicker::before,
body.dark-mode .services-kicker::after,
body.dark-mode .projects-kicker::before,
body.dark-mode .projects-kicker::after,
body.dark-mode .projects-section-kicker::before,
body.dark-mode .projects-section-kicker::after,
body.dark-mode .news-kicker::before,
body.dark-mode .news-kicker::after,
body.dark-mode .news-section-kicker::before,
body.dark-mode .news-section-kicker::after {
  background: rgb(208, 181, 94) !important;
  opacity: .45;
}

/* =========================
   GEOGRAPHY IMAGE — STATIC, NOT CLICKABLE
========================= */

.cooperation-image-btn {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: default !important;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none !important;
}

.cooperation-image-btn .cooperation-image,
.cooperation-image {
  transform: none !important;
  opacity: 1 !important;
}

.cooperation-image-btn:hover .cooperation-image {
  transform: none !important;
  opacity: 1 !important;
}

.image-modal {
  display: none !important;
}

body.modal-open {
  overflow: auto !important;
}

/* DARK MODE */

/* DARK MODE */

body.dark-mode .image-modal-img {
  background: #0b0b0b;
  border: 1px solid rgba(208, 181, 94, 0.28);
}

body.dark-mode .submenu {
  background: #1f1f1f;
  border: 1px solid rgba(208, 181, 94, 0.28) !important;
}

body.dark-mode .submenu-link:hover,
body.dark-mode .submenu-link.active {
  background: rgba(255, 255, 255, 0.06);
}

body.dark-mode .submenu-link:hover,
body.dark-mode .submenu-link.active,
body.dark-mode .nav-item:hover>.nav-link {
  color: rgb(208, 181, 94) !important;
}

/* MOBILE */

@media (max-width: 720px) {
  .image-modal {
    padding: 18px;
  }

  .image-modal-img {
    max-width: 96vw;
    max-height: 82vh;
    padding: 12px;
    border-radius: 18px;
  }

  .image-modal-close {
    top: 14px;
    right: 14px;
    width: 40px;
    height: 40px;
    font-size: 28px;
  }

}

/* =========================
   FEATURE ROWS FOR SERVICES / SOLUTIONS
========================= */

.feature-list-section {
  padding: 18px 0 78px;
}

.feature-row {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(340px, 0.78fr);
  gap: clamp(24px, 3vw, 46px);
  align-items: center;
  margin-bottom: 26px;
  padding: clamp(24px, 2.4vw, 36px);
  border-radius: 30px;
  background:
    radial-gradient(circle at 12% 16%, rgba(176, 138, 66, 0.09), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97) 0%, rgba(250, 247, 242, 0.98) 100%);
  border: 1px solid rgba(176, 138, 66, 0.28);
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.feature-row:hover {
  transform: translateY(-5px);
  border-color: rgba(176, 138, 66, 0.55);
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

.feature-row-number {
  width: 46px;
  height: 30px;
  margin-bottom: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(115, 10, 38, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.24);
  color: var(--burgundy);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.feature-row-content h2 {
  margin: 0 0 16px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(25px, 2vw, 38px);
  line-height: 1.14;
  font-weight: 400;
  color: var(--burgundy);
}

.feature-row-content p {
  max-width: 760px;
  margin: 0 0 24px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.82);
}

.feature-row-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 20px;
  border-radius: 999px;
  background: var(--burgundy);
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(115, 10, 38, 0.18);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.feature-row-link::after {
  content: " →";
  margin-left: 6px;
}

.feature-row-link:hover {
  transform: translateY(-2px);
  color: #fff;
  box-shadow: 0 12px 26px rgba(115, 10, 38, 0.26);
}

.feature-row-media {
  position: relative;
  min-height: 280px;
  border-radius: 24px;
  overflow: hidden;
  border: 1px solid rgba(176, 138, 66, 0.24);
  background:
    radial-gradient(circle at 50% 30%, rgba(176, 138, 66, 0.14), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(243, 238, 231, 0.92));
  display: flex;
  align-items: center;
  justify-content: center;
}

.feature-row-media span {
  padding: 24px;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(115, 10, 38, 0.48);
}

.feature-row-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 280px;
  object-fit: cover;
  transition: transform 0.45s ease;
}

.feature-row:hover .feature-row-media img {
  transform: scale(1.04);
}

body.dark-mode .feature-list-section {
  background: #050505 !important;
}

body.dark-mode .feature-row {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08) 0%, transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
  box-shadow:
    0 12px 34px rgba(0, 0, 0, 0.26),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .feature-row:hover {
  border-color: rgba(208, 181, 94, 0.48) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.42),
    0 0 22px rgba(208, 181, 94, 0.08);
}

body.dark-mode .feature-row-number {
  background: rgba(208, 181, 94, 0.12) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .feature-row-content h2 {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .feature-row-content p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .feature-row-link {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  box-shadow: 0 10px 22px rgba(208, 181, 94, 0.16);
}

body.dark-mode .feature-row-link:hover {
  color: #050505 !important;
  box-shadow: 0 14px 30px rgba(208, 181, 94, 0.22);
}

body.dark-mode .feature-row-media {
  background:
    radial-gradient(circle at 50% 30%, rgba(208, 181, 94, 0.12), transparent 44%),
    linear-gradient(180deg, #141414, #0b0b0b) !important;
  border-color: rgba(208, 181, 94, 0.22) !important;
}

body.dark-mode .feature-row-media span {
  color: rgba(208, 181, 94, 0.72) !important;
}

@media (max-width: 920px) {
  .feature-row {
    grid-template-columns: 1fr;
    gap: 20px;
    padding: 22px;
    border-radius: 24px;
  }

  .feature-row-media,
  .feature-row-media img {
    min-height: 220px;
  }
}

@media (max-width: 560px) {
  .feature-list-section {
    padding-bottom: 52px;
  }

  .feature-row-content h2 {
    font-size: 24px;
  }

  .feature-row-content p {
    font-size: 15px;
  }

  .feature-row-link {
    width: 100%;
  }
}

/* =========================
   FACTORY DETAIL PAGE
========================= */

.factory-detail-page .solution-detail-content {
  position: relative;
}

.factory-detail-page .solution-detail-content::before {
  content: "";
  position: absolute;
  top: 34px;
  left: 0;
  width: 3px;
  height: 120px;
  border-radius: 999px;
  background: linear-gradient(180deg,
      rgba(115, 10, 38, 0.8),
      rgba(176, 138, 66, 0.38));
}

.factory-image-card {
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.solution-image-placeholder-text {
  position: relative;
  z-index: 2;
  padding: 24px;
  text-align: center;
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(115, 10, 38, 0.52);
}

.factory-side-card {
  padding: 22px 20px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 12%, rgba(176, 138, 66, 0.10), transparent 42%),
    rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow:
    0 12px 28px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
}

.factory-side-card-title {
  margin-bottom: 14px;
  font-size: 13px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.52);
}

.factory-side-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.factory-side-card li {
  position: relative;
  padding-left: 18px;
  margin-bottom: 11px;
  font-size: 15px;
  line-height: 1.45;
  color: rgba(31, 31, 31, 0.82);
}

.factory-side-card li:last-child {
  margin-bottom: 0;
}

.factory-side-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--burgundy);
  box-shadow: 0 0 0 4px rgba(115, 10, 38, 0.08);
}

.factory-process-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 10px 0 26px;
}

.factory-process-item {
  padding: 18px 16px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(250, 247, 242, 0.96));
  border: 1px solid rgba(176, 138, 66, 0.22);
}

.factory-process-item span {
  display: inline-flex;
  margin-bottom: 12px;
  min-width: 34px;
  height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background: rgba(115, 10, 38, 0.08);
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.factory-process-item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.48;
  color: rgba(31, 31, 31, 0.82);
}

/* DARK MODE */

body.dark-mode .factory-detail-page .solution-detail-content::before {
  background: linear-gradient(180deg,
      rgba(208, 181, 94, 0.9),
      rgba(208, 181, 94, 0.22));
}

body.dark-mode .solution-image-placeholder-text {
  color: rgba(208, 181, 94, 0.72) !important;
}

body.dark-mode .factory-side-card,
body.dark-mode .factory-process-item {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08) 0%, transparent 34%),
    linear-gradient(180deg, #141414 0%, #0b0b0b 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 12px 30px rgba(0, 0, 0, 0.32),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .factory-side-card-title {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .factory-side-card li,
body.dark-mode .factory-process-item p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .factory-side-card li::before {
  background: rgb(208, 181, 94);
  box-shadow: 0 0 0 4px rgba(208, 181, 94, 0.10);
}

body.dark-mode .factory-process-item span {
  background: rgba(208, 181, 94, 0.12) !important;
  color: rgb(208, 181, 94) !important;
}

/* RESPONSIVE */

@media (max-width: 980px) {
  .factory-process-list {
    grid-template-columns: 1fr;
  }

  .factory-detail-page .solution-detail-content::before {
    display: none;
  }

  .factory-image-card {
    min-height: 240px;
  }
}

/*ПО ШИРИНЕ ОКНА*/
.services-shell,
.solutions-shell,
.contacts-layout,
.about-shell,
.dealers-shell,
.solution-shell {
  width: min(1540px, calc(100% - 48px));
}

/* =========================
   EQUIPMENT PRODUCT / STATIONS PAGE
========================= */

.equipment-page {
  background: #f8f5f0;
  color: var(--text);
}

.equipment-product-shell {
  width: min(1540px, calc(100% - 56px));
  margin: 0 auto;
}

.equipment-product-hero {
  padding: 36px 0 28px;
}

.equipment-product-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 0.78fr) minmax(520px, 1.22fr);
  gap: clamp(28px, 4vw, 70px);
  min-height: 620px;
  align-items: center;
  padding: clamp(34px, 4vw, 62px);
  border-radius: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 34%, rgba(176, 138, 66, 0.20), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 241, 234, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.28);
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.equipment-product-hero-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.42;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(115, 10, 38, 0.05) 1px, transparent 1px),
    linear-gradient(0deg, rgba(176, 138, 66, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(90deg, transparent 0%, #000 48%, #000 100%);
}

.equipment-product-hero-content,
.equipment-product-hero-media {
  position: relative;
  z-index: 1;
}

.equipment-back-link {
  display: inline-flex;
  margin-bottom: 30px;
  color: rgba(115, 10, 38, 0.82);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.equipment-back-link:hover {
  color: var(--burgundy);
}

.equipment-product-kicker {
  display: block;
  margin-bottom: 18px;
  color: rgba(176, 138, 66, 0.95);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.equipment-product-title {
  max-width: 620px;
  margin: 0 0 24px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(42px, 4.4vw, 82px);
  line-height: 0.98;
  font-weight: 400;
  color: var(--text);
}

.equipment-product-lead {
  max-width: 560px;
  margin: 0 0 34px;
  font-size: clamp(17px, 1.1vw, 21px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.76);
}

.equipment-hero-features {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: 640px;
  margin-bottom: 34px;
}

.equipment-hero-feature {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  line-height: 1.35;
  color: rgba(31, 31, 31, 0.72);
}

.equipment-hero-feature-icon {
  width: 34px;
  height: 34px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--burgundy);
  background: rgba(115, 10, 38, 0.07);
  border: 1px solid rgba(176, 138, 66, 0.28);
}

.equipment-main-btn,
.equipment-read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 24px;
  border-radius: 12px;
  text-decoration: none;
  background: var(--burgundy);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 12px 26px rgba(115, 10, 38, 0.22);
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease;
}

.equipment-main-btn::after,
.equipment-read-more::after {
  content: "→";
  margin-left: 16px;
}

.equipment-main-btn:hover,
.equipment-read-more:hover {
  transform: translateY(-2px);
  color: #fff;
  box-shadow: 0 16px 34px rgba(115, 10, 38, 0.30);
}

.equipment-product-hero-media {
  min-height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.equipment-hero-bg-grid {
  position: absolute;
  inset: 0;
  opacity: 0.65;
  background:
    radial-gradient(circle at 48% 46%, rgba(176, 138, 66, 0.20), transparent 30%),
    linear-gradient(90deg, rgba(176, 138, 66, 0.10) 1px, transparent 1px),
    linear-gradient(0deg, rgba(176, 138, 66, 0.10) 1px, transparent 1px);
  background-size: auto, 46px 46px, 46px 46px;
  transform: perspective(900px) rotateX(58deg) rotateZ(-12deg) scale(1.2);
  transform-origin: center bottom;
}

.equipment-hero-image-placeholder {
  position: relative;
  z-index: 2;
  width: min(520px, 90%);
  min-height: 420px;
  border-radius: 28px;
  border: 1px solid rgba(176, 138, 66, 0.30);
  background:
    radial-gradient(circle at 50% 25%, rgba(176, 138, 66, 0.16), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.70), rgba(248, 245, 240, 0.82));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(24px, 3vw, 36px);
}

.equipment-image-fit {
  width: 100%;
  height: 100%;
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.equipment-hero-image-placeholder span {
  max-width: 240px;
  text-align: center;
  color: rgba(115, 10, 38, 0.54);
  font-size: 13px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.equipment-hero-image-placeholder img,
.equipment-image-fit img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
}

.equipment-hero-tag {
  position: absolute;
  z-index: 3;
  min-width: 118px;
  padding: 12px 14px;
  border-radius: 10px;
  color: var(--burgundy);
  background: rgba(255, 255, 255, 0.76);
  border: 1px solid rgba(176, 138, 66, 0.34);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.08);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
}

.equipment-hero-tag-1 {
  right: 8%;
  top: 8%;
}

.equipment-hero-tag-2 {
  right: 4%;
  top: 36%;
}

.equipment-hero-tag-3 {
  right: 10%;
  bottom: 12%;
}

/* LIST */

.equipment-stations-list-section {
  padding: 18px 0 84px;
}

.equipment-section-head {
  margin-bottom: 26px;
  text-align: center;
}

.equipment-section-kicker {
  display: inline-block;
  margin-bottom: 12px;
  color: rgba(176, 138, 66, 0.95);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.equipment-section-head h2 {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(34px, 3vw, 56px);
  line-height: 1.08;
  font-weight: 400;
  color: var(--text);
}

.equipment-stations-list {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.equipment-station-row {
  display: grid;
  grid-template-columns: minmax(0, 0.98fr) minmax(360px, 0.72fr);
  gap: clamp(24px, 3vw, 46px);
  align-items: center;
  min-height: 360px;
  padding: clamp(24px, 2.6vw, 38px);
  border-radius: 30px;
  background:
    radial-gradient(circle at 10% 12%, rgba(176, 138, 66, 0.10), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 247, 242, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.28);
  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.equipment-station-row:hover {
  transform: translateY(-5px);
  border-color: rgba(176, 138, 66, 0.56);
  box-shadow:
    0 22px 48px rgba(0, 0, 0, 0.09),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.equipment-station-row:nth-child(even) {
  grid-template-columns: minmax(360px, 0.72fr) minmax(0, 0.98fr);
}

.equipment-station-row:nth-child(even) .equipment-station-content {
  order: 2;
}

.equipment-station-row:nth-child(even) .equipment-station-media {
  order: 1;
}

.equipment-station-number {
  width: 46px;
  height: 30px;
  margin-bottom: 18px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--burgundy);
  background: rgba(115, 10, 38, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.28);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.equipment-station-content h3 {
  max-width: 760px;
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(25px, 2vw, 38px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--burgundy);
}

.equipment-station-content p {
  max-width: 820px;
  margin: 0 0 22px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.80);
}

.equipment-station-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 24px;
}

.equipment-station-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  color: rgba(31, 31, 31, 0.72);
  background: rgba(176, 138, 66, 0.10);
  border: 1px solid rgba(176, 138, 66, 0.22);
  font-size: 13px;
}

.equipment-station-media {
  min-height: 260px;
  border-radius: 24px;
  border: 1px solid rgba(176, 138, 66, 0.24);
  background:
    radial-gradient(circle at 50% 30%, rgba(176, 138, 66, 0.16), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(243, 238, 231, 0.95));
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  box-sizing: border-box;
  padding: clamp(20px, 2.4vw, 28px);
}

.equipment-station-media span {
  padding: 24px;
  text-align: center;
  color: rgba(115, 10, 38, 0.52);
  font-size: 13px;
  letter-spacing: 0.12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.equipment-station-media img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  width: auto;
  height: auto;
  object-fit: contain;
  transition: transform 0.45s ease;
}

.equipment-station-row:hover .equipment-station-media img {
  transform: scale(1.04);
}

/* =========================
   DARK MODE: EQUIPMENT PRODUCT
========================= */

body.dark-mode .equipment-page {
  background: #050505 !important;
}

body.dark-mode .equipment-product-hero-grid {
  background:
    radial-gradient(circle at 72% 34%, rgba(208, 181, 94, 0.12), transparent 38%),
    linear-gradient(135deg, #090909, #050505 72%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 22px 60px rgba(0, 0, 0, 0.42),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .equipment-product-hero-grid::before {
  opacity: 0.55;
  background:
    linear-gradient(90deg, rgba(208, 181, 94, 0.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(208, 181, 94, 0.08) 1px, transparent 1px);
  background-size: 64px 64px;
}

body.dark-mode .equipment-back-link,
body.dark-mode .equipment-product-kicker,
body.dark-mode .equipment-section-kicker {
  color: rgba(208, 181, 94, 0.86) !important;
}

body.dark-mode .equipment-product-title,
body.dark-mode .equipment-section-head h2 {
  color: #ffffff !important;
}

body.dark-mode .equipment-product-lead,
body.dark-mode .equipment-hero-feature,
body.dark-mode .equipment-station-content p {
  color: rgba(255, 255, 255, 0.76) !important;
}

body.dark-mode .equipment-hero-feature-icon,
body.dark-mode .equipment-station-number {
  color: rgb(208, 181, 94) !important;
  background: rgba(208, 181, 94, 0.10) !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
}

body.dark-mode .equipment-main-btn,
body.dark-mode .equipment-read-more {
  background: transparent !important;
  color: rgb(208, 181, 94) !important;
  border: 1px solid rgba(208, 181, 94, 0.34) !important;
  box-shadow: 0 0 22px rgba(208, 181, 94, 0.10);
}

body.dark-mode .equipment-main-btn:hover,
body.dark-mode .equipment-read-more:hover {
  background: rgba(208, 181, 94, 0.12) !important;
  color: #ffffff !important;
  box-shadow: 0 0 28px rgba(208, 181, 94, 0.18);
}

body.dark-mode .equipment-hero-bg-grid {
  opacity: 0.75;
  background:
    radial-gradient(circle at 48% 46%, rgba(208, 181, 94, 0.18), transparent 30%),
    linear-gradient(90deg, rgba(208, 181, 94, 0.12) 1px, transparent 1px),
    linear-gradient(0deg, rgba(208, 181, 94, 0.12) 1px, transparent 1px);
  background-size: auto, 46px 46px, 46px 46px;
}

body.dark-mode .equipment-hero-image-placeholder,
body.dark-mode .equipment-station-media {
  background:
    radial-gradient(circle at 50% 30%, rgba(208, 181, 94, 0.10), transparent 44%),
    linear-gradient(180deg, #151515, #090909) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 24px 54px rgba(0, 0, 0, 0.38),
    0 0 28px rgba(208, 181, 94, 0.08);
}

body.dark-mode .equipment-hero-image-placeholder span,
body.dark-mode .equipment-station-media span {
  color: rgba(208, 181, 94, 0.70) !important;
}

body.dark-mode .equipment-hero-tag {
  color: rgb(208, 181, 94) !important;
  background: rgba(10, 10, 10, 0.72) !important;
  border-color: rgba(208, 181, 94, 0.34) !important;
  box-shadow: 0 0 22px rgba(208, 181, 94, 0.10);
}

body.dark-mode .equipment-stations-list-section {
  background: #050505 !important;
}

body.dark-mode .equipment-station-row {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #090909 0%, #050505 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.36),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .equipment-station-row:hover {
  border-color: rgba(208, 181, 94, 0.46) !important;
  box-shadow:
    0 22px 52px rgba(0, 0, 0, 0.50),
    0 0 24px rgba(208, 181, 94, 0.08);
}

body.dark-mode .equipment-station-content h3 {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .equipment-station-tags span {
  color: rgba(255, 255, 255, 0.78) !important;
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.20) !important;
}

@media (max-width: 1100px) {
  .equipment-product-shell {
    width: calc(100% - 28px);
  }

  .equipment-product-hero-grid {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .equipment-product-hero-media {
    min-height: 380px;
  }

  .equipment-hero-image-placeholder {
    min-height: 320px;
  }

  .equipment-station-row,
  .equipment-station-row:nth-child(even) {
    grid-template-columns: 1fr;
  }

  .equipment-station-row:nth-child(even) .equipment-station-content,
  .equipment-station-row:nth-child(even) .equipment-station-media {
    order: initial;
  }
}

@media (max-width: 680px) {
  .equipment-product-shell {
    width: calc(100% - 20px);
  }

  .equipment-product-hero-grid {
    padding: 24px 18px;
    border-radius: 24px;
  }

  .equipment-product-title {
    font-size: 36px;
  }

  .equipment-hero-features {
    grid-template-columns: 1fr;
  }

  .equipment-hero-tag {
    display: none;
  }

  .equipment-product-hero-media {
    min-height: 260px;
  }

  .equipment-hero-image-placeholder {
    min-height: 240px;
  }

  .equipment-station-row {
    padding: 22px 18px;
    border-radius: 24px;
  }

  .equipment-station-content h3 {
    font-size: 24px;
  }

  .equipment-read-more,
  .equipment-main-btn {
    width: 100%;
  }
}

/* =========================
   EQUIPMENT DETAIL PAGE
========================= */

.equipment-detail-page {
  background: #f8f5f0;
}

.equipment-detail-hero {
  padding: 36px 0 28px;
}

.equipment-detail-hero-grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 0.82fr) minmax(520px, 1.18fr);
  gap: clamp(28px, 4vw, 70px);
  min-height: 620px;
  align-items: center;
  padding: clamp(34px, 4vw, 62px);
  border-radius: 34px;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 34%, rgba(176, 138, 66, 0.20), transparent 38%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 241, 234, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.28);
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.equipment-detail-content-section {
  padding: 10px 0 84px;
}

.equipment-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
  gap: 28px;
  align-items: start;
}

.equipment-detail-card,
.equipment-spec-card,
.equipment-detail-nav {
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 10%, rgba(176, 138, 66, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(250, 247, 242, 0.98));
  border: 1px solid rgba(176, 138, 66, 0.26);
  box-shadow:
    0 14px 34px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.75) inset;
}

.equipment-detail-card {
  padding: clamp(26px, 2.6vw, 42px);
}

.equipment-detail-card h2 {
  margin: 34px 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(25px, 1.8vw, 36px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--burgundy);
}

.equipment-detail-card h2:first-child {
  margin-top: 0;
}

.equipment-detail-card p {
  margin: 0 0 18px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.7;
  color: rgba(31, 31, 31, 0.82);
}

.equipment-detail-list {
  margin: 0 0 24px;
  padding-left: 22px;
}

.equipment-detail-list li {
  margin-bottom: 10px;
  font-size: clamp(16px, 1vw, 18px);
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.82);
}

.equipment-detail-grid-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 24px;
}

.equipment-detail-grid-list div {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(176, 138, 66, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.18);
  font-size: 15px;
  line-height: 1.4;
  color: rgba(31, 31, 31, 0.82);
}

.equipment-detail-side {
  position: sticky;
  top: 96px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.equipment-spec-card,
.equipment-detail-nav {
  padding: 22px;
}

.equipment-spec-card h3,
.equipment-detail-nav h3 {
  margin: 0 0 18px;
  color: var(--burgundy);
  font-size: 17px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.equipment-spec-card dl {
  margin: 0;
}

.equipment-spec-card dl div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(176, 138, 66, 0.18);
}

.equipment-spec-card dl div:last-child {
  border-bottom: none;
}

.equipment-spec-card dt {
  color: rgba(31, 31, 31, 0.62);
  font-size: 14px;
}

.equipment-spec-card dd {
  margin: 0;
  color: rgba(31, 31, 31, 0.92);
  font-size: 14px;
  font-weight: 700;
  text-align: right;
}

.equipment-detail-nav a {
  display: block;
  padding: 12px 0;
  color: rgba(31, 31, 31, 0.82);
  text-decoration: none;
  border-bottom: 1px solid rgba(176, 138, 66, 0.16);
}

.equipment-detail-nav a:last-child {
  border-bottom: none;
}

.equipment-detail-nav a:hover {
  color: var(--burgundy);
}

body.dark-mode .equipment-detail-page,
body.dark-mode .equipment-detail-hero,
body.dark-mode .equipment-detail-content-section {
  background: #050505 !important;
}

body.dark-mode .equipment-detail-hero-grid,
body.dark-mode .equipment-detail-card,
body.dark-mode .equipment-spec-card,
body.dark-mode .equipment-detail-nav {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #090909 0%, #050505 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.36),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .equipment-detail-card h2,
body.dark-mode .equipment-spec-card h3,
body.dark-mode .equipment-detail-nav h3 {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .equipment-detail-card p,
body.dark-mode .equipment-detail-list li,
body.dark-mode .equipment-detail-nav a {
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .equipment-detail-grid-list div {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

body.dark-mode .equipment-spec-card dl div,
body.dark-mode .equipment-detail-nav a {
  border-bottom-color: rgba(208, 181, 94, 0.16) !important;
}

body.dark-mode .equipment-spec-card dt {
  color: rgba(255, 255, 255, 0.58) !important;
}

body.dark-mode .equipment-spec-card dd {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.dark-mode .equipment-detail-nav a:hover {
  color: rgb(208, 181, 94) !important;
}

@media (max-width: 1100px) {

  .equipment-detail-hero-grid,
  .equipment-detail-layout {
    grid-template-columns: 1fr;
  }

  .equipment-detail-side {
    position: static;
  }

  .equipment-detail-grid-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .equipment-detail-hero-grid {
    padding: 24px 18px;
    border-radius: 24px;
  }

  .equipment-detail-card,
  .equipment-spec-card,
  .equipment-detail-nav {
    border-radius: 22px;
  }

  .equipment-spec-card dl div {
    grid-template-columns: 1fr;
    gap: 4px;
  }

  .equipment-spec-card dd {
    text-align: left;
  }
}

/* =========================
   CASES / REALIZED PROJECTS PAGE — PREMIUM
========================= */

.cases-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% -8%, rgba(176, 138, 66, 0.13), transparent 34%),
    radial-gradient(circle at 8% 18%, rgba(115, 10, 38, 0.045), transparent 30%),
    linear-gradient(180deg, #f8f5f0 0%, #f3eee7 100%);
  color: var(--text);
}

.cases-page::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.38;
  background-image:
    linear-gradient(rgba(176, 138, 66, 0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(176, 138, 66, 0.07) 1px, transparent 1px);
  background-size: 86px 86px;
  mask-image: linear-gradient(180deg, black 0%, transparent 68%);
}

.cases-shell {
  position: relative;
  z-index: 1;
  width: min(1640px, calc(100% - 56px));
  margin: 0 auto;
}

/* HERO */

.cases-hero {
  padding: 42px 0 24px;
}

.cases-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(390px, 0.62fr);
  gap: 18px;
  align-items: stretch;
}

.cases-intro-card,
.cases-map-card,
.case-project-card {
  border: 1px solid rgba(176, 138, 66, 0.28);
  background:
    radial-gradient(circle at 16% 12%, rgba(176, 138, 66, 0.10), transparent 35%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(250, 247, 242, 0.985));
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.065),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.cases-intro-card {
  min-height: 430px;
  padding: clamp(34px, 4vw, 64px);
  border-radius: 34px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.cases-kicker,
.cases-section-kicker,
.cases-map-head span {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: rgba(176, 138, 66, 0.96);
}

.cases-kicker::before,
.cases-section-kicker::before,
.cases-map-head span::before {
  content: "";
  width: 54px;
  height: 2px;
  background: currentColor;
  opacity: 0.62;
}

.cases-title {
  max-width: 900px;
  margin: 0 0 20px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(44px, 4.8vw, 78px);
  line-height: 0.98;
  font-weight: 400;
  letter-spacing: -0.052em;
  color: var(--text);
}

.cases-intro-text {
  max-width: 880px;
  margin: 0;
  font-size: clamp(17px, 1.05vw, 21px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.76);
}

.cases-hero-line {
  width: min(520px, 100%);
  height: 1px;
  margin: 34px 0 22px;
  background: linear-gradient(90deg, rgba(176, 138, 66, 0.55), transparent);
}

/* STATS */

.cases-stats-row {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.cases-stat-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.cases-stat-card {
  min-height: 122px;
  padding: 18px 16px;
  border-radius: 24px;
  background:
    radial-gradient(circle at 20% 15%, rgba(176, 138, 66, 0.12), transparent 42%),
    rgba(255, 255, 255, 0.64);
  border: 1px solid rgba(176, 138, 66, 0.24);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.035);
}

.cases-stat-card span {
  display: block;
  margin-bottom: 12px;
  font-size: clamp(30px, 2.6vw, 52px);
  line-height: 0.95;
  color: var(--burgundy);
  font-weight: 600;
  letter-spacing: -0.045em;
}

.cases-stat-card p {
  margin: 0;
  color: rgba(31, 31, 31, 0.62);
  font-size: 13px;
  line-height: 1.32;
  text-transform: uppercase;
  letter-spacing: 0.055em;
}

/* MAP CARD */

.cases-map-card {
  position: relative;
  min-height: 430px;
  padding: 24px;
  border-radius: 34px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.cases-map-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.42) 44%, transparent 62%);
  transform: translateX(-130%);
  animation: casesMapShine 7s ease-in-out infinite;
}

@keyframes casesMapShine {
  0%, 72% {
    transform: translateX(-130%);
  }

  100% {
    transform: translateX(130%);
  }
}

.cases-map-head {
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
}

.cases-map-head h2 {
  margin: 0;
  max-width: 480px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(27px, 2.05vw, 42px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.035em;
  color: var(--burgundy);
}

.cases-map-image-wrap {
  position: relative;
  z-index: 2;
  flex: 1;
  min-height: 260px;
  border-radius: 26px;
  overflow: hidden;
  border: 1px solid rgba(176, 138, 66, 0.24);
  background:
    radial-gradient(circle at 50% 52%, rgba(176, 138, 66, 0.12), transparent 48%),
    #f4efe7;
  display: flex;
  align-items: center;
  justify-content: center;
}

.cases-map-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 14px;
}

.cases-map-footer {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}

.cases-map-footer span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(176, 138, 66, 0.10);
  border: 1px solid rgba(176, 138, 66, 0.22);
  color: rgba(31, 31, 31, 0.62);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.045em;
  text-transform: uppercase;
}

/* CONTENT */

.cases-content-section {
  padding: 34px 0 84px;
}

.cases-section-head {
  max-width: 980px;
  margin: 0 auto 24px;
  text-align: center;
}

.cases-section-head h2 {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(36px, 3.35vw, 62px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -0.042em;
  color: var(--text);
}

.cases-category-cloud {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 1380px;
  margin: 0 auto 30px;
}

.cases-category-cloud span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(176, 138, 66, 0.28);
  color: var(--burgundy);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.045em;
}

/* PROJECT CARDS */

.cases-projects-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 1480px;
  margin: 0 auto;
}

.case-project-card {
  position: relative;
  min-height: 285px;
  padding: 26px 26px 24px;
  border-radius: 30px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  isolation: isolate;
  transition:
    transform 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

.case-project-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 92% 8%, rgba(176, 138, 66, 0.15), transparent 28%),
    linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.34) 42%, transparent 58%);
  opacity: 0.65;
  pointer-events: none;
}

.case-project-card::after {
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  bottom: 0;
  height: 3px;
  border-radius: 999px 999px 0 0;
  background: linear-gradient(90deg, rgba(115, 10, 38, 0.82), rgba(176, 138, 66, 0.55), transparent);
  opacity: 0.45;
  transition: opacity 0.28s ease;
}

.case-project-card:hover {
  transform: translateY(-7px);
  border-color: rgba(176, 138, 66, 0.54);
  box-shadow:
    0 30px 72px rgba(115, 10, 38, 0.12),
    0 1px 0 rgba(255, 255, 255, 0.84) inset;
}

.case-project-card:hover::after {
  opacity: 0.9;
}

.case-project-top {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 22px;
}

.case-project-category {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(176, 138, 66, 0.11);
  border: 1px solid rgba(176, 138, 66, 0.24);
  color: var(--burgundy);
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.case-project-card h3 {
  margin: 0 0 26px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(24px, 1.5vw, 32px);
  line-height: 1.12;
  font-weight: 400;
  letter-spacing: -0.025em;
  color: var(--burgundy);
}

.case-project-meta {
  display: grid;
  grid-template-columns: 1fr 0.72fr;
  gap: 14px;
  margin-top: auto;
}

.case-project-meta div {
  padding-top: 13px;
  border-top: 1px solid rgba(176, 138, 66, 0.22);
}

.case-project-meta span {
  display: block;
  margin-bottom: 6px;
  color: rgba(31, 31, 31, 0.46);
  font-size: 11px;
  line-height: 1;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 900;
}

.case-project-meta p {
  margin: 0;
  color: rgba(31, 31, 31, 0.76);
  font-size: 15px;
  line-height: 1.42;
}

/* DARK THEME */

body.dark-mode .cases-page {
  background:
    radial-gradient(circle at 50% -8%, rgba(208, 181, 94, 0.08), transparent 34%),
    radial-gradient(circle at 8% 18%, rgba(208, 181, 94, 0.045), transparent 30%),
    linear-gradient(180deg, #050505 0%, #090909 100%) !important;
}

body.dark-mode .cases-page::before {
  opacity: 0.24;
  background-image:
    linear-gradient(rgba(208, 181, 94, 0.10) 1px, transparent 1px),
    linear-gradient(90deg, rgba(208, 181, 94, 0.10) 1px, transparent 1px);
}

body.dark-mode .cases-intro-card,
body.dark-mode .cases-map-card,
body.dark-mode .case-project-card {
  background:
    radial-gradient(circle at 16% 12%, rgba(208, 181, 94, 0.08), transparent 35%),
    linear-gradient(180deg, #141414 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.50),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .cases-title,
body.dark-mode .cases-section-head h2 {
  color: rgba(255, 255, 255, 0.94) !important;
}

body.dark-mode .cases-intro-text,
body.dark-mode .case-project-meta p {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.dark-mode .cases-kicker,
body.dark-mode .cases-section-kicker,
body.dark-mode .cases-map-head span {
  color: rgba(208, 181, 94, 0.88) !important;
}

body.dark-mode .cases-map-head h2,
body.dark-mode .cases-stat-card span,
body.dark-mode .case-project-card h3,
body.dark-mode .case-project-category,
body.dark-mode .cases-category-cloud span {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .cases-stat-card,
body.dark-mode .cases-category-cloud span,
body.dark-mode .case-project-category,
body.dark-mode .cases-map-footer span {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
}

body.dark-mode .cases-stat-card p,
body.dark-mode .case-project-meta span,
body.dark-mode .cases-map-footer span {
  color: rgba(255, 255, 255, 0.56) !important;
}

body.dark-mode .cases-map-image-wrap {
  background: #050505 !important;
  border-color: rgba(208, 181, 94, 0.20) !important;
}

body.dark-mode .case-project-meta div {
  border-top-color: rgba(208, 181, 94, 0.18) !important;
}

body.dark-mode .case-project-card::before {
  background:
    radial-gradient(circle at 92% 8%, rgba(208, 181, 94, 0.13), transparent 28%),
    linear-gradient(120deg, transparent 0%, rgba(208, 181, 94, 0.11) 42%, transparent 58%);
}

body.dark-mode .case-project-card::after {
  background: linear-gradient(90deg, rgba(208, 181, 94, 0.82), rgba(208, 181, 94, 0.40), transparent);
}

body.dark-mode .case-project-card:hover {
  border-color: rgba(208, 181, 94, 0.48) !important;
  box-shadow:
    0 30px 72px rgba(0, 0, 0, 0.68),
    0 0 26px rgba(208, 181, 94, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.05) inset;
}

/* ADAPTIVE */

@media (min-width: 1700px) {
  .cases-projects-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1640px;
  }
}

@media (max-width: 1280px) {
  .cases-hero-layout {
    grid-template-columns: 1fr;
  }

  .cases-map-card {
    min-height: 360px;
  }

  .cases-map-image-wrap {
    min-height: 260px;
  }
}

@media (max-width: 920px) {
  .cases-shell {
    width: calc(100% - 24px);
  }

  .cases-hero {
    padding: 30px 0 18px;
  }

  .cases-intro-card,
  .cases-map-card {
    min-height: auto;
    border-radius: 28px;
  }

  .cases-intro-card {
    padding: 30px 22px;
  }

  .cases-title {
    font-size: 42px;
  }

  .cases-stats-row {
    grid-template-columns: 1fr;
  }

  .cases-projects-grid {
    grid-template-columns: 1fr;
  }

  .case-project-card {
    min-height: auto;
    padding: 22px;
    border-radius: 24px;
  }

  .case-project-meta {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .cases-shell {
    width: calc(100% - 20px);
  }

  .cases-title {
    font-size: 34px;
    line-height: 1.02;
  }

  .cases-intro-text {
    font-size: 15px;
  }

  .cases-section-head h2 {
    font-size: 34px;
  }

  .cases-map-head h2 {
    font-size: 27px;
  }

  .cases-map-card {
    padding: 18px;
  }

  .cases-map-image-wrap {
    min-height: 220px;
    border-radius: 20px;
  }
}

.case-project-card {
  text-decoration: none;
  color: inherit;
}

.case-project-card--link {
  cursor: pointer;
}

.case-project-action {
  margin-top: 20px;
  padding-top: 15px;
  border-top: 1px solid rgba(176, 138, 66, 0.18);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--burgundy);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.case-project-action b {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(176, 138, 66, 0.14);
  border: 1px solid rgba(176, 138, 66, 0.25);
  transition: transform 0.24s ease;
}

.case-project-card--link:hover .case-project-action b {
  transform: translateX(4px);
}

body.dark-mode .case-project-action {
  color: rgb(208, 181, 94) !important;
  border-top-color: rgba(208, 181, 94, 0.18) !important;
}

body.dark-mode .case-project-action b {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
}

/* =========================
   CASE DETAIL PAGE
========================= */

.case-detail-page {
  background:
    radial-gradient(circle at 50% -8%, rgba(176, 138, 66, 0.12), transparent 34%),
    linear-gradient(180deg, #f8f5f0 0%, #f3eee7 100%);
  color: var(--text);
}

.case-detail-shell {
  width: min(1480px, calc(100% - 56px));
  margin: 0 auto;
}

.case-detail-hero {
  padding: 42px 0 24px;
}

.case-detail-hero-card,
.case-detail-content,
.case-detail-side-card,
.case-detail-result-card {
  border: 1px solid rgba(176, 138, 66, 0.28);
  background:
    radial-gradient(circle at 16% 12%, rgba(176, 138, 66, 0.10), transparent 35%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(250, 247, 242, 0.985));
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.065),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.case-detail-hero-card {
  padding: clamp(34px, 4vw, 64px);
  border-radius: 34px;
}

.case-back-link {
  display: inline-flex;
  margin-bottom: 24px;
  color: var(--burgundy);
  text-decoration: none;
  font-size: 15px;
  font-weight: 800;
}

.case-detail-kicker {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: rgba(176, 138, 66, 0.96);
}

.case-detail-kicker::before {
  content: "";
  width: 54px;
  height: 2px;
  background: currentColor;
  opacity: 0.62;
}

.case-detail-title {
  max-width: 1120px;
  margin: 0 0 20px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(38px, 4.3vw, 76px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.052em;
  color: var(--text);
}

.case-detail-lead {
  max-width: 1040px;
  margin: 0;
  font-size: clamp(17px, 1.08vw, 21px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.76);
}

.case-detail-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 32px;
}

.case-detail-meta-card {
  min-height: 96px;
  padding: 18px;
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.64);
  border: 1px solid rgba(176, 138, 66, 0.24);
}

.case-detail-meta-card span {
  display: block;
  margin-bottom: 8px;
  color: rgba(31, 31, 31, 0.48);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 900;
}

.case-detail-meta-card p {
  margin: 0;
  color: var(--burgundy);
  font-size: 17px;
  line-height: 1.35;
  font-weight: 700;
}

.case-detail-section {
  padding: 12px 0 84px;
}

.case-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 420px);
  gap: 20px;
  align-items: start;
}

.case-detail-content,
.case-detail-side-card,
.case-detail-result-card {
  border-radius: 30px;
  padding: clamp(24px, 2.4vw, 38px);
}

.case-detail-block {
  margin-bottom: 34px;
}

.case-detail-block:last-child {
  margin-bottom: 0;
}

.case-detail-block h2,
.case-detail-side-card h2,
.case-detail-result-card h2 {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(26px, 2vw, 38px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--burgundy);
}

.case-detail-block p {
  margin: 0;
  font-size: 17px;
  line-height: 1.68;
  color: rgba(31, 31, 31, 0.82);
}

.case-detail-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.case-detail-list li {
  position: relative;
  padding: 14px 16px 14px 36px;
  border-radius: 16px;
  background: rgba(176, 138, 66, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.18);
  color: rgba(31, 31, 31, 0.82);
  font-size: 16px;
  line-height: 1.45;
}

.case-detail-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 20px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--burgundy);
  box-shadow: 0 0 0 5px rgba(115, 10, 38, 0.08);
}

.case-detail-aside {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 16px;
}

.case-detail-result-card {
  margin-top: 20px;
}

.case-detail-result-card p {
  margin: 0;
  font-size: 18px;
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.82);
}

.case-detail-cta {
  display: inline-flex;
  margin-top: 24px;
  min-height: 44px;
  padding: 0 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--burgundy);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}

.case-detail-cta::after {
  content: " →";
  margin-left: 8px;
}

/* dark */

body.dark-mode .case-detail-page {
  background:
    radial-gradient(circle at 50% -8%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #050505 0%, #090909 100%) !important;
}

body.dark-mode .case-detail-hero-card,
body.dark-mode .case-detail-content,
body.dark-mode .case-detail-side-card,
body.dark-mode .case-detail-result-card {
  background:
    radial-gradient(circle at 16% 12%, rgba(208, 181, 94, 0.08), transparent 35%),
    linear-gradient(180deg, #141414 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.50),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .case-detail-title {
  color: rgba(255, 255, 255, 0.94) !important;
}

body.dark-mode .case-detail-lead,
body.dark-mode .case-detail-block p,
body.dark-mode .case-detail-list li,
body.dark-mode .case-detail-result-card p {
  color: rgba(255, 255, 255, 0.74) !important;
}

body.dark-mode .case-back-link,
body.dark-mode .case-detail-kicker,
body.dark-mode .case-detail-block h2,
body.dark-mode .case-detail-side-card h2,
body.dark-mode .case-detail-result-card h2,
body.dark-mode .case-detail-meta-card p {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .case-detail-meta-card,
body.dark-mode .case-detail-list li {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.20) !important;
}

body.dark-mode .case-detail-meta-card span {
  color: rgba(255, 255, 255, 0.52) !important;
}

body.dark-mode .case-detail-list li::before {
  background: rgb(208, 181, 94) !important;
  box-shadow: 0 0 0 5px rgba(208, 181, 94, 0.10);
}

body.dark-mode .case-detail-cta {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
}

@media (max-width: 980px) {
  .case-detail-shell {
    width: calc(100% - 24px);
  }

  .case-detail-layout {
    grid-template-columns: 1fr;
  }

  .case-detail-aside {
    position: static;
  }

  .case-detail-meta-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .case-detail-shell {
    width: calc(100% - 20px);
  }

  .case-detail-hero {
    padding: 28px 0 18px;
  }

  .case-detail-title {
    font-size: 34px;
  }

  .case-detail-hero-card,
  .case-detail-content,
  .case-detail-side-card,
  .case-detail-result-card {
    border-radius: 24px;
    padding: 22px;
  }
}

.case-detail-kicker {
  display: none !important;
}

.case-detail-kicker::before {
  display: none !important;
}

.case-back-link {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 24px;
}

/* =========================
   NEWS YEARS NAV
========================= */

.news-years-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 28px;
}

.news-year-btn {
  min-height: 36px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(176, 138, 66, 0.28);
  background: rgba(255, 255, 255, 0.72);
  color: var(--burgundy);
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  transition: 0.25s ease;
}

.news-year-btn:hover,
.news-year-btn.active {
  background: var(--burgundy);
  color: #ffffff;
  border-color: var(--burgundy);
}

.news-year-group {
  margin-bottom: 34px;
}

.news-year-title {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 2.5vw, 46px);
  line-height: 1.1;
  font-weight: 400;
  color: var(--burgundy);
}

body.dark-mode .news-year-btn {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .news-year-btn:hover,
body.dark-mode .news-year-btn.active {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
  border-color: rgb(208, 181, 94) !important;
}

body.dark-mode .news-year-title {
  color: rgb(208, 181, 94) !important;
}

/* =========================================================
   FINAL FIX: HOME MAP + DIRECTIONS
   стабильная версия без пропадающих карточек
========================================================= */

/* ===== ОБЩАЯ ЗОНА ПОД HERO ===== */

.home-main-shell {
  position: relative;
  padding: 18px 0 34px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.12), transparent 34%),
    linear-gradient(180deg, #f8f5f0 0%, #f4efe7 100%) !important;
  overflow: visible;
}

.home-main-shell::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.28;
  background:
    linear-gradient(90deg, rgba(115, 10, 38, 0.028) 1px, transparent 1px),
    linear-gradient(0deg, rgba(176, 138, 66, 0.045) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.62) 58%, transparent 100%);
}

/* Заголовок над картой */

.map-title {
  position: relative;
  z-index: 2;
  width: calc(100vw - 48px);
  margin: 0 auto 16px !important;
  text-align: center;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.map-title-top {
  display: inline-block;
  position: relative;
  margin-bottom: 6px;
  padding: 0 82px;
  font-size: clamp(12px, 0.82vw, 14px);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(115, 10, 38, 0.62);
}

.map-title-top::before,
.map-title-top::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 62px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.25;
  transform: translateY(-50%);
}

.map-title-top::before {
  left: 0;
}

.map-title-top::after {
  right: 0;
}

.map-title-main {
  display: block;
  padding-bottom: 10px;
  font-size: clamp(32px, 2.5vw, 52px);
  line-height: 1.06;
  font-weight: 400;
  letter-spacing: -0.035em;
  color: var(--text);
}

.map-title-main::after {
  content: "";
  display: block;
  width: 72px;
  height: 2px;
  margin: 14px auto 0;
  background: linear-gradient(90deg, transparent, var(--burgundy), transparent);
  opacity: 0.34;
}

/* Главная сетка: слева зона карта+текст, справа новости */

.home-main-grid {
  position: relative;
  z-index: 2;
  width: calc(100vw - 48px);
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(300px, 20vw, 360px);
  gap: 14px;
  align-items: start;
}

.home-main-primary {
  min-width: 0;
}

/* Внутри: левый текст и карта одинаковой высоты */

.home-primary-top {
  display: grid !important;
  grid-template-columns: minmax(280px, 340px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch !important;
  min-height: clamp(540px, 35vw, 680px);
}

/* Левый текст теперь не короткий огрызок, а равный блок */

.home-about-panel {
  min-height: 100% !important;
  height: 100% !important;
  padding: clamp(26px, 2vw, 38px) clamp(22px, 1.5vw, 30px) !important;
  border-radius: 30px !important;
  border: 1px solid rgba(176, 138, 66, 0.24) !important;
  background:
    radial-gradient(circle at 16% 10%, rgba(176, 138, 66, 0.13), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.90), rgba(250, 247, 242, 0.74)) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.78) inset !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  position: relative;
}

.home-about-panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 32px;
  bottom: 32px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg,
      rgba(115, 10, 38, 0.86),
      rgba(176, 138, 66, 0.28));
}

.home-about-inner {
  position: relative;
  z-index: 1;
  justify-content: center !important;
}

.home-about-label {
  margin-bottom: 22px;
  color: rgba(115, 10, 38, 0.72);
  font-size: clamp(11px, 0.72vw, 13px);
  letter-spacing: 0.18em;
}

.home-about-title {
  margin-bottom: 24px;
  font-size: clamp(28px, 1.75vw, 38px);
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.home-about-text-wrap {
  max-width: 100%;
}

.home-about-text {
  font-size: clamp(14px, 0.86vw, 16px);
  line-height: 1.58;
  color: rgba(31, 31, 31, 0.78);
}

/* Карта в отдельном блоке, но НЕ выходит за него */

.mine-map-section {
  min-height: 100% !important;
  height: 100% !important;
  padding: 18px !important;
  border-radius: 30px !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(176, 138, 66, 0.10), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.70), rgba(250, 247, 242, 0.50)) !important;
  border: 1px solid rgba(176, 138, 66, 0.22) !important;
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.76) inset !important;
  overflow: hidden !important;
  min-width: 0;
}

.mine-map {
  width: 100%;
  height: 100%;
  min-height: 100%;
  margin: 0 !important;
  display: flex;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.mine-map-canvas {
  position: relative;
  width: 100% !important;
  max-width: 980px !important;
  line-height: 0;
  overflow: visible !important;
  transform: none !important;
}

.mine-map-image {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: calc(clamp(540px, 35vw, 680px) - 36px);
  object-fit: contain !important;
  object-position: center center !important;
  filter:
    drop-shadow(0 18px 26px rgba(0, 0, 0, 0.07)) saturate(1.02);
}

/* Хотспоты возвращаем к нормальному размеру */

.map-hotspot-btn {
  width: clamp(60px, 4.6vw, 92px) !important;
  height: clamp(60px, 4.6vw, 92px) !important;
}

/* Новости справа без огромного отступа */

.home-news-sidebar {
  margin-top: 0 !important;
  align-self: start;
  position: sticky;
  top: 86px;
}

.home-news-panel {
  border-radius: 30px;
}


/* =========================================================
   FINAL FIX: DIRECTIONS — premium, но без исчезновения
========================================================= */

.directions-section {
  position: relative;
  padding: 38px 0 48px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.10), transparent 30%),
    linear-gradient(180deg, #f4efe7 0%, #f8f5f0 100%) !important;
  overflow: hidden;
}

.directions-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0.24;
  background:
    linear-gradient(90deg, rgba(115, 10, 38, 0.026) 1px, transparent 1px),
    linear-gradient(0deg, rgba(176, 138, 66, 0.04) 1px, transparent 1px);
  background-size: 72px 72px;
}

.directions-head {
  position: relative;
  z-index: 2;
  margin-bottom: 24px !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}

.directions-kicker {
  color: rgba(115, 10, 38, 0.62);
  letter-spacing: 0.18em;
}

.directions-title {
  font-size: clamp(34px, 2.8vw, 56px);
  line-height: 1.05;
  letter-spacing: -0.035em;
}

/* Сетка направлений */

.directions-layout {
  position: relative;
  z-index: 2;
  width: calc(100vw - 48px);
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: minmax(0, 4fr) minmax(260px, 1fr);
  gap: 16px;
  align-items: stretch;
}

.cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: 100%;
  height: 100%;
}

/* Главное: карточки НЕ прячем */

.direction-card,
.cooperation-card {
  opacity: 1 !important;
  visibility: visible !important;
  position: relative !important;
  min-height: 430px !important;
  height: 100%;
  display: flex !important;
  flex-direction: column !important;
  padding: 22px 20px 20px !important;
  border-radius: 28px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(176, 138, 66, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 242, 0.96)) !important;
  border: 1px solid rgba(176, 138, 66, 0.30) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.065),
    0 1px 0 rgba(255, 255, 255, 0.80) inset !important;
  transform: translateY(0);
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

/* мягкий дорогой блик */

.direction-card::before,
.cooperation-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.38) 42%,
      transparent 58%);
  transform: translateX(-130%);
  transition: transform 0.75s ease;
  z-index: 3;
}

.direction-card:hover::before,
.cooperation-card:hover::before {
  transform: translateX(130%);
}

.direction-card:hover,
.cooperation-card:hover {
  transform: translateY(-8px);
  border-color: rgba(176, 138, 66, 0.56) !important;
  box-shadow:
    0 26px 56px rgba(115, 10, 38, 0.11),
    0 1px 0 rgba(255, 255, 255, 0.84) inset !important;
}

/* Верх карточки */

.direction-card-top,
.cooperation-card-top {
  position: relative;
  z-index: 2;
  margin-bottom: 14px;
}

.direction-badge,
.cooperation-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 12px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: rgba(115, 10, 38, 0.08) !important;
  color: var(--burgundy) !important;
  border: 1px solid rgba(176, 138, 66, 0.24) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.direction-card-title,
.cooperation-title {
  position: relative;
  z-index: 2;
  margin: 0 0 16px !important;
  min-height: auto !important;
  color: var(--burgundy) !important;
  font-size: clamp(20px, 1.22vw, 27px);
  line-height: 1.12;
  font-weight: 600;
  letter-spacing: -0.02em;
}

/* Картинки внутри карточек — НЕ абсолютные, НЕ вылезают */

.direction-card-media-wrap,
.cooperation-image-wrap {
  position: relative !important;
  inset: auto !important;
  z-index: 1;
  width: 100% !important;
  flex: 1 1 auto !important;
  min-height: 230px !important;
  margin-top: auto !important;
  padding: 14px !important;
  border-radius: 20px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(176, 138, 66, 0.12), transparent 44%),
    linear-gradient(180deg, rgba(247, 243, 237, 0.92), rgba(241, 235, 227, 0.96)) !important;
  border: 1px solid rgba(176, 138, 66, 0.18) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.direction-card-media,
.cooperation-image {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: 250px !important;
  object-fit: contain !important;
  transform: none !important;
  filter: drop-shadow(0 14px 22px rgba(0, 0, 0, 0.08));
  transition:
    transform 0.45s ease,
    filter 0.45s ease;
}

.direction-card:hover .direction-card-media,
.cooperation-card:hover .cooperation-image {
  transform: scale(1.045) !important;
  filter:
    drop-shadow(0 18px 28px rgba(0, 0, 0, 0.11)) saturate(1.04);
}

.cooperation-text {
  position: relative;
  z-index: 2;
  margin: 0 0 16px !important;
  color: rgba(31, 31, 31, 0.76) !important;
  font-size: 14px;
  line-height: 1.48;
}

/* Чтобы кнопка на географии не растягивала картинку странно */

.cooperation-image-btn {
  width: 100%;
  height: 100%;
  padding: 0 !important;
  border: 0;
  background: transparent;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Адаптив */

@media (max-width: 1380px) {
  .directions-layout {
    grid-template-columns: 1fr !important;
  }

  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cooperation-card {
    min-height: 360px !important;
  }
}

@media (max-width: 1200px) {
  .home-main-grid {
    width: calc(100% - 28px);
    grid-template-columns: 1fr !important;
    gap: 16px;
  }

  .home-primary-top {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .home-about-panel,
  .mine-map-section {
    height: auto !important;
    min-height: auto !important;
  }

  .mine-map-image {
    max-height: none;
  }

  .home-news-sidebar {
    position: static !important;
    top: auto !important;
  }
}

@media (max-width: 720px) {
  .home-main-shell {
    padding: 18px 0 34px !important;
  }

  .map-title,
  .home-main-grid,
  .directions-layout {
    width: calc(100% - 20px) !important;
  }

  .map-title-top {
    padding: 0 48px;
    font-size: 11px;
  }

  .map-title-top::before,
  .map-title-top::after {
    width: 36px;
  }

  .map-title-main {
    font-size: 28px;
  }

  .home-about-panel,
  .mine-map-section,
  .home-news-panel,
  .direction-card,
  .cooperation-card {
    border-radius: 22px !important;
  }

  .cards-grid {
    grid-template-columns: 1fr !important;
  }

  .direction-card,
  .cooperation-card {
    min-height: 360px !important;
  }

  .direction-card-media-wrap,
  .cooperation-image-wrap {
    min-height: 200px !important;
  }
}

/* DARK MODE */

body.dark-mode .home-main-shell,
body.dark-mode .directions-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(208, 181, 94, 0.09), transparent 34%),
    linear-gradient(180deg, #050505 0%, #070707 100%) !important;
}

body.dark-mode .home-main-shell::before,
body.dark-mode .directions-section::before {
  background:
    linear-gradient(90deg, rgba(208, 181, 94, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(208, 181, 94, 0.04) 1px, transparent 1px);
  background-size: 70px 70px;
}

body.dark-mode .map-title-top,
body.dark-mode .directions-kicker,
body.dark-mode .home-about-label {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .map-title-top::before,
body.dark-mode .map-title-top::after,
body.dark-mode .map-title-main::after,
body.dark-mode .directions-kicker::before,
body.dark-mode .directions-kicker::after,
body.dark-mode .directions-title::after {
  background: rgb(208, 181, 94) !important;
  opacity: 0.42 !important;
}

body.dark-mode .home-about-panel,
body.dark-mode .mine-map-section,
body.dark-mode .direction-card,
body.dark-mode .cooperation-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(20, 20, 20, 0.92), rgba(8, 8, 8, 0.94)) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.36),
    0 1px 0 rgba(255, 255, 255, 0.04) inset !important;
}

body.dark-mode .home-about-panel::before {
  background: linear-gradient(180deg,
      rgba(208, 181, 94, 0.9),
      rgba(208, 181, 94, 0.20));
}

body.dark-mode .home-about-title,
body.dark-mode .directions-title {
  color: #ffffff !important;
}

body.dark-mode .home-about-text,
body.dark-mode .cooperation-text {
  color: rgba(255, 255, 255, 0.76) !important;
}

body.dark-mode .direction-badge,
body.dark-mode .cooperation-badge {
  background: rgba(208, 181, 94, 0.10) !important;
  color: rgb(208, 181, 94) !important;
  border-color: rgba(208, 181, 94, 0.26) !important;
}

body.dark-mode .direction-card-title,
body.dark-mode .cooperation-title {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .direction-card-media-wrap,
body.dark-mode .cooperation-image-wrap {
  background:
    radial-gradient(circle at 50% 30%, rgba(208, 181, 94, 0.10), transparent 44%),
    linear-gradient(180deg, rgba(17, 17, 17, 0.96), rgba(9, 9, 9, 0.98)) !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
}

/* =========================================================
   FINAL FIX: HERO ARROWS WITHOUT COUNTER
========================================================= */

.hero-counter {
  display: none !important;
}

.hero-controls {
  position: absolute !important;
  right: clamp(22px, 3vw, 52px) !important;
  bottom: clamp(22px, 3vw, 44px) !important;
  top: auto !important;
  z-index: 6 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  transform: none !important;
  padding: 10px !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, 0.10) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  backdrop-filter: blur(14px);
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.28),
    0 1px 0 rgba(255, 255, 255, 0.14) inset !important;
}

.hero-arrow {
  width: 48px !important;
  height: 48px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255, 255, 255, 0.22) !important;
  background: rgba(255, 255, 255, 0.12) !important;
  color: #ffffff !important;
  font-size: 19px !important;
  cursor: pointer;
  transition:
    transform 0.28s ease,
    background 0.28s ease,
    border-color 0.28s ease,
    color 0.28s ease,
    box-shadow 0.28s ease;
}

.hero-arrow:hover {
  transform: translateY(-2px) scale(1.06) !important;
  background: rgba(176, 138, 66, 0.94) !important;
  border-color: rgba(176, 138, 66, 1) !important;
  color: #050505 !important;
  box-shadow: 0 0 28px rgba(176, 138, 66, 0.24);
}

body.dark-mode .hero-arrow:hover {
  background: rgb(208, 181, 94) !important;
  border-color: rgb(208, 181, 94) !important;
  color: #050505 !important;
}

@media (max-width: 720px) {
  .hero-controls {
    right: 16px !important;
    bottom: 16px !important;
  }

  .hero-arrow {
    width: 42px !important;
    height: 42px !important;
  }
}

/* =========================================================
   FINAL FIX: MINE MAP HOTSPOT HOVER ONLY ON ICON
========================================================= */

.map-hotspot {
  pointer-events: none !important;
}

.map-hotspot-btn,
.map-hotspot-menu {
  pointer-events: auto !important;
}

.map-hotspot::after {
  display: none !important;
  pointer-events: none !important;
}

.map-hotspot:hover .map-hotspot-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(10px) !important;
}

.map-hotspot:has(.map-hotspot-btn:hover) .map-hotspot-menu,
.map-hotspot:has(.map-hotspot-menu:hover) .map-hotspot-menu {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) !important;
}

.map-hotspot-menu {
  top: calc(100% + 4px) !important;
}

/* =========================================================
   FINAL: HOME SHOWCASE EQUAL HEIGHT
   text + mine map + news
========================================================= */

:root {
  --home-showcase-height: clamp(720px, 43vw, 920px);
}

.home-main-shell {
  position: relative;
  padding: 18px 0 36px !important;
  background:
    radial-gradient(circle at 52% 0%, rgba(176, 138, 66, 0.12), transparent 34%),
    linear-gradient(180deg, #f8f5f0 0%, #f4efe7 100%) !important;
  overflow: visible !important;
}

.home-main-grid {
  width: calc(100vw - 48px);
  margin: 0 auto;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) clamp(320px, 20vw, 390px);
  gap: 16px !important;
  align-items: stretch !important;
}

.home-main-primary,
.home-news-sidebar {
  height: var(--home-showcase-height) !important;
  min-height: var(--home-showcase-height) !important;
}

.home-main-primary {
  display: block !important;
}

.home-primary-top {
  height: 100% !important;
  min-height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(310px, 390px) minmax(0, 1fr);
  gap: 16px !important;
  align-items: stretch !important;
}

.home-about-panel,
.mine-map-section,
.home-news-panel {
  height: 100% !important;
  min-height: 100% !important;
  border-radius: 34px !important;
}

.home-about-panel {
  padding: clamp(34px, 2.4vw, 50px) clamp(24px, 1.7vw, 36px) !important;
  border: 1px solid rgba(176, 138, 66, 0.24) !important;
  background:
    radial-gradient(circle at 16% 10%, rgba(176, 138, 66, 0.13), transparent 36%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.90), rgba(250, 247, 242, 0.74)) !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.80) inset !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  position: relative;
}

.home-about-panel::before {
  content: "";
  position: absolute;
  left: 0;
  top: 36px;
  bottom: 36px;
  width: 3px;
  border-radius: 999px;
  background: linear-gradient(180deg,
      rgba(115, 10, 38, 0.86),
      rgba(176, 138, 66, 0.28));
}

.home-about-title {
  font-size: clamp(31px, 1.9vw, 44px) !important;
  line-height: 1.06 !important;
  letter-spacing: -0.04em;
}

.home-about-text {
  font-size: clamp(15px, 0.92vw, 17px) !important;
  line-height: 1.62 !important;
}

.mine-map-section {
  padding: 22px !important;
  border: 1px solid rgba(176, 138, 66, 0.22) !important;
  background:
    radial-gradient(circle at 50% 42%, rgba(176, 138, 66, 0.11), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.72), rgba(250, 247, 242, 0.52)) !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.06),
    0 1px 0 rgba(255, 255, 255, 0.78) inset !important;
  overflow: hidden !important;
}

.mine-map {
  width: 100%;
  height: 100% !important;
  min-height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.mine-map-canvas {
  position: relative;
  width: min(100%, 1180px) !important;
  max-width: 1180px !important;
  line-height: 0;
  overflow: visible !important;
  transform: none !important;
}

.mine-map-image {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: calc(var(--home-showcase-height) - 54px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  filter:
    drop-shadow(0 22px 32px rgba(0, 0, 0, 0.08)) saturate(1.03);
}

.home-news-sidebar {
  margin-top: 0 !important;
  align-self: stretch !important;
  position: sticky;
  top: 86px;
  display: flex !important;
}

.home-news-panel {
  width: 100% !important;
  padding: 28px 18px 22px !important;
  display: flex !important;
  flex-direction: column !important;
}

.home-news-list {
  flex: 1 1 auto;
}

.home-news-title {
  font-size: clamp(24px, 1.45vw, 32px) !important;
}

.news-preview-card-title {
  font-size: clamp(17px, 1vw, 20px) !important;
}

.news-preview-excerpt {
  font-size: clamp(13px, 0.78vw, 14px) !important;
}

@media (min-width: 1700px) {
  :root {
    --home-showcase-height: clamp(800px, 44vw, 980px);
  }

  .home-primary-top {
    grid-template-columns: minmax(340px, 430px) minmax(0, 1fr);
  }

  .mine-map-canvas {
    width: min(100%, 1340px) !important;
    max-width: 1340px !important;
  }
}

@media (max-width: 1200px) {
  :root {
    --home-showcase-height: auto;
  }

  .home-main-grid {
    width: calc(100% - 28px);
    grid-template-columns: 1fr !important;
  }

  .home-main-primary,
  .home-primary-top,
  .home-about-panel,
  .mine-map-section,
  .home-news-sidebar,
  .home-news-panel {
    height: auto !important;
    min-height: auto !important;
  }

  .home-primary-top {
    grid-template-columns: 1fr !important;
  }

  .home-news-sidebar {
    position: static !important;
  }

  .mine-map-image {
    max-height: none !important;
  }
}

@media (max-width: 720px) {
  .home-main-grid {
    width: calc(100% - 20px);
  }

  .home-about-panel,
  .mine-map-section,
  .home-news-panel {
    border-radius: 22px !important;
  }
}

/* =========================================================
   HOME SHOWCASE REVEAL
========================================================= */

body.home-showcase-ready .home-about-panel,
body.home-showcase-ready .mine-map-section,
body.home-showcase-ready .home-news-panel {
  opacity: 0;
  transform: translateY(30px);
  filter: blur(8px);
}

body.home-showcase-ready .home-about-panel.home-showcase-visible,
body.home-showcase-ready .mine-map-section.home-showcase-visible,
body.home-showcase-ready .home-news-panel.home-showcase-visible {
  animation: homeShowcaseReveal 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes homeShowcaseReveal {
  0% {
    opacity: 0;
    transform: translateY(30px);
    filter: blur(8px);
  }

  70% {
    opacity: 1;
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

/* =========================================================
   PREMIUM DIRECTIONS ANIMATION
========================================================= */

.direction-card,
.cooperation-card {
  transform:
    perspective(1200px) rotateX(var(--direction-rx, 0deg)) rotateY(var(--direction-ry, 0deg)) translateY(0);
  will-change: transform;
}

body.directions-animation-ready .direction-card:not(.direction-visible),
body.directions-animation-ready .cooperation-card:not(.direction-visible) {
  opacity: 0 !important;
  transform:
    perspective(1200px) rotateX(0deg) rotateY(0deg) translateY(36px) scale(0.985);
  filter: blur(8px);
}

body.directions-animation-ready .direction-card.direction-visible,
body.directions-animation-ready .cooperation-card.direction-visible {
  animation: premiumDirectionReveal 0.95s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes premiumDirectionReveal {
  0% {
    opacity: 0;
    transform:
      perspective(1200px) rotateX(0deg) rotateY(0deg) translateY(36px) scale(0.985);
    filter: blur(8px);
  }

  70% {
    opacity: 1;
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform:
      perspective(1200px) rotateX(var(--direction-rx, 0deg)) rotateY(var(--direction-ry, 0deg)) translateY(0) scale(1);
    filter: blur(0);
  }
}

.direction-card:hover,
.cooperation-card:hover {
  transform:
    perspective(1200px) rotateX(var(--direction-rx, 0deg)) rotateY(var(--direction-ry, 0deg)) translateY(-8px) scale(1.012) !important;
}

.direction-card::after,
.cooperation-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 5;
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(255, 255, 255, 0.24) 42%,
      transparent 58%);
  transform: translateX(-130%);
  transition: transform 0.85s ease;
}

.direction-card:hover::after,
.cooperation-card:hover::after {
  transform: translateX(130%);
}

body.dark-mode .direction-card::after,
body.dark-mode .cooperation-card::after {
  background:
    linear-gradient(120deg,
      transparent 0%,
      rgba(208, 181, 94, 0.18) 42%,
      transparent 58%);
}

/* =========================================================
   PREMIUM HOME BOTTOM
   KPI + PROJECTS + CYCLE
========================================================= */

.home-bottom-section {
  position: relative;
  padding: 28px 0 24px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.10), transparent 30%),
    linear-gradient(180deg, #f8f5f0 0%, #f4efe7 100%) !important;
  overflow: hidden;
}

.home-bottom-section::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: 0.22;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(115, 10, 38, 0.026) 1px, transparent 1px),
    linear-gradient(0deg, rgba(176, 138, 66, 0.04) 1px, transparent 1px);
  background-size: 72px 72px;
}

.home-bottom-layout {
  position: relative;
  z-index: 2;
  width: calc(100vw - 48px);
  margin: 0 auto;
  display: grid;
  grid-template-columns:
    minmax(460px, 0.88fr) minmax(560px, 1.25fr) minmax(300px, 0.62fr);
  gap: 16px;
  align-items: stretch;
}

.home-kpi-grid,
.home-projects-panel,
.home-cycle-panel {
  min-height: 260px;
}

.home-kpi-card,
.home-projects-panel,
.home-cycle-panel {
  border-radius: 26px !important;
  border: 1px solid rgba(176, 138, 66, 0.24) !important;
  background:
    radial-gradient(circle at 18% 12%, rgba(176, 138, 66, 0.10), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(250, 247, 242, 0.88)) !important;
  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.78) inset !important;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.home-kpi-card:hover,
.home-projects-panel:hover,
.home-cycle-panel:hover {
  transform: translateY(-6px);
  border-color: rgba(176, 138, 66, 0.46) !important;
  box-shadow:
    0 26px 56px rgba(115, 10, 38, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.82) inset !important;
}

.home-kpi-card {
  min-height: 124px !important;
  padding: 22px 16px 18px !important;
}

.home-kpi-number {
  font-size: clamp(30px, 2vw, 44px) !important;
}

.home-kpi-label {
  font-size: 14px;
  line-height: 1.25;
  color: rgba(31, 31, 31, 0.72);
}

.home-projects-panel {
  padding: 20px !important;
}

.home-projects-title {
  letter-spacing: 0.05em;
}

.home-project-card {
  position: relative;
  display: block;
  text-decoration: none;
  color: inherit;
  overflow: hidden;
  border-radius: 18px !important;
  border: 1px solid rgba(176, 138, 66, 0.18) !important;
  background: rgba(255, 255, 255, 0.66) !important;
  transition:
    transform 0.35s ease,
    box-shadow 0.35s ease,
    border-color 0.35s ease;
}

.home-project-card:hover {
  transform: translateY(-5px);
  border-color: rgba(176, 138, 66, 0.42) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.10);
}

.home-project-image {
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-project-card:hover .home-project-image {
  transform: scale(1.07);
}

.home-cycle-panel {
  padding: 18px !important;
}

.cycle-item {
  position: relative;
  overflow: hidden;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(176, 138, 66, 0.08), rgba(176, 138, 66, 0.035)) !important;
  border-color: rgba(176, 138, 66, 0.20) !important;
  transition:
    transform 0.3s ease,
    border-color 0.3s ease,
    background 0.3s ease;
}

.cycle-item:hover {
  transform: translateX(5px);
  border-color: rgba(176, 138, 66, 0.42) !important;
  background:
    linear-gradient(180deg, rgba(176, 138, 66, 0.13), rgba(176, 138, 66, 0.06)) !important;
}

.cycle-icon {
  transition: transform 0.35s ease;
}

.cycle-item:hover .cycle-icon {
  transform: scale(1.08) rotate(-3deg);
}

/* reveal-анимация */

body.home-bottom-ready .home-kpi-card,
body.home-bottom-ready .home-projects-panel,
body.home-bottom-ready .home-cycle-panel {
  opacity: 0;
  transform: translateY(34px);
  filter: blur(8px);
}

body.home-bottom-ready .home-kpi-card.home-bottom-visible,
body.home-bottom-ready .home-projects-panel.home-bottom-visible,
body.home-bottom-ready .home-cycle-panel.home-bottom-visible {
  animation: homeBottomReveal 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes homeBottomReveal {
  0% {
    opacity: 0;
    transform: translateY(34px);
    filter: blur(8px);
  }

  70% {
    opacity: 1;
    filter: blur(0);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
  }
}

@media (max-width: 1550px) {
  .home-bottom-layout {
    grid-template-columns: 1fr;
  }

  .home-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .home-bottom-layout {
    width: calc(100% - 20px);
  }

  .home-kpi-grid {
    grid-template-columns: 1fr;
  }
}

/* dark */

body.dark-mode .home-bottom-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(208, 181, 94, 0.08), transparent 30%),
    linear-gradient(180deg, #070707 0%, #050505 100%) !important;
}

body.dark-mode .home-bottom-section::before {
  background:
    linear-gradient(90deg, rgba(208, 181, 94, 0.04) 1px, transparent 1px),
    linear-gradient(0deg, rgba(208, 181, 94, 0.04) 1px, transparent 1px);
}

body.dark-mode .home-kpi-card,
body.dark-mode .home-projects-panel,
body.dark-mode .home-cycle-panel {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(20, 20, 20, 0.92), rgba(8, 8, 8, 0.94)) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 20px 50px rgba(0, 0, 0, 0.36),
    0 1px 0 rgba(255, 255, 255, 0.04) inset !important;
}

body.dark-mode .home-kpi-label {
  color: rgba(255, 255, 255, 0.70) !important;
}

body.dark-mode .home-project-card {
  background: rgba(10, 10, 10, 0.66) !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
}

body.dark-mode .cycle-item {
  background:
    linear-gradient(180deg, rgba(208, 181, 94, 0.08), rgba(208, 181, 94, 0.035)) !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
}

/* =========================================================
   FINAL FIX: NO EMPTY SPACE BEFORE FOOTER
========================================================= */

.home-bottom-section {
  padding-bottom: 20px !important;
  margin-bottom: 0 !important;
}

.home-main-shell {
  margin-bottom: 0 !important;
}

#site-footer {
  margin-top: 0 !important;
}

body.home-page #site-footer,
#site-footer {
  border-top: 1px solid rgba(115, 10, 38, 0.08);
}

/* =========================================================
   DARK THEME — BLACK / GRAPHITE / GOLD
========================================================= */

body.dark-mode,
body.dark-mode main,
body.dark-mode .home-main-shell,
body.dark-mode .directions-section,
body.dark-mode .home-bottom-section,
body.dark-mode #site-footer {
  background:
    radial-gradient(circle at 50% 0%, rgba(208, 181, 94, 0.065), transparent 34%),
    linear-gradient(180deg, #050505 0%, #0a0a0a 48%, #050505 100%) !important;
}

/* общий фон без синего */
body.dark-mode .home-main-shell::before,
body.dark-mode .directions-section::before,
body.dark-mode .home-bottom-section::before {
  background:
    linear-gradient(90deg, rgba(208, 181, 94, 0.035) 1px, transparent 1px),
    linear-gradient(0deg, rgba(208, 181, 94, 0.035) 1px, transparent 1px) !important;
  background-size: 72px 72px !important;
  opacity: 0.22 !important;
}

/* карточки: графит, не синий */
body.dark-mode .home-about-panel,
body.dark-mode .home-news-panel,
body.dark-mode .direction-card,
body.dark-mode .cooperation-card,
body.dark-mode .home-kpi-card,
body.dark-mode .home-projects-panel,
body.dark-mode .home-cycle-panel,
body.dark-mode .home-project-card {
  background:
    radial-gradient(circle at 18% 10%, rgba(208, 181, 94, 0.085), transparent 34%),
    linear-gradient(180deg, #151515 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 20px 52px rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.045) inset !important;
}

body.dark-mode .mine-map-section {
  background:
    radial-gradient(circle at 18% 10%, rgba(208, 181, 94, 0.085), transparent 34%),
    linear-gradient(18deg, black 0%, black 50%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 20px 52px rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.045) inset !important;
}

/* hover — золото, без синего свечения */
body.dark-mode .home-kpi-card:hover,
body.dark-mode .home-projects-panel:hover,
body.dark-mode .home-cycle-panel:hover,
body.dark-mode .home-project-card:hover,
body.dark-mode .direction-card:hover,
body.dark-mode .cooperation-card:hover {
  border-color: rgba(208, 181, 94, 0.46) !important;
  box-shadow:
    0 28px 64px rgba(0, 0, 0, 0.62),
    0 0 28px rgba(208, 181, 94, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.05) inset !important;
}

/* текст */
body.dark-mode .map-title-main,
body.dark-mode .directions-title,
body.dark-mode .home-about-title,
body.dark-mode .home-news-title,
body.dark-mode .home-projects-title,
body.dark-mode .home-project-body h3,
body.dark-mode .cycle-text {
  color: rgba(255, 255, 255, 0.94) !important;
}

/* вторичный текст */
body.dark-mode .home-about-text,
body.dark-mode .news-preview-excerpt,
body.dark-mode .home-project-body p,
body.dark-mode .home-kpi-label {
  color: rgba(255, 255, 255, 0.72) !important;
}

/* золото */
body.dark-mode .map-title-top,
body.dark-mode .directions-kicker,
body.dark-mode .home-news-kicker,
body.dark-mode .home-about-label,
body.dark-mode .home-kpi-number,
body.dark-mode .home-projects-more,
body.dark-mode .news-preview-link {
  color: rgb(208, 181, 94) !important;
}

/* линии */
body.dark-mode .map-title-top::before,
body.dark-mode .map-title-top::after,
body.dark-mode .map-title-main::after,
body.dark-mode .directions-kicker::before,
body.dark-mode .directions-kicker::after,
body.dark-mode .directions-title::after,
body.dark-mode .home-news-line,
body.dark-mode .home-news-kicker::before,
body.dark-mode .home-news-kicker::after {
  background: rgb(208, 181, 94) !important;
  opacity: 0.42 !important;
}

/* иконки */
body.dark-mode .home-kpi-icon,
body.dark-mode .cycle-icon {
  color: rgb(208, 181, 94) !important;
  background:
    radial-gradient(circle at 35% 25%, rgba(208, 181, 94, 0.18), transparent 48%),
    rgba(208, 181, 94, 0.07) !important;
  border-color: rgba(208, 181, 94, 0.30) !important;
}

/* элементы процесса */
body.dark-mode .cycle-item {
  background:
    linear-gradient(180deg, rgba(208, 181, 94, 0.075), rgba(208, 181, 94, 0.032)) !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
}

body.dark-mode .cycle-item:hover {
  background:
    linear-gradient(180deg, rgba(208, 181, 94, 0.13), rgba(208, 181, 94, 0.055)) !important;
  border-color: rgba(208, 181, 94, 0.36) !important;
}

/* картинки проектов в тёмной теме */
body.dark-mode .home-project-image-wrap {
  background: #111111 !important;
}

body.dark-mode .home-project-card {
  text-decoration: none !important;
}

/* =========================================================
   HARD FIX: REALIZED PROJECTS AS ROW CARDS
   final override
========================================================= */

/* нижний блок снова компактный */
.home-bottom-section {
  padding: 22px 0 22px !important;
  margin: 0 !important;
}

/* вся нижняя зона: как было — три части рядом */
.home-bottom-layout {
  width: calc(100vw - 48px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns:
    minmax(420px, 0.9fr) minmax(560px, 1.35fr) minmax(280px, 0.7fr) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

/* убираем гигантские высоты */
.home-kpi-grid,
.home-projects-panel,
.home-cycle-panel {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
}

/* KPI компактнее */
.home-kpi-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.home-kpi-card {
  min-height: 210px !important;
  height: auto !important;
  padding: 20px 12px 16px !important;
}

/* панель проектов */
.home-projects-panel {
  min-height: 210px !important;
  height: auto !important;
  padding: 16px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* шапка проектов */
.home-projects-head {
  flex: 0 0 auto !important;
  margin-bottom: 12px !important;
}

/* САМОЕ ГЛАВНОЕ:
   больше НЕ grid, а flex в одну строку */
.home-projects-grid,
.home-projects-grid--cards {
  width: 100% !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  align-items: stretch !important;
}

/* каждая карточка = ровно треть ширины */
.home-projects-grid>.home-project-card,
.home-projects-grid--cards>.home-project-card {
  flex: 0 0 calc((100% - 20px) / 3) !important;
  width: calc((100% - 20px) / 3) !important;
  max-width: calc((100% - 20px) / 3) !important;
  min-width: 0 !important;

  display: flex !important;
  flex-direction: column !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  border-radius: 14px !important;
  overflow: hidden !important;
  text-decoration: none !important;
  color: inherit !important;

  background: rgba(255, 255, 255, 0.66) !important;
  border: 1px solid rgba(176, 138, 66, 0.20) !important;
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.045),
    0 1px 0 rgba(255, 255, 255, 0.70) inset !important;

  transition:
    transform 0.28s ease,
    box-shadow 0.28s ease,
    border-color 0.28s ease !important;
}

.home-projects-grid>.home-project-card:hover,
.home-projects-grid--cards>.home-project-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(176, 138, 66, 0.46) !important;
  box-shadow:
    0 16px 32px rgba(115, 10, 38, 0.10),
    0 1px 0 rgba(255, 255, 255, 0.78) inset !important;
}

/* картинка маленькая, как карточка-превью */
.home-projects-grid .home-project-image-wrap,
.home-projects-grid--cards .home-project-image-wrap {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: 16 / 7 !important;
  flex: 0 0 auto !important;
  overflow: hidden !important;
  background: #ddd6cc !important;
}

.home-projects-grid .home-project-image,
.home-projects-grid .home-project-image-wrap img,
.home-projects-grid .home-project-card img,
.home-projects-grid--cards .home-project-image,
.home-projects-grid--cards .home-project-image-wrap img,
.home-projects-grid--cards .home-project-card img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transform: none;
  transition: transform 0.45s ease;
}

.home-projects-grid>.home-project-card:hover img,
.home-projects-grid--cards>.home-project-card:hover img {
  transform: scale(1.055) !important;
}

/* текст маленький */
.home-projects-grid .home-project-body,
.home-projects-grid--cards .home-project-body {
  flex: 1 1 auto !important;
  padding: 10px 10px 11px !important;
}

.home-projects-grid .home-project-body h3,
.home-projects-grid--cards .home-project-body h3 {
  margin: 0 0 7px !important;
  font-size: 14px !important;
  line-height: 1.28 !important;
  font-weight: 400 !important;
  color: var(--text) !important;
}

.home-projects-grid .home-project-body p,
.home-projects-grid--cards .home-project-body p {
  margin: 0 !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
  color: rgba(31, 31, 31, 0.64) !important;
}

/* правый процесс компактный */
.home-cycle-panel {
  min-height: 210px !important;
  height: auto !important;
  padding: 14px !important;
}

.home-cycle-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  height: 100% !important;
}

.cycle-item {
  flex: 1 1 0 !important;
  min-height: 46px !important;
  padding: 9px 10px !important;
}

/* до 1200 — нижние большие блоки могут стать один под другим,
   НО проекты всё равно остаются тремя карточками рядом */
@media (max-width: 1200px) {
  .home-bottom-layout {
    width: calc(100% - 28px) !important;
    grid-template-columns: 1fr !important;
  }

  .home-projects-grid,
  .home-projects-grid--cards {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
  }

  .home-projects-grid>.home-project-card,
  .home-projects-grid--cards>.home-project-card {
    flex: 0 0 calc((100% - 20px) / 3) !important;
    width: calc((100% - 20px) / 3) !important;
    max-width: calc((100% - 20px) / 3) !important;
  }

  .home-kpi-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  .home-cycle-list {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

/* только на телефоне проекты в колонку */
@media (max-width: 720px) {
  .home-bottom-layout {
    width: calc(100% - 20px) !important;
  }

  .home-projects-grid,
  .home-projects-grid--cards {
    flex-direction: column !important;
  }

  .home-projects-grid>.home-project-card,
  .home-projects-grid--cards>.home-project-card {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-kpi-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .home-cycle-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {

  .home-kpi-grid,
  .home-cycle-list {
    grid-template-columns: 1fr !important;
  }
}

/* DARK MODE */
body.dark-mode .home-projects-grid>.home-project-card,
body.dark-mode .home-projects-grid--cards>.home-project-card {
  background:
    radial-gradient(circle at 18% 10%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #151515 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.20) !important;
  box-shadow:
    0 16px 38px rgba(0, 0, 0, 0.42),
    0 1px 0 rgba(255, 255, 255, 0.04) inset !important;
}

body.dark-mode .home-projects-grid .home-project-body h3,
body.dark-mode .home-projects-grid--cards .home-project-body h3 {
  color: rgba(255, 255, 255, 0.92) !important;
}

body.dark-mode .home-projects-grid .home-project-body p,
body.dark-mode .home-projects-grid--cards .home-project-body p {
  color: rgba(255, 255, 255, 0.64) !important;
}

body.dark-mode .home-projects-grid .home-project-image-wrap,
body.dark-mode .home-projects-grid--cards .home-project-image-wrap {
  background: #111111 !important;
}

/* =========================================================
   FINAL OVERRIDE: GEOGRAPHY CARD IS STATIC
========================================================= */

.cooperation-image-btn {
  cursor: default !important;
  pointer-events: none !important;
}

.cooperation-image-btn .cooperation-image,
.cooperation-image-btn:hover .cooperation-image {
  transform: none !important;
  opacity: 1 !important;
}

.image-modal,
.image-modal.open {
  display: none !important;
}

/* светлая тема: баннер менее затемнённый */
body:not(.dark-mode) .hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(0, 0, 0, 0.46) 0%,
      rgba(0, 0, 0, 0.30) 34%,
      rgba(0, 0, 0, 0.10) 66%,
      rgba(0, 0, 0, 0.04) 100%),
    linear-gradient(180deg,
      rgba(0, 0, 0, 0.10) 0%,
      transparent 48%,
      rgba(0, 0, 0, 0.24) 100%) !important;
}

.directions-image {
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

/* =========================================================
   FIX: DIRECTIONS IMAGES FIT CARD IMAGE BLOCK
========================================================= */

.direction-card-media-wrap {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 16 / 10 !important;
  flex: 0 0 auto !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #f3eee7 !important;
}

.direction-card-media {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none;
}

/* мягкое увеличение при наведении */
.direction-card:hover .direction-card-media {
  transform: scale(1.045) !important;
}

/* тёмная тема */
body.dark-mode .direction-card-media-wrap {
  background: #050505 !important;
}

/* =========================================================
   SOLUTIONS PAGE — LIGHT / DARK IMAGES
========================================================= */

.feature-row-media {
  position: relative;
  overflow: hidden;
  border-radius: 26px;
  background: #f3eee7;
  border: 1px solid rgba(176, 138, 66, 0.24);
  min-height: 320px;
}

.feature-row-img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
  object-position: center center;
}

.feature-row-img--dark {
  display: none;
}

body.dark-mode .feature-row-media {
  background: #050505;
  border-color: rgba(208, 181, 94, 0.26);
}

body.dark-mode .feature-row-img--light {
  display: none;
}

body.dark-mode .feature-row-img--dark {
  display: block;
}

@media (max-width: 720px) {
  .feature-row-media {
    min-height: 240px;
    border-radius: 20px;
  }

  .feature-row-img {
    min-height: 240px;
  }
}

/* =========================================================
   SOLUTION DETAIL — LIGHT / DARK IMAGE
========================================================= */

.solution-detail-image-card {
  position: sticky;
  top: 96px;
  overflow: hidden;
  border-radius: 28px;
  background: #f3eee7;
  border: 1px solid rgba(176, 138, 66, 0.24);
}

.solution-detail-img {
  display: block;
  width: 100%;
  height: auto;
  min-height: 360px;
  object-fit: cover;
  object-position: center center;
}

.solution-detail-img--dark {
  display: none;
}

body.dark-mode .solution-detail-image-card {
  background: #050505;
  border-color: rgba(208, 181, 94, 0.26);
}

body.dark-mode .solution-detail-img--light {
  display: none;
}

body.dark-mode .solution-detail-img--dark {
  display: block;
}

@media (max-width: 920px) {
  .solution-detail-image-card {
    position: relative;
    top: auto;
  }

  .solution-detail-img {
    min-height: 260px;
  }
}

/* =========================================================
   GLOBAL FIX: REMOVE DEFAULT BLACK FOCUS OUTLINE
========================================================= */

button:focus,
button:active,
a:focus,
a:active,
[role="button"]:focus,
[role="button"]:active,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus {
  outline: none !important;
}

/* убрать внутреннюю пунктирную рамку в некоторых браузерах */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0 !important;
}

/* вместо чёрной браузерной обводки — мягкий фирменный фокус */
button:focus-visible,
a:focus-visible,
[role="button"]:focus-visible,
input[type="button"]:focus-visible,
input[type="submit"]:focus-visible,
input[type="reset"]:focus-visible {
  outline: none !important;
  box-shadow:
    0 0 0 3px rgba(176, 138, 66, 0.22),
    0 8px 24px rgba(0, 0, 0, 0.14) !important;
}

/* если у конкретной кнопки уже есть свой box-shadow — не даём чёрной рамке появиться */
.hero-arrow:focus,
.hero-arrow:active,
.hero-arrow:focus-visible,
.theme-toggle:focus,
.theme-toggle:active,
.menu-toggle:focus,
.menu-toggle:active,
.dealer-doc-modal-close:focus,
.dealer-doc-modal-close:active,
.dealer-doc-zoom-btn:focus,
.dealer-doc-zoom-btn:active,
.home-news-more:focus,
.home-news-more:active,
.hero-btn:focus,
.hero-btn:active {
  outline: none !important;
}

/* =========================================================
   SOLUTIONS PAGE — FIX LIGHT/DARK IMAGES + FIT
========================================================= */

.feature-row-media {
  position: relative !important;
  width: 100% !important;
  min-height: 340px !important;
  height: clamp(340px, 24vw, 460px) !important;
  overflow: hidden !important;
  border-radius: 28px !important;
  background: #f3eee7 !important;
  border: 1px solid rgba(176, 138, 66, 0.24) !important;
}

/* обе картинки занимают один и тот же блок */
.feature-row-media .feature-row-img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* СВЕТЛАЯ ТЕМА: показываем светлую, скрываем тёмную */
body:not(.dark-mode) .feature-row-img--light {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

body:not(.dark-mode) .feature-row-img--dark {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ТЁМНАЯ ТЕМА: показываем тёмную, скрываем светлую */
body.dark-mode .feature-row-img--light {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.dark-mode .feature-row-img--dark {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* фон блока в тёмной теме */
body.dark-mode .feature-row-media {
  background: #050505 !important;
  border-color: rgba(208, 181, 94, 0.28) !important;
}

/* лёгкая анимация при переключении темы */
.feature-row-img {
  transition:
    opacity 0.35s ease,
    visibility 0.35s ease,
    transform 0.45s ease !important;
}

.feature-row:hover .feature-row-img {
  transform: scale(1.035) !important;
}

/* мобильная версия */
@media (max-width: 720px) {
  .feature-row-media {
    min-height: 240px !important;
    height: 260px !important;
    border-radius: 20px !important;
  }
}

/* =========================================================
   GEOGRAPHY MAP MODAL — LIGHT / DARK THEME
========================================================= */

/* кнопка-картинка в карточке географии */
.geo-map-open-btn {
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: zoom-in;
  display: flex;
  align-items: center;
  justify-content: center;
}

.geo-map-open-btn img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  transition:
    transform 0.35s ease,
    filter 0.35s ease;
}

.geo-map-open-btn:hover img {
  transform: scale(1.035);
}

/* сама модалка */
.geo-map-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 44px;
}

.geo-map-modal.is-open {
  display: flex;
}

.geo-map-modal-backdrop {
  position: absolute;
  inset: 0;
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

/* сцена с картинкой */
.geo-map-modal-stage {
  position: relative;
  z-index: 2;
  width: min(1180px, 92vw);
  max-height: 86vh;
  border-radius: 30px;
  overflow: visible;
}

.geo-map-modal-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 86vh;
  object-fit: contain;
  object-position: center center;
  border-radius: 30px;
}

/* =========================================================
   LIGHT THEME
========================================================= */

body:not(.dark-mode) .geo-map-modal-backdrop {
  background: rgba(246, 241, 233, 0.74);
}

body:not(.dark-mode) .geo-map-modal-image {
  background: #f8f5f0;
  border: 1px solid rgba(176, 138, 66, 0.32);
  box-shadow:
    0 34px 90px rgba(80, 52, 30, 0.24),
    0 0 0 1px rgba(255, 255, 255, 0.72) inset;
}

/* крестик в светлой теме */
body:not(.dark-mode) .geo-map-modal-close {
  position: absolute !important;
  top: -20px !important;
  right: -20px !important;
  z-index: 20 !important;

  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(255, 255, 255, 0.94) !important;
  border: 2px solid rgba(115, 10, 38, 0.18) !important;
  color: rgb(115, 10, 38) !important;

  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  cursor: pointer !important;

  box-shadow:
    0 14px 34px rgba(80, 25, 40, 0.18),
    0 0 0 5px rgba(255, 255, 255, 0.62) !important;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
}

body:not(.dark-mode) .geo-map-modal-close:hover {
  background: rgb(115, 10, 38) !important;
  border-color: rgb(115, 10, 38) !important;
  color: #ffffff !important;
  transform: scale(1.06);
  box-shadow:
    0 18px 42px rgba(115, 10, 38, 0.28),
    0 0 0 5px rgba(255, 255, 255, 0.66) !important;
}

/* =========================================================
   DARK THEME
========================================================= */

body.dark-mode .geo-map-modal-backdrop {
  background: rgba(0, 0, 0, 0.78);
}

body.dark-mode .geo-map-modal-image {
  background: #050505;
  border: 1px solid rgba(208, 181, 94, 0.32);
  box-shadow:
    0 36px 100px rgba(0, 0, 0, 0.72),
    0 0 0 1px rgba(208, 181, 94, 0.20) inset,
    0 0 46px rgba(208, 181, 94, 0.10);
}

/* крестик в тёмной теме */
body.dark-mode .geo-map-modal-close {
  position: absolute !important;
  top: -20px !important;
  right: -20px !important;
  z-index: 20 !important;

  width: 52px !important;
  height: 52px !important;
  border-radius: 999px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: rgba(12, 12, 12, 0.92) !important;
  border: 1.5px solid rgba(208, 181, 94, 0.46) !important;
  color: rgb(208, 181, 94) !important;

  font-size: 34px !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  cursor: pointer !important;

  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.58),
    0 0 24px rgba(208, 181, 94, 0.10) !important;

  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);

  transition:
    transform 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    box-shadow 0.25s ease;
}

body.dark-mode .geo-map-modal-close:hover {
  background: rgb(208, 181, 94) !important;
  border-color: rgb(208, 181, 94) !important;
  color: #050505 !important;
  transform: scale(1.06);
  box-shadow:
    0 20px 48px rgba(0, 0, 0, 0.68),
    0 0 34px rgba(208, 181, 94, 0.20) !important;
}

/* блокировка прокрутки страницы при открытой карте */
body.geo-map-modal-open {
  overflow: hidden;
}

/* mobile */
@media (max-width: 720px) {
  .geo-map-modal {
    padding: 18px;
  }

  .geo-map-modal-stage {
    width: 96vw;
    border-radius: 20px;
  }

  .geo-map-modal-image {
    max-height: 82vh;
    border-radius: 20px;
  }

  body:not(.dark-mode) .geo-map-modal-close,
  body.dark-mode .geo-map-modal-close {
    top: -14px !important;
    right: -10px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 30px !important;
  }
}

/* =========================================================
   FINAL: DIRECTIONS CARDS — ALIGNED IMAGES / COMPACT HEIGHT
   light + dark + responsive
========================================================= */

/* убираем цифры 01–04 и бейдж ГЕОГРАФИЯ */
.direction-card-top,
.direction-badge,
.cooperation-badge {
  display: none !important;
}

/* скрываем текст под заголовком "География сотрудничества" */
.cooperation-text {
  display: none !important;
}

/* сетка — только 4 направления, без географии в том же ряду */
.directions-layout {
  width: calc(100vw - 48px) !important;
  margin: 0 auto !important;
  display: block !important;
}

.directions-main,
.directions-side-card {
  align-self: start !important;
  min-width: 0 !important;
}

.cooperation-section {
  padding: 8px 0 34px;
  background: #f8f5f0;
}

.cooperation-head {
  text-align: center;
  font-family: "MyraidLight", sans-serif;
  margin-bottom: 18px;
}

.cooperation-kicker {
  display: inline-block;
  position: relative;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(12px, 0.9vw, 14px);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(31, 31, 31, 0.55);
  margin-bottom: 0;
  padding: 0 90px;
}

.cooperation-kicker::before,
.cooperation-kicker::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 70px;
  height: 2px;
  background: var(--burgundy);
  opacity: 0.3;
  transform: translateY(-50%);
}

.cooperation-kicker::before {
  left: 0;
}

.cooperation-kicker::after {
  right: 0;
}

.cooperation-section-title {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(28px, 2.4vw, 44px);
  line-height: 1.15;
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--text);
}

.cooperation-section-title::after {
  content: "";
  display: block;
  width: 60px;
  height: 2px;
  background: var(--burgundy);
  margin: 12px auto 0;
  opacity: 0.3;
}

.cooperation-shell {
  width: calc(100vw - 48px);
  margin: 0 auto;
}

.cooperation-section .cooperation-card {
  display: grid !important;
  grid-template-columns: minmax(240px, 0.9fr) minmax(0, 2.1fr) !important;
  grid-template-rows: auto !important;
  gap: 24px !important;
  align-items: center !important;
  padding: 28px !important;
}

.cooperation-section .cooperation-lead {
  margin: 0;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(16px, 1.05vw, 20px);
  line-height: 1.6;
  color: rgba(31, 31, 31, 0.82);
}

.cooperation-section .cooperation-title {
  display: none !important;
}

.cooperation-section .cooperation-image-wrap {
  aspect-ratio: 16 / 8 !important;
  min-height: 280px !important;
}

body.dark-mode .cooperation-section {
  background: #050505 !important;
}

body.dark-mode .cooperation-section-title,
body.dark-mode .cooperation-kicker {
  color: rgba(255, 255, 255, 0.88) !important;
}

body.dark-mode .cooperation-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}

body.dark-mode .cooperation-section .cooperation-lead {
  color: rgba(255, 255, 255, 0.78) !important;
}

.cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  height: auto !important;
}

/* карточки больше не растягиваем искусственно */
.direction-card,
.cooperation-card {
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 0 !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  padding: 20px !important;
  border-radius: 26px !important;
  overflow: hidden !important;
}

/* верх географии */
.cooperation-card-top {
  margin: 0 !important;
  padding: 0 !important;
}

/* одинаковая зона заголовка у направлений */
.direction-card-title {
  margin: 0 0 14px !important;
  min-height: 62px !important;

  display: block !important;

  font-size: clamp(21px, 1.22vw, 28px) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
}

.cooperation-section .cooperation-title {
  margin: 0 !important;
  min-height: auto !important;
}

/* блок картинки — сразу под заголовком, без пустоты снизу */
.direction-card-media-wrap,
.cooperation-image-wrap {
  margin-top: 0 !important;
  flex: none !important;

  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  aspect-ratio: 16 / 10 !important;

  padding: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;

  display: block !important;
}

/* картинки полностью заполняют свой блок */
.direction-card-media,
.cooperation-image,
.geo-map-preview-image {
  display: block !important;

  width: 100% !important;
  height: 100% !important;
  max-height: none !important;

  object-fit: cover !important;
  object-position: center center !important;
}

/* кнопка географии не должна менять размер картинки */
.geo-map-open-btn {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;

  cursor: zoom-in !important;
}

/* светлая тема */
body:not(.dark-mode) .direction-card,
body:not(.dark-mode) .cooperation-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(176, 138, 66, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 242, 0.98)) !important;
  border-color: rgba(176, 138, 66, 0.34) !important;
}

body:not(.dark-mode) .direction-card-title,
body:not(.dark-mode) .cooperation-title {
  color: var(--burgundy) !important;
}

body:not(.dark-mode) .direction-card-media-wrap,
body:not(.dark-mode) .cooperation-image-wrap {
  background: #f5efe6 !important;
  border-color: rgba(176, 138, 66, 0.22) !important;
}

/* тёмная тема */
body.dark-mode .direction-card,
body.dark-mode .cooperation-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #141414 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.26) !important;
}

body.dark-mode .direction-card-title,
body.dark-mode .cooperation-title {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .direction-card-media-wrap,
body.dark-mode .cooperation-image-wrap {
  background: #050505 !important;
  border-color: rgba(208, 181, 94, 0.18) !important;
}

/* планшеты */
@media (max-width: 1280px) {
  .directions-layout,
  .cooperation-shell {
    width: calc(100% - 28px) !important;
  }

  .cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .cooperation-section .cooperation-card {
    grid-template-columns: 1fr !important;
  }

  .direction-card-title {
    min-height: 54px !important;
    margin-bottom: 12px !important;
  }

  .direction-card-media-wrap {
    aspect-ratio: 16 / 9 !important;
  }

  .cooperation-section .cooperation-image-wrap {
    aspect-ratio: 16 / 9 !important;
    min-height: 0 !important;
  }
}

/* телефоны */
@media (max-width: 720px) {
  .directions-layout,
  .cooperation-shell {
    width: calc(100% - 20px) !important;
  }

  .cooperation-head {
    margin-bottom: 24px;
  }

  .cooperation-kicker {
    padding: 0 56px;
  }

  .cooperation-kicker::before,
  .cooperation-kicker::after {
    width: 42px;
  }

  .cooperation-section-title {
    font-size: 26px;
  }

  .cards-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .direction-card,
  .cooperation-section .cooperation-card {
    padding: 16px !important;
    border-radius: 22px !important;
  }

  .direction-card-title {
    min-height: auto !important;
    font-size: 24px !important;
    line-height: 1.14 !important;
    margin-bottom: 12px !important;
  }

  .direction-card-media-wrap {
    aspect-ratio: 16 / 10 !important;
    border-radius: 16px !important;
  }

  .cooperation-section .cooperation-image-wrap {
    aspect-ratio: 16 / 10 !important;
    border-radius: 16px !important;
    min-height: 0 !important;
  }
}

#site-footer {
  flex-shrink: 0 !important;
  margin-top: auto !important;
}

/* =========================
   AWARDS PAGE
========================= */

.awards-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(176, 138, 66, 0.10), transparent 34%),
    linear-gradient(180deg, #f8f5f0 0%, #f3eee7 100%);
  color: var(--text);
}

.awards-shell {
  width: min(1680px, calc(100% - 56px));
  margin: 0 auto;
}

.awards-hero {
  padding: 24px 0 18px;
}

.awards-breadcrumbs {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 28px;
  font-size: 14px;
  color: rgba(31, 31, 31, 0.48);
}

.awards-breadcrumbs a {
  color: rgba(31, 31, 31, 0.48);
  text-decoration: none;
}

.awards-breadcrumbs a:hover {
  color: var(--burgundy);
}

.awards-hero-layout {
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(340px, 0.78fr) minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.awards-intro,
.awards-hero-visual,
.awards-stat-card,
.awards-products-panel,
.awards-history-card,
.awards-entrepreneur-card,
.awards-docs-panel {
  border: 1px solid rgba(176, 138, 66, 0.24);
  background:
    radial-gradient(circle at 18% 12%, rgba(176, 138, 66, 0.08), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 247, 242, 0.98));
  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.055),
    0 1px 0 rgba(255, 255, 255, 0.78) inset;
}

.awards-intro {
  padding: clamp(26px, 3vw, 44px);
  border-radius: 28px;
}

.awards-kicker,
.awards-section-head span,
.awards-small-kicker {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 16px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(176, 138, 66, 0.96);
}

.awards-kicker::before,
.awards-section-head span::before,
.awards-small-kicker::before {
  content: "";
  width: 44px;
  height: 2px;
  background: currentColor;
  opacity: 0.62;
}

.awards-title {
  margin: 0 0 16px;
  max-width: 620px;
  font-size: clamp(34px, 3.4vw, 58px);
  line-height: 1.04;
  font-weight: 400;
  letter-spacing: -0.035em;
  color: var(--text);
}

.awards-lead {
  margin: 0;
  max-width: 560px;
  font-size: clamp(15px, 0.95vw, 18px);
  line-height: 1.55;
  color: rgba(31, 31, 31, 0.76);
}

.awards-hero-visual {
  min-height: 320px;
  max-height: 380px;
  border-radius: 28px;
  overflow: hidden;
}

.awards-hero-visual img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
}

.awards-image-slot {
  position: relative;
  display: block;
  padding: 0 !important;
  background: transparent !important;
  color: rgba(115, 10, 38, 0.42);
  overflow: hidden;
}

.awards-image-slot::before {
  display: none;
}

.awards-theme-img {
  position: absolute !important;
  inset: 0 !important;

  width: 100% !important;
  height: 100% !important;

  display: block !important;
  object-fit: cover !important;
  object-position: center center !important;

  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;

  opacity: 0;
  visibility: hidden;

  transition:
    opacity 0.35s ease,
    visibility 0.35s ease,
    transform 0.45s ease;
}

body:not(.dark-mode) .awards-theme-img--light {
  opacity: 1;
  visibility: visible;
}

body:not(.dark-mode) .awards-theme-img--dark {
  opacity: 0;
  visibility: hidden;
}

body.dark-mode .awards-theme-img--light {
  opacity: 0;
  visibility: hidden;
}

body.dark-mode .awards-theme-img--dark {
  opacity: 1;
  visibility: visible;
}

.award-product-card:hover .awards-theme-img,
.awards-hero-visual:hover .awards-theme-img,
.awards-history-card:hover .awards-theme-img,
.awards-entrepreneur-card:hover .awards-theme-img {
  transform: scale(1.035);
}

.awards-hero-visual .awards-theme-img,
.awards-trophy-placeholder .awards-theme-img,
.awards-doc-image .awards-theme-img {
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
}

.awards-map-placeholder .awards-theme-img {
  object-fit: cover !important;
  object-position: center center !important;
  padding: 0 !important;
}



.award-product-image {
  overflow: hidden !important;
  border-radius: 18px !important;
}

.award-product-image .awards-theme-img {
  border-radius: 18px !important;
}

.awards-stats-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-top: 24px;
}

.awards-stat-card {
  min-height: 150px;
  padding: 24px;
  border-radius: 26px;
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 18px;
  align-items: start;
}

.awards-stat-icon {
  grid-row: span 2;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  border: 1px solid rgba(176, 138, 66, 0.32);
  background: rgba(176, 138, 66, 0.08);
  color: var(--gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
}

.awards-stat-number {
  font-size: clamp(42px, 3.2vw, 66px);
  line-height: 0.9;
  color: var(--text);
  letter-spacing: -0.05em;
}

.awards-stat-card p {
  grid-column: 2;
  margin: 10px 0 0;
  font-size: 15px;
  line-height: 1.42;
  color: rgba(31, 31, 31, 0.68);
}

.awards-products-section,
.awards-history-section,
.awards-docs-section {
  padding: 18px 0;
}

.awards-products-panel,
.awards-docs-panel {
  border-radius: 34px;
  padding: clamp(24px, 2.6vw, 42px);
}

.awards-section-head {
  text-align: center;
  margin-bottom: 26px;
}

.awards-section-head h2 {
  margin: 0;
  font-size: clamp(34px, 2.8vw, 56px);
  line-height: 1.08;
  font-weight: 400;
  letter-spacing: -0.03em;
  color: var(--text);
}

.awards-products-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.award-product-card {
  min-height: 350px;
  padding: 20px;
  border-radius: 22px;
  border: 1px solid rgba(176, 138, 66, 0.22);
  background: rgba(255, 255, 255, 0.62);
  display: grid;
  grid-template-rows: 110px 160px auto;
  overflow: hidden;
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease;
}

.award-product-card:hover {
  transform: translateY(-5px);
  border-color: rgba(176, 138, 66, 0.48);
  box-shadow: 0 20px 42px rgba(115, 10, 38, 0.10);
}

.award-product-content {
  min-height: 110px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-bottom: 14px;
}

.award-product-content h3 {
  margin: 0 0 6px;
  color: var(--gold);
  font-size: 20px;
  line-height: 1.08;
  font-weight: 700;
}

.award-product-content p {
  margin: 0;
  color: rgba(31, 31, 31, 0.74);
  font-size: 15px;
  line-height: 1.42;
  font-weight: 400;

  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.award-product-image {
  height: 160px;
  margin: 0 0 14px;
  border-radius: 18px;
  background: transparent !important;
  overflow: hidden;
}

.award-product-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 8px;
}

.award-product-bottom {
  align-self: end;
  width: 100%;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(176, 138, 66, 0.18);
  color: rgba(31, 31, 31, 0.62);
  font-size: 14px;
  line-height: 1.25;
}

.award-product-bottom b {
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
}

.awards-history-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.7fr);
  gap: 18px;
  align-items: stretch;
}

.awards-history-card,
.awards-entrepreneur-card {
  border-radius: 34px;
  padding: clamp(28px, 2.3vw, 40px);
  min-height: 430px;
}

.awards-history-card {
  display: grid;
  grid-template-columns: minmax(320px, 0.85fr) minmax(0, 1fr);
  gap: 30px;
  align-items: stretch;
}

.awards-map-placeholder {
  min-height: 380px;
  border-radius: 28px;
  background: transparent !important;
}

.awards-timeline {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.awards-timeline h2,
.awards-entrepreneur-card h2 {
  margin: 0 0 18px;
  font-size: clamp(30px, 2vw, 40px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--text);
}

.awards-history-card .awards-small-kicker,
.awards-entrepreneur-card .awards-small-kicker {
  margin-bottom: 14px;
  font-size: 13px;
}

.awards-timeline-list {
  position: relative;
  flex: 1;
  display: grid;
  grid-template-rows: repeat(6, minmax(42px, 1fr));
  gap: 0;
  height: auto;
}

.awards-timeline-list::before {
  content: "";
  position: absolute;
  left: 35px;
  top: 10px;
  bottom: 10px;
  width: 1px;
  background: rgba(176, 138, 66, 0.36);
}

.awards-timeline-item {
  position: relative;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  min-height: 0;
}

.awards-timeline-item::before {
  content: "";
  position: absolute;
  left: 30px;
  top: 2px;
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: var(--gold);
  box-shadow: 0 0 0 5px rgba(176, 138, 66, 0.12);
}

.awards-timeline-item span {
  color: var(--gold);
  font-size: 21px;
  line-height: 1;
  margin-left: 50px;
  white-space: nowrap;
}

.awards-timeline-item p {
  margin: 0;
  margin-left: 15px;
  min-width: 0;
  color: rgba(31, 31, 31, 0.72);
  font-size: 15px;
  line-height: 1.42;
}

.awards-entrepreneur-card {
  display: flex;
  flex-direction: column;
}

.awards-entrepreneur-card p {
  margin: 0 0 18px;
  color: rgba(31, 31, 31, 0.72);
  font-size: 16px;
  line-height: 1.5;
}

.awards-years {
  display: flex;
  gap: 10px;
  margin-bottom: 24px;
}

.awards-years span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(176, 138, 66, 0.10);
  border: 1px solid rgba(176, 138, 66, 0.28);
  color: var(--gold);
  font-weight: 700;
}

.awards-trophy-placeholder {
  flex: 1;
  min-height: 260px;
  border-radius: 28px;
}

.awards-docs-section {
  padding-bottom: 72px;
}

.awards-docs-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin-top: 28px;
}

.awards-doc-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 18px;
  border-radius: 24px;
  background: #ffffff;
  border: 1px solid rgba(176, 138, 66, 0.18);
  box-shadow: 0 10px 30px rgba(39, 25, 10, 0.05);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.awards-doc-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(39, 25, 10, 0.1);
  border-color: rgba(176, 138, 66, 0.35);
}

.awards-doc-image {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4 / 3;
  border-radius: 18px;
  overflow: hidden;
  background: #f8f4ee;
  padding: 12px;
}

.awards-doc-image img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  border-radius: 10px;
}

.awards-doc-card p {
  margin: 0;
  font-size: 15px;
  line-height: 1.45;
  color: #3f3428;
}

body.dark-mode .awards-doc-card {
  background: #111111;
  border-color: rgba(208, 181, 94, 0.2);
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.35);
}

body.dark-mode .awards-doc-card:hover {
  border-color: rgba(208, 181, 94, 0.45);
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.45);
}

body.dark-mode .awards-doc-image {
  background: #181818;
}

body.dark-mode .awards-doc-card p {
  color: #f2eadf;
}

@media (max-width: 1200px) {
  .awards-docs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .awards-docs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .awards-docs-grid {
    grid-template-columns: 1fr;
  }

  .awards-doc-card {
    padding: 16px;
    border-radius: 20px;
  }

  .awards-doc-image {
    aspect-ratio: 4 / 3;
    padding: 10px;
  }

  .awards-doc-card p {
    font-size: 14px;
  }
}

/* dark */

body.dark-mode .awards-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(208, 181, 94, 0.07), transparent 34%),
    linear-gradient(180deg, #050505 0%, #090909 100%) !important;
}

body.dark-mode .awards-intro,
body.dark-mode .awards-hero-visual,
body.dark-mode .awards-stat-card,
body.dark-mode .awards-products-panel,
body.dark-mode .awards-history-card,
body.dark-mode .awards-entrepreneur-card,
body.dark-mode .awards-docs-panel,
body.dark-mode .award-product-card {
  background:
    radial-gradient(circle at 18% 12%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #141414 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .awards-title,
body.dark-mode .awards-section-head h2,
body.dark-mode .awards-timeline h2,
body.dark-mode .awards-entrepreneur-card h2,
body.dark-mode .awards-stat-number {
  color: rgba(255, 255, 255, 0.94) !important;
}

body.dark-mode .awards-lead,
body.dark-mode .awards-stat-card p,
body.dark-mode .award-product-content p,
body.dark-mode .awards-timeline-item p,
body.dark-mode .awards-entrepreneur-card p,
body.dark-mode .awards-doc-card p {
  color: rgba(255, 255, 255, 0.72) !important;
}

body.dark-mode .awards-breadcrumbs,
body.dark-mode .awards-breadcrumbs a,
body.dark-mode .award-product-bottom {
  color: rgba(255, 255, 255, 0.52) !important;
}

body.dark-mode .awards-breadcrumbs a:hover,
body.dark-mode .award-product-content h3,
body.dark-mode .awards-timeline-item span,
body.dark-mode .awards-kicker,
body.dark-mode .awards-section-head span,
body.dark-mode .awards-small-kicker,
body.dark-mode .award-product-bottom b {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .awards-image-slot {
  background:
    radial-gradient(circle at 50% 48%, rgba(208, 181, 94, 0.10), transparent 46%),
    linear-gradient(180deg, #111111 0%, #070707 100%) !important;
  color: rgba(208, 181, 94, 0.50) !important;
}



body.dark-mode .awards-stat-icon,
body.dark-mode .awards-years span {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.26) !important;
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .award-product-bottom,
body.dark-mode .awards-timeline-item p,
body.dark-mode .awards-timeline-list::before {
  border-color: rgba(208, 181, 94, 0.18) !important;
}

/* adaptive */

@media (max-width: 1400px) {

  .awards-products-grid,
  .awards-docs-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .awards-history-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 1100px) {
  .awards-hero-layout {
    grid-template-columns: 1fr;
  }

  .awards-stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .awards-history-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .awards-shell {
    width: calc(100% - 20px);
  }

  .awards-hero {
    padding: 24px 0 18px;
  }

  .awards-breadcrumbs {
    flex-wrap: wrap;
    font-size: 13px;
  }

  .awards-intro,
  .awards-hero-visual,
  .awards-products-panel,
  .awards-history-card,
  .awards-entrepreneur-card,
  .awards-docs-panel {
    border-radius: 24px;
  }

  .awards-intro,
  .awards-products-panel,
  .awards-history-card,
  .awards-entrepreneur-card,
  .awards-docs-panel {
    padding: 22px;
  }

  .awards-title {
    font-size: 32px;
  }

  .awards-hero-visual {
    min-height: 220px;
    max-height: none;
  }

  .awards-stats-grid,
  .awards-products-grid,
  .awards-docs-row {
    grid-template-columns: 1fr;
  }

  .awards-stat-card {
    min-height: auto;
  }

  .award-product-card {
    min-height: auto;
    grid-template-rows: auto 180px auto;
  }
  
  .award-product-content {
    min-height: auto;
    margin-bottom: 14px;
  }
  
  .award-product-image,
  .awards-doc-image {
    height: 180px;
  }

  .award-product-content h3 {
  font-size: 22px;
}

.award-product-content {
  min-height: 54px;
}

.award-product-content p {
  min-height: auto;
  font-size: 15px;
  line-height: 1.4;
}

.award-product-bottom {
  font-size: 13px;
}

.awards-history-grid {
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}

.awards-history-card,
.awards-entrepreneur-card {
  min-height: 0;
}

.awards-entrepreneur-card {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.awards-history-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 18px;
  align-items: start;
}

/* Разбираем вложенный блок, чтобы можно было поменять порядок:
   сначала заголовок, потом картинка, потом список */
.awards-timeline {
  display: contents;
}

.awards-timeline .awards-small-kicker {
  order: 1;
  margin: 0 0 -4px;
  font-size: 12px;
  line-height: 1.2;
}

.awards-timeline h2 {
  order: 2;
  margin: 0;
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: -0.02em;
}

.awards-map-placeholder {
  order: 3;
  width: 100%;
  height: 230px;
  min-height: 0;
  margin: 0;
  border-radius: 22px;
}

.awards-timeline-list {
  order: 4;
  display: grid;
  grid-template-rows: none;
  gap: 16px;
  height: auto;
  margin-top: 4px;
  padding-left: 0;
  flex: none;
}

.awards-timeline-list::before {
  left: 8px;
  top: 8px;
  bottom: 8px;
}

.awards-timeline-item {
  grid-template-columns: 62px minmax(0, 1fr);
  gap: 10px;
  min-height: auto;
  align-items: start;
}

.awards-timeline-item::before {
  left: 3px;
  top: 4px;
}

.awards-timeline-item span {
  margin-left: 22px;
  font-size: 18px;
  line-height: 1.15;
  white-space: nowrap;
}

.awards-timeline-item p {
  margin-left: 0;
  min-width: 0;
  font-size: 14px;
  line-height: 1.35;
  text-align: left;
}

.awards-trophy-placeholder {
  width: 100%;
  height: 220px;
  min-height: 220px;
  flex: 0 0 220px;
  border-radius: 22px;
}
}


body.dark-mode .award-product-content p {
  color: rgba(255, 255, 255, 0.74) !important;
  font-size: 15px !important;
  line-height: 1.42 !important;
}

body.dark-mode .award-product-bottom {
  border-top-color: rgba(208, 181, 94, 0.18) !important;
  color: rgba(255, 255, 255, 0.62) !important;
  font-size: 14px !important;
}

body.dark-mode .award-product-image {
  background:
    radial-gradient(circle at 50% 48%, rgba(208, 181, 94, 0.10), transparent 46%),
    linear-gradient(180deg, #111111 0%, #070707 100%) !important;
}

.home-project-image-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 20px;
  background: #f4efe7;
}

.home-project-image {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  display: block;
  object-fit: cover;
  object-position: center center;

  transition:
    opacity 0.35s ease,
    transform 0.45s ease;
}

.home-project-card:hover .home-project-image {
  transform: scale(1.035);
}

/* светлая тема */
body:not(.dark-mode) .home-project-image--light {
  opacity: 1;
  visibility: visible;
}

body:not(.dark-mode) .home-project-image--dark {
  opacity: 0;
  visibility: hidden;
}

/* тёмная тема */
body.dark-mode .home-project-image--light {
  opacity: 0;
  visibility: hidden;
}

body.dark-mode .home-project-image--dark {
  opacity: 1;
  visibility: visible;
}

body.dark-mode .home-project-image-wrap {
  background: #050505;
}

/* =========================================
   SOLUTION / SERVICES IMAGES — LIGHT / DARK
========================================= */

.solution-item-media,
.feature-row-media {
  position: relative;
  overflow: hidden;
  background: #f4efe7;
}

.solution-theme-img {
  position: absolute;
  inset: 0;

  width: 100%;
  height: 100%;

  display: block;
  object-fit: cover;
  object-position: center center;

  opacity: 0;
  visibility: hidden;

  transition:
    opacity 0.35s ease,
    visibility 0.35s ease,
    transform 0.45s ease;
}

/* светлая тема */
body:not(.dark-mode) .solution-theme-img--light {
  opacity: 1;
  visibility: visible;
}

body:not(.dark-mode) .solution-theme-img--dark {
  opacity: 0;
  visibility: hidden;
}

/* тёмная тема */
body.dark-mode .solution-theme-img--light {
  opacity: 0;
  visibility: hidden;
}

body.dark-mode .solution-theme-img--dark {
  opacity: 1;
  visibility: visible;
}

body.dark-mode .solution-item-media,
body.dark-mode .feature-row-media {
  background: #050505;
}

/* лёгкое увеличение при наведении */
.solution-item:hover .solution-theme-img,
.feature-row:hover .solution-theme-img {
  transform: scale(1.035);
}

/* =========================================================
   ABOUT PAGE — DARK MODE (final override)
   Светлый inset box-shadow из light-theme делал карточки «кремовыми».
========================================================= */

body.dark-mode .about-page {
  background:
    radial-gradient(circle at 50% 0%, rgba(208, 181, 94, 0.065), transparent 34%),
    linear-gradient(180deg, #050505 0%, #0a0a0a 48%, #050505 100%) !important;
}

body.dark-mode .about-page .about-intro-card,
body.dark-mode .about-page .about-top-card,
body.dark-mode .about-page .about-columns-card,
body.dark-mode .about-page .about-bottom-grid,
body.dark-mode .about-page .about-video-card,
body.dark-mode .about-page .about-content-card {
  background:
    radial-gradient(circle at 18% 10%, rgba(208, 181, 94, 0.085), transparent 34%),
    linear-gradient(180deg, #151515 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 20px 52px rgba(0, 0, 0, 0.46),
    0 1px 0 rgba(255, 255, 255, 0.045) inset !important;
}

body.dark-mode .about-page .about-video-frame {
  background: #0a0a0a !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32) !important;
}

body.dark-mode .about-page .about-kicker,
body.dark-mode .about-page .about-section-kicker {
  color: rgba(208, 181, 94, 0.78) !important;
}

/* =========================================================
   EQUIPMENT IMAGES — fit inside frame (final)
========================================================= */

.equipment-hero-image-placeholder {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 5 / 6;
  padding: clamp(14px, 2vw, 22px) !important;
  display: grid !important;
  place-items: center;
}

.equipment-image-fit {
  width: 100%;
  height: 100%;
  min-height: 0 !important;
  display: grid !important;
  place-items: center;
  overflow: hidden;
  box-sizing: border-box;
}

.equipment-station-media {
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: 4 / 3;
  max-height: 340px;
  padding: clamp(14px, 2vw, 22px) !important;
  display: grid !important;
  place-items: center;
}

.equipment-card-media {
  padding: clamp(14px, 2vw, 22px) !important;
  overflow: hidden !important;
  display: grid !important;
  place-items: center;
}

.equipment-hero-image-placeholder img,
.equipment-image-fit img,
.equipment-station-media img,
.equipment-card-media .equipment-card-image {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
}

.equipment-station-row:hover .equipment-station-media img,
.equipment-card:hover .equipment-card-image {
  transform: none !important;
}

@media (max-width: 680px) {
  .equipment-hero-image-placeholder {
    aspect-ratio: 4 / 5;
    width: 100% !important;
  }

  .equipment-station-media {
    max-height: none;
    aspect-ratio: 16 / 11;
  }
}
/* =========================
   EQUIPMENT DETAIL PAGE
========================= */

.equipment-detail-page {
  background:
    radial-gradient(circle at 50% -8%, rgba(176, 138, 66, 0.12), transparent 34%),
    linear-gradient(180deg, #f8f5f0 0%, #f3eee7 100%);
  color: var(--text);
}

.equipment-detail-shell {
  width: min(1480px, calc(100% - 56px));
  margin: 0 auto;
}

.equipment-detail-hero {
  padding: 42px 0 24px;
}

.equipment-detail-hero-card,
.equipment-detail-content,
.equipment-detail-side-card {
  border: 1px solid rgba(176, 138, 66, 0.28);
  background:
    radial-gradient(circle at 16% 12%, rgba(176, 138, 66, 0.10), transparent 35%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(250, 247, 242, 0.985));
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.065),
    0 1px 0 rgba(255, 255, 255, 0.82) inset;
}

.equipment-detail-hero-card {
  padding: clamp(34px, 4vw, 64px);
  border-radius: 34px;
}

.equipment-back-link {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 24px;
  color: var(--burgundy);
  text-decoration: none;
  font-size: 15px;
  font-weight: 800;
}

.equipment-detail-kicker {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.17em;
  text-transform: uppercase;
  color: rgba(176, 138, 66, 0.96);
}

.equipment-detail-kicker::before {
  content: "";
  width: 54px;
  height: 2px;
  background: currentColor;
  opacity: 0.62;
}

.equipment-detail-title {
  max-width: 1120px;
  margin: 0 0 20px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(38px, 4.3vw, 76px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: -0.052em;
  color: var(--text);
}

.equipment-detail-lead {
  max-width: 1040px;
  margin: 0;
  font-size: clamp(17px, 1.08vw, 21px);
  line-height: 1.62;
  color: rgba(31, 31, 31, 0.76);
}

.equipment-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 30px;
}

.equipment-detail-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(176, 138, 66, 0.10);
  border: 1px solid rgba(176, 138, 66, 0.24);
  color: var(--burgundy);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.equipment-detail-section {
  padding: 12px 0 84px;
}

.equipment-detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, 420px);
  gap: 20px;
  align-items: start;
}

.equipment-detail-content,
.equipment-detail-side-card {
  border-radius: 30px;
  padding: clamp(24px, 2.4vw, 38px);
}

.equipment-detail-block {
  margin-bottom: 34px;
}

.equipment-detail-block:last-child {
  margin-bottom: 0;
}

.equipment-detail-block h2,
.equipment-detail-side-card h2 {
  margin: 0 0 18px;
  font-family: "MyraidLight", sans-serif;
  font-size: clamp(26px, 2vw, 38px);
  line-height: 1.12;
  font-weight: 400;
  color: var(--burgundy);
}

.equipment-detail-block p,
.equipment-detail-side-card p {
  margin: 0;
  font-size: 17px;
  line-height: 1.68;
  color: rgba(31, 31, 31, 0.82);
}

.equipment-detail-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 10px;
}

.equipment-detail-list li {
  position: relative;
  padding: 14px 16px 14px 36px;
  border-radius: 16px;
  background: rgba(176, 138, 66, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.18);
  color: rgba(31, 31, 31, 0.82);
  font-size: 16px;
  line-height: 1.45;
}

.equipment-detail-list li::before {
  content: "";
  position: absolute;
  left: 16px;
  top: 20px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--burgundy);
  box-shadow: 0 0 0 5px rgba(115, 10, 38, 0.08);
}

.equipment-spec-table {
  display: grid;
  gap: 10px;
}

.equipment-spec-table div {
  display: grid;
  grid-template-columns: minmax(220px, 0.6fr) minmax(0, 1fr);
  gap: 16px;
  padding: 16px 18px;
  border-radius: 16px;
  background: rgba(176, 138, 66, 0.08);
  border: 1px solid rgba(176, 138, 66, 0.18);
}

.equipment-spec-table span {
  color: rgba(31, 31, 31, 0.52);
  font-size: 12px;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-weight: 900;
}

.equipment-spec-table b {
  color: rgba(31, 31, 31, 0.84);
  font-size: 16px;
  line-height: 1.4;
}

.equipment-detail-aside {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 16px;
}

.equipment-detail-contact-card a {
  display: inline-flex;
  margin-top: 22px;
  min-height: 44px;
  padding: 0 22px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--burgundy);
  color: #fff;
  text-decoration: none;
  font-weight: 800;
}

.equipment-detail-contact-card a::after {
  content: " →";
  margin-left: 8px;
}

/* DARK */

body.dark-mode .equipment-detail-page {
  background:
    radial-gradient(circle at 50% -8%, rgba(208, 181, 94, 0.08), transparent 34%),
    linear-gradient(180deg, #050505 0%, #090909 100%) !important;
}

body.dark-mode .equipment-detail-hero-card,
body.dark-mode .equipment-detail-content,
body.dark-mode .equipment-detail-side-card {
  background:
    radial-gradient(circle at 16% 12%, rgba(208, 181, 94, 0.08), transparent 35%),
    linear-gradient(180deg, #141414 0%, #090909 100%) !important;
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.50),
    0 1px 0 rgba(255, 255, 255, 0.04) inset;
}

body.dark-mode .equipment-detail-title {
  color: rgba(255, 255, 255, 0.94) !important;
}

body.dark-mode .equipment-detail-lead,
body.dark-mode .equipment-detail-block p,
body.dark-mode .equipment-detail-side-card p,
body.dark-mode .equipment-detail-list li,
body.dark-mode .equipment-spec-table b {
  color: rgba(255, 255, 255, 0.74) !important;
}

body.dark-mode .equipment-back-link,
body.dark-mode .equipment-detail-kicker,
body.dark-mode .equipment-detail-block h2,
body.dark-mode .equipment-detail-side-card h2,
body.dark-mode .equipment-detail-tags span {
  color: rgb(208, 181, 94) !important;
}

body.dark-mode .equipment-detail-tags span,
body.dark-mode .equipment-detail-list li,
body.dark-mode .equipment-spec-table div {
  background: rgba(208, 181, 94, 0.08) !important;
  border-color: rgba(208, 181, 94, 0.20) !important;
}

body.dark-mode .equipment-detail-list li::before {
  background: rgb(208, 181, 94) !important;
  box-shadow: 0 0 0 5px rgba(208, 181, 94, 0.10);
}

body.dark-mode .equipment-spec-table span {
  color: rgba(255, 255, 255, 0.52) !important;
}

body.dark-mode .equipment-detail-contact-card a {
  background: rgb(208, 181, 94) !important;
  color: #050505 !important;
}

/* ADAPTIVE */

@media (max-width: 980px) {
  .equipment-detail-shell {
    width: calc(100% - 24px);
  }

  .equipment-detail-layout {
    grid-template-columns: 1fr;
  }

  .equipment-detail-aside {
    position: static;
  }

  .equipment-spec-table div {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .equipment-detail-shell {
    width: calc(100% - 20px);
  }

  .equipment-detail-hero {
    padding: 28px 0 18px;
  }

  .equipment-detail-title {
    font-size: 34px;
  }

  .equipment-detail-hero-card,
  .equipment-detail-content,
  .equipment-detail-side-card {
    border-radius: 24px;
    padding: 22px;
  }
}

/* Stations page: hero image height and tags outside image block */

.equipment-stations-page .equipment-product-hero-grid {
  overflow: visible !important;
}

.equipment-stations-page .equipment-product-hero-media {
  overflow: visible !important;
}

.equipment-stations-page .equipment-hero-image-placeholder {
  height: 500px !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  overflow: visible !important;
}

/* сама картинка остается внутри, ширину не трогаем */
.equipment-stations-page .equipment-hero-image-placeholder .equipment-image-fit {
  overflow: hidden !important;
  border-radius: 22px !important;
}

/* плашки */
.equipment-stations-page .equipment-hero-tag {
  padding: 11px 18px !important;
  line-height: 1.15 !important;
  min-width: 150px !important;
  text-align: center !important;
  white-space: nowrap !important;
}

/* верхняя плашка — справа за блоком, немного наезжает */
.equipment-stations-page .equipment-hero-tag-1 {
  top: 50px !important;
  right: -96px !important;
}

/* средняя — сильнее наслаивается на картинку */
.equipment-stations-page .equipment-hero-tag-2 {
  top: 230px !important;
  right: -100px !important;
}

/* нижняя — справа, ближе к картинке */
.equipment-stations-page .equipment-hero-tag-3 {
  top: 410px !important;
  right: -136px !important;
  bottom: auto !important;
  left: auto !important;
}
/* Equipment patch helpers */
.equipment-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-left: 12px;
  padding: 0 22px;
  border-radius: 12px;
  border: 1px solid rgba(115, 10, 38, 0.28);
  color: var(--burgundy);
  background: rgba(255, 255, 255, 0.78);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.equipment-secondary-btn:hover {
  color: var(--burgundy);
  background: #fff;
  transform: translateY(-1px);
}

.equipment-small-note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.45;
  color: rgba(31, 31, 31, 0.58);
}

body.dark-mode .equipment-secondary-btn {
  color: rgb(208, 181, 94);
  background: rgba(208, 181, 94, 0.08);
  border-color: rgba(208, 181, 94, 0.28);
}

body.dark-mode .equipment-small-note {
  color: rgba(255, 255, 255, 0.58);
}

@media (max-width: 720px) {
  .equipment-secondary-btn {
    width: 100%;
    margin: 12px 0 0;
  }
}


/* Gallery of the exact approved photos supplied with the site TZ */
.equipment-approved-gallery{padding:0 0 34px;}
.equipment-approved-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;}
.equipment-approved-gallery-grid figure{margin:0;min-height:220px;border:1px solid rgba(115,10,38,.12);border-radius:18px;overflow:hidden;background:#f7f3ed;display:flex;align-items:center;justify-content:center;}
.equipment-approved-gallery-grid img{display:block;width:100%;height:100%;max-height:430px;object-fit:contain;}
@media(max-width:720px){.equipment-approved-gallery-grid{grid-template-columns:1fr}.equipment-approved-gallery-grid figure{min-height:180px}}

/* Exact approved project photo from the supplied TZ archive */
.case-detail-approved-photo{margin:28px 0 0;border-radius:18px;overflow:hidden;background:#f3eee6;}
.case-detail-approved-photo img{display:block;width:100%;height:auto;max-height:560px;object-fit:contain;}

/* =========================================================
   EQUIPMENT MEDIA — unified image layout
   31.08.2026
   Keeps the approved source images untouched; only normalizes
   their visual size, spacing and framing across equipment pages.
========================================================= */

/* Approved-photo strips: the frame now follows the image itself.
   All photos in a strip share one visual height, while their natural
   aspect ratio is preserved (portrait stays narrow, landscape wider). */
.equipment-approved-gallery-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
}

.equipment-approved-gallery-grid figure {
  flex: 0 0 auto !important;
  width: fit-content !important;
  max-width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  line-height: 0;
  border: 0 !important;
  border-radius: 18px !important;
  background: transparent !important;
  box-shadow: 0 8px 24px rgba(31, 31, 31, 0.06);
}

.equipment-approved-gallery-grid img {
  display: block !important;
  width: auto !important;
  height: clamp(220px, 14vw, 300px) !important;
  max-width: 100% !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 1px solid rgba(115, 10, 38, 0.12);
  border-radius: 18px !important;
  box-sizing: border-box;
}

/* Main product image: remove the oversized artificial portrait frame.
   The visible frame now hugs the real photo instead of forcing every
   source image into the same 5:6 box. */
.equipment-product-hero-media .equipment-hero-image-placeholder {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: min(560px, 90%) !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.equipment-product-hero-media .equipment-hero-image-placeholder .equipment-image-fit {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: hidden !important;
  border-radius: 24px !important;
  background: transparent !important;
}

.equipment-product-hero-media .equipment-hero-image-placeholder img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 480px !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 1px solid rgba(176, 138, 66, 0.24);
  border-radius: 24px !important;
  box-sizing: border-box;
  box-shadow: 0 18px 38px rgba(31, 31, 31, 0.08);
}

/* Equipment listing/category cards: keep the media column for layout,
   but remove the visible oversized empty box around portrait images. */
.equipment-station-media {
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.equipment-station-media .equipment-image-fit {
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

.equipment-station-media img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 320px !important;
  margin: 0 auto !important;
  object-fit: contain !important;
  object-position: center center !important;
  border: 1px solid rgba(176, 138, 66, 0.20);
  border-radius: 20px !important;
  box-sizing: border-box;
  box-shadow: 0 12px 30px rgba(31, 31, 31, 0.07);
  transform: none !important;
}

body.dark-mode .equipment-approved-gallery-grid img,
body.dark-mode .equipment-product-hero-media .equipment-hero-image-placeholder img,
body.dark-mode .equipment-station-media img {
  border-color: rgba(208, 181, 94, 0.24) !important;
  box-shadow: 0 16px 38px rgba(0, 0, 0, 0.34) !important;
}

@media (max-width: 980px) {
  .equipment-approved-gallery-grid img {
    height: clamp(210px, 30vw, 280px) !important;
  }

  .equipment-product-hero-media .equipment-hero-image-placeholder img {
    max-height: 420px !important;
  }
}

@media (max-width: 680px) {
  .equipment-approved-gallery-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .equipment-approved-gallery-grid figure {
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none;
  }

  .equipment-approved-gallery-grid img {
    width: 100% !important;
    height: auto !important;
    max-height: 360px !important;
  }

  .equipment-product-hero-media .equipment-hero-image-placeholder {
    width: 100% !important;
    max-width: 100% !important;
  }

  .equipment-product-hero-media .equipment-hero-image-placeholder .equipment-image-fit {
    width: 100% !important;
  }

  .equipment-product-hero-media .equipment-hero-image-placeholder img {
    width: auto !important;
    max-width: 100% !important;
    max-height: 380px !important;
  }

  .equipment-station-media img {
    max-height: 300px !important;
  }
}
/* ==============================
   Equipment image lightbox
   ============================== */

.equipment-approved-gallery-grid img {
  cursor: zoom-in;
}

/* затемнение */
.equipment-lightbox {
  position: fixed;
  inset: 0;
  z-index: 99999;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 32px;
  background: rgba(15, 12, 12, 0.88);

  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.equipment-lightbox.is-open {
  opacity: 1;
  visibility: visible;
}

/* увеличенная фотография */
.equipment-lightbox__image {
  display: block;

  max-width: min(94vw, 1500px);
  max-height: 90vh;

  width: auto;
  height: auto;

  object-fit: contain;

  border-radius: 18px;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.35);

  cursor: zoom-out;
}

/* крестик */
.equipment-lightbox__close {
  position: absolute;
  top: 22px;
  right: 26px;

  width: 48px;
  height: 48px;

  display: flex;
  align-items: center;
  justify-content: center;

  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 50%;

  background: rgba(255, 255, 255, 0.1);
  color: #fff;

  font-size: 30px;
  line-height: 1;

  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease;
}

.equipment-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.2);
  transform: scale(1.05);
}

body.equipment-lightbox-open {
  overflow: hidden;
}

@media (max-width: 720px) {
  .equipment-lightbox {
    padding: 16px;
  }

  .equipment-lightbox__image {
    max-width: 96vw;
    max-height: 86vh;
    border-radius: 12px;
  }

  .equipment-lightbox__close {
    top: 12px;
    right: 12px;
  }
}


/* =========================================================
   TZ 26.08 / 03.09 — exact layout corrections
========================================================= */

/* ABOUT / PASSAT: light card, muted burgundy logo, +15–20%, burgundy border, subtle shadow */
body:not(.dark-mode) .about-passat-logo-frame {
  min-width: 292px;
  min-height: 92px;
  padding: 14px 20px;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(115,10,38,.36);
  box-shadow: 0 12px 28px rgba(74,22,35,.10);
}
body:not(.dark-mode) .about-passat-logo {
  width: min(258px, 100%);
  filter: sepia(.65) saturate(4.2) hue-rotate(300deg) brightness(.62) contrast(1.18);
}

/* SERVICES GENERAL: alternating text/image 01–04 */
.services-feature-section .feature-row:nth-child(even) {
  grid-template-columns: minmax(340px, .78fr) minmax(0, .95fr);
}
.services-feature-section .feature-row:nth-child(even) .feature-row-content { order: 2; }
.services-feature-section .feature-row:nth-child(even) .feature-row-media { order: 1; }

/* SHAFT COMPLEX GENERAL: 5 compact, visually equal cards */
.shaft-complex-page .solution-item {
  min-height: 330px;
}
.shaft-complex-page .solution-item-media {
  height: 258px;
  min-height: 258px;
}
.shaft-complex-page .solution-item-media img,
.shaft-complex-page .solution-theme-img {
  min-height: 258px;
  height: 100%;
}
.shaft-complex-page .solution-item-content {
  align-self: center;
}

/* Reusable exact TZ grids */
.tz-card-grid,
.case-detail-list--grid-2x2,
.case-detail-list--grid-2x3 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 26px;
}
.tz-card-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tz-card-grid--2,
.tz-card-grid--2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tz-card {
  padding: 17px 18px;
  border-radius: 16px;
  background: rgba(176,138,66,.08);
  border: 1px solid rgba(176,138,66,.18);
  color: rgba(31,31,31,.84);
  font-size: 15px;
  line-height: 1.48;
}
.tz-card strong { display: block; color: var(--burgundy); font-size: 16px; line-height: 1.35; }
.tz-card p { margin: 9px 0 0 !important; font-size: 15px !important; line-height: 1.5 !important; }
.tz-card ul { margin: 10px 0 0; padding-left: 18px; }
.tz-card li { margin: 5px 0; }

/* compact list requested instead of large cards */
.case-detail-list--compact {
  gap: 4px;
}
.case-detail-list--compact li {
  padding: 8px 8px 8px 25px;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 15px;
  line-height: 1.45;
}
.case-detail-list--compact li::before {
  left: 7px;
  top: 15px;
  width: 6px;
  height: 6px;
  box-shadow: none;
}
.case-detail-list--focus li {
  padding-top: 7px;
  padding-bottom: 7px;
}

.tz-accent-line {
  margin: 18px 0 26px !important;
  padding: 14px 18px;
  border-left: 3px solid var(--burgundy);
  border-radius: 0 14px 14px 0;
  background: rgba(115,10,38,.055);
  font-size: 18px !important;
  line-height: 1.5 !important;
}
.tz-emphasis-block,
.tz-accent-panel {
  margin: 30px 0;
  padding: 24px;
  border-radius: 22px;
  border: 1px solid rgba(115,10,38,.22);
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,244,240,.96));
}
.tz-emphasis-block h2,
.tz-accent-panel h2 { margin-top: 0; }

.tz-table-wrap { overflow-x: auto; margin: 0 0 26px; }
.tz-tech-table { width: 100%; border-collapse: collapse; min-width: 580px; }
.tz-tech-table th,
.tz-tech-table td { padding: 12px 14px; border-bottom: 1px solid rgba(176,138,66,.20); text-align: left; vertical-align: top; }
.tz-tech-table th { color: var(--burgundy); background: rgba(176,138,66,.08); font-weight: 700; }

/* Solution detail image with light/dark pair */
.solution-detail-image-card.tz-solution-main-image,
.shaft-brake-page .solution-detail-image-card,
.shaft-recorder-page .solution-detail-image-card,
.shaft-modernization-page .solution-detail-image-card {
  position: relative;
  min-height: 260px;
}
.solution-detail-image-card .solution-theme-img { min-height: 260px; }

/* LAB accreditation accordion + certificate */
.tz-accordion {
  margin-top: 16px;
  border: 1px solid rgba(176,138,66,.24);
  border-radius: 16px;
  background: rgba(176,138,66,.06);
  overflow: hidden;
}
.tz-accordion summary {
  cursor: pointer;
  padding: 14px 16px;
  color: var(--burgundy);
  font-weight: 700;
  list-style: none;
}
.tz-accordion summary::-webkit-details-marker { display: none; }
.tz-accordion[open] summary { border-bottom: 1px solid rgba(176,138,66,.18); }
.tz-accordion .case-detail-list { padding: 10px 14px 14px; }
.laboratory-certificate-preview {
  width: 100%;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
}
.laboratory-certificate-preview object { display:block; width:100%; height:520px; }
.laboratory-certificate-actions { display:flex; flex-wrap:wrap; gap:10px; }
.case-detail-cta--secondary { background: transparent; color: var(--burgundy); border: 1px solid rgba(115,10,38,.32); }
.case-detail-cta--secondary::after { content: none; }

/* dark mode for new blocks */
body.dark-mode .tz-card,
body.dark-mode .tz-emphasis-block,
body.dark-mode .tz-accent-panel,
body.dark-mode .tz-accordion {
  background: rgba(208,181,94,.07) !important;
  border-color: rgba(208,181,94,.22) !important;
  color: rgba(255,255,255,.78) !important;
}
body.dark-mode .tz-card strong,
body.dark-mode .tz-tech-table th,
body.dark-mode .tz-accordion summary,
body.dark-mode .case-detail-cta--secondary { color: rgb(208,181,94) !important; }
body.dark-mode .tz-accent-line { background: rgba(208,181,94,.07); border-left-color: rgb(208,181,94); color: rgba(255,255,255,.82) !important; }
body.dark-mode .tz-tech-table td { color: rgba(255,255,255,.76); border-color: rgba(208,181,94,.18); }
body.dark-mode .tz-tech-table th { background: rgba(208,181,94,.08); }
body.dark-mode .case-detail-cta--secondary { border-color: rgba(208,181,94,.35); }

@media (max-width: 920px) {
  .services-feature-section .feature-row:nth-child(even) { grid-template-columns: 1fr; }
  .services-feature-section .feature-row:nth-child(even) .feature-row-content,
  .services-feature-section .feature-row:nth-child(even) .feature-row-media { order: initial; }
  .tz-card-grid--3 { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .tz-card-grid,
  .tz-card-grid--2,
  .tz-card-grid--2x2,
  .case-detail-list--grid-2x2,
  .case-detail-list--grid-2x3 { grid-template-columns: 1fr; }
  .shaft-complex-page .solution-item { min-height: 0; }
  .shaft-complex-page .solution-item-media { height: 220px; min-height: 220px; }
  .laboratory-certificate-preview object { height: 380px; }
}

.laboratory-certificate-preview iframe {
  display: block;
  width: 100%;
  height: 720px;
  border: 0;
}

@media (max-width: 768px) {
  .laboratory-certificate-preview iframe {
    height: 520px;
  }
}

/* PASSAT card remains light and logo burgundy in both theme modes per TZ */
body.dark-mode .about-passat-logo-frame {
  min-width: 292px !important;
  min-height: 92px !important;
  padding: 14px 20px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(115,10,38,.36) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.24) !important;
}
body.dark-mode .about-passat-logo {
  width: min(258px, 100%);
  filter: sepia(.65) saturate(4.2) hue-rotate(300deg) brightness(.62) contrast(1.18);
}

/* Current item where the TZ explicitly requires the active subsection to remain in the right navigation. */
.solution-detail-nav a.is-current {
  color: var(--burgundy);
  font-weight: 700;
  background: rgba(115,10,38,.055);
  pointer-events: none;
}
body.dark-mode .solution-detail-nav a.is-current {
  color: rgb(208,181,94) !important;
  background: rgba(208,181,94,.07);
}

/* =========================================================
   FIX — RIGHT SOLUTION SIDEBAR
   Картинка не перекрывает навигацию
========================================================= */

.solution-detail-aside {
  position: sticky;
  top: 90px;
  align-self: start;

  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* ВАЖНО: sticky остается только у всей правой колонки */
.solution-detail-aside .solution-detail-image-card {
  position: relative !important;
  top: auto !important;

  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 3 / 2;

  flex: 0 0 auto;

  overflow: hidden;
  border-radius: 24px;
}

/* Обычная одиночная картинка */
.solution-detail-aside .solution-detail-image-card > img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  object-fit: cover;
  object-position: center center;
}

/* Light / dark картинки */
.solution-detail-aside .solution-detail-image-card > .solution-theme-img {
  position: absolute !important;
  inset: 0;

  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  object-fit: cover;
  object-position: center center;
}

/* Навигация всегда идет ПОСЛЕ изображения */
.solution-detail-aside .solution-detail-nav {
  position: relative;
  z-index: 2;
  margin: 0;
  flex: 0 0 auto;
}

.laboratory-certificate-image {
  width: 100%;
  margin-top: 18px;
  overflow: hidden;
  border-radius: 18px;
  background: #fff;
}

.laboratory-certificate-image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.laboratory-certificate-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

/* =========================================================
   NEWS — отдельные страницы и кликабельные карточки
   ========================================================= */

   a.news-page-card--link {
    color: inherit;
    text-decoration: none;
    cursor: pointer;
  }
  
  a.news-page-card--link:visited {
    color: inherit;
  }
  
  a.news-page-card--link:focus-visible {
    outline: 2px solid #b08a42;
    outline-offset: 4px;
  }
  
  .news-detail-content .news-detail-image {
    width: 100%;
    margin: 28px 0;
    overflow: hidden;
    border-radius: 20px;
  }
  
  .news-detail-content .news-detail-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 760px;
    object-fit: contain;
  }
  
  .news-detail-content blockquote cite {
    display: block;
    margin-top: 14px;
    font-style: normal;
    font-size: 0.9em;
    opacity: 0.72;
  }
  
  @media (max-width: 768px) {
    .news-detail-content .news-detail-image {
      margin: 20px 0;
      border-radius: 14px;
    }
  
    .news-detail-content .news-detail-image img {
      max-height: none;
    }
  }

  /* =========================================================
   NEWS DETAIL — DARK THEME
   ========================================================= */

body.dark-mode .news-detail-page {
  background:
    radial-gradient(
      circle at 82% 8%,
      rgba(176, 138, 66, 0.08),
      transparent 32%
    ),
    radial-gradient(
      circle at 10% 70%,
      rgba(115, 10, 38, 0.08),
      transparent 34%
    ),
    #111110;

  color: #f2ede6;
}

body.dark-mode .news-detail-hero {
  background: transparent;
}

body.dark-mode .news-detail-card {
  background:
    linear-gradient(
      145deg,
      rgba(31, 30, 28, 0.98),
      rgba(22, 21, 20, 0.98)
    );

  border: 1px solid rgba(176, 138, 66, 0.28);

  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.025);

  color: #eee7dd;
}

body.dark-mode .news-detail-title {
  color: #f6f0e8;
}

body.dark-mode .news-detail-content {
  color: #ded7cd;
}

body.dark-mode .news-detail-content p,
body.dark-mode .news-detail-content li {
  color: rgba(238, 231, 221, 0.86);
}

body.dark-mode .news-detail-content h2,
body.dark-mode .news-detail-content h3 {
  color: #f3ece2;
}

body.dark-mode .news-detail-content strong {
  color: #fffaf3;
}

body.dark-mode .news-detail-back {
  color: #c5a66a;
}

body.dark-mode .news-detail-back:hover {
  color: #e0c48d;
}

body.dark-mode .news-page-category {
  color: #e1b6c1;

  background: rgba(115, 10, 38, 0.20);

  border: 1px solid rgba(153, 46, 76, 0.34);
}

body.dark-mode .news-page-date {
  color: rgba(238, 231, 221, 0.60);
}

body.dark-mode .news-detail-content blockquote {
  background:
    linear-gradient(
      135deg,
      rgba(115, 10, 38, 0.14),
      rgba(176, 138, 66, 0.06)
    );

  border-left: 3px solid #b08a42;

  color: #eee5da;
}

body.dark-mode .news-detail-content blockquote cite {
  color: rgba(224, 211, 194, 0.68);
}

body.dark-mode .news-detail-image {
  background: #191817;

  border: 1px solid rgba(176, 138, 66, 0.20);

  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.30);
}

body.dark-mode .news-detail-image img {
  background: #191817;
}

body.dark-mode .news-detail-content a {
  color: #d0ad6c;
}

body.dark-mode .news-detail-content a:hover {
  color: #ead09c;
} 

@media (max-width: 768px) {
  body.dark-mode .news-detail-card {
    border-color: rgba(176, 138, 66, 0.20);

    box-shadow:
      0 18px 42px rgba(0, 0, 0, 0.28);
  }
}

/* =========================================================
   CONTACTS — FEEDBACK FORM
   ========================================================= */

   .contacts-feedback-section {
    padding: 0 24px 80px;
  }
  
  .contacts-feedback-shell {
    width: 100%;
    max-width: 1360px;
    margin: 0 auto;
  }
  
  .contacts-feedback-card {
    padding: 42px 46px;
    border: 1px solid rgba(176, 138, 66, 0.34);
    border-radius: 28px;
  
    background:
      radial-gradient(
        circle at 92% 8%,
        rgba(176, 138, 66, 0.08),
        transparent 32%
      ),
      #fbf8f2;
  
    box-shadow:
      0 24px 60px rgba(91, 70, 38, 0.08);
  }
  
  .contacts-feedback-head {
    max-width: 760px;
    margin-bottom: 30px;
  }
  
  .contacts-feedback-head h2 {
    margin: 8px 0 10px;
    color: #8f092c;
    font-size: clamp(30px, 3vw, 46px);
    line-height: 1.08;
    font-weight: 400;
  }
  
  .contacts-feedback-head p {
    margin: 0;
    color: #504943;
    font-size: 16px;
    line-height: 1.6;
  }
  
  .contacts-feedback-form {
    width: 100%;
  }
  
  .contacts-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  
  .contacts-form-field {
    min-width: 0;
  }
  
  .contacts-form-field--wide {
    grid-column: 1 / -1;
  }
  
  .contacts-form-field label {
    display: block;
    margin-bottom: 8px;
  
    color: #392f2a;
    font-size: 14px;
    font-weight: 500;
  }
  
  .contacts-form-field label span {
    color: #8f092c;
  }
  
  .contacts-form-field input,
  .contacts-form-field textarea {
    display: block;
    width: 100%;
  
    padding: 14px 16px;
  
    border: 1px solid rgba(176, 138, 66, 0.34);
    border-radius: 14px;
    outline: none;
  
    background: rgba(255, 255, 255, 0.84);
  
    color: #28221f;
    font: inherit;
  
    transition:
      border-color 0.2s ease,
      box-shadow 0.2s ease,
      background 0.2s ease;
  }
  
  .contacts-form-field textarea {
    min-height: 150px;
    resize: vertical;
  }
  
  .contacts-form-field input:focus,
  .contacts-form-field textarea:focus {
    border-color: #9a1638;
    background: #fff;
  
    box-shadow:
      0 0 0 3px rgba(143, 9, 44, 0.08);
  }
  
  .contacts-form-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
  
    margin-top: 24px;
  }
  
  .contacts-form-consent {
    display: flex;
    align-items: flex-start;
    gap: 10px;
  
    max-width: 680px;
  
    color: #655d57;
    font-size: 13px;
    line-height: 1.45;
  }
  
  .contacts-form-consent input {
    width: 16px;
    height: 16px;
    margin-top: 2px;
  
    accent-color: #8f092c;
  }
  
  .contacts-form-submit {
    flex: 0 0 auto;
  
    min-height: 48px;
    padding: 0 24px;
  
    border: 0;
    border-radius: 999px;
  
    background: #8f092c;
  
    color: #fff;
    font: inherit;
    font-weight: 500;
  
    cursor: pointer;
  
    transition:
      transform 0.2s ease,
      background 0.2s ease,
      box-shadow 0.2s ease;
  }
  
  .contacts-form-submit:hover {
    background: #a00d35;
    transform: translateY(-1px);
  
    box-shadow:
      0 12px 28px rgba(143, 9, 44, 0.18);
  }
  
  .contacts-form-message {
    margin-bottom: 24px;
    padding: 14px 16px;
  
    border-radius: 14px;
  
    font-size: 14px;
    line-height: 1.5;
  }
  
  .contacts-form-message--success {
    border: 1px solid rgba(70, 133, 88, 0.28);
    background: rgba(70, 133, 88, 0.08);
    color: #315e3d;
  }
  
  .contacts-form-message--error {
    border: 1px solid rgba(143, 9, 44, 0.24);
    background: rgba(143, 9, 44, 0.06);
    color: #8f092c;
  }
  
  .contacts-form-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
  }
  
  
  /* CONTACT FORM — DARK THEME */
  
  body.dark-mode .contacts-feedback-card {
    border-color: rgba(176, 138, 66, 0.24);
  
    background:
      radial-gradient(
        circle at 92% 8%,
        rgba(176, 138, 66, 0.08),
        transparent 32%
      ),
      linear-gradient(
        145deg,
        #201f1d,
        #171614
      );
  
    box-shadow:
      0 28px 64px rgba(0, 0, 0, 0.28);
  }
  
  body.dark-mode .contacts-feedback-head h2 {
    color: #f3ece3;
  }
  
  body.dark-mode .contacts-feedback-head p {
    color: rgba(238, 231, 221, 0.72);
  }
  
  body.dark-mode .contacts-form-field label {
    color: #e9e1d7;
  }
  
  body.dark-mode .contacts-form-field label span {
    color: #d3a25c;
  }
  
  body.dark-mode .contacts-form-field input,
  body.dark-mode .contacts-form-field textarea {
    border-color: rgba(176, 138, 66, 0.22);
  
    background: rgba(255, 255, 255, 0.045);
  
    color: #f3ede5;
  }
  
  body.dark-mode .contacts-form-field input:focus,
  body.dark-mode .contacts-form-field textarea:focus {
    border-color: #b08a42;
  
    background: rgba(255, 255, 255, 0.065);
  
    box-shadow:
      0 0 0 3px rgba(176, 138, 66, 0.08);
  }
  
  body.dark-mode .contacts-form-consent {
    color: rgba(238, 231, 221, 0.64);
  }
  
  body.dark-mode .contacts-form-submit {
    background: #8f092c;
  }
  
  body.dark-mode .contacts-form-submit:hover {
    background: #a7133d;
  }
  
  body.dark-mode .contacts-form-message--success {
    color: #b9d8c1;
    border-color: rgba(108, 177, 127, 0.25);
    background: rgba(70, 133, 88, 0.10);
  }
  
  body.dark-mode .contacts-form-message--error {
    color: #efb6c4;
    border-color: rgba(184, 67, 98, 0.26);
    background: rgba(143, 9, 44, 0.12);
  }
  
  
  /* CONTACT FORM — MOBILE */
  
  @media (max-width: 768px) {
    .contacts-feedback-section {
      padding: 0 16px 56px;
    }
  
    .contacts-feedback-card {
      padding: 28px 20px;
      border-radius: 22px;
    }
  
    .contacts-form-grid {
      grid-template-columns: 1fr;
      gap: 16px;
    }
  
    .contacts-form-field--wide {
      grid-column: auto;
    }
  
    .contacts-form-footer {
      flex-direction: column;
      align-items: stretch;
    }
  
    .contacts-form-submit {
      width: 100%;
    }
  }