/* Shared showroom banner; three columns on desktop and two on mobile. */
html:has(body.gallery dialog[open]),body.gallery:has(dialog[open]){overflow:hidden}
.gallery button{touch-action:manipulation}
@media(max-width:820px){
 .gallery header{height:80px;margin:0 20px}
 .gallery .logo img{width:min(260px,75vw)}
 .gallery .header-note{display:none}
 .gallery-main{display:grid;grid-template-columns:minmax(0,1fr);margin:26px 20px 48px}
 .gallery-heading{order:0;min-width:0}
 .gallery-heading h1{font-size:2rem;line-height:1.08;letter-spacing:-.035em;margin-top:10px;max-width:320px}
 .gallery-heading .eyebrow{font-size:.75rem;line-height:1.4}
 .gallery-tag{display:none}
 .gallery-content{display:contents}
 .gallery-content>section{order:3;min-width:0}
 .gallery .mood-panel{order:1;position:static;height:106px;flex-direction:row;margin:24px 0 8px;min-width:0}
 .gallery .mood-photo{height:100%;width:78%;overflow:hidden}
 .gallery .mood-photo img{object-position:50% 47%;width:100%;height:100%}
 .gallery .mood-color{flex:1}
 .gallery .mood-color img{width:52px;max-width:75%}
 .gallery-toolbar{order:2;position:sticky;top:0;z-index:2;margin:0 0 22px;padding:8px 0 0;background:#fff;isolation:isolate}
 .gallery-toolbar .categories{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:4px}
 .gallery-toolbar button{min-width:0;min-height:52px;font-size:1rem;padding:12px 3px;white-space:nowrap;border-bottom:3px solid transparent}
 .gallery-toolbar button sup{font-size:.75rem;margin-left:7px}
 .gallery-toolbar>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
 .gallery .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}
 .gallery .product-image{aspect-ratio:1/1.12}
 .gallery .product-image img{padding:15px 10px;transform:none}
 .gallery .item-num{top:10px;left:10px;font-size:.75rem}
 .gallery .product-caption{display:block;padding-top:12px}
 .gallery .product-caption h3{font-size:.9375rem;line-height:1.45;font-weight:500}
 .gallery .category-label{display:block;font-size:.75rem;margin-top:7px;color:#666}
 .gallery .product-en{display:none}
 .gallery footer{margin:0 20px;padding:24px 0 calc(24px + env(safe-area-inset-bottom));gap:10px;font-size:.75rem;flex-wrap:wrap}
 .gallery footer span:last-child{flex-basis:100%;margin-left:0;line-height:1.6}
 .gallery footer img{width:35px}
 .gallery dialog{width:calc(100vw - 24px);max-width:540px;max-height:calc(100dvh - 24px);overscroll-behavior:contain;margin:auto}
 .gallery .close{position:sticky;display:block;top:10px;right:auto;margin:10px 10px -54px auto;background:#fffcf4;box-shadow:0 0 0 1px #e7e5df;width:44px;height:44px}
 .gallery .detail-layout{display:block;min-height:0}
 .gallery .detail-image img{height:clamp(260px,45dvh,440px);padding:30px 24px;width:100%;object-fit:contain}
 .gallery .detail-copy{padding:28px 24px 32px;display:block}
 .gallery .detail-copy h2{font-size:1.75rem;line-height:1.2;margin:16px 0 12px}
 .gallery .english{font-size:.75rem;line-height:1.5}
 .gallery .description{font-size:1rem;line-height:1.75;margin-top:24px;white-space:normal}
 .gallery .detail-swatches{margin-top:28px}
}
@media(max-width:359px){.gallery header{margin:0 16px}.gallery-main{margin-left:16px;margin-right:16px}.gallery-toolbar button{font-size:.875rem}.gallery-toolbar button sup{margin-left:4px}.gallery .product-grid{column-gap:10px}.gallery .product-caption h3{font-size:.875rem}.gallery-heading h1{font-size:1.875rem}}

.mobile-brand-banner{display:block;aspect-ratio:16/5;margin:28px 0 0;overflow:hidden}
.mobile-brand-banner img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
@media(max-width:820px){
 .gallery .mood-panel{display:none}
 .mobile-brand-banner{order:1;display:block;aspect-ratio:350/148;margin:24px 0 8px;overflow:hidden}
 .mobile-brand-banner img{display:block;width:100%;height:100%;object-fit:cover}
}
