.header {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    padding-block: 20px;
    --fg: var(--bg); --fg-soft: rgba(255,255,255,.75);
    color: var(--fg); border-bottom: 1px solid transparent;
    transition: background .4s var(--ease), border-color .4s var(--ease), padding .4s var(--ease), color .4s var(--ease);
}
.header.is-solid {
    --fg: var(--ink); --fg-soft: rgba(20,40,60,.6);
    background: rgba(255,255,255,.92);
    backdrop-filter: saturate(150%) blur(20px);
    -webkit-backdrop-filter: saturate(150%) blur(20px);
    border-bottom-color: var(--line);
    padding-block: 14px;
}
.header-inner { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 32px; }

.logo { display: inline-flex; align-items: center; flex-shrink: 0; }
.logo-img { display: block; height: 32px; width: auto; }
.logo-img--dark { display: none; }
.header.is-solid .logo-img--light { display: none; }
.header.is-solid .logo-img--dark { display: block; }

.nav { display: flex; justify-content: center; gap: 28px; font-size: 13px; font-weight: 500; }
.nav-link { color: var(--fg-soft); padding: 6px 0 8px; transition: color .2s; position: relative; }
.nav-link::before { content: ''; position: absolute; left: 0; bottom: 2px; width: 0; height: 1px; background: currentColor; transition: width .35s var(--ease); }
.nav-link:hover, .nav-link.active { color: var(--fg); }
.nav-link:hover::before, .nav-link.active::before { width: 100%; }

.header-actions { display: flex; align-items: center; gap: 24px; }
.header-phone { display: inline-flex; align-items: center; gap: 10px; font-family: var(--font-mono); font-size: 12px; color: var(--fg); white-space: nowrap; }
.header-phone-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(74,157,124,.2); animation: pulse 2.4s ease-in-out infinite; flex-shrink: 0; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }
.header-phone:hover { opacity: .7; }

.burger-btn { display: none; flex-direction: column; gap: 6px; width: 32px; padding: 0; color: var(--fg); }
.burger-btn span { display: block; width: 100%; height: 1.5px; background: currentColor; transition: transform .3s, opacity .3s; }
.burger-btn.active span:nth-child(1) { transform: translateY(3.75px) rotate(45deg); }
.burger-btn.active span:nth-child(2) { transform: translateY(-3.75px) rotate(-45deg); }

@media (max-width: 900px) {
    .header-inner { grid-template-columns: auto auto; justify-content: space-between; }
    .header-phone { display: none; }
    .burger-btn { display: flex; }
    .nav {
        position: fixed; top: 0; right: 0; width: min(380px, 90vw); height: 100dvh;
        background: var(--bg); flex-direction: column; justify-content: center;
        align-items: flex-start; padding: 80px 44px; gap: 22px; z-index: 95;
        transform: translateX(100%); transition: transform .5s var(--ease);
        box-shadow: -24px 0 60px rgba(0,0,0,.14);
    }
    .nav.is-open { transform: translateX(0); }
    .nav-link { color: var(--ink); font-family: var(--font-display); font-weight: 700; font-size: 32px; padding: 4px 0; }
    .nav-link::before { display: none; }
    .header.is-menu-open { --fg: var(--ink); --fg-soft: var(--ink-soft); }
    .header.is-menu-open .logo, .header.is-menu-open .burger-btn { color: var(--ink); }
}