.site-header {
    background:#fff;
    border-bottom:1px solid #edf0f2
}

.header-inner {
    min-height:92px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:28px
}

.brand {
    color:var(--navy);
    font-size:1.4rem;
    font-weight:900;
    line-height:1;
    text-decoration:none;
    letter-spacing:-.03em
}

.brand span {
    display:block;
    color:var(--green);
    font-size:.72rem;
    letter-spacing:.16em;
    text-transform:uppercase;
    margin-top:7px
}

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

.main-nav a {
    color:var(--navy);
    font-size:.86rem;
    font-weight:800;
    text-decoration:none;
    text-transform:uppercase;
    letter-spacing:.06em
}

.main-nav a:hover,.main-nav a.active {
    color:var(--green)
}

.nav-toggle {
    display:none;
    border:0;
    background:none;
    color:var(--navy);
    font-size:1.8rem
}

.header-action {
    padding:11px 18px
}

.mobile-nav {
    display:none
}

@media(max-width:820px) {
    .header-inner {
        min-height:88px;
        gap:10px
    }
    .brand {
        flex:1 1 auto;
        max-width:150px;
        font-size:1.05rem;
        line-height:.95
    }
    .brand span {
        font-size:.58rem;
        line-height:1.05;
        letter-spacing:.12em;
        margin-top:5px
    }
    .main-nav {
        display:none
    }
    .header-action {
        display:inline-flex;
        flex:0 0 auto;
        padding:10px 14px;
        font-size:.78rem
    }
    .nav-toggle {
        display:block;
        flex:0 0 auto;
        padding:6px;
        font-size:1.65rem
    }
    .mobile-nav.open {
        display:block;
        padding:0 0 18px
    }
    .mobile-nav a {
        display:block;
        padding:12px 0;
        border-top:1px solid #edf0f2;
        color:var(--navy);
        font-weight:800;
        text-decoration:none;
        text-transform:uppercase;
        font-size:.9rem
    }
}

@media(max-width:390px) {
    .brand {
        max-width:132px;
        font-size:.96rem
    }
    .header-action {
        padding:9px 11px;
        font-size:.72rem
    }
}


/* MOBILE HEADER REFINEMENT
   ============================================================ */
@media (max-width: 620px) {
    .header-inner {
        min-height: 82px;
    }

    .brand {
        max-width: 178px;
        font-size: 1.22rem;
        line-height: .92;
    }

    .brand span {
        font-size: .64rem;
        line-height: 1.05;
        letter-spacing: .12em;
    }

    .header-action {
        width: 48px;
        height: 48px;
        padding: 0;
        justify-content: center;
        border-radius: 50%;
        font-size: 0;
    }

    .header-action i {
        margin: 0;
        font-size: 1.25rem;
    }

    .nav-toggle {
        font-size: 1.7rem;
    }
}

@media (max-width: 390px) {
    .brand {
        max-width: 160px;
        font-size: 1.12rem;
    }

    .brand span {
        font-size: .6rem;
    }

    .header-action {
        width: 44px;
        height: 44px;
    }
}

/* MOBILE HEADER FINAL REFINEMENT
   ============================================================ */
@media (max-width: 620px) {
    .header-inner {
        gap: 10px;
    }

    .brand {
        max-width: none;
        font-size: 1.28rem;
        line-height: 1;
        white-space: nowrap;
    }

    .brand span {
        display: block;
        margin-top: 5px;
        font-size: .68rem;
        line-height: 1;
        letter-spacing: .1em;
        white-space: nowrap;
    }

    .site-header .header-action {
        flex: 0 0 48px;
        width: 48px;
        min-width: 48px;
        height: 48px;
        padding: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        overflow: hidden;
    }

    .site-header .header-action i {
        display: block;
        margin: 0 !important;
        font-size: 1.25rem !important;
        line-height: 1 !important;
    }

    .nav-toggle {
        flex: 0 0 auto;
    }
}

@media (max-width: 390px) {
    .header-inner {
        gap: 8px;
    }

    .brand {
        font-size: 1.16rem;
    }

    .brand span {
        font-size: .62rem;
        letter-spacing: .08em;
    }

    .site-header .header-action {
        flex-basis: 44px;
        width: 44px;
        min-width: 44px;
        height: 44px;
    }
}

/* MOBILE HEADER SIZE CORRECTION
   ============================================================ */
@media (max-width: 620px) {
    .brand {
        font-size: 1.34rem;
    }

    .brand span {
        font-size: .71rem;
    }

    .site-header .header-action {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex: 0 0 38px;
        width: 38px;
        min-width: 38px;
        height: 38px;
        min-height: 38px;
        padding: 0 !important;
        border-radius: 50%;
    }

    .site-header .header-action i {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: 18px;
        height: 18px;
        margin: 0 !important;
        font-size: 1.05rem !important;
        line-height: 18px !important;
    }
}

@media (max-width: 390px) {
    .brand {
        font-size: 1.22rem;
    }

    .brand span {
        font-size: .65rem;
    }

    .site-header .header-action {
        flex-basis: 36px;
        width: 36px;
        min-width: 36px;
        height: 36px;
        min-height: 36px;
    }
}

/* MOBILE DIRECTIONS ICON — OPTICAL CENTRING
   ============================================================ */
@media (max-width: 620px) {
    .site-header .header-action {
        position: relative;
        display: block !important;
        width: 38px;
        min-width: 38px;
        height: 38px;
        min-height: 38px;
        padding: 0 !important;
        font-size: 0 !important;
        line-height: 0 !important;
        overflow: hidden;
    }

    .site-header .header-action i {
        position: absolute;
        top: 50%;
        left: 50%;
        display: block !important;
        width: auto !important;
        height: auto !important;
        margin: 0 !important;
        font-size: 1.05rem !important;
        line-height: 1 !important;
        transform: translate(-50%, -50%);
    }
}

