/* Directory navigation retains the archive's scroll-to-island behavior. */
:root .site-header[data-header-design="directory"][data-header-mode] {
    --header-field: var(--aga-forest);
    --header-ink: var(--aga-cream);
    --header-muted: rgb(243 239 230 / 78%);
    --header-line: rgb(243 239 230 / 45%);
    position: sticky;
    top: 0;
    height: 6rem;
    background: transparent;
    color: var(--header-ink);
    pointer-events: none;
}
:root .site-header[data-header-design="directory"][data-header-mode] .header-frame {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    width: 100%;
    height: 6rem;
    margin-inline: auto;
    padding: 0 max(2rem, calc((100% - 76rem) / 2));
    gap: 2.5rem;
    border: 0;
    border-radius: 0;
    background: var(--header-field);
    box-shadow: none;
    contain: none;
    transform: translateX(-50%);
    transition: none;
}
:root .site-header[data-header-design="directory"][data-header-mode] .wordmark {
    display: flex;
    width: 2.75rem;
    height: 3rem;
    flex: 0 0 2.75rem;
    justify-content: center;
    transform: none;
}
:root .site-header[data-header-design="directory"][data-header-mode] .wordmark-mark {
    width: 2.375rem;
    height: 2.375rem;
    transition: none;
}
:root .site-header[data-header-design="directory"][data-header-mode] .wordmark-name,
:root .site-header[data-header-design="directory"][data-header-mode] .active-label { display: none; }
:root .site-header[data-header-design="directory"][data-header-mode] .primary-nav {
    display: flex;
    align-items: center;
    height: 100%;
    gap: 1.5rem;
    margin-left: 1rem;
    margin-right: auto;
    transform: none;
    transition: none;
}
:root .site-header[data-header-design="directory"][data-header-mode] .nav-button {
    display: inline-flex;
    min-height: 2.75rem;
    padding: 0;
    gap: .5rem;
    border: 0;
    color: var(--header-ink);
    background: transparent;
    font: 700 .875rem/1.25rem var(--font-ui);
    letter-spacing: 0;
    text-transform: uppercase;
    white-space: nowrap;
    text-decoration: none;
    cursor: pointer;
    list-style: none;
}
:root .site-header[data-header-design="directory"][data-header-mode] .nav-button::-webkit-details-marker { display: none; }
:root .site-header[data-header-design="directory"][data-header-mode] .nav-button::after { display: none; }
:root .site-header[data-header-design="directory"][data-header-mode] .nav-button:hover,
:root .site-header[data-header-design="directory"][data-header-mode] .nav-button.is-current,
:root .site-header[data-header-design="directory"][data-header-mode] details[open] > summary {
    text-decoration: underline;
    text-underline-offset: .25rem;
    text-decoration-thickness: 1px;
}
.header-nav-group { position: relative; }
.header-nav-group > summary svg { width: 1rem; height: 1rem; fill: none; stroke: currentColor; stroke-width: 1.6; }
.header-nav-group[open] > summary svg { transform: rotate(180deg); }
.header-nav-panel {
    position: absolute;
    z-index: 5;
    top: calc(100% + 1rem);
    left: 0;
    width: max-content;
    min-width: 14rem;
    max-width: calc(100vw - 2rem);
    padding: .5rem;
    border: 1px solid var(--header-line);
    border-radius: .5rem;
    background: var(--header-field);
    box-shadow: 0 8px 24px rgb(0 0 0 / 8%);
    color: var(--header-ink);
}
.header-nav-links { display: grid; align-content: start; }
.header-nav-links a { display: flex; min-height: 2.75rem; padding: .5rem .75rem; align-items: center; border-radius: .25rem; color: inherit; font: 400 .9375rem/1.5 var(--font-ui); text-decoration: none; }
.header-nav-links a:hover,
.header-nav-links a[aria-current="page"] { background: color-mix(in srgb, var(--header-ink) 5%, var(--header-field)); }
.header-nav-links a[aria-current="page"] { font-weight: 600; }
:root .site-header[data-header-design="directory"][data-header-mode] .header-actions { flex: 0 0 auto; gap: .25rem; transform: none; }
:root .site-header[data-header-design="directory"][data-header-mode] .header-search-toggle {
    width: 2.75rem;
    min-height: 2.75rem;
    padding: 0;
    border: 0;
    justify-content: center;
    color: var(--header-muted);
}
:root .site-header[data-header-design="directory"][data-header-mode] .header-search-toggle span { display: none; }
:root .site-header[data-header-design="directory"][data-header-mode] .header-search-toggle svg { width: 1.25rem; height: 1.25rem; }
:root .site-header[data-header-design="directory"][data-header-mode] .header-membership,
.site-header[data-header-design="directory"] .menu-membership {
    display: block;
    min-width: 2.75rem;
    min-height: 2.75rem;
    max-width: 12rem;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
    padding: .75rem .5rem;
    border: 0;
    border-radius: .25rem;
    background: transparent;
    color: var(--header-ink);
    font: 600 .875rem/1.25rem var(--font-ui);
    letter-spacing: 0;
    text-decoration: none;
    text-transform: none;
    white-space: nowrap;
}
:root .site-header[data-header-design="directory"][data-header-mode] .header-membership:hover,
.site-header[data-header-design="directory"] .menu-membership:hover {
    background: transparent;
    text-decoration: underline;
    text-underline-offset: .25rem;
    text-decoration-thickness: 1px;
}
:root .site-header[data-header-design="directory"][data-header-mode] .menu-toggle { display: none; }
:root .site-header[data-header-design="directory"][data-header-mode] .header-search-surface {
    top: 1.25rem;
    width: min(calc(100% - 4rem), 60rem);
    min-height: 3.5rem;
    border-color: var(--header-line);
    background: var(--header-field);
    color: var(--header-ink);
    box-shadow: none;
}
.site-header[data-header-design="directory"] :is(a, summary, button):focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }
@media (max-width: 1279px) {
    :root .site-header[data-header-design="directory"][data-header-mode],
    :root .site-header[data-header-design="directory"][data-header-mode] .header-frame { height: 4.75rem; }
    :root .site-header[data-header-design="directory"][data-header-mode] .header-frame { padding: 0 .5rem; gap: 1rem; justify-content: space-between; }
    :root .site-header[data-header-design="directory"][data-header-mode] .primary-nav { display: none; }
    :root .site-header[data-header-design="directory"][data-header-mode] .header-actions { margin-left: auto; }
    :root .site-header[data-header-design="directory"][data-header-mode] .menu-toggle { display: flex; width: 2.75rem; justify-content: center; padding: 0; }
    :root .site-header[data-header-design="directory"][data-header-mode] .menu-toggle-label { display: none; }
    :root .site-header[data-header-design="directory"][data-header-mode] .header-membership,
    .site-header[data-header-design="directory"] .menu-membership { max-width: min(9rem, calc(100vw - 11.5rem)); }
    :root .site-header[data-header-design="directory"][data-header-mode] .header-search-surface { top: .625rem; width: calc(100% - 1rem); }
    .site-header[data-header-design="directory"] .menu-panel {
        --background: var(--header-field);
        --ink: var(--header-ink);
        --muted-ink: var(--header-muted);
        --forest: var(--header-ink);
        --forest-soft: var(--header-ink);
        --line: var(--header-line);
        --line-strong: var(--header-line);
        --stone-soft: rgb(243 239 230 / 10%);
        inset: 0;
        width: 100%;
        height: 100dvh;
        max-height: none;
        margin: 0;
        border: 0;
        border-radius: 0;
        color: var(--header-ink);
        background: var(--header-field);
    }
    .site-header[data-header-design="directory"] .menu-heading { min-height: 4.75rem; padding: .5rem; }
    .site-header[data-header-design="directory"] .menu-identity { width: 2.75rem; flex: 0 0 2.75rem; justify-content: center; }
    .site-header[data-header-design="directory"] .menu-identity-mark { width: 2.375rem; height: 2.375rem; }
    .site-header[data-header-design="directory"] .menu-identity span { display: none; }
    .site-header[data-header-design="directory"] .menu-heading .menu-search { width: 2.75rem; min-height: 2.75rem; margin-left: auto; padding: 0; justify-content: center; border: 0; background: transparent; }
    .site-header[data-header-design="directory"] .menu-heading .menu-search span { display: none; }
    .site-header[data-header-design="directory"] .menu-heading { gap: .25rem; }
    .site-header[data-header-design="directory"] .menu-close { border: 0; }
    .site-header[data-header-design="directory"] .menu-body { padding: .5rem .5rem 1rem; }
    .site-header[data-header-design="directory"] .menu-section-label,
    .site-header[data-header-design="directory"] .menu-title small { display: none; }
    .site-header[data-header-design="directory"] .menu-collection-link { display: flex; min-height: 2.75rem; align-items: center; justify-content: space-between; gap: .75rem; padding: .5rem 0; border: 0; color: var(--header-ink); }
    .site-header[data-header-design="directory"] summary.menu-collection-link { cursor: pointer; list-style: none; }
    .site-header[data-header-design="directory"] summary.menu-collection-link::-webkit-details-marker { display: none; }
    .site-header[data-header-design="directory"] .menu-collection[open] > summary svg { transform: rotate(90deg); }
    .site-header[data-header-design="directory"] .menu-subcollections { margin: 0 0 .5rem; padding: 0 1rem; border: 0; }
    .site-header[data-header-design="directory"] .menu-subcollections a { font: 400 1rem/1.5 var(--font-ui); }
    .site-header[data-header-design="directory"] .menu-title > span { font: 700 .875rem/1.25rem var(--font-ui); text-transform: uppercase; }
    .site-header[data-header-design="directory"] .menu-institutional { display: flex; flex-direction: column; gap: 0; padding: 0; border: 0; }
    .site-header[data-header-design="directory"] .menu-institutional a { font: 700 .875rem/1.25rem var(--font-ui); text-transform: uppercase; }
    .site-header[data-header-design="directory"] .menu-institutional a[href="/"] { display: none; }
}

/* The header keeps its document space while its controls float above the page. */
:root .site-header[data-header-design="directory"][data-header-mode="compact"] .header-frame {
    top: .625rem;
    width: min(calc(100% - 2rem), 76rem);
    height: 3.75rem;
    padding: 0 1rem;
    gap: 1.5rem;
    border: 1px solid var(--header-line);
    border-radius: 999px;
    box-shadow: 0 .5rem 1.5rem rgb(7 18 12 / 18%);
}
:root .site-header[data-header-design="directory"][data-header-mode="compact"] .primary-nav {
    gap: 1.25rem;
    margin-left: .5rem;
}
:root .site-header[data-header-design="directory"][data-header-mode="compact"] .header-search-surface {
    top: .625rem;
    border-radius: 999px;
    box-shadow: 0 .5rem 1.5rem rgb(7 18 12 / 18%);
}
@media (prefers-reduced-motion: no-preference) {
    :root .site-header[data-header-design="directory"][data-header-ready] .header-frame {
        transition:
            top 180ms var(--header-island-ease),
            width 200ms var(--header-island-ease),
            height 180ms var(--header-island-ease),
            padding 200ms var(--header-island-ease),
            border-radius 200ms var(--header-island-ease),
            box-shadow 160ms var(--header-island-ease);
    }
}
@media (max-width: 1279px) {
    :root .site-header[data-header-design="directory"][data-header-mode="compact"] .header-frame {
        width: calc(100% - 1rem);
        padding-inline: .375rem;
        gap: .5rem;
    }
}
