/* ==========================================================
   HEADER — announcement bar + clean sticky nav.
   Markup lives in sections/header.html
   ========================================================== */
/* ==========================================================
   HEADER — Announcement Bar + Sticky Navigation
   ========================================================== */

.announce{
    background: var(--ink);
    color: var(--white);
    text-align: center;
    font-size: 13px;
    font-weight: 500;
    padding: 9px 20px;
}

.announce a{
    color: var(--white);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

header.nav{
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255,255,255,.92);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--gray-150);
}

.navrow{
    max-width: 1280px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 4px;
    padding: 16px 32px;
}

/* Brand */

.brand{
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.brand img{
    width: 40px;
    height: 40px;
    object-fit: cover;
    border-radius: 10px;
}

.brand .word{
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.01em;
    color: var(--ink);
}

/* Navigation */

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

nav.links a{
    position: relative;
    color: var(--gray-700);
    font-size: 14.5px;
    font-weight: 600;
    transition: color .2s ease;
}

nav.links a:hover{
    color: var(--ink);
}

/* Underline animation */

nav.links a::after{
    content:"";
    position:absolute;
    left:0;
    bottom:-6px;
    width:0;
    height:2px;
    background:var(--crimson);
    transition:width .25s ease;
}

nav.links a:hover::after{
    width:100%;
}

/* CTA */

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

/* Mobile Menu Button */

.burger{
    display:none;
    flex-direction:column;
    gap:5px;
    padding:6px;
    background:none;
    border:none;
    cursor:pointer;
}

.burger span{
    width:24px;
    height:2px;
    background:var(--ink);
    transition:.3s;
}

/* Tablet */

@media (max-width:980px){

    nav.links{
        display:none;
        position:absolute;
        top:100%;
        left:0;
        right:0;
        flex-direction:column;
        align-items:flex-start;
        gap:0;
        background:var(--white);
        border-bottom:1px solid var(--gray-150);
        box-shadow:0 12px 24px rgba(21,17,26,.08);
        padding:8px 18px 16px;
    }

    nav.links.open{
        display:flex;
    }

    nav.links a{
        width:100%;
        padding:12px 0;
        border-bottom:1px solid var(--gray-150);
    }

    nav.links a:last-child{
        border-bottom:none;
    }

    .burger{
        display:flex;
        position:relative;
        z-index:1;
    }

    .burger.active span:nth-child(1){
        transform:translateY(7px) rotate(45deg);
    }

    .burger.active span:nth-child(2){
        opacity:0;
    }

    .burger.active span:nth-child(3){
        transform:translateY(-7px) rotate(-45deg);
    }

}


/* Mobile */

@media (max-width:620px){

    .navrow{
        padding:12px 16px;
    }

    .brand .word{
        font-size:16px;
    }

    .brand img{
        width:34px;
        height:34px;
    }

    .word{
        display:none;
    }

}