:root{
    --header-maroon:#68142A;
    --header-dark:#420A18;
    --header-gold:#E5AD18;
    --header-ivory:#FFF9EB;
    --header-white:#FFFFFF;
}

.site-header{
    position:absolute;
    top:0;
    left:0;
    right:0;
    z-index:1000;
    color:var(--header-white);
}

/* =========================
   THIN RUNNING TOP STRIP
========================= */
.topbar{
    height:38px;
    border-bottom:1px solid rgba(255,255,255,.14);
    background:rgba(42,6,16,.66);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
    overflow:hidden;
}

.topbar__inner{
    height:38px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:18px;
    font-size:.76rem;
}

.topbar__ticker{
    min-width:0;
    overflow:hidden;
    white-space:nowrap;
}

.topbar__ticker-track{
    display:flex;
    width:max-content;
    animation:viphoTicker 34s linear infinite;
    will-change:transform;
}

.topbar__ticker-text{
    display:inline-block;
    flex:0 0 auto;
    padding-right:48px;
    color:rgba(255,255,255,.88);
    font-weight:600;
    line-height:38px;
}

.topbar__ticker:hover .topbar__ticker-track{
    animation-play-state:paused;
}

.topbar__right{
    display:flex;
    align-items:center;
    gap:16px;
    white-space:nowrap;
}

.topbar__contact-link{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:rgba(255,255,255,.95);
    text-decoration:none;
    font-size:.76rem;
    font-weight:600;
}

.topbar__contact-link:hover{
    color:var(--header-gold);
}

.topbar__contact-link svg{
    width:14px;
    height:14px;
    fill:var(--header-gold);
    flex:0 0 14px;
}

.language-switch{
    display:flex;
    align-items:center;
    gap:6px;
    font-size:.76rem;
    font-weight:600;
}

.language-switch .is-active{
    color:var(--header-gold);
    font-weight:700;
}

.language-switch a{
    color:rgba(255,255,255,.95);
    text-decoration:none;
}

.language-switch a:hover{
    color:var(--header-gold);
}

.language-switch .is-disabled{
    color:rgba(255,255,255,.45);
    cursor:not-allowed;
}

/* =========================
   MAIN HEADER NAVIGATION
========================= */
.nav-shell{
    transition:background .25s ease,box-shadow .25s ease;
}

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

.brand{
    display:block;
    flex:0 0 auto;
    line-height:0;
}

.brand img{
    display:block;
    width:235px;
    height:auto;
    max-height:82px;
    object-fit:contain;
    object-position:left center;
    filter:drop-shadow(0 8px 18px rgba(0,0,0,.18));
}

.primary-nav{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:clamp(15px,1.7vw,25px);
    margin-left:auto;
    font-size:.92rem;
    font-weight:600;
}

.primary-nav>a{
    color:#fff;
    text-decoration:none;
}

.primary-nav>a:not(.btn){
    position:relative;
    padding:10px 0;
    white-space:nowrap;
}

.primary-nav>a:not(.btn)::after{
    content:"";
    position:absolute;
    left:0;
    right:100%;
    bottom:1px;
    height:2px;
    border-radius:2px;
    background:var(--header-gold);
    transition:right .25s ease;
}

.primary-nav>a:not(.btn):hover::after,
.primary-nav>a:not(.btn).is-active::after{
    right:0;
}

.primary-nav>a:not(.btn).is-active{
    color:var(--header-ivory);
}

.nav-cta{
    min-height:46px;
    padding:10px 18px;
    border-radius:999px;
    background:var(--header-gold);
    color:var(--header-dark)!important;
    box-shadow:0 9px 24px rgba(229,173,24,.24);
    white-space:nowrap;
}

.nav-cta:hover{
    transform:translateY(-2px);
}

/* =========================
   MOBILE MENU BUTTON
========================= */
.menu-toggle{
    display:none;
    width:46px;
    height:46px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:50%;
    background:rgba(255,255,255,.12);
    padding:12px;
    cursor:pointer;
}

.menu-toggle span{
    display:block;
    height:2px;
    border-radius:2px;
    background:#fff;
    margin:5px 0;
    transition:transform .25s ease,opacity .25s ease;
}

.menu-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
}

.menu-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
}

/* =========================
   STICKY HEADER
========================= */
.site-header.is-sticky{
    position:fixed;
}

.site-header.is-sticky .topbar{
    display:none;
}

.site-header.is-sticky .nav-shell{
    background:rgba(66,10,24,.96);
    box-shadow:0 12px 32px rgba(31,4,10,.20);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
}

.site-header.is-sticky .nav-shell__inner{
    height:76px;
}

.site-header.is-sticky .brand img{
    width:205px;
    max-height:64px;
}

@keyframes viphoTicker{
    from{transform:translateX(0)}
    to{transform:translateX(-50%)}
}

/* =========================
   TABLET
========================= */
@media (max-width:1100px){
    .brand img{
        width:210px;
    }

    .primary-nav{
        gap:13px;
        font-size:.86rem;
    }

    .nav-cta{
        padding-inline:15px;
    }
}

/* =========================
   MOBILE NAVIGATION
========================= */
@media (max-width:980px){
    .topbar__email{
        display:none;
    }

    .nav-shell__inner{
        height:84px;
    }

    .brand img{
        width:205px;
        max-height:72px;
    }

    .menu-toggle{
        display:block;
        position:relative;
        z-index:1002;
        flex:0 0 auto;
    }

    .primary-nav{
        position:fixed;
        top:0;
        right:0;
        width:min(86vw,380px);
        height:100dvh;
        padding:108px 24px 32px;
        display:flex;
        flex-direction:column;
        align-items:stretch;
        justify-content:flex-start;
        gap:2px;
        background:linear-gradient(180deg,#4A0919,#25030B);
        box-shadow:-18px 0 45px rgba(31,4,10,.32);
        transform:translateX(105%);
        visibility:hidden;
        transition:transform .30s ease,visibility .30s ease;
        overflow-y:auto;
        z-index:1001;
    }

    .primary-nav.is-open{
        transform:translateX(0);
        visibility:visible;
    }

    .primary-nav>a:not(.btn){
        padding:14px 8px;
        border-bottom:1px solid rgba(255,255,255,.10);
        font-size:1rem;
    }

    .primary-nav>a:not(.btn)::after{
        display:none;
    }

    .primary-nav .nav-cta{
        margin-top:18px;
        border-radius:12px;
        width:100%;
        box-sizing:border-box;
        justify-content:center;
    }

    body.nav-open{
        overflow:hidden;
    }
}

/* =========================
   SMALL MOBILE
========================= */
@media (max-width:700px){
    .topbar{
        height:36px;
    }

    .topbar__inner{
        height:36px;
        gap:10px;
    }

    .topbar__ticker-text{
        font-size:.69rem;
        line-height:36px;
        padding-right:36px;
    }

    .topbar__right{
        gap:8px;
    }

    .topbar__contact-link{
        font-size:.70rem;
    }

    .topbar__contact-link span{
        display:none;
    }

    .topbar__contact-link svg{
        width:16px;
        height:16px;
        flex-basis:16px;
    }

    .language-switch{
        font-size:.70rem;
        gap:4px;
    }

    .nav-shell__inner{
        height:78px;
    }

    .brand img{
        width:180px;
        max-height:66px;
    }

    .site-header.is-sticky .brand img{
        width:175px;
    }
}

@media (max-width:430px){
    .topbar__inner{
        gap:7px;
    }

    .topbar__right{
        gap:7px;
    }

    .language-switch>span[aria-hidden="true"]{
        display:none;
    }

    .brand img{
        width:165px;
    }

    .menu-toggle{
        width:44px;
        height:44px;
    }
}

/* Accessibility */
@media (prefers-reduced-motion:reduce){
    .topbar__ticker-track{
        animation:none;
    }

    .topbar__ticker{
        overflow-x:auto;
    }

    .topbar__ticker-text[aria-hidden="true"]{
        display:none;
    }

    *,*::before,*::after{
        scroll-behavior:auto!important;
        transition-duration:.01ms!important;
        animation-duration:.01ms!important;
    }
}
