/* Меню сайта: мега-меню на компьютере, полноэкранное меню на телефоне, карта сайта в подвале */
.nm-nav{display:flex;align-items:center;gap:4px}
.nm-top,.nm-link{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 13px;border:0;border-radius:40px;background:none;color:#c4c8c2;font:inherit;font-size:14px;font-weight:400;white-space:nowrap;cursor:pointer;transition:color .2s,background .2s}
.nm-top:hover,.nm-link:hover,.nm-item.is-open>.nm-top{color:var(--ink);background:#ffffff0f}
.nm-item.is-current>.nm-top,.nm-link[aria-current]{color:var(--orange)}
.nm-top:focus-visible,.nm-link:focus-visible,.nm-panel a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.nm-chev{width:10px;height:10px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .2s}
.nm-item.is-open .nm-chev{transform:rotate(180deg)}
.nm-panel{position:absolute;left:0;right:0;top:100%;z-index:50;background:#141817;border-top:1px solid #ffffff14;border-bottom:1px solid var(--line);box-shadow:0 30px 60px #0009;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .18s,transform .18s,visibility 0s linear .18s}
.nm-item.is-open .nm-panel{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .18s}
.nm-panel-in{display:grid;gap:30px;padding-block:32px 36px}
.nm-svc{grid-template-columns:repeat(5,minmax(0,1fr)) minmax(0,1.25fr)}
.nm-obj{grid-template-columns:minmax(0,3fr) minmax(0,1.1fr)}
.nm-h{font:400 12px/1.5 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 12px}
.nm-h a{color:var(--ink);border-bottom:1px solid #ffffff30;padding-bottom:2px}
.nm-h a:hover{color:var(--orange);border-color:var(--orange)}
.nm-col ul,.nm-fcol ul{list-style:none;margin:0;padding:0}
.nm-col li a{display:block;padding:6px 0;font-size:15px;line-height:1.4;color:#d3dbd5;transition:color .15s}
.nm-col li a:hover,.nm-col a[aria-current]{color:var(--orange)}
.nm-promo{align-self:start;padding:22px;border:1px solid #ff815855;border-radius:8px;background:linear-gradient(135deg,#2a1d17,#171b19 70%)}
.nm-promo-t{font-size:18px;color:var(--ink);margin:0 0 8px}
.nm-promo p:not(.nm-promo-t){font-size:14px;line-height:1.6;color:var(--muted);margin:0 0 16px}
.nm-promo .btn{width:100%;justify-content:center}
.nm-phone{display:block;margin-top:12px;text-align:center;font-size:16px;color:var(--ink)}
.nm-phone:hover{color:var(--orange)}
.nm-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.nm-card{display:block;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:#171b19;transition:border-color .2s,transform .2s}
.nm-card:hover,.nm-card[aria-current]{border-color:var(--orange);transform:translateY(-2px)}
.nm-card b{display:block;font-weight:400;font-size:17px;color:var(--ink);margin-bottom:4px}
.nm-card span{font-size:13px;color:var(--muted)}
.nm-solo{height:100%}
.nm-mobile-cta{display:none}
.nm-burger{display:none}
.nm-ico-close{display:none}
.nm-burger[aria-expanded="true"] .nm-ico-open{display:none}
.nm-burger[aria-expanded="true"] .nm-ico-close{display:block}
html.nm-lock{overflow:hidden}
/* backdrop-filter шапки делает её контейнером для position:fixed — на время открытого меню отключаем */
html.nm-lock .header{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#101212!important}
@media(max-width:1180px){.nm-svc{grid-template-columns:repeat(3,minmax(0,1fr))}.nm-svc .nm-promo{grid-column:span 3;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}.nm-svc .nm-promo p{margin:0!important}.nm-svc .nm-promo .btn{width:auto}.nm-svc .nm-phone{margin:0}}
@media(max-width:1000px){
 .header .nm-burger{display:flex}
 .nm-nav{display:none}
 .nm-nav.is-open{display:block;position:fixed;left:0;right:0;top:var(--nm-top,64px);bottom:0;z-index:60;overflow-y:auto;overscroll-behavior:contain;background:#101212;padding:6px 22px 32px;border-top:1px solid var(--line)}
 .nm-item{border-bottom:1px solid var(--line)}
 .nm-top,.nm-link{width:100%;height:58px;padding:0;border-radius:0;justify-content:space-between;font-size:18px;color:var(--ink);background:none!important}
 .nm-chev{width:14px;height:14px}
 .nm-panel{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;background:none;transition:none}
 .nm-item.is-open .nm-panel{display:block}
 .nm-panel-in{grid-template-columns:1fr!important;gap:18px;padding:2px 0 20px!important}
 .nm-panel .wrap{padding-inline:0}
 .nm-promo{display:none!important}
 .nm-cards{grid-template-columns:1fr 1fr}
 .nm-card{padding:14px}
 .nm-svc{gap:10px}
 .nm-col li a{font-size:16px;padding:8px 0}
 .nm-mobile-cta{display:grid;gap:10px;margin-top:24px}
 .nm-mobile-cta .btn{width:100%;justify-content:center;min-height:52px}
 .nm-mobile-cta p{margin:6px 0 0;text-align:center;font:400 12px/1.5 var(--mono);color:var(--muted)}
}
/* Карта сайта в подвале */
.nm-footer{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:28px;margin-top:30px;padding:30px 0;border-top:1px solid var(--line)}
.nm-fcol li a{display:block;padding:4px 0;font-size:14px;line-height:1.5;color:var(--muted);transition:color .15s}
.nm-fcol li a:hover{color:var(--orange)}
@media(max-width:1000px){.nm-footer{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.nm-footer{grid-template-columns:1fr 1fr;gap:22px 18px}}
/* Навигационные блоки в теле страниц */
.nm-sect{border-top:1px solid var(--line)}
.nm-sect-t{font-size:clamp(30px,3.2vw,46px);font-weight:300;line-height:1.14;letter-spacing:-.05em;margin:14px 0 30px}
.nm-sub{font-size:20px;font-weight:400;letter-spacing:-.02em;margin:34px 0 14px;color:var(--ink)}
.nm-card-hub{border-color:#ff815855;background:linear-gradient(135deg,#2a1d17,#171b19 70%)}
.nm-chips{display:flex;flex-wrap:wrap;gap:10px}
.nm-chips a{padding:10px 16px;border:1px solid var(--line);border-radius:40px;font-size:14px;color:#d3dbd5;transition:border-color .2s,color .2s}
.nm-chips a:hover{border-color:var(--orange);color:var(--orange)}
.nm-allgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px}
.nm-allgrid .nm-col li a{font-size:15px}
.svc-other .nm-cards{margin-top:0}
@media(max-width:1180px){.nm-allgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.nm-sect .nm-cards,.svc-other .nm-cards{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.nm-allgrid{grid-template-columns:1fr 1fr;gap:22px 18px}.nm-sect .nm-cards,.svc-other .nm-cards{grid-template-columns:1fr}.nm-sect .nm-card,.svc-other .nm-card{padding:14px 16px}}
.nm-obj .nm-cards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.nm-obj .nm-card{padding:14px 16px}
.nm-obj .nm-h{margin-bottom:14px}
.nm-objgrid{margin:6px 0 22px}
@media(max-width:1180px){.nm-obj .nm-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1000px){.nm-obj .nm-cards{grid-template-columns:1fr 1fr}}
.w1-body .nm-objgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:600px){.w1-body .nm-objgrid{grid-template-columns:1fr 1fr;gap:8px}.w1-body .nm-objgrid .nm-card{padding:12px}.w1-body .nm-objgrid .nm-card b{font-size:15px}.w1-body .nm-objgrid .nm-card span{font-size:12px}}
/* Навигация по странице: прогресс, плавающее содержание, наверх */
main#main>section[id]{scroll-margin-top:64px}
.pn-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:70;pointer-events:none}
.pn-progress span{display:block;height:100%;background:var(--orange);transform-origin:0 50%;transform:scaleX(0)}
.pn-dock{position:fixed;right:24px;bottom:24px;z-index:55;display:flex;align-items:flex-end;gap:8px}
.pn-dock[hidden]{display:none}
.pn-toggle,.pn-top{display:flex;align-items:center;gap:10px;min-height:52px;border:1px solid var(--line);border-radius:40px;background:#141817f2;color:var(--ink);font:inherit;cursor:pointer;box-shadow:0 12px 30px #0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:border-color .2s}
.pn-toggle{padding:6px 20px 6px 16px;max-width:340px;text-align:left}
.pn-top{justify-content:center;width:52px;padding:0}
.pn-toggle:hover,.pn-top:hover,.pn-dock.is-open .pn-toggle{border-color:var(--orange)}
.pn-toggle:focus-visible,.pn-top:focus-visible,.pn-list a:focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.pn-toggle svg,.pn-top svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.6}
.pn-t{display:flex;flex-direction:column;min-width:0}
.pn-t small{font:400 11px/1.3 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.pn-cur{font-weight:400;font-size:14px;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pn-list{position:absolute;right:0;bottom:62px;width:min(380px,calc(100vw - 32px));max-height:min(70vh,560px);overflow-y:auto;overscroll-behavior:contain;padding:14px 8px 10px;border:1px solid var(--line);border-radius:10px;background:#141817;box-shadow:0 24px 60px #000b}
.pn-h{font:400 11px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 12px 8px}
.pn-list ol{list-style:none;margin:0;padding:0}
.pn-list a{display:flex;gap:12px;padding:10px 12px;border-radius:6px;font-size:15px;line-height:1.4;color:#d3dbd5}
.pn-list a span{font:400 12px/1.9 var(--mono);color:var(--muted);flex:none}
.pn-list a:hover{background:#ffffff0a;color:var(--ink)}
.pn-list a[aria-current]{background:#ff81581a;color:var(--orange)}
.pn-list a[aria-current] span{color:var(--orange)}
@media(max-width:1000px){
 .pn-dock{left:12px;right:12px;bottom:12px}
 .pn-toggle{flex:1;max-width:none}
 .pn-list{left:0;right:0;width:auto;bottom:62px;max-height:65vh}
 .footer{padding-bottom:84px}
}
@media(prefers-reduced-motion:reduce){.pn-progress span{transition:none}}
/* Оглавление первого экрана: на компьютере — открыто, на телефоне — сворачиваемый блок */
.w1-tocbox>summary{display:none}
@media(max-width:1000px){
 .w1-tocbox{margin-top:26px;border:1px solid var(--line);border-radius:8px;background:#141817}
 .w1-tocbox>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:0 16px;cursor:pointer;list-style:none;font-size:15px;color:var(--ink)}
 .w1-tocbox>summary::-webkit-details-marker{display:none}
 .w1-tocbox>summary span{font:400 12px/1.4 var(--mono);color:var(--muted);margin-left:auto;white-space:nowrap}
 .w1-tocbox>summary::after{content:"";width:9px;height:9px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg) translateY(-3px);transition:transform .2s;flex:none}
 .w1-tocbox[open]>summary::after{transform:rotate(-135deg) translateY(-2px)}
 .w1-tocbox .w1-toc{margin:0;padding:4px 16px 16px;gap:8px}
}
/* Полоса из трёх показателей под первым экраном: на узком экране — список */
@media(max-width:700px){
 .svc-strip.hero-strip{grid-template-columns:1fr;gap:0;padding-block:8px 18px}
 .svc-strip.hero-strip>div{display:grid;grid-template-columns:minmax(0,46%) minmax(0,1fr);gap:14px;align-items:center;padding:14px 0;border-left:0!important;padding-left:0!important}
 .svc-strip.hero-strip>div+div{border-top:1px solid var(--line)}
 .svc-strip.hero-strip b,.svc-strip.hero-strip>div:last-child b{font-size:26px;white-space:normal;overflow-wrap:anywhere}
 .svc-strip.hero-strip p{font-size:13px}
}
/* ===== Мобильная вёрстка: ничего не шире экрана, длинные слова переносятся, удобные зоны нажатия ===== */
h1,h2,h3,.nm-card b{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
.nm-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1000px){
 .nm-cards,.nm-obj .nm-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .nm-card span{overflow-wrap:anywhere}
 .contact-grid,.airlab-grid,.faq-grid,.w1-grid{grid-template-columns:minmax(0,1fr)!important}
 .contact-grid>*,.airlab-grid>*,.lead-form,.lead-form *{min-width:0}
 .airlab-grid{height:auto!important;max-height:none!important}
 .airlab-scene-wrap{flex:none!important;aspect-ratio:800/480!important}
 .lead-form select,.lead-form .field input,.lead-form textarea{width:100%;max-width:100%}
 .lead-form .consent{align-items:flex-start}
 .lead-form .consent span{flex:1;min-width:0}
 .lead-form .photos-drop{flex-wrap:wrap}
 .lead-form .photos-button{white-space:normal}
}
@media(max-width:400px){
 .lead-form .photos-button::after{display:none}
 .lead-form .photos-button{white-space:nowrap}
 .trust-fact-label{white-space:normal}
 /* зоны нажатия не меньше 44 px */
 .footer a,.hero-contacts a,.contact-direct-links a,.text-link{display:inline-flex;align-items:center;min-height:44px}
 .crumbs a{display:inline-block;padding-block:10px}
 .w1-toc a{min-height:40px}
 .svc-rates a,.repair-rate,.airlab button,.price-link{min-height:44px}
 .nm-fcol li a{min-height:40px;display:flex;align-items:center;padding:0}
 .footer .brand{min-height:44px}
}
@media(max-width:600px){
 .client-sector,.clients-meta,.airlab-label,.airlab-clock,.airlab-source,.airlab-scale-labels span,.airlab-control i{font-size:12px!important}
 .airlab-clock b{font-size:inherit!important}
}
@media(max-width:420px){
 .svc-hero h1{font-size:clamp(28px,8.4vw,36px);letter-spacing:-.04em}
 #contact h2,.contact h2{font-size:clamp(30px,9.5vw,40px)}
 .lead-form{padding:18px 14px}
 .lead-form .form-row{grid-template-columns:minmax(0,1fr)!important}
 .lead-form .object-options{flex-wrap:wrap}
 .svc-other-title,.nm-sect-t{font-size:30px}
}
@media(max-width:400px){
 .airlab-panel{grid-template-columns:minmax(0,1fr)!important;height:auto!important;max-height:none!important;overflow:visible!important}
 .airlab-panel>*{grid-column:1 / -1!important;grid-row:auto!important;min-width:0}
 .airlab-scale-labels{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 /* карточки объектов в меню — в один столбец, без переноса слов посередине */
 .nm-nav .nm-cards{grid-template-columns:minmax(0,1fr)!important;gap:8px}
 .nm-nav .nm-card{display:flex;flex-direction:column;padding:12px 14px}
 .nm-nav .nm-card b{font-size:16px}
}
@media(max-width:1000px){.footer .footer-legal a,.footer .footer-legal button{display:flex;align-items:center;min-height:44px}}
@media(max-width:400px){.trust-fact{flex-direction:column;align-items:flex-start;gap:2px}.trust-fact-label{white-space:normal}}
/* картинки с атрибутами width/height сохраняют пропорции (атрибут height не должен растягивать фото) */
img{max-width:100%;height:auto}
@media(max-width:480px){.process-photo img{aspect-ratio:3/2}}
/* Страницы компании: контакты, реквизиты, отрасли */
.co-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.co-card{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border:1px solid var(--line);border-radius:8px;background:#171b19}
.co-card p:not(.eyebrow){color:var(--muted);font-size:14px;line-height:1.6}
.co-big{font-size:22px;line-height:1.35;color:var(--ink);overflow-wrap:anywhere}
a.co-big{display:inline-flex;align-items:center;min-height:40px}
a.co-big:hover{color:var(--orange)}
.co-mail{font-size:18px}
.co-map{margin:24px 0 0;border:1px solid var(--line);border-radius:8px;overflow:hidden;aspect-ratio:16/7;background:#171b19}
.co-map iframe{display:block;width:100%;height:100%;border:0}
.co-req{margin:0 0 22px;padding:22px 24px;border:1px solid var(--line);border-radius:8px;background:#171b19;font:400 14px/1.9 var(--mono);color:#d3dbd5}
.co-req b{font-weight:400;color:var(--ink)}
.co-sectors{margin-bottom:26px}
.co-sectors span{padding:10px 16px;border:1px solid var(--line);border-radius:40px;font-size:14px;color:#d3dbd5}
.co-figure{margin:0 0 30px}
.co-all{margin-top:28px}
@media(max-width:1000px){.co-grid{grid-template-columns:minmax(0,1fr)}.co-map{aspect-ratio:4/3}.co-big{font-size:20px}}

/* Таблицы на телефоне — карточки: строка = блок, у значений подпись колонки */
@media(max-width:600px){
 .w1-table-cards{min-width:0!important;border:0}
 .w1-table-cards thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .w1-table-cards,.w1-table-cards tbody,.w1-table-cards tr,.w1-table-cards th,.w1-table-cards td{display:block;width:100%}
 .w1-table-cards caption{display:block;padding-bottom:12px}
 .w1-table-cards tr{margin:0 0 10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#171b19}
 .w1-table-cards tbody th{padding:0 0 8px;border:0;font-size:16px;line-height:1.45}
 .w1-table-cards td{padding:8px 0 0;border:0;border-top:1px solid #ffffff10}
 .w1-table-cards td::before{content:attr(data-label);display:block;margin-bottom:3px;font:400 11px/1.4 var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
 .w1-table-wrap:has(.w1-table-cards){overflow:visible}
 .w1-table-2 td::before{display:none}
 .w1-table-2 td{border-top:0;padding-top:2px;color:#cfd5d1}
}
