/* SITE_HEADER_2026_08_09 — шапка сайта, общая для всех страниц.
   Собрана из стилей главной, чтобы одну и ту же шапку не держать
   в каждом файле по отдельности. */
.nv-sitehead{overflow:visible;}
.nv-sitehead .nv-hrow{padding:16px 0;}
.nv-root{--nv-bg:#02010c; --nv-bg2:#02010c; /* blackfix-done */
        --nv-card:rgba(255,255,255,0.045);
        --nv-border:rgba(255,255,255,0.09);
        --nv-pur:#8b5cf6; --nv-pur2:#6d28d9;
        --nv-txt:#ffffff; --nv-mut:#9c95ad;
        background:var(--nv-bg);
        color:var(--nv-txt);
        font-family:-apple-system,'Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
        position:relative; overflow:hidden;}
.nv-root *{box-sizing:border-box;}
.nv-root a{text-decoration:none;color:inherit;}
.nv-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;padding:0 24px;}
/* ---- HEADER ---- */
    .nv-header{position:relative;}
.nv-hrow{display:flex;align-items:center;gap:26px;padding:18px 0;}
.nv-logo{display:flex;flex-direction:column;line-height:1;flex:0 0 auto;}
.nv-logo b{font-size:24px;font-weight:800;letter-spacing:.5px;}
.nv-logo b i{color:var(--nv-pur);font-style:normal;}
.nv-logo span{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:var(--nv-mut);margin-top:3px;text-align:center;}
.nv-addr{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--nv-mut);flex:0 0 auto;text-decoration:none;cursor:pointer;transition:color .2s;}
.nv-addr:hover{color:var(--nv-pur);}
.nv-addr svg{width:16px;height:16px;fill:var(--nv-pur);flex:0 0 auto;}
.nv-addr small{display:block;opacity:.75;margin-top:2px;}
.nv-nav{display:flex;gap:24px;margin-left:auto;}
.nv-nav a{font-size:14px;color:#d6d1e0;transition:color .15s;white-space:nowrap;}
.nv-nav a:hover{color:var(--nv-pur);}
.nv-phone{display:flex;align-items:center;gap:7px;font-size:15px;font-weight:700;white-space:nowrap;}
.nv-phone svg{width:16px;height:16px;fill:var(--nv-pur);}
.nv-cta{background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;border:0;
        font-size:14px;font-weight:700;padding:12px 22px;border-radius:12px;cursor:pointer;
        box-shadow:0 8px 24px rgba(124,58,237,0.40);transition:transform .12s;white-space:nowrap;}
.nv-cta:hover{transform:translateY(-1px);}
.nv-burger{display:none;background:var(--nv-card);border:1px solid var(--nv-border);
        color:#fff;font-size:20px;width:44px;height:44px;border-radius:11px;cursor:pointer;}
.nv-phone-img{width:115%;max-width:none;max-height:none;height:auto;margin:0 -7.5%;
        animation:nv-phone-float 5.5s ease-in-out infinite;will-change:transform;}
@media(prefers-reduced-motion:reduce){
.nv-phone-img{animation:none;}
}
.nv-phone-label{position:absolute;top:38%;left:48%;transform:translate(calc(-50% + 40px),-50%) rotate(5deg);text-align:center;color:#fff;pointer-events:none;z-index:2;text-shadow:0 2px 14px rgba(0,0,0,.6);}
.nv-phone-label b{display:block;font-size:26px;font-weight:800;letter-spacing:1px;line-height:1;}
.nv-phone-label b i{color:var(--nv-pur);font-style:normal;}
.nv-phone-label span{display:block;margin-top:4px;font-size:8px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.75);}
@media (max-width:768px){
.nv-phone-label b{font-size:20px;}
.nv-phone-label span{font-size:7px;letter-spacing:2px;}
}
@media(max-width:1080px){
.nv-addr{display:none;}
.nv-nav{gap:16px;}
}
@media(max-width:860px){
.nv-nav,.nv-phone,.nv-cta{display:none;}
.nv-burger{display:block;margin-left:auto;}
.nv-phone-img{max-height:340px;}
.nv-mnav.open{display:flex;}
}
/* мобильное меню */
    .nv-mnav{display:none;flex-direction:column;gap:4px;padding:10px 0 16px;}
.nv-mnav a{padding:12px 14px;border-radius:11px;font-size:15px;color:#d6d1e0;
        background:var(--nv-card);border:1px solid var(--nv-border);}
.nv-mnav .nv-cta{display:block;text-align:center;margin-top:6px;}

/* Шапке нужна вся ширина главной: в контейнер внутренних страниц (1100px)
   адрес, меню, телефон и кнопка вместе не помещаются — кнопка уезжала
   за край экрана. Промежутки чуть уже, чтобы ряд влезал без обрезки. */
.nv-sitehead .nv-inner{max-width:1280px;}
.nv-sitehead .nv-hrow{gap:20px;}
@media(max-width:1240px){.nv-sitehead .nv-addr{display:none;}}

/* Между 860 и 1000 пикселями меню с телефоном и кнопкой в ряд уже не влезает,
   а бургер ещё не включался — кнопка выходила за край. Переключаемся раньше. */
@media(max-width:1000px){
.nv-sitehead .nv-nav,.nv-sitehead .nv-phone,.nv-sitehead .nv-hrow>.nv-cta{display:none;}
.nv-sitehead .nv-burger{display:block;margin-left:auto;}
.nv-sitehead .nv-mnav.open{display:flex;}
}
