:root{--green:#20372a;--ink:#342e24;--cream:#eee5d6;--line:#83735b44;--scene-height:100dvh}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{background:#c7b69d;color:var(--ink);font:13px/1.6 Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--green);outline-offset:4px}h1,h2,h3,p{margin:0}h2,h3{font-family:Georgia,serif;font-weight:400}#main{position:fixed;inset:0}#wardrobe-scroll{width:100%;height:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab;touch-action:pan-x;user-select:none}#wardrobe-scroll::-webkit-scrollbar{display:none}#wardrobe-scroll.dragging{cursor:grabbing}#wardrobe-scroll.dragging *{cursor:grabbing!important}.wardrobe,.wall-cycle{height:100%;display:flex;flex:none;width:max-content}.wall-scene{height:100%;width:calc(var(--scene-height)*var(--scene-ratio));flex:none;position:relative;isolation:isolate}.scene-photo{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none}.scene-photo.mirrored{transform:scaleX(-1)}.wall-product{position:absolute;display:flex;justify-content:center;align-items:end;padding:0;background:none;border:0;cursor:pointer}.wall-product:focus-visible{outline:1px solid #7c694f88;outline-offset:4px}.item-label{font-size:11px;white-space:nowrap;background:#e8ddc9e8;color:#34382a;border:1px solid #aa95735c;padding:6px 13px;opacity:0;transform:translateY(12px);transition:opacity .18s,transform .18s;pointer-events:none;box-shadow:0 3px 12px #48321c18}.wall-product:hover .item-label,.wall-product:focus-visible .item-label{opacity:1;transform:translateY(6px)}.cabinet-crown{position:fixed;left:0;right:0;top:0;height:74px;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:0 3.5%;gap:25px;background:linear-gradient(#dfcfb36b,transparent);pointer-events:none}.cabinet-crown>*{pointer-events:auto}.brand{display:block;width:183px;height:63px}.brand img{width:100%;height:100%;object-fit:contain}nav{display:flex;gap:35px;margin-left:-65px}nav a{font-size:12px;padding:8px 0;border-bottom:1px solid transparent}nav a[aria-current=page]{border-color:#766447}.cart-link{display:flex;align-items:center;gap:10px;font-size:12px}.cart-link b{font-size:10px;font-weight:400;border:1px solid #71644877;border-radius:50%;width:21px;height:21px;display:grid;place-items:center}.edge-arrow{position:absolute;top:47%;width:37px;height:50px;z-index:3;border:1px solid #76634c3d;border-radius:50%;font:32px/1 Georgia,serif;background:#e6d9c04d;color:#5d4e38;backdrop-filter:blur(2px)}.edge-arrow:hover{background:#eee1cdb3}.left{left:16px}.right{right:16px}.cabinet-base{position:fixed;bottom:0;left:0;right:0;height:65px;padding:0 3.5%;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:25px;background:linear-gradient(transparent,#cbb99b77);pointer-events:none}.cabinet-base>*{pointer-events:auto}.filters{display:flex;gap:23px}.filters button{font-size:11px;padding:6px 0;border-bottom:1px solid transparent}.filters button.selected{border-color:var(--green)}.gesture,.demo-label{font-size:9px;color:#5d523f}.gesture span{margin-left:15px;font-size:23px;vertical-align:middle}.sprite{display:block;width:100%;height:auto;aspect-ratio:var(--art-ratio);background-repeat:no-repeat;pointer-events:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;left:10px;background:var(--green);color:white;padding:10px;z-index:100}.skip:focus{top:10px}#toast{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);background:var(--green);color:#f6eddc;box-shadow:0 6px 25px #0002;padding:12px 22px;z-index:20;font-size:12px;pointer-events:none;opacity:0;transition:opacity .2s;max-width:90vw;text-align:center}#toast.show{opacity:1}
dialog{margin:auto;padding:0;border:1px solid #b5a07a;background:#c3ac84;color:var(--ink);max-height:90dvh;overflow:auto;width:min(870px,94vw);box-shadow:0 20px 100px #291e1855;background-image:linear-gradient(100deg,#e8d7b9ed,#d6c29fed),url('assets/cabinet-empty.png');background-size:cover}dialog::backdrop{background:#241e164f;backdrop-filter:blur(5px)}.close{position:absolute;right:12px;top:10px;z-index:5;font-size:27px;width:35px;height:35px;color:#4b402c}.product-layout{display:grid;grid-template-columns:1fr 1fr}.detail-art{min-height:540px;display:flex;align-items:center;justify-content:center;background:#7f66371c;border-right:1px solid var(--line);padding:10px}.detail-art .sprite{max-width:100%;height:490px;width:100%;}.product-info{padding:45px 32px 30px}.eyebrow{font-size:9px;letter-spacing:.09em;color:#746044}.product-info h2{font-size:33px;line-height:1.18;margin:18px 0}.product-info>p{font-size:12px;color:#66583f;margin:15px 0}.product-info .price{border-bottom:1px solid var(--line);padding-bottom:16px;color:var(--ink)}fieldset{border:0;padding:0;margin:25px 0 0}legend{font-size:12px;margin-bottom:10px}legend small{font-size:10px;color:#78664b}#sizes{display:flex;gap:8px;flex-wrap:wrap}#sizes label{position:relative}#sizes input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}#sizes span{display:block;padding:7px 12px;border:1px solid #89724e88;font-size:12px}#sizes input:checked+span{background:var(--green);color:#f4e8cd;border-color:var(--green)}#sizes input:focus-visible+span{outline:2px solid var(--green);outline-offset:3px}.product-info #size-error{min-height:19px;color:#8c3925;font-size:11px;margin:7px 0}.primary{display:inline-block;background:var(--green);color:#f6eddc;padding:14px 23px;text-align:center;font-size:12px;border:1px solid var(--green);cursor:pointer}.primary:hover{background:#34543b}#add-to-cart{width:100%}.product-info .small-note,.small-note{font-size:10px;line-height:1.7;color:#756447}details{border-top:1px solid var(--line);padding-top:15px;margin-top:22px;font-size:10px;color:#6a5a41}summary{cursor:pointer;color:var(--ink)}details p{margin:12px 0}#reference a{text-decoration:underline}#reference img{max-width:100%;max-height:180px;margin-top:12px}.drawer{margin:0 0 0 auto;min-height:100dvh;max-height:100dvh;width:min(520px,100vw);padding:70px 42px 35px;border-top:0;border-bottom:0;border-right:0}.drawer h2{font-size:42px;line-height:1.16;margin:18px 0 30px}.drawer>p{margin-bottom:25px}.drawer .primary{margin-top:15px}.cart-row{display:grid;grid-template-columns:80px 1fr auto;gap:14px;align-items:center;border-bottom:1px solid var(--line);padding:20px 0}.cart-thumb{height:110px}.cart-row h3{font-size:20px;line-height:1.2}.cart-row p{font-size:10px;color:#766346;margin-top:8px}.quantity{display:flex;align-items:center;gap:8px;font-size:12px}.quantity button{border:1px solid var(--line);width:25px;height:28px}.remove{font-size:10px;text-decoration:underline;padding:10px 0 0;color:#725e42}.cart-summary{padding:25px 0;font-size:12px}.cart-summary p{margin:10px 0}.cart-summary .small-note{margin-top:20px}.empty-cart{padding-top:20px}.empty-cart h3{font-size:25px}.empty-cart p{font-size:12px;margin:15px 0}
/* The wall remains visible behind warm plaster drawers. */
dialog{background:#e0d3bd;background-image:linear-gradient(100deg,#e8dfd0f5,#d8cbb7f5),url('assets/wall-hooks-v3.png');background-size:cover}dialog::backdrop{background:#302a204d;backdrop-filter:blur(4px)}.detail-art{background:#b3a08433;padding:25px;min-height:520px}.detail-art .sprite{width:100%;height:auto;aspect-ratio:var(--art-ratio);max-height:490px}.detail-art.wide-product .sprite{height:auto;aspect-ratio:var(--art-ratio)}.cart-thumb{display:flex;align-items:center}.cart-thumb .sprite{height:auto;aspect-ratio:var(--art-ratio)}.product-info .small-note{color:#6b604d}.drawer .primary{margin-top:20px}
@media(max-width:700px){.cabinet-crown{height:67px;padding:0 4%;gap:13px}.brand{width:139px;height:50px}nav{margin:0;gap:15px}nav a{font-size:10px}.cart-link{gap:5px}.cart-link>span{display:none}.cart-link b{font-size:9px;width:19px;height:19px}.cabinet-base{height:75px;flex-wrap:wrap;justify-content:center;gap:0;padding:8px 15px 12px}.filters{width:100%;justify-content:center;gap:28px}.filters button{font-size:11px}.gesture{display:none}.demo-label{font-size:8px}.edge-arrow{width:29px;height:42px;font-size:27px}.left{left:7px}.right{right:7px}.item-label{font-size:10px;padding:5px 9px}.product-layout{display:block}.detail-art{height:290px;min-height:0;padding:15px}.detail-art .sprite{height:260px;width:auto;max-width:100%;aspect-ratio:var(--art-ratio)}.detail-art.wide-product .sprite{width:100%;height:auto;max-width:310px}.product-info{padding:25px}.product-info h2{font-size:29px}.drawer{padding:65px 25px 30px}.drawer h2{font-size:36px}#toast{bottom:90px}}
@media(max-height:500px) and (min-width:701px){.cabinet-crown{height:46px}.brand{width:135px;height:44px}.cabinet-base{height:40px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Soft entrances and exits; the scene itself never jumps. */
dialog[open]{animation:detail-enter 360ms cubic-bezier(.2,.7,.2,1) both;transform-origin:50% 56%}
dialog[open]::backdrop{animation:backdrop-enter 360ms ease both}
dialog.closing{animation:detail-exit 220ms ease both;pointer-events:none}
dialog.closing::backdrop{animation:backdrop-exit 220ms ease both}
dialog.drawer[open]{animation:drawer-enter 400ms cubic-bezier(.2,.7,.2,1) both}
dialog.drawer.closing{animation:drawer-exit 220ms ease both}
@keyframes detail-enter{from{opacity:0;transform:translateY(22px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes detail-exit{from{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(14px) scale(.985)}}
@keyframes backdrop-enter{from{background-color:transparent;backdrop-filter:blur(0)}to{background-color:#302a204d;backdrop-filter:blur(4px)}}
@keyframes backdrop-exit{from{background-color:#302a204d;backdrop-filter:blur(4px)}to{background-color:transparent;backdrop-filter:blur(0)}}
@keyframes drawer-enter{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:translateX(0)}}
@keyframes drawer-exit{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(25px)}}
@media(prefers-reduced-motion:reduce){dialog[open],dialog[open]::backdrop,dialog.closing,dialog.closing::backdrop,dialog.drawer[open]{animation:none!important}}
/* Fit each source crop uniformly, including full-length trousers. */
.detail-art .sprite,.detail-art.wide-product .sprite{flex:none;width:min(100%,calc(490px * var(--art-ratio)));height:auto;max-height:none;aspect-ratio:var(--art-ratio)}
.cart-thumb .sprite{flex:none;width:min(100%,calc(110px * var(--art-ratio)));height:auto;aspect-ratio:var(--art-ratio)}
@media(max-width:700px){.detail-art .sprite,.detail-art.wide-product .sprite{width:min(100%,calc(260px * var(--art-ratio)));height:auto;max-height:none;aspect-ratio:var(--art-ratio)}}
.instagram-link{font-size:10px;color:#504936;white-space:nowrap}@media(max-width:700px){.instagram-link{font-size:9px;margin-right:12px}.demo-label{font-size:7px}}
/* Original emblem and signature form one visible brand lockup. */
.brand{display:flex;align-items:center;gap:13px;width:244px;height:68px;flex:none}
.brand .brand-emblem{width:58px;height:58px;flex:none;object-fit:contain}
.brand .brand-signature{width:173px;height:62px;object-fit:contain}
.cart-emblem{display:block;width:68px;height:68px;object-fit:contain;margin:0 0 20px}
@media(max-width:700px){.brand{width:160px;height:55px;gap:8px}.brand .brand-emblem{width:40px;height:43px}.brand .brand-signature{width:112px;height:49px}.cabinet-crown{gap:10px}nav{gap:12px}}
@media(max-width:370px){.brand{width:144px;gap:6px}.brand .brand-emblem{width:34px;height:38px}.brand .brand-signature{width:104px;height:45px}nav{gap:10px}nav a{font-size:9px}}
@media(max-height:500px) and (min-width:701px){.brand{height:44px;width:202px;gap:10px}.brand .brand-emblem{width:38px;height:38px}.brand .brand-signature{width:154px;height:43px}}
