#category-home>.welcome{position:relative;top:auto;left:auto;right:auto;padding:145px 6% 45px;background:#eee8de;margin:0;pointer-events:auto;display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:10px 30px}#category-home>.welcome>p{grid-column:1/-1;margin-bottom:12px}#category-home>.welcome h1{font-size:clamp(34px,4vw,60px);margin:0}#category-home>.welcome>span{margin:0 0 10px;justify-self:end;font-size:14px}.category-grid{display:grid;grid-template-columns:1fr 1fr}.category-door.shelf{display:block;aspect-ratio:768/780;min-width:0}.category-door-copy{position:absolute;left:8%;right:8%;bottom:6.3%;display:flex;align-items:center;justify-content:space-between;gap:15px;z-index:4}.category-door-copy h2{font:clamp(24px,2.7vw,40px)/1.2 var(--serif);margin:8px 0 0}.category-door-copy span{font-size:11px;letter-spacing:1px}.category-door-count{display:flex;align-items:center;gap:20px;font-size:13px;white-space:nowrap}.category-door-count svg{width:22px;height:22px;color:#8b2028}.category-door:hover .shelf-photo{filter:brightness(1.035)}.category-door:focus-visible{outline-offset:-5px}.category-heading{padding:125px 6% 25px;background:#eee8de}.category-heading>a{font-size:13px;border-bottom:1px solid #978a7466;padding-bottom:4px}.category-heading-title{display:flex;align-items:baseline;gap:25px;margin:24px 0}.category-heading-title h1{font:clamp(32px,4vw,54px)/1.2 var(--serif);margin:0}.category-heading-title>span{font-size:13px;color:#716a5e}.category-tabs{display:flex;gap:26px;overflow-x:auto;scrollbar-width:none}.category-tabs a{font-size:14px;white-space:nowrap;padding:8px 0;border-bottom:1px solid transparent}.category-tabs [aria-current]{color:#8b2028;border-color:#8b2028}.shelf-rail{display:flex;position:relative;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#89734766 #e9dfcf;cursor:grab;touch-action:pan-x pan-y;outline-offset:-4px}.shelf-rail.dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}.shelf-rail .shelf{flex:0 0 min(52vw,620px);aspect-ratio:768/780;scroll-snap-align:center;min-width:0}.shelf-rail .shelf:first-child{aspect-ratio:768/780}.shelf-rail .shelf .shelf-photo{height:100%;top:0;bottom:auto;mask-image:linear-gradient(transparent,#000 3%,#000 97%,transparent)}.shelf-rail .shelf:first-child::before{display:none}.shelf-rail .shelf>.object-label{opacity:1;transform:none;bottom:8%}.shelf-rail .shelf-caption{opacity:0}.shelf-rail .shelf .object{bottom:25%;height:36%;left:10%;width:84%}.shelf-rail .shelf[data-side=right] .object{left:5%}.shelf-rail .bag-shelf .object{height:70%;left:24%;width:74%}.shelf-rail .object{cursor:inherit}.shelf-rail .object:active{translate:none}.rail-end{flex:0 0 360px;background:#eee8de;display:flex;flex-direction:column;justify-content:center;padding:50px;scroll-snap-align:end}.rail-end p{font:27px/1.5 var(--serif);margin-bottom:20px}.rail-end>span{font-size:13px;color:#716a5e}.rail-end>a{margin-top:25px;font-size:17px;color:#8b2028;border-bottom:1px solid #8b202844;padding:12px 0;align-self:start}.rail-controls{display:flex;justify-content:space-between;align-items:center;padding:24px 6% 125px;background:#eee8de}.rail-controls>div:first-child{display:flex;gap:25px;align-items:center}.rail-help,#rail-status{font-size:12px;color:#716a5e}.rail-buttons{display:flex;gap:10px}.rail-buttons button{display:grid;place-items:center;width:44px;height:44px;border:1px solid #89734766;border-radius:50%}.rail-buttons svg{width:20px;height:20px}.rail-buttons #rail-prev svg{transform:rotate(180deg)}.in-category .journey{display:none}.in-category footer{display:none}.in-category #boutique{min-height:100svh}.in-category .shelf-rail{background:#eae1d2}
@media(max-width:900px){.category-heading-title{display:block}.category-heading-title>span{display:block;margin-top:13px}.shelf-rail .shelf{flex-basis:70vw}.category-door-copy{bottom:5%}.category-door-copy h2{font-size:25px}.category-door-count{gap:7px;font-size:11px}}
@media(max-width:600px){#category-home>.welcome{display:block;padding:106px 24px 30px}#category-home>.welcome h1{font-size:35px}#category-home>.welcome>span{margin-top:20px;font-size:12px}.category-grid{display:block}.category-door.shelf{aspect-ratio:768/800}.category-door.shelf:first-child{aspect-ratio:768/800}.category-door.shelf .shelf-photo{height:100%;top:0;bottom:auto}.category-door-copy{bottom:5.5%}.category-door-copy h2{font-size:26px}.category-heading{padding:99px 24px 15px}.category-heading-title{margin:20px 0 15px}.category-heading-title h1{font-size:34px}.category-heading-title>span{font-size:12px}.category-tabs{gap:23px;margin-right:-24px;padding-right:24px}.category-tabs a{font-size:13px}.shelf-rail .shelf{flex-basis:92vw;aspect-ratio:768/900}.shelf-rail .shelf:first-child{aspect-ratio:768/900}.shelf-rail .shelf>.object-label{bottom:8%;left:7%;width:86%;gap:7px}.shelf-rail .shelf>.object-label strong{font-size:12px}.shelf-rail .shelf>.object-label>span{font-size:11px}.rail-end{flex-basis:82vw;padding:30px}.rail-end p{font-size:24px}.rail-controls{padding:18px 24px 125px}.rail-controls>div:first-child{display:block}.rail-help{display:block;margin-top:8px}.rail-buttons{gap:8px}}
.tap-hint{display:none!important}.category-door-copy{bottom:7.5%}.category-door-copy h2{margin-top:4px}.category-door-copy span{font-size:10px}.category-door-count{font-size:12px}.category-door-copy{padding-bottom:0}.shelf-rail .shelf>.object-label{pointer-events:auto;cursor:pointer}
@media(min-width:901px){.shelf-rail .shelf{flex-basis:clamp(430px,calc((100svh - 340px)*.985),620px)}.category-heading{padding-top:115px;padding-bottom:16px}.category-heading-title{margin:18px 0}.rail-controls{padding-top:14px}}
@media(max-width:600px){#category-home>.welcome>span{display:block;text-align:left}.category-door-copy h2{font-size:24px}.category-door-copy{bottom:7.5%}}
@media(min-width:901px){.rail-controls{justify-content:flex-start;gap:35px}}
@media(min-width:901px){.rail-controls{justify-content:flex-start;gap:35px}}
/* A single photo spans the complete visible shelf, independently of product cells. */
.in-category .shelf-rail{background:#eae1d2 url('assets/scene/continuous-shelf.webp') center/100% 100% no-repeat}.category-grid{background:#eae1d2 url('assets/scene/continuous-shelf.webp') center top/100% 50% repeat-y}.shelf-rail .shelf,.category-door.shelf{background:transparent;isolation:auto}.shelf-rail .shelf::before,.category-door.shelf::before{display:none!important}.shelf-rail .shelf::after,.category-door.shelf::after{display:none}.rail-end{background:transparent}.product-cutout{width:100%;height:100%;object-fit:contain;object-position:center bottom;pointer-events:none;filter:drop-shadow(0 7px 4px #39291d38);position:relative;z-index:2}.shelf-rail .object::before,.category-product::before{content:'';position:absolute;left:6%;right:6%;bottom:-1%;height:5%;border-radius:50%;background:#49332140;filter:blur(5px);pointer-events:none}.shelf-rail .shelf .object{border-radius:0;left:10%;width:80%;bottom:25%;height:42%}.shelf-rail .shelf[data-side=right] .object{left:10%}.shelf-rail .bag-shelf .object{left:19%;width:65%;height:67%;bottom:25%}.category-product{position:absolute;left:10%;width:80%;bottom:25%;height:42%;pointer-events:none}.bag-category .category-product{left:19%;width:65%;height:67%}.category-door:hover .product-cutout{filter:drop-shadow(0 8px 5px #39291d45)}
@media(max-width:600px){.category-grid{background-size:100% 25%}.product-cutout{filter:drop-shadow(0 4px 3px #39291d38)}.shelf-rail .shelf .object{left:10%;width:80%;bottom:25%;height:42%}.shelf-rail .bag-shelf .object{left:19%;width:65%;height:67%}.rail-end{background:transparent}}
.in-category .shelf-rail{background-attachment:local;background-position:left top;background-size:var(--rail-world-width,100%) 100%}
.shelf-rail.wheel-scrolling{scroll-snap-type:none}
@media(prefers-reduced-motion:reduce){.shelf-rail{scroll-behavior:auto}}
.shelf-rail .object::before{left:50%;right:auto;width:calc(var(--ground-width,100%) * .98);bottom:-5px;height:18px;transform:translateX(-48%);background:radial-gradient(ellipse,#46301f59 0%,#49332129 45%,transparent 73%);filter:blur(5px);z-index:0}
.shelf-rail .object::after{content:'';position:absolute;left:50%;width:calc(var(--ground-width,100%) * .90);bottom:-2px;height:7px;transform:translateX(-50%);background:radial-gradient(ellipse,#271c1399 0%,#39261955 45%,transparent 72%);filter:blur(1.5px);pointer-events:none;z-index:1}
.shelf-rail .product-cutout{filter:drop-shadow(0 1px 1px #30241966) drop-shadow(3px 6px 4px #49332129)}
/* The entrance and first shelf share one uninterrupted stone photograph. */
/* Apply the approved red hover treatment consistently to every department. */
.category-door .category-product{transform-origin:50% 100%;transition:transform .38s cubic-bezier(.22,1,.36,1)}
.category-door .category-door-copy h2{transition:color .25s}
.category-door .category-door-count svg{transition:transform .3s cubic-bezier(.22,1,.36,1)}
.category-door::after{display:block;content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;background:linear-gradient(transparent 82%,#ffdc963d 93%,transparent);transition:opacity .35s}
@media(hover:hover) and (pointer:fine){.category-door:hover .category-product{transform:scale(1.025)}.category-door:hover .category-door-copy h2{color:#8b2028}.category-door:hover .category-door-count svg{transform:translateX(5px)}.category-door:hover::after{opacity:1}}
.category-door:focus-visible .category-product{transform:scale(1.025)}
.category-door:focus-visible .category-door-copy h2{color:#8b2028}
@media(hover:none){.category-door:active .category-door-copy h2{color:#8b2028}}
@media(prefers-reduced-motion:reduce){.category-door .category-product,.category-door .category-door-count svg{transition:none;transform:none!important}.category-door::after{transition:none}}

/* Category pages are a single stone showroom: one viewport, one horizontal rail. */
body.in-category{height:100svh;overflow:hidden;background:#e6d7c2}
/* Horizontal mobile showrooms do not need a return-to-top control. */
@media(max-width:600px){body.in-category .floating-top{display:none!important}}
.in-category #boutique{height:100svh;min-height:0;overflow:hidden}
.in-category #category-view{height:100svh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#e6d7c2 url('assets/scene/continuous-shelf.webp') center/cover no-repeat}
.in-category .category-heading{position:relative;z-index:2;padding:112px 6% 18px;background:linear-gradient(180deg,#eadbc8e8 0%,#eadbc8b8 64%,#eadbc852 100%)}
.in-category .category-heading-title{margin:16px 0}
.in-category .shelf-rail{min-height:0;height:100%;overscroll-behavior:contain}
.in-category .shelf-rail .shelf{height:100%;aspect-ratio:auto}
.in-category .rail-end{height:100%}
.in-category .rail-controls{position:relative;z-index:2;min-height:72px;padding:12px 6% 18px;background:linear-gradient(180deg,#e1cfb238,#e1cfb2d9)}
@media(max-width:900px){.in-category .category-heading{padding:94px 24px 14px}.in-category .category-heading-title{margin:12px 0}.in-category .rail-controls{min-height:68px;padding:10px 24px 14px}}
@media(max-width:600px){.in-category .category-heading{padding-top:82px}.in-category .category-heading-title h1{font-size:30px}.in-category .category-tabs{padding-bottom:2px}.in-category .rail-controls{padding-bottom:calc(12px + env(safe-area-inset-bottom,0px))}}

.category-grid .category-product::before{left:50%;right:auto;width:calc(var(--ground-width,100%) * .98);transform:translateX(-48%)}
.category-grid .category-product::after{left:50%;right:auto;width:calc(var(--ground-width,100%) * .90);transform:translateX(-50%)}
#category-home{--intro-height:354px;--row-height:650px;background-image:url('assets/scene/continuous-shelf.webp'),url('assets/scene/continuous-shelf.webp');background-size:100% calc(var(--intro-height) + var(--row-height)),100% var(--row-height);background-position:left top,left calc(var(--intro-height) + var(--row-height));background-repeat:no-repeat,repeat-y}
#category-home>.welcome,.category-grid{background:transparent}
.category-door:nth-child(-n+2) .category-product{bottom:calc(25% + var(--intro-height)*.25)}
.category-door:nth-child(-n+2) .category-door-copy{bottom:calc(7.5% + var(--intro-height)*.075)}
@media(max-width:600px){.category-door:nth-child(2) .category-product{bottom:25%}.category-door:nth-child(2) .category-door-copy{bottom:7.5%}}
.category-product::before{left:2%;right:0;bottom:-3%;height:13%;background:radial-gradient(ellipse at center,#38291b55 0%,#49332130 42%,transparent 72%);filter:blur(7px);transform:skewX(-14deg);z-index:0}
.category-product::after{content:'';position:absolute;left:5%;right:4%;bottom:-1%;height:5%;border-radius:50%;background:radial-gradient(ellipse,#2a211ba6 0%,#3b2b1e66 40%,transparent 72%);filter:blur(2px);z-index:1;pointer-events:none}
.category-product .product-cutout{filter:drop-shadow(0 2px 1px #30241966) drop-shadow(5px 9px 6px #49332126)}
.category-door:hover .category-product .product-cutout{filter:drop-shadow(0 2px 1px #30241966) drop-shadow(5px 9px 6px #49332126)}
.bag-category .category-product::before{left:15%;right:10%;height:8%}
.bag-category .category-product::after{left:20%;right:15%;height:3%}
/* The rear tote and front pouch have different contact heights in the photo. */
.category-grid .bag-category .category-product::before{left:37%;right:auto;width:calc(var(--ground-width,100%) * .60);height:10px;bottom:7%;transform:translateX(-50%);background:radial-gradient(ellipse,#33231870,transparent 70%);filter:blur(2px)}
.category-grid .bag-category .category-product::after{left:66%;right:auto;width:calc(var(--ground-width,100%) * .55);height:5px;bottom:0;transform:translateX(-50%);background:radial-gradient(ellipse,#281e1580,transparent 72%);filter:blur(1px)}
.category-grid .bag-category .product-cutout{filter:drop-shadow(0 1px .6px #2c211b55)}
.category-grid .bag-category:hover .product-cutout{filter:drop-shadow(0 1px .6px #2c211b55)}
.shelf-rail .bag-shelf>.object-label{bottom:4.5%}
.category-product::before{left:2%;right:0;bottom:-3%;height:13%;background:radial-gradient(ellipse at center,#38291b55 0%,#49332130 42%,transparent 72%);filter:blur(7px);transform:skewX(-14deg);z-index:0}
.category-product::after{content:'';position:absolute;left:5%;right:4%;bottom:-1%;height:5%;border-radius:50%;background:radial-gradient(ellipse,#2a211ba6 0%,#3b2b1e66 40%,transparent 72%);filter:blur(2px);z-index:1;pointer-events:none}
.category-product .product-cutout{filter:drop-shadow(0 2px 1px #30241966) drop-shadow(5px 9px 6px #49332126)}
.category-door:hover .category-product .product-cutout{filter:drop-shadow(0 2px 1px #30241966) drop-shadow(5px 9px 6px #49332126)}
.bag-category .category-product::before{left:15%;right:10%;height:8%}
.bag-category .category-product::after{left:20%;right:15%;height:3%}
