.site-header {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;
    padding-block:35px;
}

.brand {
    display:block;
    width:clamp(205px,25vw,340px);
    flex-shrink:0;
}

.brand:hover {
    text-decoration:none;
}

.brand-mark {
    display:block;
    background:var(--orange);
    mask:var(--logo) center/contain no-repeat;
    -webkit-mask:var(--logo) center/contain no-repeat;
}

.brand-mark img {
    width:100%;
    visibility:hidden;
}

.brand-tagline {
    display:block;
    font-family:var(--serif);
    font-size:clamp(18px,2.3vw,28px);
    letter-spacing:.075em;
    margin-top:2px;
    padding-left:3px;
}

.header-actions {
    display:flex;
    align-items:center;
    gap:clamp(24px,4vw,66px);
}

.nav-list {
    list-style:none;
    padding:0;
    margin:0;
    display:flex;
    gap:clamp(22px,3.2vw,48px);
}

.nav-list a {
    display:block;
    text-transform:uppercase;
    letter-spacing:.17em;
    font-size:12px;
    padding:10px 0;
    position:relative;
}

.nav-list a:hover {
    text-decoration:none;
}

.nav-list a::after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:3px;
    height:2px;
    background:var(--orange);
    transform:scaleX(0);
    transform-origin:left;
    transition:transform .18s;
}

.nav-list a:hover::after,.nav-list .current-menu-item>a::after,.home .nav-list li:first-child>a::after {
    transform:scaleX(1);
}

.cart-link {
    display:flex;
    align-items:center;
    gap:10px;
    font-size:12px;
    white-space:nowrap;
}

.menu-toggle {
    display:none;
    background:none;
    border:0;
    padding:10px 0;
    text-transform:uppercase;
    letter-spacing:.1em;
}

.gallery-main {
    padding-bottom:64px;
}

.artwork-grid,ul.products {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:36px clamp(25px,4.7vw,66px);
    list-style:none;
    padding:0;
    margin:0;
}

.site-footer {
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    gap:30px;
    align-items:start;
    padding-block:54px 65px;
}

.footer-brand {
    width:180px;
    display:block;
}

.footer-brand img {
    width:150px;
}

.footer-brand span {
    display:block;
    text-transform:uppercase;
    font-size:9px;
    letter-spacing:.35em;
    margin-top:15px;
    white-space:nowrap;
}

.footer-links {
    list-style:none;
    text-align:center;
    padding:0;
    margin:0;
}

.footer-links a {
    text-transform:uppercase;
    letter-spacing:.08em;
    font-size:11px;
    line-height:2.1;
}

.footer-signature {
    text-align:right;
    font-family:var(--serif);
    font-size:14px;
    letter-spacing:.02em;
}

.footer-signature p {
    margin:20px 0 0;
}

.sofa {
    margin-right:12px;
}

.page-main {
    padding-bottom:90px;
    min-height:45vh;
}

.page-article>h1 {
    font-size:clamp(38px,5vw,68px);
    margin-bottom:36px;
}

.page-article>.entry-content {
    max-width:850px;
}

.editorial-main {
    padding-block:15px 100px;
}

.eyebrow {
    font-size:11px;
    letter-spacing:.15em;
    text-transform:uppercase;
    display:block;
    margin-bottom:30px;
}

.editorial-main h1 {
    font-size:clamp(60px,8vw,118px);
    letter-spacing:-.055em;
    max-width:1050px;
    margin-bottom:70px;
}

/* Manifest: full container width, aligned heading and body copy. */
.manifest-main {
    padding-block: 0 80px;
}

.manifest-article {
    max-width: 100%;
}

.manifest-heading h1, .contact-heading h1 {
    font-size: clamp(34px, 4.2vw, 54px);
    letter-spacing: -.035em;
    margin-bottom: 34px;
}

.manifest-copy {
    font-family: var(--serif);
    font-size: 20px;
    line-height: 1.65;
}

.manifest-copy p {
    margin-bottom: 1.15em;
}

.manifest-copy p:last-child {
    margin-bottom: 0;
}

@media(min-width:1441px) {
    .site-header {
        padding-block:45px;
    }
}

@media(max-width:1000px) {
    .header-actions {
        gap:24px;
    }
    .nav-list {
        gap:22px;
    }
    .artwork-grid,ul.products {
        gap:32px;
    }
    .footer-brand {
        width:145px;
    }
    .footer-brand img {
        width:125px;
    }
    .footer-brand span {
        font-size:8px;
        letter-spacing:.22em;
    }
}

@media(max-width:760px) {
    .site-header {
        gap: 16px;
        align-items: center;
        padding-block: 22px;
        flex-wrap: nowrap;
    }
    .brand { width: 135px; }
    .brand-tagline { font-size: 12px; }
    .header-actions { gap: 22px; }
    .menu-toggle {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 11px;
        min-height: 44px;
        min-width: 78px;
        justify-content: flex-end;
    }
    .menu-toggle__icon { font-size: 22px; line-height: 1; }
    .cart-link { gap: 6px; min-height: 44px; font-size: 11px; }
    .cart-link svg { width: 21px; }
    .has-js #primary-navigation {
        display: none;
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100vh;
        height: 100dvh;
        background: var(--paper);
        z-index: 100;
        padding: max(155px, 20dvh) var(--gutter) max(36px, env(safe-area-inset-bottom));
        overflow-y: auto;
        overscroll-behavior: contain;
    }
    .has-js #primary-navigation.is-open { display: flex; flex-direction: column; }
    .has-js .nav-list { display: flex; flex-direction: column; gap: 0; }
    .has-js .nav-list li { border-bottom: 1px solid var(--line); }
    .has-js .nav-list a {
        font-family: var(--serif);
        font-size: clamp(42px, 9vw, 68px);
        font-weight: 700;
        letter-spacing: -.035em;
        text-transform: none;
        line-height: 1.15;
        padding: 22px 0;
    }
    .has-js .nav-list a::after { display: none; }
    .has-js .nav-list a:hover,
    .has-js .nav-list .current-menu-item > a { color: var(--orange); }
    .menu-open .site-header .brand,
    .menu-open .menu-toggle,
    .menu-open .cart-link { position: relative; z-index: 101; }
    .menu-open { overflow: hidden; }
    .menu-open body { position: fixed; top: var(--menu-scroll-top, 0px); width: 100%; }
    html:not(.has-js) .site-header { flex-wrap: wrap; }
    html:not(.has-js) .header-actions { flex-wrap: wrap; }
    html:not(.has-js) .menu-toggle { display: none; }
    html:not(.has-js) .nav-list { flex-wrap: wrap; }
    .artwork-grid,ul.products {
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:30px 22px;
    }
    .site-footer {
        grid-template-columns:1fr 1fr;
        padding-block:38px;
        gap:35px;
    }
    .footer-links {
        text-align:right;
    }
    .footer-signature {
        grid-column:1/-1;
        text-align:left;
        display:flex;
        align-items:center;
        justify-content:space-between;
        flex-direction:row-reverse;
    }
    .footer-signature p {
        margin:0;
    }
    .editorial-main {
        padding-bottom:60px;
    }
    .editorial-main h1 {
        margin-bottom:45px;
    }
    .manifest-main { padding-block: 0 55px; }
    .manifest-copy { font-size: 18px; }
    .manifest-heading h1, .contact-heading h1 { margin-bottom: 26px; }
    .page-main {
        padding-bottom:60px;
    }
}

@media(max-width:480px) {
    .artwork-grid,ul.products {
        grid-template-columns:1fr;
        gap:33px;
    }
    .gallery-main {
        padding-bottom:40px;
    }
    .editorial-main h1 {
        font-size:56px;
    }
    .site-footer {
        gap:24px;
    }
}

@media (max-width: 359px) {
    .site-header { gap: 10px; }
    .brand { width: 112px; }
    .brand-tagline { font-size: 10px; }
    .header-actions { gap: 12px; }
    .menu-toggle { font-size: 10px; min-width: 72px; }
}

/* Shared breadcrumbs start at the same offset below the header. */
.contact-main { padding-top: 0; }
