/* ══════════════════════════════════════════════════
   Метпромстрой — styles1.css
   Шрифты, переменные, базовые стили
   ══════════════════════════════════════════════════ */

@font-face {font-family:'Onest';font-style:normal;font-weight:100;src:url(../fonts/Onest-ExtraLight.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:200;src:url(../fonts/Onest-Thin.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:300;src:url(../fonts/Onest-Light.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:400;src:url(../fonts/Onest-Regular.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:500;src:url(../fonts/Onest-Medium.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:600;src:url(../fonts/Onest-SemiBold.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:700;src:url(../fonts/Onest-Bold.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:800;src:url(../fonts/Onest-ExtraBold.ttf) format('truetype');font-display:swap;}
@font-face {font-family:'Onest';font-style:normal;font-weight:900;src:url(../fonts/Onest-Black.ttf) format('truetype');font-display:swap;}

:root {
  --main-color: #00062C;       /* тёмно-синий — основной */
  --accent-color: #C8102E;     /* красный — акцент */
  --accent-hover: #91061A;     /* тёмно-красный — hover */
  --text-color: #373737;       /* основной текст */
  --text-light: #5F5F5F;       /* вторичный текст */
  --bg-grey: #F6F6F6;          /* светло-серый фон */
  --border-light: #E5E5E5;     /* тонкие границы */
  --white: #FFFFFF;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; max-width: 100%; }

body {
  font-family: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-color);
  background: var(--white);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s; }
a:hover { color: var(--accent-color); }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }

/* ── Контейнер ── */
.wrapG {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

/* ── Заголовки ── */
h1 {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--main-color);
  letter-spacing: -0.01em;
  margin: 0 0 1rem;
}
h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--main-color);
  letter-spacing: -0.005em;
  margin: 0 0 1rem;
}
h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--main-color);
  margin: 0 0 0.75rem;
}

/* ── Кнопки ── */
.buttn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  background: var(--accent-color);
  color: var(--white);
  font-weight: 600;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 2px solid var(--accent-color);
  transition: all 0.2s ease;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
}
.buttn:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(200,16,46,0.25);
}
.blkButtn {
  background: transparent;
  color: var(--main-color);
  border: 2px solid var(--main-color);
}
.blkButtn:hover {
  background: var(--main-color);
  color: var(--white);
  border-color: var(--main-color);
}

/* ── Секции — общие ── */
.txtSect { padding: 5rem 0; }
.txtSect .descr {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--text-light);
  margin-bottom: 1.25rem;
}
.txtSect .descr b { color: var(--main-color); font-weight: 600; }

.titleSect { padding: 4rem 0; }

/* Скрытое поле (honeypot) */
.hpField {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}
ts/Onest-Black.ttf) format('truetype');font-display:swap;}

:root {
  --main-color: #00062C;
  --accent-color: #C8102E;
  --accent-hover: #91061A;
  --text-color: #373737;
  --text-light: #5F5F5F;
  --bg-grey: #F6F6F6;
  --border-light: #E5E5E5;
  --white: #FFFFFF;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }
html, body { overflow-x: hidden; max-width: 100%; }

body {
  font-family: 'Onest', -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  color: var(--text-color);
  background: var(--white);
  margin: 0;
  padding: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; transition: color .2s; }
a:hover { color: var(--accent-color); }
button { font-family: inherit; cursor: pointer; border: none; background: none; }
ul, ol { list-style: none; margin: 0; padding: 0; }

.wrapG {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
}

h1 {
  font-size: 2.75rem;
  font-weight: 700;
  line-height: 1.15;
  color: var(--main-color);
  letter-spacing: -0.01em;
  margin: 0 0 1rem;
}
h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.2;
  color: var(--main-color);
  letter-spacing: -0.005em;
  margin: 0 0 1rem;
}
h3 {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--main-color);
  margin: 0 0 0.75rem;
}

.buttn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  background: var(--accent-color);
  color: var(--white);
  font-weight: 600;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  border: 2px solid var(--accent-color);
  transition: all 0.2s ease;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
}
.buttn:hover {
  background: var(--accent-hover);
  border-color: var(--accent-hover);
  color: var(--white);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(200,16,46,0.25);
}
.blkButtn {
  background: transparent;
  color: var(--main-color);
  border: 2px solid var(--main-color);
}
.blkButtn:hover {
  background: var(--main-color);
  color: var(--white);
  border-color: var(--main-color);
}

.txtSect { padding: 5rem 0; }
.txtSect .descr {
  font-size: 1.0625rem;
  line-height: 1.65;
  color: var(--text-light);
  margin-bottom: 1.25rem;
}
.txtSect .descr b { color: var(--main-color); font-weight: 600; }

.titleSect { padding: 4rem 0; }

.hpField {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

/* ══════════════════════════════════════════════════
   HEADER / НАВИГАЦИЯ
   ══════════════════════════════════════════════════ */

.headUnit {
  position: relative;
  background: var(--white);
  border-bottom: 1px solid var(--border-light);
}

header {
  position: relative;
  z-index: 10;
}

.header-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.header-line01 {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--border-light);
}

.header-line02 {
  padding: 1rem 0;
  flex-wrap: wrap;
  gap: 1.75rem;
}

.logo-block {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex-shrink: 0;
}
.logo {
  display: inline-block;
  max-width: 160px;
}
.logo img {
  height: 44px;
  width: auto;
}
.logo-txt {
  font-size: 0.75rem;
  color: var(--text-light);
  line-height: 1.3;
}

.telph-block {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.telph-block a,
.telph-block .clockIcon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  transition: color .2s;
}
.telph-block a:hover { color: var(--accent-color); }
.telph-block .iconFrame {
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
.telph-block .emaiLink .iconFrame { background-image: url(../images/header-mail-icon.svg); }
.telph-block .teleph .iconFrame { background-image: url(../images/header-phone-icon.svg); }
.telph-block .clockIcon .iconFrame { background-image: url(../images/header-clock-icon.svg); }

.headerButton {
  padding: 0.75rem 1.5rem;
  font-size: 0.85rem;
}

.header-line02 > a {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.5rem 0;
  transition: color .2s;
}
.header-line02 > a:hover { color: var(--accent-color); }

/* ── Выпадающий список ── */
.dropSel {
  position: relative;
  cursor: pointer;
}
.dropSel .tit {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.5rem 0;
  transition: color .2s;
  position: relative;
}
.dropSel .tit::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-3px);
  margin-left: 6px;
  transition: transform .2s;
}
.dropSel .tit.markStat::after {
  transform: rotate(-135deg) translateY(-3px);
}
.dropSel:hover .tit { color: var(--accent-color); }

.dropSel .options {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 320px;
  background: var(--white);
  box-shadow: 0 20px 40px rgba(0,6,44,0.12);
  border-top: 3px solid var(--accent-color);
  padding: 1rem 0;
  z-index: 20;
  display: none;
  transform-origin: left top;
  transform: scaleY(0);
  transition: transform .2s ease;
}
.dropSel .options a {
  display: block;
  padding: 0.6rem 1.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  transition: all .15s;
}
.dropSel .options a:hover {
  background: var(--bg-grey);
  color: var(--accent-color);
  padding-left: 1.75rem;
}

/* ── Бургер ── */
.burger {
  display: none;
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: relative;
  background: url(../images/burger.svg) no-repeat center;
  background-size: 28px 20px;
}

/* ── Мобильное меню ── */
.burgerMenu {
  display: none;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 320px;
  max-width: 90vw;
  background: var(--white);
  z-index: 100;
  padding: 5rem 1.5rem 2rem;
  overflow-y: auto;
  box-shadow: -10px 0 40px rgba(0,6,44,0.15);
}
.burgerMenu .clos {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 32px;
  height: 32px;
  cursor: pointer;
  background: url(../images/closBlack.svg) no-repeat center;
  background-size: 20px;
}
.burgerMenu .header-line02 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 0.75rem;
}
.burgerMenu .header-line02 > a,
.burgerMenu .dropSel { width: 100%; }
.burgerMenu .dropSel .options {
  position: static;
  box-shadow: none;
  min-width: auto;
  padding: 0.5rem 0 0.5rem 1rem;
  border-top: none;
  transform: none;
}
.burgerMenu .dropSel .options a {
  padding: 0.5rem 0;
  font-size: 0.85rem;
}
.burgerMenu .telph-block {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-light);
  width: 100%;
}
.burgerMenu .headerButton { width: 100%; }

/* ── Затемнение под мобильное меню ── */
.blur {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,6,44,0.65);
  z-index: 99;
  display: none;
}
}

.header-line01 {
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--border-light);
}

.header-line02 {
  padding: 1rem 0;
  flex-wrap: wrap;
  gap: 1.75rem;
}

.logo-block {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  flex-shrink: 0;
}
.logo {
  display: inline-block;
  max-width: 200px;
}
.logo img {
  height: 48px;
  width: auto;
}
.logo-txt {
  font-size: 0.75rem;
  color: var(--text-light);
  line-height: 1.3;
}

.telph-block {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.telph-block a,
.telph-block .clockIcon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  transition: color .2s;
}
.telph-block a:hover { color: var(--accent-color); }
.telph-block .iconFrame {
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
.telph-block .emaiLink .iconFrame { background-image: url(../images/header-mail-icon.svg); }
.telph-block .teleph .iconFrame { background-image: url(../images/header-phone-icon.svg); }
.telph-block .clockIcon .iconFrame { background-image: url(../images/header-clock-icon.svg); }

.headerButton {
  padding: 0.75rem 1.5rem;
  font-size: 0.85rem;
}

.header-line02 > a {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.5rem 0;
  transition: color .2s;
}
.header-line02 > a:hover { color: var(--accent-color); }

.dropSel {
  position: relative;
  cursor: pointer;
}
.dropSel .tit {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.5rem 0;
  transition: color .2s;
  position: relative;
}
.dropSel .tit::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-3px);
  margin-left: 6px;
  transition: transform .2s;
}
.dropSel .tit.markStat::after {
  transform: rotate(-135deg) translateY(-3px);
}
.dropSel:hover .tit { color: var(--accent-color); }

.dropSel .options {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 320px;
  background: var(--white);
  box-shadow: 0 20px 40px rgba(0,6,44,0.12);
  border-top: 3px solid var(--accent-color);
  padding: 1rem 0;
  z-index: 20;
  display: none;
  transform-origin: left top;
  transform: scaleY(0);
  transition: transform .2s ease;
}
.dropSel .options a {
  display: block;
  padding: 0.6rem 1.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  transition: all .15s;
}
.dropSel .options a:hover {
  background: var(--bg-grey);
  color: var(--accent-color);
  padding-left: 1.75rem;
}
}
.logo img {
  height: 48px;
  width: auto;
}
.logo-txt {
  font-size: 0.75rem;
  color: var(--text-light);
  line-height: 1.3;
}

.telph-block {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex-wrap: wrap;
}
.telph-block a,
.telph-block .clockIcon {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  transition: color .2s;
}
.telph-block a:hover { color: var(--accent-color); }
.telph-block .iconFrame {
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
.telph-block .emaiLink .iconFrame { background-image: url(../images/header-mail-icon.svg); }
.telph-block .teleph .iconFrame { background-image: url(../images/header-phone-icon.svg); }
.telph-block .clockIcon .iconFrame { background-image: url(../images/header-clock-icon.svg); }

.headerButton {
  padding: 0.75rem 1.5rem;
  font-size: 0.85rem;
}

.header-line02 > a {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.5rem 0;
  transition: color .2s;
}
.header-line02 > a:hover { color: var(--accent-color); }

.dropSel {
  position: relative;
  cursor: pointer;
}
.dropSel .tit {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--main-color);
  text-transform: uppercase;
  letter-spacing: 0.03em;
  padding: 0.5rem 0;
  transition: color .2s;
  position: relative;
}
.dropSel .tit::after {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-3px);
  margin-left: 6px;
  transition: transform .2s;
}
.dropSel .tit.markStat::after {
  transform: rotate(-135deg) translateY(-3px);
}
.dropSel:hover .tit { color: var(--accent-color); }

.dropSel .options {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  min-width: 320px;
  background: var(--white);
  box-shadow: 0 20px 40px rgba(0,6,44,0.12);
  border-top: 3px solid var(--accent-color);
  padding: 1rem 0;
  z-index: 20;
  display: none;
  transform-origin: left top;
  transform: scaleY(0);
  transition: transform .2s ease;
}
.dropSel .options a {
  display: block;
  padding: 0.6rem 1.5rem;
  font-size: 0.9rem;
  color: var(--text-color);
  transition: all .15s;
}
.dropSel .options a:hover {
  background: var(--bg-grey);
  color: var(--accent-color);
  padding-left: 1.75rem;
}

.burger {
  display: none;
  width: 40px;
  height: 40px;
  cursor: pointer;
  position: relative;
  background: url(../images/burger.svg) no-repeat center;
  background-size: 28px 20px;
}

.burgerMenu {
  display: none;
  flex-direction: column;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  width: 340px;
  max-width: 90vw;
  background: var(--white);
  z-index: 100;
  padding: 5rem 1.5rem 2rem;
  overflow-y: auto;
  box-shadow: -10px 0 40px rgba(0,6,44,0.15);
}
.burgerMenu .clos {
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  width: 32px;
  height: 32px;
  cursor: pointer;
  background: url(../images/closBlack.svg) no-repeat center;
  background-size: 20px;
}
.burgerMenu .header-line02 {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  gap: 0.75rem;
}
.burgerMenu .header-line02 > a,
.burgerMenu .dropSel { width: 100%; }
.burgerMenu .dropSel .options {
  position: static;
  box-shadow: none;
  min-width: auto;
  padding: 0.5rem 0 0.5rem 1rem;
  border-top: none;
  transform: none;
}
.burgerMenu .dropSel .options a {
  padding: 0.5rem 0;
  font-size: 0.85rem;
}
.burgerMenu .telph-block {
  flex-direction: column;
  align-items: flex-start;
  gap: 0.75rem;
  margin-top: 2rem;
  padding-top: 1.5rem;
  border-top: 1px solid var(--border-light);
  width: 100%;
}
.burgerMenu .headerButton { width: 100%; }

.blur {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,6,44,0.65);
  z-index: 99;
  display: none;
}

/* ══════════════════════════════════════════════════
   HERO-СЕКЦИЯ
   ══════════════════════════════════════════════════ */

.heroMetprom {
  padding: 4rem 0 5rem;
  background: linear-gradient(135deg, #F6F6F6 0%, #FFFFFF 100%);
}
.heroGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
}
.heroLeft { max-width: 640px; }
.heroLeft h1 {
  font-size: 3rem;
  line-height: 1.1;
  margin-bottom: 1.5rem;
}
.heroSub {
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  margin-bottom: 1.75rem;
}
.heroFeatures {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
  font-size: 1rem;
  color: var(--text-color);
  font-weight: 500;
}
.heroFeatures > div {
  padding-left: 1.75rem;
  position: relative;
  line-height: 1.4;
}
.heroFeatures > div::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--accent-color);
  font-weight: 700;
  font-size: 1.15rem;
}

/* ── Большой блок email ── */
.emailBlock {
  display: inline-flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.25rem 1.75rem;
  background: var(--white);
  border: 2px solid var(--main-color);
  cursor: pointer;
  transition: all .25s ease;
  margin-bottom: 1.75rem;
  max-width: 100%;
}
.emailBlock:hover {
  background: var(--main-color);
  border-color: var(--main-color);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,6,44,0.2);
}
.emailBlock:hover .emailLabel,
.emailBlock:hover .emailBig,
.emailBlock:hover .emailHint { color: var(--white); }
.emailBlock.copied {
  background: #329332;
  border-color: #329332;
}
.emailBlock.copied .emailLabel,
.emailBlock.copied .emailBig,
.emailBlock.copied .emailHint { color: var(--white); }

.emailLabel {
  font-size: 0.8rem;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.emailBig {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: -0.01em;
  word-break: break-all;
  transition: color .25s;
}
.emailHint {
  font-size: 0.75rem;
  color: var(--text-light);
  margin-top: 0.25rem;
  transition: color .25s;
}

.heroBtns {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.heroCardPlaceholder {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 20px 60px rgba(0,6,44,0.15);
}
.heroCardPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ══════════════════════════════════════════════════
   ABOUT-COMP (цифры)
   ══════════════════════════════════════════════════ */

.aboutComp {
  padding: 5rem 0;
  background: var(--white);
}
.aboutComp h2 {
  text-align: center;
  margin-bottom: 3rem;
}
.aboutComp .line1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.aboutComp .tale {
  padding: 2rem 1.5rem;
  background: var(--bg-grey);
  border-top: 3px solid var(--accent-color);
  text-align: center;
  transition: all .25s ease;
}
.aboutComp .tale:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,6,44,0.08);
}
.aboutComp .figur {
  font-size: 3rem;
  font-weight: 800;
  color: var(--main-color);
  line-height: 1;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}
.aboutComp .figur span {
  font-size: 0.55em;
  font-weight: 600;
  color: var(--accent-color);
  margin-left: 0.1em;
}
.aboutComp .descr {
  font-size: 0.95rem;
  color: var(--text-light);
  line-height: 1.4;
}

/* ── Расширенный текст о компании (ltmgroup txtSect) ── */
.ltmgroup.txtSect {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.ltmgroup.txtSect h2 { margin-bottom: 2rem; }
.ltmgroup.txtSect .descr {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-color);
  margin-bottom: 1.25rem;
  max-width: 1000px;
}
  font-size: 1.125rem;
  line-height: 1.6;
  color: var(--text-light);
  margin-bottom: 1.75rem;
}
.heroFeatures {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1.75rem;
  font-size: 1rem;
  color: var(--text-color);
  font-weight: 500;
}
.heroFeatures > div {
  padding-left: 1.75rem;
  position: relative;
  line-height: 1.4;
}
.heroFeatures > div::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--accent-color);
  font-weight: 700;
  font-size: 1.15rem;
}

.emailBlock {
  display: inline-flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.25rem 1.75rem;
  background: var(--white);
  border: 2px solid var(--main-color);
  cursor: pointer;
  transition: all .25s ease;
  margin-bottom: 1.75rem;
  max-width: 100%;
}
.emailBlock:hover {
  background: var(--main-color);
  border-color: var(--main-color);
  transform: translateY(-2px);
  box-shadow: 0 12px 30px rgba(0,6,44,0.2);
}
.emailBlock:hover .emailLabel,
.emailBlock:hover .emailBig,
.emailBlock:hover .emailHint { color: var(--white); }
.emailBlock.copied {
  background: #329332;
  border-color: #329332;
}
.emailBlock.copied .emailLabel,
.emailBlock.copied .emailBig,
.emailBlock.copied .emailHint { color: var(--white); }

.emailLabel {
  font-size: 0.8rem;
  color: var(--text-light);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 500;
}
.emailBig {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--main-color);
  letter-spacing: -0.01em;
  word-break: break-all;
  transition: color .25s;
}
.emailHint {
  font-size: 0.75rem;
  color: var(--text-light);
  margin-top: 0.25rem;
  transition: color .25s;
}

.heroBtns {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.heroCardPlaceholder {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
  border-radius: 6px;
  box-shadow: 0 20px 60px rgba(0,6,44,0.15);
}
.heroCardPlaceholder img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.aboutComp {
  padding: 5rem 0;
  background: var(--white);
}
.aboutComp h2 {
  text-align: center;
  margin-bottom: 3rem;
}
.aboutComp .line1 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.aboutComp .tale {
  padding: 2rem 1.5rem;
  background: var(--bg-grey);
  border-top: 3px solid var(--accent-color);
  text-align: center;
  transition: all .25s ease;
}
.aboutComp .tale:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 30px rgba(0,6,44,0.08);
}
.aboutComp .figur {
  font-size: 3rem;
  font-weight: 800;
  color: var(--main-color);
  line-height: 1;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}
.aboutComp .figur span {
  font-size: 0.55em;
  font-weight: 600;
  color: var(--accent-color);
  margin-left: 0.1em;
}
.aboutComp .descr {
  font-size: 0.95rem;
  color: var(--text-light);
  line-height: 1.4;
}

.ltmgroup.txtSect {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.ltmgroup.txtSect h2 { margin-bottom: 2rem; }
.ltmgroup.txtSect .descr {
  font-size: 1.0625rem;
  line-height: 1.7;
  color: var(--text-color);
  margin-bottom: 1.25rem;
  max-width: 1000px;
}

/* ══════════════════════════════════════════════════
   PRODUCTS-TEXT (продукция и услуги)
   ══════════════════════════════════════════════════ */

.productsTextSection {
  padding: 5rem 0;
  background: var(--white);
}
.productsTextSection h2 { margin-bottom: 1rem; }
.productsTextSection .subtitle {
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  line-height: 1.5;
  max-width: 900px;
}
.productsTextSection .pGroup { margin-bottom: 2.5rem; }
.productsTextSection .pGroup:last-child { margin-bottom: 0; }
.productsTextSection .pGroup h3 {
  font-size: 1.375rem;
  font-weight: 600;
  color: var(--main-color);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--accent-color);
  display: inline-block;
}
.productsTextSection .pList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.productsTextSection .pList li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text-light);
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-light);
}
.productsTextSection .pList li::before {
  content: "—";
  color: var(--accent-color);
  font-weight: 700;
  flex-shrink: 0;
}

/* ══════════════════════════════════════════════════
   INDUSTRIES (отрасли применения)
   ══════════════════════════════════════════════════ */

.industriesSection {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.industriesSection h2 { margin-bottom: 1rem; }
.industriesSection .geoDescr {
  font-size: 1.125rem;
  color: var(--text-light);
  line-height: 1.5;
  max-width: 900px;
  margin-bottom: 3rem;
}
.industryGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.industryCard {
  display: flex;
  flex-direction: column;
  background: var(--white);
  overflow: hidden;
  transition: all .3s ease;
  border: 1px solid var(--border-light);
}
.industryCard:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,6,44,0.12);
  border-color: var(--accent-color);
}
.industryImg {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--main-color);
}
.industryImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.industryCard:hover .industryImg img { transform: scale(1.06); }
.industryTit {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--main-color);
  padding: 1.25rem 1.25rem 0.5rem;
  line-height: 1.3;
}
.industryDescr {
  font-size: 0.9rem;
  color: var(--text-light);
  line-height: 1.5;
  padding: 0 1.25rem 1.25rem;
  flex-grow: 1;
}

/* ══════════════════════════════════════════════════
   EQUIPMENT (оборудование)
   ══════════════════════════════════════════════════ */

.equipmentSection {
  padding: 5rem 0;
  background: var(--white);
}
.equipmentSection h2 { margin-bottom: 1rem; }
.equipmentSub {
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  line-height: 1.5;
  max-width: 900px;
}
.equipmentGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.equipmentCategory {
  padding: 1.75rem 1.5rem;
  background: var(--bg-grey);
  border-top: 3px solid var(--main-color);
  transition: all .25s ease;
}
.equipmentCategory:hover {
  background: var(--white);
  border-top-color: var(--accent-color);
  box-shadow: 0 12px 30px rgba(0,6,44,0.1);
  transform: translateY(-3px);
}
.equipmentCategory h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.equipmentCategory ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.equipmentCategory li {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text-light);
  padding-left: 1rem;
  position: relative;
}
.equipmentCategory li::before {
  content: "▪";
  position: absolute;
  left: 0;
  color: var(--accent-color);
  font-weight: 700;
}
  color: var(--main-color);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--accent-color);
  display: inline-block;
}
.productsTextSection .pList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.productsTextSection .pList li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--text-light);
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border-light);
}
.productsTextSection .pList li::before {
  content: "—";
  color: var(--accent-color);
  font-weight: 700;
  flex-shrink: 0;
}

.industriesSection {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.industriesSection h2 { margin-bottom: 1rem; }
.industriesSection .geoDescr {
  font-size: 1.125rem;
  color: var(--text-light);
  line-height: 1.5;
  max-width: 900px;
  margin-bottom: 3rem;
}
.industryGrid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.5rem;
}
.industryCard {
  display: flex;
  flex-direction: column;
  background: var(--white);
  overflow: hidden;
  transition: all .3s ease;
  border: 1px solid var(--border-light);
}
.industryCard:hover {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px rgba(0,6,44,0.12);
  border-color: var(--accent-color);
}
.industryImg {
  aspect-ratio: 4/3;
  overflow: hidden;
  background: var(--main-color);
}
.industryImg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .4s ease;
}
.industryCard:hover .industryImg img { transform: scale(1.06); }
.industryTit {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--main-color);
  padding: 1.25rem 1.25rem 0.5rem;
  line-height: 1.3;
}
.industryDescr {
  font-size: 0.9rem;
  color: var(--text-light);
  line-height: 1.5;
  padding: 0 1.25rem 1.25rem;
  flex-grow: 1;
}

.equipmentSection {
  padding: 5rem 0;
  background: var(--white);
}
.equipmentSection h2 { margin-bottom: 1rem; }
.equipmentSub {
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  line-height: 1.5;
  max-width: 900px;
}
.equipmentGrid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
.equipmentCategory {
  padding: 1.75rem 1.5rem;
  background: var(--bg-grey);
  border-top: 3px solid var(--main-color);
  transition: all .25s ease;
}
.equipmentCategory:hover {
  background: var(--white);
  border-top-color: var(--accent-color);
  box-shadow: 0 12px 30px rgba(0,6,44,0.1);
  transform: translateY(-3px);
}
.equipmentCategory h3 {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.equipmentCategory ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.equipmentCategory li {
  font-size: 0.9rem;
  line-height: 1.5;
  color: var(--text-light);
  padding-left: 1rem;
  position: relative;
}
.equipmentCategory li::before {
  content: "▪";
  position: absolute;
  left: 0;
  color: var(--accent-color);
  font-weight: 700;
}

/* ══════════════════════════════════════════════════
   HOW WE WORK (как мы работаем)
   ══════════════════════════════════════════════════ */

.howWeWork {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.howWeWork h2 { margin-bottom: 3rem; text-align: center; }
.howWeWork .steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.howWeWork .step {
  padding: 2rem 1.75rem;
  background: var(--white);
  border-top: 3px solid var(--accent-color);
  position: relative;
  transition: all .25s ease;
}
.howWeWork .step:hover {
  transform: translateY(-4px);
  box-shadow: 0 15px 35px rgba(0,6,44,0.1);
}
.howWeWork .step .num {
  font-size: 3rem;
  font-weight: 800;
  color: #E5E5E5;
  line-height: 1;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}
.howWeWork .step .tit {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--main-color);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  letter-spacing: 0.02em;
}
.howWeWork .step .descr {
  font-size: 0.95rem;
  color: var(--text-light);
  line-height: 1.55;
}

/* ══════════════════════════════════════════════════
   QUALITY (контроль качества)
   ══════════════════════════════════════════════════ */

.qualitySection {
  padding: 5rem 0;
  background: var(--white);
}
.qualitySection h2 { margin-bottom: 1rem; }
.qualitySection .subtitle {
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  line-height: 1.5;
  max-width: 900px;
}
.qualitySection .qList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.qualitySection .qList li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-color);
  padding: 1rem 0;
  border-bottom: 1px solid var(--border-light);
}
.qualitySection .qList li::before {
  content: "✓";
  font-size: 1.15rem;
  color: var(--accent-color);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0.15em;
}
.qualitySection .standards {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 2px solid var(--border-light);
  font-size: 0.95rem;
  color: var(--text-light);
  font-style: italic;
}

/* ══════════════════════════════════════════════════
   CTA (заявка)
   ══════════════════════════════════════════════════ */

.ctaSection {
  padding: 5rem 0;
  background: var(--main-color);
  color: var(--white);
}
.ctaGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.ctaLeft h2 {
  color: var(--white);
  font-size: 2.25rem;
  margin-bottom: 1.25rem;
}
.ctaSub {
  font-size: 1.125rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.55;
  margin-bottom: 2rem;
}
.ctaAdvantages {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.ctaAdvantages > div {
  padding-left: 1.75rem;
  position: relative;
  font-size: 1.0625rem;
  color: var(--white);
  line-height: 1.4;
}
.ctaAdvantages > div::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #FFC845;
  font-weight: 700;
  font-size: 1.15rem;
}
.ctaContacts {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.ctaContactItem {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.0625rem;
}
.ctaContactLabel { color: rgba(255,255,255,0.7); }
.ctaContactItem a {
  color: var(--white);
  font-weight: 600;
  transition: color .2s;
}
.ctaContactItem a:hover { color: #FFC845; }
.ctaEmail { font-size: 1.15rem !important; }

.ctaRight {
  background: var(--white);
  padding: 2.5rem 2rem;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.ctaFormTit {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1.5rem;
  text-align: center;
}
.ctaForm input[type="text"],
.ctaForm input[type="tel"] {
  width: 100%;
  height: 56px;
  padding: 0 1rem;
  background: var(--white);
  font-family: inherit;
  font-size: 1rem;
  color: var(--text-color);
  border: 1px solid var(--border-light);
  margin-bottom: 1rem;
  transition: border-color .2s;
}
.ctaForm input:focus {
  outline: none;
  border-color: var(--accent-color);
}
.ctaForm .chkLab {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--text-light);
  margin-bottom: 1.25rem;
  cursor: pointer;
}
.ctaForm .chkLab a { color: var(--accent-color); text-decoration: underline; }
.ctaForm .agrChk {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--accent-color);
}
.ctaForm .finalBut {
  width: 100%;
  padding: 1.15rem;
  font-size: 1rem;
}
.ctaForm .formError {
  display: none;
  color: var(--accent-color);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}
.ctaForm .formError.vis { display: block; }
.ctaForm .formSuccess {
  text-align: center;
  padding: 1rem 0;
}
.ctaForm .formSuccess .okIcon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #329332;
  color: var(--white);
  font-size: 2rem;
  line-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1rem;
}
.ctaForm .formSuccess .tit {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 0.5rem;
}
.ctaForm .formSuccess p { color: var(--text-light); }

/* ══════════════════════════════════════════════════
   FAQ
   ══════════════════════════════════════════════════ */

.faqSection {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.faqSection h2 { margin-bottom: 3rem; text-align: center; }
.faqList {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.faqItem {
  background: var(--white);
  border-left: 3px solid var(--accent-color);
  transition: all .25s ease;
}
.faqItem.open {
  box-shadow: 0 12px 30px rgba(0,6,44,0.08);
}
.faqQ {
  padding: 1.5rem 1.75rem;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--main-color);
  cursor: pointer;
  position: relative;
  padding-right: 3.5rem;
  transition: color .2s;
}
.faqQ:hover { color: var(--accent-color); }
.faqQ::after {
  content: "+";
  position: absolute;
  right: 1.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.75rem;
  font-weight: 300;
  color: var(--accent-color);
  transition: transform .25s;
  line-height: 1;
}
.faqItem.open .faqQ::after { transform: translateY(-50%) rotate(45deg); }
.faqA {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-light);
  padding: 0 1.75rem;
}
.faqItem.open .faqA {
  max-height: 500px;
  padding: 0 1.75rem 1.5rem;
}
  box-shadow: 0 15px 35px rgba(0,6,44,0.1);
}
.howWeWork .step .num {
  font-size: 3rem;
  font-weight: 800;
  color: #E5E5E5;
  line-height: 1;
  margin-bottom: 0.75rem;
  letter-spacing: -0.02em;
}
.howWeWork .step .tit {
  font-weight: 700;
  font-size: 1.15rem;
  color: var(--main-color);
  text-transform: uppercase;
  margin-bottom: 0.75rem;
  letter-spacing: 0.02em;
}
.howWeWork .step .descr {
  font-size: 0.95rem;
  color: var(--text-light);
  line-height: 1.55;
}

.qualitySection {
  padding: 5rem 0;
  background: var(--white);
}
.qualitySection h2 { margin-bottom: 1rem; }
.qualitySection .subtitle {
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  line-height: 1.5;
  max-width: 900px;
}
.qualitySection .qList {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.qualitySection .qList li {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-color);
  padding: 1rem 0;
  border-bottom: 1px solid var(--border-light);
}
.qualitySection .qList li::before {
  content: "✓";
  font-size: 1.15rem;
  color: var(--accent-color);
  font-weight: 700;
  flex-shrink: 0;
  margin-top: 0.15em;
}
.qualitySection .standards {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 2px solid var(--border-light);
  font-size: 0.95rem;
  color: var(--text-light);
  font-style: italic;
}

.ctaSection {
  padding: 5rem 0;
  background: var(--main-color);
  color: var(--white);
}
.ctaGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: center;
}
.ctaLeft h2 {
  color: var(--white);
  font-size: 2.25rem;
  margin-bottom: 1.25rem;
}
.ctaSub {
  font-size: 1.125rem;
  color: rgba(255,255,255,0.85);
  line-height: 1.55;
  margin-bottom: 2rem;
}
.ctaAdvantages {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-bottom: 2rem;
}
.ctaAdvantages > div {
  padding-left: 1.75rem;
  position: relative;
  font-size: 1.0625rem;
  color: var(--white);
  line-height: 1.4;
}
.ctaAdvantages > div::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #FFC845;
  font-weight: 700;
  font-size: 1.15rem;
}
.ctaContacts {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,0.15);
}
.ctaContactItem {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.0625rem;
}
.ctaContactLabel { color: rgba(255,255,255,0.7); }
.ctaContactItem a {
  color: var(--white);
  font-weight: 600;
  transition: color .2s;
}
.ctaContactItem a:hover { color: #FFC845; }
.ctaEmail { font-size: 1.15rem !important; }

.ctaRight {
  background: var(--white);
  padding: 2.5rem 2rem;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.ctaFormTit {
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1.5rem;
  text-align: center;
}
.ctaForm input[type="text"],
.ctaForm input[type="tel"] {
  width: 100%;
  height: 56px;
  padding: 0 1rem;
  background: var(--white);
  font-family: inherit;
  font-size: 1rem;
  color: var(--text-color);
  border: 1px solid var(--border-light);
  margin-bottom: 1rem;
  transition: border-color .2s;
}
.ctaForm input:focus {
  outline: none;
  border-color: var(--accent-color);
}
.ctaForm .chkLab {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--text-light);
  margin-bottom: 1.25rem;
  cursor: pointer;
}
.ctaForm .chkLab a { color: var(--accent-color); text-decoration: underline; }
.ctaForm .agrChk {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--accent-color);
}
.ctaForm .finalBut {
  width: 100%;
  padding: 1.15rem;
  font-size: 1rem;
}
.ctaForm .formError {
  display: none;
  color: var(--accent-color);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}
.ctaForm .formError.vis { display: block; }
.ctaForm .formSuccess {
  text-align: center;
  padding: 1rem 0;
}
.ctaForm .formSuccess .okIcon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #329332;
  color: var(--white);
  font-size: 2rem;
  line-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1rem;
}
.ctaForm .formSuccess .tit {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 0.5rem;
}
.ctaForm .formSuccess p { color: var(--text-light); }

.faqSection {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.faqSection h2 { margin-bottom: 3rem; text-align: center; }
.faqList {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.faqItem {
  background: var(--white);
  border-left: 3px solid var(--accent-color);
  transition: all .25s ease;
}
.faqItem.open {
  box-shadow: 0 12px 30px rgba(0,6,44,0.08);
}
.faqQ {
  padding: 1.5rem 1.75rem;
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--main-color);
  cursor: pointer;
  position: relative;
  padding-right: 3.5rem;
  transition: color .2s;
}
.faqQ:hover { color: var(--accent-color); }
.faqQ::after {
  content: "+";
  position: absolute;
  right: 1.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 1.75rem;
  font-weight: 300;
  color: var(--accent-color);
  transition: transform .25s;
  line-height: 1;
}
.faqItem.open .faqQ::after { transform: translateY(-50%) rotate(45deg); }
.faqA {
  max-height: 0;
  overflow: hidden;
  transition: max-height .35s ease, padding .35s ease;
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-light);
  padding: 0 1.75rem;
}
.faqItem.open .faqA {
  max-height: 500px;
  padding: 0 1.75rem 1.5rem;
}

/* ══════════════════════════════════════════════════
   CERTIFICATES
   ══════════════════════════════════════════════════ */

.sertificates {
  padding: 5rem 0;
  background: var(--white);
}
.sertificates h2 { margin-bottom: 1rem; }
.sertificates .certsSub {
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  max-width: 900px;
  line-height: 1.5;
}
.sertificates .cont {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem;
}
.certPlaceholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.5rem;
  background: var(--bg-grey);
  border: 2px dashed var(--border-light);
  text-align: center;
  font-size: 0.9rem;
  color: var(--text-light);
  line-height: 1.4;
  transition: all .25s ease;
}
.certPlaceholder:hover {
  border-color: var(--accent-color);
  color: var(--accent-color);
}
.certPlaceholder .certIcon { font-size: 2rem; }
.sertificates .certsNote {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: var(--text-light);
  text-align: center;
  font-style: italic;
}

/* ══════════════════════════════════════════════════
   SEO-СЕКЦИЯ
   ══════════════════════════════════════════════════ */

.seoSection {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.seoSection h2 { margin-bottom: 3rem; text-align: center; }
.seoCols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
.seoCol h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--accent-color);
  display: inline-block;
}
.seoCol p {
  font-size: 0.975rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1rem;
}

/* ══════════════════════════════════════════════════
   BOTTOM FORM (нижняя форма)
   ══════════════════════════════════════════════════ */

.bottomFormSection {
  padding: 5rem 0;
  background: var(--white);
}
.bottomFormSection h2 {
  text-align: center;
  margin-bottom: 1rem;
}
.bottomFormSub {
  text-align: center;
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}
.bottomFormGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.bottomContacts {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.bcItem {
  padding-left: 1.5rem;
  border-left: 3px solid var(--accent-color);
}
.bcLabel {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-light);
  margin-bottom: 0.4rem;
  font-weight: 500;
}
.bcEmail {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--main-color);
  word-break: break-all;
  line-height: 1.25;
  transition: color .2s;
}
.bcEmail:hover { color: var(--accent-color); }
.bcHint {
  font-size: 0.8rem;
  color: var(--text-light);
  margin-top: 0.35rem;
}
.bcPhone {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--main-color);
  transition: color .2s;
}
.bcPhone:hover { color: var(--accent-color); }
.bcAddr {
  font-size: 1rem;
  color: var(--text-color);
  line-height: 1.5;
}
.bcTime {
  font-size: 1rem;
  color: var(--text-color);
}

.bottomForm {
  background: var(--bg-grey);
  padding: 2.5rem 2rem;
  border-top: 4px solid var(--accent-color);
}
.bfTit {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1.5rem;
  text-align: center;
}
.bottomForm input[type="text"],
.bottomForm input[type="tel"] {
  width: 100%;
  height: 56px;
  padding: 0 1rem;
  background: var(--white);
  font-family: inherit;
  font-size: 1rem;
  color: var(--text-color);
  border: 1px solid var(--border-light);
  margin-bottom: 1rem;
  transition: border-color .2s;
}
.bottomForm input:focus {
  outline: none;
  border-color: var(--accent-color);
}
.bottomForm .chkLab {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--text-light);
  margin-bottom: 1.25rem;
  cursor: pointer;
}
.bottomForm .chkLab a { color: var(--accent-color); text-decoration: underline; }
.bottomForm .agrChk {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--accent-color);
}
.bottomForm .finalBut {
  width: 100%;
  padding: 1.15rem;
  font-size: 1rem;
}
.bottomForm .formError {
  display: none;
  color: var(--accent-color);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}
.bottomForm .formError.vis { display: block; }
.bottomForm .formSuccess {
  text-align: center;
  padding: 1rem 0;
  flex-direction: column;
  align-items: center;
}
.bottomForm .formSuccess .okIcon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #329332;
  color: var(--white);
  font-size: 2rem;
  line-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1rem;
}
.bottomForm .formSuccess .tit {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 0.5rem;
}

/* ══════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════ */

#footer {
  background: var(--main-color);
  color: var(--white);
}
#footer .row1 {
  padding: 3rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
#footer .row1 .wrapG {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
#footer .colm {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
#footer .colm a {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.4;
  transition: color .2s;
}
#footer .colm a:hover { color: #FFC845; }
#footer .colm4 {
  gap: 1rem;
}
#footer .colm4 a.emaiLink,
#footer .colm4 a.teleph,
#footer .colm4 .clockIcon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.85);
}
#footer .colm4 .iconFrame {
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
#footer .colm4 .emaiLink .iconFrame { background-image: url(../images/footer-mail-icon.svg); }
#footer .colm4 .teleph .iconFrame { background-image: url(../images/footer-phone-icon.svg); }
#footer .colm4 .clockIcon .iconFrame { background-image: url(../images/footer-clock-icon.svg); }
#footer .colm4 .buttn {
  background: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--white);
  padding: 0.85rem 1.5rem;
  font-size: 0.85rem;
  text-align: center;
  justify-content: center;
}
#footer .row2 {
  padding: 1.5rem 0;
}
#footer .row2 .wrapG {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.6);
}
#footer .row2 a {
  color: rgba(255,255,255,0.7);
  transition: color .2s;
}
#footer .row2 a:hover { color: #FFC845; }

/* ══════════════════════════════════════════════════
   SCROLL-TO-TOP
   ══════════════════════════════════════════════════ */

.scrollTop {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--accent-color);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .3s ease;
  z-index: 90;
  cursor: pointer;
  border: none;
}
.scrollTop::before {
  content: "";
  width: 12px;
  height: 12px;
  border-left: 3px solid var(--white);
  border-top: 3px solid var(--white);
  transform: rotate(45deg) translate(2px, 2px);
}
.scrollTop:hover {
  background: var(--main-color);
  transform: translateY(-3px);
}
.scrollTop.vis {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
}
.certPlaceholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
  padding: 2.5rem 1.5rem;
  background: var(--bg-grey);
  border: 2px dashed var(--border-light);
  text-align: center;
  font-size: 0.9rem;
  color: var(--text-light);
  line-height: 1.4;
  transition: all .25s ease;
}
.certPlaceholder:hover {
  border-color: var(--accent-color);
  color: var(--accent-color);
}
.certPlaceholder .certIcon { font-size: 2rem; }
.sertificates .certsNote {
  margin-top: 2rem;
  font-size: 0.9rem;
  color: var(--text-light);
  text-align: center;
  font-style: italic;
}

.seoSection {
  padding: 5rem 0;
  background: var(--bg-grey);
}
.seoSection h2 { margin-bottom: 3rem; text-align: center; }
.seoCols {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5rem;
}
.seoCol h3 {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid var(--accent-color);
  display: inline-block;
}
.seoCol p {
  font-size: 0.975rem;
  line-height: 1.7;
  color: var(--text-light);
  margin-bottom: 1rem;
}

.bottomFormSection {
  padding: 5rem 0;
  background: var(--white);
}
.bottomFormSection h2 {
  text-align: center;
  margin-bottom: 1rem;
}
.bottomFormSub {
  text-align: center;
  font-size: 1.125rem;
  color: var(--text-light);
  margin-bottom: 3rem;
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}
.bottomFormGrid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4rem;
  align-items: start;
}
.bottomContacts {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
.bcItem {
  padding-left: 1.5rem;
  border-left: 3px solid var(--accent-color);
}
.bcLabel {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-light);
  margin-bottom: 0.4rem;
  font-weight: 500;
}
.bcEmail {
  display: block;
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--main-color);
  word-break: break-all;
  line-height: 1.25;
  transition: color .2s;
}
.bcEmail:hover { color: var(--accent-color); }
.bcHint {
  font-size: 0.8rem;
  color: var(--text-light);
  margin-top: 0.35rem;
}
.bcPhone {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--main-color);
  transition: color .2s;
}
.bcPhone:hover { color: var(--accent-color); }
.bcAddr {
  font-size: 1rem;
  color: var(--text-color);
  line-height: 1.5;
}
.bcTime {
  font-size: 1rem;
  color: var(--text-color);
}

.bottomForm {
  background: var(--bg-grey);
  padding: 2.5rem 2rem;
  border-top: 4px solid var(--accent-color);
}
.bfTit {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 1.5rem;
  text-align: center;
}
.bottomForm input[type="text"],
.bottomForm input[type="tel"] {
  width: 100%;
  height: 56px;
  padding: 0 1rem;
  background: var(--white);
  font-family: inherit;
  font-size: 1rem;
  color: var(--text-color);
  border: 1px solid var(--border-light);
  margin-bottom: 1rem;
  transition: border-color .2s;
}
.bottomForm input:focus {
  outline: none;
  border-color: var(--accent-color);
}
.bottomForm .chkLab {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.8rem;
  color: var(--text-light);
  margin-bottom: 1.25rem;
  cursor: pointer;
}
.bottomForm .chkLab a { color: var(--accent-color); text-decoration: underline; }
.bottomForm .agrChk {
  width: 16px;
  height: 16px;
  margin-top: 2px;
  flex-shrink: 0;
  accent-color: var(--accent-color);
}
.bottomForm .finalBut {
  width: 100%;
  padding: 1.15rem;
  font-size: 1rem;
}
.bottomForm .formError {
  display: none;
  color: var(--accent-color);
  font-size: 0.9rem;
  margin-bottom: 0.75rem;
}
.bottomForm .formError.vis { display: block; }
.bottomForm .formSuccess {
  text-align: center;
  padding: 1rem 0;
  flex-direction: column;
  align-items: center;
}
.bottomForm .formSuccess .okIcon {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #329332;
  color: var(--white);
  font-size: 2rem;
  line-height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 auto 1rem;
}
.bottomForm .formSuccess .tit {
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--main-color);
  margin-bottom: 0.5rem;
}

#footer {
  background: var(--main-color);
  color: var(--white);
}
#footer .row1 {
  padding: 3rem 0;
  border-bottom: 1px solid rgba(255,255,255,0.1);
}
#footer .row1 .wrapG {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
#footer .colm {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
#footer .colm a {
  font-size: 0.9rem;
  color: rgba(255,255,255,0.75);
  line-height: 1.4;
  transition: color .2s;
}
#footer .colm a:hover { color: #FFC845; }
#footer .colm4 {
  gap: 1rem;
}
#footer .colm4 a.emaiLink,
#footer .colm4 a.teleph,
#footer .colm4 .clockIcon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: rgba(255,255,255,0.85);
}
#footer .colm4 .iconFrame {
  width: 18px;
  height: 18px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  flex-shrink: 0;
}
#footer .colm4 .emaiLink .iconFrame { background-image: url(../images/footer-mail-icon.svg); }
#footer .colm4 .teleph .iconFrame { background-image: url(../images/footer-phone-icon.svg); }
#footer .colm4 .clockIcon .iconFrame { background-image: url(../images/footer-clock-icon.svg); }
#footer .colm4 .buttn {
  background: var(--accent-color);
  border-color: var(--accent-color);
  color: var(--white);
  padding: 0.85rem 1.5rem;
  font-size: 0.85rem;
  text-align: center;
  justify-content: center;
}
#footer .row2 {
  padding: 1.5rem 0;
}
#footer .row2 .wrapG {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  font-size: 0.85rem;
  color: rgba(255,255,255,0.6);
}
#footer .row2 a {
  color: rgba(255,255,255,0.7);
  transition: color .2s;
}
#footer .row2 a:hover { color: #FFC845; }

.scrollTop {
  position: fixed;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--accent-color);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all .3s ease;
  z-index: 90;
  cursor: pointer;
  border: none;
}
.scrollTop::before {
  content: "";
  width: 12px;
  height: 12px;
  border-left: 3px solid var(--white);
  border-top: 3px solid var(--white);
  transform: rotate(45deg) translate(2px, 2px);
}
.scrollTop:hover {
  background: var(--main-color);
  transform: translateY(-3px);
}
.scrollTop.vis {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

/* ══════════════════════════════════════════════════
   АДАПТИВ
   ══════════════════════════════════════════════════ */

@media (max-width: 1200px) {
  .header-line02 { gap: 1.25rem; }
  .header-line02 > a,
  .dropSel .tit { font-size: 0.82rem; }
  h1 { font-size: 2.5rem; }
  .heroLeft h1 { font-size: 2.5rem; }
  .industryGrid { grid-template-columns: repeat(3, 1fr); }
  .equipmentGrid { grid-template-columns: repeat(2, 1fr); }
  .aboutComp .line1 { grid-template-columns: repeat(4, 1fr); }
  .seoCols { grid-template-columns: repeat(3, 1fr); gap: 2rem; }
}

@media (max-width: 1024px) {
  h1 { font-size: 2.25rem; }
  h2 { font-size: 1.75rem; }
  .heroGrid { grid-template-columns: 1fr; gap: 2rem; }
  .heroLeft { max-width: 100%; }
  .heroLeft h1 { font-size: 2.25rem; }
  .heroCardPlaceholder { aspect-ratio: 16/10; }
  .industryGrid { grid-template-columns: repeat(2, 1fr); }
  .aboutComp .line1 { grid-template-columns: repeat(2, 1fr); }
  .howWeWork .steps { grid-template-columns: repeat(2, 1fr); }
  .ctaGrid { grid-template-columns: 1fr; gap: 2.5rem; }
  .bottomFormGrid { grid-template-columns: 1fr; gap: 2.5rem; }
  .seoCols { grid-template-columns: 1fr; gap: 2rem; }
  .sertificates .cont { grid-template-columns: repeat(2, 1fr); }
  #footer .row1 .wrapG { grid-template-columns: repeat(2, 1fr); }
  .header-line02 { display: none; }
  .burger { display: block; }
  .productsTextSection .pList { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .wrapG { padding: 0 16px; }
  .txtSect, .heroMetprom, .aboutComp, .productsTextSection,
  .industriesSection, .equipmentSection, .howWeWork, .qualitySection,
  .ctaSection, .faqSection, .sertificates, .seoSection,
  .bottomFormSection { padding: 3rem 0; }
  h1 { font-size: 1.9rem; }
  h2 { font-size: 1.5rem; }
  .heroLeft h1 { font-size: 1.9rem; }
  .heroSub { font-size: 1rem; }
  .emailBig { font-size: 1.2rem; }
  .emailBlock { padding: 1rem 1.25rem; }
  .aboutComp .figur { font-size: 2.25rem; }
  .industryGrid { grid-template-columns: 1fr; }
  .industryTit { font-size: 1rem; padding: 1rem 1rem 0.4rem; }
  .industryDescr { padding: 0 1rem 1rem; }
  .equipmentGrid { grid-template-columns: 1fr; }
  .howWeWork .steps { grid-template-columns: 1fr; }
  .ctaLeft h2 { font-size: 1.75rem; }
  .ctaRight { padding: 1.75rem 1.25rem; }
  .bottomForm { padding: 1.75rem 1.25rem; }
  .sertificates .cont { grid-template-columns: 1fr; }
  #footer .row1 .wrapG { grid-template-columns: 1fr; gap: 1.5rem; }
  #footer .row2 .wrapG { flex-direction: column; align-items: flex-start; text-align: left; }
  .faqQ { padding: 1.25rem 1.25rem; padding-right: 3rem; font-size: 1rem; }
  .faqQ::after { right: 1.25rem; }
  .faqA { padding: 0 1.25rem; }
  .faqItem.open .faqA { padding: 0 1.25rem 1.25rem; }
}

@media (max-width: 600px) {
  h1 { font-size: 1.6rem; }
  h2 { font-size: 1.35rem; }
  .heroLeft h1 { font-size: 1.6rem; }
  .heroSub { font-size: 0.95rem; }
  .heroFeatures { font-size: 0.9rem; }
  .heroBtns { flex-direction: column; }
  .heroBtns .buttn { width: 100%; }
  .emailBig { font-size: 1rem; word-break: break-word; }
  .emailLabel { font-size: 0.7rem; }
  .aboutComp .line1 { grid-template-columns: 1fr 1fr; gap: 0.75rem; }
  .aboutComp .tale { padding: 1.5rem 1rem; }
  .aboutComp .figur { font-size: 1.85rem; }
  .aboutComp .descr { font-size: 0.85rem; }
  .howWeWork .step { padding: 1.5rem 1.25rem; }
  .howWeWork .step .num { font-size: 2.25rem; }
  .ctaRight { padding: 1.5rem 1rem; }
  .ctaFormTit { font-size: 1.2rem; }
  .bottomForm { padding: 1.5rem 1rem; }
  .bfTit { font-size: 1.15rem; }
  .scrollTop { width: 42px; height: 42px; right: 0.75rem; bottom: 0.75rem; }
  #footer .colm a { font-size: 0.85rem; }
}

@media (max-width: 400px) {
  .wrapG { padding: 0 14px; }
  h1 { font-size: 1.4rem; }
  h2 { font-size: 1.2rem; }
  .heroLeft h1 { font-size: 1.4rem; }
  .aboutComp .figur { font-size: 1.5rem; }
  .emailBig { font-size: 0.9rem; }
  .bcEmail { font-size: 1.15rem; }
  .bcPhone { font-size: 1.1rem; }
}

/* ══════════════════════════════════════════════════
   ФИНАЛЬНЫЕ ФИКСЫ (мобильный overflow)
   ══════════════════════════════════════════════════ */

html, body { overflow-x: hidden; }
body { position: relative; }
.wrapG { max-width: 100%; }

/* Лайтбокс — z-index выше всего */
.lbOverlay { z-index: 9999; }
