/* ═══════════════════════════════════════════════════════
   CARBON — style.css
  
   Десктоп: 1440px × 812px (hero), контент 1020.975px
   Мобайл: 390px (из файла ZJjSVg8Q684y4csGqBOcTE)
═══════════════════════════════════════════════════════ */

/* ── RESET ── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { background: #0A0A0A; color: #fff; font-family: 'Inter', sans-serif; overflow-x: hidden; }
a { text-decoration: none; color: inherit; cursor: pointer; }
img { display: block; max-width: 100%; object-fit: cover; }
button { cursor: pointer; border: none; background: none; font-family: inherit; }
input, select, textarea { font-family: inherit; }

/* ── CSS ПЕРЕМЕННЫЕ ── */
:root {
  --red: #D42B2B;
  --red10: rgba(212,43,43,0.1);
  --red20: rgba(212,43,43,0.2);
  --red25: rgba(212,43,43,0.25);
  --red30: rgba(212,43,43,0.3);
  --bg: #0A0A0A;
  --bg2: #080808;
  --card: #111111;
  --off: #1A1A1A;
  --dim45: rgba(255,255,255,0.45);
  --dim50: rgba(255,255,255,0.5);
  --dim72: rgba(255,255,255,0.72);
  --border: rgba(255,255,255,0.06);
  /* Из Figma: шапка h:51.616px */
  --hh: 51.616px;
  /* горизонтальные отступы контейнера:
     секция pl:209.583px + внутри px:34.032px = 243.615px от края */
  --px-outer: 209.583px;
  --px-inner: 34.032px;
  --px: 243.615px;
  /* Контент: 1020.975px */
  --content: 1020.975px;
}

/* ── СТРАНИЦЫ ── */
.page { display: none; }
.page.active { display: block; }
.red { color: var(--red); }

/* ── ШАПКА ──
   Из Figma: h:51.616px, bg:rgba(10,10,10,0.85),
   border-bottom:0.567px rgba(255,255,255,0.06),
   pl:209.583px, pr:209.584px, внутри px:34.032px */
.hdr {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  height: var(--hh);
  background: rgba(10,10,10,0.85);
  border-bottom: 0.567px solid var(--border);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.hdr-in {
  max-width: 1440px; margin: 0 auto;
  padding: 0 var(--px);
  height: 100%;
  display: flex; align-items: center; justify-content: space-between;
}
/* Логотип: bar w:5.672px h:22.688px r:1.418px, gap:7.09px
   Текст: Bebas Neue 19.852px tracking:1.9852px */
.logo { display: flex; align-items: center; gap: 7.09px; }
.logo-bar { width: 5.672px; height: 22.688px; background: var(--red); border-radius: 1.418px; flex-shrink: 0; }
.logo-txt { font-family: 'Bebas Neue', sans-serif; font-size: 19.852px; letter-spacing: 1.9852px; color: #fff; line-height: 1; }
/* Навигация: gap:25.524px, Inter Medium 9.217px tracking:1.1061px */
.nav-links { display: flex; gap: 25.524px; align-items: center; }
.nav-links a { font-size: 13px; font-weight: 500; color: var(--dim72); letter-spacing: 1px; text-transform: uppercase; transition: color .2s; }
.nav-links a:hover, .nav-links a.active-page { color: #fff; }
.nav-links a.active-page { color: var(--red); }
/* Телефон: иконка r:11.344px w:22.688px bg:red, текст Inter SemiBold 9.926px tracking:0.397px */
.hdr-phone { display: flex; align-items: center; gap: 9px; }
.phone-ico { width: 22.688px; height: 22.688px; border-radius: 11.344px; background: var(--red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.phone-ico svg { width: 9.926px; height: 9.926px; }
.hdr-phone span { font-size: 14px; font-weight: 600; color: #fff; letter-spacing: 0.3px; }
/* Бургер (только мобайл) */
.burger { display: none; flex-direction: column; gap: 5px; padding: 4px; }
.burger span { display: block; width: 22px; height: 2px; background: rgba(255,255,255,.7); border-radius: 1px; transition: all .3s; }
.burger.open span:nth-child(1) { transform: rotate(45deg) translate(5px,5px); }
.burger.open span:nth-child(2) { opacity: 0; }
.burger.open span:nth-child(3) { transform: rotate(-45deg) translate(5px,-5px); }
/* Мобильное меню */
.mob-menu {
  display: none; position: fixed; top: var(--hh); left: 0; right: 0; bottom: 0;
  background: rgba(8,8,8,0.98); z-index: 99;
  flex-direction: column; align-items: center; justify-content: center;
  border-top: 2px solid var(--red);
}
.mob-menu.open { display: flex; }
.mob-menu nav { display: flex; flex-direction: column; align-items: center; width: 100%; }
.mob-menu nav a {
  font-family: 'Bebas Neue', sans-serif; font-size: 40px; letter-spacing: 2px;
  color: rgba(255,255,255,.6); padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.05);
  width: 100%; text-align: center; display: block; transition: color .2s;
}
.mob-menu nav a:hover { color: var(--red); }
.mob-phone { margin-top: 28px; width: calc(100% - 80px); height: 50px; display: flex; align-items: center; justify-content: center; font-size: 14px; }

/* ── КНОПКИ (точные из Figma) ──
   Primary: bg:red h:37.578px r:21.27px Inter SemiBold 10.635px tracking:0.9926px
   Из узла 6:425: h:37.578px r:21.27px w:211.994px */
.btn-red {
  display: inline-flex; align-items: center; justify-content: center;
  height: 37.578px; padding: 0 28px;
  background: var(--red); border-radius: 21.27px;
  font-size: 14px; font-weight: 700; color: #fff;
  letter-spacing: 0.8px; text-transform: uppercase;
  transition: opacity .2s, transform .2s; border: none; white-space: nowrap;
}
.btn-red:hover { opacity: .9; transform: translateY(-1px); }
/* Outline: border:0.567px rgba(255,255,255,0.22) h:37.578px r:21.27px
   Из узла 6:427: h:37.578px r:21.27px */
.btn-outline {
  display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  height: 37.578px; padding: 0 24px;
  border: 0.567px solid rgba(255,255,255,.22); border-radius: 21.27px;
  font-size: 14px; font-weight: 500; color: #fff;
  letter-spacing: 0.7px; text-transform: uppercase;
  transition: border-color .2s, transform .2s; background: none;
}
.btn-outline:hover { border-color: rgba(255,255,255,.5); transform: translateY(-1px); }
/* Ghost: border:0.567px rgba(255,255,255,0.2) h:26.942px r:21.27px
   Из узла 6:87: h:26.942px r:21.27px w:86.499px Inter SemiBold 8.508px tracking:0.6806px */
.btn-ghost {
  display: inline-flex; align-items: center; justify-content: center; gap: 5px;
  height: 26.942px; padding: 0 20px;
  border: 0.567px solid rgba(255,255,255,.2); border-radius: 21.27px;
  font-size: 12px; font-weight: 600; color: #fff;
  letter-spacing: 0.6px; text-transform: uppercase;
  transition: border-color .2s; background: none; white-space: nowrap;
}
.btn-ghost:hover { border-color: rgba(255,255,255,.5); }

/* ── ТЕГИ СЕКЦИЙ ──
   Тег с точкой (Интересные факты, Портфолио, Рассчитайте стоимость):
   bg:rgba(212,43,43,0.1) border:0.567px r:21.27px
   Из узла 6:38: h:19.923px r:21.27px w:142.343px
   Текст: Inter Bold 7.799px tracking:1.4038px */
.stag-dot {
  display: inline-flex; align-items: center; gap: 9px;
  background: rgba(212,43,43,0.1); border: 0.567px solid rgba(212,43,43,0.25);
  border-radius: 21.27px; padding: 3.55px 10px;
  font-size: 11px; font-weight: 700; color: var(--red);
  letter-spacing: 1.3px; text-transform: uppercase;
  margin-bottom: 11px; white-space: nowrap;
}
.stag-dot::before { content: ''; width: 3.545px; height: 3.545px; border-radius: 1.773px; background: var(--red); flex-shrink: 0; }
/* Тег с линией (Что мы делаем, Отзывы, разделы-страниц):
   Из узла 6:68: div bg:red h:1.418px w:28.36px + текст Inter SemiBold 8.508px tracking:1.5315px */
.stag-line {
  display: inline-flex; align-items: center; gap: 11.344px;
  font-size: 12px; font-weight: 600; color: var(--red);
  letter-spacing: 1.4px; text-transform: uppercase;
  margin-bottom: 12px;
}
.stag-line::before { content: ''; display: block; width: 28.36px; height: 1.418px; background: var(--red); flex-shrink: 0; }
/* H2 секций: Bebas Neue 42.541px tracking:2.127px
   Из узла 6:72: h:63.811px text-size:42.541px tracking:2.127px */
.sec-h2 { font-family: 'Bebas Neue', sans-serif; font-size: 42.541px; letter-spacing: 2.127px; color: #fff; line-height: 1.1; margin-top: 9.5px; }

/* ── HERO ──
   Из Figma: Секция h:812.242px, w:1440.142px, bg:#0A0A0A
   Фото: left:720.07px w:720.071px h:812.242px
   Текст: left:106.35px top:190.01px (от начала страницы ≈ padding-left:243px) */
.hero {
  position: relative; min-height: 100vh;
  display: flex; align-items: center;
  overflow: hidden; background: var(--bg);
  padding-top: var(--hh);
}
/* Обёртка фото — правая половина */
.hero-photo-wrap {
  position: absolute; top: 0; right: 0;
  width: 50%; height: 100%; overflow: hidden;
}
.hero-photo { width: 100%; height: 100%; object-fit: cover; }
/* Левый горизонтальный градиент (поверх фото слева) */
.hero-ov-left {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(to right, rgba(10,10,10,.85) 0%, rgba(10,10,10,.2) 40%, transparent 70%);
  pointer-events: none;
}
/* Нижний вертикальный градиент */
.hero-ov-bottom {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  background: linear-gradient(to top, rgba(10,10,10,.5) 0%, transparent 50%);
  pointer-events: none;
}
/* Бейдж поверх фото:
   Из узла 6:389: left:25.52px top:738.08px w:183.27px h:48.638px
   bg:rgba(10,10,10,0.88) border:0.567px rgba(212,43,43,0.35) r:8.508px */
.hero-badge {
  position: absolute;
  bottom: 40px;
  left: 25.52px;
  background: rgba(10,10,10,0.88);
  border: 0.567px solid rgba(212,43,43,0.35);
  border-radius: 8.508px;
  padding: 10.493px 16.165px;
}
.hero-badge-lbl { font-size: 7.09px; font-weight: 700; color: var(--red); letter-spacing: 1.2762px; text-transform: uppercase; margin-bottom: 2.127px; }
.hero-badge-val { font-size: 9.926px; font-weight: 600; color: #fff; }
/* Контент слева:
   Из узла 6:396: left:106.35px top:190.01px (= hdr:51.6 + 138.4 сверху)
   padding-left = 243.615px (209.583 + 34.032 от правого края контента) */
.hero-content {
  position: relative; z-index: 2;
  padding-left: 243.615px;
  max-width: 680px;
}
/* Тег hero: bg:rgba(212,43,43,0.1) border:0.567px rgba(212,43,43,0.3) r:21.27px
   h:21.341px pl:21.27px pr:поле, текст Inter SemiBold 7.799px tracking:1.1699px
   Из узла 6:397: h:21.341px r:21.27px w:240.089px */
.hero-tag {
  display: inline-flex; align-items: center; gap: 9.926px;
  background: rgba(212,43,43,0.1); border: 0.567px solid rgba(212,43,43,0.3);
  border-radius: 21.27px; padding: 4.821px 16px;
  font-size: 11px; font-weight: 600; color: var(--red);
  letter-spacing: 1px; text-transform: uppercase;
  margin-bottom: 21.27px;
}
.hero-tag-dot { width: 4.254px; height: 4.254px; border-radius: 2.127px; background: var(--red); flex-shrink: 0; }
/* H1: Bebas Neue 73.737px tracking:2.9495px
   Из узла 6:401/403: h:67.835px text:73.737px tracking:2.9495px */
.hero-h1 {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 90px; letter-spacing: 3.5px; line-height: 1;
}
/* Фичи: gap:9.926px
   Из узла 6:405: h:67.71px left:0 top:208.06px gap:9.926px
   Иконка: 12.762px, текст: Inter Regular 10.635px rgba(255,255,255,0.72) lh:15.953px */
.hero-feats { margin: 24px 0 32px; display: flex; flex-direction: column; gap: 9.926px; }
.hero-feat { display: flex; align-items: flex-start; gap: 8.508px; font-size: 15px; color: var(--dim72); line-height: 1.6; }
.hero-feat svg { flex-shrink: 0; margin-top: 1.5px; }
/* Кнопки: gap:10px
   Из узла 6:424: кнопка 1 w:211.994px h:37.578px r:21.27px, кнопка 2 w:148.183px h:37.578px */
.hero-btns {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
}

.hero-btns .btn-red,
.hero-btns .btn-outline {
  flex-shrink: 0;
}
/* ── СТАТИСТИКА ──
   Из узла 6:9: h:118.476px bg:#111,
   border-top/bottom:0.567px rgba(212,43,43,0.2),
   px:243.616px, сетка 4 колонки
   Число: Bebas Neue 36.869px tracking:1.4747px
   Подпись: Inter Regular 10.635px rgba(255,255,255,0.45) tracking:0.553px
   Линия: w:28.36px h:1.418px bg:red opacity:0.6 */
.stats { background: var(--card); border-top: 0.567px solid rgba(212,43,43,.2); border-bottom: 0.567px solid rgba(212,43,43,.2); }
.stats-grid { display: grid; grid-template-columns: repeat(4,1fr); max-width: 1440px; margin: 0 auto; }
.stat { padding: 31.2px 22.69px; text-align: center; position: relative; }
.stat:not(:last-child)::after { content: ''; position: absolute; right: 0; top: 16px; bottom: 16px; width: 0.567px; background: var(--border); }
.stat-n { font-family: 'Bebas Neue', sans-serif; font-size: 36.869px; letter-spacing: 1.4747px; color: #fff; line-height: 1; margin-bottom: 5px; }
.stat-l { font-size: 10.635px; color: rgba(255,255,255,0.45); letter-spacing: 0.553px; line-height: 13.826px; }
.stat-line { width: 28.36px; height: 1.418px; background: var(--red); opacity: 0.6; margin: 8px auto 0; border-radius: 1px; }

/* ── ОБЩИЙ КОНТЕЙНЕР (секции с отступами) ──
   Из Figma: pl:209.583px pr:209.584px, внутри px:34.032px
   Итого отступ от края: 243.615px */
.wrap-inner { max-width: 1020.975px; margin: 0 auto; }
.wrap-outer { max-width: 1440px; margin: 0 auto; padding: 0 209.583px; }

/* ── ИНТЕРЕСНЫЕ ФАКТЫ ──
   Из узла 6:35: top:930.72px (после stats), pt:68.065px, bg:#080808
   Сетка карточек: gap:11.344px, grid 4 col
   Карточка (6:46): bg:#111 border-left:1.702px red, border-others:0.567px red
   r:0 9.926px 9.926px 0, pt:20.419px pl:18.718px pr:20.419px
   Заголовок: Bebas Neue 31.196px red tracking:1.2479px
   Текст: Inter Regular 10.635px rgba(255,255,255,0.62) lh:17.371px */
.facts { background: var(--bg2); padding: 68.065px 0 79.652px; }
.facts-title { margin-bottom: 36.869px; }
.facts-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 11.344px; }
.fact-card {
  background: var(--card);
  border-left: 1.702px solid var(--red);
  border-top: 0.567px solid var(--red);
  border-right: 0.567px solid var(--red);
  border-bottom: 0.567px solid var(--red);
  border-radius: 0 9.926px 9.926px 0;
  padding: 20.419px 20.419px 20.419px 18.718px;
}
.fact-h { font-family: 'Bebas Neue', sans-serif; font-size: 31.196px; letter-spacing: 1.2479px; color: var(--red); line-height: 1; margin-bottom: 9.926px; }
.fact-t { font-size: 15px; color: rgba(255,255,255,0.62); line-height: 1.6; }

/* ── НАШИ УСЛУГИ (preview) ──
   Из узла 6:66: h:594.931px, left:209.58px top:1349.35px w:1020.975px
   Заголовок-контейнер (6:67): top:70.9px h:93.306px
   Сетка (6:74): top:206.75px gap:17.016px, 3 col, h:249.855px
   Карточка (6:75): bg:#111 border:0.567px rgba(255,255,255,0.06) r:11.344px h:249.572px
   Иконка (6:76): w:36.869px r:8.508px left:22.69px top:25.52px bg:rgba(212,43,43,0.1)
   Название (6:81): Inter SemiBold 12.053px left:22.69px top:76.57px
   Описание (6:83): Inter Regular 9.926px rgba(255,255,255,0.5) lh:16.874px top:100.54px
   Цена (6:85): border-left:1.702px red, Inter SemiBold 11.344px red top:165.34px
   Кнопка (6:87): h:26.942px r:21.27px border:0.567px top:196.72px */
.svc-prev { padding: 70.901px 0 79.652px; }
.svc-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17.016px; margin-top: 34.032px; }
.svc-card {
  background: var(--card); border: 0.567px solid var(--border);
  border-radius: 11.344px; padding: 25.524px 22.688px;
  display: flex; flex-direction: column;
  transition: border-color .2s, transform .2s;
}
.svc-card:hover { border-color: rgba(212,43,43,.3); transform: translateY(-2px); }
.svc-ico {
  width: 36.869px; height: 36.869px;
  background: rgba(212,43,43,0.1); border: 0.567px solid rgba(212,43,43,0.2);
  border-radius: 8.508px;
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 19.852px; flex-shrink: 0;
}
.svc-ico svg { width: 15.598px; height: 15.598px; }
.svc-name { font-size: 17px; font-weight: 600; color: #fff; margin-bottom: 10px; line-height: 16.874px; }
.svc-desc { font-size: 14px; color: var(--dim50); line-height: 1.65; flex: 1; margin-bottom: 14.18px; }
.svc-price { font-size: 16px; font-weight: 600; color: var(--red); border-left: 2px solid var(--red); padding-left: 8.508px; margin-bottom: 14.18px; line-height: 17.016px; }
.svc-more { display: flex; justify-content: center; margin-top: 34.032px; }

/* ── ДО И ПОСЛЕ ──
   Из узла 6:121: bg:#080808 h:649.64px
   Контейнер заголовка (6:122): top:70.9px h:93.306px left:209.58px
   Тег "Примеры работ": центрированный, две линии по бокам
   H2 (6:128): Bebas Neue 42.541px tracking:2.127px центр
   Сетка (6:130): top:206.75px gap:2.127px r:14.18px 2 col h:318.39px */
.ba { background: var(--bg2); padding: 70.901px 0 79.652px; }
.ba-title { text-align: center; margin-bottom: 34.032px; }
/* Тег "Примеры работ" — с двумя линиями по бокам */
.stag-double {
  display: inline-flex; align-items: center; gap: 28.36px;
  font-size: 12px; font-weight: 600; color: var(--red);
  letter-spacing: 1.4px; text-transform: uppercase;
  margin-bottom: 11px;
}
.stag-double::before, .stag-double::after {
  content: ''; display: block; width: 28.36px; height: 1.418px; background: var(--red); flex-shrink: 0;
}
.ba-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 2.127px;
  border-radius: 14.18px; overflow: hidden;
  max-width: 1020.975px; margin: 0 auto;
}
.ba-item { position: relative; height: 318.39px; overflow: hidden; }
.ba-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.ba-item:hover img { transform: scale(1.03); }
.ba-item.ba-dim::after { content: ''; position: absolute; inset: 0; background: rgba(10,10,10,0.3); }
.ba-cap {
  position: absolute; bottom: 14px; left: 0; right: 0; text-align: center;
  /* Inter Regular 9.217px white */
  font-size: 9.217px; color: #fff; z-index: 1; text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}

/* ── ГАЛЕРЕЯ ──
   Из узла 6:138: h:721.303px bg:#0A0A0A
   Заголовок-контейнер (6:139): top:68.06px left:243.62px w:952.91px h:93.696px
   Слайды (6:154): w:445.968px h:392.083px bg:#111 border:0.567px r:11.344px
   Фото слайда (6:155): h:333.651px
   Кнопки слайдера (6:233/241): r:19.852px w:39.705px h:39.705px
   Точки (6:237): w:19.852px h:5.672px r:2.836px активная; неактивная 5.672px */
.gallery { padding: 68.065px 0 79.652px; background: var(--bg); }
.gal-hdr {
  display: flex; align-items: flex-end; justify-content: space-between;
  max-width: 952.91px; margin: 0 auto 32px; padding: 0 34.032px;
}
.gal-wrap { overflow: hidden; padding: 0 34.032px; }
.gal-track { display: flex; gap: 17.016px; transition: transform .4s cubic-bezier(.4,0,.2,1); }
/* Слайд: w:445.968px */
.gal-slide {
  flex-shrink: 0; width: 445.968px;
  background: var(--card); border: 0.567px solid var(--border);
  border-radius: 11.344px; overflow: hidden;
}
/* Фото слайда: h:333.651px */
.gal-img { height: 333.651px; position: relative; overflow: hidden; }
.gal-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.gal-slide:hover .gal-img img { transform: scale(1.04); }
.gal-img::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,0.7) 0%, transparent 55%);
}
/* RC Badge: bg:red r:14.18px h:16.307px gap:3.545px px:8.508px */
.rc-badge {
  position: absolute; top: 9.926px; right: 9.926px;
  background: var(--red); border-radius: 14.18px;
  padding: 2.836px 8.508px;
  display: flex; align-items: center; gap: 3.545px; z-index: 1;
}
.rc-dot { width: 3.545px; height: 3.545px; border-radius: 1.773px; background: #fff; flex-shrink: 0; }
.rc-txt { font-size: 7.09px; font-weight: 700; color: #fff; letter-spacing: 0.709px; text-transform: uppercase; }
/* Инфо слайда: pt:12.762px px:14.18px gap:2.836px */
.gal-info { padding: 12.762px 14.18px; }
/* Название: Inter SemiBold 10.635px */
.gal-name { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 4px; line-height: 13.826px; }
/* Тип: Inter Medium 9.217px red */
.gal-type { font-size: 13px; font-weight: 500; color: var(--red); line-height: 1.4; }
/* Контролы: gap:14.18px h:39.705px */
.gal-ctrl { display: flex; align-items: center; justify-content: center; gap: 14.18px; margin-top: 25.524px; }
/* Кнопка слайдера: r:19.852px w:39.705px h:39.705px */
.gal-btn { width: 39.705px; height: 39.705px; border-radius: 19.852px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; border: none; cursor: pointer; transition: opacity .2s; }
.gal-btn.gal-prev { background: rgba(212,43,43,0.25); }
.gal-btn.gal-nxt { background: var(--red); }
.gal-btn:hover { opacity: .85; }
.gal-btn svg { width: 17.016px; height: 17.016px; }
/* Точки: h:5.672px gap:5.672px */
.gal-dots { display: flex; align-items: center; gap: 5.672px; }
.gal-dot { height: 5.672px; border-radius: 2.836px; background: rgba(255,255,255,0.3); border: none; cursor: pointer; transition: all .3s; }
.gal-dot { width: 5.672px; }
.gal-dot.on { width: 19.852px; background: var(--red); }

/* ── ОТЗЫВЫ ──
   Из узла 6:244: bg:#080808 h:457.028px pt:70.901px
   Заголовок (6:245): h:93.306px
   Сетка (6:252): gap:17.016px 3col h:179.38px
   Карточка (6:253): bg:#111 border:0.567px r:11.344px
   Звёзды (6:254): gap:2.836px иконки 9.926px top:22.69px left:19.85px
   Текст (6:265/266): Inter Regular 9.926px rgba(255,255,255,0.65) lh:17.867px top:43.96px
   Разделитель: border-top:0.567px rgba(255,255,255,0.06) top:114.58px
   Имя: Inter SemiBold 9.926px, машина: Inter Regular 8.508px rgba(255,255,255,0.35)
   Аватар: w:25.524px r:12.762px bg:rgba(212,43,43,0.15) */
.reviews { background: var(--bg2); padding: 70.901px 0 79.652px; }
.rev-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 17.016px; margin-top: 36.869px; }
.rev-card {
  background: var(--card); border: 0.567px solid var(--border);
  border-radius: 11.344px; padding: 22.688px 19.852px;
  position: relative;
}
.rev-qt { position: absolute; top: 17.016px; right: 19.852px; font-family: Georgia, serif; font-size: 34.032px; color: rgba(212,43,43,0.15); line-height: 1; }
.rev-stars { display: flex; gap: 2.836px; margin-bottom: 14.18px; }
.rev-stars svg { width: 9.926px; height: 9.926px; }
.rev-txt { font-size: 14px; color: rgba(255,255,255,0.65); line-height: 1.7; margin-bottom: 14.18px; }
.rev-foot { display: flex; align-items: center; justify-content: space-between; border-top: 0.567px solid var(--border); padding-top: 10px; }
.rev-name { font-size: 14px; font-weight: 600; color: #fff; line-height: 1.4; }
.rev-car { font-size: 12px; color: rgba(255,255,255,0.35); margin-top: 2px; line-height: 12.762px; }
.rev-ava { width: 25.524px; height: 25.524px; border-radius: 12.762px; background: rgba(212,43,43,0.15); display: flex; align-items: center; justify-content: center; font-size: 9.926px; font-weight: 700; color: var(--red); }

/* ── КАЛЬКУЛЯТОР ──
   Из узла 6:328: bg:#080808 h:636.23px pt:68.065px
   Блок (6:337): bg:#111 border:0.567px r:17.016px w:638.109px h:369.536px
   left:191.43px (= 209.583 - 18.15 ≈ центр от контента)
   Шаг 1 (6:338): top:36.87px left:39.7px w:557.566px gap:14.18px
   Номер шага (6:340): r:9.926px w:19.852px bg:red Inter Bold 8.508px
   Метка: Inter SemiBold 10.635px tracking:0.4254px
   Кнопки опций (6:346): bg:#1A1A1A border:0.567px r:21.27px h:31.622px
   Inter Medium 9.926px #737373 tracking:0.397px
   Результат (6:373): bg:rgba(255,255,255,0.02) border:0.567px r:11.344px
   h:83.38px left:39.7px top:248.15px
   Цена: Bebas Neue 25.524px rgba(255,255,255,0.2), активная — red
   Кнопка "Получить": bg:red h:35.096px r:21.27px Inter Bold 9.217px */
.calc-sec { background: var(--bg2); padding: 68.065px 0 79.652px; }
.calc-sec-title { text-align: center; margin-bottom: 34.032px; }
.calc-box {
  background: var(--card); border: 0.567px solid var(--border);
  border-radius: 17.016px; padding: 36.869px 39.705px;
  max-width: 638.109px; margin: 0 auto;
  position: relative; overflow: hidden;
}
.calc-box::after {
  content: ''; position: absolute; right: -50px; bottom: -50px;
  width: 198.523px; height: 198.523px; border-radius: 99.261px;
  background: radial-gradient(circle, rgba(212,43,43,0.1) 0%, transparent 70%);
  pointer-events: none;
}
.calc-step { margin-bottom: 14.18px; }
.calc-sh { display: flex; align-items: center; gap: 8.508px; margin-bottom: 14.18px; }
.calc-num { width: 19.852px; height: 19.852px; border-radius: 9.926px; background: var(--red); display: flex; align-items: center; justify-content: center; font-size: 8.508px; font-weight: 700; color: #fff; flex-shrink: 0; }
.calc-num.off { background: rgba(255,255,255,0.1); }
.calc-lbl { font-size: 10.635px; font-weight: 600; color: #fff; letter-spacing: 0.4254px; line-height: 15.953px; }
.calc-lbl.off { color: rgba(255,255,255,0.4); }
.calc-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.calc-opt {
  height: 31.622px; padding: 0 16px;
  background: var(--off); border: 0.567px solid rgba(255,255,255,0.12); border-radius: 21.27px;
  font-size: 9.926px; font-weight: 500; color: #737373;
  letter-spacing: 0.397px; cursor: pointer; transition: all .2s; white-space: nowrap;
}
.calc-opt:hover { color: #fff; border-color: rgba(255,255,255,0.3); }
.calc-opt.sel { background: rgba(212,43,43,0.15); border-color: var(--red); color: #fff; }
.calc-div { height: 0.567px; background: var(--border); margin: 14.18px 0; }
.calc-res {
  background: rgba(255,255,255,0.02); border: 0.567px solid var(--border);
  border-radius: 11.344px; padding: 19.852px 22.688px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 14.18px; flex-wrap: wrap; margin-top: 14.18px;
}
.calc-plbl { font-size: 8.508px; font-weight: 600; color: rgba(255,255,255,0.4); letter-spacing: 1.021px; text-transform: uppercase; margin-bottom: 4.254px; }
.calc-price { font-family: 'Bebas Neue', sans-serif; font-size: 25.524px; letter-spacing: 1.021px; color: rgba(255,255,255,0.2); transition: color .3s; }
.calc-price.has { color: var(--red); }

/* ── CTA БАННЕР ──
   Из узла 6:432: h:213.838px border:0.567px rgba(212,43,43,0.3) r:17.016px
   left:34.032px w:1372.077px bg:gradient
   H2 (6:436): Bebas Neue 42.541px tracking:2.2688px top:51.05px
   Текст (6:438): Inter Regular 11.344px rgba(255,255,255,0.55) lh:17.016px w:300.62px top:76.57px
   Кнопка (6:440): h:41.477px r:21.27px w:239.796px left:1085.77px top:85.61px
   Inter SemiBold 10.635px tracking:1.0635px */
.cta-wrap { padding: 56.721px 34.032px; }
.cta-inner {
  max-width: 1372.077px; margin: 0 auto;
  background: linear-gradient(171.14deg, #1a0a0a 0%, #2d0d0d 40%, #1a0a0a 100%);
  border: 0.567px solid rgba(212,43,43,0.3); border-radius: 17.016px;
  padding: 51.048px 45.377px;
  display: flex; align-items: center; justify-content: space-between;
  gap: 32px; position: relative; overflow: hidden; flex-wrap: wrap;
}
.cta-inner::before { content: ''; position: absolute; right: -28.36px; top: -56.72px; width: 283.604px; height: 283.604px; border-radius: 141.802px; background: radial-gradient(circle, rgba(212,43,43,0.15) 0%, transparent 70%); }
.cta-inner::after { content: ''; position: absolute; left: -28.36px; top: 28.36px; width: 212.703px; height: 212.703px; border-radius: 106.352px; background: radial-gradient(circle, rgba(212,43,43,0.08) 0%, transparent 70%); }
.cta-txt { position: relative; z-index: 1; }
.cta-h { font-family: 'Bebas Neue', sans-serif; font-size: 42.541px; letter-spacing: 2.2688px; color: #fff; margin-bottom: 7.09px; }
.cta-sub { font-size: 16px; color: rgba(255,255,255,0.55); line-height: 1.6; max-width: 360px; }
.cta-action { position: relative; z-index: 1; flex-shrink: 0; }
/* CTA кнопка: h:41.477px r:21.27px */
.cta-action .btn-red { height: 41.477px; padding: 0 34.032px; }

/* ── ПОДВАЛ ──
   Из узла 6:442: bg:#080808 border-top:0.567px rgba(212,43,43,0.2)
   pl:209.583px pr:209.584px, внутри px:34.032px, pt:45.377px
   Сетка (6:444): 4 col с фракциями 300:300:300:300:1, gap:34.032px h:135.775px
   Лого: bar w:4.254px h:19.852px r:1.418px, brand Bebas Neue 17.016px tracking:1.7016px
   Колонка-заголовок: Bebas Neue 11.344px tracking:1.3613px
   Ссылка: Inter Regular 9.217px rgba(255,255,255,0.45)
   Нижняя строка: border-top:0.567px rgba(255,255,255,0.06) pt:17.016px
   © Inter Regular 8.508px rgba(255,255,255,0.25) */
.footer { background: var(--bg2); border-top: 0.567px solid rgba(212,43,43,0.2); padding-top: 45.377px; }
.ftr-grid { display: grid; grid-template-columns: 300fr 300fr 300fr 300fr; gap: 34.032px; max-width: 1440px; margin: 0 auto; padding: 0 var(--px) 34.032px; }
.ftr-logo { display: flex; align-items: center; gap: 7.09px; margin-bottom: 14.18px; }
.ftr-bar { width: 4.254px; height: 19.852px; background: var(--red); border-radius: 1.418px; flex-shrink: 0; }
.ftr-brand { font-family: 'Bebas Neue', sans-serif; font-size: 17.016px; letter-spacing: 1.7016px; color: #fff; line-height: 1; }
.ftr-desc { font-size: 9.217px; color: rgba(255,255,255,0.45); line-height: 16.591px; max-width: 157.4px; }
.ftr-col-h { font-family: 'Bebas Neue', sans-serif; font-size: 15px; letter-spacing: 1.2px; color: #fff; margin-bottom: 14px; line-height: 1.4; }
.ftr-links { display: flex; flex-direction: column; gap: 5.672px; }
.ftr-links a { font-size: 13px; color: rgba(255,255,255,0.45); transition: color .2s; line-height: 1.6; }
.ftr-links a:hover { color: #fff; }
.ftr-contacts { display: flex; flex-direction: column; gap: 8px; }
.ftr-ct { display: flex; align-items: center; gap: 7.09px; font-size: 13px; color: rgba(255,255,255,0.5); line-height: 1.6; }
.ftr-bot {
  border-top: 0.567px solid var(--border);
  padding: 17.016px var(--px);
  max-width: 1440px; margin: 0 auto;
  display: flex; justify-content: space-between; align-items: center;
  flex-wrap: wrap; gap: 8px;
}
.ftr-copy { font-size: 12px; color: rgba(255,255,255,0.25); line-height: 1.4; }

/* ── HERO ПОДСТРАНИЦ ──
   H1: Bebas Neue 62.393px tracking:3.1196px (из узла 6:1392/1580) */
.pg-hero {
  background: var(--bg);
  padding: calc(var(--hh) + 56.721px) 0 56.721px;
  position: relative; overflow: hidden;
  border-bottom: 0.567px solid var(--border);
}
.pg-hero::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(212,43,43,0.06), transparent); pointer-events: none; }
.pg-hero .wrap-inner { position: relative; z-index: 1; }
.pg-stag { margin-bottom: 14.18px; }
/* H1 подстраниц: Bebas Neue 62.393px tracking:3.1196px */
.pg-h1 { font-family: 'Bebas Neue', sans-serif; font-size: 62.393px; letter-spacing: 3.1196px; color: #fff; line-height: 1; }
.pg-sub { font-size: 16px; color: var(--dim50); line-height: 1.6; max-width: 420px; margin-top: 14.18px; }

/* ── СТРАНИЦА УСЛУГ ──
   Карточки услуг (из узла 6:532):
   Фото h:155.982px (из узла 6:533)
   Иконка: top:14.18px left:14.18px w:31.196px r:7.09px bg:rgba(10,10,10,0.8) border:rgba(212,43,43,0.3)
   Название: Inter SemiBold 14.18px
   Описание: Inter Regular 9.926px lh:1.7
   Характеристики: 2×2 gap:8px 12px
   Цена-большая: Inter Bold 14.18px red */
.svc-full-sec { padding: 56.721px 0 79.652px; }
.svc-full-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 17.016px; }
.sfc {
  background: var(--card); border: 0.567px solid var(--border);
  border-radius: 14.18px; overflow: hidden;
  transition: transform .3s, border-color .3s;
}
.sfc:hover { transform: translateY(-3px); border-color: rgba(212,43,43,0.25); }
.sfc-img { height: 155.982px; position: relative; overflow: hidden; }
.sfc-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.sfc:hover .sfc-img img { transform: scale(1.04); }
.sfc-ov { position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 40%, rgba(17,17,17,.95)); }
.sfc-ico { position: absolute; top: 14.18px; left: 14.18px; width: 31.196px; height: 31.196px; background: rgba(10,10,10,0.8); border: 0.567px solid rgba(212,43,43,0.3); border-radius: 7.09px; display: flex; align-items: center; justify-content: center; z-index: 1; }
.sfc-ico svg { width: 14.18px; height: 14.18px; }
.sfc-dur { position: absolute; top: 10px; right: 10px; z-index: 1; background: rgba(10,10,10,0.7); border: 1px solid rgba(212,43,43,0.3); border-radius: 6px; padding: 4px 10px; font-size: 8px; font-weight: 600; color: rgba(255,255,255,0.6); }
.sfc-body { padding: 19.852px 22.688px; }
.sfc-name { font-size: 14.18px; font-weight: 600; color: #fff; margin-bottom: 9.926px; line-height: 1.4; }
.sfc-desc { font-size: 14px; color: var(--dim50); line-height: 1.65; margin-bottom: 13.826px; }
.sfc-feats { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 12px; margin-bottom: 16px; }
.sfc-feat { display: flex; align-items: center; gap: 5.672px; font-size: 8.508px; color: rgba(255,255,255,0.55); }
.sfc-feat::before { content: ''; width: 9.217px; height: 9.217px; background: rgba(212,43,43,0.1); border: 0.567px solid rgba(212,43,43,0.2); border-radius: 50%; flex-shrink: 0; }
.sfc-meta { display: flex; align-items: center; gap: 11.344px; margin-bottom: 19.852px; font-size: 8.508px; color: rgba(255,255,255,0.35); }
.sfc-foot { display: flex; align-items: center; justify-content: space-between; }
.sfc-plbl { font-size: 7.799px; color: rgba(255,255,255,0.4); text-transform: uppercase; letter-spacing: 0.78px; margin-bottom: 1.418px; }
.sfc-pval { font-size: 14.18px; font-weight: 700; color: var(--red); }
/* Как мы работаем */
.how-sec { background: var(--bg2); padding: 56.721px 0 63.811px; }
.how-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 17.016px; margin-top: 36.869px; }
.how-card { background: var(--card); border: 0.567px solid var(--border); border-radius: 11.344px; padding: 22.688px 17.016px; }
.how-num { font-family: 'Bebas Neue', sans-serif; font-size: 36.869px; letter-spacing: 1.8434px; color: rgba(212,43,43,0.2); line-height: 1; margin-bottom: 13.826px; }
.how-ttl { font-size: 11.344px; font-weight: 600; color: #fff; margin-bottom: 7.09px; }
.how-desc { font-size: 9.217px; color: var(--dim45); line-height: 15.67px; }

/* ── СТРАНИЦА РАБОТ ── */
.works-sec { padding: 0 0 56.721px; }
.works-filters { display: flex; gap: 9.926px; margin: 31.196px 0; flex-wrap: wrap; }
.flt { padding: 0 19.852px; height: 31.622px; border-radius: 15.811px; font-size: 9.926px; font-weight: 500; cursor: pointer; transition: all .2s; border: 0.567px solid var(--border); background: transparent; color: rgba(255,255,255,0.5); }
.flt.on { background: var(--red); border-color: var(--red); color: #fff; }
.flt:hover:not(.on) { border-color: rgba(255,255,255,0.3); color: #fff; }
.works-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.work { background: var(--card); border: 0.567px solid var(--border); border-radius: 11.344px; overflow: hidden; transition: transform .3s; }
.work:hover { transform: translateY(-3px); }
.work-img { height: 148px; position: relative; overflow: hidden; }
.work-img img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.work:hover .work-img img { transform: scale(1.05); }
.work-info { padding: 11.344px 14.18px; }
.work-cat { font-size: 11px; font-weight: 600; color: rgba(255,255,255,0.4); letter-spacing: .8px; text-transform: uppercase; margin-bottom: 3.545px; }
.work-nm { font-size: 15px; font-weight: 600; color: #fff; margin-bottom: 4px; line-height: 1.3; }
.work-tp { font-size: 13px; font-weight: 500; color: var(--red); line-height: 1.4; }
/* Блок "Хотите стать следующим" */
.next-block {
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(167deg, rgba(212,43,43,0.12) 0%, rgba(212,43,43,0.05) 100%);
  border: 0.567px solid rgba(212,43,43,0.2); border-radius: 17.016px;
  padding: 42.541px 45.377px; margin-top: 28.36px; margin-bottom: 56.721px;
  gap: 32px; position: relative; overflow: hidden; flex-wrap: wrap;
}
.next-block::before { content: ''; position: absolute; right: -20px; top: -20px; width: 200px; height: 200px; border-radius: 100px; background: radial-gradient(circle, rgba(212,43,43,0.12) 0%, transparent 70%); }
.next-h { font-family: 'Bebas Neue', sans-serif; font-size: 36.869px; letter-spacing: 1.8434px; color: #fff; position: relative; z-index: 1; }
.next-sub { font-size: 10.635px; color: var(--dim50); margin-top: 4px; position: relative; z-index: 1; }
.next-btn { position: relative; z-index: 1; }

/* ── СТРАНИЦА ЗАЯВКИ ──
   Из узла 6:1240, layout 6:1244: сетка minmax(0,876fr) minmax(0,1fr)
   gap:34.032px left:112.02px top:285.73px w:952.91px
   Форма (6:1338): bg:#111 border:0.567px r:17.016px
   Заголовок формы (6:1339): Bebas Neue 22.688px tracking:1.1344px
   Поля: h:35.876px r:8.508px bg:rgba(255,255,255,0.04) border:0.567px rgba(255,255,255,0.1)
   Textarea: h:80.544px
   Кнопка: h:38.996px r:21.27px Inter Bold 9.926px tracking:1.1911px
   Сайдбар-карточки: bg:#111 r:14.18px border:0.567px
   Заголовок карточки: Bebas Neue 15.598px tracking:1.2479px
   Пункт "Почему мы": border-left:1.702px red pl:13.046px gap:11.344px
   Иконка: w:25.524px r:5.672px bg:rgba(212,43,43,0.1)
   Статус-бейдж: border rgba(212,43,43,0.2) r:11.344px, зелёная точка w:7.09px r:3.545px bg:#22c55e */
.order-sec { padding: 0 0 79.652px; }
.order-layout { display: grid; grid-template-columns: 876fr 1fr; gap: 34.032px; padding-top: 56.721px; align-items: start; }
.order-form-wrap {
  background: var(--card); border: 0.567px solid var(--border);
  border-radius: 17.016px; padding: 34.032px 31.196px;
}
.order-form-ttl { font-family: 'Bebas Neue', sans-serif; font-size: 22.688px; letter-spacing: 1.1344px; color: #fff; margin-bottom: 2.836px; line-height: 34.032px; }
.order-form-sub { font-size: 9.217px; color: rgba(255,255,255,0.4); margin-bottom: 24px; line-height: 13.826px; }
.form-row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14.18px; margin-bottom: 14.18px; }
.fg { display: flex; flex-direction: column; gap: 5.672px; margin-bottom: 14.18px; }
.flbl { font-size: 12px; font-weight: 600; color: rgba(255,255,255,0.6); letter-spacing: 0.7px; text-transform: uppercase; line-height: 1.4; }
.finput {
  width: 100%; height: 35.876px;
  background: rgba(255,255,255,0.04); border: 0.567px solid rgba(255,255,255,0.1);
  border-radius: 8.508px; padding: 0 12.762px;
  font-size: 14px; color: #fff; outline: none; transition: border-color .2s;
}
.finput:focus { border-color: rgba(212,43,43,0.5); }
.finput::placeholder { color: rgba(255,255,255,0.3); }
.fselect {
  width: 100%;
  height: 35.876px;
  background: #1A1A1A;
  border: 0.567px solid rgba(255,255,255,0.1);
  border-radius: 8.508px;
  padding: 0 13.329px;
  font-size: 14px;
  color: #fff;
  outline: none;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='rgba(255,255,255,0.3)' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13.329px center;
  transition: border-color .2s, color .2s, background-color .2s;
}

.fselect:focus {
  border-color: rgba(212,43,43,0.5);
}

/* Выпадающий список */
.fselect option {
  background: #111111;
  color: #ffffff;
}}
.ftextarea {
  width: 100%; height: 80.544px;
  background: rgba(255,255,255,0.04); border: 0.567px solid rgba(255,255,255,0.1);
  border-radius: 8.508px; padding: 9.926px 12.762px;
  font-size: 14px; color: #111111; outline: none; resize: none; transition: border-color .2s;
}
.ftextarea:focus { border-color: rgba(212,43,43,0.5); }
.ftextarea::placeholder { color: rgba(255,255,255,0.3); }
.fsubmit {
  width: 100%; height: 38.996px;
  background: var(--red); border-radius: 21.27px;
  font-size: 14px; font-weight: 700; color: #fff;
  letter-spacing: 1px; text-transform: uppercase;
  cursor: pointer; border: none; margin-top: 8px; transition: opacity .2s;
}
.fsubmit:hover { opacity: .9; }
.fagree { text-align: center; font-size: 7.799px; color: rgba(255,255,255,0.25); margin-top: 8px; line-height: 11.699px; letter-spacing: 0.312px; }
/* Сайдбар заявки */
.order-aside { display: flex; flex-direction: column; gap: 17.016px; min-width: 280px; }
.aside-card { background: var(--card); border: 0.567px solid var(--border); border-radius: 14.18px; padding: 23.256px 20.419px; }
.aside-h { font-family: 'Bebas Neue', sans-serif; font-size: 15.598px; letter-spacing: 1.2479px; color: #fff; margin-bottom: 17.016px; line-height: 23.397px; }
.why-list { display: flex; flex-direction: column; gap: 14.18px; }
.why-item { display: flex; align-items: flex-start; gap: 11.344px; border-left: 1.702px solid var(--red); padding-left: 13.046px; }
.why-ico { width: 25.524px; height: 25.524px; background: rgba(212,43,43,0.1); border-radius: 5.672px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.why-ico svg { width: 11.344px; height: 11.344px; }
.why-ttl { font-size: 9.926px; font-weight: 600; color: #fff; margin-bottom: 2.127px; line-height: 14.889px; }
.why-sub { font-size: 8.508px; color: rgba(255,255,255,0.4); line-height: 13.613px; }
.ct-list { display: flex; flex-direction: column; gap: 13.826px; }
.ct-row { display: flex; align-items: flex-start; gap: 9.926px; }
.ct-ico { width: 25.524px; height: 25.524px; background: rgba(212,43,43,0.1); border-radius: 5.672px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ct-ico svg { width: 10.635px; height: 10.635px; }
.ct-ico.ct-ico-phone::after { content: '📞'; font-size: 10px; }
.ct-ico.ct-ico-email::after { content: '✉'; font-size: 10px; }
.ct-ico.ct-ico-map::after { content: '📍'; font-size: 10px; }
.ct-ico.ct-ico-time::after { content: '🕐'; font-size: 10px; }
.ct-lbl { font-size: 7.799px; color: rgba(255,255,255,0.35); letter-spacing: 0.6239px; text-transform: uppercase; margin-bottom: 1.418px; line-height: 11.699px; }
.ct-val { font-size: 9.926px; font-weight: 500; color: #fff; line-height: 14.889px; }
/* Статус-бейдж */
.status-badge {
  display: flex; align-items: center; gap: 11.344px;
  background: linear-gradient(169.33deg, rgba(212,43,43,0.12) 0%, rgba(212,43,43,0.05) 100%);
  border: 0.567px solid rgba(212,43,43,0.2); border-radius: 11.344px;
  padding: 13.826px 17.583px;
}
.status-dot { width: 7.09px; height: 7.09px; border-radius: 3.545px; background: #22c55e; flex-shrink: 0; }
.status-ttl { font-size: 9.217px; font-weight: 600; color: #fff; line-height: 13.826px; }
.status-sub { font-size: 8.508px; color: rgba(255,255,255,0.4); line-height: 12.762px; }

/* ── FAQ ──
   Из узла 6:1476/6:1480: секция с вопросами w:638.109px left:401.02px top:353.65px
   Вопрос открытый (6:1482): border-top/bottom:0.567px rgba(255,255,255,0.07)
   Кнопка (6:1483): h:65.229px
   Номер: Bebas Neue 12.762px tracking:0.6381px
   Текст: Inter SemiBold 12.053px lh:18.08px
   Стрелка (6:1489): w:25.524px r:12.762px border:0.567px
   Ответ (6:1492/1493): pl:31.196px, border-left:1.702px red pl:15.882px
   Текст ответа: Inter Regular 10.635px rgba(255,255,255,0.62) lh:19.994px */
.faq-sec { padding: 0 0 79.652px; }
.faq-center { max-width: 638.109px; margin: 0 auto; padding-top: 56.721px; }
.faq-list {}
.faq-item { border-top: 0.567px solid rgba(255,255,255,0.07); }
.faq-item:last-of-type { border-bottom: 0.567px solid rgba(255,255,255,0.07); }
.faq-q { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; cursor: pointer; gap: 14.18px; user-select: none; }
.faq-q-left { display: flex; align-items: flex-start; gap: 14.18px; flex: 1; }
.faq-qnum { font-family: 'Bebas Neue', sans-serif; font-size: 12.762px; color: rgba(212,43,43,0.4); letter-spacing: 0.6381px; line-height: 1.2; flex-shrink: 0; padding-top: 2px; }
.faq-item.open .faq-qnum { color: var(--red); }
.faq-qtxt { font-size: 16px; font-weight: 600; color: rgba(255,255,255,0.75); line-height: 1.5; }
.faq-item.open .faq-qtxt { color: #fff; }
.faq-arr { width: 25.524px; height: 25.524px; border-radius: 12.762px; border: 0.567px solid rgba(255,255,255,0.12); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all .25s; }
.faq-item.open .faq-arr { background: rgba(212,43,43,0.1); border-color: var(--red); }
.faq-arr svg { width: 11.344px; height: 11.344px; transition: transform .25s; }
.faq-item.open .faq-arr svg { transform: rotate(180deg); }
.faq-ans { display: none; padding: 0 0 19.852px 31.196px; }
.faq-ans-inner { border-left: 1.702px solid var(--red); padding-left: 15.882px; }
.faq-ans p { font-size: 15px; color: rgba(255,255,255,0.62); line-height: 1.7; }
.faq-item.open .faq-ans { display: block; }
/* FAQ CTA блок */
.faq-cta-block {
  display: flex; align-items: center; justify-content: space-between;
  background: linear-gradient(171.56deg, rgba(212,43,43,0.08) 0%, rgba(212,43,43,0.03) 100%);
  border: 0.567px solid rgba(212,43,43,0.2); border-radius: 14.18px;
  padding: 28.36px 31.196px; margin-top: 45.377px;
  gap: 14.18px; flex-wrap: wrap;
}
.faq-cta-left { display: flex; align-items: center; gap: 14.18px; }
.faq-cta-ico { width: 36.869px; height: 36.869px; background: rgba(212,43,43,0.1); border: 0.567px solid rgba(212,43,43,0.2); border-radius: 8.508px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.faq-cta-ico svg { width: 17.016px; height: 17.016px; }
.faq-cta-ttl { font-size: 12.762px; font-weight: 600; color: #fff; margin-bottom: 2.127px; line-height: 19.143px; }
.faq-cta-sub { font-size: 9.926px; color: rgba(255,255,255,0.45); line-height: 14.889px; }
.faq-cta-block .btn-red { height: 32.26px; padding: 0 20px; font-size: 9.217px; flex-shrink: 0; letter-spacing: 0.9217px; }

/* ── TOAST ── */
.toast { position: fixed; bottom: 32px; right: 32px; background: var(--card); border: 1px solid rgba(212,43,43,0.3); border-radius: 12px; padding: 16px 24px; font-size: 13px; color: #fff; z-index: 200; transform: translateY(100px); opacity: 0; transition: all .3s; max-width: 300px; }
.toast.show { transform: translateY(0); opacity: 1; }


/* ═══════════════════════════════════════════════════
   МОБИЛЬНАЯ ВЕРСИЯ ≤768px
   Точно по макету ZJjSVg8Q684y4csGqBOcTE
   Скриншот подтверждён — фото в hero НЕТ
═══════════════════════════════════════════════════ */
@media (max-width: 768px) {
  :root { --hh: 56px; }

  /* ── ШАПКА h:56px bg:#080808 ── */
  .hdr { background: #080808; height: 56px; }
  .hdr-in { padding: 0 20px; }
  .nav-links, .hdr-phone { display: none; }
  .burger { display: flex; }

  /* ── HERO мобайл: bg:#0A0A0A, h:465px, БЕЗ ФОТО ──
     Из узла 4:11 — весь контент в обычном потоке, px:20px */
  .hero {
    height: auto; min-height: 0;
    flex-direction: column; align-items: flex-start;
    padding-top: 56px; background: var(--bg);
  }
  /* СКРЫВАЕМ фото и все оверлеи полностью */
  .hero-photo-wrap, .hero-ov-left, .hero-ov-bottom, .hero-badge { display: none; }
  /* Контент: СБРОС десктопного padding-left:243px → 20px
     margin-top: 56px — шапка fixed, нужно сдвинуть вниз */
  .hero-content {
    padding: 20px 20px 32px !important;
    padding-left: 20px !important;
    width: 100%; max-width: 100%;
    position: static; z-index: auto;
  }
  /* Тег: ● Inter SemiBold 11px red tracking:0.5px (узел 4:13 top:20px left:20px) */
  .hero-tag {
    background: none; border: none; border-radius: 0; padding: 0;
    font-size: 11px; font-weight: 600; letter-spacing: 0.5px;
    color: var(--red); margin-bottom: 8px; gap: 6px;
    display: inline-flex; align-items: center;
  }
  .hero-tag-dot { width: 5px; height: 5px; border-radius: 50%; }
  /* H1: Bebas Neue 48px tracking:2px (узел 4:14 top:45px, 4:15 top:105px) */
  .hero-h1 { font-size: 48px; letter-spacing: 2px; line-height: 1; margin-bottom: 0; }
  /* Фичи: 13px lh:20px gap:12px (узлы 4:17 top:179px, 4:19 top:225px, 4:21 top:271px)
     left:42px => margin-left:22px относительно текста */
  .hero-feats { margin: 14px 0 20px; gap: 12px; padding-left: 22px; }
  .hero-feat { font-size: 13px; line-height: 20px; gap: 8px; }
  .hero-feat svg { width: 12px; height: 12px; flex-shrink: 0; }
  /* Кнопки: col, w:350px, h:50px r:25px и h:46px r:23px
     (узел 4:22 top:335px, 4:24 top:395px) */
  .hero-btns { flex-direction: column; gap: 10px; width: 100%; padding-left: 0; }
  .hero-btns .btn-red {
    width: 350px; max-width: 100%; height: 50px;
    border-radius: 25px; font-size: 14px; letter-spacing: 0.5px;
    align-self: center;
  }
  .hero-btns .btn-outline {
    width: 350px; max-width: 100%; height: 46px;
    border-radius: 23px; font-size: 14px; letter-spacing: 0.5px;
    align-self: center;
  }

  /* ── СТАТИСТИКА: h:88px bg:#111, 4 кол ── */
  .stats { border-top: 2px solid rgba(212,43,43,.2); }
  .stats-grid { grid-template-columns: repeat(4,1fr); max-width: 100%; }
  .stat { padding: 18px 0; }
  .stat:not(:last-child)::after { top: 16px; bottom: 16px; }
  .stat-n { font-size: 20px; letter-spacing: 0; margin-bottom: 2px; line-height: 1; }
  .stat-l { font-size: 9px; color: rgba(255,255,255,.42); letter-spacing: 0; line-height: 1.2; }
  .stat-line { width: 20px; height: 2px; margin-top: 5px; }

  /* ── ИНТЕРЕСНЫЕ ФАКТЫ: bg:#080808 ──
     Тег ● 11px, заголовки 24px, сетка 2×2
     Карточки 170×134/118px, border-left:3px red r:10px */
  .facts { background: var(--bg2); padding: 0; }
  /* ВАЖНО: отменяем десктопный padding wrap-outer (0 209px) */
  .facts .wrap-outer { padding: 0 !important; }
  .facts .wrap-inner { padding: 0 !important; }
  .facts-title { padding: 20px 20px 0 !important; }
  .sec-h2 { font-size: 24px; letter-spacing: 1.5px; margin-top: 4px; }
  .stag-dot {
    background: none; border: none; padding: 0;
    font-size: 11px; font-weight: 700; letter-spacing: 0.5px;
    gap: 6px; margin-bottom: 6px;
  }
  .stag-dot::before { width: 6px; height: 6px; border-radius: 50%; }
  .facts-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 8px; padding: 16px 20px 20px; margin-top: 0;
  }
  .fact-card {
    border-left: 3px solid var(--red);
    border-top: 0.8px solid rgba(212,43,43,0.2);
    border-right: 0.8px solid rgba(212,43,43,0.2);
    border-bottom: 0.8px solid rgba(212,43,43,0.2);
    border-radius: 0 10px 10px 0;
    padding: 10px 10px 10px 10px;
  }
  .fact-h { font-size: 24px; letter-spacing: 1.2px; margin-bottom: 6px; line-height: 1; }
  .fact-t { font-size: 10px; line-height: 16px; color: rgba(255,255,255,0.6); }

  /* ── НАШИ УСЛУГИ: bg:#0A0A0A ──
     Тег-линия 12px, H2 32px, карточки вертикально
     Иконка 44px r:10px, название 16px, описание 13px lh:22px
     Цена 15px, кнопка h:40px r:20px w:318px */
  .svc-prev { padding: 0; background: var(--bg); }
  .svc-prev .wrap-outer { padding: 0; }
  .svc-prev .wrap-inner { padding: 0 20px 20px; }
  .stag-line { margin-top: 20px; font-size: 12px; letter-spacing: 1.8px; }
  .stag-line::before { width: 40px; height: 2px; }
  .svc-prev .sec-h2 { font-size: 32px; letter-spacing: 1.5px; }
  .svc-grid { grid-template-columns: 1fr; gap: 17px; margin-top: 16px; }
  .svc-card {
    padding: 20px 16px;
    border: 0.8px solid rgba(255,255,255,0.06);
    border-radius: 14px;
  }
  .svc-ico { width: 44px; height: 44px; border-radius: 10px; border: 0.8px solid rgba(212,43,43,0.3); background: rgba(212,43,43,0.12); margin-bottom: 14px; }
  .svc-ico svg { width: 18px; height: 18px; }
  .svc-name { font-size: 16px; line-height: 1.4; }
  .svc-desc { font-size: 13px; line-height: 22px; }
  .svc-price { font-size: 15px; border-left: 2.4px solid var(--red); }
  .svc-card .btn-ghost {
    width: 318px; max-width: 100%; height: 40px;
    border-radius: 20px; border: 0.8px solid rgba(255,255,255,0.2);
    font-size: 13px; letter-spacing: 0.8px; align-self: center;
    display: flex;
  }
  .svc-more { margin-top: 16px; }
  .svc-more .btn-outline { height: 38px; font-size: 12px; width: 200px; }

  /* ── ДО И ПОСЛЕ: bg:#080808 ──
     Тег с двумя линиями 12px, H2 32px
     Фото: 171×180px */
  .ba { padding: 0; background: var(--bg2); }
  .ba .wrap-outer, .ba .wrap-inner { padding: 0; }
  .ba-title { padding: 20px 20px 0; }
  .stag-double { font-size: 12px; letter-spacing: 1.8px; gap: 20px; }
  .stag-double::before, .stag-double::after { width: 40px; height: 2px; }
  .ba-title .sec-h2 { font-size: 32px; letter-spacing: 1.5px; }
  .ba-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 8px; margin: 16px 20px 20px;
    border-radius: 0; overflow: hidden;
  }
  .ba-item { height: 180px; border-radius: 0; }
  .ba-cap { font-size: 12px; color: rgba(255,255,255,0.55); }

  /* ── ГАЛЕРЕЯ: bg:#0A0A0A ──
     Слайд w:224px, фото h:214px */
  .gallery { padding: 0; background: var(--bg); }
  .gal-hdr {
    padding: 20px 20px 0; margin-bottom: 14px;
    max-width: 100%; flex-direction: row;
    align-items: flex-start; justify-content: space-between;
  }
  .gal-hdr .stag-dot { margin-bottom: 4px; display: inline-flex; font-size: 11px; }
  .gal-hdr .sec-h2 { font-size: 32px; letter-spacing: 1.5px; margin-top: 4px; }
  .gal-wrap { padding: 0 20px; overflow: hidden; }
  .gal-slide { width: 224px; }
  .gal-img { height: 214px; }
  .gal-name { font-size: 14px; }
  .gal-type { font-size: 12px; }
  .gal-ctrl { margin-top: 18px; padding-bottom: 20px; }

  /* ── ОТЗЫВЫ: bg:#080808 ──
     Карточки h:192px border:0.8px r:14px вертикально
     Звёзды 13px, текст 13px lh:22px, имя 13px, авт 34×34px */
  .reviews { padding: 0; background: var(--bg2); }
  .reviews .wrap-outer { padding: 0; }
  .reviews .wrap-inner { padding: 0 20px 20px; }
  .reviews .stag-line { margin-top: 20px; }
  .reviews .sec-h2 { font-size: 32px; letter-spacing: 1.5px; }
  .rev-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 20px; }
  .rev-card { padding: 20px; border: 0.8px solid rgba(255,255,255,0.06); border-radius: 14px; }
  .rev-txt { font-size: 13px; line-height: 22px; }
  .rev-name { font-size: 13px; }
  .rev-car { font-size: 12px; }
  .rev-ava { width: 34px; height: 34px; border-radius: 17px; font-size: 13px; }

  /* ── КАЛЬКУЛЯТОР: bg:#080808 ──
     Блок border:0.8px r:20px mx:20px
     Кнопки класса h:36px r:18px w:152px (2×2)
     Кнопки элемента h:36px r:18px w:98px
     Получить h:48px r:24px w:314px */
  .calc-sec { padding: 0; background: var(--bg2); }
  .calc-sec .wrap-outer { padding: 0; }
  .calc-sec .wrap-inner { text-align: center; padding: 20px 0 0; }
  .calc-sec .stag-dot { font-size: 11px; letter-spacing: 1.8px; display: inline-flex; }
  .calc-sec .sec-h2 { font-size: 32px; letter-spacing: 1.5px; }
  .calc-box {
    max-width: none; margin: 20px 20px 0;
    padding: 18px; border-radius: 20px;
    border: 0.8px solid rgba(255,255,255,0.06);
  }
  .calc-num { width: 26px; height: 26px; border-radius: 13px; font-size: 12px; }
  .calc-lbl { font-size: 14px; }
  .calc-lbl.off { color: rgba(255,255,255,.42); }
  .calc-opts { gap: 8px; }
  .calc-opt { height: 36px; font-size: 13px; padding: 0 12px; border-radius: 18px; }
  .calc-price { font-size: 30px; }
  .calc-res { flex-direction: column; align-items: flex-start; }
  .calc-res .btn-red {
    width: 314px; max-width: 100%; height: 48px;
    font-size: 13px; letter-spacing: 1px;
    border-radius: 24px; align-self: center; padding: 0;
  }

  /* ── CTA: bg:#1A0A0A ──
     H2 30px, текст 13px lh:22px
     Кнопка h:48px r:24px w:350px */
  .cta-wrap { padding: 0 0 0; }
  .cta-inner {
    flex-direction: column; text-align: center;
    padding: 26px 20px 32px; margin: 0;
    border-radius: 0; border-left: none; border-right: none;
  }
  .cta-h { font-size: 30px; letter-spacing: 1.5px; }
  .cta-sub { font-size: 13px; line-height: 22px; max-width: 100%; margin: 0 auto 16px; }
  .cta-action .btn-red { width: 350px; max-width: 100%; height: 48px; font-size: 14px; letter-spacing: 0.5px; }

  /* ── ПОДВАЛ: bg:#060606 ──
     Лого 20px tracking:2.2px, описание 12px lh:18px
     2 кол НАВИГАЦИЯ + КОНТАКТЫ
     Заголовки 14px tracking:1.8px rgba(255,255,255,0.55)
     Ссылки 12px rgba(255,255,255,0.45) */
  .footer { background: #060606; padding-top: 24px; }
  .ftr-grid {
    grid-template-columns: 1fr 1fr;
    gap: 0; padding: 0 20px;
    max-width: 100%;
  }
  .ftr-grid > :first-child {
    grid-column: span 2; padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,0.07);
    margin-bottom: 20px;
  }
  .ftr-logo { margin-bottom: 10px; }
  .ftr-bar { width: 6px; height: 22px; border-radius: 2px; }
  .ftr-brand { font-size: 20px; letter-spacing: 2.2px; }
  .ftr-desc { font-size: 12px; line-height: 18px; max-width: 100%; }
  .ftr-col-h { font-size: 14px; letter-spacing: 1.8px; color: rgba(255,255,255,0.55); margin-bottom: 12px; }
  .ftr-links { padding-bottom: 20px; }
  .ftr-links a { font-size: 12px; color: rgba(255,255,255,0.45); line-height: 2; }
  .ftr-contacts { padding-bottom: 20px; }
  .ftr-contacts .ftr-ct { font-size: 12px; color: rgba(255,255,255,0.45); gap: 0; line-height: 2; }
  .ftr-contacts .ftr-ct svg { display: none; }
  .ftr-bot { padding: 17px 20px; flex-direction: column; align-items: flex-start; gap: 4px; }
  .ftr-copy { font-size: 11px; color: rgba(255,255,255,0.22); }

  /* ── HERO ПОДСТРАНИЦ ── */
  .pg-hero { padding: calc(var(--hh) + 32px) 20px 32px; display: block; }
  .pg-hero .wrap-outer { padding: 0; }
  .pg-hero .wrap-inner { width: 100%; }
  .pg-h1 { font-size: 40px; letter-spacing: 2px; }
  .pg-sub { font-size: 13px; line-height: 1.6; max-width: 100%; }

  /* ── СТРАНИЦА УСЛУГ ── */
  .svc-full-sec { padding: 0; }
  .svc-full-sec .wrap-outer, .svc-full-sec .wrap-inner { padding: 0 20px 20px; }
  .svc-full-grid { grid-template-columns: 1fr; gap: 16px; }
  .sfc { border: 0.8px solid rgba(255,255,255,0.06); }
  .sfc-img { height: 140px; }
  .sfc-body { padding: 16px; }
  .sfc-name { font-size: 16px; }
  .sfc-desc { font-size: 13px; line-height: 22px; }
  .sfc-feats { grid-template-columns: 1fr; gap: 6px; }
  .sfc-foot { flex-direction: column; align-items: flex-start; gap: 12px; }
  .sfc-foot .btn-red { width: 100%; height: 42px; font-size: 13px; }
  .how-sec { padding: 32px 0 40px; }
  .how-sec .wrap-outer { padding: 0; }
  .how-sec .wrap-inner { padding: 0 20px; }
  .how-grid { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 20px; }
  .how-card { padding: 16px 14px; }
  .how-num { font-size: 28px; margin-bottom: 8px; }
  .how-ttl { font-size: 11px; }
  .how-desc { font-size: 9px; }

  /* ── НАШИ РАБОТЫ ── */
  .works-sec { padding: 0; }
  .works-sec .wrap-outer { padding: 0; }
  .works-sec .wrap-inner { padding: 0 20px 40px; }
  .works-filters { gap: 8px; margin: 20px 0; padding-top: 10px; border-top: 1px solid var(--border); }
  .flt { height: 32px; padding: 0 14px; font-size: 12px; }
  .works-grid { grid-template-columns: repeat(2,1fr); gap: 10px; }
  .work { border-radius: 10px; }
  .work-img { height: 148px; }
  .work-info { padding: 8px 10px 10px; }
  .work-nm { font-size: 12px; }
  .work-tp { font-size: 10px; }
  .next-block { padding: 16px 20px; flex-direction: row; align-items: center; gap: 12px; border: 0.8px solid rgba(212,43,43,0.2); border-radius: 14px; margin-bottom: 40px; }
  .next-h { font-size: 18px; letter-spacing: 0.5px; line-height: 1.2; }
  .next-sub { font-size: 10px; }
  .next-block .btn-red { height: 36px; padding: 0 16px; font-size: 11px; white-space: nowrap; flex-shrink: 0; }

  /* ── ЗАЯВКА мобайл ──
     Узел 9:2: форма + почему мы 2×2 + контакты простой список */
  .order-sec { padding: 0; }
  .order-sec .wrap-outer { padding: 0; }
  .order-sec .wrap-inner { padding: 0 20px 40px; }
  .order-layout { grid-template-columns: 1fr; gap: 0; padding-top: 20px; }
  .order-form-wrap { border: none; border-radius: 0; padding: 0; background: transparent; }
  .order-form-ttl { font-size: 22px; margin-bottom: 4px; }
  .order-form-sub { font-size: 12px; margin-bottom: 20px; }
  .form-row-2 { grid-template-columns: 1fr; gap: 0; }
  .finput { height: 50px; border-radius: 8px; font-size: 14px; padding: 0 14px; }
  .fselect { height: 50px; border-radius: 8px; font-size: 14px; padding: 0 14px; background-position: right 14px center; }
  .ftextarea { height: 90px; font-size: 14px; }
  .fsubmit { height: 50px; border-radius: 25px; font-size: 14px; letter-spacing: 0.8px; }
  .fagree { font-size: 10px; }
  /* Почему мы: 2×2 с border-left:2.4px без иконок */
  .aside-card { background: transparent; border: none; border-radius: 0; padding: 0; margin-top: 32px; }
  .aside-h { font-size: 20px; letter-spacing: 1px; margin-bottom: 16px; }
  .why-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 12px; }
  .why-item { border-left: 2.4px solid var(--red); padding-left: 10px; gap: 0; flex-direction: column; align-items: flex-start; }
  .why-ico { display: none; }
  .why-ttl { font-size: 13px; font-weight: 600; margin-bottom: 4px; line-height: 1.3; }
  .why-sub { font-size: 11px; color: rgba(255,255,255,0.5); line-height: 1.5; }
  /* Контакты: простой список label+value */
  .ct-list { gap: 16px; }
  .ct-row { gap: 0; flex-direction: column; }
  .ct-ico { display: none; }
  .ct-lbl { font-size: 11px; color: rgba(255,255,255,0.45); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 2px; }
  .ct-val { font-size: 14px; font-weight: 500; }
  .status-badge { display: none; }

  /* ── FAQ ── */
  .faq-sec { padding: 0; }
  .faq-sec .wrap-outer { padding: 0; }
  .faq-sec .wrap-inner { padding: 0 20px 40px; }
  .faq-center { max-width: 100%; padding-top: 20px; }
  .faq-q { padding: 16px 0; }
  .faq-qtxt { font-size: 13px; line-height: 1.5; }
  .faq-arr { width: 26px; height: 26px; border-radius: 13px; }
  .faq-cta-block { flex-direction: column; align-items: flex-start; padding: 20px; }
  .faq-cta-block .btn-red { width: 100%; height: 48px; font-size: 13px; margin-top: 12px; }

  /* ── 404 ── */
  .p404-bg-txt { font-size: 150px; letter-spacing: 8px; }
  .p404-h1 { font-size: 52px; letter-spacing: 2px; }
  .p404-sub { font-size: 13px; max-width: 100%; }
  .p404-cards { grid-template-columns: 1fr; gap: 10px; }
  .p404-btns { flex-direction: column; width: 100%; align-items: center; }
  .p404-btns .btn-red, .p404-btns .btn-outline { width: 100%; max-width: 350px; }
}

@media (max-width: 480px) {
  .hero-btns .btn-red, .hero-btns .btn-outline { width: 100%; }
  .svc-card .btn-ghost { width: 100%; }
  .calc-res .btn-red { width: 100%; }
  .cta-action .btn-red { width: 100%; }
  .works-grid { grid-template-columns: 1fr; }
  .next-block { flex-direction: column; }
  .next-block .btn-red { width: 100%; }
  .why-list { grid-template-columns: 1fr; }
  .ftr-grid { grid-template-columns: 1fr; }
  .ftr-grid > :first-child { grid-column: span 1; }
}
/* Жёсткий фикс textarea комментария */
textarea.ftextarea {
  background: #1A1A1A !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border: 0.567px solid rgba(255,255,255,0.1) !important;
}

textarea.ftextarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
}

textarea.ftextarea:focus {
  background: #1A1A1A !important;
  color: #ffffff !important;
  border-color: rgba(212,43,43,0.5) !important;
}
.ftextarea {
  background: #1A1A1A !important;
  color: #fff !important;

  /* ВОТ ЭТО КЛЮЧЕВОЕ */
  appearance: none;
  -webkit-appearance: none;

  /* убирает системный стиль */
  box-shadow: none;
}
/* Финальный вид комментария как в макете */
textarea.ftextarea {
  display: block;
  width: 100%;
  min-height: 80.544px;
  height: 80.544px;
  max-height: 80.544px;

  background: rgba(255,255,255,0.04) !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;

  border: 0.567px solid rgba(255,255,255,0.1) !important;
  border-radius: 8.508px !important;

  padding: 9.926px 12.762px !important;
  margin: 0;

  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;

  outline: none;
  resize: none;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
  overflow: hidden;
}

textarea.ftextarea:focus {
  background: rgba(255,255,255,0.04) !important;
  border-color: rgba(212,43,43,0.5) !important;
}

textarea.ftextarea::placeholder {
  color: rgba(255,255,255,0.3) !important;
  font-size: 14px;
  line-height: 1.4;
}
/* ═══════════════════════════════════════
   БЛОК ГАРАНТИЙ И УСЛОВИЙ — services.html
═══════════════════════════════════════ */

.guarantee-sec {
  background: #080808;
  padding: 72px 0 80px;
}

.guarantee-sec .sec-h2 {
  word-break: keep-all;
  overflow-wrap: normal;
  hyphens: none;
}

.included-title,
.intake-title {
  hyphens: none;
  word-break: keep-all;
}

/* Сетка гарантийных карточек */
.guar-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 40px;
  margin-bottom: 56px;
}

.guar-card {
  background: #111;
  border: 1px solid rgba(255,255,255,0.06);
  border-top: 2px solid #D42B2B;
  border-radius: 8px;
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.guar-icon svg {
  width: 28px;
  height: 28px;
  opacity: 0.9;
}

.guar-months {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 38px;
  color: #D42B2B;
  letter-spacing: 1px;
  line-height: 1;
}

.guar-name {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  line-height: 1.3;
}

.guar-desc {
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
}

/* Что входит в стоимость */
.included-block {
  background: #111;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
  padding: 28px 28px;
  margin-bottom: 32px;
}

.included-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 20px;
  letter-spacing: 1.5px;
  color: #fff;
  margin-bottom: 20px;
  word-break: keep-all;
  overflow-wrap: normal;
}

.included-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 32px;
}

.included-item {
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 8px;
  font-family: 'Inter', sans-serif;
  font-size: 12.5px;
  color: rgba(255,255,255,0.72);
  line-height: 1.5;
  align-items: start;
}

.included-item svg {
  width: 14px;
  height: 14px;
  margin-top: 2px;
}

/* Условия приёма */
.intake-block {
  background: #0A0A0A;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 8px;
  padding: 32px 36px;
}

.intake-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 20px;
  letter-spacing: 1.5px;
  color: #fff;
  margin-bottom: 24px;
  word-break: keep-all;
  overflow-wrap: normal;
  white-space: normal;
}

.intake-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px 40px;
}

.intake-item {
  display: block;
  padding-left: 16px;
  border-left: 2px solid rgba(212,43,43,0.35);
}

.intake-num {
  display: block;
  font-family: 'Bebas Neue', sans-serif;
  font-size: 24px;
  color: #D42B2B;
  opacity: 0.7;
  line-height: 1;
  margin-bottom: 6px;
}

.intake-h {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 6px;
}

.intake-d {
  display: block;
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  color: rgba(255,255,255,0.5);
  line-height: 1.6;
  margin: 0;
}

/* ═══════════════════════════════════════
   МИНИ-ГАРАНТИИ В ФОРМЕ — order.html
═══════════════════════════════════════ */

.order-guarantees {
  background: rgba(212,43,43,0.06);
  border: 1px solid rgba(212,43,43,0.2);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.og-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  color: rgba(255,255,255,0.72);
  line-height: 1.4;
}

.og-item svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}

/* ── МОБИЛЬНАЯ АДАПТАЦИЯ ── */
@media (max-width: 768px) {

  /* Убираем десктопный padding у wrap-outer в секции гарантий */
  .guarantee-sec .wrap-outer { padding: 0 20px; }
  .guarantee-sec .wrap-inner { max-width: 100%; }

  /* Гарантийные карточки — 2x2 сетка */
  .guar-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 28px;
  }

  .guar-card {
    padding: 16px 14px;
  }

  .guar-months {
    font-size: 28px;
  }

  .guar-name {
    font-size: 12px;
  }

  .guar-desc {
    font-size: 10.5px;
    line-height: 1.5;
  }

  /* Включено */
  .included-block {
    padding: 18px 16px;
  }

  .included-title {
    font-size: 16px;
    margin-bottom: 14px;
  }

  .included-list {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .included-item {
    font-size: 12px;
    grid-template-columns: 14px 1fr;
    gap: 8px;
  }

  /* Условия приёма — 2x2 на мобилке */
  .intake-block {
    padding: 18px 14px;
  }

  .intake-title {
    font-size: 15px;
    letter-spacing: 0.5px;
    margin-bottom: 14px;
  }

  .intake-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px 12px;
  }

  .intake-item {
    padding-left: 8px;
    border-left-width: 2px;
  }

  .intake-num {
    font-size: 15px;
    margin-bottom: 3px;
  }

  .intake-h {
    font-size: 11.5px;
    font-weight: 600;
    margin-bottom: 4px;
  }

  .intake-d {
    font-size: 10px;
    line-height: 1.5;
  }

  /* Аргументы под калькулятором */
  .calc-trust {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .calc-trust-item {
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .guarantee-sec {
    padding: 40px 0 48px;
  }
}

/* ═══════════════════════════════════════
   АРГУМЕНТЫ ПОД КАЛЬКУЛЯТОРОМ — index.html
═══════════════════════════════════════ */

.calc-trust {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 24px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,0.07);
}

.calc-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.calc-trust-item svg {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  margin-top: 2px;
}

.calc-trust-h {
  font-family: 'Inter', sans-serif;
  font-size: 11.5px;
  font-weight: 600;
  color: #fff;
  margin-bottom: 2px;
}

.calc-trust-d {
  font-family: 'Inter', sans-serif;
  font-size: 10.5px;
  color: rgba(255,255,255,0.45);
  line-height: 1.4;
}

@media (max-width: 600px) {
  .calc-trust {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
