:root{--ink:#EFE2C8;--brass:#C69A59;--blue:#103F48}*{box-sizing:border-box}body{margin:0;background:#102b30;color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid var(--brass);outline-offset:5px}header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;border-bottom:1px solid #c69a592f;background:#102b30}header>a{color:var(--ink);text-decoration:none;font-size:18px;letter-spacing:3px}.tools,header nav{display:flex;gap:18px;align-items:center}header button{color:var(--ink);background:none;border:0;padding:9px 4px;font-size:14px;letter-spacing:2px}header button[aria-pressed=true]{color:var(--brass);border-bottom:1px solid}#menu{font-size:26px;margin-left:22px}.welcome{text-align:center;padding:45px 20px 30px}.eyebrow{font-family:Arial,sans-serif;font-size:10px;letter-spacing:3px;color:var(--brass);text-transform:uppercase}h1{font-size:clamp(28px,3vw,44px);font-weight:400;margin:16px 0}#intro{font-size:15px;color:#d0c5ae;margin-bottom:0;line-height:1.7}.scene-scroll{overflow-x:auto}.scene{position:relative;aspect-ratio:16/9;width:100%;max-width:1600px;margin:auto;isolation:isolate}.kitchen{width:100%;height:100%;display:block}.cover{position:absolute;right:0;top:0;width:21%;height:9.7%;background:linear-gradient(95deg,#0b2023,#081214)}.drawer{position:absolute;padding:0;border:0;background:#251a12;transition:transform .5s,filter .3s,box-shadow .5s;transform-origin:bottom;line-height:0}.drawer img{width:100%;height:100%}.drawer:hover{filter:brightness(1.12);transform:translateY(2%)}.drawer.open{transform:perspective(700px) translateY(15%) scale(1.045);box-shadow:0 -12px 15px #080705;z-index:3}.object{position:absolute;background:none;border:0;color:var(--ink);padding:0}.book{left:47.7%;top:56%;width:27%;height:11%}.basket{left:76%;top:36%;width:23%;height:30%}.object span{position:absolute;white-space:nowrap;left:50%;bottom:100%;transform:translateX(-50%);background:#102b30ed;padding:9px 14px;border-radius:2px;font-size:13px;opacity:0;transition:opacity .2s}.object:hover span,.object:focus-visible span{opacity:1}.warm{pointer-events:none;position:absolute;width:12%;height:11%;top:10%;border-radius:50%;background:radial-gradient(ellipse,#ffc15d14,transparent 70%);animation:glow 7s ease-in-out infinite alternate}.light1{left:25%}.light2{left:62%;animation-delay:-3s}@keyframes glow{to{opacity:.4}}.hint{text-align:center;font-style:italic;font-size:13px;color:#d6c8aa;padding:8px 15px 20px}.index{max-width:1250px;padding:20px 32px 60px;margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:0 40px}.index button{display:flex;text-align:left;gap:18px;align-items:center;padding:25px 0;border:0;border-bottom:1px solid #c69a5940;background:none;color:var(--ink)}.index em{color:var(--brass);font-size:12px;font-style:normal}.index strong{font-size:19px;font-weight:400;display:block}.index small{display:block;font-family:Arial,sans-serif;color:#b4bba9;font-size:11px;margin-top:8px}.index .arrow{margin-left:auto;color:var(--brass)}footer{text-align:center;border-top:1px solid #c69a5930;padding:38px 20px 30px}footer>span{letter-spacing:4px;font-size:14px}footer p{font-size:13px;font-style:italic;color:#c8bda3}footer small{font:10px Arial,sans-serif;color:#93a7a4}dialog{width:min(850px,94vw);max-height:88dvh;padding:0;background:#efe2c8;color:#35251d;border:1px solid #987544;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#071519b8;backdrop-filter:blur(5px)}.panelbar{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;background:#17333a;color:var(--ink);padding:12px 24px;z-index:2;font:10px Arial,sans-serif;letter-spacing:2px}.panelbar button{background:none;border:0;color:var(--ink);font-size:30px;line-height:1}.paper{padding:36px 65px 45px;background:radial-gradient(ellipse at top,#fff5df80,transparent)}.paper h2{font-size:38px;font-weight:400;margin:18px 0 30px}.paper h3{font-size:24px;font-weight:400}.paper p,.paper li{line-height:1.9;font-size:17px}.paper .eyebrow{color:#826039;font-size:10px}.tag{display:inline-block;border:1px solid #a2875d;padding:7px 11px;font:10px Arial,sans-serif;letter-spacing:1px}.back,.pager button{background:none;border:1px solid #a2875d;color:#35251d;padding:12px 18px}.back{margin-top:24px}.pager{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #b19a743f;padding-top:25px;margin-top:30px}.pager[hidden]{display:none}.pager span{font-size:12px}body.modal{overflow:hidden}@media(max-width:700px){header{height:66px;padding:0 20px}header>a{font-size:12px;letter-spacing:2px}.tools,header nav{gap:8px}#menu{margin-left:6px;font-size:22px}.welcome{padding:25px 20px 20px}h1{font-size:28px}#intro{font-size:13px}.scene{min-width:760px}.index{grid-template-columns:1fr 1fr;padding:0 22px 35px;gap:0 22px}.index strong{font-size:16px}.index button{gap:10px;padding:20px 0}.index small{font-size:10px}.paper{padding:25px}.paper h2{font-size:30px}.paper p,.paper li{font-size:16px}.hint{font-size:12px}.object span{opacity:1;font-size:11px;padding:5px 9px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.dialoglangs{display:flex;gap:14px;margin-left:auto;margin-right:25px}.panelbar .dialoglangs button{font:11px Arial,sans-serif;letter-spacing:1px;padding:5px}.dialoglangs button[aria-pressed=true]{color:#c69a59;text-decoration:underline}
.object:focus-visible,.drawer:focus-visible{outline:none;filter:brightness(1.2) drop-shadow(0 2px 3px #c69a59)}
/* Immersive kitchen */
body{overflow:hidden}header{position:fixed;right:0;top:0;height:70px;width:auto;padding:0 26px;background:linear-gradient(90deg,#102b3000,#102b30e8 20%);border:0;z-index:5}header>a{display:none}.welcome{display:none}.scene-scroll{height:100dvh;width:100vw;overflow:auto hidden;background:#102b30;scrollbar-width:thin}.scene{height:100dvh;width:max(100vw,177.778dvh);max-width:none;min-width:0;margin:0}.hint{position:fixed;bottom:12px;left:50%;transform:translateX(-50%);margin:0;padding:8px 16px;width:max-content;max-width:90vw;background:#102b30bd;border-radius:30px;font-size:12px;pointer-events:none;z-index:3}footer{display:none}.cover{display:none}.index{display:none;position:fixed;right:20px;top:76px;z-index:6;width:min(430px,calc(100vw - 40px));max-height:calc(100dvh - 100px);overflow:auto;padding:12px 28px 25px;background:#102b30f5;box-shadow:0 15px 60px #0007;border:1px solid #c69a5940;grid-template-columns:1fr}.index.visible{display:grid}.index button{padding:17px 0}.drawer .drawer-label{position:absolute;inset:9% 8% 30%;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.05;color:#1d1008;font-weight:bold;font-size:clamp(14px,1.55vw,30px);text-shadow:0 1px 0 #e6b97d70,-.4px -.5px 0 #080400;white-space:normal;padding:0 12px;pointer-events:none}.object span{background:#102b30dc}.loader{position:fixed;inset:0;z-index:20;background:#102b30;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;transition:opacity .35s}.loader.done{opacity:0;pointer-events:none}.loader .loaf{width:100px;height:28px;border-radius:60%;background:repeating-linear-gradient(115deg,transparent 0 17px,#ffe2a2 18px 21px,transparent 22px 30px),linear-gradient(#e8bc72,#ac682b);transform:rotate(-25deg);animation:bite 1.8s steps(4) infinite}.crumbs{position:absolute;left:50%;top:50%;width:5px;height:5px;background:#ce974e;box-shadow:12px 8px #cf9d55,-9px 12px #d6b077;animation:crumbfall 1.8s linear infinite}.loader p{font-size:12px;letter-spacing:4px}.loader[hidden]{display:none}@keyframes bite{0%,100%{clip-path:inset(0 0 0 0)}80%{clip-path:polygon(0 0,35% 0,30% 30%,40% 50%,28% 70%,35% 100%,0 100%)}}@keyframes crumbfall{0%,20%{opacity:0;transform:translate(30px,0)}30%{opacity:1}100%{opacity:0;transform:translate(70px,50vh) rotate(240deg)}}@media(hover:hover) and (pointer:fine){body,button,a{cursor:url('assets/baguette.svg') 2 2,auto}}@media(max-width:700px){header{height:60px;padding:0 16px}.scene{width:max(100vw,150dvh)}.kitchen{object-fit:fill}.drawer .drawer-label{font-size:clamp(18px,2.8dvh,26px)}.hint{font-size:11px;bottom:10px}.object span{opacity:0}.object:focus-visible span{opacity:1}.index strong{font-size:20px}.index small{font-size:12px}}@media(prefers-reduced-motion:reduce){.loader .loaf{clip-path:none}.crumbs{display:none}}
.baguette-cursor{position:fixed;left:0;top:0;width:40px;height:40px;z-index:2147483647;pointer-events:none;display:none;filter:drop-shadow(0 1px 1px #0007)}html.baguette-pointer .baguette-cursor:not([hidden]){display:block}html.baguette-pointer,html.baguette-pointer *{cursor:none!important}
/* The room is now a tall photograph, with its own ceiling and floor. */
body{overflow:auto}.scene-scroll{height:auto;width:100%;overflow:auto hidden}.scene{width:100%;height:auto;aspect-ratio:1086/1448;min-width:760px}.kitchen{object-fit:fill}.book{left:47%;top:47%;width:27%;height:5%}.basket{left:76%;top:38%;width:23%;height:14%}.light1{left:25%;top:25%;height:6%}.light2{left:60%;top:25%;height:6%}.drawer .drawer-label{font-size:clamp(12px,1.55vw,27px)}.hint{font-size:11px}.baguette-cursor{width:44px;height:44px}@media(max-width:700px){.scene{width:760px;min-width:760px}.drawer .drawer-label{font-size:14px}.hint{max-width:92vw;font-size:10px}} 
/* Storybook spine: the label belongs to the book, not the counter. */
.book{left:91.05%;top:27.15%;width:4.3%;height:7.65%;transform:none}.book #booklabel{position:absolute;inset:8% 7%;display:flex;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;transform:none;white-space:nowrap;opacity:1;background:none;padding:0;color:#dfbc7b;font-size:clamp(10px,1.3vw,20px);text-shadow:0 1px 2px #160b04;letter-spacing:1px}.book:hover{filter:brightness(1.15)}.contact-form fieldset{padding:0;border:0;margin:24px 0 0}.contact-form label{display:block;font:13px Arial,sans-serif;line-height:1.5;margin-bottom:18px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;border:1px solid #ab916d;background:#fff9ed8c;padding:12px;font:16px Georgia,serif;color:#35251d;border-radius:2px}.contact-form textarea{min-height:110px;resize:vertical}.contact-form button{padding:13px 18px;border:1px solid #8d795b;background:#17333a;color:#efe2c8;opacity:.65}.contact-form :disabled{cursor:not-allowed}@media(max-width:700px){.book #booklabel{font-size:11px}}
/* Explicitly suppress the browser pointer throughout the page and modal. */
html.baguette-pointer,html.baguette-pointer body,html.baguette-pointer body *,html.baguette-pointer dialog::backdrop{cursor:none!important}
.book{left:87.95%;top:27.25%;width:2.5%;height:7.4%}.book #booklabel{font-size:clamp(9px,1.05vw,16px);letter-spacing:.3px}@media(max-width:700px){.book #booklabel{font-size:9px}}
/* Layered room: moving objects and lighting are independent of the wall. */
.scene{--night:.0;--sun:.1;--dusk:.0;--lamp-left:1;--lamp-right:1;--sun-angle:12deg}.warm{display:none}.pendant{position:absolute;z-index:2;top:.69%;height:30.38%;width:19.8%;transform-origin:55% 2%;animation:pendulum-left 8.6s ease-in-out infinite;pointer-events:none;will-change:transform}.pendant-left{left:23.94%}.pendant-right{left:56.17%;width:20.26%;transform-origin:50% 2%;animation:pendulum-right 9.7s ease-in-out infinite;animation-delay:-3.2s}.pendant object{display:block;width:100%;height:100%;pointer-events:none;transition:filter 1s}.pendant.is-off object{filter:none}.lamp-toggle{position:absolute;left:5%;right:5%;bottom:2%;height:31%;border:0;background:transparent;pointer-events:auto;border-radius:50% 50% 35% 35%}.lamp-toggle:focus-visible{outline:1px dashed #a38252;outline-offset:3px}.daylight-layer{position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(110deg,rgba(19,32,63,calc(var(--night)*.8)),rgba(8,17,32,var(--night)))),linear-gradient(110deg,rgba(231,148,66,var(--dusk)),transparent 70%);mix-blend-mode:multiply;transition:background 5s}.sunlight-layer{position:absolute;inset:0;z-index:4;pointer-events:none;opacity:var(--sun);background:linear-gradient(var(--sun-angle),transparent 28%,#ffe2a225 32%,#fff0c850 35%,transparent 42%,transparent 49%,#fff4d025 51%,transparent 57%);mix-blend-mode:soft-light;transition:opacity 5s,background 5s}.lamplight{position:absolute;z-index:4;top:27.5%;width:28%;height:32%;background:radial-gradient(ellipse at 50% 0,#ffd08a45,transparent 68%);mix-blend-mode:screen;pointer-events:none;transition:opacity 1s}.lampglow-left{left:20%;opacity:var(--lamp-left)}.lampglow-right{left:52%;opacity:var(--lamp-right)}.book #booklabel{color:#80613f;text-shadow:0 -.5px .6px #1c0d08,0 .5px .5px #bc986555;mix-blend-mode:multiply;opacity:.95;letter-spacing:.15px;font-weight:400}.book:hover #booklabel{color:#93724c}.book:focus-visible{outline:1px dashed #96734e;filter:none}#light-cycle{font-size:10px;letter-spacing:.6px;padding:10px;border:1px solid #c69a5930;border-radius:20px;color:#cfb894;white-space:nowrap}dialog::backdrop{backdrop-filter:none;background:#071519b8}@keyframes pendulum-left{0%,100%{transform:rotate(-.38deg)}50%{transform:rotate(.38deg)}}@keyframes pendulum-right{0%,100%{transform:rotate(.32deg)}50%{transform:rotate(-.32deg)}}@media(max-width:700px){#light-cycle{font-size:9px;padding:8px}.tools{gap:5px}header{padding:0 10px}}
.lamplight{top:25%;height:40%;background:radial-gradient(ellipse at center,#ffd08a1c 0%,#ffd08a0c 30%,transparent 65%);border-radius:50%}.daylight-layer{background:linear-gradient(110deg,rgb(19 32 63 / calc(var(--night)*.8)),rgb(8 17 32 / var(--night))),linear-gradient(110deg,rgb(231 148 66 / var(--dusk)),transparent 70%)}

.pendant img{width:100%;height:100%;object-fit:contain;pointer-events:none;display:block}.pendant .bulb-emission{position:absolute;left:44%;top:89.6%;width:18%;height:7%;border-radius:45% 45% 50% 50%;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,#fff9de 0%,#ffeab2 35%,#ffd183b8 58%,#f5b55f22 78%,transparent 100%);box-shadow:0 0 7px 2px #ffcc7c38;opacity:1;transition:opacity .25s}.pendant.is-off .bulb-emission{opacity:0}.pendant.is-off img{filter:none}
.pendant .bulb-emission{left:40%;top:91.3%;width:23%;height:7.4%;background:radial-gradient(ellipse at 50% 35%,#fff6d9ed 0%,#ffe9b5bf 30%,#ffcc7b55 61%,transparent 83%);box-shadow:0 0 8px 2px #ffd18035;mix-blend-mode:screen}.pendant::before{content:'';position:absolute;left:8%;bottom:3.8%;width:84%;height:3%;background:radial-gradient(ellipse,#ffb64c45,transparent 70%);border-radius:50%;z-index:1;opacity:1;transition:opacity .25s;pointer-events:none}.pendant.is-off::before{opacity:0}.pendant.is-off img,.pendant img{filter:none;opacity:1}
.wall-board{position:absolute;left:26.4%;top:22.95%;width:47%;padding:0;border:0;background:none;z-index:1;transform-origin:53% 7%;filter:drop-shadow(2px 5px 3px #0005);-webkit-tap-highlight-color:transparent}.wall-board img{display:block;width:100%;height:auto;pointer-events:none}.board-nail{position:absolute;left:51.3%;top:24.25%;width:.7%;aspect-ratio:1;background:radial-gradient(circle at 35% 30%,#8f8170,#3a3027 60%,#120d09);border-radius:50%;box-shadow:1px 2px 2px #0008;z-index:2;pointer-events:none}.wall-board.swing{animation:board-swing 3.3s ease-out both}.wall-board:focus-visible{outline:none;filter:drop-shadow(0 2px 3px #a77d42)}@keyframes board-swing{0%{transform:rotate(0)}12%{transform:rotate(2deg)}27%{transform:rotate(-1.5deg)}42%{transform:rotate(1deg)}57%{transform:rotate(-.65deg)}72%{transform:rotate(.35deg)}88%{transform:rotate(-.12deg)}100%{transform:rotate(0)}}.decoration{position:absolute;transform:translate(-50%,-100%);background:none;border:0;padding:0;line-height:0;touch-action:none;user-select:none;-webkit-user-select:none;z-index:3;filter:drop-shadow(1px 3px 1px #0c090545)}.decoration img{display:block;width:100%;height:auto;pointer-events:none;-webkit-user-drag:none}.decoration.dragging{z-index:4;filter:drop-shadow(3px 6px 3px #0c090560)}.decoration:focus-visible{outline:1px dashed #b7935b;outline-offset:4px;border-radius:15px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#reset-decor{font-size:19px;padding:5px 6px;color:#baa17a}.scene.is-dragging{user-select:none}
.wall-board{left:27.7%;top:22.15%;transform-origin:49.73% 7.39%}.wall-board svg{display:block;width:100%;height:auto;pointer-events:none}.board-nail{left:50.7%;top:23.55%}
/* Live candlelight stays attached to each movable candle. */
.candle-flame{position:absolute;left:43%;top:-16%;width:15%;height:30%;background:radial-gradient(ellipse at 50% 78%,#fff8c5 0%,#ffe299 30%,#efa139 65%,transparent 76%);border-radius:60% 40% 45% 45%;transform-origin:50% 95%;animation:flame-dance 1.6s ease-in-out infinite alternate;pointer-events:none;filter:drop-shadow(0 0 3px #ffb34188)}.candle-aura{position:absolute;inset:-55%;border-radius:50%;background:radial-gradient(ellipse,#ffc96218,transparent 65%);pointer-events:none;mix-blend-mode:screen;animation:candle-breath 2.3s ease-in-out infinite alternate}[data-decor="votive"] .candle-flame{left:45%;top:-20%;width:13%;height:28%;animation-delay:-.7s}.candle-aura,[data-decor="plant"] img{user-select:none}@keyframes flame-dance{0%{transform:rotate(-4deg) scale(.94,1.03);opacity:.88}35%{transform:rotate(2deg) scale(1.03,.94);opacity:1}70%{transform:rotate(-1deg) scale(.96,1.06);opacity:.95}100%{transform:rotate(4deg) scale(1.04,.96);opacity:1}}@keyframes candle-breath{to{opacity:.65}}
.book{padding:0}.book .shelf-book{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none}.book.book-away{opacity:0;pointer-events:none}.book #booklabel{z-index:1}.basket{z-index:3;left:76.5%;top:37%;width:22%;height:14%}#basket-toggle{position:absolute;inset:0;padding:0;border:0;background:none;perspective:800px}#basket-toggle img{position:absolute;bottom:0;left:0;width:100%;height:auto;pointer-events:none;transform-origin:50% 65%;transition:opacity .4s,transform .6s}.basket-opened{opacity:0;transform:rotateX(24deg) translateY(2%)}.basket-is-open .basket-opened{opacity:1;transform:rotateX(0deg) translateY(0)}.basket-is-open .basket-closed{opacity:0;transform:rotateX(-20deg)}#basket-toggle span{bottom:100%}#basket-shop{position:absolute;bottom:-14%;left:50%;transform:translateX(-50%);white-space:nowrap;border:1px solid #8d6f40;background:#efe2c8;color:#35251d;padding:8px 13px;font-size:12px;opacity:0;visibility:hidden;transition:opacity .3s}.basket-is-open #basket-shop{opacity:1;visibility:visible}#basket-toggle:focus-visible{outline:1px dashed #b7935b;outline-offset:3px}
/* The flying cover gives way to a readable, two-page physical book. */
.flying-book{position:fixed;z-index:18;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:25px;text-align:center;overflow:hidden;border-radius:3px 10px 10px 3px;border:2px solid #6d4b2c;box-shadow:inset 6px 0 5px #180b0780,inset 0 0 0 9px #382215,10px 16px 40px #0007;background:radial-gradient(ellipse at 30% 20%,#704829,#3a2113 80%);color:#b29160}.flying-book span{font-size:18px;letter-spacing:3px;padding:24px}.flying-book small{font-size:12px;font-style:italic}.storybook{width:min(1040px,96vw);background:#543820;border:5px solid #59391f;border-radius:7px;box-shadow:0 20px 80px #0008}.storybook .paper{position:relative;background:linear-gradient(90deg,#d7c7a6 0%,#f4e8cc 3%,#efe2c8 48%,#c7b58f 49.5%,#b6a27e 50%,#eadbb9 51%,#f5e9ce 97%,#d1bd95);padding:25px 35px 27px}.storybook .paper h2{text-align:center;font-size:30px;margin:12px auto 24px;max-width:85%}.storybook #category{text-align:center}.book-spread{display:grid;grid-template-columns:1fr 1fr;position:relative;gap:0;perspective:1200px}.story-page{position:relative;min-height:270px;padding:0 28px 25px}.story-page p{font-size:16px;line-height:1.85;margin-top:0}.folio{position:absolute;bottom:0;left:50%;font:11px Georgia,serif;color:#7c694b}.storybook .pager{margin-top:20px;padding-top:18px;border-top:1px solid #9e886041}.storybook .back{margin-top:15px}.turning-sheet{position:absolute;top:0;bottom:0;width:50%;padding:0 28px 25px;overflow:hidden;backface-visibility:hidden;background:#efe2c8;box-shadow:-8px 0 18px #523e2928;z-index:2}.turn-next{right:0;transform-origin:left center}.turn-previous{left:0;transform-origin:right center}.book-reveal .paper{animation:spread-open .55s ease-out}@keyframes spread-open{from{transform:perspective(1400px) rotateY(-16deg) scaleX(.8);opacity:.4}to{transform:perspective(1400px) rotateY(0) scaleX(1);opacity:1}}@media(max-width:700px){.storybook .paper{padding:22px 14px}.storybook .paper h2{font-size:23px}.story-page{padding:0 12px 25px;min-height:260px}.story-page p{font-size:13px;line-height:1.7}.turning-sheet{padding:0 12px 25px}.storybook .panelbar{padding:10px 12px}.storybook .panelbar>span{font-size:8px}.storybook .dialoglangs{gap:6px;margin-right:15px}#basket-shop{font-size:10px;padding:7px}}
.book-slot{position:absolute;left:87.95%;top:27.2%;width:2.55%;height:7.48%;background:linear-gradient(90deg,#201a11,#141b17 25%,#181b14 80%,#392a17);z-index:0;pointer-events:none}
/* A small, anchored flame, with an incandescent core and a cool wick base. */
.candle-flame,[data-decor="votive"] .candle-flame{background:none;box-shadow:none;border-radius:0;filter:drop-shadow(0 0 1.5px #f5b75a55);left:47%;top:-10%;width:7%;height:19%;animation:quiet-flame 2.7s ease-in-out infinite;transform-origin:50% 96%}.candle-flame svg{width:100%;height:100%;display:block;overflow:visible}[data-decor="votive"] .candle-flame{left:48%;top:-14%;width:6%;height:23%;animation:quiet-flame 3.2s ease-in-out infinite;animation-delay:-1.3s}.candle-aura{inset:-25%;opacity:.45;background:radial-gradient(ellipse,#ffcc6815,transparent 65%);animation:candle-breath 3.7s ease-in-out infinite alternate}@keyframes quiet-flame{0%,100%{transform:rotate(-1deg) scale(1,1)}19%{transform:rotate(1.7deg) scale(.96,1.04)}43%{transform:rotate(-.6deg) scale(1.02,.98)}64%{transform:rotate(1.2deg) scale(.98,1.02)}81%{transform:rotate(-1.3deg) scale(1.01,1)}}
/* Leather cover, a layered page block, and double-sided turning leaves. */
.storybook{border:0;border-radius:8px 12px 12px 8px;padding:7px 9px 12px;background:linear-gradient(90deg,#322013,#705032 4%,#3b2415 49%,#28190f 50%,#593a21 96%,#302015);box-shadow:0 24px 65px #0008,0 2px 1px #ba9563,inset 0 0 0 1px #987249}.storybook .panelbar{border-radius:4px 4px 0 0;background:#263734}.storybook .paper{border-radius:2px 8px 8px 2px;margin:0 3px;background-image:url('assets/paper-grain.svg'),linear-gradient(90deg,#cbbb97 0%,#eee1c1 2%,#f5eacf 8%,#efe2c4 45%,#cdbb95 49%,#aa9773 50%,#dfcda7 51%,#f4e8cb 57%,#eee0c0 97%,#c8b38c);box-shadow:0 1px 0 #baa47c,1px 3px 0 #ede0c0,1px 4px 0 #aa936c,2px 6px 0 #e6d7b5,2px 7px 0 #9e8760,3px 9px 0 #dfccaa,inset 0 0 16px #80663a12}.storybook .paper h2{font-size:28px;letter-spacing:.2px}.book-spread{transform-style:preserve-3d;isolation:isolate}.story-page{padding-top:8px}.story-page p{text-align:left;text-wrap:pretty;line-height:1.9;color:#3e3425}.physical-leaf{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;z-index:5;pointer-events:none}.leaf-next{right:0;transform-origin:0% 50%}.leaf-previous{left:0;transform-origin:100% 50%}.leaf-face{position:absolute;inset:0;padding:8px 28px 25px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background-image:url('assets/paper-grain.svg'),linear-gradient(90deg,#ddcca8,#f3e6c9 12%,#f5e9cd 85%,#d4c099);box-shadow:inset 2px 0 8px #674c2b20;border-radius:0 3px 8px 0;overflow:hidden}.leaf-face p,.old-still p{font-size:16px;line-height:1.9;color:#3e3425;margin-top:0}.leaf-front{transform:translateZ(.35px)}.leaf-back{transform:rotateY(180deg) translateZ(.35px);background-image:url('assets/paper-grain.svg'),linear-gradient(90deg,#d1bc95,#f2e4c4 12%,#efe0be 90%,#c4ae87);box-shadow:inset -5px 0 15px #60472820}.leaf-curl{position:absolute;top:0;bottom:0;right:0;pointer-events:none;background:linear-gradient(90deg,transparent,#886c4225 40%,#fff7dc45 75%,#8e744a3a);transform:translateZ(1px);border-radius:0 5% 10% 0}.old-still{position:absolute;top:0;bottom:0;width:50%;padding:8px 28px 25px;background-image:url('assets/paper-grain.svg');background-color:#f1e4c6;z-index:3}.still-left{left:0}.still-right{right:0}.moving-page-shadow{position:absolute;top:0;bottom:0;left:35%;width:30%;transform-origin:center;z-index:4;pointer-events:none;background:linear-gradient(90deg,transparent,#49341880 49%,#49341840 52%,transparent);opacity:0}@media(max-width:700px){.leaf-face,.old-still{padding:8px 12px 25px}.leaf-face p,.old-still p{font-size:13px;line-height:1.7}.storybook .paper h2{font-size:23px}}
/* Every book leaf is its own titled page; the spine has no shared headline. */
.storybook #paneltitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.storybook #category{font-size:9px;letter-spacing:3px;margin:5px 0 20px;color:#8b7651}.story-page{min-height:350px;padding:16px 34px 32px}.page-title{font-size:25px!important;font-weight:400;line-height:1.25;margin:0 0 26px;color:#44341f}.story-page p,.leaf-face p,.old-still p{font-size:16px;line-height:1.9}.leaf-face,.old-still{padding:16px 34px 32px}.storybook .paper{padding-top:22px}.story-page p:first-of-type::first-letter{font-size:1.65em;color:#69502f}.leaf-face .page-title,.old-still .page-title{font-size:25px}.folio{bottom:4px}.storybook .pager{font-variant-numeric:oldstyle-nums}
/* Drawer contents are archival paper cards, with soft stains and worn edges. */
.drawer-paper{width:min(790px,94vw);max-height:90dvh;border:0;border-radius:0;padding:8px 11px 15px;color:#463721;background-image:url('assets/paper-grain.svg'),radial-gradient(ellipse at 0% 0%,#aa7b3c46,transparent 35%),radial-gradient(ellipse at 100% 98%,#a4743540,transparent 38%),radial-gradient(ellipse at 12% 85%,#ae8d4725,transparent 20%),linear-gradient(104deg,#d3ba89,#edddbc 22%,#e8d6ac 80%,#cdb17a);box-shadow:4px 9px 35px #0007;clip-path:polygon(.6% .7%,12% .3%,24% .8%,39% .2%,54% .6%,72% .1%,88% .5%,99.3% .2%,99.7% 18%,99.2% 34%,99.8% 53%,99.4% 74%,99.8% 91%,99.1% 99.5%,82% 99.8%,66% 99.2%,48% 99.7%,28% 99.3%,11% 99.8%,.4% 99.1%,.8% 79%,.2% 57%,.7% 39%,.2% 18%)}.drawer-paper .panelbar{background:none;color:#6e5733;position:relative;top:auto;border-bottom:1px solid #92744440;padding:14px 24px 13px;font:9px Georgia,serif;letter-spacing:1.5px}.drawer-paper .panelbar button{color:#665034}.drawer-paper .dialoglangs button{color:#6c5737}.drawer-paper .dialoglangs button[aria-pressed=true]{color:#392919}.drawer-paper .paper{background:none;padding:25px 45px 32px}.drawer-paper #category{font-size:9px;color:#8e7245;letter-spacing:3px}.drawer-paper #paneltitle{font-size:36px;color:#46321b;margin:15px 0 25px}.drawer-paper #content{border-top:1px solid #987e4c39;padding-top:19px}.drawer-paper .tag{color:#8a6841;border-color:#9b7e4d70;border-radius:2px;padding:5px 8px;transform:rotate(-1.5deg);font:9px Georgia,serif;letter-spacing:1.5px}.drawer-paper #content h3{font-size:24px}.drawer-paper p{color:#4e3e28}.drawer-paper .back{border:0;background:none;padding:10px 0 3px;border-bottom:1px solid #a5895770;font-style:italic;color:#6c5331}.drawer-paper .contact-form input,.drawer-paper .contact-form textarea{background:#f4e9cf4d;border:0;border-bottom:1px solid #967a4c77;border-radius:0}.drawer-paper .contact-form button{background:none;color:#715833;border:1px solid #967a4c77;font-style:italic}.drawer-paper::backdrop{background:#11170f99}@media(max-width:700px){.story-page,.leaf-face,.old-still{padding:10px 14px 30px;min-height:365px}.page-title,.leaf-face .page-title,.old-still .page-title{font-size:20px!important;margin-bottom:20px}.story-page p,.leaf-face p,.old-still p{font-size:13px;line-height:1.8}.drawer-paper .paper{padding:22px 22px 26px}.drawer-paper #paneltitle{font-size:29px}.drawer-paper .panelbar{padding:10px 12px}}
/* Night is a separate photographic room; emissive lamps sit above ambient shading. */
.scene{--night-mix:0;--ambient:1}.night-room{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:var(--night-mix);z-index:0;pointer-events:none}.daylight-layer{background:linear-gradient(110deg,rgb(231 148 66 / var(--dusk)),transparent 70%);mix-blend-mode:soft-light;transition:none;z-index:4}.sunlight-layer{transition:none}.pendant{z-index:5}.lamplight{z-index:6;transition:none;background:radial-gradient(ellipse at 50% 30%,#ffcd7c30,transparent 67%)}.table-pool{position:absolute;top:46.6%;width:40%;height:9%;z-index:6;pointer-events:none;border-radius:50%;mix-blend-mode:screen;background:radial-gradient(ellipse at center,#ffe2a28c 0%,#e9aa4a45 25%,#c8872520 48%,transparent 72%)}.pool-left{left:13%;opacity:var(--lamp-left)}.pool-right{left:47%;opacity:var(--lamp-right)}.wall-board{filter:brightness(var(--ambient)) drop-shadow(2px 5px 3px #0006)}.decoration{filter:brightness(var(--ambient)) drop-shadow(1px 3px 1px #0c090545)}.decoration.dragging{filter:brightness(var(--ambient)) drop-shadow(3px 6px 3px #0c090560)}.drawer{filter:brightness(var(--ambient))}.drawer:hover{filter:brightness(calc(var(--ambient)*1.1))}.basket,.book{filter:brightness(var(--ambient))}.book:hover{filter:brightness(calc(var(--ambient)*1.06))}.pendant .bulb-emission{box-shadow:0 0 calc(5px + 5px * var(--night-mix)) calc(1px + 2px * var(--night-mix)) #ffd18066}.candle-flame,.candle-aura{filter:none}
/* A full paper leaf includes its own running head, text and footer. */
.storybook .paper{padding:0!important;margin:0 3px}.storybook #category{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);margin:0}.storybook .panelbar{position:relative;background:transparent;padding:3px 10px 6px;border:0;min-height:32px}.storybook .panelbar>span{display:none}.storybook .dialoglangs{margin-left:auto}.storybook .panelbar button{color:#c3aa7d}.storybook .pager{display:none!important}.storybook #pagecount{display:none}.book-spread{width:100%;min-height:510px}.story-page,.leaf-face,.old-still{display:flex;flex-direction:column;min-height:510px;padding:22px 34px 16px}.leaf-header{position:static!important;display:block!important;width:auto!important;height:auto!important;min-height:32px;padding:0 0 15px!important;margin:0 0 24px;background:none!important;border:0!important;border-bottom:1px solid #a78d5c3b!important;text-align:center;font:9px Georgia,serif;letter-spacing:2.3px;color:#8b7650}.page-title{margin-bottom:25px}.leaf-body{flex:1}.leaf-footer{position:relative!important;display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px;width:100%;padding:18px 0 0!important;margin:24px 0 0;border:0!important;border-top:1px solid #ac946737!important;min-height:49px;background:none;text-align:center}.leaf-footer .folio{position:static;grid-column:2;grid-row:1;font-size:12px;line-height:1;color:#796744}.leaf-footer button{grid-row:1;background:none;border:0;padding:5px 7px;color:#78603b;font:16px Georgia,serif}.left-page .leaf-footer #previous{grid-column:1;justify-self:start}.right-page .leaf-footer #next{grid-column:3;justify-self:end}.leaf-footer #back{grid-column:1 / 4;grid-row:2;justify-self:start;font:11px Georgia,serif;font-style:italic;padding:7px 0 0;margin:3px 0 0;border:0}.leaf-face .leaf-footer button,.old-still .leaf-footer button{opacity:1}.physical-leaf{top:0;bottom:0;min-height:100%}.leaf-face{min-height:100%;height:100%}.old-still{min-height:100%;height:100%}.leaf-face,.old-still{box-sizing:border-box}.storybook{padding-bottom:13px;background-image:url('assets/antique-cover.webp');background-size:cover;background-color:#3b281c}.flying-book{background-image:url('assets/antique-cover.webp');background-size:100% 100%;box-shadow:inset 5px 0 8px #1a0d09b0,3px 2px 0 #c0ab82,5px 3px 0 #8f7955,9px 12px 38px #0008;border:1px solid #563b28;color:#a98d61}.flying-book::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 12% 5%,#c6b69b15,transparent 30%),radial-gradient(ellipse at 85% 94%,#d6c5a414,transparent 30%);pointer-events:none}.flying-book span{font-size:15px;letter-spacing:2px;text-shadow:0 -1px 0 #21150d,0 1px 0 #a3864b44}.flying-book small{color:#a18966}@media(max-width:700px){.story-page,.leaf-face,.old-still{padding:17px 13px 12px;min-height:510px}.leaf-header{font-size:7px;letter-spacing:1.2px;margin-bottom:18px;padding-bottom:12px!important}.leaf-footer{margin-top:18px;gap:3px}.leaf-footer #back{font-size:9px}.storybook .panelbar{padding:0 8px 5px}.storybook .paper{padding:0!important}.page-title{font-size:19px!important}}
.decoration{filter:drop-shadow(1px 3px 1px #0c090545)}.decoration.dragging{filter:drop-shadow(3px 6px 3px #0c090560)}.decoration img{filter:brightness(var(--ambient))}
.leaf-footer{height:75px;min-height:75px;grid-template-rows:20px 20px;align-content:start;padding-top:15px!important;row-gap:3px}.leaf-footer .folio{font:12px Georgia,serif}.leaf-footer .page-prev{grid-column:1;justify-self:start}.leaf-footer .page-next{grid-column:3;justify-self:end}.leaf-footer .page-back{grid-column:1 / 4;grid-row:2;justify-self:start;font:11px Georgia,serif;font-style:italic;padding:7px 0 0;margin:3px 0 0;border:0}.leaf-footer #back{font-size:11px}.storybook #content{padding:0;border:0}@media(max-width:700px){.leaf-footer .page-back,.leaf-footer #back{font-size:9px}}
/* Relight only the cut-out material, with no rectangular tint around objects. */
.decoration{--object-brightness:1;--object-warmth:0;--highlight-x:50%;--object-shadow-x:1px;filter:drop-shadow(var(--object-shadow-x) 3px 2px #08070470);isolation:isolate}.decoration.dragging{filter:drop-shadow(var(--object-shadow-x) 6px 3px #08070470)}.decoration img{filter:brightness(var(--object-brightness)) saturate(calc(1 + var(--object-warmth)*.16))}.decor-relight{position:absolute;inset:0;pointer-events:none;-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;background:radial-gradient(ellipse at var(--highlight-x) 45%,#ffdba0 0%,#e6a14d88 42%,transparent 78%);mix-blend-mode:screen;opacity:var(--object-warmth);z-index:1}.candle-flame{z-index:3}.candle-aura{z-index:2;opacity:var(--candle-strength);inset:-45%;background:radial-gradient(ellipse at 50% 25%,#ffd48b35 0%,#e7a34412 35%,transparent 65%);animation:candle-breath 3.7s ease-in-out infinite alternate}.candle-table-pool{position:absolute;height:4%;transform:translate(-50%,-50%);border-radius:50%;pointer-events:none;z-index:2;mix-blend-mode:screen;background:radial-gradient(ellipse at center,#ffe4ad99 0%,#eab55866 22%,#d6942b22 48%,transparent 72%);animation:candle-pool-flicker 3.7s ease-in-out infinite alternate;will-change:opacity}.candle-table-pool[data-candle-pool="votive"]{animation-delay:-1.6s}@keyframes candle-pool-flicker{0%,100%{filter:brightness(.98)}35%{filter:brightness(1.025)}70%{filter:brightness(.99)}}
.candle-aura{animation:candle-pool-flicker 3.7s ease-in-out infinite alternate}[data-decor="votive"] .candle-aura{animation-delay:-1.6s}
.room-bounce{position:absolute;inset:0;z-index:4;pointer-events:none;mix-blend-mode:screen;background:radial-gradient(ellipse at 34% 48%,#e6ac4b2a,transparent 45%)}.bounce-left{opacity:var(--lamp-left)}.bounce-right{background:radial-gradient(ellipse at 67% 48%,#e6ac4b2a,transparent 45%);opacity:var(--lamp-right)}.board-reflection{opacity:var(--board-warmth,0);mix-blend-mode:screen;pointer-events:none}
/* Cabinet interiors remain behind correctly hinged photographic door leaves. */
.cabinet{position:absolute;z-index:2;perspective:1000px;transform-style:preserve-3d;isolation:isolate}.cabinet.cabinet-open{z-index:7}.cabinet-inside{position:absolute;inset:1% 1.5%;overflow:hidden;background:#20160f;box-shadow:inset 0 4px 14px #000a;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.cabinet-open .cabinet-inside{opacity:1;visibility:visible}.pantry-back{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;filter:brightness(calc(var(--ambient)*.85))}.door-face{position:absolute;inset:0;padding:0;border:0;background:#173b3e;backface-visibility:visible;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.22,.65,.25,1);z-index:4;box-shadow:0 0 2px #0c1615}.door-face img{display:block;width:100%;height:100%;pointer-events:none;filter:brightness(var(--ambient))}.hinge-left .door-face{transform-origin:0 50%}.hinge-right .door-face{transform-origin:100% 50%}.hinge-left.cabinet-open .door-face{transform:rotateY(-104deg)}.hinge-right.cabinet-open .door-face{transform:rotateY(104deg)}.door-face:focus-visible{outline:1px dashed #b29460;outline-offset:-5px}.cabinet-close{position:absolute;top:2%;right:3%;border:0;background:#21170eaa;color:#ceb58b;font-size:20px;z-index:5;line-height:1;padding:2px 5px}.pantry-item{position:absolute;transform:translate(-50%,-100%);padding:0;border:0;background:none;touch-action:none;user-select:none;z-index:2;filter:drop-shadow(1px 3px 2px #0008)}.pantry-item img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block;pointer-events:none;filter:brightness(calc(var(--ambient)*.95))}.pantry-item:focus-visible{outline:1px dashed #c8aa6e;outline-offset:1px}.pantry-item.pantry-dragging{z-index:4;filter:drop-shadow(3px 6px 3px #0009)}
.pantry-item img{filter:url(#pantry-clean) brightness(calc(var(--ambient)*.95))}
.door-face .night-door{position:absolute;inset:0;opacity:var(--night-mix);filter:none}
#basket-toggle .basket-leather-tag{position:absolute;left:auto;right:8%;bottom:12%;top:auto;width:28%;height:14%;transform:rotate(-7deg);display:flex;align-items:center;justify-content:center;opacity:1;white-space:nowrap;background:#5b3a22 url('assets/antique-cover.webp') center/cover;border:1px solid #735330;border-radius:3px;color:#c1a075;text-shadow:0 -1px 0 #2b190d,0 1px 0 #a27a3a55;font:clamp(9px,1.05vw,16px) Georgia,serif;letter-spacing:.8px;padding:3px 5px;box-shadow:1px 3px 3px #0006;pointer-events:none}#basket-toggle .basket-leather-tag::before{content:'';position:absolute;left:47%;top:-63%;height:68%;width:1px;background:#9c8359;transform:rotate(7deg);box-shadow:1px 0 0 #43331d}#basket-toggle .basket-leather-tag::after{content:'';position:absolute;left:44%;top:4%;width:3px;height:3px;border:1px solid #907347;border-radius:50%;background:#36210f}.salami-carrier{position:absolute;inset:0;z-index:5;transform-style:preserve-3d;transform-origin:0 50%;pointer-events:none;transition:transform 1s cubic-bezier(.22,.65,.25,1)}.hinge-left.cabinet-open .salami-carrier{transform:rotateY(-104deg)}.salami-hanger{position:absolute;left:94.5%;top:43%;width:18%;transform:translateX(-50%);pointer-events:none}.hanging-salami{display:block;width:100%;padding:0;border:0;background:none;transform-origin:50% 0%;animation:salami-sway 6.2s ease-in-out infinite;pointer-events:auto}.hanging-salami img{display:block;width:100%;height:auto;pointer-events:none;filter:brightness(var(--ambient)) drop-shadow(1px 3px 2px #0006)}.hanging-salami:focus-visible{outline:1px dashed #b9975d;outline-offset:3px}.hanging-salami.salami-nudge{animation:salami-nudge 1.8s ease-in-out both}@keyframes salami-sway{0%,100%{transform:rotate(-.8deg)}50%{transform:rotate(.8deg)}}@keyframes salami-nudge{0%{transform:rotate(0)}20%{transform:rotate(4deg)}45%{transform:rotate(-3deg)}70%{transform:rotate(1.5deg)}100%{transform:rotate(0)}}#food-tooltip{position:fixed;z-index:20;pointer-events:none;max-width:min(280px,75vw);padding:6px 10px;color:#eadcbf;background:#152b2cdb;border:1px solid #b9965d24;border-radius:2px;box-shadow:0 2px 8px #0002;font:italic 12px/1.4 Georgia,serif;letter-spacing:.15px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}#food-tooltip.food-tip-visible{opacity:1;visibility:visible}

.hanging-salami img{filter:url(#pantry-clean) brightness(var(--ambient)) drop-shadow(1px 3px 2px #0006)}.pantry-item[data-food-type="6"]::after{content:'FOIE GRAS';position:absolute;left:17%;right:17%;top:60%;color:#684624;font:clamp(4px,.48vw,8px) Georgia,serif;letter-spacing:.2px;text-align:center;pointer-events:none;transform:rotate(-2deg);opacity:.8}@media(prefers-reduced-motion:reduce){.hanging-salami{animation:none!important}.salami-carrier,#food-tooltip{transition:none}}
/* Wall-hung charcuterie, leather tag and two-sided cupboard leaves. */
.wall-salami{position:absolute;left:22.9%;top:33.3%;width:4.8%;z-index:4}.wall-salami .hanging-salami{position:relative;z-index:1}.salami-nail{position:absolute;left:49%;top:-.7%;width:6%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 30%,#a99b77,#342e23 65%);box-shadow:1px 2px 2px #0009;z-index:2}.wall-salami img{filter:url(#pantry-clean) brightness(var(--ambient)) drop-shadow(2px 4px 2px #0007)}
#basket-toggle .basket-leather-tag{right:9%;bottom:-11%;width:31%;height:15%;transform:rotate(5deg);transform-origin:50% -60%;font-size:clamp(9px,1.05vw,16px)}#basket-toggle .basket-leather-tag::before{top:-110%;height:114%;left:46%;width:1px;transform:rotate(-5deg);background:#a38b64;box-shadow:2px 0 0 #58442d}#basket-toggle .basket-leather-tag::after{top:7%}
.door-face{backface-visibility:visible;background:#39291c}.door-outside,.door-inside{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;pointer-events:none}.door-outside{transform:translateZ(1px)}.door-inside{transform:rotateY(180deg) translateZ(1px);background:#523a23;border:2px solid #38291b;box-sizing:border-box}.door-inside img{filter:brightness(calc(var(--ambient)*.8));object-fit:fill}.hinge-left .door-inside img{transform:scaleX(-1)}.cabinet.hinge-left{perspective-origin:0 50%}.cabinet.hinge-right{perspective-origin:100% 50%}.cabinet[data-cabinet="1"].cabinet-open .door-face{transform:rotateY(90deg)}
.gallery-intro{font-style:italic}.gallery-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:25px 0}.gallery-photo{padding:9px 9px 14px;border:1px solid #a18a5c50;box-shadow:1px 3px 8px #38251820;background:#d2bd9240;color:#4c3522;font:14px Georgia,serif;transform:rotate(-1deg)}.gallery-photo:nth-child(even){transform:rotate(1deg)}.gallery-photo img{width:100%;height:170px;display:block;object-fit:contain;margin-bottom:12px}.gallery-photo:first-child img{object-fit:cover;object-position:50% 37%}.gallery-photo:focus-visible,.gallery-controls button:focus-visible{outline:2px solid #725434;outline-offset:4px}.gallery-view{margin:18px 0;text-align:center}.gallery-view img{display:block;width:100%;height:min(52vh,500px);object-fit:contain}.gallery-view figcaption{font:italic 14px Georgia,serif;margin:15px}.gallery-controls{display:flex;justify-content:space-between;gap:12px}.gallery-controls button{border:0;background:transparent;color:#523d27;padding:10px;font:14px Georgia,serif}@media(max-width:600px){.gallery-grid{gap:12px}.gallery-photo img{height:120px}.gallery-photo{font-size:12px;padding:6px}.gallery-controls button{font-size:12px}}
.door-face::after{content:'';position:absolute;right:-3px;top:0;width:4px;height:100%;background:linear-gradient(90deg,#24190f,#80613c,#37291b);transform-origin:0 50%;transform:rotateY(90deg);pointer-events:none}.cabinet{perspective:3000px}
