/* ============================================================
   ДСК Д24 — Landing page design system (ЖБ сваи)
   Палитра снята с dskd24.ru: фирменный синий #2196e0, нейтральные
   серые #333/#555/#777 и глубокий тёмный #19191a.
   Фактура: зерно материала, без чертёжных сеток.
   Фон непрерывный: тёмные блоки повторяются вниз по странице,
   чтобы полотно не распадалось на «верх тёмный / низ светлый».
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Geologica:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&display=swap');

:root{
  /* фирменный синий ДСК Д24 */
  --brand-600:#2196e0;
  --brand-700:#1478bd;
  --brand-500:#5aaadf;
  --brand-100:#eff7fc;

  /* тёмная база */
  --base-950:#19191a;
  --base-900:#212325;
  --base-800:#2c2f32;
  --base-700:#3a3f44;

  --ink-900:#19191a;
  --ink-700:#333333;
  --ink-600:#555555;
  --ink-500:#777777;

  /* светлая база — холодные нейтрали, без стерильного белого полотна */
  --paper:#f7f8fa;
  --paper-soft:#edf1f5;
  --paper-dim:#e0e6ec;
  --card:#ffffff;
  --line:#dcdfe3;
  --line-soft:#e9ecef;
  --ok:#2f9e5b;

  --font-display:'Geologica', 'Inter', sans-serif;
  --font-body:'Inter', 'Geologica', sans-serif;

  --container:1240px;
  --radius:10px;
  --shadow-md:0 12px 32px -16px rgba(19,23,25,.22);
  --shadow-lg:0 24px 64px -24px rgba(19,23,25,.34);
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:auto;}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink-900);
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{margin:0;padding:0;list-style:none;}
button{font:inherit;cursor:pointer;}
h1,h2,h3,h4{
  font-family:var(--font-display);
  font-weight:700;
  margin:0;
  color:var(--base-950);
  letter-spacing:-.01em;
}
p{margin:0;}
.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 24px;
}
section{position:relative;}

/* ---------- utility ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;
  font-family:var(--font-display);
  font-weight:700;
  font-size:12.5px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--brand-700);
}
.eyebrow::before{
  content:"";width:22px;height:2px;background:var(--brand-700);display:block;flex:none;
}
.eyebrow.on-dark{color:#9a9a9c;}
.eyebrow.on-dark::before{background:var(--brand-600);}

.section-head{max-width:760px;margin-bottom:44px;}
.section-head h2{font-size:clamp(26px,3.4vw,40px);line-height:1.14;margin-top:14px;}
.section-head p{margin-top:16px;font-size:17px;color:var(--ink-600);line-height:1.6;}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center;}

.pad-xl{padding:104px 0;}
.pad-lg{padding:88px 0;}
.pad-md{padding:64px 0;}
@media (max-width:760px){
  .pad-xl{padding:64px 0;}
  .pad-lg{padding:56px 0;}
  .pad-md{padding:44px 0;}
}

.on-dark{background:var(--base-950);color:#c9c9cb;}
.on-dark h2,.on-dark h3,.on-dark h4{color:#fff;}
.on-dark .section-head p{color:#9a9a9c;}

.on-tint{background:var(--paper-soft);}

/* ---------- grain: фактура бетона вместо линий и сеток ----------
   Никакой геометрии — только зерно материала и мягкий свет сверху,
   чтобы плоскость не выглядела пустой заливкой. */
.grain{
  position:absolute;inset:0;pointer-events:none;overflow:hidden;
  background:radial-gradient(125% 78% at 74% -8%, rgba(255,255,255,.055), transparent 58%);
}
.grain::before{
  content:"";position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity:.2;mix-blend-mode:overlay;
}
/* светлые секции: то же зерно, но «в глубину» материала */
.grain.light{background:none;}
.grain.light::before{opacity:.34;mix-blend-mode:multiply;}

/* содержимое всегда над фактурой */
section .container{position:relative;z-index:1;}

/* ---------- B2B-маркер: работаем только с юрлицами ----------
   Ставится первым блоком на первом экране — квалифицирует аудиторию
   до того, как читатель дойдёт до заголовка. */
.b2b-badge{
  display:flex;align-items:flex-start;gap:14px;
  background:rgba(33,150,224,.13);
  border:1px solid rgba(33,150,224,.4);
  border-left:3px solid var(--brand-600);
  border-radius:12px;padding:14px 20px;margin:18px 0 22px;
  max-width:560px;
}
.b2b-badge svg{width:21px;height:21px;color:var(--brand-600);flex:none;margin-top:1px;}
.b2b-badge b{
  display:block;font-family:var(--font-display);font-weight:700;
  font-size:15px;color:#fff;letter-spacing:.005em;
}
.b2b-badge span{display:block;font-size:13px;color:#a9cae5;margin-top:4px;line-height:1.5;}
@media (max-width:560px){
  .b2b-badge{padding:13px 16px;}
  .b2b-badge b{font-size:14px;}
}

/* ---------- depth scale: шкала глубины на первом экране ----------
   Заодно сообщает главный параметр продукта — длину 5–28 м. */
.depth-scale{
  position:absolute;left:0;top:0;bottom:0;width:62px;
  padding:116px 0 92px;
  display:flex;flex-direction:column;
  pointer-events:none;z-index:2;
}
.ds-track{position:relative;flex:1;display:flex;flex-direction:column;justify-content:space-between;}
.ds-range{
  position:absolute;left:0;top:16.6%;bottom:0;width:2px;
  background:linear-gradient(180deg,var(--brand-600),rgba(33,150,224,.12));
}
.ds-tick{position:relative;height:1px;width:13px;background:rgba(255,255,255,.2);}
.ds-tick.on{width:25px;background:var(--brand-600);}
.ds-tick i{
  position:absolute;left:30px;top:-8px;font-style:normal;
  font-family:var(--font-display);font-weight:700;font-size:10.5px;
  letter-spacing:.07em;color:rgba(255,255,255,.32);white-space:nowrap;
}
.ds-tick.on i{color:var(--brand-600);}
.ds-caption{
  writing-mode:vertical-rl;transform:rotate(180deg);
  margin-top:16px;align-self:flex-start;
  font-family:var(--font-display);font-weight:700;font-size:9.5px;
  letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.28);
}
/* линейка занимает левое поле контейнера, контент сдвигается вправо */
@media (min-width:1280px){.hero-grid{padding-left:80px;}}
@media (max-width:1279px){.depth-scale{display:none;}}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  font-family:var(--font-display);font-weight:700;font-size:15px;
  letter-spacing:.01em;
  padding:16px 28px;border-radius:var(--radius);
  border:1.5px solid transparent;white-space:nowrap;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, border-color .15s ease, color .15s ease;
}
.btn svg{flex:none;}
.btn-primary{
  background:var(--brand-600);color:#fff;
  box-shadow:0 10px 24px -10px rgba(33,150,224,.42);
}
.btn-primary:hover{background:var(--brand-700);transform:translateY(-1px);}
.btn-secondary{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.45);
}
.btn-secondary:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-outline-navy{
  background:transparent;color:var(--base-950);border-color:var(--base-950);
}
.btn-outline-navy:hover{background:var(--base-950);color:#fff;}
.btn-block{width:100%;}
.btn-lg{padding:18px 32px;font-size:16px;}
.btn[disabled]{opacity:.6;pointer-events:none;}

/* ---------- top bar ---------- */
.topbar{
  background:var(--base-950);color:#9a9a9c;font-size:13px;
}
.topbar .container{
  display:flex;align-items:center;justify-content:space-between;
  padding-top:9px;padding-bottom:9px;gap:16px;flex-wrap:wrap;
}
.topbar-left{display:flex;align-items:center;gap:22px;flex-wrap:wrap;}
.topbar-left span{display:inline-flex;align-items:center;gap:7px;}
.topbar a{color:#cccccd;}
.topbar a:hover{color:#fff;}
.region-flag{
  display:inline-flex;align-items:center;gap:7px;
  color:#fff;font-weight:600;
  background:rgba(255,255,255,.08);
  padding:4px 10px 4px 8px;border-radius:20px;
}
.region-flag svg{width:13px;height:13px;color:var(--brand-600);}

@media (max-width:640px){
  .topbar .container{padding-top:8px;padding-bottom:8px;gap:8px;}
  .topbar .container > .topbar-left:last-child{display:none;}
  .topbar-left span:not(.region-flag){display:none;}
}

/* ---------- header ---------- */
header.site{
  position:sticky;top:0;z-index:60;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.4) blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header-inner{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:14px 0;
}
.brand{display:flex;align-items:center;gap:13px;flex:none;}
.brand-word,.brand-word small{white-space:nowrap;}
/* фирменный знак ДСК Д24 */
.brand-logo{width:auto;height:40px;flex:none;}
.brand-sub{
  font-family:var(--font-display);font-weight:700;font-size:10.5px;
  line-height:1.25;letter-spacing:.07em;text-transform:uppercase;
  color:var(--ink-500);padding-left:13px;border-left:1px solid var(--line);
  white-space:nowrap;
}
.footer-brand .brand-logo{height:46px;}
/* логотип свёрстан под светлый фон — на тёмном подкладываем плашку */
.on-dark-logo{
  background:#fff;padding:9px 13px;border-radius:8px;
}
@media (max-width:900px){.brand-sub{display:none;}}
.brand-mark{
  width:42px;height:42px;flex:none;border-radius:3px;
  background:var(--base-950);
  display:flex;align-items:center;justify-content:center;
}
.brand-mark svg{width:22px;height:22px;}
.brand-word{font-family:var(--font-display);font-weight:800;font-size:19px;letter-spacing:.01em;color:var(--base-950);line-height:1;}
.brand-word small{display:block;font-family:var(--font-body);font-weight:600;font-size:10.5px;letter-spacing:.09em;color:var(--ink-500);text-transform:uppercase;margin-top:4px;}

nav.main-nav{display:flex;align-items:center;gap:19px;flex:none;}
nav.main-nav a{
  font-size:14px;font-weight:600;color:var(--ink-700);
  padding:6px 0;border-bottom:2px solid transparent;
  white-space:nowrap;                 /* пункты меню не переносятся */
}
nav.main-nav a:hover{color:var(--base-950);border-color:var(--brand-700);}

.header-actions{display:flex;align-items:center;gap:10px;flex:none;}
.header-phone{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;white-space:nowrap;}
.header-phone a{font-family:var(--font-display);font-weight:700;font-size:15.5px;color:var(--base-950);}
.header-phone span{font-size:11.5px;color:var(--ink-500);}

.region-switch{
  display:inline-flex;background:var(--paper-dim);border-radius:22px;padding:3px;
  border:1px solid var(--line);
}
.region-switch a{
  font-size:12px;font-weight:700;padding:6px 11px;border-radius:18px;color:var(--ink-600);
  white-space:nowrap;
  transition:background .15s ease, color .15s ease;
}
.region-switch a.active{background:var(--base-950);color:#fff;}
.region-switch a:not(.active):hover{color:var(--base-950);}

.burger{display:none;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink-900);}
.burger svg{width:20px;height:20px;}

/* Порядок схлопывания шапки: сначала прячем телефон, потом меню,
   потом переключатель регионов — он остаётся в бургер-меню. */
@media (max-width:1300px){
  nav.main-nav{gap:18px;}
  .header-phone{display:none;}
}
@media (max-width:1120px){
  nav.main-nav{display:none;}
  .burger{display:flex;}
  .header-phone{display:flex;}
}
@media (max-width:820px){
  .header-phone{display:none;}
}
@media (max-width:560px){
  .header-actions .region-switch{display:none;}
}

/* mobile drawer */
.mobile-nav{
  position:fixed;inset:0;z-index:80;background:rgba(8,24,38,.55);
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.mobile-nav.open{opacity:1;pointer-events:auto;}
.mobile-nav-panel{
  position:absolute;top:0;right:0;height:100%;width:min(340px,86vw);
  background:var(--card);padding:22px;transform:translateX(100%);transition:transform .25s ease;
  display:flex;flex-direction:column;gap:4px;overflow-y:auto;
}
.mobile-nav.open .mobile-nav-panel{transform:translateX(0);}
.mobile-nav-close{align-self:flex-end;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;background:var(--card);color:var(--ink-900);margin-bottom:8px;}
.mobile-nav-panel a.nav-link{padding:13px 4px;font-weight:600;border-bottom:1px solid var(--line-soft);color:var(--ink-700);}
.mobile-nav-panel .region-switch{margin:16px 0;align-self:flex-start;}
.mobile-nav-panel .btn{margin-top:8px;}

/* ---------- hero ---------- */
.hero{
  position:relative;overflow:hidden;
  background:linear-gradient(180deg,var(--base-950) 0%,var(--base-900) 100%);
  color:#fff;
  padding:64px 0 0;
}
.hero-grid{
  display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center;
  padding-bottom:56px;
}
.hero-copy .region-flag{margin-bottom:22px;}
.hero h1{
  font-size:clamp(32px,4.4vw,54px);line-height:1.08;color:#fff;
  letter-spacing:-.015em;
}
.hero h1 em{
  font-style:normal;color:var(--brand-600);
}
.hero-lead{
  margin-top:22px;font-size:18px;line-height:1.62;color:#b4b4b6;max-width:560px;
}
.hero-cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px;}

.hero-facts{
  margin-top:44px;
  display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:rgba(255,255,255,.14);
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;overflow:hidden;
}
.hero-fact{background:rgba(255,255,255,.045);padding:18px 20px;}
.hero-fact-num{
  font-family:var(--font-display);font-weight:800;color:var(--brand-600);
  font-size:12px;letter-spacing:.06em;margin-bottom:8px;display:block;
}
.hero-fact h4{color:#fff;font-size:14.5px;font-weight:700;line-height:1.35;}
.hero-fact p{margin-top:6px;font-size:13px;color:#9a9a9c;line-height:1.5;}

.hero-media{position:relative;}
.hero-media-frame{
  position:relative;border-radius:14px;overflow:hidden;
  box-shadow:var(--shadow-lg);
  aspect-ratio:4/5;
}
.hero-media-frame img{width:100%;height:100%;object-fit:cover;}
.hero-media-frame::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(8,24,38,0) 40%,rgba(8,24,38,.82) 100%);
}
.hero-media-tag{
  position:absolute;left:20px;bottom:20px;z-index:2;
  color:#fff;font-family:var(--font-display);font-weight:700;font-size:13.5px;
  display:flex;align-items:center;gap:9px;
}
.hero-media-tag .dot{width:8px;height:8px;border-radius:50%;background:var(--brand-600);flex:none;}
.hero-media-badge{
  position:absolute;top:-18px;right:-18px;z-index:3;
  background:var(--brand-600);color:#fff;border-radius:4px;
  padding:16px 18px;box-shadow:var(--shadow-md);
  font-family:var(--font-display);
  width:168px;
}
.hero-media-badge b{display:block;font-size:26px;font-weight:800;line-height:1;}
.hero-media-badge span{display:block;font-size:11.5px;font-weight:600;margin-top:6px;line-height:1.35;opacity:.95;}

@media (max-width:980px){
  .hero-grid{grid-template-columns:1fr;padding-bottom:40px;}
  .hero-media{order:-1;max-width:420px;}
  .hero-media-badge{display:none;}
}
@media (max-width:560px){
  .hero-facts{grid-template-columns:1fr;}
}

/* specialisation strip — спокойная формулировка специализации */
.exclude-strip{
  background:var(--base-900);border-top:1px solid rgba(255,255,255,.08);
}
.exclude-strip .container{
  display:grid;grid-template-columns:repeat(3,1fr);gap:0;
}
.exclude-item{
  display:flex;align-items:flex-start;gap:13px;padding:22px 26px;
  border-left:1px solid rgba(255,255,255,.09);
}
.exclude-item:first-child{border-left:none;padding-left:0;}
.exclude-ico{
  flex:none;width:8px;height:8px;border-radius:1px;
  background:var(--brand-600);margin-top:6px;
}
.exclude-item strong{display:block;color:#fff;font-size:14.5px;font-weight:700;line-height:1.35;}
.exclude-item em{
  display:block;font-style:normal;margin-top:5px;
  color:#8e8e90;font-size:13px;line-height:1.5;
}
@media (max-width:820px){
  .exclude-strip .container{grid-template-columns:1fr;}
  .exclude-item{border-left:none;border-top:1px solid rgba(255,255,255,.09);padding:16px 0;}
  .exclude-item:first-child{border-top:none;}
}

/* ---------- product cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.product-card{
  position:relative;background:var(--card);border:1px solid var(--line-soft);
  border-radius:16px;overflow:hidden;display:flex;flex-direction:column;
  box-shadow:0 1px 2px rgba(25,25,26,.04), 0 8px 24px -18px rgba(25,25,26,.18);
  transition:box-shadow .22s ease, transform .22s ease, border-color .22s ease;
}
.product-card:hover{
  transform:translateY(-5px);border-color:rgba(33,150,224,.45);
  box-shadow:0 2px 4px rgba(25,25,26,.05), 0 26px 48px -26px rgba(25,25,26,.34);
}
/* тонкая фирменная линия проявляется на наведении */
.product-card::after{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:var(--brand-600);transform:scaleX(0);transform-origin:left;
  transition:transform .28s cubic-bezier(.4,0,.2,1);z-index:2;
}
.product-card:hover::after{transform:scaleX(1);}
.product-card-vis{
  position:relative;aspect-ratio:16/10;
  background:linear-gradient(150deg,#23262a 0%,var(--base-950) 62%);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.product-card-vis svg{width:60%;height:60%;transition:transform .35s cubic-bezier(.4,0,.2,1);}
.product-card:hover .product-card-vis svg{transform:scale(1.06);}
.product-card-body{padding:26px 26px 28px;display:flex;flex-direction:column;flex:1;}
.product-card-body .tag{
  display:inline-flex;align-self:flex-start;
  font-family:var(--font-display);font-weight:800;font-size:11px;letter-spacing:.1em;
  color:var(--brand-700);background:var(--brand-100);
  padding:5px 10px;border-radius:6px;text-transform:uppercase;
}
.product-card-body h3{font-size:23px;margin-top:14px;letter-spacing:-.02em;}
.product-card-body p{margin-top:10px;color:var(--ink-600);font-size:14.5px;line-height:1.62;}
.product-card-specs{
  margin-top:auto;padding-top:20px;display:flex;flex-wrap:wrap;gap:8px;
}
.spec-chip{
  font-size:12.5px;font-weight:600;color:var(--ink-700);
  background:var(--paper-soft);border:1px solid var(--line-soft);
  padding:7px 12px;border-radius:8px;
}
@media (max-width:900px){.product-grid{grid-template-columns:1fr;}}

/* ---------- spec table ---------- */
.spec-table-wrap{
  border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);
}
.spec-table-scroll{overflow-x:auto;}
table.spec-table{width:100%;border-collapse:collapse;min-width:640px;font-size:14.5px;}
table.spec-table thead th{
  background:var(--base-950);color:#fff;font-family:var(--font-display);
  font-weight:700;font-size:13px;letter-spacing:.02em;
  padding:15px 18px;text-align:left;white-space:nowrap;
}
table.spec-table thead th:first-child{position:sticky;left:0;background:var(--base-950);}
table.spec-table tbody td{
  padding:13px 18px;border-top:1px solid var(--line-soft);color:var(--ink-700);white-space:nowrap;
}
table.spec-table tbody td:first-child{
  font-weight:700;color:var(--base-950);position:sticky;left:0;background:var(--card);
  border-right:1px solid var(--line-soft);
}
table.spec-table tbody tr:nth-child(even) td{background:var(--paper-soft);}
table.spec-table tbody tr:nth-child(even) td:first-child{background:var(--paper-soft);}
table.spec-table tbody td.dash{color:var(--ink-500);}
.spec-note{
  display:flex;gap:12px;align-items:flex-start;
  padding:18px 20px;background:var(--paper-soft);border-top:1px solid var(--line);
  font-size:13.5px;color:var(--ink-600);line-height:1.55;
}
.spec-note svg{flex:none;width:18px;height:18px;color:var(--brand-700);margin-top:1px;}

/* ---------- compliance / production feature list ---------- */
.feature-split{display:grid;grid-template-columns:.92fr 1.08fr;gap:64px;align-items:start;}
.feature-list{display:flex;flex-direction:column;gap:0;}
.feature-item{display:flex;gap:18px;padding:24px 0;border-top:1px solid var(--line);}
.feature-item:first-child{border-top:none;}
.feature-ico{
  flex:none;width:46px;height:46px;border-radius:12px;background:var(--base-950);
  display:flex;align-items:center;justify-content:center;
}
.feature-ico svg{width:22px;height:22px;color:#fff;}
.feature-item h4{font-size:16.5px;}
.feature-item p{margin-top:7px;color:var(--ink-600);font-size:14.5px;line-height:1.6;}
.feature-media{position:relative;}
.feature-media-grid{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:14px;height:560px;}
.fm-a{grid-row:1/3;}
.feature-media-grid img{width:100%;height:100%;object-fit:cover;border-radius:14px;}
.feature-media-tag{
  position:absolute;left:20px;top:20px;background:var(--card);padding:9px 14px;border-radius:10px;
  font-family:var(--font-display);font-weight:700;font-size:13px;box-shadow:var(--shadow-md);
  display:flex;align-items:center;gap:8px;color:var(--base-950);
}
.feature-media-tag .dot{width:7px;height:7px;border-radius:50%;background:var(--ok);}
@media (max-width:980px){
  .feature-split{grid-template-columns:1fr;gap:36px;}
  .feature-media-grid{height:auto;grid-template-columns:1fr 1fr;grid-template-rows:220px;}
}
@media (max-width:560px){
  .feature-media-grid{grid-template-columns:1fr;grid-template-rows:auto;}
  .fm-a{grid-row:auto;}
}

/* ---------- stats strip ----------
   Тёмная полоса в середине страницы: возвращает тёмный тон вниз по
   полотну, чтобы страница не делилась на «тёмный верх / светлый низ». */
.stats-band{position:relative;background:var(--base-950);}
.stats-strip{
  display:grid;grid-template-columns:repeat(4,1fr);
}
.stat{padding:38px 26px;border-left:1px solid rgba(255,255,255,.11);}
.stat:first-child{border-left:none;padding-left:0;}
.stat b{
  font-family:var(--font-display);font-weight:800;font-size:clamp(26px,3vw,36px);
  color:#fff;display:block;line-height:1;
}
.stat b span{color:var(--brand-600);}
.stat p{margin-top:9px;font-size:13.5px;color:#9a9a9c;line-height:1.5;}
@media (max-width:860px){
  .stats-strip{grid-template-columns:1fr 1fr;}
  .stat:nth-child(3){border-left:none;padding-left:0;}
}
@media (max-width:520px){
  .stats-strip{grid-template-columns:1fr;}
  .stat{border-left:none;border-top:1px solid rgba(255,255,255,.11);padding-left:0;}
  .stat:first-child{border-top:none;}
}

/* ---------- logistics / region ---------- */
.logi-wrap{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);border-radius:16px;overflow:hidden;}
.logi-media{position:relative;min-height:420px;}
.logi-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;}
.logi-copy{padding:48px;background:var(--card);}
.logi-copy .eyebrow{margin-bottom:14px;}
.logi-copy h2{font-size:clamp(24px,2.6vw,32px);line-height:1.16;}
.logi-copy p.lede{margin-top:16px;color:var(--ink-600);font-size:15.5px;line-height:1.65;}
.logi-facts{margin-top:26px;display:flex;flex-direction:column;gap:16px;}
.logi-fact{display:flex;gap:14px;}
.logi-fact svg{flex:none;width:20px;height:20px;color:var(--brand-700);margin-top:2px;}
.logi-fact h5{font-size:14.5px;font-weight:700;color:var(--base-950);}
.logi-fact p{margin-top:4px;font-size:13.8px;color:var(--ink-600);line-height:1.55;}
@media (max-width:900px){
  .logi-wrap{grid-template-columns:1fr;}
  .logi-media{min-height:280px;}
  .logi-copy{padding:32px 24px;}
}

/* ---------- objects / who we serve ---------- */
.object-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.object-card{
  position:relative;overflow:hidden;
  border:1px solid var(--line-soft);border-radius:16px;
  padding:28px 24px 30px;background:var(--card);
  box-shadow:0 1px 2px rgba(25,25,26,.04);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.object-card:hover{
  border-color:rgba(33,150,224,.45);transform:translateY(-4px);
  box-shadow:0 22px 40px -24px rgba(25,25,26,.32);
}
/* крупная цифра как графический элемент, а не подпись */
.object-card .num{
  font-family:var(--font-display);font-weight:800;font-size:64px;line-height:1;
  color:transparent;-webkit-text-stroke:1.5px var(--line);
  position:absolute;right:14px;top:8px;pointer-events:none;
  transition:-webkit-text-stroke-color .2s ease;
}
.object-card:hover .num{-webkit-text-stroke-color:rgba(33,150,224,.4);}
.object-card h4{margin-top:34px;font-size:16.5px;line-height:1.32;letter-spacing:-.01em;}
.object-card p{margin-top:9px;font-size:13.5px;color:var(--ink-600);line-height:1.58;}
@media (max-width:980px){.object-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.object-grid{grid-template-columns:1fr;}}

/* ---------- scope of work — зона ответственности (спокойная подача) ---------- */
.scope-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto repeat(4,auto);column-gap:22px;row-gap:0;align-items:stretch;}
.scope-col{
  grid-row:1 / span 5;display:grid;grid-template-rows:subgrid;
  border:1px solid rgba(255,255,255,.12);border-radius:16px;
  padding:30px 30px 34px;background:rgba(255,255,255,.028);
}
.scope-col.is-in{
  border-color:rgba(33,150,224,.34);
  background:linear-gradient(180deg,rgba(33,150,224,.07),rgba(33,150,224,.02));
}
.scope-head{
  display:flex;align-items:center;gap:12px;
  padding-bottom:20px;margin-bottom:6px;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.scope-head h3{font-size:17px;color:#fff;letter-spacing:-.005em;}
.scope-chip{
  font-family:var(--font-display);font-weight:800;font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;padding:5px 10px;border-radius:5px;flex:none;
}
.scope-col.is-in .scope-chip{background:var(--brand-600);color:#fff;}
.scope-col.is-out .scope-chip{background:rgba(255,255,255,.1);color:#a8a8aa;}
.scope-item{padding:19px 0;border-top:1px solid rgba(255,255,255,.08);}
.scope-item:first-of-type{border-top:none;}
.scope-item-top{display:flex;align-items:center;gap:14px;}
.scope-mark{flex:none;width:20px;height:20px;display:flex;align-items:center;justify-content:center;}
.scope-mark svg{width:100%;height:100%;}
.scope-col.is-in .scope-mark{color:var(--brand-600);}
.scope-col.is-out .scope-mark{color:#6c6c6e;}
.scope-item h5{font-family:var(--font-display);font-size:15px;font-weight:700;color:#fff;line-height:1.35;}
.scope-item p{margin-top:6px;margin-left:34px;font-size:13.6px;color:#949496;line-height:1.6;}
.scope-note{
  margin-top:26px;display:flex;gap:14px;align-items:flex-start;
  padding:20px 24px;border-radius:12px;
  background:rgba(255,255,255,.04);border-left:2px solid var(--brand-600);
}
.scope-note svg{flex:none;width:19px;height:19px;color:var(--brand-600);margin-top:1px;}
.scope-note p{font-size:14px;color:#b4b4b6;line-height:1.62;}
@media (max-width:900px){.scope-grid{grid-template-columns:1fr;}}

/* ---------- process ---------- */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;position:relative;}
.process-step{
  position:relative;padding:28px 24px 30px;
  background:var(--card);border:1px solid var(--line-soft);border-radius:16px;
  box-shadow:0 1px 2px rgba(25,25,26,.04);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.process-step:hover{
  transform:translateY(-4px);border-color:rgba(33,150,224,.45);
  box-shadow:0 22px 40px -24px rgba(25,25,26,.3);
}
/* соединители между шагами */
.process-step:not(:last-child)::after{
  content:"";position:absolute;top:52px;left:calc(100% + 1px);width:14px;height:1px;
  background:repeating-linear-gradient(90deg,var(--line) 0 5px,transparent 5px 9px);
  z-index:1;
}
.process-num{
  width:44px;height:44px;border-radius:12px;
  background:var(--base-950);border:none;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:800;font-size:16px;color:#fff;
  margin-bottom:20px;
  transition:background .2s ease;
}
.process-step:hover .process-num{background:var(--brand-600);}
.process-step h4{font-size:16.5px;line-height:1.32;letter-spacing:-.01em;}
.process-step p{margin-top:9px;font-size:13.8px;color:var(--ink-600);line-height:1.58;}
@media (max-width:900px){
  .process-grid{grid-template-columns:1fr 1fr;}
  .process-step:not(:last-child)::after{display:none;}
}
@media (max-width:560px){.process-grid{grid-template-columns:1fr;}}

/* ---------- gallery ---------- */
.gallery-grid{
  display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:12px;
}
.gallery-grid figure{
  margin:0;position:relative;overflow:hidden;border-radius:14px;cursor:zoom-in;
}
.gallery-grid figure img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.gallery-grid figure:hover img{transform:scale(1.06);}
.gallery-grid figure figcaption{
  position:absolute;left:0;right:0;bottom:0;padding:14px 16px;
  background:linear-gradient(0deg,rgba(8,24,38,.85),rgba(8,24,38,0));
  color:#fff;font-size:12.5px;font-weight:600;opacity:0;transition:opacity .2s ease;
}
.gallery-grid figure:hover figcaption{opacity:1;}
.g-big{grid-column:span 2;grid-row:span 2;}
@media (max-width:900px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}
  .g-big{grid-column:span 2;grid-row:span 2;}
}
@media (max-width:520px){
  .gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:130px;}
  .g-big{grid-column:span 2;grid-row:span 1;}
}

.lightbox{
  position:fixed;inset:0;background:rgba(8,20,32,.94);z-index:100;
  display:flex;align-items:center;justify-content:center;padding:5vh 5vw;
  opacity:0;pointer-events:none;transition:opacity .2s ease;
}
.lightbox.open{opacity:1;pointer-events:auto;}
.lightbox img{max-width:100%;max-height:88vh;border-radius:14px;box-shadow:var(--shadow-lg);}
.lightbox-close{
  position:absolute;top:24px;right:28px;width:44px;height:44px;border-radius:50%;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;
  display:flex;align-items:center;justify-content:center;
}
.lightbox-close svg{width:18px;height:18px;}

/* ---------- FAQ ---------- */
.faq-list{max-width:840px;margin:0 auto;}
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-q{
  width:100%;text-align:left;background:none;border:none;padding:22px 4px;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.faq-q h4{font-size:16px;font-weight:700;color:var(--base-950);}
.faq-q .plus{
  flex:none;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line);
  position:relative;transition:transform .2s ease, border-color .2s ease;
}
.faq-q .plus::before,.faq-q .plus::after{
  content:"";position:absolute;background:var(--base-950);left:50%;top:50%;transform:translate(-50%,-50%);
}
.faq-q .plus::before{width:11px;height:1.6px;}
.faq-q .plus::after{width:1.6px;height:11px;transition:opacity .2s ease;}
.faq-item.open .faq-q .plus{border-color:var(--brand-700);transform:rotate(180deg);}
.faq-item.open .faq-q .plus::after{opacity:0;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;}
.faq-a-inner{padding:0 32px 24px 4px;color:var(--ink-600);font-size:14.8px;line-height:1.68;}

/* ---------- CTA / form ---------- */
.cta-section{position:relative;overflow:hidden;background:var(--base-950);color:#fff;}
.cta-wrap{display:grid;grid-template-columns:.86fr 1.14fr;gap:60px;align-items:start;}
.cta-copy .eyebrow{margin-bottom:16px;}
.cta-copy h2{color:#fff;font-size:clamp(26px,3vw,36px);line-height:1.16;}
.cta-copy p{margin-top:18px;color:#9a9a9c;font-size:15.5px;line-height:1.68;max-width:440px;}
.cta-points{margin-top:30px;display:flex;flex-direction:column;gap:14px;}
.cta-point{display:flex;gap:12px;align-items:flex-start;}
.cta-point svg{flex:none;width:19px;height:19px;color:var(--brand-600);margin-top:2px;}
.cta-point span{font-size:14px;color:#c9c9cb;line-height:1.5;}
.cta-contact-inline{margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.14);}
.cta-contact-inline a{font-family:var(--font-display);font-weight:800;font-size:24px;color:#fff;}
.cta-contact-inline p{margin-top:6px;color:#7f92a3;font-size:13.5px;}

.form-card{
  background:var(--card);border-radius:6px;padding:38px;color:var(--ink-900);box-shadow:var(--shadow-lg);
}
.form-tabs{display:flex;gap:10px;margin-bottom:26px;}
.form-tab{
  flex:1;text-align:center;padding:13px 10px;border-radius:10px;border:1.5px solid var(--line);
  font-weight:700;font-size:13.5px;color:var(--ink-600);background:var(--card);
}
.form-tab.active{border-color:var(--base-950);background:var(--base-950);color:#fff;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.field{display:flex;flex-direction:column;gap:7px;}
.field.full{grid-column:1/-1;}
.field label{font-size:12.5px;font-weight:700;color:var(--ink-600);text-transform:uppercase;letter-spacing:.03em;}
.field input,.field textarea{
  border:1.5px solid var(--line);border-radius:10px;padding:13px 14px;font-family:var(--font-body);
  font-size:14.5px;color:var(--ink-900);background:var(--paper-soft);transition:border-color .15s ease, background .15s ease;
}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--brand-700);background:var(--card);}
.field textarea{resize:vertical;min-height:88px;}
.file-drop{
  border:1.5px dashed var(--line);border-radius:12px;padding:18px;display:flex;align-items:center;gap:14px;
  background:var(--paper-soft);cursor:pointer;transition:border-color .15s ease, background .15s ease;
}
.file-drop:hover{border-color:var(--brand-700);background:var(--paper-soft);}
.file-drop svg{flex:none;width:24px;height:24px;color:var(--brand-700);}
.file-drop-text b{display:block;font-size:13.5px;color:var(--base-950);}
.file-drop-text span{font-size:12px;color:var(--ink-500);}
.file-drop input[type=file]{display:none;}
.file-name{margin-top:6px;font-size:12.5px;color:var(--ok);font-weight:600;}
.consent-row{display:flex;gap:10px;align-items:flex-start;margin-top:6px;}
.consent-row input{margin-top:3px;flex:none;}
.consent-row label{font-size:12.5px;color:var(--ink-500);line-height:1.55;}
.form-foot-note{
  margin-top:6px;font-size:12px;color:var(--ink-500);line-height:1.5;
  padding-top:14px;border-top:1px solid var(--line-soft);
}
.form-success{
  display:none;text-align:center;padding:40px 10px;
}
.form-success.show{display:block;}
.form-success svg{width:52px;height:52px;color:var(--ok);margin:0 auto 18px;}
.form-success h3{font-size:20px;}
.form-success p{margin-top:10px;color:var(--ink-600);font-size:14.5px;}

@media (max-width:980px){
  .cta-wrap{grid-template-columns:1fr;gap:40px;}
  .form-card{padding:26px;}
}
@media (max-width:560px){
  .form-grid{grid-template-columns:1fr;}
}

/* ---------- footer ---------- */
footer.site{background:var(--base-950);color:#8ea0b0;padding-top:64px;}
.footer-top{
  display:grid;grid-template-columns:1.3fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:48px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.footer-brand .brand-word{color:#fff;}
.footer-brand p{margin-top:16px;font-size:13.8px;line-height:1.65;max-width:280px;color:#8ea0b0;}
.footer-social{display:flex;gap:10px;margin-top:20px;}
.footer-social a{
  width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.18);
  display:flex;align-items:center;justify-content:center;
}
.footer-social a svg{width:15px;height:15px;}
.footer-col h5{
  color:#fff;font-family:var(--font-display);font-weight:700;font-size:13px;
  letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px;
}
.footer-col ul{display:flex;flex-direction:column;gap:11px;}
.footer-col a{font-size:14px;color:#8ea0b0;}
.footer-col a:hover{color:#fff;}
.footer-col address{font-style:normal;font-size:14px;line-height:1.6;color:#8ea0b0;}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;padding:24px 0;gap:20px;flex-wrap:wrap;
  font-size:12.5px;color:#6c6c6e;
}
.footer-bottom a{color:#6c6c6e;}
.footer-bottom a:hover{color:#fff;}
.footer-legal{max-width:820px;font-size:12px;line-height:1.7;color:#4c5f70;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.06);margin-top:2px;}
@media (max-width:900px){
  .footer-top{grid-template-columns:1fr 1fr;row-gap:36px;}
}
@media (max-width:560px){
  .footer-top{grid-template-columns:1fr;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
}

/* ---------- sticky mobile CTA ---------- */
.mobile-cta{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:70;
  background:var(--card);border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(8,24,38,.25);
  padding:10px 12px;gap:10px;
}
.mobile-cta a.btn{flex:1;padding:13px 10px;font-size:13.5px;}
@media (max-width:760px){
  .mobile-cta{display:flex;}
  body{padding-bottom:66px;}
}

/* ---------- reveal-on-scroll ---------- */
[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s ease, transform .6s ease;}
[data-reveal].in{opacity:1;transform:translateY(0);}

/* ---------- misc ---------- */
.divider-chevrons{
  height:10px;
  background-image:linear-gradient(135deg, var(--brand-600) 25%, transparent 25%),
                    linear-gradient(225deg, var(--brand-600) 25%, transparent 25%);
  background-size:20px 20px;
  background-position:0 0;
  opacity:.9;
}
.tag-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.tag-row span{
  font-size:12.5px;font-weight:600;color:var(--base-950);background:var(--paper-dim);
  border:1px solid var(--line);padding:7px 12px;border-radius:20px;
}
