.header {
    position: sticky;
    top: 0;
    z-index: 100;
    height: var(--header-height);
    background: var(--color-cream);
    border-bottom: var(--border-heavy);
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    gap: calc(var(--spacing-unit) * 2);
}

.header__logo {
    display: flex;
    align-items: baseline;
    gap: calc(var(--spacing-unit) * 1.5);
    text-decoration: none;
    color: var(--color-ink);
    font-family: var(--font-display);
    font-size: var(--font-size-xl);
    font-weight: 700;
    letter-spacing: -0.02em;
}

.header__logo-mark {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-gold-dark);
    padding: 2px 6px;
    border: 1px solid var(--color-gold);
}

.header__nav-toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: var(--border-heavy);
    background: var(--color-white);
    color: var(--color-ink);
    box-shadow: 3px 3px 0 var(--color-ink);
}

.header__nav-toggle svg {
    width: 22px;
    height: 22px;
}

.header__nav {
    display: none;
    position: absolute;
    top: var(--header-height);
    left: 0;
    right: 0;
    background: var(--color-cream);
    border-bottom: var(--border-heavy);
    padding: calc(var(--spacing-unit) * 2);
}

.header__nav.is-open {
    display: block;
}

.header__nav-list {
    display: flex;
    flex-direction: column;
}

.header__nav-link {
    display: block;
    padding: calc(var(--spacing-unit) * 2);
    font-family: var(--font-mono);
    font-size: var(--font-size-sm);
    font-weight: 500;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid var(--color-border);
    min-height: 48px;
}

.header__nav-link:hover {
    background: var(--color-cream-dark);
    color: var(--color-coral);
}

.header__cta {
    display: none;
}

@media (min-width: 768px) {
    .header__nav-toggle {
        display: none;
    }

    .header__nav {
        display: block;
        position: static;
        border: none;
        padding: 0;
    }

    .header__nav-list {
        flex-direction: row;
        align-items: center;
        gap: calc(var(--spacing-unit) * 0.5);
    }

    .header__nav-link {
        border-bottom: none;
        padding: calc(var(--spacing-unit) * 1) calc(var(--spacing-unit) * 1.5);
        font-size: 0.8125rem;
    }

    .header__cta {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 44px;
        padding: 0 calc(var(--spacing-unit) * 2.5);
        background: var(--color-ink);
        color: var(--color-cream);
        font-family: var(--font-mono);
        font-size: 0.8125rem;
        font-weight: 500;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-decoration: none;
        border: var(--border-heavy);
        box-shadow: 3px 3px 0 var(--color-gold);
        transition: transform var(--transition-base), box-shadow var(--transition-base);
    }

    .header__cta:hover {
        transform: translate(2px, 2px);
        box-shadow: 1px 1px 0 var(--color-gold);
    }
}
