/* NIBS — навигация, полноэкранное меню, токены как в index (через наследование) */
#nav{position:fixed;top:0;left:0;right:0;z-index:200;transition:background .4s,backdrop-filter .4s,border-color .4s,box-shadow .4s,transform .2s;color:var(--ink);--nav-h:76px;min-height:var(--nav-h);isolation:isolate}
#nav.solid{background:rgba(255,255,255,.75);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid rgba(10,22,40,.06);box-shadow:0 4px 20px rgba(10,22,40,.05)}
#nav.is-open{z-index:10000;background:rgba(255,255,255,.98)!important;backdrop-filter:blur(16px) saturate(150%)!important;-webkit-backdrop-filter:blur(16px) saturate(150%)!important;border-bottom:1px solid rgba(10,22,40,.1)!important;box-shadow:0 4px 24px rgba(10,22,40,.1)!important}

body:not(.nibs-home) #nav{background:rgba(255,255,255,.75);backdrop-filter:blur(22px) saturate(160%);-webkit-backdrop-filter:blur(22px) saturate(160%);border-bottom:1px solid rgba(10,22,40,.06);box-shadow:0 4px 20px rgba(10,22,40,.05)}

#nav .nav-inner{max-width:1200px;margin:0 auto;padding:0 max(16px,5vw);min-height:var(--nav-h);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px 20px;position:relative;z-index:30;box-sizing:border-box}
#nav .logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;font-weight:800;font-size:15px;letter-spacing:-.3px;justify-self:start}
#nav .logo-img{height:48px;width:auto;display:block;transition:transform .25s}
#nav .logo:hover .logo-img{transform:translateY(-1px)}

.nav-primary{display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,28px);flex-wrap:wrap;min-width:0}
.nav-primary a{color:var(--ink-muted);font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap;transition:color .2s,transform .2s}
.nav-primary a:hover,.nav-primary a:focus-visible{color:var(--ink);transform:translateY(-1px)}

.nav-r{display:flex;align-items:center;gap:clamp(8px,1.2vw,20px);flex-shrink:0;justify-self:end;min-width:0;position:relative;z-index:35}
.nav-tel{color:var(--ink);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap;letter-spacing:-.2px;transition:color .2s;flex-shrink:0}
.nav-tel:hover,.nav-tel:focus-visible{color:var(--cyan-d)}

.nav-burger{display:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;border:1px solid var(--border-s);background:var(--surface);color:var(--ink);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;flex-shrink:0;position:relative;box-shadow:0 2px 10px rgba(10,22,40,.05)}
.nav-burger:hover,.nav-burger:focus-visible{background:var(--bg-alt);border-color:var(--cyan-d);box-shadow:0 6px 20px rgba(54,47,127,.1)}
#nav.is-open .nav-burger{background:rgba(54,47,127,.1);border-color:var(--cyan-d);color:var(--cyan-d)}
.nav-burger-line{display:block;width:20px;height:2px;border-radius:1px;background:currentColor;position:absolute;left:50%;margin-left:-10px;transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .25s,top .35s}
.nav-burger-line:nth-child(1){top:calc(50% - 7px)}
.nav-burger-line:nth-child(2){top:50%;margin-top:-1px}
.nav-burger-line:nth-child(3){top:calc(50% + 7px)}
#nav.is-open .nav-burger .nav-burger-line:nth-child(1){top:50%;margin-top:-1px;transform:rotate(45deg)}
#nav.is-open .nav-burger .nav-burger-line:nth-child(2){opacity:0;transform:scaleX(.1)}
#nav.is-open .nav-burger .nav-burger-line:nth-child(3){top:50%;margin-top:-1px;transform:rotate(-45deg)}

.nav-cta--bar{display:inline-flex;background:linear-gradient(135deg,var(--cyan-d) 0%,#4E68C4 100%);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-family:inherit;font-weight:800;font-size:12.5px;letter-spacing:.2px;cursor:pointer;text-decoration:none;align-items:center;justify-content:center;white-space:nowrap;transition:box-shadow .25s,transform .2s,filter .2s;flex-shrink:0;box-shadow:0 8px 22px rgba(54,47,127,.28)}
a.nav-cta--bar,button.nav-cta--bar{color:#fff}
.nav-cta--bar:hover,.nav-cta--bar:focus-visible{transform:translateY(-2px);box-shadow:0 12px 32px rgba(54,47,127,.4);filter:brightness(1.04)}

/* ——— Затемнение, полноэкран, под шапкой (шапка выше) ——— */
.nav-overlay{position:fixed;inset:0;z-index:8;background:linear-gradient(180deg,rgba(10,22,40,.58) 0%,rgba(10,22,40,.42) 100%);opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s;pointer-events:none}
#nav .nav-overlay{z-index:8}
.nav-overlay.is-open{opacity:1;visibility:visible;pointer-events:auto}

/* Панель на весь экран */
.nav-drawer{position:fixed;inset:0;z-index:9;display:flex;flex-direction:column;min-height:100dvh;max-height:100dvh;pointer-events:none;overflow:hidden;transform:translateX(0);background:var(--bg-alt);border:none;box-shadow:none;transition:opacity .45s ease,visibility .45s,transform .5s cubic-bezier(.16,1,.3,1);opacity:0;visibility:hidden}
#nav .nav-drawer{will-change:opacity,transform;z-index:9}
.nav-drawer.is-open{pointer-events:auto;opacity:1;visibility:visible}

.nd-surface{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(ellipse 100% 80% at 50% -20%,rgba(54,47,127,.2),transparent 60%),radial-gradient(ellipse 60% 50% at 100% 0%,rgba(241,109,26,.1),transparent 50%),var(--bg-alt);background-size:auto,auto,100%}
.nd-surface::before{content:'';position:absolute;inset:0;opacity:.45;background-image:linear-gradient(rgba(54,47,127,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(54,47,127,.1) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse 100% 70% at 50% 40%,#000 0%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse 100% 70% at 50% 40%,#000 0%,transparent 70%)}
.nd-surface::after{content:'';position:absolute;inset:0;pointer-events:none;border-top:1px solid rgba(255,255,255,.4);box-shadow:inset 0 1px 0 rgba(255,255,255,.25)}

/* Контент под фиксированной шапкой: отступ = высота bar */
.nd-scroller{position:relative;z-index:1;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:var(--nav-h) max(5vw,20px) 24px;-webkit-overflow-scrolling:touch}
.nd-head{padding:clamp(8px,2vw,20px) 0 22px;max-width:min(100%,1200px);margin:0 auto 8px}
.nd-eyebrow{font-size:11px;font-weight:800;letter-spacing:2.4px;text-transform:uppercase;color:var(--cyan-d);margin-bottom:10px}
#nav-drawer-title.nd-voice,.nd-voice{font-size:clamp(22px,4.2vw,34px);font-weight:800;letter-spacing:-.9px;line-height:1.12;margin:0;color:var(--ink)}
.nd-lead{margin-top:10px;font-size:14px;font-weight:600;color:var(--ink-body);line-height:1.5;max-width:42ch}
/* «Как отрасли» — верхние 3 */
.nd-tiles{display:grid;grid-template-columns:1fr;gap:10px;max-width:min(100%,1200px);margin:0 auto 32px}
@media(min-width:720px){
  .nd-tiles{grid-template-columns:repeat(3,1fr);gap:12px}
}
.nd-tile{display:flex;align-items:center;gap:16px;padding:clamp(16px,3vw,22px) 18px;border-radius:16px;border:1px solid var(--border);background:var(--surface);text-decoration:none;transition:transform .3s,box-shadow .3s,border-color .2s,background .2s;min-height:88px;box-shadow:0 4px 18px rgba(10,22,40,.05)}
.nd-tile:hover,.nd-tile:focus-visible{transform:translateY(-2px);border-color:rgba(54,47,127,.3);box-shadow:0 18px 44px rgba(54,47,127,.14),0 4px 12px rgba(10,22,40,.04)}
.nd-ic{width:48px;height:48px;border-radius:14px;background:linear-gradient(145deg,rgba(54,47,127,.12),rgba(65,90,180,.1));color:var(--cyan-d);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(54,47,127,.1);border:1px solid rgba(54,47,127,.15);flex-shrink:0}
.nd-ic svg{width:24px;height:24px;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.nd-ic svg *{fill:none;vector-effect:non-scaling-stroke}
.nd-tile-t{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1}
.nd-num{font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--ink-muted)}
.nd-name{font-size:clamp(20px,3.6vw,28px);font-weight:800;letter-spacing:-.5px;color:var(--ink);line-height:1.05;transition:color .2s}
.nd-tile:hover .nd-name,.nd-tile:focus-visible .nd-name{color:var(--cyan-d)}
.nd-tile .nd-arc{font-size:20px;font-weight:300;font-style:normal;color:var(--ink-muted);line-height:1;transition:color .2s,transform .25s;flex-shrink:0}
.nd-tile:hover .nd-arc,.nd-tile:focus-visible .nd-arc{color:var(--orange);transform:translate(2px,-2px) rotate(45deg)}

/* «Рельс» внизу, как ind-строки */
.nd-rail-eyebrow{max-width:min(100%,1200px);margin:0 auto 12px;padding-top:4px;padding-bottom:0;font-size:10px;font-weight:800;letter-spacing:1.4px;text-transform:uppercase;color:var(--ink-muted)}
.nd-rail{list-style:none;max-width:min(100%,1200px);margin:0 auto 24px;border-top:1px solid var(--border)}
.nd-rail li{border-bottom:1px solid var(--border);margin:0}
.nd-link{display:grid;grid-template-columns:36px 1fr auto;align-items:center;column-gap:14px;padding:14px 6px;min-height:64px;font-size:clamp(16px,2.2vw,18px);font-weight:700;text-decoration:none;transition:background .25s,transform .25s;color:var(--ink);letter-spacing:-.2px}
.nd-link .nd-ic-s{width:36px;height:36px;border-radius:10px;background:var(--surface);color:var(--cyan-d);display:flex;align-items:center;justify-content:center;border:1px solid var(--border);box-shadow:0 2px 6px rgba(10,22,40,.04)}
.nd-link .nd-ic-s svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.nd-txt{color:var(--ink-body);font-weight:600;transition:color .2s}
.nd-link .nd-arc2{font-size:20px;font-weight:300;color:var(--ink-muted);transition:color .25s,transform .2s}
.nd-link:hover,.nd-link:focus-visible{background:var(--surface);transform:translateX(2px)}
.nd-link:hover .nd-arc2,.nd-link:focus-visible .nd-arc2{color:var(--cyan-d);transform:translateX(3px)}
.nd-link:hover .nd-txt,.nd-link:focus-visible .nd-txt{color:var(--ink)}
a.nd-link.nav-link--active .nd-ic-s{background:rgba(54,47,127,.1);border-color:rgba(54,47,127,.2)}
a.nd-link.nav-link--active .nd-txt{color:var(--ink);font-weight:800}

/* CTA внизу панели — только в мобильном полноэкранном меню (на ПК панель скрыта) */
.nd-cta-outer{flex-shrink:0;padding:16px max(5vw,20px) max(20px,env(safe-area-inset-bottom,20px));z-index:2;position:relative;background:linear-gradient(0deg,rgba(246,248,252,1) 0%,rgba(246,248,252,.92) 100%);border-top:1px solid var(--border);box-shadow:0 -12px 32px rgba(10,22,40,.04)}
@media(min-width:901px){
  .nd-cta-outer{display:none!important}
}
a.nav-cta--drawer{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;max-width:min(100%,400px);margin:0 auto;padding:16px 24px;box-sizing:border-box;border-radius:12px;font-size:16px;font-weight:800;letter-spacing:.1px;background:linear-gradient(135deg,var(--cyan-d) 0%,#4E68C4 100%);color:#fff;text-decoration:none;transition:transform .2s,box-shadow .2s,filter .2s;box-shadow:0 12px 32px rgba(54,47,127,.3)}
a.nav-cta--drawer .nd-cta-ico{font-size:18px;line-height:1;opacity:.95;transition:transform .25s}
a.nav-cta--drawer:hover,a.nav-cta--drawer:focus-visible{transform:translateY(-2px);box-shadow:0 18px 40px rgba(54,47,127,.4);filter:brightness(1.04)}
a.nav-cta--drawer:hover .nd-cta-ico{transform:translate(3px)}

/* ПК: полноэкранное меню (бургер) отключено — в шапке ссылки, телефон, CTA */
@media(min-width:901px){
  .nav-primary{display:flex}
  .nav-burger{display:none!important}
  .nav-overlay{display:none!important;pointer-events:none!important}
  .nav-drawer{display:none!important;pointer-events:none!important}
  .nav-cta--bar{display:inline-flex}
}

/* Мобилка: бургер, оверлей, выезжающая панель и CTA внизу панели */
@media(max-width:900px){
  .nav-tel{font-size:12.5px;max-width:44vw;overflow:hidden;text-overflow:ellipsis}
  #nav .nav-inner{grid-template-columns:1fr auto;gap:6px;--nav-h:68px}
  .nav-primary{display:none}
  .nav-cta--bar{display:none!important}
  .nav-burger{display:inline-flex}
  .nav-overlay{display:block!important}
  .nav-drawer{display:flex!important}
  .nd-cta-outer{display:block!important}
  .nd-scroller{padding-bottom:16px}
}

html.nav-open,body.nav-open{overflow:hidden;overscroll-behavior:none;touch-action:none}
