/* Rolgrad Base Styles */


:root {
  --ink:    #0a1628;
  --blue:   #003a79;
  --blue2:  #0b4a91;
  --blue3:  #1a6bd4;
  --gold:   #ff9900;
  --gold2:  #e88800;
  --white:  #ffffff;
  --off:    #f5f7fa;
  --muted:  #6b7a8d;
  --border: rgba(0,58,121,.12);
  --glow:   0 0 40px rgba(255,153,0,.25);

  --r-sm: 10px;
  --r:    16px;
  --r-lg: 24px;
  --r-xl: 32px;

  --sh:    0 4px 24px rgba(10,22,40,.08);
  --sh-md: 0 8px 40px rgba(10,22,40,.12);
  --sh-lg: 0 20px 60px rgba(10,22,40,.18);
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  font-family: 'Manrope', 'PT Sans', sans-serif;
  color: var(--ink);
  background: var(--white);
  overflow-x: hidden;
  line-height: 1;
}
img { max-width: 100%; display: block; }
a { text-decoration: none; color: inherit; }
button { font-family: inherit; }

.w { width: min(100% - 48px, 1240px); margin: 0 auto; }
.sr-only { position: absolute; left: -9999px; }

.t-hero   { font-size: clamp(36px, 5vw, 72px); font-weight: 900; line-height: 1.0; letter-spacing: -0.03em; }
.t-h1     { font-size: clamp(28px, 4vw, 52px); font-weight: 800; line-height: 1.08; letter-spacing: -0.025em; }
.t-h2     { font-size: clamp(22px, 3vw, 38px); font-weight: 800; line-height: 1.1;  letter-spacing: -0.02em; }
.t-h3     { font-size: clamp(16px, 2vw, 22px); font-weight: 700; line-height: 1.3; }
.t-body   { font-size: 16px; font-weight: 500; line-height: 1.65; color: var(--muted); }
.t-small  { font-size: 13px; font-weight: 500; line-height: 1.5; }
.t-label  { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.t-price  { font-size: 20px; font-weight: 800; }
.t-num    { font-size: clamp(40px, 5vw, 64px); font-weight: 900; letter-spacing: -0.03em; line-height: 1; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 52px; padding: 0 28px; border-radius: var(--r-sm);
  font-family: inherit; font-size: 15px; font-weight: 700;
  cursor: pointer; border: none; outline: none; white-space: nowrap;
  position: relative; overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  text-decoration: none !important;
}
.btn::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 50%, transparent 100%);
  transform: translateX(-100%) skewX(-15deg);
}
.btn:hover::after { animation: btnShine .6s ease forwards; }
@keyframes btnShine { to { transform: translateX(200%) skewX(-15deg); } }
.btn:hover { transform: translateY(-2px); }
.btn:active { transform: translateY(0); }

.btn-gold   { background: var(--gold); color: #fff !important; box-shadow: 0 8px 24px rgba(255,153,0,.35); }
.btn-gold:hover { background: var(--gold2); box-shadow: 0 12px 32px rgba(255,153,0,.45); }
.btn-dark   { background: var(--ink); color: #fff !important; }
.btn-dark:hover { background: #172035; }
.btn-blue   { background: var(--blue); color: #fff !important; box-shadow: 0 6px 20px rgba(0,58,121,.3); }
.btn-blue:hover { background: var(--blue2); }
.btn-outline-w { background: transparent; color: #fff !important; border: 2px solid rgba(255,255,255,.35); }
.btn-outline-w:hover { border-color: var(--gold); background: rgba(255,153,0,.08); }
.btn-outline-b { background: transparent; color: var(--blue) !important; border: 2px solid var(--border); }
.btn-outline-b:hover { border-color: var(--blue); background: rgba(0,58,121,.04); }

.btn-sm { height: 42px; padding: 0 20px; font-size: 13px; border-radius: 8px; }
.btn-lg { height: 60px; padding: 0 36px; font-size: 16px; }
.btn-full { width: 100%; }

.chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 5px 12px; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.chip-gold { background: rgba(255,153,0,.12); color: var(--gold2); border: 1px solid rgba(255,153,0,.25); }
.chip-blue { background: rgba(0,58,121,.08); color: var(--blue2); border: 1px solid rgba(0,58,121,.14); }
.chip-white { background: rgba(255,255,255,.12); color: rgba(255,255,255,.85); border: 1px solid rgba(255,255,255,.18); }

#nav-sticky {
  position: fixed; top: 0; left: 0; right: 0; z-index: 9998;
  background: rgba(8,18,36,.95);
  backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(255,255,255,.07);
  display: flex; align-items: center;
  padding: 0 20px; gap: 16px; height: 52px;
  transform: translateY(-100%); transition: transform .3s ease;
  overflow: visible;
}
#nav-sticky.show { transform: translateY(0); }
.ns-logo img { height: 26px; flex-shrink: 0; }
.ns-sep { width: 1px; height: 26px; background: rgba(255,255,255,.12); flex-shrink: 0; }

.ns-phones {
  order: 2;
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  display: flex; align-items: center; justify-content: center; gap: 18px;
  width: max-content; min-width: 0; z-index: 2;
}
.ns-phone { font-size: 15px; font-weight: 800; color: #fff; text-decoration: none; white-space: nowrap; }
.ns-phone:hover { color: var(--gold); }

.ns-addr {
  order: 1;
  flex: 0 1 420px;
  text-align: left;
  font-size: 12px; font-weight: 500; color: rgba(255,255,255,.58);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  cursor: pointer; user-select: none;
  display: flex; align-items: center; justify-content: flex-start; gap: 6px;
  overflow: visible;
}
.ns-addr span { overflow: hidden; text-overflow: ellipsis; }
.ns-addr:hover .ns-pin { color: var(--gold); }

.ns-pin {
  color: var(--gold); font-size: 13px; flex-shrink: 0;
  animation: pinPulse 2s ease-in-out infinite;
  cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center;
  line-height: 1; position: relative; overflow: visible;
  transform-origin: center center;
}
@keyframes pinPulse {
  0%,100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.25); opacity: .75; }
}

.ns-actions { order: 3; display: flex; gap: 6px; flex-shrink: 0; margin-left: auto; }
.ns-btn {
  position: relative;
  display: flex; align-items: center; justify-content: center; flex-direction: column;
  gap: 2px; width: 48px; height: 40px; border-radius: 7px;
  background: rgba(255,255,255,.08); border: 1px solid transparent; color: rgba(255,255,255,.65);
  cursor: pointer; font-size: 9px; font-weight: 700; text-decoration: none;
  transition: background .2s, color .2s, border-color .2s, box-shadow .2s;
  overflow: hidden;
}
.ns-btn i { font-size: 14px; }
.ns-btn img { width: 16px; height: 16px; object-fit: contain; }
.ns-btn:hover { background: var(--gold); color: #fff; }
.ns-btn::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background:
    linear-gradient(var(--gold),var(--gold)) left top/0 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) right top/1px 0 no-repeat,
    linear-gradient(var(--gold),var(--gold)) right bottom/0 1px no-repeat,
    linear-gradient(var(--gold),var(--gold)) left bottom/1px 0 no-repeat;
  opacity: 0;
}
.ns-btn.orbit-on::after {
  opacity: 1;
  animation: nsTrace 1.75s linear forwards;
}
@keyframes nsTrace {
  0%   { background-size: 0 1px, 1px 0, 0 1px, 1px 0; }
  24%  { background-size: 100% 1px, 1px 0, 0 1px, 1px 0; }
  49%  { background-size: 100% 1px, 1px 100%, 0 1px, 1px 0; }
  74%  { background-size: 100% 1px, 1px 100%, 100% 1px, 1px 0; }
  100% { background-size: 100% 1px, 1px 100%, 100% 1px, 1px 100%; }
}

#cities-panel {
  position: fixed; top: 52px; left: 0; right: 0; z-index: 9997;
  background: rgba(255,255,255,.985);
  backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border-bottom: 0 solid transparent;
  box-shadow: none;
  padding: 0;
  max-height: 0; overflow: hidden; pointer-events: none;
  transition: max-height .42s cubic-bezier(.4,0,.2,1), padding .42s ease, box-shadow .25s ease, border-color .25s ease;
}
#cities-panel.open {
  max-height: 76vh;
  padding: 18px 0 0;
  border-bottom: 1px solid rgba(10,22,40,.08);
  box-shadow: 0 16px 48px rgba(10,22,40,.14);
  pointer-events: auto;
}
.cities-panel-scroll {
  max-height: calc(76vh - 62px);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0 0 10px;
}
.cities-panel-scroll::-webkit-scrollbar { width: 10px; }
.cities-panel-scroll::-webkit-scrollbar-thumb { background: rgba(0,58,121,.16); border-radius: 999px; }
.cities-panel-scroll::-webkit-scrollbar-track { background: transparent; }
.cities-inner {
  width: min(100% - 48px, 1240px); margin: 0 auto;
  display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px 22px;
  align-items: start;
}
.city-group { display: flex; flex-direction: column; gap: 10px; }
.city-letter {
  font-size: 20px; font-weight: 900; color: var(--blue);
  line-height: 1; letter-spacing: -.02em;
}
.city-items { display: flex; flex-direction: column; gap: 8px; }
.city-link {
  display: flex; align-items: center; gap: 8px;
  min-height: 34px; padding: 7px 10px;
  border-radius: 10px; border: 1px solid rgba(0,58,121,.08);
  background: #fff; color: var(--ink);
  font-size: 12px; font-weight: 700; text-decoration: none;
  transition: border-color .15s, background .15s, transform .15s, color .15s;
}
.city-link:hover { border-color: rgba(255,153,0,.35); background: rgba(255,153,0,.05); color: var(--ink); transform: translateX(2px); }
.city-link::before {
  content: '•'; width: auto; height: auto; border-radius: 0; background: transparent;
  color: rgba(0,58,121,.38); font-size: 15px; line-height: 1; flex-shrink: 0;
}
.city-link.city-branch::before {
  content: '★'; width: auto; height: auto; border-radius: 0; background: transparent;
  color: var(--blue3); font-size: 11px; line-height: 1;
}
.city-link.city-main-office::before {
  content: '★'; width: auto; height: auto; border-radius: 0; background: transparent;
  color: var(--gold); font-size: 13px; line-height: 1;
}
.city-link.city-current {
  border-color: rgba(255,153,0,.5);
  background: rgba(255,153,0,.08);
  box-shadow: inset 0 0 0 1px rgba(255,153,0,.12);
}
.city-current-badge {
  margin-left: auto;
  padding: 2px 7px; border-radius: 999px;
  font-size: 10px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase;
  color: var(--gold2); background: rgba(255,153,0,.12);
  border: 1px solid rgba(255,153,0,.2);
}
.cities-legend {
  width: min(100% - 48px, 1240px); margin: 18px auto 0;
  padding: 18px 18px 4px; border-top: 1px solid rgba(10,22,40,.08);
  display: grid; gap: 10px;
}
.cities-legend-line {
  font-size: 13px; font-weight: 600; color: var(--muted); line-height: 1.65;
}
.cities-mark { display: inline-flex; align-items: center; gap: 8px; font-weight: 800; color: var(--ink); }
.cities-mark-star-orange { color: var(--gold2); }
.cities-mark-star-blue { color: var(--blue3); }

.cities-close {
  display: flex; justify-content: center; align-items: center;
  width: 100%; border: none; background: rgba(255,255,255,.98);
  border-top: 1px solid rgba(10,22,40,.08);
  padding: 11px 0 10px; cursor: pointer; gap: 8px;
  font: inherit; font-size: 12px; font-weight: 800; color: var(--blue);
}
.cities-close svg { animation: arrowPulse 1.5s ease-in-out infinite; }
@keyframes arrowPulse { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-3px)} }
.chat-online-btn {
  background: transparent !important;
  border: 2px solid rgba(255,255,255,.9) !important;
  color: #fff !important;
  box-shadow: none !important;
}
.chat-online-btn i { color: #fff !important; }
.chat-online-btn:hover {
  background: transparent !important;
  border-color: #fff !important;
  color: #fff !important;
}
.company-videos-full { background: #fff; padding: 0 0 60px; }
.company-videos-grid {
  width: 100%;
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px;
  padding: 0 24px;
}
.company-video-item {
  border-radius: var(--r); overflow: hidden; aspect-ratio: 16/9;
  background: var(--off); border: 1px solid var(--border);
}
.company-video-item iframe { display: block; width: 100%; height: 100%; }

#site-header {
  background: linear-gradient(135deg, #041023 0%, var(--blue) 100%);
  padding: 0;
}
.header-top {
  display: grid; grid-template-columns: auto 1fr auto;
  align-items: center; gap: 32px; padding: 10px 0;
}
.header-logo img { height: 62px; }
.header-phones-block { text-align: center; }
.header-city { font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55); margin-bottom: 7px; }
.header-phone-row { display: flex; gap: 28px; justify-content: center; align-items: baseline; }
.h-phone { font-weight: 800; color: #fff; font-size: 22px; line-height: 1; }
.h-phone:hover { color: var(--gold); }

.header-nav {
  background: rgba(0,0,0,.2);
  border-top: 1px solid rgba(255,255,255,.07);
}
.nav-links {
  display: flex; gap: 0; align-items: center;
  padding: 0; list-style: none; flex: 1;
}
.nav-links a {
  display: block; padding: 13px 16px;
  font-size: 13px; font-weight: 600; color: rgba(255,255,255,.72);
  border-bottom: 2px solid transparent;
  transition: color .2s, border-color .2s;
}
.nav-links a:hover { color: #fff; border-bottom-color: var(--gold); }
.nav-row { display: flex; align-items: center; justify-content: space-between; }
.nav-btns-right { display: flex; gap: 6px; align-items: center; padding: 6px 0; }
.nav-action-btn {
  display: inline-flex; align-items: center; gap: 6px;
  height: 34px; padding: 0 10px;
  background: transparent; border: none;
  color: rgba(255,255,255,.65) !important;
  font-family: inherit; font-size: 12px; font-weight: 600;
  cursor: pointer; text-decoration: none !important;
  transition: color .2s;
  white-space: nowrap;
}
.nav-action-btn i { font-size: 12px; }
.nav-action-btn:hover { color: var(--gold) !important; }

#catbar {
  background: #fff;
  border-bottom: 2px solid var(--off);
  box-shadow: 0 2px 12px rgba(10,22,40,.06);
  position: relative; z-index: 10020;
  overflow: visible;
}
.catbar-scroll {
  display: flex; flex-wrap: nowrap; align-items: stretch;
  justify-content: stretch; overflow: visible;
  scrollbar-width: none;
}
.catbar-scroll::-webkit-scrollbar { display: none; }
.cat-nav-item {
  position: relative; overflow: visible;
  flex: 1 1 0; min-width: 0; max-width: 140px;
}
.cat-nav-item > a {
  display: flex; flex-direction: column; align-items: center; justify-content: flex-start;
  gap: 0; padding: 0 1px 2px;
  width: 100%; min-height: 92px;
  font-size: 11px; font-weight: 700; color: var(--ink); text-align: center; line-height: 1.1;
  border-right: 1px solid var(--off);
  border-bottom: 3px solid transparent;
  transition: background .18s, border-color .18s, color .18s;
  word-break: normal; overflow-wrap: normal; hyphens: none; white-space: normal;
}
.cat-nav-item > a img { width: 72px; height: 72px; object-fit: contain; flex-shrink: 0; display: block; margin: -2px 0 0; padding: 0; }
@media (max-width: 991px) {
  .catbar-scroll { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; }
  .cat-nav-item { flex: 0 0 auto; min-width: 92px; max-width: none; }
  .cat-nav-item > a { min-height: 96px; font-size: 10.5px; padding: 0 1px 2px; }
  .cat-nav-item > a img { width: 68px; height: 68px; }
}
.cat-nav-item > a:hover,
.cat-nav-item.hovered > a { background: var(--off); color: var(--blue); border-bottom-color: var(--gold); }
.cat-drop {
  display: none; position: absolute; top: 100%; left: 0;
  min-width: 220px; background: #fff;
  border: 1px solid var(--border); border-top: 2px solid var(--gold);
  border-radius: 0 0 var(--r-sm) var(--r-sm);
  box-shadow: var(--sh-lg); z-index: 10030; padding: 6px 0;
}
/* Последний элемент катбара — дропдаун по правому краю самого элемента */
.cat-nav-item:last-child .cat-drop { left: auto; right: 0; }
.cat-nav-item.hovered .cat-drop { display: block; }
.cat-drop a { display: block; padding: 9px 16px; font-size: 13px; font-weight: 600; color: var(--ink); transition: background .15s, color .15s; }
.cat-drop a:hover { background: var(--off); color: var(--blue); }

#hero {
  background: linear-gradient(135deg, #041023 0%, #03285e 60%, #0a3d80 100%);
  position: relative; overflow: hidden;
  height: calc(100vh - var(--hero-fit-offset, 210px));
  min-height: 620px; max-height: 860px;
  display: flex; flex-direction: column;
}

.hero-geo {
  position: absolute; inset: 0; z-index: 0; pointer-events: none;
  overflow: hidden;
}
.hero-geo::before {
  content: '';
  position: absolute; right: -120px; top: -80px;
  width: 700px; height: 700px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,58,121,.5) 0%, transparent 70%);
}
.hero-geo::after {
  content: '';
  position: absolute; left: -100px; bottom: -100px;
  width: 500px; height: 500px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,153,0,.08) 0%, transparent 70%);
}

.hero-dots-bg {
  position: absolute; inset: 0;
  background-image: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 40px 40px; z-index: 0;
}

.hero-content { position: relative; z-index: 2; padding: 56px 0 68px; width: 100%; }
.hero-copy { max-width: 620px; }
.hero-copy.right { margin-left: auto; }

.hero-title { color: #fff; margin: 14px 0 18px; }
.hero-title em { color: var(--gold); font-style: normal; }
.hero-lead { color: rgba(255,255,255,.8); font-size: 17px; font-weight: 500; line-height: 1.6; margin-bottom: 32px; max-width: 540px; }
.hero-copy.right .hero-lead { margin-left: auto; }

.hero-form { display: flex; gap: 0; max-width: 480px; }
.hero-copy.right .hero-form { margin-left: auto; }
.hero-inp {
  flex: 1; height: 56px; border: none; outline: none;
  border-radius: var(--r-sm) 0 0 var(--r-sm);
  padding: 0 18px; font-family: inherit; font-size: 16px; font-weight: 600;
  background: rgba(255,255,255,.96); color: var(--ink); min-width: 0;
}
.hero-inp::placeholder { color: #aab4c0; font-weight: 500; }
.hero-form .btn { border-radius: 0 var(--r-sm) var(--r-sm) 0; flex-shrink: 0; height: 56px; }
.hero-agree { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.45); margin-top: 10px; display: flex; align-items: center; gap: 7px; }
.hero-agree input { accent-color: var(--gold); }

.hero-nav {
  position: absolute; left: 50%; bottom: 16px; transform: translateX(-50%);
  display: flex; gap: 6px; z-index: 5;
  width: min(240px, calc(100% - 60px));
  height: 2px;
}
.h-dot {
  flex: 1; height: 2px; border: none; padding: 0; cursor: pointer;
  background: rgba(255,255,255,.26); transition: background .25s;
  border-radius: 999px;
}
.h-dot.on { background: var(--gold); }
.hero-arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 5;
  width: auto; height: auto; border-radius: 0; border: none;
  background: transparent; backdrop-filter: none;
  color: rgba(255,255,255,.88); font-size: 24px; cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: color .2s, transform .2s;
}
.hero-arrow:hover { color: var(--gold); }
.hero-arrow-l { left: 10px; }
.hero-arrow-r { right: 10px; }

.stat-strip {
  background: var(--gold);
  display: grid; grid-template-columns: repeat(5, 1fr);
}
.ss-item {
  padding: 20px 16px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.22);
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.ss-item:last-child { border-right: none; }
.ss-num { font-size: 28px; font-weight: 900; color: #fff; line-height: 1; letter-spacing: -.02em; }
.ss-label { font-size: 11px; font-weight: 700; color: rgba(255,255,255,.8); letter-spacing: .06em; text-transform: uppercase; }

.section { padding: 80px 0; }
.section-tight { padding: 20px 0 40px; }

.sec-header { margin-bottom: 44px; }
.sec-header-centered { text-align: center; }
.sec-label-row { margin-bottom: 10px; }
.sec-h { color: var(--ink); }
.sec-lead { font-size: 17px; font-weight: 500; color: var(--muted); line-height: 1.65; margin-top: 10px; max-width: 640px; }
.sec-header-centered .sec-lead { margin: 10px auto 0; }

.catalog-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.prod-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--r-lg); overflow: hidden;
  box-shadow: var(--sh);
  display: flex; flex-direction: column;
  text-decoration: none !important; color: var(--ink) !important;
  transition: transform .22s ease, box-shadow .22s ease;
}
.prod-card:hover { transform: translateY(-6px); box-shadow: var(--sh-lg); }
.prod-img { position:relative;
  height: 156px; background: var(--off); position: relative; overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.prod-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.prod-card:hover .prod-img img { transform: scale(1.06); }
.prod-img-placeholder { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: rgba(0,58,121,.2); width: 100%; height: 100%; }
.prod-img-placeholder i { font-size: 38px; }
.prod-img-placeholder span { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.prod-badge { display:inline-block; background: var(--gold); color: #fff; font-size: 11px; font-weight: 700; padding: 3px 10px; border-radius: 99px; align-self: flex-start; margin: 0 16px 6px; }
.prod-body { padding: 16px; flex: 1; display: flex; flex-direction: column; gap: 6px; }
.prod-name { font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.3; }
.prod-desc { font-size: 12px; font-weight: 500; color: var(--muted); line-height: 1.5; flex: 1; }
.prod-price { font-size: 16px; font-weight: 800; color: var(--blue); }
.prod-cta {
  margin: 0 16px 16px; display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px; border-radius: 8px; background: var(--blue);
  font-size: 13px; font-weight: 700; color: #fff;
  position: relative; overflow: hidden;
  transition: background .18s;
}
.prod-cta::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.15) 50%, transparent 100%);
  transform: translateX(-100%) skewX(-15deg);
}
.prod-card:hover .prod-cta::after { animation: btnShine .6s ease forwards; }
.prod-cta:hover { background: var(--blue2); }
.prod-cta i { font-size: 11px; transition: transform .2s; }
.prod-card:hover .prod-cta i { transform: translateX(4px); }

.paths-outer { background: var(--ink); border-radius: var(--r-xl); overflow: hidden; padding-bottom: 28px; }
.paths-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; }
.path-card {
  padding: 44px 36px; display: flex; flex-direction: column; gap: 20px;
  background: var(--ink); position: relative; overflow: hidden;
  cursor: pointer; transition: background .25s;
}
.path-card:first-child { border-radius: var(--r-xl) 0 0 var(--r-xl); }
.path-card:last-child  { border-radius: 0 var(--r-xl) var(--r-xl) 0; }
.path-card:hover { background: var(--blue2); }
.path-card::before {
  content: ''; position: absolute;
  width: 200px; height: 200px; border-radius: 50%;
  background: rgba(255,153,0,.06);
  right: -60px; top: -60px;
}
.path-icon { width: 56px; height: 56px; border-radius: var(--r-sm); background: rgba(255,153,0,.12); border: 1px solid rgba(255,153,0,.2); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 24px; }
.path-num { font-size: 64px; font-weight: 900; color: rgba(255,255,255,.06); position: absolute; right: 24px; bottom: 16px; line-height: 1; letter-spacing: -0.04em; }
.path-title { font-size: 20px; font-weight: 800; color: #fff; line-height: 1.2; }
.path-desc { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.55); line-height: 1.6; }
.path-link { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--gold); }
.path-link:hover { color: #fff; }

.work-section {
  background: var(--off); padding-top: 40px; padding-bottom: 60px;
  position: relative; overflow: hidden;
}
.work-section::before {
  content: ''; position: absolute;
  width: 400px; height: 400px; border-radius: 50%;
  background: radial-gradient(circle, rgba(0,58,121,.07) 0%, transparent 70%);
  right: -100px; top: -100px; pointer-events: none;
}
.work-section::after {
  content: ''; position: absolute;
  width: 280px; height: 280px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,153,0,.05) 0%, transparent 70%);
  left: -60px; bottom: -60px; pointer-events: none;
}
.work-steps { display: grid; grid-template-columns: repeat(5, 1fr); position: relative; }
.work-steps::before {
  content: ''; position: absolute;
  top: 32px; left: 10%; right: 10%; height: 1px;
  background: linear-gradient(90deg, transparent, var(--border) 20%, var(--border) 80%, transparent);
}
.work-step { text-align: center; padding: 0 12px; position: relative; z-index: 1; }
.ws-num {
  position: relative;
  width: 64px; height: 64px; border-radius: 50%;
  background: var(--blue); color: #fff;
  font-size: 22px; font-weight: 900; letter-spacing: -.02em;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px;
  box-shadow: 0 8px 24px rgba(0,58,121,.26);
}
.ws-num::after {
  content: ''; position: absolute; inset: -6px; border-radius: 50%;
  border: 2px solid rgba(0,58,121,.28); opacity: 0; transform: scale(1);
}
.ws-num.is-pulsing::after { animation: wsWave 1.35s ease-out 1; }
@keyframes wsWave {
  0% { opacity: .58; transform: scale(1); }
  70% { opacity: 0; transform: scale(1.45); }
  100% { opacity: 0; transform: scale(1.6); }
}
.ws-title { font-size: 15px; font-weight: 700; color: var(--ink); margin-bottom: 8px; }
.ws-text  { font-size: 13px; font-weight: 500; color: var(--muted); line-height: 1.6; }

.adv-section { background: var(--ink); }
.adv-layout {
  display: grid; grid-template-columns: 360px 1fr; gap: 0;
  border-radius: var(--r-xl); overflow: hidden; min-height: 480px;
}
.adv-left {
  padding: 52px 44px; background: var(--blue);
  display: flex; flex-direction: column; justify-content: center; gap: 28px;
  position: relative; overflow: hidden;
}
.adv-left::before {
  content: ''; position: absolute;
  width: 280px; height: 280px; border-radius: 50%;
  background: rgba(255,255,255,.07);
  right: -80px; top: -80px; pointer-events: none;
}
.adv-left::after {
  content: ''; position: absolute;
  width: 160px; height: 160px; border-radius: 50%;
  background: rgba(255,153,0,.09);
  left: -40px; bottom: -40px; pointer-events: none;
}
.adv-right {
  display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3,auto); gap: 0;
  background: rgba(255,255,255,.03);
}
.adv-card {
  padding: 24px 22px; display: flex; flex-direction: column; gap: 10px;
  border-left: 1px solid rgba(255,255,255,.06);
  border-bottom: 1px solid rgba(255,255,255,.06);
  position: relative; overflow: hidden;
  transition: background .2s;
}
.adv-card:last-child { border-bottom: none; }
.adv-card::before {
  content: ''; position: absolute;
  width: 100px; height: 100px; border-radius: 50%;
  background: rgba(255,153,0,.04);
  right: -20px; bottom: -20px; pointer-events: none;
}
.adv-card:hover { background: rgba(255,255,255,.05); }
.adv-ico { width: 40px; height: 40px; border-radius: 9px; background: rgba(255,153,0,.12); border: 1px solid rgba(255,153,0,.2); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 17px; flex-shrink: 0; }
.adv-card-title { font-size: 14px; font-weight: 700; color: #fff; line-height: 1.3; }
.adv-card-text  { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.5); line-height: 1.55; }

.cta-phone-block {
  background: var(--gold);
  clip-path: polygon(0 -160px, 100% -160px, 100% calc(100% - 40px), calc(100% - 0px) 100%, 0 100%);
  padding: 56px 0 96px; position: relative; overflow: visible;
}
.cta-phone-block::before {
  content: ''; position: absolute; right: -80px; top: -80px;
  width: 400px; height: 400px; border-radius: 50%;
  background: rgba(255,255,255,.08);
}
.cta-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: end; }
.cta-phone-display {
  position: relative; min-height: 360px; display: flex; align-items: flex-end; justify-content: center;
  padding-bottom: 24px; overflow: visible;
}
.phone-mockup {
  width: 150px; position: absolute; bottom: -30px; left: 50%; transform: translateX(-50%);
  filter: drop-shadow(0 24px 48px rgba(0,0,0,.3));
}

.calc-block {
  margin-top: -40px; position: relative; z-index: 2;
}
.calc-card {
  background: #fff; border-radius: var(--r-xl);
  padding: 44px 48px;
  box-shadow: 0 32px 80px rgba(10,22,40,.18);
  border: 1px solid var(--border);
}
.calc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.cf { display: flex; flex-direction: column; gap: 8px; }
.cf label { font-size: 13px; font-weight: 700; color: var(--ink); }
.cf input, .cf select {
  height: 50px; border: 1.5px solid var(--border); border-radius: var(--r-sm);
  padding: 0 14px; font-family: inherit; font-size: 15px; font-weight: 600;
  color: var(--ink); background: #fff; outline: none;
  transition: border-color .2s, box-shadow .2s;
}
.cf input::placeholder { color: #c0c8d2; font-weight: 500; }
.cf input:focus, .cf select:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(255,153,0,.12); }
.cf-full { grid-column: 1 / -1; }
.opts-wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.opt-lbl {
  display: flex; align-items: center; gap: 9px;
  padding: 11px 14px; border-radius: 8px;
  border: 1.5px solid var(--border); background: #fff;
  font-size: 13px; font-weight: 600; cursor: pointer;
  transition: border-color .18s, background .18s;
}
.opt-lbl:has(input:checked) { border-color: var(--gold); background: rgba(255,153,0,.06); }
.opt-lbl input { accent-color: var(--gold); }
.calc-foot { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items: end; }
.agree-row { display: flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 500; color: var(--muted); }
.agree-row input { accent-color: var(--gold); }
.agree-row a { color: var(--blue); text-decoration: underline; }
.captcha-row { display: flex; flex-direction: column; gap: 6px; }
.captcha-q { display:none; }
.captcha-inp {
  height: 50px; border: 1.5px solid var(--border); border-radius: var(--r-sm);
  padding: 0 14px; font-family: inherit; font-size: 15px; font-weight: 600;
  color: var(--ink); background: #fff; outline: none; width: 100%;
  transition: border-color .2s, box-shadow .2s;
}
.captcha-inp:focus { border-color: var(--gold); box-shadow: 0 0 0 3px rgba(255,153,0,.12); }

.reviews-section { background: var(--ink); }
.ratings-bar {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  margin-bottom: 32px;
}
.rating-pill {
  background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r); padding: 20px 24px;
  display: flex; align-items: center; gap: 18px;
}
.rating-num { font-size: 48px; font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.rating-num.gold { color: var(--gold); }
.rating-num.green { color: #00c853; }
.rating-info h4 { font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.rating-stars { font-size: 18px; letter-spacing: 2px; margin-bottom: 4px; }
.rating-stars.gold  { color: var(--gold); }
.rating-stars.green { color: #00c853; }
.rating-cnt { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.4); }

.rev-board {
  background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.06);
  border-radius: var(--r-lg); overflow: hidden;
}
.rev-head {
  background: rgba(255,255,255,.05); padding: 16px 20px;
  display: flex; align-items: center; justify-content: space-between;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.rev-head-left { display: flex; align-items: center; gap: 10px; }
.rev-source-tag { font-size: 12px; font-weight: 700; padding: 4px 12px; border-radius: 999px; }
.rev-source-ya  { background: rgba(255,153,0,.12); color: var(--gold); }
.rev-source-av  { background: rgba(0,200,83,.1); color: #00c853; }
.rev-ctrl button {
  width: 34px; height: 34px; border-radius: 7px; border: none;
  background: rgba(255,255,255,.08); color: rgba(255,255,255,.6);
  cursor: pointer; font-size: 16px; transition: background .2s;
}
.rev-ctrl button:hover { background: var(--gold); color: #fff; }
.rev-slider { position: relative; min-height: 180px; background: transparent; }
.rev-slide {
  position: absolute; inset: 0; opacity: 0; transition: opacity .4s;
  padding: 22px 20px; display: flex; flex-direction: column; gap: 12px;
}
.rev-slide.on { opacity: 1; position: relative; }
.rev-slide:not(.on) { pointer-events: none; }
.rev-stars { letter-spacing: 2px; }
.rev-text { font-size: 14px; font-weight: 500; color: rgba(255,255,255,.72); line-height: 1.65; }
.rev-footer { display: flex; justify-content: space-between; align-items: center; }
.rev-author { font-size: 13px; font-weight: 700; color: rgba(255,255,255,.5); }
.rev-date   { font-size: 12px; font-weight: 500; color: rgba(255,255,255,.3); }

.delivery-section { background: var(--off); }
.delivery-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
.delivery-map { border-radius: var(--r-lg); overflow: hidden; box-shadow: var(--sh-md); background: var(--border); }
.delivery-map img { width: 100%; display: block; }
.routes { display: flex; flex-direction: column; gap: 8px; }
.route {
  display: flex; align-items: center; gap: 14px;
  padding: 14px 16px; border-radius: var(--r-sm);
  background: #fff; border: 1px solid var(--border);
  box-shadow: var(--sh); transition: border-color .2s, transform .18s;
}
.route:hover { border-color: var(--gold); transform: translateX(4px); }
.route-dot { width: 36px; height: 36px; border-radius: 8px; background: var(--gold); display: flex; align-items: center; justify-content: center; color: #fff; font-size: 13px; flex-shrink: 0; }
.route-name { font-size: 14px; font-weight: 700; color: var(--ink); margin-bottom: 2px; }
.route-sched { font-size: 12px; font-weight: 500; color: var(--muted); }

.about-layout { display: grid; grid-template-columns: minmax(360px, .8fr) 1fr; gap: 32px; align-items: stretch; }
.about-gallery { border-radius: var(--r-xl); overflow: hidden; aspect-ratio: auto; position: relative; box-shadow: var(--sh-lg); min-height: 690px; height: 100%; }
.ag-s { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: .5s; }
.ag-s.on { opacity: 1; }
.ag-dots { position: absolute; left: 24px; right: 24px; bottom: 16px; display: flex; gap: 6px; }
.ag-dot { flex: 1; height: 2px; border-radius: 999px; border: none; cursor: pointer; background: rgba(255,255,255,.32); transition: .2s; }
.ag-dot.on { background: var(--gold); transform: none; }
/* Новая статичная галерея "О компании": 1 большая картинка сверху + ряд превью снизу */
.about-gallery-stack {
  display: flex !important; flex-direction: column; gap: 10px;
  min-height: 0 !important; height: auto !important; aspect-ratio: auto !important;
  box-shadow: none !important; background: transparent; overflow: visible !important;
}
.about-gallery-stack .ag-main {
  aspect-ratio: 4/3; border-radius: 16px; overflow: hidden;
  box-shadow: 0 8px 28px rgba(0,0,0,.08); background: #f5f7fa;
}
.about-gallery-stack .ag-main img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: opacity .25s ease;
}
.ag-thumbs-row {
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px;
}
.ag-thumb {
  display: block; aspect-ratio: 3/2;
  border: 2px solid transparent; border-radius: 10px; overflow: hidden;
  padding: 0; cursor: pointer; background: #eef1f4; transition: border-color .18s, transform .18s;
}
.ag-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ag-thumb:hover { border-color: rgba(0,58,121,.26); transform: translateY(-1px); }
.ag-thumb.on { border-color: var(--gold); }
@media (max-width: 575px) {
  .ag-thumbs-row { grid-template-columns: repeat(4, 1fr); gap: 6px; }
}
.about-pts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 24px; }
.about-pt { background: var(--off); border-radius: var(--r-sm); padding: 14px; display: flex; gap: 10px; align-items: flex-start; }
.about-pt i { color: var(--gold); margin-top: 2px; flex-shrink: 0; }
.about-pt-text { font-size: 13px; font-weight: 600; color: var(--muted); line-height: 1.5; }
.about-stats-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 24px; background: var(--ink); border-radius: var(--r); overflow: hidden; position: relative; }
.about-stats-row-8 { grid-template-columns: repeat(8, minmax(0, 1fr)); margin-top: 32px; }
.about-stats-row-8 .as-item {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  min-height: 108px; padding: 16px 4px; text-align: center;
  border-right: 1px solid rgba(255,255,255,.06);
  position: relative; min-width: 0;
}
.as-item:last-child { border-right: none; }
.as-num { font-size: 24px; font-weight: 900; color: var(--gold); line-height: 1; white-space: nowrap; letter-spacing: -.03em; }
.as-lbl { font-size: 11px; font-weight: 600; color: rgba(255,255,255,.55); margin-top: 8px; text-transform: uppercase; letter-spacing: .06em; line-height: 1.3; min-height: 2.6em; }
/* Блик по большой цифре — как на кнопках Макс/Телеграм в закрепе (ns-btn) */
.about-stats-row-8 .as-num {
  position: relative; display: inline-block; overflow: hidden;
  padding: 0 6px; border-radius: 4px;
}
.about-stats-row-8 .as-num::after {
  content: ''; position: absolute; inset: 0; pointer-events: none; border-radius: inherit;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.55) 50%, transparent 100%);
  transform: translateX(-135%) skewX(-18deg); opacity: 0;
}
.about-stats-row-8 .as-item.orbit-on .as-num::after {
  opacity: 1; animation: stickyShine .75s ease forwards;
}
@media (max-width: 991px) {
  .about-stats-row-8 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
  .about-stats-row-8 .as-item { min-height: 100px; }
}
@media (max-width: 575px) {
  .about-stats-row-8 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .about-stats-row-8 .as-item { min-height: 96px; padding: 14px 8px; }
  .about-stats-row-8 .as-num { font-size: 24px !important; }
  .about-stats-row-8 .as-lbl { font-size: 11px !important; }
}

.partners-section { background: var(--off); }
.partners-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; }
.partners-row-3 { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 12px; }
.partners-row-3 .partner-card { flex: 0 0 calc((100% - 48px) / 5); }
@media (max-width: 991px) { .partners-row-3 .partner-card { flex-basis: calc((100% - 36px) / 4); } }
@media (max-width: 575px) { .partners-row-3 .partner-card { flex-basis: calc((100% - 12px) / 2); } }
.partner-card { background: #fff; border: 1px solid var(--border); border-radius: var(--r); padding: 20px; min-height: 80px; display: flex; align-items: center; justify-content: center; box-shadow: var(--sh); transition: transform .2s, box-shadow .2s; }
.partner-card:hover { transform: translateY(-3px); box-shadow: var(--sh-md); }
.partner-card img { max-height: 38px; max-width: 110px; object-fit: contain; filter: grayscale(.4); opacity: .8; transition: .2s; }
.partner-card:hover img { filter: grayscale(0); opacity: 1; }

.final-cta {
  background: var(--ink);
  padding: 80px 0;
  position: relative; overflow: hidden;
}
.final-cta::before {
  content: ''; position: absolute;
  width: 600px; height: 600px; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,153,0,.06) 0%, transparent 70%);
  right: -200px; top: -200px;
}
.final-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; position: relative; z-index: 1; }
.final-box { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-xl); padding: 36px; }
.final-messengers { display: flex; gap: 12px; margin-top: 20px; }

.seo-block { padding: 48px 0 28px; background: #fff; }
.seo-copy {
  max-width: 1040px; margin: 0 auto; padding: 40px 48px;
  border-radius: 18px; background: linear-gradient(180deg,#fbfcfe 0%,#fff 100%);
  border: 1px solid rgba(10,22,40,.06);
  font-family: inherit; color: rgba(10,22,40,.78);
  box-shadow: 0 6px 20px rgba(10,22,40,.04);
}
.seo-block h2,
.seo-block h3,
.seo-block h4 { font-weight: 800; color: var(--ink); line-height: 1.3; letter-spacing: -.005em; }
.seo-block h2 {
  font-size: 24px; margin: 0 0 14px; padding-left: 14px; position: relative;
}
.seo-block h2::before {
  content: ''; position: absolute; left: 0; top: 6px; bottom: 6px;
  width: 4px; border-radius: 4px; background: var(--gold);
}
.seo-block h2 + p { margin-top: 0; }
.seo-block h3 {
  font-size: 18px; margin: 30px 0 10px; color: var(--blue);
  padding-bottom: 6px; border-bottom: 1px solid rgba(10,22,40,.08);
}
.seo-block h4 { font-size: 14px; font-weight: 700; color: var(--ink); margin: 16px 0 4px; text-transform: uppercase; letter-spacing: .04em; color: var(--gold); }
.seo-block h4 + p { margin-top: 0; }
.seo-block p { font-size: 15px; font-weight: 400; color: rgba(10,22,40,.72); line-height: 1.65; margin: 0 0 12px; }
.seo-block p strong { color: var(--ink); font-weight: 700; }
.seo-block ol, .seo-block ul { margin: 10px 0 14px 22px; padding: 0; }
.seo-block li { font-size: 15px; line-height: 1.65; color: rgba(10,22,40,.72); margin: 0 0 6px; }
/* Списки без буллетов — для старых SEO-текстов */
.seo-block ul.seo-list-clean,
.seo-block ul.seo-list-clean ul { list-style: none; padding-left: 0; margin-left: 0; }
.seo-block ul.seo-list-clean > li {
  margin-bottom: 6px; padding-left: 18px; position: relative;
}
.seo-block ul.seo-list-clean > li::before {
  content: '—'; position: absolute; left: 0; top: 0;
  color: var(--gold); font-weight: 700;
}
.seo-block ul.seo-list-clean ul { margin-left: 8px; margin-top: 4px; }
.seo-block ul.seo-list-clean ul > li::before { color: rgba(10,22,40,.38); content: '·'; font-size: 20px; line-height: 1; top: -2px; }
.seo-note-divider { margin: 14px 0; height: 1px; background: rgba(10,22,40,.08); }
@media (max-width: 767px) {
  .seo-copy { padding: 24px 20px; border-radius: 12px; }
  .seo-block h2 { font-size: 20px; }
  .seo-block h3 { font-size: 16px; margin-top: 22px; }
  .seo-block p, .seo-block li { font-size: 14px; }
}

#site-footer {
  position: relative;
  padding: 60px 0 0;
  color: #fff;
  background: #1e2028;
}
#site-footer::before { content: none; }
#site-footer::after {
  content: '';
  position: absolute; inset: 0; z-index: 1;
  background: rgba(30, 32, 40, 0.85);
}
#site-footer > * { position: relative; z-index: 2; }
.footer-grid { display: grid; grid-template-columns: 220px 1fr 260px; gap: 40px; }
.footer-logo img { height: 36px; margin-bottom: 14px; }
.footer-tagline { font-size: 12px; font-weight: 600; color: rgba(255,255,255,.25); line-height: 1.65; margin-bottom: 20px; }
.footer-socials { display: flex; gap: 8px; }
.f-soc { width: 38px; height: 38px; border-radius: 9px; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.06); display: flex; align-items: center; justify-content: center; overflow: hidden; transition: background .2s, transform .2s; }
.f-soc:hover { background: var(--gold); transform: translateY(-2px); }
.f-soc img { width: 20px; height: 20px; object-fit: contain; }
.footer-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.fcol h5 { font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: rgba(255,255,255,.35); margin-bottom: 14px; }
.fcol a { display: block; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55); line-height: 2; transition: color .18s; }
.fcol a:hover { color: var(--gold); }
.footer-contacts { display: flex; flex-direction: column; gap: 12px; }
.fc-row { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; font-weight: 600; color: rgba(255,255,255,.55); line-height: 1.6; }
.fc-row i { color: var(--gold); flex-shrink: 0; margin-top: 2px; font-size: 12px; }
.fc-row a { color: rgba(255,255,255,.75); }
.fc-row a:hover { color: var(--gold); }
.footer-bottom { margin-top: 44px; border-top: 1px solid rgba(255,255,255,.12); padding: 18px 0 22px; }
.fb { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 12px; font-weight: 600; color: rgba(255,255,255,.25); }
.fb a { color: rgba(255,255,255,.3); text-decoration: underline; }
.fb a:hover { color: var(--gold); }

#side-tabs { position: fixed; left: 0; bottom: 32px; z-index: 99999; display: flex; flex-direction: column; gap: 6px; }
#side-tabs a { display: flex; align-items: center; width: 46px; height: 46px; overflow: hidden; white-space: nowrap; border-radius: 0 12px 12px 0; text-decoration: none; transition: width .3s ease; }
#side-tabs a:hover { width: 188px; animation: none !important; }
.stab-ico { flex-shrink: 0; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; }
.stab-ico img { width: 28px; height: 28px; object-fit: contain; }
.stab-txt { opacity: 0; font-size: 13px; font-weight: 700; color: #fff; margin-left: 8px; transition: opacity .2s; }
#side-tabs a:hover .stab-txt { opacity: 1; }
.stab-max { background: #7739e5; box-shadow: 2px 2px 10px rgba(0,0,0,.2); animation: peek 5s ease-in-out infinite; }
.stab-tg  { background: #229ed9; box-shadow: 2px 2px 10px rgba(0,0,0,.2); animation: peek 5s ease-in-out infinite; animation-delay: 1.5s; }
@keyframes peek { 0%,100%{width:46px} 12%,28%{width:62px} }

.about-company-section { padding-bottom: 34px !important; }
body.cities-open { overflow: hidden; }
.hero-copy.right .hero-title,
.hero-copy.right .hero-lead,
.hero-copy.right .hero-agree { text-align: left; }

@media (max-width: 1199px) {
  .catalog-grid { grid-template-columns: repeat(4, 1fr); }
  .partners-row { grid-template-columns: repeat(4, 1fr); }
  .adv-layout { grid-template-columns: 1fr; }
  .adv-left { border-radius: var(--r-xl) var(--r-xl) 0 0; }
  .adv-right { grid-template-columns: repeat(4, 1fr); }
  .adv-card:first-child { border-radius: 0 0 0 var(--r-xl); }
  .adv-card:last-child  { border-radius: 0 0 var(--r-xl) 0; }
}
@media (max-width: 991px) {
  #hero { height: auto; min-height: 78vh; max-height: none; }
  .company-videos-grid { grid-template-columns: 1fr; }
  .cities-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalog-grid { grid-template-columns: repeat(3, 1fr); }
  .header-top { grid-template-columns: 1fr auto; }
  .header-phones-block { display: none; }
  .ns-phones { position: static; transform: none; width: auto; }
  .about-gallery { min-height: 380px; height: 380px; }
  .paths-grid { grid-template-columns: 1fr; }
  .path-card:first-child { border-radius: var(--r-xl) var(--r-xl) 0 0; }
  .path-card:last-child  { border-radius: 0 0 var(--r-xl) var(--r-xl); }
  .cta-layout { grid-template-columns: 1fr; }
  .cta-phone-display { display: none; }
  .delivery-layout, .about-layout, .final-grid, .footer-grid { grid-template-columns: 1fr; }
  .work-steps { grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .work-steps::before { display: none; }
  .stat-strip { grid-template-columns: repeat(3, 1fr); }
  .ss-item:nth-child(4), .ss-item:nth-child(5) { border-top: 1px solid rgba(255,255,255,.22); }
  .adv-right { grid-template-columns: repeat(2, 1fr); }
  .ratings-bar { grid-template-columns: 1fr; }
  .footer-cols { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
  .cities-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .cities-panel-scroll { max-height: calc(78vh - 62px); }
  .ns-addr { display: none; }
  .section { padding: 52px 0; }
  .catalog-grid { grid-template-columns: repeat(2, 1fr); }
  .work-steps { grid-template-columns: repeat(2, 1fr); }
  .adv-right { grid-template-columns: 1fr; }
  .partners-row { grid-template-columns: repeat(2, 1fr); }
  .calc-grid { grid-template-columns: 1fr; }
  .opts-wrap { grid-template-columns: repeat(2, 1fr); }
  .calc-foot { grid-template-columns: 1fr; }
  .calc-card { padding: 24px 20px; }
  .hero-form { flex-direction: column; }
  .hero-inp { border-radius: var(--r-sm); }
  .hero-form .btn { border-radius: var(--r-sm); width: 100%; }
  .about-pts { grid-template-columns: 1fr; }
  .footer-cols { grid-template-columns: 1fr; }
  .about-stats-row { grid-template-columns: repeat(2, 1fr); }
  .final-messengers { flex-direction: column; }
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  #side-tabs { display: none; }
}
@media (max-width: 480px) {
  .hero-arrow { display: none !important; } /* на телефоне мешали тексту слайда; свайп+точки остаются */
  .cities-inner { grid-template-columns: 1fr; }
  .catalog-grid { grid-template-columns: 1fr; }
  .work-steps { grid-template-columns: 1fr; }
  .paths-grid { grid-template-columns: 1fr; }
}

.btn,
.btn:hover,
.btn:focus,
.btn:active,
.btn-gold,
.btn-gold:hover,
.btn-blue,
.btn-blue:hover,
.btn-dark,
.btn-dark:hover,
.nav-action-btn,
.nav-action-btn:hover,
.chat-online-btn,
.chat-online-btn:hover,
.f-soc,
.f-soc:hover,
.hero-arrow,
.hero-arrow:hover {
  box-shadow: none !important;
  filter: none !important;
}
#hero {
  height: calc(100vh - var(--hero-fit-offset, 210px));
  min-height: 560px;
  max-height: none;
}
.hero-form .btn,
.hero-form a.btn,
.hero-form button.btn { border-radius: var(--r-sm) !important; }
.hero-form input + .btn,
.hero-form input + a.btn { border-radius: 0 var(--r-sm) var(--r-sm) 0 !important; }
.hero-nav { bottom: 18px; width: min(220px, calc(100% - 110px)); height: 2px; }
.h-dot { height: 2px; background: rgba(255,255,255,.38); }
.hero-arrow { color: rgba(255,255,255,.74); font-size: 18px; padding: 0; }
.hero-arrow svg { display:block; }
.hero-arrow-l { left: 20px; }
.hero-arrow-r { right: 20px; }
.hero-content { padding: 42px 0 64px; }
.section { padding: 64px 0; }
.about-company-section { padding-bottom: 20px !important; }
.company-videos-full { padding: 0 0 24px; }
.partners-section { padding-top: 26px !important; }
.seo-block { padding: 22px 0 10px; }
.final-cta { padding: 60px 0; }
#nav-sticky { padding: 0 14px; }
.ns-phones {
  left: 0; right: 0; width: 100%;
  transform: translateY(-50%);
  pointer-events: none;
  gap: 16px;
}
.ns-phone { pointer-events: auto; }
.ns-addr { max-width: 280px; font-size: 11px; }
.ns-actions { gap: 4px; }
.ns-btn { width: 46px; height: 38px; border: none; background: rgba(255,255,255,.07); }
.ns-btn::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.38) 50%, transparent 100%);
  transform: translateX(-135%) skewX(-18deg); opacity: 0;
}
.ns-btn.orbit-on::after { opacity: 1; animation: stickyShine .7s ease forwards; }
@keyframes stickyShine { to { transform: translateX(170%) skewX(-18deg); opacity: 0; } }
#cities-panel { top: 52px; border-bottom-width: 0; }
#cities-panel.open { max-height: 72vh; padding: 10px 0 0; }
.cities-panel-scroll { max-height: calc(72vh - 54px); padding-bottom: 4px; }
.cities-inner { width: min(100% - 28px, 1120px); grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)); gap: 12px 14px; }
.city-group { gap: 6px; }
.city-letter { font-size: 18px; }
.city-items { gap: 6px; }
.city-link { min-height: 28px; padding: 5px 8px; font-size: 11.5px; border-radius: 8px; }
.city-current-badge { padding: 2px 6px; font-size: 9px; }
.cities-legend { width: min(100% - 28px, 1120px); margin: 12px auto 0; padding: 12px 0 0; gap: 6px; }
.cities-legend-line { font-size: 12px; line-height: 1.5; }
.cities-close { padding: 8px 0 9px; font-size: 11px; }
.work-section { background: linear-gradient(180deg, #0b3668 0%, #08274f 100%); padding-top: 44px; padding-bottom: 16px; }
.work-section::before, .work-section::after, .paths-merge-section::before, .paths-merge-section::after { display:none; }
.work-section .chip { background: rgba(255,255,255,.08); color: rgba(255,255,255,.92); border-color: rgba(255,255,255,.18); }
.work-section .sec-h, .work-section .sec-lead, .work-section .ws-title, .work-section .ws-text { color: #fff; }
.work-section .sec-lead { color: rgba(255,255,255,.74); }
.work-steps::before { background: linear-gradient(90deg, transparent, rgba(255,255,255,.18) 20%, rgba(255,255,255,.18) 80%, transparent); }
.ws-num { background: #fff; color: var(--blue); box-shadow: none; transition: transform .22s ease; }
.ws-num:hover { transform: translateY(-6px) scale(1.05); }
.ws-num::after { inset: -7px; border: 2px solid rgba(255,255,255,.42); }
@keyframes wsWave {
  0% { opacity: .78; transform: scale(1); }
  72% { opacity: 0; transform: scale(1.6); }
  100% { opacity: 0; transform: scale(1.72); }
}
.paths-merge-section { background: linear-gradient(180deg, #08274f 0%, #08274f 100%) !important; padding: 0 0 42px !important; }
.paths-outer { background: transparent; padding-bottom: 0; }
.paths-grid { gap: 14px; }
.path-card { background: rgba(255,255,255,.03); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-lg) !important; padding: 32px 28px; }
.path-card:hover { background: rgba(255,255,255,.06); }
.path-link { color: #fff; }
.path-link:hover { color: var(--gold); }
.path-num { color: rgba(255,255,255,.09); }

.adv-layout { min-height: 0; }
.cta-phone-placeholder {
  position: absolute; bottom: -30px; width: 174px; height: 350px; border-radius: 34px;
  background: linear-gradient(180deg, #1e2430 0%, #0c1118 100%); border: 3px solid rgba(255,255,255,.45);
  box-shadow: 0 22px 48px rgba(0,0,0,.28); padding: 16px 12px;
}
.cta-phone-speaker { width: 64px; height: 6px; border-radius: 999px; background: rgba(255,255,255,.28); margin: 0 auto 14px; }
.cta-phone-screen {
  height: calc(100% - 20px); border-radius: 24px; background: linear-gradient(180deg, rgba(255,255,255,.14) 0%, rgba(255,255,255,.06) 100%);
  border: 1px solid rgba(255,255,255,.16); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
}
.cta-screen-line { width: 70%; height: 10px; border-radius: 999px; background: rgba(255,255,255,.18); }
.cta-screen-line.short { width: 52%; }
.cta-screen-circle { width: 80px; height: 80px; border-radius: 50%; border: 1px solid rgba(255,255,255,.22); background: rgba(255,255,255,.08); }
.calc-card-compact { padding: 38px 42px; }
.opts-wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-width: 560px; }
.opt-lbl { min-height: 44px; padding: 10px 12px; border-radius: 10px; }
.calc-foot { grid-column: 1 / -1; display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 6px; }
.calc-agree-row { width: 100%; justify-content: center; text-align: center; }
.calc-captcha-row { width: min(100%, 340px); }
.captcha-visible-label { font-size: 13px; font-weight: 700; color: var(--ink); }
.calc-submit-row { width: 100%; display: flex; justify-content: center; }
.calc-submit-row .btn { min-width: 280px; }
.delivery-layout { grid-template-columns: minmax(280px, .74fr) minmax(420px, 1.26fr); gap: 24px; }
.delivery-map { max-width: 420px; }
.delivery-foot-row { display: flex; align-items: stretch; gap: 10px; padding-top: 8px; }
.delivery-ask-btn { min-width: 210px; justify-content: center; border-width: 1px !important; }
.delivery-note-box {
  flex: 1; border: 1px solid rgba(0,58,121,.22); border-radius: 8px; padding: 10px 12px; font-size: 12px;
  font-weight: 600; color: var(--blue); line-height: 1.45; background: rgba(255,255,255,.82);
}
.measure-section-custom { padding-top: 30px !important; padding-bottom: 28px !important; }
.measure-layout-card { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; align-items: center; background: var(--ink); border-radius: var(--r-xl); overflow: hidden; }
.measure-left { padding: 42px 48px; }
.measure-video-side { padding: 32px 40px 32px 0; }
.measure-video-title { font-size: 14px; font-weight: 800; color: #fff; margin-bottom: 12px; }
.measure-video-frame { aspect-ratio: 16/9; border-radius: var(--r-lg); overflow: hidden; background: #000; }
.measure-video-frame iframe { width: 100%; height: 100%; display:block; }
.measure-video-frame video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  background: #000;
}
.measure-agree { padding-left: 18px; }
.about-layout { gap: 24px; }
.about-gallery { min-height: 650px; }
.about-stats-row { background: transparent; border-radius: 0; overflow: visible; margin-top: 22px; }
.as-item { padding: 6px 10px 0; border-right: none; }
.as-num { color: var(--gold); }
.as-lbl { color: rgba(10,22,40,.48); }
.footer-grid { grid-template-columns: 240px 1fr 260px; }
.footer-logo img { height: 44px; }
.footer-cols-4 { grid-template-columns: repeat(4, 1fr); gap: 20px; }
.footer-socials { gap: 10px; }
@media (max-width: 991px) {
  #hero { min-height: 74vh; height: auto; }
  .measure-layout-card, .delivery-layout, .footer-grid { grid-template-columns: 1fr; }
  .measure-video-side { padding: 0 24px 24px; }
  .delivery-foot-row { flex-direction: column; }
  .work-steps { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .paths-grid { grid-template-columns: 1fr; }
  .footer-cols-4 { grid-template-columns: repeat(2, 1fr); }
  .ns-phones { position: static; transform:none; width:auto; pointer-events:auto; }
}
@media (max-width: 767px) {
  .opts-wrap, .footer-cols-4, .cities-inner { grid-template-columns: 1fr; }
  .work-steps { grid-template-columns: 1fr 1fr; }
  .measure-left { padding: 30px 24px; }
  .delivery-map { max-width: none; }
}

:root { --section-pad-v4: 76px; }

.btn,
.btn:hover,
.btn:focus,
.btn:active,
.btn-gold,
.btn-gold:hover,
.btn-blue,
.btn-blue:hover,
.btn-dark,
.btn-dark:hover,
.nav-action-btn,
.nav-action-btn:hover,
.chat-online-btn,
.chat-online-btn:hover,
.f-soc,
.f-soc:hover,
.hero-arrow,
.hero-arrow:hover,
.delivery-ask-btn,
.delivery-ask-btn:hover {
  box-shadow: none !important;
  filter: none !important;
}

.btn:focus,
.btn:active,
.cf input:focus,
.cf select:focus,
.hero-inp:focus,
.captcha-inp:focus {
  outline: none !important;
  box-shadow: none !important;
}

.section { padding: var(--section-pad-v4) 0; }
.work-section { padding-top: 58px !important; padding-bottom: 30px !important; }
.paths-merge-section { padding: 0 0 58px !important; }

.measure-section-custom { padding-top: 54px !important; padding-bottom: 50px !important; }
.company-videos-full { padding: 0 0 40px; }
.partners-section { padding-top: 40px !important; }
.final-cta { padding: 72px 0; }
.seo-block { padding: 34px 0 18px; }

.header-top { position: relative; min-height: 98px; }
.header-phones-block {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%);
  width: max-content; min-width: 0; text-align: center; margin: 0;
}
.header-city { text-align: center; }
.header-phone-row { justify-content: center; }
.header-top > div:last-child { margin-left: auto; position: relative; z-index: 2; }
.header-top > a:first-child { position: relative; z-index: 2; }

#nav-sticky { padding: 0 18px; }
.ns-phones {
  left: 50% !important; right: auto !important; width: max-content !important;
  transform: translate(-50%,-50%) !important; pointer-events: auto !important;
  justify-content: center !important;
}
.ns-addr {
  display: flex; align-items: center; justify-content: center;
  text-align: center; width: 300px; max-width: 300px;
}

.h-dot { background: rgba(255,255,255,.5); }
.hero-arrow { color: rgba(255,255,255,.82); }
.hero-arrow svg path { stroke-width: 1.35; }

.work-section .sec-lead { color: rgba(255,255,255,.8); }

.path-card {
  background: #eef2f6 !important;
  border: 1px solid rgba(10,22,40,.08) !important;
}
.path-card:hover { background: #f5f7fa !important; }
.path-card .t-h3,
.path-card .t-body,
.path-card .path-icon { color: var(--ink) !important; }
.path-card .t-body { color: rgba(10,22,40,.72) !important; }
.path-link { color: var(--gold) !important; }
.path-link:hover { color: var(--gold2) !important; }
.path-num { color: rgba(10,22,40,.12) !important; }

.paths-manager-row {
  border-top: 1px solid rgba(255,255,255,.1);
  margin: 18px 28px 0;
  padding-top: 24px;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(320px, 420px);
  gap: 20px 28px;
  align-items: center;
}
.paths-manager-title {
  color: #fff; font-size: 20px; font-weight: 800; line-height: 1.25;
}
.paths-manager-form { width: 100%; }
.paths-manager-control { display: flex; gap: 0; }
.paths-manager-control .hero-inp { background: rgba(255,255,255,.92) !important; color: var(--ink) !important; border: 1px solid rgba(255,255,255,.4) !important; }
.paths-manager-control .hero-inp::placeholder { color: #8a95a3 !important; }
.paths-manager-control .btn {
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  height: 56px; width: 72px; padding: 0;
}
.paths-manager-note {
  margin-top: 10px; font-size: 12px; color: rgba(255,255,255,.4); text-align: left;
}
.paths-manager-note a { color: rgba(255,255,255,.58); text-decoration: underline; }

.adv-left {
  background: linear-gradient(180deg, #0a2e59 0%, #08274f 100%) !important;
}
.adv-right {
  background: linear-gradient(180deg, #0f3565 0%, #0b2d58 100%);
  border-radius: var(--r-xl);
  overflow: hidden;
}

.cta-phone-placeholder {
  width: 196px;
  height: 392px;
  border-radius: 38px;
  bottom: -38px;
}

.calc-card-compact { padding: 48px 50px; }
.cf label { color: rgba(10,22,40,.9); }
.cf input, .cf select, .hero-inp, .captcha-inp {
  background: #eceff3 !important;
  border: 1px solid #c8d0da !important;
  color: var(--ink) !important;
}
.cf input::placeholder, .cf select::placeholder, .hero-inp::placeholder, .captcha-inp::placeholder {
  color: #8a95a3 !important;
  opacity: 1;
}
.cf input:focus, .cf select:focus, .hero-inp:focus, .captcha-inp:focus {
  border-color: var(--gold) !important;
  background: #f5f6f8 !important;
}
.hero-inp { box-shadow: none !important; }

.opts-wrap-inline {
  display: flex !important; flex-wrap: wrap; gap: 10px 24px; align-items: center;
  max-width: none; padding-top: 2px;
}
.opts-wrap-inline .opt-lbl {
  min-height: auto; padding: 0; border: none; background: transparent;
  border-radius: 0; font-size: 14px; font-weight: 700; color: var(--ink);
  display: inline-flex; align-items: center; gap: 8px;
}
.opts-wrap-inline .opt-lbl:hover { transform: none; }
.opts-wrap-inline .opt-lbl input { accent-color: var(--gold); }
.opts-wrap-inline .opt-lbl:has(input:checked) { background: transparent; border: none; color: var(--gold2); }
.cf.cf-full > label { display: none; }

.calc-foot {
  grid-column: 1 / -1;
  display: grid !important;
  grid-template-columns: minmax(0, 320px) minmax(0, 320px);
  justify-content: center;
  gap: 14px 16px;
  padding-top: 10px;
  align-items: stretch;
}
.calc-captcha-row, .calc-submit-row { width: 100%; }
.calc-captcha-row { grid-column: 1; }
.calc-submit-row { grid-column: 2; }
.calc-agree-row {
  grid-column: 1 / -1;
  justify-content: center !important;
  text-align: center;
  margin-top: 2px;
}
.calc-agree-row input, .agree-row input, .opt-lbl input { accent-color: var(--gold) !important; }
.captcha-visible-label,
.sr-only {
  position: absolute !important; width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important; overflow: hidden !important;
  clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important;
}
.captcha-inp, .calc-submit-row .btn {
  width: 100%; height: 56px !important;
}
.calc-submit-row .btn { min-width: 0 !important; }
.measure-agree {
  padding-left: 0 !important;
  margin-top: 8px;
  font-size: 12px;
  color: rgba(255,255,255,.46);
}
.measure-agree a {
  color: rgba(255,255,255,.64);
  text-decoration: underline;
}
.measure-video-side { padding: 28px 40px 28px 0; }

.delivery-layout {
  grid-template-columns: minmax(400px, 1.14fr) minmax(320px, .86fr) !important;
  gap: 24px !important;
}
.delivery-map {
  max-width: none !important;
  aspect-ratio: 16 / 9;
}
.delivery-map img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.delivery-ask-btn {
  min-width: 260px !important;
  height: 50px;
  justify-content: center;
}
.delivery-note-box {
  font-size: 13px;
  line-height: 1.55;
}
.delivery-foot-row { align-items: stretch; }

.about-layout { gap: 34px; }
.about-gallery { min-height: 680px; }
.about-stats-row { margin-top: 32px; }
.as-item { padding: 8px 12px 0; }
.as-num {
  font-size: clamp(42px, 4.6vw, 72px) !important;
  line-height: .95;
}
.as-lbl {
  font-size: 13px !important;
  letter-spacing: .08em;
}

.final-phones {
  display: flex; flex-wrap: wrap; gap: 18px 26px; align-items: center;
  margin-bottom: 24px;
}
.final-phone-link {
  font-size: 22px; font-weight: 900; color: #fff; line-height: 1; text-decoration: none;
  transition: color .18s ease;
}
.final-phone-link:hover { color: var(--gold); }

.fb, .fb a {
  color: rgba(255,255,255,.86) !important;
}
.fb a:hover { color: #fff !important; }

@media (max-width: 1199px) {
  .header-phones-block { position: static; transform: none; width: auto; }
}
@media (max-width: 991px) {
  .header-top { min-height: auto; }
  .paths-manager-row { grid-template-columns: 1fr; }
  .calc-foot {
    grid-template-columns: 1fr;
  }
  .calc-captcha-row, .calc-submit-row, .calc-agree-row {
    grid-column: 1;
  }
  .delivery-layout { grid-template-columns: 1fr !important; }
  .final-phones { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 767px) {
  .header-phones-block { display: none; }
  .ns-addr { display: none; }
  .paths-manager-title { font-size: 18px; }
}

.header-top {
  grid-template-columns: 260px minmax(0,1fr) 260px !important;
  align-items: center !important;
}
.header-top > a:first-child {
  width: 260px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.header-top-actions {
  width: 260px;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
}
.header-top-actions .btn {
  min-width: 168px;
  justify-content: center;
}
.header-phones-block {
  position: static !important;
  transform: none !important;
  width: 100% !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.header-city, .header-phone-row {
  width: 100%;
  text-align: center !important;
  justify-content: center !important;
}
.chat-online-btn {
  min-width: 168px;
  height: 42px !important;
  padding: 0 20px !important;
}

.work-section .sec-lead strong { color: #fff; }
.path-card .path-icon {
  background: var(--gold) !important;
  border: 1px solid rgba(255,153,0,.55) !important;
  color: #fff !important;
}
.path-card .path-icon i { color: #fff !important; }
.paths-manager-copy { display:flex; flex-direction:column; gap:8px; }
.paths-manager-title { font-size: 26px !important; line-height: 1.12 !important; }
.paths-manager-subtitle {
  font-size: 15px; font-weight: 500; line-height: 1.55;
  color: rgba(255,255,255,.72);
}
.paths-manager-control .hero-inp { background: rgba(255,255,255,.92) !important; color: var(--ink) !important; border: 1px solid rgba(255,255,255,.4) !important; }
.paths-manager-control .hero-inp::placeholder { color: #8a95a3 !important; }
.paths-manager-control .btn { width: 72px; }

.adv-left { background: linear-gradient(180deg, #0a2e59 0%, #08274f 100%) !important; }

.adv-action-row .btn { min-width: 148px; }

i[class*="fa-"] {
  position: relative;
  overflow: hidden;
}
i[class*="fa-"]::after {
  content: '';
  position: absolute;
  inset: -35% -70%;
  background: linear-gradient(105deg, transparent 0%, rgba(255,255,255,0) 38%, rgba(255,255,255,.72) 50%, rgba(255,255,255,0) 62%, transparent 100%);
  transform: translateX(-170%) skewX(-18deg);
  opacity: 0;
  pointer-events: none;
  animation: iconSweep 12s linear infinite;
  animation-delay: var(--icon-shine-delay, 0s);
}
@keyframes iconSweep {
  0%, 89% { transform: translateX(-170%) skewX(-18deg); opacity: 0; }
  90% { opacity: .8; }
  96% { transform: translateX(170%) skewX(-18deg); opacity: 0; }
  100% { transform: translateX(170%) skewX(-18deg); opacity: 0; }
}

@keyframes phoneVibe {
  0%, 100% { transform: translateX(0) rotate(0deg); }
  12% { transform: translateX(-1px) rotate(-.7deg); }
  24% { transform: translateX(1px) rotate(.7deg); }
  36% { transform: translateX(-2px) rotate(-.9deg); }
  48% { transform: translateX(2px) rotate(.9deg); }
  60% { transform: translateX(-1px) rotate(-.5deg); }
  72% { transform: translateX(1px) rotate(.5deg); }
}
.cta-phone-placeholder { animation: phoneVibe 2.4s ease-in-out infinite; transform-origin: center bottom; }

.opts-wrap-inline {
  justify-content: center !important;
  text-align: center;
}
.opts-wrap-inline .opt-lbl {
  justify-content: center;
  min-width: 120px;
}

.cf input:focus, .cf select:focus, .hero-inp:focus, .captcha-inp:focus {
  background:
    linear-gradient(#f5f6f8, #f5f6f8) padding-box,
    linear-gradient(135deg, #ffb347 0%, #ff9900 35%, rgba(255,153,0,.38) 100%) border-box !important;
  border: 3px solid transparent !important;
  box-shadow: none !important;
}

.reviews-section { background: #fff !important; }
.reviews-section .t-h1 { color: var(--ink) !important; }
.rev-board {
  background: #f1f4f7 !important;
  border: 1px solid rgba(10,22,40,.08) !important;
}
.rev-head {
  background: #dfe5eb !important;
  border-bottom: 1px solid rgba(10,22,40,.08) !important;
}
.rev-head-left > span {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: var(--ink) !important;
}
.rev-head .rev-stars,
.rev-slide .rev-stars {
  font-size: 19px !important;
  letter-spacing: .5px !important;
}
.rev-text { color: rgba(10,22,40,.78) !important; }
.rev-author { color: rgba(10,22,40,.72) !important; }
.rev-date { color: rgba(10,22,40,.46) !important; }
.rev-ctrl button {
  background: #fff !important;
  color: var(--ink) !important;
  border: 1px solid rgba(10,22,40,.08) !important;
}
.review-actions {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto minmax(0,1fr);
  gap: 14px;
  align-items: center;
  margin-top: 18px;
}
.review-gift-btn {
  justify-self: stretch;
  justify-content: center;
  height: 48px !important;
}
.review-actions-center {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 16px;
  font-weight: 800;
  color: var(--ink);
  white-space: nowrap;
}
.review-arrow {
  font-size: 22px;
  line-height: 1;
  color: var(--gold);
}

.delivery-layout {
  grid-template-columns: minmax(420px, 1.12fr) minmax(300px, .88fr) !important;
}
.delivery-map-wrap {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.delivery-note-box {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.delivery-foot-row {
  padding-top: 12px !important;
  display: flex;
  justify-content: center;
}
.delivery-ask-btn {
  min-width: 100% !important;
  height: 56px !important;
  font-size: 14px !important;
}

.measure-inline-text strong { font-weight: inherit !important; color: inherit !important; }
.measure-inline-text { font-weight: 500 !important; }
.measure-inline-text br { display: none; }

.as-num {
  font-size: clamp(34px, 3.7vw, 52px) !important;
}
.as-lbl {
  font-size: 12px !important;
}

.company-videos-grid {
  grid-template-columns: repeat(2, 1fr) !important;
}

.cities-inner {
  width: calc(100% - 12px) !important;
  margin: 0 0 0 6px !important;
  column-count: 8;
  column-gap: 10px;
  display: block !important;
}
.city-group {
  display: inline-block !important;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 6px !important;
  vertical-align: top;
}
.city-headline {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: 2px;
}
.city-letter {
  min-width: 12px;
  font-size: 17px !important;
  line-height: 1.25 !important;
}
.city-items { display: block !important; }
.city-items .city-link { margin-top: 2px; }
.city-link {
  min-height: 24px !important;
  padding: 3px 6px !important;
  border-radius: 7px !important;
}
.city-headline .city-link {
  display: inline-flex !important;
  margin-top: 0 !important;
  width: auto !important;
  min-height: 24px !important;
  vertical-align: top;
}
.cities-legend {
  width: calc(100% - 12px) !important;
  margin: 8px 0 0 6px !important;
}
@media (max-width: 1399px) {
  .cities-inner { column-count: 6; }
}
@media (max-width: 1199px) {
  .header-top { grid-template-columns: 220px minmax(0,1fr) 220px !important; }
  .header-top > a:first-child, .header-top-actions { width: 220px !important; }
  .header-top-actions .btn, .chat-online-btn { min-width: 150px; }
  .cities-inner { column-count: 4; }
}
@media (max-width: 991px) {
  .review-actions { grid-template-columns: 1fr; }
  .review-actions-center { order: 1; }
  .cities-inner { column-count: 2; width: calc(100% - 20px) !important; margin-left: 10px !important; }
}

.header-top{
  grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr) !important;
  column-gap:24px !important;
}
.header-phones-block{
  justify-self:center !important;
  width:max-content;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center !important;
  transform:translateX(-8px);
}
.header-city,.header-phone-row{justify-content:center !important; text-align:center !important;}
.header-top-actions{justify-self:end !important;}
.header-top-actions .btn,
.header-top-actions .chat-online-btn{
  min-width:182px !important;
  height:40px !important;
  padding:0 20px !important;
  justify-content:center !important;
}

.hero-copy.right{ text-align:right !important; align-items:flex-end !important; }
.hero-copy.right .chip-gold{ margin-left:auto !important; }
.hero-copy.right .hero-title,
.hero-copy.right .hero-lead,
.hero-copy.right .hero-form,
.hero-copy.right .hero-agree{ margin-left:auto !important; text-align:right !important; }
.hero-copy.right .hero-form{ justify-content:flex-end !important; }

.work-section .chip,
.delivery-section .chip,
.measure-left .chip,
.media-chip,
.sec-header .chip{
  padding:10px 16px !important;
  font-size:13px !important;
  transform:translateY(-8px);
}
.ws-num{
  overflow:visible;
  box-shadow:0 10px 22px rgba(255,255,255,.16), 0 0 0 1px rgba(255,255,255,.18) inset !important;
}
.ws-num::before,
.ws-num::after{
  content:'';
  position:absolute;
  inset:-2px;
  border-radius:50%;
  opacity:0;
  pointer-events:none;
}
.ws-num::after{ display:none !important; }
.ws-num.is-pulsing::before{
  background:radial-gradient(circle, rgba(255,255,255,.38) 0%, rgba(255,255,255,.22) 28%, rgba(255,255,255,.1) 44%, rgba(255,255,255,0) 62%);
  animation:wsWaveFill 1.4s ease-out both;
}
@keyframes wsWaveFill{
  0%{ opacity:.9; transform:scale(1); }
  65%{ opacity:.32; transform:scale(1.28); }
  100%{ opacity:0; transform:scale(1.48); }
}
.path-card{
  background:#eef1f5 !important;
  transition:background .22s ease, transform .22s ease !important;
}
.path-card > div .t-h3,
.path-card > div .t-body,
.path-title,
.path-desc{ color:var(--ink) !important; }
.path-num{ color:rgba(10,22,40,.09) !important; }
.path-link{ color:var(--gold2) !important; }
.path-icon{ background:rgba(255,153,0,.14) !important; border-color:rgba(255,153,0,.26) !important; color:var(--gold2) !important; }
.path-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.58) 50%, rgba(255,255,255,0) 60%, transparent 100%);
  transform:translateX(-145%) skewX(-16deg);
  pointer-events:none;
}
.path-card:hover{ background:#e4e8ed !important; }
.path-card:hover::after{ animation:cardShine 1.08s ease forwards; }
@keyframes cardShine{ to{ transform:translateX(160%) skewX(-16deg);} }
.paths-manager-row{
  grid-template-columns:minmax(270px,400px) minmax(320px,400px) !important;
  justify-content:center !important;
  column-gap:30px !important;
}
.paths-manager-copy{ transform:translateX(-10px); }
.paths-manager-form{ transform:translateX(10px); }
.paths-manager-title,.paths-manager-subtitle{ text-align:left; }

.adv-action-row{ width:100%; display:flex !important; flex-wrap:nowrap !important; }
.adv-action-row .btn{ flex:1 1 0; min-width:0; justify-content:center; }

.adv-card::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 60%, transparent 100%);
  transform:translateX(-145%) skewX(-16deg);
  pointer-events:none;
}
.adv-card:hover::after{ animation:cardShine 1.08s ease forwards; }

.ns-actions{ gap:8px !important; margin-left:auto !important; transform:translateX(-10px); }
.ns-btn{ width:78px !important; }
.ns-btn i::after,.ns-btn .fa-solid::after,.ns-btn .fa-brands::after{ display:none !important; }
.ns-pin{ font-size:19px !important; margin-right:6px; animation:pinPulse 2s ease-in-out infinite, pinGlow 6s ease-in-out infinite; }
.ns-addr{ padding-left:11px; transform:translateX(-6px); }
.ns-phones{ transform:translateY(-50%) translateX(-6px); }
@keyframes pinGlow{ 0%,82%,100%{ filter:drop-shadow(0 0 0 rgba(255,255,255,0)); } 90%{ filter:drop-shadow(0 0 8px rgba(255,255,255,.66)); } }

.reviews-section{ background:var(--ink) !important; }
.reviews-section .sec-header{ margin-bottom:30px !important; }
.rev-board{
  background:#eef1f5 !important;
  border-color:#dbe2ea !important;
}
.rev-head{
  background:#d8e0e9 !important;
  border-bottom-color:#c9d1da !important;
}
.rev-head-left > span{ color:var(--ink) !important; }
.rev-stars{ font-size:22px !important; letter-spacing:0 !important; }
.rev-text{ color:rgba(10,22,40,.8) !important; }
.rev-author{ color:rgba(10,22,40,.72) !important; }
.rev-date{ color:rgba(10,22,40,.48) !important; }
.rev-ctrl button{
  background:var(--gold2) !important;
  color:#fff !important;
  border:none !important;
}
.review-actions-center{ color:#fff !important; }
.review-arrow{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; color:var(--gold2) !important;
  animation:reviewArrowMove 1.1s ease-in-out infinite alternate;
}
.review-arrow:last-child{ animation-delay:.35s; }
@keyframes reviewArrowMove{ from{ transform:translateX(0);} to{ transform:translateX(5px);} }
@keyframes reviewArrowMoveLeft{ from{ transform:translateX(0);} to{ transform:translateX(-5px);} }
.review-arrow:first-child{ animation-name:reviewArrowMoveLeft; }
.review-gift-btn{
  background:transparent !important;
  border:1px solid rgba(255,153,0,.72) !important;
  color:var(--gold2) !important;
  height:44px !important;
  font-size:13px !important;
}
.review-gift-btn:hover{ background:rgba(255,153,0,.09) !important; }

.delivery-layout{ grid-template-columns:minmax(560px,1.22fr) minmax(300px,.78fr) !important; }
.delivery-map-wrap{ gap:10px !important; }
.delivery-map{ aspect-ratio:16/8.7; }
.delivery-map img{ width:100%; height:100%; object-fit:cover; object-position:center bottom; }
.delivery-note-box{
  background:none !important; border:none !important; box-shadow:none !important;
  padding:0 !important; white-space:normal !important; overflow:visible !important; text-overflow:clip !important;
  color:#8f98a5 !important; font-size:13px !important; line-height:1.5 !important; min-height:56px;
}
.delivery-foot-row{ padding-top:16px !important; }
.delivery-ask-btn{
  min-width:100% !important;
  height:56px !important;
  background:var(--blue) !important;
  color:#fff !important;
  border:none !important;
}
.delivery-ask-btn:hover{ background:var(--blue2) !important; }

.measure-inline-text{ font-weight:500 !important; }
.measure-inline-text br{ display:block !important; }
.measure-shine{
  position:relative; display:inline-block; margin-top:4px;
}
.measure-shine::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.65) 50%, rgba(255,255,255,0) 60%, transparent 100%);
  transform:translateX(-160%) skewX(-16deg);
  animation:measureGlow 5.2s ease-in-out infinite;
  pointer-events:none;
}
@keyframes measureGlow{ 0%,78%{transform:translateX(-160%) skewX(-16deg);} 100%{transform:translateX(170%) skewX(-16deg);} }

.as-num{ font-size:clamp(16px,1.45vw,20px) !important; }
.as-lbl{ font-size:9px !important; letter-spacing:.03em !important; }

.media-showcase-section{ padding:28px 0 18px !important; background:#fff; }
.media-showcase{ display:grid; gap:20px; }
.media-row-head{ margin-bottom:6px; }
.media-row-head h2{ margin-top:0; }
.media-gallery-block{
  background:#fff; border:1px solid var(--border); border-radius:var(--r-xl);
  padding:18px 18px 14px; box-shadow:var(--sh);
}
.media-gallery-toolbar{ display:grid; grid-template-columns:36px 1fr 36px; align-items:center; gap:12px; margin-bottom:14px; }
.media-gallery-title{ font-size:18px; font-weight:800; color:var(--ink); text-align:center; }
.media-gallery-arrows{ display:contents; }
.media-arrow{
  width:36px; height:36px; border-radius:999px; border:1px solid rgba(255,153,0,.36);
  background:transparent; color:var(--gold2); cursor:pointer; transition:background .2s,color .2s,transform .2s;
}
.media-arrow:hover{ background:rgba(255,153,0,.08); transform:translateY(-1px); }
.media-gallery-arrows .next{ grid-column:3; }
.media-window{ overflow:hidden; }
.media-track{ display:flex; transition:transform .45s ease; }
.media-card{ flex:0 0 calc(33.333% - 10px); margin-right:15px; border-radius:var(--r-lg); overflow:hidden; background:#eef2f7; aspect-ratio:4/3; }
.media-card img,.media-card iframe{ width:100%; height:100%; display:block; object-fit:cover; }
button.media-card{ border:0; padding:0; cursor:pointer; font:inherit; color:inherit; }
button.media-card:focus-visible{ outline:2px solid var(--gold); outline-offset:2px; }
.media-video-card{ flex-basis:calc(33.333% - 10px); }
.media-video-card iframe{ border:0; }
.media-dots{ display:flex; justify-content:center; gap:8px; margin-top:14px; }
.media-dot{
  width:30px; height:3px; border:none; border-radius:999px; background:#c5ced8; cursor:pointer;
  transition:background .2s, transform .2s;
}
.media-dot.on{ background:#8e9aa7; transform:scaleX(1.08); }

.certs-collage-section{ padding:16px 0 38px !important; background:#fff; }
.certs-collage{
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.cert-card{
  border:none; background:#eef2f7; border-radius:18px; overflow:hidden; cursor:pointer; padding:0;
  min-height:180px; position:relative; box-shadow:var(--sh);
}
.cert-card::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(100deg, transparent 0%, rgba(255,255,255,0) 40%, rgba(255,255,255,.58) 50%, rgba(255,255,255,0) 60%, transparent 100%);
  transform:translateX(-160%) skewX(-16deg); pointer-events:none;
}
.cert-card:hover::after{ animation:cardShine 1.08s ease forwards; }
.cert-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.cert-card-wide{ grid-column:span 2; aspect-ratio:16/9; }
.cert-card-tall{ grid-row:span 2; aspect-ratio:3/4; }
.cert-lightbox{
  position:fixed !important;
  top:0 !important; left:0 !important; right:0 !important; bottom:0 !important;
  width:100vw !important; height:100vh !important;
  background:rgba(6,12,22,.92);
  display:flex; align-items:center; justify-content:center;
  padding:80px 24px 40px;
  box-sizing:border-box;
  opacity:0; visibility:hidden; pointer-events:none; transition:opacity .25s ease;
  z-index:2147483647 !important;
}
.cert-lightbox.open{ opacity:1; visibility:visible; pointer-events:auto; }
.cert-lightbox-frame{
  max-width:min(90vw,820px); max-height:calc(100vh - 140px);
  border-radius:16px; overflow:hidden; background:#fff; box-shadow:0 24px 80px rgba(0,0,0,.42);
  display:flex; align-items:center; justify-content:center;
}
.cert-lightbox-frame img{ display:block; max-width:100%; max-height:calc(100vh - 140px); object-fit:contain; width:auto; height:auto; }
.cert-lightbox-frame video{
  display:none;
  width:100%;
  height:100%;
  max-width:100%;
  max-height:calc(100vh - 140px);
  background:#000;
}
.cert-lightbox-frame.is-video{
  width:min(90vw,1120px);
  aspect-ratio:16/9;
  background:#000;
}
.cert-lightbox-frame.is-video img{ display:none; }
.cert-lightbox-frame.is-video video{ display:block; }
@media (max-width:767px){
  .cert-lightbox{ padding:76px 14px 20px; }
  .cert-lightbox-frame{ max-width:94vw; max-height:calc(100vh - 110px); }
  .cert-lightbox-frame img{ max-height:calc(100vh - 110px); }
  .cert-lightbox-frame video{ max-height:calc(100vh - 110px); }
}
.cert-lightbox-close{
  position:absolute; top:20px; right:20px; width:42px; height:42px; border:none; border-radius:999px;
  background:rgba(255,255,255,.12); color:#fff; cursor:pointer; font-size:18px; z-index:2;
}
.cert-lightbox-close:hover{ background:rgba(255,255,255,.24); }
.cert-lightbox-arrow{
  position:absolute; top:50%; transform:translateY(-50%); width:54px; height:54px; border:none; border-radius:999px;
  background:rgba(255,255,255,.14); color:#fff; cursor:pointer; font-size:22px; z-index:2;
  display:flex; align-items:center; justify-content:center; transition:background .18s;
}
.cert-lightbox-arrow:hover{ background:rgba(255,255,255,.28); }
.cert-lightbox-prev{ left:24px; }
.cert-lightbox-next{ right:24px; }
@media (max-width:767px){
  .cert-lightbox-arrow{ width:44px; height:44px; font-size:18px; }
  .cert-lightbox-prev{ left:10px; }
  .cert-lightbox-next{ right:10px; }
}

/* Верхний ряд сертификатов — 4 в линию */
.certs-row-4{ grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
@media (max-width:991px){ .certs-row-4{ grid-template-columns:repeat(2,1fr) !important; } }
@media (max-width:575px){ .certs-row-4{ grid-template-columns:repeat(2,1fr) !important; gap:10px; } }

/* Общая карусель сертификатов + портфолио: видно 4, листается по одному */
.certs-row-carousel{
  position:relative; display:flex; align-items:center; gap:12px; margin-top:20px;
}
.certs-row-scroll,
.portfolio-scroll{
  display:flex !important; gap:16px !important; overflow-x:auto !important; overflow-y:hidden;
  scroll-behavior:smooth; scroll-snap-type:x mandatory;
  padding:6px 2px; flex:1; grid-template-columns:none !important;
  scrollbar-width:none; -ms-overflow-style:none;
}
.certs-row-scroll::-webkit-scrollbar,
.portfolio-scroll::-webkit-scrollbar{ display:none; }
.certs-row-scroll .cert-card{
  flex:0 0 calc((100% - 48px) / 4); width:calc((100% - 48px) / 4);
  aspect-ratio:1/1.414; min-height:0; scroll-snap-align:start;
}
.portfolio-scroll .portfolio-card{
  flex:0 0 calc((100% - 48px) / 4); width:calc((100% - 48px) / 4);
  aspect-ratio:4/3; border-radius:12px; overflow:hidden; padding:0; margin:0;
  border:1px solid rgba(0,0,0,.06); background:#eef2f7; cursor:pointer;
  scroll-snap-align:start; transition:transform .18s, box-shadow .18s;
  position:relative; font-size:0; line-height:0;
  -webkit-appearance:none; appearance:none;
}
button.portfolio-card{ background-color:#eef2f7; }
.portfolio-scroll .portfolio-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.12); }
.portfolio-scroll .portfolio-card > img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; border:0; }
.portfolio-video-card{
  position:relative !important;
  background:#000 !important;
  border:0;
  padding:0;
  cursor:pointer;
}
.portfolio-video-card .portfolio-card-video{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.portfolio-video-pill{
  position:absolute;
  left:10px;
  top:10px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:rgba(6,12,22,.72);
  color:#fff;
  font-size:12px;
  font-weight:800;
  line-height:1;
  backdrop-filter:blur(8px);
}
.portfolio-video-control{
  position:absolute;
  bottom:10px;
  width:36px;
  height:36px;
  border:0;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.88);
  color:var(--ink);
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.22);
}
.portfolio-video-control:hover{ background:#fff; }
.portfolio-video-play{ left:10px; }
.portfolio-video-mute{ right:10px; }
/* Вертикальная полоса портфолио */
.portfolio-scroll-vertical .portfolio-card-v{ aspect-ratio:1/1.414; }
.portfolio-section{ padding:34px 0; background:#fff; }
.portfolio-carousel{ margin-top:18px; }
@media (max-width:991px){
  .portfolio-scroll .portfolio-card{ flex-basis:calc((100% - 32px) / 3); width:calc((100% - 32px) / 3); }
}
@media (max-width:575px){
  .portfolio-scroll .portfolio-card{ flex-basis:calc((100% - 16px) / 2); width:calc((100% - 16px) / 2); }
}
.certs-arrow{
  flex:0 0 auto; width:44px; height:44px; border-radius:999px; border:1px solid var(--border);
  background:#fff; color:var(--blue); cursor:pointer; font-size:16px;
  display:flex; align-items:center; justify-content:center; transition:background .18s, box-shadow .18s;
  box-shadow:0 4px 12px rgba(0,0,0,.06);
}
.certs-arrow:hover{ background:var(--blue); color:#fff; }
@media (max-width:991px){
  .certs-row-scroll .cert-card{ flex-basis:calc((100% - 32px) / 3); width:calc((100% - 32px) / 3); }
}
@media (max-width:575px){
  .certs-row-scroll .cert-card{ flex-basis:calc((100% - 16px) / 2); width:calc((100% - 16px) / 2); }
  .certs-arrow{ width:36px; height:36px; font-size:14px; }
}

.company-videos-grid{ grid-template-columns:repeat(2,1fr) !important; }

.cities-inner{
  width:min(100% - 28px, 1260px) !important;
  margin:0 auto !important;
  column-count:6 !important;
  column-gap:18px !important;
}
.city-group{ margin:0 0 8px !important; text-align:center !important; }
.city-headline{ gap:6px !important; margin-bottom:2px !important; justify-content:center !important; align-items:center !important; }
.city-letter{ min-width:24px !important; font-size:18px !important; margin-left:0 !important; text-align:center !important; }
.city-items{ display:flex; flex-direction:column; align-items:center; gap:2px; }
.city-items .city-link{ margin-top:0 !important; }
.city-link{ min-height:22px !important; padding:2px 7px !important; justify-content:center !important; }
.city-link::before{ font-size:16px !important; }
.city-link.city-branch::before,
.city-link.city-main-office::before{ font-size:17px !important; position:relative; }
.city-current-badge{ display:none !important; }
.city-current{
  border-color:rgba(255,153,0,.58) !important;
  background:rgba(255,153,0,.11) !important;
  box-shadow:inset 0 0 0 1px rgba(255,153,0,.18) !important;
}
.cities-legend{ width:min(100% - 28px, 1260px) !important; margin:12px auto 0 !important; padding:12px 0 2px !important; text-align:center !important; }
.cities-legend-line{ line-height:1.5 !important; }
.cities-mark-title{ display:inline-block; font-size:15px !important; font-weight:800 !important; color:var(--ink) !important; white-space:nowrap; text-align:center; }
.cities-legend-badges{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-top:10px; }
.cities-mark-badge{ display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border-radius:999px; background:#f4f6f9; border:1px solid rgba(10,22,40,.08); color:var(--ink); font-weight:700; font-size:13px; }
.cities-mark-star-orange,.cities-mark-star-blue,.cities-mark-star-gray,
.city-link.city-branch::before,.city-link.city-main-office::before{
  display:inline-block; animation:starShine 7.5s linear infinite; transform-origin:center; font-size:1.5em; line-height:1;
}
.cities-mark-star-orange,.city-link.city-main-office::before{ color:var(--gold2) !important; }
.cities-mark-star-blue,.city-link.city-branch::before{ color:var(--blue3) !important; }
.cities-mark-star-gray{ color:#c7ccd3 !important; }
@keyframes starShine{
  0%,84%{ filter:drop-shadow(0 0 0 rgba(255,255,255,0)); transform:scale(1);}
  90%{ filter:drop-shadow(0 0 8px rgba(255,255,255,.58)); transform:scale(1.18);}
  100%{ filter:drop-shadow(0 0 0 rgba(255,255,255,0)); transform:scale(1);}
}

@media (max-width:1399px){
  .cities-inner{ column-count:8 !important; }
}
@media (max-width:1199px){

  .media-card{ flex-basis:calc(50% - 8px); }
  .media-video-card{ flex-basis:calc(33.333% - 10px); }
  .cities-inner{ column-count:6 !important; }
}
@media (max-width:991px){
  .media-card,.media-video-card{ flex-basis:100%; margin-right:0; }
  .certs-collage{ grid-template-columns:1fr 1fr; }
  .cert-card-wide,.cert-card-tall{ grid-column:auto; grid-row:auto; aspect-ratio:4/3; }
  .cities-inner{ column-count:3 !important; }
}

.hero-copy.right .hero-title,.hero-copy.right #hero .hero-lead{ text-align:right !important; }
.paths-manager-control .btn{ min-width:64px; }
.measure-inline-text{ font-weight:400 !important; }
.review-gift-btn::after,.path-card::after,.adv-card::after,.cert-card::after{ will-change:transform; }
.media-showcase-section .media-row-head{ display:none !important; }
.media-gallery-block[data-gallery="portfolio"] .media-gallery-title{ font-size:19px; }
.media-gallery-block[data-gallery="portfolio"] .media-gallery-toolbar{ margin-bottom:16px; }
.media-gallery-block[data-gallery="portfolio"] .media-card iframe{ border:0; }
.about-company-section .chip{ padding:10px 16px !important; font-size:13px !important; transform:translateY(-8px); }
.cities-mark-star-orange,.cities-mark-star-blue,.cities-mark-star-gray{ vertical-align:middle; }
.cities-mark-badge .cities-mark-star-orange,.cities-mark-badge .cities-mark-star-blue,.cities-mark-badge .cities-mark-star-gray{ font-size:20px !important; }

@media (max-width:1399px){
  .cities-inner{ column-count:5 !important; }
}
@media (max-width:1199px){
  .cities-inner{ column-count:4 !important; }
  .media-video-card{ flex-basis:calc(50% - 8px) !important; }
}
@media (max-width:991px){
  .cities-inner{ column-count:2 !important; width:min(100% - 18px, 100%) !important; margin:0 auto !important; }
}

.t-hero{font-size:clamp(32px,4.35vw,62px)!important;}
.chip,
.work-section .chip,
.delivery-section .chip,
.measure-left .chip,
.media-chip,
.sec-header .chip,
.about-company-section .chip{
  position:relative;

  padding:8px 14px !important;
  font-size:11px !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  transform:none !important;
  --chip-shine:rgba(255,255,255,.22);
}
 }
.chip-gold{ --chip-shine:rgba(255,153,0,.42); }
.chip-blue{ --chip-shine:rgba(0,58,121,.32); }
.chip-white{ --chip-shine:rgba(255,255,255,.34); }

.header-phones-block{ transform:translateX(-18px) !important; }
.ns-phones{ transform:translateY(-50%) translateX(-14px) !important; gap:14px !important; }
.ns-addr{
  transform:translateX(-14px) !important;
  flex:0 1 440px !important;
  max-width:440px !important;
  font-size:11px !important;
}
.ns-addr span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.ns-btn{ width:70px !important; }
.ns-phone{ font-size:14px !important; }

.work-section{
  background:linear-gradient(135deg, #0a2f5d 0%, #08315e 50%, #0b3f78 100%) !important;
  padding-top:56px !important;
  padding-bottom:46px !important;
}
.work-section .sec-h{ color:#fff !important; }
.work-section .sec-lead{
  max-width:760px;
  margin:12px auto 0;
  color:rgba(255,255,255,.78) !important;
}
.work-steps{
  grid-template-columns:repeat(6, minmax(0,1fr)) !important;
  gap:14px !important;
}
.work-steps::before{ display:none !important; }
.work-step{
  text-align:left !important;
  padding:18px 18px 16px !important;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 28px rgba(10,22,40,.12);
}
.ws-num{
  margin:0 0 14px !important;
  width:54px !important;
  height:54px !important;
  box-shadow:none !important;
}
.ws-title{ color:var(--ink) !important; margin-bottom:6px !important; }
.ws-text{ color:rgba(10,22,40,.68) !important; }

.reviews-section{ background:var(--ink) !important; }
.reviews-title{ color:#fff !important; }
.review-actions-center{
  font-weight:500 !important;
  color:#fff !important;
}
.review-gift-btn{
  font-weight:800 !important;
  font-size:14px !important;
  letter-spacing:.01em !important;
}

.delivery-map{ aspect-ratio:16/10.6 !important; min-height:360px; }
.delivery-note-box{
  text-align:center !important;
  align-self:center;
  max-width:92%;
}
.measure-shine.no-shine::after{ display:none !important; }

.portfolio-media-section{ padding-top:10px !important; padding-bottom:24px !important; }
.portfolio-gallery{
  padding:18px 18px 10px !important;
  overflow:hidden;
}
.portfolio-gallery .media-gallery-toolbar{
  display:block !important;
  margin-bottom:14px !important;
}
.media-gallery-link{
  display:block;
  text-align:center;
  font-size:15px !important;
  font-weight:500 !important;
  color:#8b94a0 !important;
}
.media-gallery-link:hover{ color:#6f7986 !important; }
.portfolio-gallery .media-window{
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:4px;
  scrollbar-width:thin;
}
.portfolio-gallery .media-track{
  display:flex !important;
  width:max-content;
  gap:14px;
  transform:none !important;
}
.portfolio-gallery .media-card{
  flex:0 0 clamp(220px, 28vw, 310px) !important;
  margin-right:0 !important;
}
.portfolio-gallery .media-dots,

.media-video-placeholder{
  background:#11161d !important;
  color:#fff;
}
.media-video-placeholder-inner{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.media-video-placeholder-inner i{
  font-size:28px;
  color:rgba(255,255,255,.92);
}
.media-video-placeholder-inner span{
  font-size:14px;
  font-weight:700;
  color:rgba(255,255,255,.78);
}

.certs-docs-section{
  background:#eceff3 !important;
  padding:24px 0 42px !important;
}
.certs-headline{ margin-bottom:18px !important; }
.certs-small-title{
  margin-top:10px;
  font-size:15px;
  font-weight:600;
  color:#6d7784;
}
.certs-simple{ display:grid; gap:16px; }
.certs-row{ display:grid; gap:16px; }
.certs-row-top{ grid-template-columns:repeat(3,minmax(0,1fr)); }
.certs-row-bottom{ grid-template-columns:repeat(4,minmax(0,1fr)); }
.cert-card{
  background:#fff !important;
  border:1px solid rgba(10,22,40,.08) !important;
  border-radius:18px !important;
  box-shadow:none !important;
}
.cert-card-landscape{ aspect-ratio:1.414/1 !important; min-height:0 !important; }
.cert-card-portrait{ aspect-ratio:1/1.414 !important; min-height:0 !important; }
.cert-card img{ object-fit:cover !important; }
/* Горизонтальные дипломы — картинка чуть больше, краями обрезается */
.cert-card-landscape img{ transform: scale(1.05); transform-origin: center; }

.media-gallery-title-muted{
  text-align:center !important;
  font-size:15px !important;
  font-weight:500 !important;
  color:#8b94a0 !important;
}

.footer-grid{ grid-template-columns:300px 1fr 320px !important; }
.footer-logo img{ height:120px !important; margin-bottom:18px !important; }
.footer-tagline{
  font-size:12px !important;
  font-weight:600 !important;
  color:rgba(255,255,255,.25) !important;
}
.footer-contacts{ gap:14px !important; }
.fc-row{
  font-size:16px !important;
  line-height:1.65 !important;
  color:rgba(255,255,255,.68) !important;
}
.fc-row a{ color:rgba(255,255,255,.78) !important; }
.footer-top-btn i::after{ display:none !important; }

.city-group{
  text-align:left !important;
  break-inside:avoid;
  margin:0 0 6px !important;
}
.city-headline{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:8px !important;
  margin:0 0 4px !important;
}
.city-headline::after{
  content:'';
  height:1px;
  flex:1 1 auto;
  background:rgba(10,22,40,.12);
}
.city-letter{
  min-width:18px !important;
  font-size:16px !important;
  text-align:left !important;
}
.city-items{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:2px !important;
}
.city-link{
  justify-content:flex-start !important;
  text-align:left !important;
  width:100% !important;
  min-height:22px !important;
  padding:2px 6px !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.city-link:hover{
  background:rgba(255,153,0,.06) !important;
  border-color:rgba(255,153,0,.18) !important;
  transform:none !important;
}
.city-link.city-main-office::before,
.cities-mark-star-orange{ color:var(--gold2) !important; }
.city-link.city-branch::before,
.cities-mark-star-blue{ color:var(--blue3) !important; }
.city-link.city-brigade::before,
.cities-mark-star-gray{ color:#b5bcc6 !important; }
.city-current{
  background:rgba(255,153,0,.08) !important;
  border-color:rgba(255,153,0,.24) !important;
}
.cities-inner{
  width:min(100% - 32px, 1180px) !important;
  margin:0 auto !important;
  column-count:5 !important;
  column-gap:20px !important;
  display:block !important;
}
.cities-legend{
  width:min(100% - 32px, 1180px) !important;
  margin:10px auto 0 !important;
  padding:10px 0 2px !important;
  text-align:center !important;
}
.cities-mark-title{ white-space:normal !important; }
.cities-mark-badge{ font-size:12px !important; padding:7px 12px !important; }

@media (max-width:1399px){
  .cities-inner{ column-count:4 !important; }
}
@media (max-width:1199px){
  .work-steps{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .cities-inner{ column-count:3 !important; }
  .footer-grid{ grid-template-columns:1fr !important; }
}
@media (max-width:991px){
  .portfolio-gallery .media-card{ flex-basis:clamp(220px, 72vw, 320px) !important; }
  .certs-row-top,
  .certs-row-bottom{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cities-inner{ column-count:2 !important; }
}
@media (max-width:767px){
  .work-steps{ grid-template-columns:1fr !important; }
  .certs-row-top,
  .certs-row-bottom{ grid-template-columns:1fr; }
  .cities-inner{ column-count:1 !important; }
  .ns-addr{ display:none !important; }
}

.reviews-section .reviews-title{ color:#fff !important; }
.city-link.city-brigade::before,
.city-link.city-branch::before,
.city-link.city-main-office::before{
  content:'★' !important;
}

#hero

#hero{
  height:640px !important;
  min-height:640px !important;
  max-height:640px !important;
}

.hero-content{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  padding:28px 0 54px !important;
}
.hero-content .w{
  position:relative;
  width:min(100% - 40px,1180px);
}
#hero .hero-copy{
  max-width:min(100%,620px) !important;
}
.hero-badge-opposite{
  position:absolute !important;
  top:0 !important;
  right:0 !important;
  margin:0 !important;
  max-width:min(44vw,430px);
}
#hero .hero-form{
  max-width:420px !important;
  align-items:stretch !important;
}
#hero .hero-inp,
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn,
#hero .hero-form .btn-lg,
#hero .hero-form a.btn-lg,
#hero .hero-form button.btn-lg{
  height:42px !important;
  min-height:42px !important;
  font-size:14px !important;
}
#hero .hero-inp{
  padding:0 14px !important;
}
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{
  padding:0 18px !important;
}
#hero .hero-title{
  margin:10px 0 14px !important;
}
#hero .hero-lead{
  margin-bottom:22px !important;
}
#nav-sticky{
  padding:0 14px 0 10px !important;
}
.ns-addr{
  justify-content:flex-start !important;
  text-align:left !important;
  width:340px !important;
  max-width:340px !important;
}
.ns-addr span{ text-align:left !important; }
.ns-phones{
  left:50% !important;
  transform:translate(-50%,-50%) !important;
}
.ns-actions{
  margin-left:auto !important;
  padding-left:12px !important;
}
.work-section .sec-h{ color:#fff !important; }
.work-section .sec-lead{ color:rgba(255,255,255,.78) !important; }
.work-steps{
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:start !important;
}
.work-step{
  text-align:center !important;
  padding:0 8px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
}
.ws-num{
  width:72px !important;
  height:72px !important;
  margin:0 auto 14px !important;
  border-radius:50% !important;
  background:var(--gold) !important;
  color:#fff !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:30px !important;
  font-weight:900 !important;
}
.ws-num::before,
.ws-num::after{ display:none !important; }
.ws-title{
  color:rgba(255,255,255,.78) !important;
  text-align:center !important;
  margin:0 0 8px !important;
}
.ws-text{
  max-width:240px !important;
  margin:0 auto !important;
  color:rgba(255,255,255,.66) !important;
  text-align:center !important;
}
.portfolio-gallery .media-gallery-toolbar{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  align-items:center !important;
  gap:12px !important;
}
.portfolio-gallery .media-gallery-arrows{
  display:flex !important;
  justify-content:center !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  background:rgba(255,153,0,.14) !important;
  border:1px solid rgba(255,153,0,.34) !important;
  color:var(--gold2) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{
  background:rgba(255,153,0,.22) !important;
  color:var(--gold2) !important;
}
.portfolio-gallery .media-window{
  scroll-behavior:smooth;
}
.portfolio-gallery .media-dots{ display:none !important; }
.company-videos-full.useful-videos-section{ display:none !important; }

@media (max-width:1199px){
  .work-steps{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .hero-badge-opposite{ max-width:360px; }
}
@media (max-width:991px){
  .header-top{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    justify-items:center !important;
    min-height:auto !important;
    padding:12px 0 8px !important;
  }
  .header-top > a:first-child,
  .header-top-actions{
    width:auto !important;
  }
  .header-phones-block{
    display:block !important;
    position:static !important;
    transform:none !important;
    width:auto !important;
  }
  .header-city,
  .header-phone-row{
    text-align:center !important;
    justify-content:center !important;
  }
  .header-phone-row{
    gap:14px !important;
    flex-wrap:wrap !important;
  }
  .header-top-actions{
    justify-self:center !important;
    justify-content:center !important;
    flex-wrap:wrap !important;
  }
  #hero{
    height:560px !important;
    min-height:560px !important;
    max-height:560px !important;
  }
  .hero-content{ padding:22px 0 48px !important; }
  #hero .hero-title{
    font-size:clamp(34px,5.3vw,52px) !important;
    line-height:1.04 !important;
  }
  #hero .hero-lead{
    font-size:15px !important;
    line-height:1.45 !important;
    max-width:460px !important;
  }
  .hero-badge-opposite{
    max-width:300px;
    font-size:12px !important;
  }
  #nav-sticky{
    height:56px !important;
    padding:0 10px !important;
  }
  .ns-addr{
    width:260px !important;
    max-width:260px !important;
    font-size:11px !important;
  }
  .ns-phone{ font-size:13px !important; }
  .ns-btn{
    width:40px !important;
    height:36px !important;
  }
  .portfolio-gallery .media-card{ flex-basis:clamp(240px, 70vw, 320px) !important; }
}
@media (max-width:767px){
  .header-top{ gap:10px !important; }
  .header-phone-row{
    flex-direction:column !important;
    gap:8px !important;
    align-items:center !important;
  }
  .h-phone{ font-size:20px !important; }
  .header-city{ font-size:12px !important; }
  .header-top-actions{
    width:100% !important;
  }
  .header-top-actions .btn,
  .header-top-actions .chat-online-btn{
    min-width:0 !important;
    width:100% !important;
  }
  #hero{
    height:520px !important;
    min-height:520px !important;
    max-height:520px !important;
  }
  .hero-content{
    align-items:flex-start !important;
    padding:18px 0 44px !important;
  }
  .hero-content .w{ width:min(100% - 24px,1180px) !important; }
  .hero-badge-opposite{
    position:static !important;
    top:auto !important;
    right:auto !important;
    max-width:none !important;
    margin:0 0 10px !important;
  }
  #hero .hero-copy,
  #hero .hero-copy.right{
    max-width:100% !important;
    text-align:left !important;
    margin-left:0 !important;
    align-items:flex-start !important;
  }
  #hero .hero-copy.right .chip-gold,
  #hero .hero-copy.right .hero-title,
  #hero .hero-copy.right .hero-lead,
  #hero .hero-copy.right .hero-form,
  #hero .hero-copy.right .hero-agree{
    margin-left:0 !important;
    text-align:left !important;
  }
  #hero .hero-title{
    font-size:clamp(28px,8vw,38px) !important;
    line-height:1.05 !important;
    margin:8px 0 10px !important;
  }
  #hero .hero-lead{
    font-size:14px !important;
    line-height:1.42 !important;
    margin-bottom:14px !important;
    max-width:none !important;
  }
  #hero .hero-form{
    flex-direction:column !important;
    gap:10px !important;
    max-width:none !important;
  }
  #hero .hero-inp,
  #hero .hero-form .btn,
  #hero .hero-form a.btn,
  #hero .hero-form button.btn{
    width:100% !important;
    border-radius:10px !important;
  }
  #hero .hero-agree{
    font-size:11px !important;
    line-height:1.35 !important;
    margin-top:8px !important;
  }
  .hero-arrow{
    width:34px !important;
    height:34px !important;
    top:auto !important;
    bottom:10px !important;
    transform:none !important;
  }
  .hero-arrow-l{ left:10px !important; }
  .hero-arrow-r{ right:10px !important; }
  .hero-nav{ width:min(180px, calc(100% - 120px)) !important; bottom:24px !important; }
  #nav-sticky{
    height:58px !important;
    display:grid !important;
    grid-template-columns:auto 1fr auto !important;
    gap:8px !important;
    align-items:center !important;
  }
  .ns-sep,
  .ns-addr{ display:none !important; }
  .ns-phones{
    position:static !important;
    left:auto !important;
    top:auto !important;
    transform:none !important;
    justify-self:center !important;
    width:auto !important;
    gap:10px !important;
  }
  .ns-actions{
    padding-left:0 !important;
    gap:4px !important;
  }
  .ns-btn span{ display:none !important; }
  .ns-btn{
    width:34px !important;
    height:34px !important;
  }
  .work-steps{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .portfolio-gallery{ padding:16px 10px 10px !important; }
  .portfolio-gallery .media-gallery-toolbar{
    grid-template-columns:40px minmax(0,1fr) 40px !important;
    gap:8px !important;
  }
  .portfolio-gallery .media-gallery-arrows .media-arrow{
    width:36px !important;
    height:36px !important;
  }
  .portfolio-gallery .media-card{ flex-basis:82vw !important; }
}
@media (max-width:575px){
  #hero{
    height:500px !important;
    min-height:500px !important;
    max-height:500px !important;
  }
  .ns-logo img{ height:20px !important; }
  .ns-phones{
    flex-direction:column !important;
    gap:1px !important;
    line-height:1.03 !important;
  }
  .ns-phone{ font-size:11px !important; }
  .catalog-grid,
  .partners-row,
  .work-steps,
  .certs-row-top,
  .certs-row-bottom{ grid-template-columns:1fr !important; }
  #hero
}

#hero .hero-content .w{
  min-height:100%;
}
#hero .hero-copy,
#hero .hero-copy.right {
  position:relative;
  padding-top:0 !important;
}
.hero-badge-opposite{
  position:absolute !important;
  top:50% !important;
  right:0 !important;
  left:auto !important;
  transform:translateY(-140px) !important;
  margin:0 !important;
  max-width:min(40vw,380px) !important;
  z-index:3;
}
#hero .hero-copy.right .hero-badge-opposite{
  left:0 !important;
  right:auto !important;
}
#hero .hero-title,
#hero .hero-copy.right .hero-title,
#hero .hero-copy.right .hero-lead,
#hero .hero-copy.right .hero-form,
#hero .hero-copy.right .hero-agree{
  position:relative;
  z-index:2;
}
#hero .hero-title{ max-width:min(100%,620px); }
#hero .hero-copy.right .hero-title,
#hero .hero-copy.right .hero-lead,
#hero .hero-copy.right .hero-form,
#hero .hero-copy.right .hero-agree{
  margin-left:auto !important;
}
.work-section,
.paths-merge-section{
  background:#0a3363 !important;
}
.work-section{
  overflow:hidden !important;
}
.work-section .w,
.paths-merge-section .w,
.adv-shell .w,
.portfolio-media-section .w,
.certs-docs-section .w{
  position:relative;
  z-index:2;
}
.work-step{
  background:transparent !important;
  box-shadow:none !important;
  border:none !important;
  padding:0 10px !important;
}
.work-step::before,
.work-step::after{ display:none !important; }
.ws-num{
  background:var(--gold) !important;
  color:#fff !important;
}
.ws-title{
  color:rgba(255,255,255,.78) !important;
  text-align:center !important;
}
.ws-text{
  color:rgba(255,255,255,.68) !important;
  text-align:center !important;
}
section h2.t-h1{
  font-size:clamp(22px,3vw,38px) !important;
  line-height:1.1 !important;
  letter-spacing:-0.02em !important;
}
.work-section,
.paths-merge-section,
.adv-shell,
.portfolio-media-section,
.certs-docs-section,
.reviews-section,
.dark-cta,
.delivery-section,
section[class*="about"]{
  position:relative;
  overflow:hidden;
  isolation:isolate;
}
.work-section::before{
  content:'';
  position:absolute;
  width:380px;
  height:380px;
  right:-130px;
  top:-165px;
  border-radius:50%;
  background:rgba(255,255,255,.07);
  z-index:0;
}
.paths-merge-section::after{
  content:'';
  position:absolute;
  width:340px;
  height:340px;
  left:-120px;
  top:-115px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  z-index:0;
}
.adv-shell::before{
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  right:-90px;
  top:-85px;
  border-radius:50%;
  background:rgba(255,255,255,.42);
  z-index:0;
}
.adv-shell::after{
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  left:-90px;
  bottom:-110px;
  border-radius:50%;
  background:rgba(10,22,40,.05);
  z-index:0;
}
.reviews-section::before{
  content:'';
  position:absolute;
  width:280px;
  height:280px;
  right:-110px;
  bottom:-120px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  z-index:0;
}
.portfolio-media-section::before{
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-110px;
  top:-145px;
  border-radius:50%;
  background:rgba(255,153,0,.07);
  z-index:0;
}
.portfolio-media-section::after{
  content:'';
  position:absolute;
  width:220px;
  height:220px;
  left:-80px;
  bottom:-95px;
  border-radius:50%;
  background:rgba(10,22,40,.05);
  z-index:0;
}
.certs-docs-section::before{
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  left:-130px;
  top:-130px;
  border-radius:50%;
  background:rgba(10,22,40,.05);
  z-index:0;
}
.portfolio-gallery{
  max-width:100% !important;
  padding:18px 14px 12px !important;
}
.portfolio-gallery .media-gallery-toolbar{
  grid-template-columns:52px minmax(0,1fr) 52px !important;
}
.portfolio-gallery .media-window{
  overflow:hidden !important;
  width:100% !important;
}
.portfolio-gallery .media-track{
  width:100% !important;
  display:flex !important;
  gap:14px !important;
  transition:transform .65s ease !important;
  transform:translateX(0);
}
.portfolio-gallery .media-card{
  flex:0 0 calc((100% - 28px) / 3) !important;
  aspect-ratio:4 / 3;
  border-radius:18px !important;
  overflow:hidden;
}
.portfolio-gallery .media-gallery-link{
  font-size:15px !important;
  font-weight:500 !important;
  color:#8b94a0 !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow{
  background:rgba(255,153,0,.18) !important;
  border-color:rgba(255,153,0,.45) !important;
  color:var(--gold2) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{
  background:rgba(255,153,0,.28) !important;
}
@media (max-width:991px){
  .hero-badge-opposite{
    max-width:min(42vw,300px) !important;
    transform:translateY(-118px) !important;
  }
  .portfolio-gallery .media-card{
    flex-basis:calc((100% - 14px) / 2) !important;
  }
}
@media (max-width:767px){
  .hero-badge-opposite{
    position:static !important;
    transform:none !important;
    max-width:none !important;
    margin:0 0 10px !important;
  }
  .work-section::before,
  .paths-merge-section::after,
  .adv-shell::before,
  .adv-shell::after,
  .reviews-section::before,
  .portfolio-media-section::before,
  .portfolio-media-section::after,
  .certs-docs-section::before{
    opacity:.55;
    transform:scale(.78);
  }
  .portfolio-gallery{
    padding:14px 10px 10px !important;
  }
  .portfolio-gallery .media-gallery-toolbar{
    grid-template-columns:44px minmax(0,1fr) 44px !important;
  }
  .portfolio-gallery .media-card{
    flex-basis:100% !important;
  }
}

#hero,

#hero .hero-content{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  padding:18px 0 38px !important;
}
#hero .hero-content .w{
  display:flex !important;
  align-items:center !important;
  min-height:100% !important;
}
#hero .hero-copy,
#hero .hero-copy.right {
  max-width:min(100%,560px) !important;
}
#hero .hero-title{
  font-size:clamp(30px,4vw,52px) !important;
  line-height:1.02 !important;
  margin:8px 0 12px !important;
}
#hero .hero-lead{
  font-size:16px !important;
  line-height:1.52 !important;
  margin-bottom:18px !important;
  max-width:520px !important;
}
#hero .hero-form{ max-width:390px !important; }
#hero .hero-inp,
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{
  height:42px !important;
  min-height:42px !important;
  font-size:14px !important;
}
#hero .hero-inp{ padding:0 14px !important; }
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{ padding:0 16px !important; }
#hero .hero-agree{
  display:block !important;
  margin-top:8px !important;
  font-size:12px !important;
  color:rgba(255,255,255,.48) !important;
}
#hero .hero-agree input{ display:none !important; }
.hero-badge-opposite,
#hero .hero-copy.right .hero-badge-opposite{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  transform:none !important;
  margin:0 0 12px !important;
  max-width:none !important;
}
#hero .hero-copy.right .hero-badge-opposite{ margin-left:auto !important; }
#hero .hero-copy.right .hero-title,
#hero .hero-copy.right .hero-lead,
#hero .hero-copy.right .hero-form,
#hero .hero-copy.right .hero-agree{ text-align:right !important; }

.work-section,
.paths-merge-section{
  background:#0a3363 !important;
}
.work-section{ padding-bottom:16px !important; }
.paths-merge-section{ padding-top:0 !important; margin-top:-2px !important; }
.work-section .sec-h,
.adv-left h2{
  font-size:clamp(22px,3vw,38px) !important;
  line-height:1.1 !important;
  letter-spacing:-0.02em !important;
}
.work-steps{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:start !important;
}
.work-step{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:100% !important;
  padding:0 6px !important;
  min-width:0 !important;
}
.work-step::before,
.work-step::after,
.work-steps::before,
.ws-num::before,
.ws-num::after{ display:none !important; }
.ws-num{
  width:68px !important;
  height:68px !important;
  min-width:68px !important;
  margin:0 auto 14px !important;
  border-radius:50% !important;
  background:var(--gold) !important;
  color:#fff !important;
  box-shadow:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:28px !important;
  font-weight:900 !important;
}
.ws-title{
  width:100% !important;
  margin:0 0 8px !important;
  text-align:center !important;
  color:rgba(255,255,255,.82) !important;
}
.ws-text{
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
  text-align:center !important;
  color:rgba(255,255,255,.70) !important;
}
.paths-manager-row{
  background:rgba(6,25,49,.26) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:24px !important;
  padding:22px 24px !important;
  margin-top:24px !important;
}
.paths-manager-copy,
.paths-manager-form{ transform:none !important; }
.paths-manager-control{
  background:rgba(255,255,255,.04) !important;
  border-radius:16px !important;
  padding:0 !important;
}
.paths-manager-control .hero-inp { background: rgba(255,255,255,.92) !important; color: var(--ink) !important; border: 1px solid rgba(255,255,255,.4) !important; }

.portfolio-media-section,
.certs-docs-section,
.partners-section,
.final-cta{ position:relative !important; overflow:hidden !important; }
.portfolio-media-section::before{
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-120px;
  top:-120px;
  border-radius:50%;
  background:rgba(255,153,0,.07);
  z-index:0;
}
.portfolio-media-section::after{
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-120px;
  bottom:-150px;
  border-radius:50%;
  background:rgba(10,22,40,.05);
  z-index:0;
}
.certs-docs-section::before{
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-120px;
  top:-150px;
  border-radius:50%;
  background:rgba(10,22,40,.05);
  z-index:0;
}
.certs-docs-section::after{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  left:-110px;
  bottom:-110px;
  border-radius:50%;
  background:rgba(255,153,0,.06);
  z-index:0;
}
.partners-section::before{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  left:-110px;
  top:-110px;
  border-radius:50%;
  background:rgba(10,22,40,.04);
  z-index:0;
}
.final-cta::before{
  content:'';
  position:absolute;
  width:320px;
  height:320px;
  right:-130px;
  top:-130px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  z-index:0;
}
.portfolio-gallery{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:18px 14px 12px !important;
  box-sizing:border-box !important;
}
.portfolio-gallery .media-gallery-toolbar{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  align-items:center !important;
  gap:10px !important;
  margin-bottom:16px !important;
}
.media-gallery-link-chip{
  justify-self:center !important;
  margin:0 auto !important;
  text-decoration:none !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.portfolio-gallery .media-window{
  width:100% !important;
  overflow:hidden !important;
}
.portfolio-gallery .media-track{
  display:flex !important;
  gap:14px !important;
  width:300% !important;
  transition:transform .72s ease !important;
  will-change:transform;
}
.portfolio-gallery .media-card{
  flex:0 0 calc((100% - 28px) / 3) !important;
  aspect-ratio:4 / 3 !important;
  min-width:0 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.portfolio-gallery .media-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.portfolio-gallery .media-gallery-arrows{
  display:flex !important;
  justify-content:center !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,153,0,.18) !important;
  border:1px solid rgba(255,153,0,.48) !important;
  color:var(--gold2) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{
  background:rgba(255,153,0,.28) !important;
}

@media (max-width:1199px){
  #hero{ height:580px !important; min-height:580px !important; max-height:580px !important; }
  .work-steps{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:991px){
  #hero{ height:540px !important; min-height:540px !important; max-height:540px !important; }
  #hero .hero-title{ font-size:clamp(28px,7vw,40px) !important; }
  #hero .hero-lead{ font-size:15px !important; }

  .portfolio-gallery .media-card{ flex:0 0 calc((100% - 14px) / 2) !important; }
}
@media (max-width:767px){
  #hero{ height:500px !important; min-height:500px !important; max-height:500px !important; }
  #hero .hero-content{ padding:18px 0 34px !important; }
  #hero .hero-title,
  #hero .hero-copy.right .hero-title,
  #hero .hero-copy.right .hero-lead,
  #hero .hero-copy.right .hero-form,
  #hero .hero-copy.right .hero-agree{ text-align:left !important; }
  #hero .hero-copy.right .hero-badge-opposite,
  .hero-badge-opposite{ margin-left:0 !important; }
  #hero .hero-form{ max-width:100% !important; }
  .work-steps{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px 12px !important; }
  .paths-manager-row{ grid-template-columns:1fr !important; padding:18px !important; }
  .portfolio-gallery{ padding:16px 10px 10px !important; }
  .portfolio-gallery .media-card{ flex:0 0 100% !important; }
}

#hero,

#hero .hero-content{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
}
#hero .hero-content .w{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:min(100% - 46px,1180px) !important;
  height:100% !important;
  padding:66px 0 42px !important;
}
#hero .hero-copy,
#hero .hero-copy.right {
  max-width:min(100%,560px) !important;
  width:100% !important;
  padding-top:0 !important;
}
#hero .hero-copy.right{
  margin-left:auto !important;
  text-align:right !important;
  align-items:flex-end !important;
}
#hero .hero-copy.right .hero-title,
#hero .hero-copy.right .hero-lead,
#hero .hero-copy.right .hero-form,
#hero .hero-copy.right .hero-agree{
  text-align:right !important;
  margin-left:auto !important;
}
.hero-badge-opposite,
#hero .hero-copy.right .hero-badge-opposite{
  position:static !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  display:inline-flex !important;
  margin:0 0 12px !important;
  max-width:none !important;
  z-index:3 !important;
}
#hero .hero-title{
  font-size:clamp(28px,3.7vw,46px) !important;
  line-height:1.02 !important;
  letter-spacing:-0.03em !important;
  margin:0 0 10px !important;
}
#hero .hero-lead{
  font-size:15px !important;
  line-height:1.42 !important;
  margin-bottom:14px !important;
  max-width:500px !important;
}
#hero .hero-form{
  max-width:390px !important;
}
#hero .hero-copy.right .hero-form{
  justify-content:flex-end !important;
}
#hero .hero-inp,
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{
  height:42px !important;
  min-height:42px !important;
}
#hero .hero-nav{
  bottom:14px !important;
}
#hero .hero-arrow{
  top:50% !important;
  bottom:auto !important;
  transform:translateY(-50%) !important;
}
#hero .hero-arrow-l{ left:18px !important; }
#hero .hero-arrow-r{ right:18px !important; }

.work-section{
  background:#0a3363 !important;
}
.work-steps{
  display:grid !important;
  grid-template-columns:repeat(6,minmax(0,1fr)) !important;
  gap:16px !important;
  justify-content:initial !important;
  align-items:start !important;
  align-content:start !important;
  width:100% !important;
  max-width:1420px !important;
  margin:0 auto !important;
}
.work-step{
  width:100% !important;
  min-width:0 !important;
  text-align:center !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 8px !important;
}
.ws-num{
  margin:0 auto 12px !important;
}
.ws-title,
.ws-text{
  width:100% !important;
  text-align:center !important;
}

.paths-manager-row{
  max-width:760px !important;
  margin:24px auto 0 !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  border-radius:24px !important;
  padding:18px 20px !important;
  gap:16px !important;
}
.paths-manager-copy{ max-width:340px !important; }
.paths-manager-control{
  background:rgba(3,16,32,.24) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  border-radius:16px !important;
}
.paths-manager-control .hero-inp { background: rgba(255,255,255,.92) !important; color: var(--ink) !important; border: 1px solid rgba(255,255,255,.4) !important; }
.paths-manager-note{
  color:rgba(255,255,255,.64) !important;
}

.adv-right > *{
  opacity:1 !important;
  visibility:visible !important;
}

.cta-phone-block,
.calc-block,
.partners-section,
.final-cta,
.certs-docs-section,
.portfolio-media-section{
  position:relative !important;
  overflow:hidden !important;
}

.calc-block{
  margin-top:-40px !important;
  margin-bottom:-40px !important;
  z-index:2 !important;
}
@media (max-width:767px){
  .paths-manager-title{ white-space:normal !important; }
  .footer-top-btn{ margin-top:2px !important; }
}
.cta-phone-block::after{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  left:-80px;
  top:-70px;
  border-radius:50%;
  background:rgba(255,255,255,.05);
  z-index:0;
}
.calc-block::before{
  content:'';
  position:absolute;
  width:280px;
  height:280px;
  right:-110px;
  top:-120px;
  border-radius:50%;
  background:rgba(255,153,0,.06);
  z-index:0;
}
.partners-section::after{
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  right:-120px;
  bottom:-130px;
  border-radius:50%;
  background:rgba(255,153,0,.05);
  z-index:0;
}

.portfolio-gallery{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:18px 14px 12px !important;
  box-sizing:border-box !important;
}
.portfolio-gallery .media-gallery-toolbar{
  display:grid !important;
  grid-template-columns:52px minmax(0,1fr) 52px !important;
  align-items:center !important;
  gap:12px !important;
}
.portfolio-gallery .media-window{
  width:100% !important;
  overflow:hidden !important;
  position:relative !important;
}
.portfolio-gallery .media-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:14px !important;
  width:auto !important;
  min-width:100% !important;
  transition:transform .66s ease !important;
  transform:translate3d(0,0,0) !important;
  will-change:transform !important;
}
.portfolio-gallery .media-card{
  flex:0 0 auto !important;
  width:calc((100% - 28px) / 3) !important;
  max-width:none !important;
  aspect-ratio:4 / 3 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.portfolio-gallery .media-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,153,0,.18) !important;
  border:1px solid rgba(255,153,0,.46) !important;
  color:var(--gold2) !important;
  transition:background-color .25s ease, transform .25s ease !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{
  background:rgba(255,153,0,.28) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:disabled{
  opacity:.6 !important;
}

@media (max-width:1199px){
  #hero{
    height:450px !important;
    min-height:450px !important;
    max-height:450px !important;
  }
  #hero .hero-content .w{
    padding:62px 0 38px !important;
  }
  .work-steps{ grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
}
@media (max-width:991px){
  #hero{
    height:470px !important;
    min-height:470px !important;
    max-height:470px !important;
  }
  #hero .hero-content .w{
    width:min(100% - 34px,1180px) !important;
    padding:58px 0 34px !important;
  }
  #hero .hero-title{
    font-size:clamp(24px,5vw,36px) !important;
  }
  #hero .hero-lead{
    font-size:14px !important;
    line-height:1.38 !important;
  }

  .portfolio-gallery .media-card{ width:calc((100% - 14px) / 2) !important; }
}
@media (max-width:767px){
  #hero{
    height:400px !important;
    min-height:400px !important;
    max-height:400px !important;
  }
  #hero .hero-content .w{
    padding:54px 0 44px !important;
  }
  #hero .hero-copy,
  #hero .hero-copy.right{
    max-width:100% !important;
    text-align:left !important;
    margin-left:0 !important;
    align-items:flex-start !important;
  }
  #hero .hero-copy.right .hero-title,
  #hero .hero-copy.right .hero-lead,
  #hero .hero-copy.right .hero-form,
  #hero .hero-copy.right .hero-agree{
    text-align:left !important;
    margin-left:0 !important;
  }
  #hero .hero-title{
    font-size:clamp(22px,8vw,30px) !important;
    margin-bottom:8px !important;
  }
  #hero .hero-lead{
    font-size:13px !important;
    margin-bottom:12px !important;
    max-width:none !important;
  }
  .hero-badge-opposite,
  #hero .hero-copy.right .hero-badge-opposite{
    margin:0 0 10px !important;
  }
  #hero .hero-form{
    max-width:100% !important;
  }
  .work-steps{ grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px 12px !important; }
  .paths-manager-row{
    max-width:100% !important;
    padding:16px !important;
  }
  .portfolio-gallery .media-card{ width:100% !important; }
}
@media (max-width:575px){
  #hero{
    height:380px !important;
    min-height:380px !important;
    max-height:380px !important;
  }
  #hero .hero-content .w{
    width:min(100% - 24px,1180px) !important;
    padding:52px 0 42px !important;
  }
}

#hero {
  height:400px !important;
  min-height:400px !important;
  max-height:400px !important;
}

#hero .hero-content{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
}
#hero .hero-content .w{
  width:min(100% - 46px,1180px) !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  padding:34px 0 42px !important;
}
#hero .hero-copy,
#hero .hero-copy.right {
  width:100% !important;
  max-width:520px !important;
}
#hero .hero-copy.right{
  margin-left:auto !important;
}
#hero .hero-title{
  font-size:clamp(26px,3.35vw,44px) !important;
  line-height:1.03 !important;
  margin:0 0 8px !important;
}
#hero .hero-lead{
  font-size:15px !important;
  line-height:1.42 !important;
  margin-bottom:14px !important;
  max-width:480px !important;
}
#hero .hero-form{
  max-width:360px !important;
}
#hero .hero-inp,
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{
  height:42px !important;
  min-height:42px !important;
  font-size:14px !important;
}
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{
  padding:0 16px !important;
}
#hero .hero-agree{
  margin-top:8px !important;
  font-size:12px !important;
}
#hero .hero-copy .hero-badge-opposite,
#hero .hero-copy.right .hero-badge-opposite,
.hero-badge-opposite{
  position:static !important;
  display:inline-flex !important;
  margin:0 0 10px !important;
  transform:none !important;
  max-width:none !important;
}
#hero .hero-arrow{
  top:50% !important;
  transform:translateY(-50%) !important;
  bottom:auto !important;
}
#hero .hero-arrow-l{ left:18px !important; }
#hero .hero-arrow-r{ right:18px !important; }
#hero .hero-nav{
  bottom:14px !important;
}

.work-section,
.paths-merge-section{
  background:var(--ink) !important;
}
.work-section{
  padding:56px 0 0 !important;
  position:relative !important;
  overflow:hidden !important;
}
.work-section::before{
  content:'' !important;
  position:absolute !important;
  width:360px !important;
  height:360px !important;
  right:-130px !important;
  top:-140px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.06) !important;
  z-index:0 !important;
}
.work-section::after{
  content:'' !important;
  position:absolute !important;
  width:260px !important;
  height:260px !important;
  left:-110px !important;
  top:46% !important;
  border-radius:50% !important;
  background:rgba(255,153,0,.07) !important;
  z-index:0 !important;
}
.work-section .w,
.paths-merge-section .w,
#catalog .w,
.delivery-section .w,
.measure-section-custom .w,
.about-company-section .w,
.portfolio-media-section .w,
.certs-docs-section .w,
.partners-section .w,
.seo-block .w{
  position:relative;
  z-index:1;
}
.work-section .sec-h{
  color:#fff !important;
}
.work-section .sec-lead{
  color:rgba(255,255,255,.76) !important;
}
.work-steps{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:18px !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  width:100% !important;
  max-width:none !important;
  margin:0 auto !important;
}
.work-step{
  flex:0 0 calc((100% - 90px) / 6) !important;
  width:calc((100% - 90px) / 6) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  padding:0 4px !important;
  min-width:0 !important;
}
.ws-num{
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  margin:0 auto 14px !important;
  border-radius:50% !important;
  background:var(--gold) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  color:#fff !important;
  box-shadow:0 12px 24px rgba(255,153,0,.18) !important;
}
.ws-title{
  color:rgba(255,255,255,.86) !important;
  margin:0 0 8px !important;
  text-align:center !important;
}
.ws-text{
  color:rgba(255,255,255,.68) !important;
  text-align:center !important;
  max-width:220px !important;
  margin:0 auto !important;
}
.paths-merge-section{
  margin-top:0 !important;
  padding:0 0 46px !important;
  position:relative !important;
  overflow:hidden !important;
}
.paths-merge-section::before{
  content:'' !important;
  position:absolute !important;
  width:300px !important;
  height:300px !important;
  right:-110px !important;
  top:-120px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.05) !important;
  z-index:0 !important;
}
.paths-manager-row{
  max-width:760px !important;
  margin:24px auto 0 !important;
  background:rgba(255,255,255,.07) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:24px !important;
  padding:18px 22px !important;
  gap:16px !important;
}
.paths-manager-copy{
  max-width:360px !important;
}
.paths-manager-title{
  white-space:nowrap !important;
}
.paths-manager-control{
  background:rgba(2,11,24,.60) !important;
  border:1px solid rgba(255,255,255,.14) !important;
  border-radius:16px !important;
}
.paths-manager-control .hero-inp { background: rgba(255,255,255,.92) !important; color: var(--ink) !important; border: 1px solid rgba(255,255,255,.4) !important; }
.paths-manager-note{
  color:rgba(255,255,255,.62) !important;
}

.adv-section{
  background:#f2f4f7 !important;
}

.adv-left{
  background:var(--blue) !important;
}

#catalog,
.delivery-section,
.measure-section-custom,
.about-company-section,
.portfolio-media-section,
.certs-docs-section,
.partners-section,
.seo-block{
  position:relative !important;
  overflow:hidden !important;
}
#catalog::after{
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  right:-110px;
  top:-120px;
  border-radius:50%;
  background:rgba(0,58,121,.08);
  z-index:0;
}
.delivery-section::after{
  content:'';
  position:absolute;
  width:280px;
  height:280px;
  left:-110px;
  bottom:-120px;
  border-radius:50%;
  background:rgba(0,58,121,.08);
  z-index:0;
}
.measure-section-custom::before{
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  right:-120px;
  top:-110px;
  border-radius:50%;
  background:rgba(255,153,0,.06);
  z-index:0;
}
.about-company-section::before{
  content:'';
  position:absolute;
  width:360px;
  height:360px;
  right:-130px;
  top:-150px;
  border-radius:50%;
  background:rgba(0,58,121,.08);
  z-index:0;
}
.portfolio-media-section{
  background:var(--off) !important;
  padding:24px 0 26px !important;
}
.portfolio-media-section::before{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  left:-110px;
  bottom:-110px;
  border-radius:50%;
  background:rgba(0,58,121,.08);
  z-index:0;
}
.portfolio-media-section::after{
  content:'';
  position:absolute;
  width:220px;
  height:220px;
  right:-90px;
  top:-90px;
  border-radius:50%;
  background:rgba(255,153,0,.07);
  z-index:0;
}
.certs-docs-section::before{
  content:'';
  position:absolute;
  width:260px;
  height:260px;
  left:-110px;
  top:-110px;
  border-radius:50%;
  background:rgba(10,22,40,.06);
  z-index:0;
}
.partners-section::after{
  content:'';
  position:absolute;
  width:300px;
  height:300px;
  right:-110px;
  bottom:-140px;
  border-radius:50%;
  background:rgba(255,153,0,.05);
  z-index:0;
}
.seo-block::before{
  content:'';
  position:absolute;
  width:240px;
  height:240px;
  left:-100px;
  top:180px;
  border-radius:50%;
  background:rgba(0,58,121,.05);
  z-index:0;
}
.seo-block::after{
  content:'';
  position:absolute;
  width:280px;
  height:280px;
  right:-120px;
  top:40px;
  border-radius:50%;
  background:rgba(255,153,0,.04);
  z-index:0;
}

.portfolio-chip,
.media-gallery-link-chip{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.portfolio-frame{
  position:relative;
  z-index:1;
}
.portfolio-slider-shell{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 !important;
}
.portfolio-slider-shell .media-gallery-arrows{
  display:flex !important;
  justify-content:center !important;
}
.portfolio-gallery .media-window{
  width:100% !important;
  overflow:hidden !important;
  padding:0 2px !important;
}
.portfolio-gallery .media-track{
  display:flex !important;
  gap:0 !important;
  width:100% !important;
  min-width:100% !important;
  transition:transform .72s ease !important;
  will-change:transform !important;
}
.portfolio-page{
  flex:0 0 100%;
  width:100%;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
}
.portfolio-page .media-card{
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  border-radius:18px !important;
  overflow:hidden !important;
}
.portfolio-page .media-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,153,0,.18) !important;
  border:1px solid rgba(255,153,0,.46) !important;
  color:var(--gold2) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{
  background:rgba(255,153,0,.28) !important;
}

@media (max-width:1199px){
  #hero{
    height:370px !important;
    min-height:370px !important;
    max-height:370px !important;
  }
  .work-steps{
    flex-wrap:wrap !important;
  }
  .work-step{
    flex:0 0 calc((100% - 36px) / 3) !important;
  }

}
@media (max-width:991px){
  #hero{
    height:340px !important;
    min-height:340px !important;
    max-height:340px !important;
  }
  #hero .hero-content .w{
    width:min(100% - 34px,1180px) !important;
    padding:28px 0 40px !important;
  }
  #hero .hero-title{
    font-size:clamp(23px,5vw,34px) !important;
  }
  #hero .hero-lead{
    font-size:14px !important;
    line-height:1.35 !important;
  }
  .work-step{
    flex:0 0 calc((100% - 18px) / 2) !important;
  }


  .portfolio-page{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}
@media (max-width:767px){
  #hero{
    height:320px !important;
    min-height:320px !important;
    max-height:320px !important;
  }
  #hero .hero-content .w{
    width:min(100% - 24px,1180px) !important;
    padding:24px 0 40px !important;
  }
  #hero .hero-copy,
  #hero .hero-copy.right{
    max-width:100% !important;
    text-align:left !important;
    margin-left:0 !important;
    align-items:flex-start !important;
  }
  #hero .hero-copy.right .hero-title,
  #hero .hero-copy.right .hero-lead,
  #hero .hero-copy.right .hero-form,
  #hero .hero-copy.right .hero-agree{
    text-align:left !important;
    margin-left:0 !important;
  }
  #hero .hero-title{
    font-size:clamp(20px,7vw,28px) !important;
  }
  #hero .hero-lead{
    font-size:13px !important;
    margin-bottom:12px !important;
    max-width:none !important;
  }
  #hero .hero-form{
    max-width:100% !important;
  }
  .work-step{
    flex:0 0 calc((100% - 12px) / 2) !important;
  }
  .paths-manager-row{
    max-width:100% !important;
    padding:16px !important;
  }
  .portfolio-slider-shell{
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    gap:10px !important;
  }
  .portfolio-page{
    grid-template-columns:1fr !important;
  }
  .footer-top-btn{
    margin-top:6px !important;
  }
}
@media (max-width:479px){
  .work-step{
    flex:0 0 100% !important;
  }
}

#hero{
  height:460px !important;
  min-height:460px !important;
  max-height:460px !important;
}

#hero .hero-content{
  padding:34px 0 56px !important;
  height:100% !important;
}
#hero .hero-content .w{
  min-height:100% !important;
  display:flex !important;
  align-items:center !important;
}
#hero .hero-copy,
#hero .hero-copy.right {
  width:min(100%, 560px) !important;
  padding-top:0 !important;
}
#hero .hero-title{
  margin:12px 0 14px !important;
}
#hero .hero-lead{
  margin-bottom:24px !important;
  max-width:520px !important;
}
#hero .hero-copy.right .hero-lead{
  margin-left:auto !important;
}
#hero .hero-form{
  max-width:470px !important;
}
.hero-badge-opposite{
  position:static !important;
  transform:none !important;
  max-width:max-content !important;
  margin:0 0 14px 0 !important;
}
#hero .hero-copy.right .hero-badge-opposite{
  margin-left:auto !important;
}
#hero .hero-arrow,
#hero .hero-arrow:hover{
  z-index:6 !important;
}
#hero .hero-nav{
  z-index:6 !important;
}
@media (max-width:1199px){
  #hero{
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
  }
}
@media (max-width:767px){
  #hero{
    height:420px !important;
    min-height:420px !important;
    max-height:420px !important;
  }
  #hero .hero-content{
    padding:22px 0 48px !important;
  }
  #hero .hero-content .w{
    align-items:flex-end !important;
  }
  #hero .hero-copy,
  #hero .hero-copy.right{
    width:100% !important;
  }
  #hero .hero-title{
    font-size:clamp(28px, 8vw, 42px) !important;
    line-height:1.02 !important;
  }
  #hero .hero-lead{
    font-size:14px !important;
    line-height:1.45 !important;
    margin-bottom:18px !important;
  }
}

.work-section{
  background:var(--blue2) !important;
}
.work-steps{
  display:grid !important;
  grid-template-columns:repeat(6, minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:start !important;
}
.work-step{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  padding:0 4px !important;
  margin:0 !important;
}
.work-step::before,
.work-step::after,
.work-steps::before,
.ws-num::before,
.ws-num::after{
  display:none !important;
}
.ws-num{
  width:86px !important;
  height:86px !important;
  margin:0 auto 14px !important;
  border-radius:999px !important;
  background:var(--gold2) !important;
  color:#fff !important;
  box-shadow:none !important;
}
.ws-title{
  color:rgba(255,255,255,.94) !important;
  font-size:16px !important;
  line-height:1.25 !important;
  margin-bottom:8px !important;
}
.ws-text{
  color:rgba(255,255,255,.76) !important;
  font-size:14px !important;
  line-height:1.5 !important;
  max-width:240px !important;
  margin:0 auto !important;
}
@media (max-width:1199px){
  .work-steps{
    grid-template-columns:repeat(3, minmax(0,1fr)) !important;
    gap:22px 14px !important;
  }
}
@media (max-width:767px){
  .work-steps{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:18px 12px !important;
  }
}
@media (max-width:479px){
  .work-steps{
    grid-template-columns:1fr !important;
  }
}

.paths-manager-row{
  max-width:900px !important;
  grid-template-columns:minmax(0,1.2fr) minmax(360px,.9fr) !important;
  padding:18px 24px !important;
  background:rgba(255,255,255,.08) !important;
}
.paths-manager-copy{
  max-width:none !important;
}
.paths-manager-title{
  white-space:nowrap !important;
}
.paths-manager-control{
  background:rgba(2,11,24,.72) !important;
}
@media (max-width:991px){
  .paths-manager-row{
    grid-template-columns:1fr !important;
    max-width:100% !important;
  }
}
@media (max-width:767px){
  .paths-manager-title{
    white-space:normal !important;
  }
}

.delivery-section .w,
.delivery-layout,
.delivery-map-wrap,
.delivery-map,
.delivery-note-box,
.delivery-section .sec-header,
.delivery-section .t-body,
.delivery-section .delivery-copy{
  position:relative !important;
  z-index:1 !important;
}
.delivery-section::after{
  width:260px !important;
  height:260px !important;
  left:-90px !important;
  bottom:-110px !important;
  background:rgba(0,58,121,.07) !important;
  z-index:0 !important;
}
.delivery-note-box{
  background:rgba(0,58,121,.05) !important;
}
.delivery-map{
  background:#d8dde5 !important;
}

.portfolio-chip{
  font-size:14px !important;
  font-weight:700 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
}
.portfolio-media-section::before{
  display:none !important;
}
.portfolio-media-section::after{
  width:230px !important;
  height:230px !important;
  right:-90px !important;
  top:-90px !important;
  background:rgba(255,153,0,.08) !important;
}
.portfolio-gallery{
  width:100% !important;
  max-width:100% !important;
  margin:0 auto !important;
  padding:14px 10px 10px !important;
  box-sizing:border-box !important;
}
.portfolio-slider-shell{
  display:grid !important;
  grid-template-columns:48px minmax(0,1fr) 48px !important;
  align-items:center !important;
  gap:12px !important;
}
.portfolio-gallery .media-window{
  overflow:hidden !important;
  width:100% !important;
}
.portfolio-gallery .media-track{
  display:flex !important;
  gap:0 !important;
  width:100% !important;
  min-width:100% !important;
  transition:transform .72s ease !important;
  will-change:transform !important;
}
.portfolio-page{
  flex:0 0 100% !important;
  width:100% !important;
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:12px !important;
}
.portfolio-page .media-card,
.portfolio-gallery .media-card{
  width:100% !important;
  aspect-ratio:4/3 !important;
  border-radius:16px !important;
  overflow:hidden !important;
}
.portfolio-page .media-card img,
.portfolio-gallery .media-card img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
.portfolio-gallery .media-gallery-arrows{
  display:flex !important;
  justify-content:center !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow{
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,153,0,.18) !important;
  border:1px solid rgba(255,153,0,.46) !important;
  color:var(--gold2) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{
  background:rgba(255,153,0,.28) !important;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:disabled{
  opacity:.55 !important;
}
@media (max-width:991px){
  .portfolio-page{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width:575px){
  .portfolio-slider-shell{
    grid-template-columns:42px minmax(0,1fr) 42px !important;
    gap:8px !important;
  }
  .portfolio-page{
    grid-template-columns:1fr !important;
  }
}

.seo-block::after{
  width:320px !important;
  height:320px !important;
  right:-135px !important;
  top:110px !important;
  background:rgba(10,22,40,.055) !important;
}

.footer-top-btn{
  margin-top:0 !important;
}
@media (max-width:767px){
  .footer-top-btn{
    margin-top:2px !important;
  }
}

#hero{
  height:470px !important;
  min-height:470px !important;
  max-height:470px !important;
  overflow:hidden !important;
}
#hero .hero-content{
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  padding:0 !important;
}
#hero .hero-content .w{
  display:flex !important;
  align-items:center !important;
  width:min(100% - 52px, 1180px) !important;
  height:100% !important;
  padding:30px 0 52px !important;
}-bg,
#hero .hero-copy,
#hero .hero-copy.right { width:100% !important; max-width:560px !important; padding-top:0 !important; }
#hero .hero-copy.right{ margin-left:auto !important; }
#hero .hero-title{ font-size:clamp(28px, 3.8vw, 50px) !important; line-height:1.02 !important; margin:10px 0 12px !important; }
#hero .hero-lead{ font-size:15px !important; line-height:1.48 !important; margin-bottom:16px !important; max-width:520px !important; }
#hero .hero-form{ max-width:400px !important; }
#hero .hero-inp,
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{ height:42px !important; min-height:42px !important; font-size:14px !important; }
#hero .hero-inp{ padding:0 14px !important; }
#hero .hero-form .btn,
#hero .hero-form a.btn,
#hero .hero-form button.btn{ padding:0 16px !important; }
#hero .hero-agree{ display:block !important; margin-top:8px !important; color:rgba(255,255,255,.48) !important; }
#hero .hero-agree input{ display:none !important; } .hero-badge-opposite,
#hero .hero-copy.right .hero-badge-opposite{
  position:relative !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  transform:none !important;
  display:inline-flex !important;
  margin:0 0 10px !important;
  max-width:none !important;
}
#hero .hero-copy.right .hero-title,
#hero .hero-copy.right .hero-lead,
#hero .hero-copy.right .hero-form,
#hero .hero-copy.right .hero-agree{ margin-left:auto !important; text-align:right !important; }
#hero .hero-nav{ bottom:18px !important; width:min(220px, calc(100% - 120px)) !important; }
#hero .hero-arrow-l{ left:18px !important; }
#hero .hero-arrow-r{ right:18px !important; }

.work-section{ background:#041428 !important; padding:52px 0 34px !important; }
.work-section::before{ width:280px !important; height:280px !important; right:-110px !important; top:-110px !important; background:rgba(255,255,255,.05) !important; }
.work-section .sec-header{ margin-bottom:34px !important; }
.work-section .sec-h{ color:#fff !important; }
.work-section .sec-lead{ color:rgba(255,255,255,.82) !important; }
.work-steps{ display:grid !important; grid-template-columns:repeat(6, minmax(0, 1fr)) !important; gap:12px !important; align-items:start !important; }
.work-step{ display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:flex-start !important; text-align:center !important; padding:0 8px !important; margin:0 !important; min-width:0 !important; }
.work-step::before,
.work-step::after,
.work-steps::before,
.ws-num::before,
.ws-num::after{ display:none !important; }
.ws-num{ width:118px !important; height:118px !important; min-width:118px !important; margin:0 auto 16px !important; border-radius:999px !important; background:var(--gold) !important; color:#fff !important; font-size:28px !important; font-weight:900 !important; box-shadow:0 0 32px rgba(255,153,0,.28) !important; }
.ws-title{ width:100% !important; color:#fff !important; font-size:18px !important; line-height:1.24 !important; margin:0 0 10px !important; }
.ws-text{ width:100% !important; max-width:270px !important; margin:0 auto !important; color:rgba(255,255,255,.82) !important; font-size:14px !important; line-height:1.55 !important; }

.paths-manager-row{ max-width:980px !important; grid-template-columns:minmax(0,1.28fr) minmax(420px,.92fr) !important; padding:20px 26px !important; background:rgba(255,255,255,.10) !important; border:1px solid rgba(255,255,255,.14) !important; }
.paths-manager-copy{ max-width:none !important; }
.paths-manager-title{ white-space:nowrap !important; font-size:28px !important; }
.paths-manager-control{ background:rgba(2,11,24,.82) !important; }
.paths-manager-note{ color:rgba(255,255,255,.72) !important; }

.review-actions{ margin-top:34px !important; padding-bottom:10px !important; }

.delivery-note-box{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; margin-top:12px !important; color:rgba(10,22,40,.55) !important; }

.about-company-section{ padding-top:34px !important; padding-bottom:24px !important; margin-top:0 !important; }
.about-company-section::before{ width:300px !important; height:300px !important; right:-110px !important; top:-70px !important; background:rgba(0,58,121,.06) !important; }

.seo-block::before{ display:none !important; }
.seo-block::after{ width:250px !important; height:250px !important; right:-95px !important; top:180px !important; background:rgba(10,22,40,.045) !important; }

.portfolio-chip{ display:inline-flex !important; align-items:center !important; gap:6px !important; padding:10px 16px !important; border-radius:999px !important; font-size:13px !important; font-weight:700 !important; letter-spacing:0 !important; text-transform:none !important; }
.portfolio-media-section{ background:var(--off) !important; padding:18px 0 26px !important; }
.portfolio-media-section::before{ display:none !important; }
.portfolio-media-section::after{ width:200px !important; height:200px !important; right:-80px !important; top:-70px !important; background:rgba(255,153,0,.07) !important; }
.portfolio-frame{ position:relative !important; z-index:1 !important; }
.portfolio-slider-shell{ display:grid !important; grid-template-columns:46px minmax(0,1fr) 46px !important; align-items:center !important; gap:14px !important; }
.portfolio-gallery{ width:100% !important; max-width:100% !important; padding:12px 6px 6px !important; box-sizing:border-box !important; }
.portfolio-gallery .media-window{ width:100% !important; overflow:hidden !important; }
.portfolio-gallery .media-track{ display:flex !important; gap:0 !important; width:100% !important; transition:transform .72s ease !important; will-change:transform !important; }
.portfolio-page{ flex:0 0 100% !important; width:100% !important; display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:12px !important; }
.portfolio-page .media-card,
.portfolio-gallery .media-card{ width:100% !important; aspect-ratio:4/3 !important; border-radius:16px !important; overflow:hidden !important; }
.portfolio-page .media-card img,
.portfolio-gallery .media-card img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.portfolio-gallery .media-gallery-arrows .media-arrow{ width:40px !important; height:40px !important; border-radius:999px !important; background:rgba(255,153,0,.18) !important; border:1px solid rgba(255,153,0,.46) !important; color:var(--gold2) !important; }
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{ background:rgba(255,153,0,.28) !important; }
.portfolio-gallery .media-gallery-arrows .media-arrow:disabled{ opacity:.55 !important; }

.footer-top-btn{ margin-top:-4px !important; }

@media (max-width:1199px){
  #hero{ height:410px !important; min-height:410px !important; max-height:410px !important; }
  .work-steps{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:24px 14px !important; }
  .ws-num{ width:104px !important; height:104px !important; min-width:104px !important; }
}
@media (max-width:991px){
  #hero{ height:390px !important; min-height:390px !important; max-height:390px !important; }
  #hero .hero-content .w{ padding:28px 0 50px !important; }
  #hero .hero-title{ font-size:clamp(26px, 6vw, 36px) !important; }
  #hero .hero-lead{ font-size:14px !important; }


  .paths-manager-row{ grid-template-columns:1fr !important; max-width:100% !important; }
  .paths-manager-title{ white-space:normal !important; }
  .portfolio-page{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width:767px){
  #hero{ height:360px !important; min-height:360px !important; max-height:360px !important; }
  #hero .hero-content .w{ padding:22px 0 44px !important; }
  #hero .hero-copy.right .hero-title,
  #hero .hero-copy.right .hero-lead,
  #hero .hero-copy.right .hero-form,
  #hero .hero-copy.right .hero-agree{ text-align:left !important; margin-left:0 !important; }
  #hero .hero-copy.right{ margin-left:0 !important; }
  #hero .hero-form{ max-width:100% !important; }
  .work-steps{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:18px 12px !important; }
  .ws-num{ width:92px !important; height:92px !important; min-width:92px !important; font-size:26px !important; }
  .ws-title{ font-size:17px !important; }
  .review-actions{ grid-template-columns:1fr !important; }
  .review-actions-center{ order:1; }
  .portfolio-slider-shell{ grid-template-columns:40px minmax(0,1fr) 40px !important; gap:8px !important; }
  .portfolio-page{ grid-template-columns:1fr !important; }
  .footer-top-btn{ margin-top:-10px !important; }
}

.work-section,
.reviews-section,
.delivery-section,
.measure-section-custom,
.about-company-section,
.portfolio-media-section,
.seo-block{ position:relative !important; overflow:hidden !important; }
.work-section > .w,
.reviews-section > .w,
.delivery-section > .w,
.measure-section-custom > .w,
.about-company-section > .w,
.portfolio-media-section > .w,
.seo-block > .w{ position:relative !important; z-index:1 !important; }

.work-section{ background:#031428 !important; padding:54px 0 26px !important; }
.work-section::before{ width:260px !important; height:260px !important; right:-110px !important; top:-110px !important; background:rgba(255,255,255,.05) !important; }
.work-section::after{ width:230px !important; height:230px !important; left:-90px !important; bottom:-120px !important; background:rgba(255,153,0,.06) !important; display:block !important; }
.work-section .w{ width:min(100% - 40px, 1460px) !important; }
.work-section .sec-header{ margin-bottom:30px !important; }
.work-section .sec-h{ color:#fff !important; }
.work-section .sec-lead{ color:rgba(255,255,255,.82) !important; font-size:16px !important; line-height:1.55 !important; max-width:900px !important; }
.work-steps{ display:grid !important; grid-template-columns:repeat(6, minmax(170px,1fr)) !important; gap:18px !important; align-items:start !important; }
.work-step{ display:flex !important; flex-direction:column !important; align-items:center !important; justify-content:flex-start !important; text-align:center !important; padding:0 10px !important; min-width:0 !important; }
.work-step::before,
.work-step::after,
.work-steps::before,
.ws-num::before,
.ws-num::after{ display:none !important; }
.ws-num{ width:114px !important; height:114px !important; min-width:114px !important; margin:0 auto 16px !important; border-radius:999px !important; background:var(--gold) !important; color:#fff !important; font-size:30px !important; font-weight:900 !important; box-shadow:0 0 34px rgba(255,153,0,.26) !important; }
.ws-title{ width:100% !important; margin:0 0 10px !important; color:#fff !important; font-size:19px !important; line-height:1.22 !important; }
.ws-text{ width:100% !important; max-width:235px !important; margin:0 auto !important; color:rgba(255,255,255,.82) !important; font-size:14px !important; line-height:1.5 !important; }

.paths-manager-row{ max-width:1040px !important; grid-template-columns:minmax(0,1.2fr) minmax(460px,.9fr) !important; padding:22px 28px !important; background:rgba(255,255,255,.08) !important; border:1px solid rgba(255,255,255,.14) !important; }
.paths-manager-title{ white-space:nowrap !important; }
.paths-manager-control{ background:rgba(2,11,24,.88) !important; }
.paths-manager-note{ color:rgba(255,255,255,.72) !important; }

.adv-card > *{ position:relative !important; z-index:1 !important; }

.reviews-section{ padding-top:58px !important; padding-bottom:14px !important; }
.reviews-section::before{ bottom:-90px !important; }
.review-actions{ margin-top:28px !important; padding-bottom:0 !important; margin-bottom:0 !important; }
.rev-board{ margin-bottom:0 !important; }

.delivery-section{ padding-top:54px !important; padding-bottom:14px !important; }
.delivery-section::after{ width:220px !important; height:220px !important; left:-84px !important; bottom:-84px !important; background:rgba(0,58,121,.06) !important; }
.delivery-note-box{ background:transparent !important; border:none !important; box-shadow:none !important; padding:0 !important; margin-top:12px !important; }

.measure-section-custom{ padding:26px 0 18px !important; }
.measure-section-custom::before{ width:220px !important; height:220px !important; right:-80px !important; top:-70px !important; background:rgba(255,153,0,.05) !important; }

.about-company-section{ padding-top:10px !important; padding-bottom:16px !important; margin-top:0 !important; }
.about-company-section::before{ width:260px !important; height:260px !important; right:-92px !important; top:34px !important; background:rgba(0,58,121,.055) !important; }
.about-company-section .chip{ padding:6px 14px !important; }
.as-num{ font-size:38px !important; }
.as-lbl{ font-size:13px !important; }

.portfolio-media-section{ padding:12px 0 18px !important; }
.portfolio-media-section::before{ width:180px !important; height:180px !important; left:-70px !important; bottom:-74px !important; background:rgba(0,58,121,.06) !important; display:block !important; }
.portfolio-media-section::after{ width:160px !important; height:160px !important; right:-60px !important; top:18px !important; background:rgba(255,153,0,.06) !important; }
.portfolio-chip{ display:inline-flex !important; align-items:center !important; gap:6px !important; padding:6px 14px !important; border-radius:999px !important; background:rgba(0,58,121,.08) !important; color:var(--blue2) !important; border:1px solid rgba(0,58,121,.14) !important; font-size:12px !important; font-weight:700 !important; letter-spacing:.02em !important; text-transform:none !important; box-shadow:none !important; }
.portfolio-frame{ position:relative !important; z-index:1 !important; }
.portfolio-slider-shell{ display:grid !important; grid-template-columns:46px minmax(0,1fr) 46px !important; align-items:center !important; gap:14px !important; }
.portfolio-gallery{ width:100% !important; max-width:100% !important; padding:10px 6px 6px !important; box-sizing:border-box !important; }
.portfolio-gallery .media-window{ width:100% !important; overflow:hidden !important; }
.portfolio-gallery .media-track{ display:flex !important; gap:0 !important; width:100% !important; transition:transform .72s ease !important; will-change:transform !important; }
.portfolio-page{ display:grid !important; grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:12px !important; }
.portfolio-page .media-card,
.portfolio-gallery .media-card{ width:100% !important; aspect-ratio:4/3 !important; border-radius:16px !important; overflow:hidden !important; }
.portfolio-page .media-card img,
.portfolio-gallery .media-card img{ width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; }
.portfolio-gallery .media-gallery-arrows .media-arrow{ width:40px !important; height:40px !important; border-radius:999px !important; background:rgba(255,153,0,.18) !important; border:1px solid rgba(255,153,0,.46) !important; color:var(--gold2) !important; }
.portfolio-gallery .media-gallery-arrows .media-arrow:hover{ background:rgba(255,153,0,.28) !important; }

.seo-block{ padding-top:20px !important; padding-bottom:10px !important; }
.seo-block::after{ width:210px !important; height:210px !important; right:-78px !important; top:240px !important; background:rgba(10,22,40,.04) !important; }

.footer-top-btn{ margin-top:-18px !important; }

@media (max-width: 1399px){
  .work-section .w{ width:min(100% - 38px, 1320px) !important; }
  .work-steps{ gap:16px !important; }
  .ws-text{ max-width:215px !important; }
}
@media (max-width: 1199px){
  .work-steps{ grid-template-columns:repeat(3, minmax(0,1fr)) !important; gap:24px 16px !important; }
  .ws-num{ width:104px !important; height:104px !important; min-width:104px !important; }
  .paths-manager-row{ grid-template-columns:1fr !important; max-width:100% !important; }
  .paths-manager-title{ white-space:normal !important; }
}
@media (max-width: 991px){
  .work-section{ padding-bottom:24px !important; }
  .work-steps{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; gap:20px 14px !important; }
  .ws-text{ max-width:260px !important; }
  .portfolio-page{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; }
}
@media (max-width: 575px){
  .work-steps{ grid-template-columns:1fr !important; gap:18px !important; }
  .ws-num{ width:92px !important; height:92px !important; min-width:92px !important; font-size:26px !important; }
  .ws-title{ font-size:17px !important; }
  .portfolio-slider-shell{ grid-template-columns:40px minmax(0,1fr) 40px !important; gap:8px !important; }
  .portfolio-page{ grid-template-columns:1fr !important; }
  .footer-top-btn{ margin-top:-10px !important; }
}

#hero {
  position: relative;
  overflow: hidden;
}
#hero .hero-geo,
#hero .hero-dots-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}
#hero .hero-slides {
  position: relative;
  height: 100%;
  overflow: hidden;
  z-index: 1;
}
#hero .hero-track {
  display: flex;
  flex-wrap: nowrap;
  height: 100%;
  transition: transform .72s ease;
  will-change: transform;
}
#hero .hero-slide {
  position: relative;
  flex-shrink: 0;
  height: 100%;
  display: flex;
  align-items: stretch;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
#hero .hero-slide-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;
}
#hero .hero-slide-bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,16,35,.85) 0%, rgba(4,16,35,.55) 50%, rgba(4,16,35,.25) 100%),
    rgba(4,16,35,.40);
}
#hero .hero-slide-bg.overlay-r::after {
  background:
    linear-gradient(270deg, rgba(4,16,35,.85) 0%, rgba(4,16,35,.55) 50%, rgba(4,16,35,.25) 100%),
    rgba(4,16,35,.40);
}
#hero .hero-content {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
}
#hero .hero-content .w {
  display: flex;
  align-items: center;
  width: min(100% - 46px, 1180px);
  height: 100%;
  padding: 30px 0 50px;
}
#hero .hero-nav {
  position: absolute;
  z-index: 6;
  bottom: 16px;
  left: 50%;
  transform: translateX(-50%);
}
#hero .hero-arrow {
  position: absolute;
  z-index: 6;
  top: 50%;
  transform: translateY(-50%);
}
#hero .hero-arrow-l { left: 18px; }
#hero .hero-arrow-r { right: 18px; }

.work-section .work-steps {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 12px !important;
  align-items: flex-start !important;
}
.work-section .work-step {
  flex: 0 1 calc((100% - 72px) / 6) !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  padding: 0 4px !important;
}
.work-section .ws-num {
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 50% !important;
  background: var(--gold) !important;
  color: #fff !important;
  font-size: 26px !important;
  font-weight: 900 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 12px !important;
  box-shadow: 0 0 24px rgba(255,153,0,.22) !important;
}
.work-section .ws-num::before,
.work-section .ws-num::after { display: none !important; }
.work-section .ws-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #fff !important;
  text-align: center !important;
  margin-bottom: 6px !important;
  line-height: 1.25 !important;
}
.work-section .ws-text {
  font-size: 12px !important;
  color: rgba(255,255,255,.78) !important;
  text-align: center !important;
  line-height: 1.5 !important;
  max-width: 160px !important;
  margin: 0 auto !important;
}
@media (max-width: 1199px) {
  .work-section .work-steps { flex-wrap: wrap !important; }
  .work-section .work-step  { flex: 0 1 calc((100% - 24px) / 3) !important; }
}
@media (max-width: 767px) {
  .work-section .work-step  { flex: 0 1 calc((100% - 12px) / 2) !important; }
}
@media (max-width: 479px) {
  .work-section .work-step  { flex: 0 0 100% !important; }
}

.portfolio-chip, a.portfolio-chip {
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.portfolio-gallery .media-window { overflow: hidden !important; width: 100% !important; }
.portfolio-gallery .media-track  { display: flex !important; gap: 0 !important; width: 100% !important; transition: transform .72s ease !important; will-change: transform !important; }
.portfolio-page { flex: 0 0 100% !important; width: 100% !important; display: grid !important; grid-template-columns: repeat(3, minmax(0,1fr)) !important; gap: 12px !important; }
.portfolio-page .media-card { width: 100% !important; aspect-ratio: 4/3 !important; border-radius: 16px !important; overflow: hidden !important; }
.portfolio-page .media-card img, .portfolio-page .media-card iframe { width: 100% !important; height: 100% !important; object-fit: cover !important; display: block !important; }
@media (max-width: 991px) { .portfolio-page { grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media (max-width: 575px) { .portfolio-page { grid-template-columns: 1fr !important; } }

.review-actions { margin-bottom: 28px !important; }

#site-footer .footer-top-btn { margin-top: 10px !important; }

#cookie-bar {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 99999;
  background: rgba(10,22,40,.96);
  color: rgba(255,255,255,.85);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 14px 20px;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: 'Manrope', sans-serif;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
  max-width: min(580px, calc(100vw - 32px));
  box-shadow: 0 8px 32px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}
#cookie-bar a { color: var(--gold); text-decoration: underline; }
#cookie-bar button {
  flex-shrink: 0;
  height: 34px;
  padding: 0 18px;
  border-radius: 8px;
  border: none;
  background: var(--gold);
  color: #fff;
  font-family: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
}
#cookie-bar button:hover { background: var(--gold2); }
@media (max-width: 767px) {
  #cookie-bar {
    bottom: calc(66px + 10px);
    left: 12px;
    right: 12px;
    transform: none;
    max-width: none;
    font-size: 12px;
    padding: 10px 14px;
    gap: 10px;
  }
}

.hero-title i[class*="fa-"],
.hero-copy i[class*="fa-"] {
  overflow: visible !important;
  position: static !important;
}
.hero-title i[class*="fa-"]::after,
.hero-copy i[class*="fa-"]::after {
  display: none !important;
}

.adv-shell {
  background: #f2f4f7;
  padding: 60px 0;
  position: relative;
  overflow: hidden;
}
.adv-shell::before {
  content: '';
  position: absolute;
  width: 320px; height: 320px;
  right: -120px; top: -120px;
  border-radius: 50%;
  background: rgba(10,22,40,.04);
  z-index: 0;
  pointer-events: none;
}
.adv-shell::after {
  content: '';
  position: absolute;
  width: 240px; height: 240px;
  left: -90px; bottom: -100px;
  border-radius: 50%;
  background: rgba(255,153,0,.06);
  z-index: 0;
  pointer-events: none;
}
.adv-shell .w { position: relative; z-index: 2; }
.adv-layout {
  display: grid;
  grid-template-columns: 390px 1fr;
  min-height: 480px;
  border-radius: 24px;
  overflow: visible;
  background: transparent;
  position: relative;
  z-index: 2;
}
.adv-left {
  background: var(--blue);
  border-radius: 24px 0 0 24px;
  padding: 52px 44px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 28px;
  position: relative;
  z-index: 2;
}
.adv-right {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  background: #dde3ea;
  border-radius: 0 24px 24px 0;
  overflow: hidden;
  position: relative;
  z-index: 2;
  opacity: 1;
  visibility: visible;
}
.adv-card {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 18px;
  padding: 28px 24px;
  background: #e3e8ee;
  border: 1px solid rgba(10,22,40,.08);
  position: relative;
  overflow: hidden;
  opacity: 1;
  visibility: visible;
  transition: background .2s;
}
.adv-card:hover { background: #d2d9e2; }
.adv-ico {
  width: 56px; height: 56px;
  border-radius: 14px;
  background: rgba(255,153,0,.14);
  border: 1px solid rgba(255,153,0,.24);
  color: var(--gold);
  font-size: 22px;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.adv-card-title { font-size: 17px; font-weight: 800; color: var(--ink); line-height: 1.22; margin-bottom: 6px; }
.adv-card-text  { font-size: 13px; font-weight: 500; color: rgba(10,22,40,.72); line-height: 1.6; }
@media (max-width: 1199px) { .adv-layout { grid-template-columns: 360px 1fr; } }
@media (max-width: 991px) {
  .adv-layout { grid-template-columns: 1fr; border-radius: 16px; }
  .adv-left { border-radius: 16px 16px 0 0; }
  .adv-right { grid-template-columns: 1fr 1fr; border-radius: 0 0 16px 16px; }
}
@media (max-width: 767px) { .adv-right { grid-template-columns: 1fr; } }

.about-company-section { padding-top: 72px !important; }

.portfolio-slider-shell {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) 48px;
  align-items: center;
  gap: 14px;
}
.portfolio-gallery .media-window {
  overflow: hidden;
  width: 100%;
}
.portfolio-gallery .media-track {
  display: flex;
  flex-wrap: nowrap;
  gap: 0;
  transition: transform .72s ease;
  will-change: transform;
}
.portfolio-page {
  flex: 0 0 100%;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
  padding: 2px;
  box-sizing: border-box;
}
.portfolio-page .media-card {
  width: 100%;
  aspect-ratio: 4/3;
  border-radius: 16px;
  overflow: hidden;
  flex: none;
}
.portfolio-page .media-card img,
.portfolio-page .media-card iframe {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.portfolio-gallery .media-gallery-arrows .media-arrow {
  width: 42px; height: 42px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(255,153,0,.18);
  border: 1px solid rgba(255,153,0,.46);
  color: var(--gold2);
  cursor: pointer;
  transition: background .2s;
}
.portfolio-gallery .media-gallery-arrows .media-arrow:hover { background: rgba(255,153,0,.28); }
.portfolio-gallery .media-gallery-arrows .media-arrow:disabled { opacity: .45; cursor: default; }
@media (max-width: 991px) { .portfolio-page { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 575px) {
  .portfolio-page { grid-template-columns: 1fr; }
  .portfolio-slider-shell { grid-template-columns: 42px minmax(0,1fr) 42px; }
}

.footer-logo img { height: 88px !important; margin-bottom: 18px !important; }

.cat-nav-item > a .cat-icon-wrap {
  width: 52px; height: 52px;
  background: rgba(0,58,121,.06); border-radius: 10px;
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.cat-nav-item > a span.cat-label {
  display: block;
  text-align: center;
  line-height: 1.25;
  word-break: keep-all;
  hyphens: none;
  white-space: normal;
}

.paths-manager-control .hero-inp {
  background: rgba(255,255,255,.92) !important;
  color: var(--ink) !important;
  border: 1px solid rgba(255,255,255,.35) !important;
}
.paths-manager-control .hero-inp::placeholder {
  color: #8a95a3 !important;
}

.portfolio-media-section { padding-top: 36px !important; }

.certs-docs-section .chip { background: rgba(255,153,0,.14) !important; color: var(--gold2) !important; border-color: rgba(255,153,0,.35) !important; }
.certs-small-title { font-size: 22px !important; font-weight: 800 !important; color: var(--ink) !important; line-height: 1.25 !important; margin-top: 8px !important; }

.footer-grid { grid-template-columns: 180px 1fr 240px !important; gap: 28px !important; }
.footer-cols, .footer-cols-4 { grid-template-columns: repeat(4, 1fr) !important; gap: 10px 16px !important; }
.fcol a { font-size: 12px !important; line-height: 1.8 !important; white-space: nowrap !important; }
.fcol h5 { font-size: 10px !important; margin-bottom: 8px !important; }
.footer-logo img { height: 88px !important; margin-bottom: 12px !important; }
@media (max-width: 1199px) {
  .footer-grid { grid-template-columns: 160px 1fr 220px !important; }
  .footer-cols, .footer-cols-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .fcol a { white-space: nowrap !important; }
}
@media (max-width: 991px) {
  .footer-grid { grid-template-columns: 1fr !important; }
  .footer-cols, .footer-cols-4 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 575px) {
  .footer-cols, .footer-cols-4 { grid-template-columns: 1fr 1fr !important; }
  .fcol a { white-space: normal !important; }
}

#mob-menu-toggle {
  display: none;
  align-items: center;
  justify-content: center;
  width: 40px; height: 40px;
  background: transparent;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
  flex-shrink: 0;
}
#mob-menu-toggle span {
  display: block;
  width: 24px; height: 2px;
  background: #fff;
  border-radius: 2px;
  transition: transform .28s ease, opacity .2s;
}
#mob-menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
#mob-menu-toggle.open span:nth-child(2) { opacity: 0; }
#mob-menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

#mob-nav {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(4,16,35,.97);
  z-index: 9990;
  overflow-y: auto;
  padding: 72px 24px 40px;
  flex-direction: column;
  gap: 0;
}
#mob-nav.open { display: flex; }
#mob-nav a {
  display: block;
  font-size: 18px;
  font-weight: 700;
  color: rgba(255,255,255,.85);
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
  text-decoration: none;
}
#mob-nav a:hover { color: var(--gold); }
#mob-nav .mob-close {
  position: fixed;
  top: 14px; right: 16px;
  width: 40px; height: 40px;
  display: flex; align-items: center; justify-content: center;
  background: transparent; border: none; color: rgba(255,255,255,.7);
  font-size: 26px; cursor: pointer; z-index: 9991;
}
#mob-sticky {
  display: none;
  position: fixed;
  bottom: 0; left: 0; right: 0;
  z-index: 9997;
  background: rgba(4,16,35,.97);
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 10px 16px;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}
#mob-sticky a.mob-phone {
  font-size: 16px; font-weight: 800; color: #fff; text-decoration: none; flex: 1;
}
#mob-sticky a.mob-phone:hover { color: var(--gold); }
@media (max-width: 767px) {
  #mob-menu-toggle { display: flex; }
  .header-nav, .header-top-actions, .header-phones-block { display: none !important; }
  #site-header .header-top {
    grid-template-columns: 1fr auto !important;
    padding: 12px 0 !important;
    min-height: auto !important;
  }
  #mob-sticky { display: flex; }
  #nav-sticky { display: none !important; }
  #catbar .catbar-scroll { overflow-x: auto; flex-wrap: nowrap; justify-content: flex-start; }
  .cat-nav-item > a { height: 80px; min-width: 88px; padding: 6px 10px 5px; }
  body { padding-bottom: 66px; }
}

#hero .hero-slide:nth-child(1) .hero-badge-opposite {
  color: #b7ff71 !important;
  border-color: rgba(183,255,113,.64) !important;
  background: rgba(8,20,12,.18) !important;
}
#hero .hero-slide:nth-child(1) .hero-badge-opposite i { color: #b7ff71 !important; }
#hero .hero-slide:nth-child(2) .hero-badge-opposite {
  color: #7ee3ff !important;
  border-color: rgba(126,227,255,.62) !important;
  background: rgba(4,20,40,.18) !important;
}
#hero .hero-slide:nth-child(2) .hero-badge-opposite i { color: #7ee3ff !important; }
#hero .hero-slide:nth-child(3) .hero-badge-opposite {
  color: #ffde6b !important;
  border-color: rgba(255,222,107,.62) !important;
  background: rgba(40,30,4,.18) !important;
}
#hero .hero-slide:nth-child(3) .hero-badge-opposite i { color: #ffde6b !important; }
#hero .hero-slide:nth-child(4) .hero-badge-opposite {
  color: #d7a6ff !important;
  border-color: rgba(215,166,255,.62) !important;
  background: rgba(30,8,40,.18) !important;
}
#hero .hero-slide:nth-child(4) .hero-badge-opposite i { color: #d7a6ff !important; }
#hero .hero-slide:nth-child(5) .hero-badge-opposite {
  color: #7ff2c6 !important;
  border-color: rgba(127,242,198,.62) !important;
  background: rgba(4,36,24,.18) !important;
}
#hero .hero-slide:nth-child(5) .hero-badge-opposite i { color: #7ff2c6 !important; }

#hero .hero-arrow {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  width: 40px !important;
  height: 40px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: rgba(255,255,255,.92) !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: 14px !important;
  transition: color .2s !important;
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 10 !important;
}
#hero .hero-arrow:hover {
  background: transparent !important;
  border: none !important;
  color: var(--gold) !important;
}
#hero .hero-arrow-l { left: 14px !important; }
#hero .hero-arrow-r { right: 14px !important; }

.fc-row { font-size: 12px !important; line-height: 1.55 !important; }
.fc-row i { font-size: 11px !important; }
.footer-contacts { gap: 8px !important; }
.footer-top-btn { margin-top: 6px !important; }

#hero .hero-arrow-l { left: 8px !important; }
#hero .hero-arrow-r { right: 8px !important; }

#mob-sticky {
  bottom: 0 !important;
  background: rgba(4,16,35,.9) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

@media (max-width: 767px) {

  body { padding-bottom: 64px !important; }


  .header-nav,
  .header-top-actions,
  .header-phones-block { display: none !important; }
  #site-header .header-top {
    grid-template-columns: auto 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 10px 0 !important;
  }
  #mob-menu-toggle { display: flex !important; }
  #mob-sticky { display: flex !important; }
  #nav-sticky { display: none !important; }


  .mob-header-phone {
    display: flex !important;
    align-items: center !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    color: #fff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
  }


  #hero {
    height: 380px !important;
    min-height: 320px !important;
    max-height: 420px !important;
  }
  #hero .hero-content .w {
    width: min(100% - 24px, 1180px) !important;
    padding: 20px 0 52px !important;
  }
  #hero .hero-title {
    font-size: clamp(20px, 7vw, 30px) !important;
    line-height: 1.08 !important;
  }
  #hero .hero-lead {
    font-size: 13px !important;
    margin-bottom: 12px !important;
  }
  #hero .hero-form {
    max-width: 100% !important;
    flex-direction: column !important;
    gap: 8px !important;
  }
  #hero .hero-inp {
    border-radius: 10px !important;
    height: 42px !important;
  }
  #hero .hero-form .btn,
  #hero .hero-form a.btn,
  #hero .hero-form button.btn {
    border-radius: 10px !important;
    height: 42px !important;
    width: 100% !important;
  }


  .catalog-grid { grid-template-columns: repeat(2, 1fr) !important; gap: 10px !important; }
  .prod-img { aspect-ratio: 4/3 !important; height: auto !important; }


  .paths-manager-control .hero-inp {
    border-radius: var(--r-sm) 0 0 var(--r-sm) !important;
  }


  .cta-phone-block { clip-path: none !important; padding: 40px 0 60px !important; }
  .cta-layout { grid-template-columns: 1fr !important; gap: 24px !important; }
  .cta-phone-display { display: none !important; }


  .reviews-boards-grid,
  .reviews-section .w > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 16px !important;
  }
  .review-actions {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .review-actions-center { display: none !important; }
  .review-gift-btn { width: 100% !important; justify-content: center !important; }


  .delivery-layout { grid-template-columns: 1fr !important; gap: 16px !important; }
  .delivery-map { max-width: 100% !important; aspect-ratio: 16/9 !important; }
  .delivery-foot-row { flex-direction: column !important; }
  .delivery-ask-btn {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
    text-align: center !important;
  }


  .measure-layout-card { grid-template-columns: 1fr !important; }
  .measure-left { padding: 28px 20px !important; }
  .measure-left form { max-width: 100% !important; }
  .measure-left form > div { flex-direction: column !important; gap: 8px !important; }
  .measure-left form > div input,
  .measure-left form > div button {
    border-radius: 10px !important;
    width: 100% !important;
    height: 48px !important;
  }
  .measure-video-side { display: none !important; }


  .portfolio-slider-shell { grid-template-columns: 40px 1fr 40px !important; gap: 8px !important; }
  .portfolio-page { grid-template-columns: 1fr !important; }


  .about-layout { grid-template-columns: 1fr !important; }
  .about-gallery { min-height: 240px !important; height: 240px !important; }
  /* Новая stack-галерея не должна сжиматься в полоску — снимаем фикс-высоту */
  .about-gallery.about-gallery-stack { min-height: auto !important; height: auto !important; }
  .about-gallery-stack .ag-main { aspect-ratio: 4/3 !important; }


  .final-grid { grid-template-columns: 1fr !important; gap: 24px !important; }


  .seo-copy p, .seo-block p, .seo-block li { text-align: justify !important; }


  .footer-grid { grid-template-columns: 1fr !important; }
  .footer-cols, .footer-cols-4 { grid-template-columns: 1fr 1fr !important; }


  #mob-nav a { font-size: 15px !important; padding: 11px 0 !important; }
}

.mob-header-phone { display: none; }

/* ===== КОРРЕКЦИИ ===== */

/* П.5 — «Звонок бесплатный» в шапке: оранжевый */
.h-phone-sub {
  font-size: 18px;
  font-weight: 800;
  color: var(--gold);
  line-height: 1;
}

/* П.15 — «Звонок бесплатный» в sticky-nav: оранжевый, чуть крупнее */
.ns-phone-sub {
  font-size: 14px;
  font-weight: 800;
  color: var(--gold);
  white-space: nowrap;
}

/* П.8 — стрелки хиро на десктопе: меньше, прозрачнее */
@media (min-width: 768px) {
  #hero .hero-arrow {
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    border: none !important;
    opacity: 1 !important;
    color: rgba(255,255,255,.92) !important;
  }
  #hero .hero-arrow:hover { opacity: 1 !important; background: transparent !important; color: var(--gold) !important; }
  #hero .hero-arrow svg { width: 20px; height: 20px; }
  #hero .hero-arrow-l { left: 8px !important; }
  #hero .hero-arrow-r { right: 8px !important; }
}

/* П.16-17-19 — Секция доставки: 2-колонная раскладка с картой */
.delivery-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: stretch;
  margin-top: 32px;
}
.delivery-map-col { display: flex; flex-direction: column; gap: 12px; }
.delivery-map-wrapper {
  flex: 1;
  min-height: 420px;
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  background: #f0f4f8;
}
.delivery-map-img {
  width: 100%; height: 100%; max-width: none;
  object-fit: cover; display: block; border-radius: 0;
}
.delivery-map-frame {
  position: absolute; inset: 0;
  width: 100%; height: 100%; min-height: 420px;
  display: block; border: 0; border-radius: 0;
}
.delivery-map-placeholder {
  width: 100%; aspect-ratio: 4/3; border-radius: 12px;
  background: #f0f4f8; border: 2px dashed #cbd5e1;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  color: var(--muted); font-size: 14px; font-weight: 600;
}
.delivery-map-note { font-size: 13px; color: var(--muted); line-height: 1.5; }
.delivery-map-note a { color: var(--blue); text-decoration: underline; }
.delivery-routes-col { display: flex; flex-direction: column; gap: 16px; }
.delivery-routes { display: flex; flex-direction: column; gap: 0; }
.delivery-ask-btn { align-self: flex-start; margin-top: 4px; }
.delivery-truck-bg {
  flex: 1;
  min-height: 120px;
  margin-top: 8px;
  border-radius: 12px;
  background: url('/images/slide05.jpg') center/cover no-repeat;
  background-color: #0a1628;
}
@media (max-width: 767px) {
  .delivery-layout { grid-template-columns: 1fr; gap: 24px; }
  .delivery-ask-btn { align-self: stretch; }
  .delivery-map-frame { min-height: 260px; }
  .delivery-truck-bg { display: none; }
}

/* Синхронизация .footer-tagline с .fb */
.footer-tagline { font-size: 12px !important; font-weight: 600 !important; color: rgba(255,255,255,.25) !important; }

/* ============================================================
   Правки версии 2 (апрель 2026)
   ============================================================ */

/* П.26 — SEO-текст над футером */
.seo-text-block {
  background: #f5f7fa;
  border-top: 1px solid rgba(0,58,121,.08);
  padding: 24px 0;
}
.seo-text-content {
  font-size: 13px;
  line-height: 1.7;
  color: var(--muted);
  max-width: 860px;
}

/* П.22 — Фото менеджера в CTA-блоке */
.cta-manager-phone-img {
  width: 100%;
  max-width: 320px;
  height: auto;
  border-radius: var(--r-lg);
  object-fit: cover;
  display: block;
  margin: 0 auto;
}

/* П.36 — Скрыть lead-текст каталога на мобилке */
@media (max-width: 767px) {
  .mob-lead-hide { display: none !important; }
}

/* П.37 — Сертификаты 2×2 на мобилке (вместо 1 колонки) */
@media (max-width: 575px) {
  .certs-row-top,
  .certs-row-bottom { grid-template-columns: repeat(2, 1fr) !important; }
}

/* П.38 — Партнёры 2 в строку на мобилке */
@media (max-width: 575px) {
  .partners-row { grid-template-columns: repeat(2, 1fr) !important; }
}

/* П.20 — убран синий градиент снизу секции доставки */
#delivery + .adv-section,
#delivery + .adv-shell,
.adv-section.adv-shell { position: relative; }
#delivery { position: relative; }

/* П.35 — Умеренно уменьшить вертикальные отступы на мобилке */
@media (max-width: 767px) {
  .section { padding: 44px 0 !important; }
  .adv-section.adv-shell { padding: 44px 0 !important; }
  .cta-phone-block { padding: 44px 0 !important; }
  .final-cta { padding: 44px 0 !important; }
  .measure-section-custom { padding: 32px 0 24px !important; }
}

/* П.40 — Sticky categories bar под sticky nav */
#sticky-cats {
  position: fixed;
  top: 56px; /* корректируется JS по offsetHeight nav-sticky */
  left: 0; right: 0;
  z-index: 9990;
  background: rgba(58,63,72,.97);
  border-bottom: 1px solid rgba(255,255,255,.08);
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height .25s ease, opacity .22s ease;
  pointer-events: none;
}
#sticky-cats.show {
  max-height: 40px;
  opacity: 1;
  pointer-events: auto;
}
.sticky-cats-track {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  padding: 0 20px;
  height: 36px;
  overflow-x: auto;
  scrollbar-width: none;
  white-space: nowrap;
}
.sticky-cats-track::-webkit-scrollbar { display: none; }
.sticky-cats-track a {
  color: rgba(255,255,255,.72);
  font-size: 12px;
  font-weight: 600;
  padding: 0 12px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  transition: color .15s;
  border-right: 1px solid rgba(255,255,255,.1);
  flex-shrink: 0;
}
.sticky-cats-track a:last-child { border-right: none; }
.sticky-cats-track a:hover { color: var(--gold); }

/* Мобилка: убираем marquee, добавляем стрелки */
@media (max-width: 767px) {
  #sticky-cats.show { max-height: 44px; }
  #sticky-cats { overflow: visible; }
  .sticky-cats-track {
    justify-content: flex-start;
    overflow-x: auto;
    padding: 0 36px;
    height: 40px;
  }
  /* Стрелки-указатели на мобилке */
  #sticky-cats::before,
  #sticky-cats::after {
    content: '‹';
    position: absolute;
    top: 50%; transform: translateY(-50%);
    left: 8px;
    color: rgba(255,255,255,.7);
    font-size: 18px;
    line-height: 1;
    animation: stickyArrowBlink 1.4s ease-in-out infinite;
    pointer-events: none;
    z-index: 2;
  }
  #sticky-cats::after {
    content: '›';
    left: auto; right: 8px;
    animation-delay: .7s;
  }
  @keyframes stickyArrowBlink {
    0%, 100% { opacity: .3; }
    50% { opacity: 1; }
  }
}

/* П.14 — Текущий город пин */
.city-group-current { margin-bottom: 8px; padding-bottom: 8px; border-bottom: 1px solid rgba(0,58,121,.1); }
.city-current-pin { font-weight: 700 !important; color: var(--blue2) !important; }
.city-current-pin::before { content: '📍 '; }

/* Айфон в CTA-блоке — картинка со звонком от Ролград */
.cta-phone-block { overflow: visible !important; }
.cta-phone-display { overflow: visible; z-index: 99; }
.cta-phone-block:not(.remont-phone-cta) .cta-phone-display {
  align-self: start;
}
.iphone-image {
  width: 416px;
  max-width: 100%;
  height: auto;
  display: block;
  position: absolute;
  bottom: -30px;
  left: 50%;
  transform: translateX(-50%);
  transform-origin: center bottom;
  animation: iphoneRing 3s ease-in-out infinite;
  filter: drop-shadow(0 32px 64px rgba(0,0,0,.5));
  z-index: 9999;
  pointer-events: none;
}
@media (max-width: 1199px) {
  .iphone-image { width: 336px; }
}
@media (max-width: 991px) {
  .iphone-image { width: 280px; }
}
@keyframes iphoneRing {
  0%, 100% { transform: translateX(-50%) rotate(0deg); }
  10% { transform: translateX(calc(-50% - 4px)) rotate(-3deg); }
  20% { transform: translateX(calc(-50% + 4px)) rotate(3deg); }
  30% { transform: translateX(calc(-50% - 3px)) rotate(-2deg); }
  40% { transform: translateX(calc(-50% + 3px)) rotate(2deg); }
  50% { transform: translateX(-50%) rotate(0deg); }
}

/* ===== FAQ ===== */
:root {
  --faq-dur: .22s;
  --faq-ease: cubic-bezier(.4,.0,.2,1);
}
.faq-section {
  padding: 56px 0 48px;
  background: #f7f9fc;
}
.faq-head {
  text-align: center;
  margin-bottom: 36px;
}
.faq-head .t-h2 {
  margin-bottom: 10px;
}
.faq-list {
  max-width: 860px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.faq-item {
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 0;
  contain: layout style;
  transition: border-color var(--faq-dur) var(--faq-ease),
              box-shadow var(--faq-dur) var(--faq-ease);
}
.faq-item.is-open {
  border-color: rgba(255,153,0,.38);
  box-shadow: 0 6px 22px rgba(10,22,40,.06);
}
.faq-q {
  font-family: inherit;
  font-weight: 700;
  font-size: 16px;
  color: var(--ink);
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  width: 100%;
  padding: 18px 22px;
  background: transparent;
  border: none;
  outline: none;
  text-align: left;
  line-height: 1.35;
}
.faq-q:focus-visible { box-shadow: 0 0 0 2px rgba(255,153,0,.5); border-radius: 14px; }
.faq-q-text { flex: 1; }
.faq-toggle {
  position: relative;
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: inline-block;
  transition: transform var(--faq-dur) var(--faq-ease);
  will-change: transform;
}
.faq-toggle::before,
.faq-toggle::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--gold);
  border-radius: 2px;
  transform-origin: center;
}
.faq-toggle::before {
  width: 22px;
  height: 3px;
  transform: translate(-50%, -50%);
}
.faq-toggle::after {
  width: 3px;
  height: 22px;
  transform: translate(-50%, -50%);
}
.faq-item.is-open .faq-toggle {
  transform: rotate(-135deg);
}
/* Разворот контента — мгновенный (display:none → block).
   Никаких height/grid переходов, только короткий fade-in на opacity. */
.faq-a {
  display: none;
  font-size: 15px;
  line-height: 1.65;
  color: var(--ink);
}
.faq-a-inner > :first-child { margin-top: 0; padding-top: 0; }
.faq-a-inner {
  padding: 2px 22px 18px;
}
.faq-item.is-open .faq-a {
  display: block;
  animation: faqFadeIn .14s ease-out;
}
@keyframes faqFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
.faq-a a { color: var(--blue2); text-decoration: underline; }
@media (max-width: 575px) {
  .faq-section { padding: 44px 0 36px; }
  .faq-item { border-radius: 12px; }
  .faq-q { font-size: 15px; gap: 10px; padding: 14px 16px; }
  .faq-a-inner { padding: 2px 16px 14px; }
  .faq-toggle { width: 28px; height: 28px; }
  .faq-toggle::before { width: 18px; }
  .faq-toggle::after { height: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-a, .faq-toggle, .faq-item { transition: none; }
}

/* === П12: Города по областям — штатные стили сайта, 5 колонок === */
#cities-list{ display:block !important; column-count:5 !important; column-gap:18px !important;
  width:min(100% - 28px, 1320px) !important; margin:0 auto !important; grid-template-columns:none !important; }
#cities-list .city-group{ -webkit-column-break-inside:avoid; break-inside:avoid; page-break-inside:avoid; }
/* Звёзды городов присутствия — крупнее и заметнее (бригадам тоже звезда) */
#cities-list .city-link.city-branch::before,
#cities-list .city-link.city-main-office::before,
#cities-list .city-link.city-brigade::before{ content:'★' !important; font-size:1.45em !important; line-height:1; }
#cities-list .city-link.city-main-office::before{ color:var(--gold2) !important; }
#cities-list .city-link.city-branch::before{ color:var(--blue3) !important; }
#cities-list .city-link.city-brigade::before{ color:#aeb6c0 !important; }
/* Легенда — наверху панели (над списком) */
#cities-panel > .cities-legend{ border-top:none !important; border-bottom:1px solid rgba(10,22,40,.08) !important;
  margin:0 auto !important; padding:12px 0 12px !important; }
@media (max-width:1100px){ #cities-list{ column-count:4 !important; } }
@media (max-width:850px){ #cities-list{ column-count:3 !important; } }
@media (max-width:600px){ #cities-list{ column-count:2 !important; } }

#cities-panel > .cities-panel-scroll{ padding-top:18px !important; }
