/* V8 · Warm paper, fine serif type, photography and generous whitespace.
   Original sections, brand pages, artwork records and interactions are retained. */
:root{--bg:#faf9f6;--bg-warm:#f2f0e9;--ink:#595247;--ink-light:#746c60;--ink-lighter:#948b7e;--line:#ded9cf;--line-dark:#c8c0b2;--accent:#595247;--warm:#f2f0e9;--mute:#746c60;--display:"Baskerville","Times New Roman","Songti SC","STSong","SimSun",serif}
body{background:var(--bg);color:var(--ink);font-family:"Helvetica Neue","PingFang SC","Hiragino Sans GB",Arial,sans-serif;font-weight:400}
h1,h2,h3,h4,.serif{font-family:var(--display);font-weight:400}
header,header.scrolled{background:rgba(242,240,233,.98);border-color:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
header .header-inner{max-width:none;height:94px;padding:0 3.2vw;position:relative}
header .brand{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:76px;height:78px;justify-content:center}
header .header-logo{height:74px;width:auto;max-width:76px;object-fit:contain;transition:filter .4s}
header nav.desktop,header nav{display:grid;grid-template-columns:repeat(3,auto) minmax(150px,1fr) repeat(4,auto);gap:clamp(16px,2vw,32px);width:100%;height:100%;align-items:center}
header nav>:nth-child(4){grid-column:5}
header nav>.nav-item{height:100%}
header nav.desktop>a,header nav.desktop>.nav-item>button{font-size:.81rem;letter-spacing:.045em}
header .saved-nav{font-size:.81rem}
header .nav-en{font-size:.57rem;letter-spacing:.11em;color:var(--ink-lighter);margin-top:7px}
header .nav-panel{background:var(--bg-warm);border-color:var(--line);box-shadow:none}
body:has(#top) header:not(.scrolled){background:transparent;color:#fff}
body:has(#top) header:not(.scrolled) .header-logo{filter:brightness(0) invert(1)}
body:has(#top) header:not(.scrolled) nav.desktop>a,body:has(#top) header:not(.scrolled) nav.desktop>.nav-item>button,body:has(#top) header:not(.scrolled) .saved-nav,body:has(#top) header:not(.scrolled) .nav-en{color:#fff}
body:has(#top) header:not(.scrolled) .menu-toggle span{background:#fff}
.mobile-nav{background:var(--bg-warm)}
.hero{height:100svh;min-height:640px;max-height:1200px;padding:0;overflow:hidden;display:block;background:#4b493e;color:white}
.hero-slides,.hero-slide{position:absolute;inset:0;margin:0}
.hero-slide{opacity:0;transition:opacity 1.25s ease;pointer-events:none}
.hero-slide.active{opacity:1}
.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:50% 51%}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(29,28,24,.25),transparent 24%,transparent 55%,rgba(25,24,21,.35))}
.hero-copy{position:absolute;left:3.2vw;bottom:58px;z-index:1;text-align:left;max-width:540px}
.hero-overline{font-size:.62rem;letter-spacing:.21em;margin-bottom:13px}
.hero .tagline{color:#fff;font-family:var(--display);font-size:clamp(1rem,1.25vw,1.2rem);letter-spacing:.055em;line-height:1.8;max-width:440px;margin:0 0 23px;opacity:1;animation:none}
.hero-cta{opacity:1;animation:none}
.hero-cta .btn,.hero-cta .btn:hover{background:none;color:#fff;border:0;border-bottom:1px solid #ffffff80;padding:0 0 9px;font-size:.75rem;letter-spacing:.08em;gap:18px}
.hero-cta .btn>span:first-child{font-size:.56rem;letter-spacing:.16em}
.hero-controls{position:absolute;z-index:1;bottom:66px;right:3.2vw;display:flex;align-items:center;gap:16px}
.hero-controls button{color:#fff;min-width:30px;height:40px;font-size:.72rem;opacity:.55;transition:opacity .3s}
.hero-controls button.active,.hero-controls button:hover{opacity:1}
.hero-rule{width:54px;height:1px;background:#ffffff70}
.hero-controls #heroPause{font-size:1rem;margin-left:12px}
.hero .scroll-hint{z-index:1;color:#fff;bottom:20px;font-size:.55rem;letter-spacing:.18em;opacity:.8;animation:none}
section{scroll-margin-top:94px}
#gallery{padding:84px 3.2vw 78px;background:var(--bg)}
#gallery .section-head{max-width:none;display:block;text-align:center;margin-bottom:28px}
#gallery .section-head h2{font-size:1.85rem;letter-spacing:.08em;line-height:1.5}
#gallery .section-label{font-size:.62rem;letter-spacing:.23em;margin-bottom:10px}
#gallery .section-head .lead{max-width:none;font-size:.73rem;margin-top:15px;letter-spacing:.035em;color:var(--ink-lighter)}
.gallery-toolbar{max-width:none;width:100%;margin-bottom:32px;position:relative}
.filter-heading{order:2;margin:14px 0 0;min-height:32px}
.tools-label{display:none}
.collection-tools{margin-left:auto;gap:25px}
.collection-tools button{font-size:.72rem;padding:3px 0}
.filter-tabs{display:flex;justify-content:center;gap:40px;margin-bottom:18px}
.filter-tab{position:relative;color:var(--ink-lighter);font-size:.76rem;letter-spacing:.08em;line-height:1.5;padding:0 0 10px;border-bottom:1px solid transparent}
.filter-tab small{display:block;font-size:.52rem;letter-spacing:.13em;margin-top:5px}
.filter-tab[aria-selected="true"]{color:var(--ink);border-color:var(--ink)}
.filter-tab i{position:absolute;top:0;right:-7px;width:3px;height:3px;border-radius:50%;background:var(--ink)}
.filter-group{border:0}
.filter-row{display:block;padding:0;border:0;min-height:42px}
.filter-row[hidden]{display:none}
.filter-row>.filter-label{display:none}
.filter-options{justify-content:center;gap:10px 24px}
.filter-btn{color:var(--ink-lighter);background:none;padding:5px 0;border:0;border-bottom:1px solid transparent;font-size:.74rem;border-radius:0;letter-spacing:.05em;min-height:34px}
.filter-btn.active,.filter-btn:not(.active):hover{color:var(--ink);background:none;border-bottom-color:var(--ink);border-top:0;border-left:0;border-right:0}
.gallery-summary{order:3;margin-top:-32px;padding-right:230px;min-height:32px}
.gallery-count{font-size:.67rem}
.filter-chips button{font-size:.65rem;background:var(--bg-warm);padding:3px 7px}
#inquireSaved{font-size:.72rem;margin-left:0}
.gallery-grid{max-width:none;gap:25px;padding-bottom:15px;scrollbar-width:none}
.gallery-grid::-webkit-scrollbar{display:none}
.artwork{flex:0 0 calc((100% - 75px)/4)}
.artwork-frame{background:#f0eee8;padding:0;margin-bottom:18px;overflow:visible}
.artwork-image-button{aspect-ratio:4/5;overflow:hidden;background:#f0eee8}
.artwork-frame img{object-fit:contain;mix-blend-mode:multiply}
.artwork-frame .artwork-detail{object-fit:cover;mix-blend-mode:normal}
.artwork-actions{padding:0;position:absolute;right:0;top:calc(100% + 15px);left:auto;bottom:auto;background:none;gap:6px;opacity:1}
.action-btn{width:26px;height:26px;font-size:.75rem;border:0;color:var(--ink-lighter)}
.action-btn:hover,.action-btn.liked{color:var(--ink);background:none}
.artwork-info{padding-right:86px}
.artwork-info h3{font-size:1rem;line-height:1.7;letter-spacing:.055em}
.artwork-info .meta,.artwork-info .details{font-size:.64rem;line-height:1.9;color:var(--ink-lighter)}
.artwork-info .details{display:block}
.artwork-info .price{display:block;font-size:.67rem;margin-top:7px;color:var(--ink-light)}
.gallery-bottom{max-width:none;margin-top:30px;align-items:center}
.gallery-bottom>span{font-size:.65rem}
.gallery-controls button{border-color:var(--line-dark);color:var(--ink-light)}
#sub-brands{padding:110px 24px;background:var(--bg)}
.brand-logo-strip{display:flex;justify-content:center;align-items:center;gap:140px;min-height:190px}
.brand-logo-link{width:180px;height:190px;display:flex;align-items:center;justify-content:center;transition:opacity .3s}
.brand-logo-link:hover{opacity:.65}
.brand-logo-link img{max-width:100%;max-height:100%;object-fit:contain}
.brand-logo-link:nth-child(2){width:158px;height:158px}
/* The detail panel mirrors the reference: artwork remains visible while the right column scrolls. */
.artwork-viewer{width:100vw;height:100svh;max-height:none;max-width:none;margin:0;inset:0;padding:0;overflow:hidden;background:var(--bg-warm);color:var(--ink)}
.artwork-viewer::backdrop{background:#5a5247aa;backdrop-filter:blur(6px)}
.viewer-close{position:fixed;top:20px;right:24px;width:40px;height:40px;font-size:1rem;background:var(--bg-warm);color:var(--ink);border:1px solid var(--line);border-radius:50%;z-index:3}
.viewer-layout{height:100%;min-height:0;grid-template-columns:1fr 1fr}
.viewer-visual{padding:65px 32px 26px;background:#e9e5dc;min-height:0}
.viewer-stage{flex:1;min-height:0;height:auto;max-height:none;overflow:auto}
.viewer-stage img{max-height:none;height:100%;width:100%;object-fit:contain;mix-blend-mode:multiply}
.viewer-stage.zoomed img{mix-blend-mode:normal}
.viewer-image-controls{padding-top:24px;gap:20px}
.viewer-image-controls button{font-size:.59rem;letter-spacing:.065em;color:var(--ink-light)}
.viewer-info{display:block;overflow-y:auto;overscroll-behavior:contain;padding:66px clamp(35px,6vw,120px) 64px;scrollbar-width:thin;scrollbar-color:#c4bdb2 transparent}
.viewer-detail-figure{margin:0}
.viewer-detail-figure img{width:100%;height:auto;aspect-ratio:1/1;object-fit:cover}
.viewer-detail-figure figcaption{display:flex;justify-content:space-between;margin-top:12px;font-size:.62rem;letter-spacing:.07em;color:var(--ink-lighter)}
.viewer-detail-figure figcaption span{font-size:.53rem;letter-spacing:.12em}
.viewer-catalog{padding:44px 0 48px;text-align:center}
.viewer-catalog .section-label{font-size:.58rem;margin-bottom:14px}
.viewer-info h2{font-size:clamp(1.35rem,1.8vw,2rem);margin-bottom:5px;letter-spacing:.045em}
#viewerArtist{font-size:.78rem;color:var(--ink-light)}
.viewer-description{font-family:var(--display);font-size:.92rem;line-height:2;max-width:400px;margin:24px auto 0;color:var(--ink-light)}
.viewer-facts{margin:28px 0 0;padding:22px 0 10px;border-block:1px solid var(--line);text-align:left}
.viewer-facts div{grid-template-columns:85px 1fr;gap:12px;font-size:.75rem;margin-bottom:12px}
.viewer-facts dt{color:var(--ink-lighter)}
.viewer-price{font-family:var(--display);font-size:1.08rem;margin:22px 0 15px;letter-spacing:.07em}
.viewer-note{font-size:.62rem;line-height:1.8;color:var(--ink-lighter);margin-bottom:24px}
.viewer-actions{gap:10px}
.viewer-actions .btn{font-size:.73rem;letter-spacing:.06em;border-color:var(--line-dark);min-height:46px;padding:12px 20px}
.viewer-actions .btn:first-child{background:var(--ink);color:var(--bg)}
.viewer-actions .btn:hover{background:#746c60;color:var(--bg)}
.viewer-browse{padding-top:22px;font-size:.65rem}
.viewer-browse button{font-size:1.1rem;color:var(--ink)}
.viewer-detail-figure.secondary img{object-fit:contain;mix-blend-mode:multiply}
.modal-overlay .modal{background:var(--bg-warm)}
/* Palette and display font also carry through to retained brand pages. */
body:not(:has(#top)) header nav{grid-template-columns:repeat(3,auto) minmax(150px,1fr) repeat(3,auto)}
body:not(:has(#top)) .feature,body:not(:has(#top)) .cover-image{background:#ebe7dd}
body:not(:has(#top)) .eyebrow,body:not(:has(#top)) .intro .roman{color:var(--ink-lighter)}
body:not(:has(#top)) .cta{background:var(--ink)}
body:not(:has(#top)) .mobile-links.open{background:var(--bg-warm)}
@media(max-width:1180px){header nav.desktop,header nav,body:not(:has(#top)) header nav{gap:18px;grid-template-columns:repeat(3,auto) minmax(110px,1fr) repeat(4,auto)}body:not(:has(#top)) header nav{grid-template-columns:repeat(3,auto) minmax(110px,1fr) repeat(3,auto)}header .header-inner{padding:0 28px}.artwork{flex-basis:calc((100% - 50px)/3)}.viewer-info{padding-inline:40px}.viewer-visual{padding-inline:22px}.gallery-summary{padding-right:220px}}
@media(max-width:1000px){header nav.desktop,header nav,body:not(:has(#top)) header nav{display:none}header .menu-toggle,header .mobile-menu{display:flex;margin-left:auto}header .header-inner{height:82px}header .brand{height:68px;width:65px}header .header-logo{height:63px;max-width:65px}section{scroll-margin-top:82px}.hero{min-height:560px}.hero-copy{left:28px;max-width:420px}.hero-controls{right:28px}.filter-tabs{gap:28px}.viewer-info{padding-inline:28px}.viewer-visual{padding-inline:18px}.viewer-image-controls{gap:12px}.viewer-image-controls button{font-size:.52rem}}
@media(max-width:768px){header .header-inner{height:76px;padding-inline:20px}header .brand{width:58px;height:64px}header .header-logo{height:58px}section{scroll-margin-top:76px}.hero{height:85svh;min-height:560px;max-height:900px}.hero-slide img{object-position:43% 50%}.hero-copy{left:24px;right:24px;bottom:100px;max-width:none}.hero-overline{font-size:.52rem}.hero .tagline{max-width:300px;font-size:.98rem;line-height:1.9;margin-bottom:18px}.hero-controls{left:20px;right:auto;bottom:43px;gap:13px}.hero-controls #heroPause{margin-left:4px}.hero .scroll-hint{left:auto;right:24px;transform:none;bottom:58px}.hero-cta .btn{font-size:.71rem;gap:12px}.hero-cta .btn>span:first-child{font-size:.48rem}#gallery{padding:58px 20px 54px}#gallery .section-head{margin-bottom:25px}#gallery .section-head h2{font-size:1.6rem}#gallery .section-head .lead{max-width:280px;margin:14px auto 0;font-size:.68rem;line-height:1.9}.filter-panel summary{font-size:.76rem;padding:12px 0;border-color:var(--line)}.filter-tabs{gap:0;justify-content:space-between;margin:20px 0 16px}.filter-tab{font-size:.7rem;letter-spacing:0}.filter-tab small{font-size:.46rem}.filter-options{gap:6px 20px;justify-content:center}.filter-row{min-height:40px}.filter-btn{font-size:.71rem;min-height:35px}.filter-heading{margin-top:14px}.collection-tools{width:auto;margin-left:auto;gap:20px}.collection-tools button{font-size:.65rem}.gallery-summary{margin-top:0;padding-right:0;min-height:25px;gap:8px}.gallery-toolbar{margin-bottom:24px}.gallery-count{font-size:.6rem}.artwork{flex-basis:78%}.gallery-grid{gap:18px}.artwork-image-button{aspect-ratio:4/5}.artwork-info h3{font-size:1rem}.artwork-info .meta,.artwork-info .details{font-size:.67rem}.artwork-actions{gap:4px}.action-btn{width:28px;height:30px}.artwork-info{padding-right:94px}.gallery-bottom{align-items:flex-start;gap:14px}.gallery-controls{align-self:flex-end}#sub-brands{padding:75px 24px}.brand-logo-strip{gap:52px;min-height:140px}.brand-logo-link{width:128px;height:140px}.brand-logo-link:nth-child(2){width:115px;height:115px}.artwork-viewer{inset:0;left:0;top:0;right:0;bottom:0;width:100vw;height:100svh;max-height:none;margin:0;overflow-y:auto}.viewer-layout{display:block;height:auto;min-height:100%}.viewer-close{right:16px;top:14px}.viewer-visual{height:61svh;min-height:380px;padding:52px 20px 19px}.viewer-stage{height:auto;min-height:0;max-height:none}.viewer-stage img{max-height:none}.viewer-image-controls{padding-top:15px;gap:18px}.viewer-image-controls button{font-size:.54rem;min-height:32px}.viewer-info{overflow:visible;padding:32px 32px 50px}.viewer-detail-figure img{max-height:none}.viewer-catalog{padding:35px 0 30px}.viewer-info h2{font-size:1.55rem}.viewer-facts div{font-size:.76rem}.viewer-description{font-size:.88rem}.viewer-price{font-size:1.1rem}.viewer-browse{padding-top:16px}}
@media(max-width:390px){.filter-tab{font-size:.64rem}.filter-options{gap:6px 15px}.hero-controls{gap:9px}.brand-logo-strip{gap:32px}.brand-logo-link{width:115px}.brand-logo-link:nth-child(2){width:105px}.viewer-info{padding-inline:24px}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.hero .tagline,.hero-cta{opacity:1;transform:none}}
/* Keep filter utilities and result count in separate, non-overlapping columns. */
.gallery-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 24px;align-items:center}
.filter-panel{grid-column:1/-1;grid-row:1}
.filter-heading{grid-column:2;grid-row:2;width:auto;margin:0;min-height:32px}
.gallery-summary{grid-column:1;grid-row:2;width:auto;padding:0;margin:0;min-height:32px}
@media(max-width:768px){.gallery-toolbar{grid-template-columns:minmax(0,1fr);gap:12px}.filter-heading{grid-column:1;grid-row:2;justify-content:flex-end;min-height:24px}.gallery-summary{grid-column:1;grid-row:3;min-height:24px}.collection-tools{margin-left:auto}}
.hero-copy{max-width:640px}.hero .tagline{max-width:570px}
.hero .scroll-hint::after{display:none}
@media(max-width:768px){.gallery-grid{margin-right:-20px;padding-right:20px}.hero-slide[data-slide="0"] img{object-position:15% 50%}.hero-slide[data-slide="1"] img{object-position:45% 50%}.hero .tagline{max-width:300px}}
