/* Cream, three-part navigation: links, artist signature, useful controls. */
:root { --navigation-background:rgba(251,249,230,.97); --navigation-height:92px; }
html { scroll-padding-top:calc(var(--navigation-height) + 12px); }
.hero { --hero-header-space:var(--navigation-height); }
.site-header,.site-header.is-solid,.site-header.is-hero-nav:not(.is-solid),.store-header,
body:is(.is-order-mode,.is-portfolio-mode,.is-about-mode,.is-contact-mode,.is-coming-soon-mode) .site-header {
    color:#644523;
    background:var(--navigation-background);
    border-bottom:1px solid rgba(100,69,35,.19);
    box-shadow:none
}

/* Every public page uses the same fixed header and content clearance. */
.store-header { position:fixed; inset:0 0 auto; }
body.store-body { padding-top:calc(var(--navigation-height) + 1px); }
.site-header,.store-header { -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px); }

.site-nav,.store-navigation {
    min-height:var(--navigation-height);
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    grid-template-rows:var(--navigation-height);
    column-gap:26px;
    max-width:1600px
}

.nav-group.left,.store-main-links {
    grid-column:1;
    justify-self:start;
    justify-content:flex-start;
    gap:clamp(15px,1.6vw,26px)
}

.nav-link,.store-nav-link,.site-header.is-hero-nav:not(.is-solid) .nav-link {
    color:#644523;
    font-size:.9rem;
    font-weight:500;
    letter-spacing:.025em;
    line-height:1.4
}

.site-header.is-hero-nav:not(.is-solid) .nav-link::after {
    background:#644523
}

.navigation-signature {
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1px;
    grid-column:2;
    grid-row:1;
    justify-self:center;
    color:#79572f!important;
    text-decoration:none;
    white-space:nowrap;
    padding:4px 3px
}

.navigation-autograph { display:block; width:auto; height:62px; aspect-ratio:1096 / 1435; }
html.signature-entry-pending .navigation-autograph { visibility:hidden; }
.navigation-artist-name { font:400 10px/1.4 'Montserrat',sans-serif; letter-spacing:.13em; color:#644523; }

.site-nav-actions,.store-nav-actions {
    gap:12px
}

.site-header .nav-cta,.site-header.is-solid .nav-cta,
.site-header.is-hero-nav:not(.is-solid) .nav-cta,
body:is(.is-order-mode,.is-portfolio-mode,.is-about-mode,.is-contact-mode,.is-coming-soon-mode) .site-header .nav-cta,
.store-header .store-nav-cta {
    min-height:46px;
    padding:12px 18px;
    border-radius:999px;
    --quote-shimmer-edge:rgba(255,249,217,.3);
    background:rgba(131,82,26,.92);
    color:#fff9d9;
    border:1px solid rgba(131,82,26,.72);
    box-shadow:none;
    font-size:.76rem;
    letter-spacing:.02em
}

.site-header .nav-cta:is(:hover,:focus-visible),
.site-header.is-hero-nav:not(.is-solid) .nav-cta:is(:hover,:focus-visible),
.store-header .store-nav-cta:is(:hover,:focus-visible) {
    background:rgba(112,66,20,.97);
    color:#fff;
    border-color:rgba(112,66,20,.9);
    outline:2px solid #775827;
    outline-offset:4px;
}

.nav-cta::after,.store-nav-cta::after {
    content:none;
    display:none;
    animation:none;
}

.catalog-search-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-height:46px;
    min-width:46px;
    padding:8px;
    background:transparent;
    border:0;
    color:inherit;
    cursor:pointer;
    font:500 .74rem/1.3 'Montserrat',sans-serif
}

.catalog-search-toggle svg {
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.6;
    stroke-linecap:round
}

.language-switch {
    display:flex;
    align-items:center;
    gap:2px;
    font:500 .77rem/1 'Montserrat',sans-serif
}

.language-switch button {
    min-width:31px;
    min-height:46px;
    padding:5px 3px;
    border:0;
    color:inherit;
    background:transparent;
    font:inherit;
    cursor:pointer;
    opacity:.55
}

.language-switch button[aria-pressed=true] {
    opacity:1;
    text-decoration:underline;
    text-underline-offset:5px
}

.language-switch>span {
    opacity:.4
}

.catalog-search-panel[hidden] {
    display:none!important
}

.catalog-search-panel {
    position:absolute;
    top:calc(100% + 1px);
    right:clamp(16px,3vw,40px);
    width:min(510px,calc(100vw - 32px));
    max-height:min(620px,calc(100dvh - var(--navigation-height) - 24px));
    overflow:auto;
    overscroll-behavior:contain;
    padding:24px;
    background:#fffdf2;
    border:1px solid #d2c6a4;
    box-shadow:0 20px 50px #392d2420;
    color:#4c412b;
    z-index:150
}

.catalog-search-heading {
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:15px;
    margin-bottom:15px
}

.catalog-search-heading label {
    font:500 1.55rem/1.1 'Cormorant Garamond',serif
}

.catalog-search-heading button {
    display:grid;
    place-items:center;
    width:42px;
    height:42px;
    padding:0;
    border:0;
    background:transparent;
    font:300 1.8rem/1 sans-serif;
    color:inherit;
    cursor:pointer
}

.catalog-search-panel input {
    box-sizing:border-box;
    width:100%;
    min-height:48px;
    padding:12px 13px;
    border:1px solid #998860;
    border-radius:0;
    background:#fffef7;
    color:#3f3629;
    font:400 .85rem/1.4 'Montserrat',sans-serif
}

.catalog-search-status {
    margin:16px 0 8px;
    font:400 .72rem/1.65 'Montserrat',sans-serif
}

.catalog-search-shortcuts {
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-top:12px
}

.catalog-search-shortcuts button {
    padding:7px 11px;
    border:1px solid #ddd2b9;
    border-radius:20px;
    background:transparent;
    color:inherit;
    font:400 .68rem/1.4 'Montserrat',sans-serif;
    cursor:pointer
}

.catalog-search-shortcuts button:hover {
    background:#f4eed9;
    border-color:#998860
}

.catalog-search-recommendations-title {
    margin:22px 0 4px;
    font:500 .72rem/1.5 'Montserrat',sans-serif;
    color:#775827
}

.catalog-search-results {
    padding:0;
    margin:0;
    list-style:none
}

.catalog-search-results li {
    position:relative;
    display:flex;
    gap:16px;
    align-items:center;
    padding:14px 0;
    border-bottom:1px solid #ddd2b9
}

.catalog-search-results img {
    flex:0 0 58px;
    width:58px;
    height:66px;
    object-fit:contain
}

.catalog-search-results a {
    flex:1;
    color:inherit;
    text-decoration:none;
    min-width:0;
    padding:4px 0
}

.catalog-search-results a::after {
    content:'';
    position:absolute;
    inset:0
}

.catalog-search-results a span {
    display:block;
    font:500 1.25rem/1.15 'Cormorant Garamond',serif;
    overflow-wrap:anywhere
}

.catalog-search-results a small {
    display:block;
    margin-top:7px;
    font:400 .66rem/1.5 'Montserrat',sans-serif
}

.catalog-search-results li:focus-within,.catalog-search-results li:hover {
    background:#f4eed9
}

.site-header.has-search-open,.store-header.has-search-open {
    transform:none!important;
    pointer-events:auto
}

.language-switch button:focus-visible,.catalog-search-toggle:focus-visible,.catalog-search-panel :focus-visible,.navigation-signature:focus-visible,.nav-link:focus-visible,.store-nav-link:focus-visible {
    outline:2px solid #775827!important;
    outline-offset:4px
}

@media(min-width:901px) and (max-width:1200px) {
    .nav-cta,.store-nav-cta {
        display:none
    }

    .site-nav,.store-navigation {
        column-gap:18px
    }

    .nav-link,.store-nav-link {
        font-size:.86rem
    }

    .navigation-signature {
        font-size:2.8rem
    }

}

@media(prefers-reduced-motion:reduce) {
    .catalog-search-panel,.navigation-signature {
        transition:none
    }

}

.nav-mobile-quote { display:none!important; }

/* Explicit geometry supersedes the existing page-specific mobile headers. */
@media(max-width:900px) {
    :root { --navigation-background:rgba(251,249,230,.98); --navigation-height:76px; }
    .site-header,.site-header.is-mobile-nav,.site-header.is-mobile-nav.is-solid,.site-header.is-hero-nav:not(.is-solid),.store-header {
        height:calc(var(--navigation-height) + 1px + env(safe-area-inset-top));
        color:#644523;
        background:var(--navigation-background)
    }

    .site-header .site-nav,.store-header .store-navigation {
        display:grid!important;
        position:relative!important;
        inset:auto!important;
        box-sizing:border-box!important;
        width:100%!important;
        max-width:none!important;
        grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr)!important;
        grid-template-rows:var(--navigation-height) 0!important;
        gap:0 10px!important;
        min-height:var(--navigation-height)!important;
        max-height:none!important;
        padding:env(safe-area-inset-top) 16px 0!important;
        overflow:hidden!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important;
        pointer-events:auto!important
    }

    .site-header.is-open .site-nav,.site-header.is-menu-closing .site-nav,body.store-menu-open .store-navigation,.store-header.is-menu-closing .store-navigation {
        min-height:100dvh!important;
        grid-template-rows:var(--navigation-height) minmax(0,1fr)!important;
        padding-bottom:env(safe-area-inset-bottom)!important
    }

    .site-header .navigation-signature,.store-header .navigation-signature {
        grid-column:2!important;
        grid-row:1!important;
        justify-self:center!important;
        position:relative!important;
        margin:0!important;
        padding:4px 0!important;
        z-index:103
    }

    .navigation-autograph { width:auto; height:50px; max-width:100%; }
    .navigation-artist-name { font-size:9px; letter-spacing:.08em; }

    .site-header .site-nav-actions,.store-header .store-nav-actions {
        grid-column:3!important;
        grid-row:1!important;
        justify-self:end!important;
        display:flex!important;
        flex-direction:row!important;
        align-items:center!important;
        gap:7px!important;
        margin:0!important;
        padding:0!important;
        position:relative;
        z-index:104
    }

    .site-header .nav-cta,.store-header .store-nav-cta {
        display:none!important
    }

    .site-header .nav-group.left,.store-header .store-main-links {
        box-sizing:border-box!important;
        grid-column:1/-1!important;
        grid-row:2!important;
        justify-self:stretch!important;
        align-self:center!important;
        width:100%!important;
        max-width:760px!important;
        min-width:0!important;
        padding:30px 22px!important;
        margin:0 auto!important;
        flex-direction:column!important;
        align-items:stretch!important;
        gap:10px!important
    }

    .site-header .nav-link,.store-header .store-nav-link {
        font-family:'Cormorant Garamond',serif!important;
        font-size:clamp(2.2rem,7.5vw,3.2rem)!important;
        line-height:1.2!important;
        letter-spacing:0!important;
        min-height:48px!important;
        padding:7px 0!important;
        white-space:normal!important;
        border:0!important;
        border-radius:0!important;
        background:transparent!important
    }

    .site-header .nav-mobile-quote,.store-header .nav-mobile-quote {
        display:block!important;
        margin-top:14px
    }

    .site-header .nav-mobile-quote .nav-link,.store-header .nav-mobile-quote .store-nav-link {
        display:inline-flex!important;
        align-items:center!important;
        justify-content:center!important;
        width:fit-content!important;
        max-width:100%;
        min-height:48px!important;
        padding:14px 24px!important;
        color:#fbf9e6!important;
        background:#7d562d!important;
        border:1px solid #7d562d!important;
        border-radius:999px!important;
        font-family:'Montserrat',sans-serif!important;
        font-size:.9rem!important;
        font-weight:500;
        line-height:1.35!important;
        letter-spacing:.02em!important;
        text-align:center;
        opacity:1!important;
        transform:none!important
    }

    .nav-mobile-quote :is(.nav-link,.store-nav-link)::after { display:none!important; }

    .site-header .nav-toggle,.store-header .store-menu-toggle {
        grid-column:1!important;
        grid-row:1!important;
        justify-self:start!important;
        position:relative!important;
        inset:auto!important;
        width:44px!important;
        height:44px!important;
        border:0!important;
        background:transparent!important;
        box-shadow:none!important;
        color:#644523!important
    }

    .site-header .catalog-search-toggle,.store-header .catalog-search-toggle {
        display:flex!important;
        position:relative!important;
        min-width:36px!important;
        min-height:44px;
        padding:0;
        visibility:visible!important;
        opacity:1!important
    }

    .catalog-search-toggle span {
        display:none
    }

    .language-switch {
        gap:0;
        font-size:.72rem
    }

    .language-switch button {
        min-width:25px;
        min-height:44px
    }

    .catalog-search-panel {
        top:100%;
        right:12px;
        width:calc(100vw - 24px);
        max-height:calc(100dvh - var(--navigation-height) - 18px);
        padding:18px;
        box-sizing:border-box
    }

    .catalog-search-heading label {
        font-size:1.4rem
    }

    .catalog-search-panel input {
        font-size:16px
    }

    body.store-body {
        padding-top:calc(var(--navigation-height) + 1px + env(safe-area-inset-top))
    }

}

@media(max-width:480px) {
    .site-header .site-nav,.store-header .store-navigation { grid-template-columns:44px minmax(0,1fr) auto!important; gap:0 6px!important; }
    .site-header .navigation-signature,.store-header .navigation-signature { width:min(165px,100%); min-width:0; }
}

