/* =========================================================
   HEADER & NAVIGATION
   ========================================================= */

.site-header {
    position: sticky;            
    background: var(--bg-main);
    border-bottom: 1px solid var(--border-subtle);
    top: 0;
    z-index: 200;
}

/* Subtle scroll shadow — only appears once page scrolls */
.site-header.is-scrolled {
    box-shadow:
        0 1px 0 oklch(0.15 0.01 80 / 0.07),
        0 4px 16px oklch(0.15 0.01 80 / 0.06);
    transition: box-shadow 0.25s ease;
}

.header-inner {
    max-width: 100%;
    margin: 0 auto;
    padding: 16px 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    
}

.header-brand img {
    height: 30px;
    width: auto;
    display: block;
}

.primary-nav .nav-list {
    list-style: none;
    display: flex;
    gap: 32px;
    margin: 0;
    padding: 0;
}

.primary-nav a {
    text-decoration: none;
    font-family: var(--font-primary);   /* FIXED — was var(--font-body) */
    font-size: 15px;
    color: var(--color-text);
    padding: 4px 0;
    position: relative;
    letter-spacing: 0.01em;
    font-weight: 500;
    
}

.primary-nav a::after {
    content: none;
    position: absolute;
    left: 0;
    bottom: -4px;
    width: 0;
    height: 1px;
    background: currentColor;
    opacity: 1;
    transition: width 0.22s cubic-bezier(0.16, 1, 0.3, 1);
}

.primary-nav a:hover::after,
.primary-nav a:focus-visible::after {
    width: 100%;
    opacity: 1;
}

.nav-toggle {
    display: none;
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
}

.nav-toggle span {
    display: block;
    width: 22px;
    height: 2px;
    background: var(--color-text);
    margin: 4px 0;
    border-radius: 2px;
    transition:
        transform 0.22s cubic-bezier(0.16, 1, 0.3, 1),
        opacity   0.18s ease;
}

/* Hamburger → X animation when open */
.nav-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}
.nav-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

@media (max-width: 768px) {
    .nav-toggle {
        display: flex;
    }

    .primary-nav {
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        z-index: 100;
        background: var(--bg-main);
        border-bottom: 1px solid var(--border-subtle);
        box-shadow: 0 8px 24px oklch(0.2 0.01 80 / 0.10);
        overflow: hidden;
        max-height: 0;
        opacity: 0;
        pointer-events: none;
        transition: max-height 0.3s ease, opacity 0.3s ease;
    }

    .primary-nav.is-open {
        max-height: 400px;
        opacity: 1;
        pointer-events: auto;
    }

    .primary-nav .nav-list {
        flex-direction: column;
        gap: 0;
        padding: 8px 0 16px;
    }

    .primary-nav .nav-list a {
        display: block;
        padding: 12px 24px;
    }
    .primary-nav .nav-list li {
        opacity: 0;
        transform: translateY(-4px);
        transition:
            opacity   0.18s ease,
            transform 0.22s cubic-bezier(0.16, 1, 0.3, 1);
    }

    .primary-nav.is-open .nav-list li:nth-child(1) { opacity: 1; transform: none; transition-delay: 50ms;  }
    .primary-nav.is-open .nav-list li:nth-child(2) { opacity: 1; transform: none; transition-delay: 90ms;  }
    .primary-nav.is-open .nav-list li:nth-child(3) { opacity: 1; transform: none; transition-delay: 130ms; }
    .primary-nav.is-open .nav-list li:nth-child(4) { opacity: 1; transform: none; transition-delay: 170ms; }
    .primary-nav.is-open .nav-list li:nth-child(5) { opacity: 1; transform: none; transition-delay: 210ms; }
}
