.site-header{
    background:#000;
    color:#fff;
}

.site-header__top{
    background:#000;
    padding:4px 20px 0;
}

.site-header__inner{
    max-width:1180px;
    margin:0 auto;
}

.site-header__hero{
    position:relative;
    width:min(100%, 980px);
    height:150px;
    margin:0 auto;
    border-radius:24px 24px 0 0;
    overflow:hidden;
    background:#000;
    box-shadow:0 18px 40px rgba(0,0,0,0.18);
}

.site-header__hero-media{
    position:absolute;
    inset:0;
}

.site-header__hero-media img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.site-header__hero.has-image::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to bottom, rgba(0,0,0,0.18), rgba(0,0,0,0.38));
    pointer-events:none;
}

.site-header__hero-overlay{
    position:relative;
    z-index:2;
    height:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:16px;
}

.site-header__brand{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    line-height:0;
}

.logo{
    width:180px;
    display:block;
}

.subtitle{
    opacity:0.78;
    margin-top:8px;
    letter-spacing:1px;
    font-size:12px;
    line-height:1.2;
    text-shadow:0 2px 10px rgba(0,0,0,0.45);
}

.header-nav-wrap{
    position:sticky;
    top:0;
    z-index:500;
    background:rgba(0,0,0,0.96);
    box-shadow:0 10px 24px rgba(0,0,0,0.18);
    border-top:1px solid rgba(255,255,255,0.06);
    border-bottom:1px solid rgba(255,255,255,0.06);
}

.header-nav-wrap__inner{
    max-width:1180px;
    margin:0 auto;
    min-height:60px;
    padding:0 20px;
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
}

.sticky-brand{
    position:absolute;
    left:20px;
    top:50%;
    transform:translateY(-50%);
    display:flex;
    align-items:center;
    justify-content:flex-start;
    text-decoration:none;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.25s ease, visibility 0.25s ease;
}

.header-nav-wrap.is-compact .sticky-brand{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.sticky-brand__logo{
    width:58px;
    height:auto;
    display:block;
}

.nav{
    display:flex;
    align-items:center;
    gap:18px;
}

.nav a{
    color:#cfcfcf;
    text-decoration:none;
    font-size:14px;
    font-weight:500;
    white-space:nowrap;
    transition:color 0.25s ease, opacity 0.25s ease;
}

.nav a:hover{
    color:#fff;
}

.nav--desktop{
    justify-content:center;
    flex-wrap:wrap;
}

.mobile-menu-toggle{
    display:none;
    width:44px;
    height:44px;
    border:none;
    border-radius:12px;
    background:#111;
    cursor:pointer;
    padding:0;
    position:absolute;
    right:20px;
    top:50%;
    transform:translateY(-50%);
    transition:background 0.25s ease;
}

.mobile-menu-toggle:hover{
    background:#1d1d1d;
}

.mobile-menu-toggle span{
    position:absolute;
    left:11px;
    right:11px;
    height:2px;
    background:#fff;
    border-radius:99px;
    transition:transform 0.25s ease, opacity 0.25s ease, top 0.25s ease;
}

.mobile-menu-toggle span:nth-child(1){
    top:14px;
}

.mobile-menu-toggle span:nth-child(2){
    top:21px;
}

.mobile-menu-toggle span:nth-child(3){
    top:28px;
}

.mobile-menu-toggle.is-open span:nth-child(1){
    top:21px;
    transform:rotate(45deg);
}

.mobile-menu-toggle.is-open span:nth-child(2){
    opacity:0;
}

.mobile-menu-toggle.is-open span:nth-child(3){
    top:21px;
    transform:rotate(-45deg);
}

.mobile-menu-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.42);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.25s ease, visibility 0.25s ease;
    z-index:490;
}

.mobile-menu-overlay.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
}

.mobile-menu-panel{
    display:none;
}