/* ООО «Энерготехстрой» — статический сайт. Без CMS, без внешних зависимостей. */

/* ---------- Шрифты (локально) ---------- */
@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/onest-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Onest";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Onest";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/onest-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Unbounded";font-style:normal;font-weight:600;font-display:swap;src:url(../fonts/unbounded-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Токены ---------- */
:root{
  --cabinet:#E7E8E3;   /* RAL 7035 — фон, «серый электрошкаф» */
  --panel:#F7F7F4;     /* поверхности */
  --ink:#15283D;       /* чертёжный синий — текст, шапка, подвал */
  --ink-2:#1F3650;
  --steel:#55616D;     /* вторичный текст */
  --line:#C6CAC3;      /* линии и рамки */
  --signal:#F2B01E;    /* сигнальный жёлтый — акценты, шина 0,4 кВ */
  --signal-ink:#2A1E00;
  --ok:#2F7A4B;
  --display:"Unbounded",system-ui,sans-serif;
  --text:"Onest",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px;
  --gutter:clamp(16px,4vw,40px);
  --r:4px;
}

/* ---------- База ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cabinet);color:var(--ink);font-family:var(--text);font-size:17px;line-height:1.6;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:var(--ink);text-decoration-color:var(--signal);text-decoration-thickness:2px;text-underline-offset:3px}
a:hover{color:var(--ink-2);text-decoration-color:var(--ink)}
:focus-visible{outline:3px solid var(--signal);outline-offset:2px;border-radius:2px}
h1,h2{overflow-wrap:break-word}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.15;letter-spacing:-.01em;margin:0 0 .6em}
h1{font-size:clamp(1.75rem,3.6vw,2.9rem)}
h2{font-size:clamp(1.35rem,2.4vw,1.9rem)}
h3{font-family:var(--text);font-size:1.15rem;letter-spacing:0;line-height:1.3}
p{margin:0 0 1em;max-width:68ch}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--gutter)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.skip{position:absolute;left:-999px;top:8px;background:var(--signal);color:var(--signal-ink);padding:8px 14px;z-index:100;border-radius:var(--r)}
.skip:focus{left:8px}

/* ---------- Кнопки ---------- */
.btn{display:inline-flex;align-items:center;gap:.55em;font:600 1rem/1 var(--text);padding:.95em 1.35em;border-radius:var(--r);border:2px solid transparent;text-decoration:none;cursor:pointer;transition:background-color .15s,border-color .15s,color .15s}
.btn svg{width:18px;height:18px;flex:none}
.btn-signal{background:var(--signal);color:var(--signal-ink)}
.btn-signal:hover{background:#FFC53D;color:var(--signal-ink)}
.btn-ghost{border-color:currentColor;color:inherit;background:transparent}
.btn-ghost:hover{background:rgba(255,255,255,.08);color:inherit}
.btn-line{border-color:var(--ink);color:var(--ink);background:transparent}
.btn-line:hover{background:var(--ink);color:#fff}

/* ---------- Шапка ---------- */
.topbar{background:var(--panel);border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;min-height:76px}
.brand,.top-contacts{min-width:0}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink)}
.brand-mark{width:44px;height:44px;flex:none}
.brand-name{font-family:var(--display);font-weight:600;font-size:1.12rem;line-height:1.1;display:block}
.brand-sub{font-size:.83rem;color:var(--steel);display:block;margin-top:3px}
.top-contacts{display:flex;align-items:center;gap:26px}
.top-contacts a{text-decoration:none;color:var(--ink)}
.top-phone{font-weight:600;font-size:1.08rem;white-space:nowrap}
.top-mail{font-size:.95rem;color:var(--steel)!important}
.top-mail:hover{color:var(--ink)!important}

.nav{background:var(--ink);position:sticky;top:0;z-index:50}
.nav .wrap{display:flex;align-items:center;justify-content:space-between}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap}
.nav a{display:block;color:#DCE3EA;text-decoration:none;padding:15px 16px;font-size:.97rem;border-bottom:3px solid transparent}
.nav li:first-child a{padding-left:0}
.nav a:hover{color:#fff}
.nav a[aria-current="page"]{color:#fff;border-bottom-color:var(--signal)}
/* Мобильные элементы: на компьютере скрыты */
.burger,.nav-extra,.mbar,.cat-jump{display:none}
.phones-extra .chips{display:flex;flex-wrap:wrap;gap:8px;width:100%}
.phones-extra .chips a{font-size:1rem;border:1px solid var(--line);background:var(--panel);padding:6px 12px;border-radius:999px}
.phones-extra .chips a:hover{border-color:var(--ink)}
[id]{scroll-margin-top:72px}
.nav-cta{color:var(--signal)!important;font-weight:600;white-space:nowrap}

/* ---------- Хиро: однолинейная схема ---------- */
.hero{background:var(--ink);color:#EEF2F6;position:relative;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}
.hero .wrap{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center;padding-top:64px;padding-bottom:64px}
.hero h1{color:#fff;font-size:clamp(1.6rem,2.75vw,2.35rem)}
.hero-lead{font-size:1.12rem;color:#C9D3DD;max-width:52ch}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.hero-actions .btn-ghost{color:#fff}
.sld{width:100%;height:auto}
.sld .w{stroke:#AFC0D1;stroke-width:2;fill:none;stroke-linecap:round}
.sld .bus{stroke:var(--signal);stroke-width:7;stroke-linecap:round}
.sld .node{fill:var(--ink);stroke:#AFC0D1;stroke-width:2}
.sld .hot{stroke:var(--signal)}
.sld text{font-family:var(--text);fill:#DCE3EA;font-size:15px}
.sld .lbl{font-weight:600;fill:#fff;font-size:17px}
.sld .lbl-y{font-weight:600;fill:var(--signal);font-size:16px}
.sld .muted{fill:#8FA3B7;font-size:13px}
.sld a text{text-decoration:underline;text-decoration-color:rgba(242,176,30,.6)}
.sld a:hover text,.sld a:focus text{fill:var(--signal)}
.sld .draw{stroke-dasharray:1;stroke-dashoffset:0}
@media (prefers-reduced-motion:no-preference){
  .sld .draw{stroke-dasharray:1;stroke-dashoffset:1;animation:draw 1.3s cubic-bezier(.6,0,.3,1) forwards}
  .sld .d2{animation-delay:.35s}.sld .d3{animation-delay:.7s}.sld .d4{animation-delay:1s}
  .sld .fade{opacity:0;animation:fade .5s ease forwards 1.5s}
}
@keyframes draw{to{stroke-dashoffset:0}}
@keyframes fade{to{opacity:1}}

/* ---------- Секции ---------- */
.section{padding:72px 0}
.section-panel{background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap;margin-bottom:32px}
.section-head h2{margin:0}
.section-head p{margin:0;color:var(--steel)}

/* Ассортимент на главной: две колонки-перечня */
.ranges{display:grid;grid-template-columns:1.25fr 1fr;gap:56px}
.range h3{font-family:var(--display);font-size:1.1rem;padding-bottom:14px;border-bottom:3px solid var(--ink);margin-bottom:6px}
.range ul{list-style:none;margin:0;padding:0;columns:2;column-gap:32px}
.range li{break-inside:avoid;padding:10px 0 10px 22px;border-bottom:1px solid var(--line);position:relative}
.range li::before{content:"";position:absolute;left:0;top:19px;width:10px;height:10px;background:var(--signal);border-radius:1px}
.range.build ul{columns:1}
.range.build li::before{background:var(--steel)}

/* Шильдик — паспорт компании */
.plate{background:linear-gradient(180deg,#F3F4F1,#E1E3DE);border:2px solid #9AA19A;border-radius:6px;padding:34px 38px;position:relative;box-shadow:inset 0 1px 0 #fff,0 1px 0 #fff}
.plate::before,.plate::after,.plate .rv1,.plate .rv2{content:"";position:absolute;width:12px;height:12px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,#9AA19A 60%,#6E756E);}
.plate::before{top:12px;left:12px}.plate::after{top:12px;right:12px}
.plate .rv1{bottom:12px;left:12px}.plate .rv2{bottom:12px;right:12px}
.plate-title{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;border-bottom:2px solid var(--ink);padding-bottom:12px;margin-bottom:6px}
.plate-title strong{font-family:var(--display);font-size:1.15rem}
.plate-title span{color:var(--steel);font-size:.92rem}
.plate dl{margin:0;display:grid;grid-template-columns:minmax(150px,220px) 1fr}
.plate dt,.plate dd{padding:12px 0;border-bottom:1px solid #BFC4BD;margin:0}
.plate dt{color:var(--steel);padding-right:16px}
.plate dd{font-weight:600}
.plate dl > :nth-last-child(-n+2){border-bottom:0}

.about{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.about-text p{color:#2B3B4C}

/* Порядок работы — реальная последовательность */
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);counter-reset:s;border-top:3px solid var(--ink)}
.steps li{counter-increment:s;padding:24px 28px 8px 0;position:relative}
.steps li + li{padding-left:28px;border-left:1px solid var(--line)}
.steps li::before{content:counter(s);font-family:var(--display);font-size:1.5rem;color:var(--ink);display:block;margin-bottom:10px;width:46px;height:46px;line-height:44px;text-align:center;border:2px solid var(--ink);border-radius:50%}
.steps p{color:var(--steel);margin:0}

/* Полоса заявки */
.cta-band{background:var(--signal);color:var(--signal-ink)}
.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:24px 40px;flex-wrap:wrap;padding-top:36px;padding-bottom:36px}
.cta-band h2{margin:0 0 6px;font-size:clamp(1.2rem,2vw,1.55rem)}
.cta-band p{margin:0}
.cta-band .btn-dark{background:var(--ink);color:#fff}
.cta-band .btn-dark:hover{background:var(--ink-2);color:#fff}
.cta-band .actions{display:flex;gap:12px;flex-wrap:wrap}
.cta-band .btn-line{border-color:var(--signal-ink);color:var(--signal-ink)}
.cta-band .btn-line:hover{background:var(--signal-ink);color:var(--signal)}

/* ---------- Внутренние страницы ---------- */
.page-head{background:var(--ink);color:#fff;padding:40px 0 36px;position:relative;overflow:hidden}
.page-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:6px;background:var(--signal)}
.page-head h1{margin:0;color:#fff;font-size:clamp(1.6rem,3vw,2.4rem)}
.page-head p{color:#C9D3DD;margin:12px 0 0;max-width:60ch}
.crumbs{font-size:.9rem;margin-bottom:14px;color:#9FB0C1}
.crumbs a{color:#C9D3DD;text-decoration-color:rgba(242,176,30,.6)}
.page{padding:56px 0 80px}

/* Каталог */
.catalog > *{min-width:0}
.catalog{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:start}
.cat-group + .cat-group{margin-top:48px}
.cat-group h2{display:flex;align-items:center;gap:14px;padding-bottom:14px;border-bottom:3px solid var(--ink);margin-bottom:0}
.cat-group h2 svg{width:30px;height:30px;flex:none}
.cat-list{list-style:none;margin:0;padding:0}
.cat-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:8px 32px;padding:16px 0;border-bottom:1px solid var(--line)}
.cat-list strong{font-weight:600}
.cat-list span{color:var(--steel)}
.extra{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.extra li{border:1px solid var(--line);background:var(--panel);padding:6px 12px;border-radius:999px;font-size:.95rem}
.aside{position:sticky;top:76px;background:var(--panel);border:1px solid var(--line);border-top:6px solid var(--signal);padding:28px;border-radius:var(--r)}
.aside h3{font-family:var(--display);font-size:1.05rem}
.aside p{color:var(--steel);font-size:.97rem}
.aside .btn{width:100%;justify-content:center;margin-top:8px}
.aside-phone{display:block;font-weight:600;font-size:1.15rem;text-decoration:none;margin:14px 0 2px}

/* Склад */
.warehouse{display:grid;grid-template-columns:360px minmax(0,1fr);gap:40px;align-items:start}
.addr{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:28px}
.addr .big{font-family:var(--display);font-size:1.25rem;line-height:1.3;margin:0 0 12px}
.addr dl{margin:20px 0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px}
.addr dt{color:var(--steel)}
.addr dd{margin:0}
.addr .btn{width:100%;justify-content:center;margin-top:10px}
.map{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;background:var(--panel);aspect-ratio:4/3;width:100%}
.map iframe{width:100%;height:100%;border:0;display:block}
.scheme{margin-top:32px}
.scheme figcaption{color:var(--steel);font-size:.95rem;margin-top:10px}
.scheme img{border:1px solid var(--line);border-radius:var(--r);background:#fff}

/* Реквизиты */
.req-tools{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}
.req{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line)}
.req th,.req td{text-align:left;vertical-align:top;padding:14px 18px;border-bottom:1px solid var(--line)}
.req th{width:34%;font-weight:400;color:var(--steel)}
.req td{font-weight:600;position:relative;padding-right:56px}
.req tr:nth-child(even){background:#F1F2EE}
.copy{position:absolute;right:10px;top:9px;width:34px;height:34px;display:grid;place-items:center;border:1px solid transparent;background:transparent;border-radius:var(--r);color:var(--steel);cursor:pointer}
.copy:hover{border-color:var(--line);background:#fff;color:var(--ink)}
.copy svg{width:17px;height:17px}
.copy.done{color:var(--ok)}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 18px;border-radius:var(--r);opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:99}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Контакты */
.contacts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:48px;align-items:start}
.phones{list-style:none;margin:0;padding:0;border-top:3px solid var(--ink)}
.phones li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}
.phones a{font-weight:600;font-size:1.12rem;text-decoration:none}
.phones span{color:var(--steel)}
.mailbox{background:var(--ink);color:#fff;border-radius:var(--r);padding:28px;margin-top:32px}
.mailbox p{color:#C9D3DD;margin:0 0 10px}
.mailbox a{color:var(--signal);font-family:var(--display);font-size:clamp(1.1rem,2.2vw,1.4rem);text-decoration:none;word-break:break-all}
.people{list-style:none;margin:0;padding:0}
.people li{padding:18px 0;border-bottom:1px solid var(--line)}
.people li:first-child{padding-top:0}
.people .role{color:var(--steel);display:block;font-size:.95rem}
.people .name{font-weight:600;font-size:1.08rem}

/* Вакансии */
.job{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;max-width:880px}
.job-head{padding:28px 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:center}
.job-head h2{margin:0}
.tags{display:flex;gap:8px;flex-wrap:wrap;list-style:none;margin:0;padding:0}
.tags li{background:var(--cabinet);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:.92rem}
.job-body{padding:28px 32px}
.job-body h3{margin-top:24px}
.job-body h3:first-child{margin-top:0}
.job-body ul{margin:0;padding-left:1.2em}
.job-body li{margin:4px 0}
.job-foot{padding:24px 32px;background:#EEF0EB;border-top:1px solid var(--line);display:flex;gap:16px 24px;align-items:center;justify-content:space-between;flex-wrap:wrap}

/* Партнёры */
.partners{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px}
.partner{display:block;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px;text-decoration:none}
.partner:hover{border-color:var(--ink)}
.partner img{width:100%;height:160px;object-fit:contain;background:#fff;border:1px solid var(--line);margin-bottom:14px}
.partner strong{display:block}
.partner span{color:var(--steel);font-size:.95rem}

/* 404 */
.nf{text-align:left;padding:96px 0}
.nf .code{font-family:var(--display);font-size:clamp(4rem,12vw,8rem);line-height:1;color:var(--ink);margin:0 0 16px}

/* ---------- Подвал ---------- */
.footer{background:var(--ink);color:#C9D3DD;padding:56px 0 28px;font-size:.96rem}
.footer a{color:#fff;text-decoration-color:rgba(242,176,30,.5)}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:40px}
.footer h2{font-family:var(--text);font-size:1rem;color:#fff;margin:0 0 14px}
.footer ul{list-style:none;padding:0;margin:0}
.footer li{margin:0 0 8px}
.footer .brand{color:#fff;margin-bottom:16px}
.footer .brand-sub{color:#9FB0C1}
.footer-bottom{margin-top:40px;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;color:#8FA3B7;font-size:.9rem}

/* ---------- Адаптив ---------- */
@media (max-width:1020px){
  .hero .wrap{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:44px}
  .sld{max-width:560px}
  .ranges,.about,.catalog,.warehouse,.contacts{grid-template-columns:1fr;gap:40px}
  .aside{position:static}
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-grid > :first-child{grid-column:1/-1}
}
/* ---------- Телефон ---------- */
@media (max-width:760px){
  body{font-size:16px;padding-bottom:calc(68px + env(safe-area-inset-bottom,0px));-webkit-tap-highlight-color:rgba(242,176,30,.25)}
  [id]{scroll-margin-top:76px}

  /* Шапка: одна компактная строка, закреплена сверху */
  .topbar{position:sticky;top:0;z-index:60;padding-top:env(safe-area-inset-top,0px)}
  .topbar .wrap{min-height:60px}
  .top-contacts{display:none}
  .brand-mark{width:36px;height:36px}
  .brand-sub{display:none}
  .brand-name{font-size:1.02rem}
  .burger{display:grid;place-items:center;width:48px;height:48px;margin-right:-10px;background:none;border:0;cursor:pointer;color:var(--ink);border-radius:var(--r)}
  .burger-lines{display:block;width:24px;height:16px;position:relative}
  .burger-lines i{position:absolute;left:0;width:100%;height:2.5px;background:currentColor;border-radius:2px;transition:transform .2s,opacity .2s,top .2s}
  .burger-lines i:nth-child(1){top:0}.burger-lines i:nth-child(2){top:7px}.burger-lines i:nth-child(3){top:14px}
  .burger[aria-expanded="true"] .burger-lines i:nth-child(1){top:7px;transform:rotate(45deg)}
  .burger[aria-expanded="true"] .burger-lines i:nth-child(2){opacity:0}
  .burger[aria-expanded="true"] .burger-lines i:nth-child(3){top:7px;transform:rotate(-45deg)}

  /* Меню: выезжающая панель на весь экран под шапкой */
  .nav{position:fixed;top:calc(61px + env(safe-area-inset-top,0px));left:0;right:0;bottom:0;z-index:55;overflow-y:auto;overscroll-behavior:contain;visibility:hidden;opacity:0;transform:translateY(-8px);transition:opacity .2s,transform .2s,visibility 0s .2s}
  .nav.open{visibility:visible;opacity:1;transform:none;transition:opacity .2s,transform .2s}
  .nav .wrap{display:block;padding-top:8px;padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}
  .nav ul{display:block}
  .nav li:first-child a,.nav a{padding:0}
  .nav ul a{display:flex;align-items:center;min-height:56px;font-size:1.15rem;color:#fff;border-bottom:1px solid rgba(255,255,255,.1)}
  .nav ul a[aria-current="page"]{color:var(--signal);border-bottom-color:rgba(255,255,255,.1)}
  .nav-cta{display:none!important}
  .nav-extra{display:block;margin-top:28px}
  .nav .nav-extra .btn{display:flex;width:100%;justify-content:center;min-height:52px;margin-bottom:20px;padding:0 20px;color:var(--signal-ink);border-bottom:0}
  .nav-extra .nav-phone{display:block;color:#fff;font-weight:600;font-size:1.25rem;padding:6px 0}
  .nav-extra .nav-mail{display:block;color:var(--signal);padding:6px 0 0}
  .nav-extra p{color:#9FB0C1;margin:14px 0 0;font-size:.95rem}
  body.menu-open{overflow:hidden}
  body.menu-open .mbar{display:none}

  /* Нижняя панель: звонок и заявка всегда под пальцем */
  .mbar{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(21,40,61,.08)}
  .mbar a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border-radius:var(--r);font-weight:600;text-decoration:none}
  .mbar svg{width:20px;height:20px}
  .mbar-call{background:var(--ink);color:#fff}
  .mbar-mail{background:var(--signal);color:var(--signal-ink)}
  .mbar-call:hover{color:#fff}.mbar-mail:hover{color:var(--signal-ink)}

  /* Кнопки — во всю ширину и под палец */
  .btn{min-height:52px;justify-content:center}
  .hero-actions,.cta-band .actions,.req-tools{display:grid;grid-template-columns:1fr;width:100%}
  .hero-actions .btn,.cta-band .btn,.job-foot .btn{width:100%}
  .job-foot{flex-direction:column;align-items:stretch}

  /* Главная */
  .hero .wrap{padding-top:32px;padding-bottom:36px;gap:28px}
  .hero h1{font-size:min(1.42rem,calc((100vw - 34px) / 15.6))}
  .hero-lead{font-size:1rem}
  .sld{max-width:100%;margin:0 -6px}
  .sld text{font-size:19px}
  .sld .lbl{font-size:21px}
  .sld .lbl-y{font-size:20px}
  .sld .muted{font-size:15px}
  .section{padding:48px 0}
  .section-head{margin-bottom:20px}
  .range ul{columns:1}
  .range li{padding:12px 0 12px 22px}
  .range li::before{top:21px}
  .steps{grid-template-columns:1fr}
  .steps li,.steps li + li{padding:20px 0 20px 64px;border-left:0;border-bottom:1px solid var(--line);min-height:86px}
  .steps li::before{position:absolute;left:0;top:20px;margin:0}
  .plate{padding:28px 22px}
  .plate dl{grid-template-columns:1fr}
  .plate dt{padding-bottom:0;border-bottom:0}
  .plate dd{padding-top:2px}
  .cta-band .wrap{padding-top:32px;padding-bottom:32px}

  /* Внутренние страницы */
  .page-head{padding:24px 0 26px}
  .page{padding:28px 0 48px}
  .cat-jump{display:flex;gap:8px;overflow-x:auto;margin:0 calc(var(--gutter) * -1) 24px;padding:0 var(--gutter) 4px;scrollbar-width:none;position:sticky;top:calc(60px + env(safe-area-inset-top,0px));z-index:5;background:var(--cabinet);padding-top:10px;padding-bottom:10px}
  .cat-jump::-webkit-scrollbar{display:none}
  .cat-jump a{flex:none;display:flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:var(--panel);border:1px solid var(--line);text-decoration:none;font-weight:600;font-size:.95rem}
  .cat-jump a:last-child{background:var(--signal);border-color:var(--signal);color:var(--signal-ink)}
  .cat-group h2{font-size:1.2rem}
  .cat-list li{grid-template-columns:1fr;gap:2px;padding:14px 0}
  .extra li{padding:8px 14px}
  .aside{padding:24px 20px}

  .req-tools [data-print]{display:none}
  .req th,.req td{display:block;width:100%}
  .req th{padding:14px 64px 0 16px;border-bottom:0;font-size:.92rem}
  .req td{padding:4px 64px 14px 16px;position:static}
  .req tr{position:relative;display:block;border-bottom:1px solid var(--line)}
  .req td,.req th{border-bottom:0}
  .req .copy{top:50%;right:8px;transform:translateY(-50%);width:44px;height:44px;border-color:var(--line);background:#fff}
  .req td{word-break:break-word}

  .warehouse .addr{padding:22px 20px}
  .addr .btn{min-height:52px}
  .map{aspect-ratio:1/1}

  .phones li{padding:10px 0;align-items:center}
  .phones a{font-size:1.2rem;min-height:44px;display:inline-flex;align-items:center}
  .phones-extra{flex-direction:column;align-items:flex-start!important}
  .phones-extra .chips a{font-size:1rem;min-height:44px;padding:0 16px}
  .mailbox{padding:22px 20px}
  .people li{padding:14px 0}

  .job-head,.job-body,.job-foot{padding-left:20px;padding-right:20px}
  .partner img{height:130px}

  /* Подвал короче: связь уже в нижней панели */
  .footer{padding:40px 0 24px}
  .footer-grid{grid-template-columns:1fr 1fr;gap:28px 20px}
  .footer-grid > :first-child{grid-column:1/-1}
  .footer-grid > :nth-child(2){grid-column:1/-1}
  .footer ul li{margin:0}
  .footer ul a{display:inline-flex;min-height:40px;align-items:center}
  .footer-grid > :nth-child(3) ul{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
  .footer-grid > :nth-child(3){grid-column:1/-1}
  .footer-bottom{margin-top:24px;flex-direction:column;gap:6px}
}
@media (max-width:360px){
  .brand-name{font-size:.95rem}
  .mbar{grid-template-columns:1fr 1fr}
  .mbar a{font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){
  .nav,.burger-lines i{transition:none!important}
}

/* ---------- Печать (реквизиты и т.п.) ---------- */
@media print{
  .hero h1{font-size:22pt;max-width:none}
  .topbar .top-contacts,.nav,.mbar,.burger,.cta-band,.footer,.req-tools,.copy,.skip,.aside,.toast{display:none!important}
  body{background:#fff;font-size:12pt}
  .page-head{background:none;color:#000;padding:0 0 12pt}
  .page-head::after{display:none}
  .page-head h1{color:#000}
  .crumbs{display:none}
  .req,.req tr:nth-child(even){background:none}
}
