/* Kastl Group — GOD-ХЕДЕР «штамп чертежа». Подключается на всех страницах. */

.ghdr{--util-h:32px}

/* ---------- утилитарная полоса ---------- */
.ghdr-util{
  border-bottom:1px solid var(--line);
  background:rgba(9,13,19,.55);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  max-height:var(--util-h);overflow:hidden;
  transition:max-height .3s ease,opacity .3s ease,border-color .3s;
}
.ghdr-util__in{display:flex;align-items:center;gap:22px;height:var(--util-h);
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--dim)}
.gu-spacer{margin-left:auto}
.ghdr-util a.gu{color:var(--dim);transition:color .2s}
.ghdr-util a.gu:hover{color:var(--arc-hot)}
.gu-badge{color:var(--arc-hot);border:1px solid rgba(47,107,255,.4);padding:2px 8px;border-radius:3px}
.gu-geo{color:var(--ink)}
/* коллапс на скролле */
.ghdr.scrolled .ghdr-util{max-height:0;opacity:0;border-color:transparent}

/* ---------- основная планка ---------- */
.ghdr-main{transition:background .3s,border-color .3s}
.ghdr.scrolled{background:rgba(9,13,19,.88);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom-color:var(--line);box-shadow:0 12px 40px rgba(0,0,0,.4)}
.ghdr.scrolled::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:linear-gradient(90deg,transparent,var(--arc),transparent);opacity:.5}
.ghdr-main__in{display:flex;align-items:center;gap:26px;height:68px}

/* лого-локап */
.glogo{display:flex;align-items:center;gap:12px;flex:none}
.glogo__txt{display:flex;flex-direction:column;line-height:1}
.glogo__txt b{font-family:var(--display);font-weight:400;font-size:22px;letter-spacing:.09em;color:var(--ink)}
.glogo__txt i{font-family:var(--mono);font-style:normal;font-size:9px;letter-spacing:.18em;color:var(--dim);margin-top:3px;text-transform:uppercase}

/* навигация */
.gnav{display:flex;align-items:center;gap:4px;margin-left:8px}
.gnav__item{position:relative}
.gnav__link{
  display:inline-flex;align-items:center;gap:8px;background:none;border:0;
  font-family:var(--body);font-size:14px;font-weight:500;color:var(--dim);
  padding:10px 14px;border-radius:4px;transition:color .2s,background .2s;white-space:nowrap;
}
.gnav__link:hover,.gnav__item.open .gnav__link{color:var(--ink);background:rgba(151,167,192,.06)}
.gnav__link .ax{
  font-family:var(--mono);font-size:9px;width:16px;height:16px;border:1px solid var(--line-strong);
  border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--dim);transition:border-color .2s,color .2s;
}
.gnav__link:hover .ax,.gnav__item.open .ax{border-color:var(--arc);color:var(--arc-hot)}
.gnav__item.has-mega > .gnav__link::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6;margin-left:2px;transition:transform .25s}
.gnav__item.open.has-mega > .gnav__link::after,.gnav__item:hover.has-mega > .gnav__link::after{transform:rotate(-135deg) translateY(2px)}
.gmega::before{content:"";position:absolute;left:0;right:0;top:-14px;height:14px}

/* мега-меню */
.gmega{
  position:absolute;top:calc(100% + 10px);left:0;z-index:70;
  width:620px;max-width:78vw;
  background:rgba(14,20,29,.97);
  -webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);
  border:1px solid var(--line-strong);border-radius:10px;
  box-shadow:0 24px 60px rgba(0,0,0,.55),inset 0 1px 0 rgba(233,237,244,.04);
  display:grid;grid-template-columns:1fr 220px;overflow:hidden;
  opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;
  transition:opacity .22s ease,transform .22s ease,visibility .22s;
  background-image:linear-gradient(rgba(124,148,192,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(124,148,192,.05) 1px,transparent 1px);
  background-size:34px 34px,34px 34px;
}
.gnav__item.open .gmega,.gnav__item:hover .gmega{opacity:1;visibility:visible;transform:none;pointer-events:auto}
.gmega__grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:14px;background:transparent}
.gmega__link{display:block;padding:13px 14px;border-radius:6px;transition:background .18s}
.gmega__link:hover{background:rgba(47,107,255,.1)}
.gmega__link b{display:block;font-size:14px;font-weight:600;color:var(--ink);margin-bottom:3px}
.gmega__link span{display:block;font-size:12px;color:var(--dim);line-height:1.4}
.gmega__aside{border-left:1px solid var(--line);padding:20px;display:flex;flex-direction:column;justify-content:center;gap:14px;background:rgba(9,13,19,.4)}
.gmega__kpi{display:flex;flex-direction:column;gap:2px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--dim)}
.gmega__kpi span:first-child{font-family:var(--display);font-size:30px;letter-spacing:.03em;color:var(--arc-hot);line-height:1}
.gmega__aside p{font-size:12.5px;color:var(--dim);line-height:1.5}
.gmega__aside .btn{width:100%}
.gmega__all{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--arc-hot);display:inline-block;transition:transform .2s}
.gmega__all:hover{transform:translateX(4px)}

/* правый кластер CTA */
.ghdr-cta{display:flex;align-items:center;gap:14px;margin-left:auto;flex:none}
.gphone{font-family:var(--mono);font-size:14px;letter-spacing:.02em;color:var(--ink);white-space:nowrap;transition:color .2s}
.gphone:hover{color:var(--arc-hot)}
.gmsg{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);display:flex;align-items:center;justify-content:center;color:var(--dim);transition:border-color .2s,color .2s,transform .15s}
.gmsg:hover{border-color:#25D366;color:#25D366;transform:translateY(-1px)}
.gmagnet{will-change:transform}

/* бургер */
.gburger{display:none;width:44px;height:44px;flex-direction:column;justify-content:center;align-items:center;gap:5px;background:none;border:1px solid var(--line-strong);border-radius:6px;margin-left:auto}
.gburger span{width:20px;height:2px;background:var(--ink);transition:transform .25s,opacity .2s}
.gburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.gburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.gburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* мобильное меню */
.gmob{position:fixed;inset:0 0 0 auto;width:min(420px,88vw);z-index:65;
  background:rgba(9,13,19,.98);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
  border-left:1px solid var(--line-strong);padding:96px 26px 30px;overflow-y:auto;
  transform:translateX(100%);visibility:hidden;
  transition:transform .32s cubic-bezier(.4,0,.2,1),visibility .32s}
.gmob.open{transform:none;visibility:visible}
.gmob__nav{display:flex;flex-direction:column}
.gmob__h{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--arc-hot);margin:22px 0 8px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.gmob__h:first-child{margin-top:0}
.gmob__nav a{padding:12px 0;font-size:16px;color:var(--ink);border-bottom:1px solid rgba(151,167,192,.07)}
.gmob__nav a:hover{color:var(--arc-hot)}
.gmob__foot{margin-top:28px;display:flex;flex-direction:column;gap:14px}
.gmob__foot .gphone{font-size:20px}
.gmob__foot .btn{width:100%}
.gmob-backdrop{position:fixed;inset:0;z-index:64;background:rgba(4,6,10,.6);opacity:0;pointer-events:none;transition:opacity .3s}
.gmob-backdrop.on{opacity:1;pointer-events:auto}

/* адаптив */
@media (max-width:1100px){
  .gnav,.ghdr-cta{display:none}
  .gburger{display:flex}
  .ghdr-util__in{gap:14px;font-size:10px}
  .gu-hours,.gu-mail{display:none}
}
@media (min-width:1101px){ .gmob{display:none!important} }
@media (max-width:560px){
  .glogo__txt i{display:none}
  .ghdr-util{display:none}
}
@media (prefers-reduced-motion:reduce){
  .gmega,.gmob,.ghdr-util,.gburger span{transition:none}
}

/* Логотип Kastl (assets/logo-256.png) — вместо старого инлайн-SVG */
.glogo__img{height:34px;width:auto;display:block;flex:none}
@media (max-width:640px){.glogo__img{height:28px}}

/* ── Fix hover-меню: мостик через зазор + грейс-период (2026-08-06) ──
   Старый мостик .gmega::before обрезался overflow:hidden самого меню.
   Новый живёт на родителе .gnav__item — его ничто не режет. */
.gnav__item.has-mega:hover::after,
.gnav__item.has-mega.open::after{
  content:"";position:absolute;left:0;top:100%;
  width:min(620px,78vw);height:12px;z-index:69;
}
/* закрытие с задержкой 150мс — соскок с курса не схлопывает меню */
.gmega{transition:opacity .18s ease .15s,transform .18s ease .15s,visibility .18s .15s}
.gnav__item.open .gmega,.gnav__item:hover .gmega{transition-delay:0s}
