:root{
  --paper:#EDEAE3;
  --paper-2:#E4E0D7;
  --ink:#14181B;
  --ink-2:#3A4147;
  --ink-3:#6E777E;
  --rule:#C4BEB1;
  --rule-2:#D6D1C6;
  --steel:#1B2A32;
  --steel-2:#24363F;
  --blueprint:#7FA8B8;
  --safety:#D6431B;
  --amber:#C88A12;
  --mono:'IBM Plex Mono',ui-monospace,monospace;
  --cond:'IBM Plex Sans Condensed',sans-serif;
  --sans:'IBM Plex Sans',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.wrap{max-width:1180px;margin:0 auto;padding:0 28px}

/* ─── технические примитивы ─────────────────────────── */
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.tag{color:var(--safety);font-weight:600}
.rule{height:1px;background:var(--rule);border:0}

/* размерная линия как в чертеже */
.dim{display:flex;align-items:center;gap:10px;color:var(--ink-3)}
.dim::before,.dim::after{content:"";height:7px;width:1px;background:var(--rule)}
.dim i{flex:1;height:1px;background:var(--rule);display:block}

/* угловые метки приводки */
.crop{position:relative}
.crop::before,.crop::after{
  content:"";position:absolute;width:9px;height:9px;pointer-events:none;
  border-color:var(--rule);border-style:solid;border-width:0;
}
.crop::before{top:0;left:0;border-top-width:1px;border-left-width:1px}
.crop::after{bottom:0;right:0;border-bottom-width:1px;border-right-width:1px}

/* ─── шапка ─────────────────────────────────────────── */
header{
  position:sticky;top:0;z-index:40;background:rgba(237,234,227,.93);
  backdrop-filter:blur(8px);border-bottom:1px solid var(--rule);
}
.bar{display:flex;align-items:center;gap:28px;height:64px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--ink)}
.mark{width:34px;height:34px;flex:none;color:var(--ink);display:block}
.mark svg{width:100%;height:100%;display:block;vector-effect:non-scaling-stroke}
.wordmark{font-family:var(--cond);font-weight:700;font-size:15px;letter-spacing:.02em;line-height:1.1}
.wordmark small{display:block;font-family:var(--mono);font-weight:400;font-size:9.5px;
  letter-spacing:.16em;color:var(--ink-3);text-transform:uppercase}
nav{margin-left:auto;display:flex;gap:22px}
nav a{
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--ink-2);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;
  transition:.18s
}
nav a:hover{color:var(--safety);border-bottom-color:var(--safety)}
.tel{
  font-family:var(--mono);font-size:12.5px;font-weight:600;color:var(--ink);
  text-decoration:none;padding:7px 13px;border:1px solid var(--ink);white-space:nowrap;transition:.18s
}
.tel:hover{background:var(--ink);color:var(--paper)}
.burger{display:none;background:none;border:1px solid var(--ink);width:38px;height:34px;
  cursor:pointer;flex-direction:column;gap:4px;align-items:center;justify-content:center}
.burger span{width:16px;height:1.5px;background:var(--ink);display:block}

/* ─── герой ─────────────────────────────────────────── */
.hero{
  background:var(--steel);color:#E8E4DB;position:relative;overflow:hidden;
  padding:74px 0 0;
}
.hero::before{ /* синька */
  content:"";position:absolute;inset:0;opacity:.5;pointer-events:none;
  background-image:
    linear-gradient(rgba(127,168,184,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,168,184,.16) 1px,transparent 1px),
    linear-gradient(rgba(127,168,184,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,168,184,.07) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,16px 16px,16px 16px;
}
.hero::after{ /* виньетка */
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(120% 90% at 78% 12%,rgba(127,168,184,.14),transparent 62%);
}
.hero .wrap{position:relative;z-index:2}
.hero-grid{display:grid;grid-template-columns:1fr 320px;gap:56px;align-items:end}
.eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:26px;
  animation:rise .7s .05s both cubic-bezier(.2,.7,.3,1)}
.eyebrow .mono{color:var(--blueprint)}
.eyebrow .line{flex:1;height:1px;background:rgba(127,168,184,.34);max-width:150px}
h1{
  font-family:var(--cond);font-weight:700;line-height:.96;letter-spacing:-.015em;
  font-size:clamp(38px,6.6vw,80px);text-transform:uppercase;
  animation:rise .8s .12s both cubic-bezier(.2,.7,.3,1)
}
h1 em{font-style:normal;color:var(--blueprint);display:block}
h1 .thin{-webkit-text-stroke:1px rgba(232,228,219,.55);color:transparent;display:block}
.lede{
  max-width:50ch;margin-top:26px;color:#B9C4CA;font-size:17px;line-height:1.62;
  animation:rise .8s .2s both cubic-bezier(.2,.7,.3,1)
}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px;
  animation:rise .8s .28s both cubic-bezier(.2,.7,.3,1)}
.btn{
  font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;
  padding:14px 22px;text-decoration:none;border:1px solid;transition:.2s;display:inline-block
}
.btn-primary{background:var(--safety);border-color:var(--safety);color:#fff}
.btn-primary:hover{background:#B93815;border-color:#B93815}
.btn-ghost{border-color:rgba(232,228,219,.42);color:#E8E4DB}
.btn-ghost:hover{border-color:#E8E4DB;background:rgba(232,228,219,.08)}

/* приборная панель показателей */
.readout{
  border:1px solid rgba(127,168,184,.3);background:rgba(10,18,22,.42);
  animation:rise .8s .34s both cubic-bezier(.2,.7,.3,1)
}
.readout-h{
  padding:9px 14px;border-bottom:1px solid rgba(127,168,184,.3);
  font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blueprint);display:flex;justify-content:space-between
}
.readout-row{padding:13px 14px;border-bottom:1px solid rgba(127,168,184,.15);
  display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.readout-row:last-child{border-bottom:0}
.readout-row b{font-family:var(--cond);font-weight:700;font-size:27px;line-height:1;color:#fff}
.readout-row span{font-family:var(--mono);font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;color:#93A5AE;text-align:right;max-width:15ch}
.hero-foot{
  margin-top:64px;border-top:1px solid rgba(127,168,184,.26);
  padding:14px 0 18px;display:flex;flex-wrap:wrap;gap:10px 34px;align-items:center
}
.hero-foot .mono{color:#8FA5AF}

/* ─── секции ────────────────────────────────────────── */
section{padding:82px 0;position:relative}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:40px;flex-wrap:wrap}
.sec-num{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--safety)}
h2{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:-.01em;
  font-size:clamp(25px,3.4vw,40px);line-height:1.02}
.sec-head .dim{flex:1;min-width:110px}
.sec-note{font-family:var(--mono);font-size:11px;color:var(--ink-3);letter-spacing:.06em}

/* услуги — как листы спецификации */
.svc{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--rule)}
.card{
  padding:28px 24px 26px;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  background:var(--paper);position:relative;transition:.25s;text-decoration:none;color:inherit;display:block
}
.svc .card:nth-child(3n){border-right:0}
.svc .card:nth-child(n+4){border-bottom:0}
.card::after{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--safety);transition:.25s}
.card:hover{background:#F4F1EA}
.card:hover::after{height:100%}
.card:hover .card-idx{color:var(--safety)}
.card-idx{font-family:var(--mono);font-size:11px;letter-spacing:.14em;color:var(--ink-3);transition:.25s}
.card h3{font-family:var(--cond);font-weight:700;font-size:20px;text-transform:uppercase;
  line-height:1.1;margin:14px 0 10px;letter-spacing:-.005em}
.card p{font-size:14.2px;color:var(--ink-2);line-height:1.55}
.card .std{margin-top:16px;padding-top:12px;border-top:1px dashed var(--rule-2);
  font-family:var(--mono);font-size:10px;letter-spacing:.09em;color:var(--ink-3);text-transform:uppercase}

/* нормативная база */
.norm{background:var(--paper-2);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.norm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--rule)}
.norm-cell{background:var(--paper-2);padding:20px 18px}
.norm-cell .mono{color:var(--safety);display:block;margin-bottom:7px}
.norm-cell p{font-size:13.6px;color:var(--ink-2);line-height:1.5}

/* клиенты — плитки-пиктограммы отраслей */
.clients{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.plate{
  background:var(--paper);position:relative;overflow:hidden;transition:.28s;
  padding:22px 16px 17px;display:flex;flex-direction:column;align-items:center;
  text-align:center;min-height:186px;justify-content:flex-start
}
/* штриховка-подложка, как на разрезе чертежа */
.plate::before{
  content:"";position:absolute;inset:0;opacity:0;transition:.28s;pointer-events:none;
  background:repeating-linear-gradient(45deg,rgba(20,24,27,.045) 0 1px,transparent 1px 7px)
}
.plate:hover::before{opacity:1}
.plate:hover{background:#F5F2EB}
/* угловые засечки */
.plate::after{
  content:"";position:absolute;left:9px;top:9px;width:9px;height:9px;
  border-left:1px solid var(--rule);border-top:1px solid var(--rule);
  opacity:0;transition:.28s
}
.plate:hover::after{opacity:1}
.pico{
  width:62px;height:62px;position:relative;z-index:2;margin-bottom:15px;
  display:grid;place-items:center;transition:.28s
}
.pico svg{width:100%;height:100%;display:block;
  stroke:var(--ink);stroke-width:1.4;fill:none;
  stroke-linecap:round;stroke-linejoin:round;transition:.28s;
  vector-effect:non-scaling-stroke}
.plate:hover .pico svg{stroke:var(--safety)}
.plate:hover .pico{transform:translateY(-2px)}
.pname{
  font-family:var(--cond);font-weight:700;font-size:13.5px;text-transform:uppercase;
  line-height:1.16;letter-spacing:-.003em;position:relative;z-index:2;
  overflow-wrap:anywhere;max-width:16ch
}
.psec{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-3);margin-top:8px;position:relative;z-index:2
}
.plate:hover .psec{color:var(--ink-2)}
/* индекс в углу — как номер позиции в спецификации */
.pidx{
  position:absolute;right:10px;top:9px;font-family:var(--mono);font-size:9px;
  color:var(--rule);letter-spacing:.08em;z-index:2;transition:.28s
}
.plate:hover .pidx{color:var(--safety)}
/* неопознанные */
.plate.unknown{background:var(--paper-2)}
.plate.unknown .pico svg{stroke:var(--ink-3);stroke-dasharray:3 3}
.plate.unknown .pname{color:var(--ink-3);font-family:var(--mono);font-size:10.5px;
  font-weight:400;letter-spacing:.06em;text-transform:none;line-height:1.4}
.plate.unknown:hover .pico svg{stroke:var(--ink-3)}
.psec.ph{color:var(--safety)}

/* контакты */
.contact{background:var(--steel);color:#E8E4DB;position:relative;overflow:hidden}
.contact::before{content:"";position:absolute;inset:0;opacity:.4;
  background-image:linear-gradient(rgba(127,168,184,.1) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(127,168,184,.1) 1px,transparent 1px);
  background-size:16px 16px}
.contact .wrap{position:relative;z-index:2}
.contact h2{color:#fff}
.cgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:52px;margin-top:34px}
.cdata{border-top:1px solid rgba(127,168,184,.3)}
.cdata div{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid rgba(127,168,184,.16)}
.cdata dt{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--blueprint);width:104px;flex:none;padding-top:3px}
.cdata dd{font-size:15.5px;color:#DDE4E8}
.cdata dd a{color:#fff;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.32)}
.cdata dd a:hover{border-bottom-color:var(--safety);color:var(--safety)}
.form{border:1px solid rgba(127,168,184,.3);padding:26px;background:rgba(10,18,22,.4)}
.form .mono{color:var(--blueprint);display:block;margin-bottom:18px}
.field{margin-bottom:14px}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:#93A5AE;display:block;margin-bottom:6px}
.field input,.field textarea{
  width:100%;background:rgba(0,0,0,.24);border:1px solid rgba(127,168,184,.3);
  padding:11px 12px;color:#E8E4DB;font-family:var(--sans);font-size:14.5px;transition:.18s
}
.field input:focus,.field textarea:focus{outline:0;border-color:var(--safety);background:rgba(0,0,0,.35)}
.field textarea{resize:vertical;min-height:82px}
.form button{
  width:100%;background:var(--safety);border:0;color:#fff;padding:14px;cursor:pointer;
  font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;transition:.2s
}
.form button:hover{background:#B93815}

footer{background:#0E1519;color:#7E8E96;padding:26px 0}
.fbar{display:flex;flex-wrap:wrap;gap:12px 28px;align-items:center;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase}
.fbar span:last-child{margin-left:auto}

/* пометка «заполнить» */
.ph{border-bottom:1px dashed var(--safety);cursor:help}

@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media(max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:38px}
  .svc{grid-template-columns:repeat(2,1fr)}
  .svc .card:nth-child(3n){border-right:1px solid var(--rule)}
  .svc .card:nth-child(2n){border-right:0}
  .svc .card:nth-child(n+4){border-bottom:1px solid var(--rule)}
  .svc .card:nth-last-child(-n+2){border-bottom:0}
  .norm-grid{grid-template-columns:repeat(2,1fr)}
  .clients{grid-template-columns:repeat(3,1fr)}
  .cgrid{grid-template-columns:1fr;gap:34px}
  nav{display:none}
  .burger{display:flex}
}
@media(max-width:600px){
  .wrap{padding:0 18px}
  section{padding:56px 0}
  .svc{grid-template-columns:1fr}
  .svc .card{border-right:0!important;border-bottom:1px solid var(--rule)!important}
  .svc .card:last-child{border-bottom:0!important}
  .norm-grid{grid-template-columns:1fr}
  .clients{grid-template-columns:repeat(2,1fr)}
  .plate{min-height:162px;padding:18px 10px 14px}
  .pico{width:50px;height:50px;margin-bottom:12px}
  .pname{font-size:12.5px}
  .tel{display:none}
  .cdata div{flex-direction:column;gap:4px}
  .cdata dt{width:auto}
}

/* ══════════ ВНУТРЕННИЕ СТРАНИЦЫ ══════════ */
.phead{background:var(--steel);color:#E8E4DB;position:relative;overflow:hidden;padding:52px 0 44px}
.phead::before{content:"";position:absolute;inset:0;opacity:.42;pointer-events:none;
  background-image:linear-gradient(rgba(127,168,184,.15) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,168,184,.15) 1px,transparent 1px),
    linear-gradient(rgba(127,168,184,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,168,184,.06) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,16px 16px,16px 16px}
.phead .wrap{position:relative;z-index:2}
.crumbs{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blueprint);margin-bottom:16px}
.crumbs a{color:var(--blueprint);text-decoration:none;border-bottom:1px solid transparent}
.crumbs a:hover{border-bottom-color:var(--blueprint)}
.phead h1{font-size:clamp(30px,5vw,54px);animation:rise .6s both cubic-bezier(.2,.7,.3,1)}
.phead .lede{margin-top:18px;animation:rise .6s .1s both cubic-bezier(.2,.7,.3,1)}

/* реестр нормативных документов */
.docgrp{margin-bottom:38px}
.docgrp-h{display:flex;align-items:baseline;gap:14px;margin-bottom:14px;flex-wrap:wrap}
.docgrp-h .sec-num{color:var(--safety)}
.docgrp-h h3{font-family:var(--cond);font-weight:700;font-size:20px;text-transform:uppercase;letter-spacing:-.005em}
.docgrp-h .dim{flex:1;min-width:70px}
.doclist{border:1px solid var(--rule);background:#fff}
.doc{display:grid;grid-template-columns:1fr 168px 116px;gap:0;border-bottom:1px solid var(--rule-2);
  text-decoration:none;color:inherit;transition:.2s;position:relative}
.doc:last-child{border-bottom:0}
.doc::before{content:"";position:absolute;left:0;top:0;width:2px;height:0;background:var(--safety);transition:.22s}
.doc:hover{background:#FAF8F3}
.doc:hover::before{height:100%}
.doc:hover .doc-t{color:var(--safety)}
.doc-main{padding:15px 18px;min-width:0}
.doc-t{font-weight:600;font-size:15.2px;line-height:1.35;transition:.2s}
.doc-sub{font-family:var(--mono);font-size:10.5px;letter-spacing:.06em;color:var(--ink-3);margin-top:5px}
.doc-meta{padding:15px 14px;border-left:1px solid var(--rule-2);display:flex;align-items:center}
.doc-num{font-family:var(--mono);font-size:11px;color:var(--ink-2);line-height:1.4}
.doc-st{padding:15px 14px;border-left:1px solid var(--rule-2);display:flex;align-items:center;justify-content:space-between;gap:8px}
.st{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:3px 7px;color:#fff;white-space:nowrap}
.st-live{background:#2E7D4F} .st-dead{background:#8A8177} .st-new{background:var(--amber)}
.doc .arr{font-family:var(--mono);font-size:13px;color:var(--rule);transition:.2s}
.doc:hover .arr{color:var(--safety);transform:translateX(2px)}
.doc.dead{opacity:.62}
.doc.dead .doc-t{text-decoration:line-through;text-decoration-thickness:1px}
.callout{border-left:2px solid var(--safety);background:var(--paper-2);padding:18px 22px;margin:0 0 34px;
  font-size:14.8px;line-height:1.6;max-width:88ch}
.callout b{font-weight:600}
.replaced{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--safety);
  margin-top:6px;display:block;text-transform:uppercase}

/* услуги — развёрнутые блоки */
.svcfull{border:1px solid var(--rule);background:#fff;margin-bottom:1px}
.svcfull-h{display:grid;grid-template-columns:64px 1fr;border-bottom:1px solid var(--rule)}
.svcfull-n{background:var(--steel);color:#E8E4DB;display:grid;place-items:center;
  font-family:var(--cond);font-weight:700;font-size:22px}
.svcfull-t{padding:18px 22px}
.svcfull-t h3{font-family:var(--cond);font-weight:700;font-size:22px;text-transform:uppercase;line-height:1.08}
.svcfull-t .mono{color:var(--ink-3);margin-top:6px;display:block}
.svcfull-b{padding:20px 22px;display:grid;grid-template-columns:1.3fr 1fr;gap:28px}
.svcfull-b p{font-size:15px;line-height:1.62;color:var(--ink-2)}
.svcfull-b ul{list-style:none;margin-top:12px}
.svcfull-b li{font-size:14.4px;padding:6px 0 6px 18px;position:relative;color:var(--ink-2)}
.svcfull-b li::before{content:"";position:absolute;left:0;top:14px;width:8px;height:1px;background:var(--safety)}
.aside-box{border:1px solid var(--rule);background:var(--paper);padding:16px 18px;align-self:start}
.aside-box .mono{color:var(--safety);display:block;margin-bottom:10px}
.aside-box a{display:block;font-size:13.6px;color:var(--ink);text-decoration:none;
  padding:6px 0;border-bottom:1px dashed var(--rule-2);line-height:1.4}
.aside-box a:last-child{border-bottom:0}
.aside-box a:hover{color:var(--safety)}

/* о компании */
.two{display:grid;grid-template-columns:1.25fr 1fr;gap:52px;align-items:start}
.two p{font-size:16px;line-height:1.68;margin-bottom:16px;color:var(--ink-2)}
.two p strong{color:var(--ink);font-weight:600}
.factbox{border:1px solid var(--rule);background:#fff}
.factbox-h{padding:11px 16px;border-bottom:1px solid var(--rule);background:var(--paper-2);
  font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;color:var(--ink-3)}
.factbox div{padding:13px 16px;border-bottom:1px solid var(--rule-2);display:flex;justify-content:space-between;gap:14px}
.factbox div:last-child{border-bottom:0}
.factbox dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3)}
.factbox dd{font-size:14.5px;text-align:right;font-weight:600}

@media(max-width:960px){
  .doc{grid-template-columns:1fr 116px}
  .doc-meta{display:none}
  .svcfull-b{grid-template-columns:1fr;gap:20px}
  .two{grid-template-columns:1fr;gap:32px}
}
@media(max-width:600px){
  .doc{grid-template-columns:1fr}
  .doc-st{border-left:0;border-top:1px solid var(--rule-2);padding:10px 18px}
  .svcfull-h{grid-template-columns:48px 1fr}
}
a.norm-cell{transition:.2s}
a.norm-cell:hover{background:#EEEAE0}
a.norm-cell:hover .mono{color:var(--safety)}

/* ══════════ КАК ПРОХОДИТ РАБОТА ══════════ */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:1px;background:var(--rule);
  border:1px solid var(--rule)}
.step{background:var(--paper);padding:22px 18px 24px;position:relative;transition:.24s}
.step::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--safety);transition:.24s}
.step:hover{background:#F5F2EB}
.step:hover::after{width:100%}
.step:hover .step-n{color:var(--safety)}
/* стрелка между шагами, как на технологической схеме */
.step:not(:last-child)::before{
  content:"";position:absolute;right:-5px;top:34px;width:8px;height:8px;z-index:3;
  border-top:1px solid var(--rule);border-right:1px solid var(--rule);
  transform:rotate(45deg);background:var(--paper)
}
.step-n{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--ink-3);transition:.24s}
.step h3{font-family:var(--cond);font-weight:700;font-size:17px;text-transform:uppercase;
  line-height:1.1;margin:12px 0 9px;letter-spacing:-.005em}
.step p{font-size:13.8px;line-height:1.55;color:var(--ink-2)}

@media(max-width:960px){
  .steps{grid-template-columns:repeat(2,1fr)}
  .step:not(:last-child)::before{display:none}
}
@media(max-width:600px){
  .steps{grid-template-columns:1fr}
}

/* ══════════ ФОРМА: ловушка и состояния ══════════ */
.hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;
  overflow:hidden!important;opacity:0!important;pointer-events:none}
.form button[disabled]{opacity:.55;cursor:wait}
.form-msg{font-family:var(--mono);font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;
  margin-top:12px;line-height:1.55;display:none;padding:9px 11px}
.form-msg.show{display:block}
.form-msg.ok{background:#2E7D4F;color:#fff}
.form-msg.err{background:var(--safety);color:#fff}
.form-hint{font-family:var(--mono);font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;
  color:#93A5AE;margin-top:12px;line-height:1.5}

/* ══════════ МОБИЛЬНОЕ МЕНЮ ══════════ */
.burger{position:relative;z-index:60}
.burger span{transition:.22s}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}
@media(max-width:960px){
  nav{
    display:flex;flex-direction:column;gap:0;
    position:fixed;inset:64px 0 auto 0;background:var(--paper);
    border-bottom:1px solid var(--rule);
    /* минус собственная высота И минус отступ сверху, иначе низ меню торчит над шапкой */
    transform:translateY(calc(-100% - 64px));
    z-index:50;box-shadow:0 14px 28px rgba(20,24,27,.09)
  }
  /* закрыто: прячем только ПОСЛЕ анимации, иначе меню исчезает рывком */
  nav:not(.open){
    visibility:hidden;
    transition:transform .26s cubic-bezier(.2,.7,.3,1),visibility 0s .26s
  }
  /* открыто: показываем сразу, анимируем только сдвиг */
  nav.open{
    transform:translateY(0);visibility:visible;
    transition:transform .26s cubic-bezier(.2,.7,.3,1),visibility 0s
  }
  nav a{
    padding:17px 28px;border-bottom:1px solid var(--rule-2);font-size:12.5px;
    letter-spacing:.13em;border-bottom-color:var(--rule-2)
  }
  nav a:last-child{border-bottom:0}
  nav a:hover{background:var(--paper-2);border-bottom-color:var(--rule-2);color:var(--safety)}
  body.nav-open{overflow:hidden}
}

/* ══════════ ШИРОКАЯ ПЛИТКА В КОНЦЕ СЕТКИ КЛИЕНТОВ ══════════ */
.plate.wide{
  grid-column:span 2;            /* ровно две пустые ячейки при 5 колонках */
  background:var(--steel);color:#DDE4E8;
  align-items:flex-start;text-align:left;justify-content:center;
  padding:24px 24px 22px
}
.plate.wide::before{
  background:repeating-linear-gradient(45deg,rgba(127,168,184,.09) 0 1px,transparent 1px 7px)
}
.plate.wide:hover{background:#22343D}
.plate.wide::after{border-color:rgba(127,168,184,.4)}
.plate.wide .pidx{color:rgba(127,168,184,.5)}
.plate.wide:hover .pidx{color:var(--blueprint)}
.wide-h{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--blueprint);margin-bottom:12px}
.wide-t{font-family:var(--cond);font-weight:700;font-size:19px;text-transform:uppercase;
  line-height:1.12;color:#fff;margin-bottom:9px;max-width:24ch}
.wide-p{font-size:13.4px;line-height:1.55;color:#AFBCC4;max-width:44ch;margin-bottom:15px}
.wide-cta{font-family:var(--mono);font-size:11px;letter-spacing:.11em;text-transform:uppercase;
  color:#fff;text-decoration:none;border-bottom:1px solid var(--safety);padding-bottom:3px;
  display:inline-block;transition:.2s}
.wide-cta:hover{color:var(--safety)}
@media(max-width:960px){ .plate.wide{grid-column:span 3} }   /* 18+3=21 = 7 рядов ровно */
@media(max-width:600px){ .plate.wide{grid-column:span 2} }   /* 18+2=20 = 10 рядов ровно */

/* ══════════ ЧЕРТЁЖНАЯ ПОЛОСА ══════════ */
.scheme{background:var(--steel);color:var(--blueprint);position:relative;overflow:hidden;
  padding:52px 0 44px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.scheme::before{content:"";position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:linear-gradient(rgba(127,168,184,.13) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,168,184,.13) 1px,transparent 1px),
    linear-gradient(rgba(127,168,184,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(127,168,184,.06) 1px,transparent 1px);
  background-size:96px 96px,96px 96px,16px 16px,16px 16px}
.scheme .wrap{position:relative;z-index:2}
.scheme-h{display:flex;align-items:baseline;gap:16px;margin-bottom:26px;flex-wrap:wrap}
.scheme-h .sec-num{color:var(--safety)}
.scheme-h h2{color:#fff;font-size:clamp(22px,3vw,32px)}
.scheme-h .dim{flex:1;min-width:80px}
.scheme-h .dim::before,.scheme-h .dim::after,.scheme-h .dim i{background:rgba(127,168,184,.4)}
.scheme-h .sec-note{color:#8FA5AF}
.scheme-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:6px}
.scheme-wrap svg{display:block;width:100%;min-width:820px;height:auto}
.scheme-foot{margin-top:22px;padding-top:16px;border-top:1px solid rgba(127,168,184,.24);
  display:flex;flex-wrap:wrap;gap:10px 30px}
.scheme-foot span{font-family:var(--mono);font-size:10px;letter-spacing:.13em;
  text-transform:uppercase;color:#93A5AE}
.scheme-foot b{color:var(--safety);font-weight:600}
