@font-face{font-family:Parisienne;src:url("assets/Parisienne-Regular.ttf") format("truetype");font-display:swap}
:root{color-scheme:light;--ink:#252c29;--paper:#f3f1e9;--brass:#a88853;--line:#d3d3c8;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:#313c39;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px}button,select,input,textarea{font:inherit}button,a,select{touch-action:manipulation}button{cursor:pointer;border:1px solid var(--line);padding:.75rem 1rem;background:transparent;color:inherit;border-radius:3px}button:hover{background:#ffffff24}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #bf9653;outline-offset:4px}#scene{position:fixed;inset:0}#scene canvas{display:block;width:100%;height:100%;touch-action:none}.veil{position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(19,31,28,.72),transparent 62%),linear-gradient(0deg,rgba(15,24,23,.55),transparent 22%)}body.inside .veil{background:linear-gradient(0deg,rgba(17,26,22,.5),transparent 22%)}header{position:fixed;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:1.4rem 3rem;color:#fff;z-index:2;background:linear-gradient(#15251f80,transparent)}.brand{color:inherit;text-decoration:none;display:flex;flex-direction:column;gap:.35rem}.brand span{font-size:.75rem;letter-spacing:.32em}.brand strong{font-family:var(--serif);font-size:1.5rem;font-weight:normal;font-style:italic}.header-controls{display:flex;gap:.7rem;align-items:center}header button,header select{color:#fff;border:1px solid #ffffff60;background:#26342c50;padding:.65rem .8rem}select option{background:#f3f1e9;color:#252c29}#welcome{position:fixed;top:35%;left:6vw;color:#faf8ed;max-width:31rem}h1,h2{font-family:var(--serif);font-weight:normal;line-height:1.12;margin:1.1rem 0}h1{font-size:clamp(2.4rem,4.8vw,4.8rem)}h2{font-size:clamp(1.9rem,3vw,2.7rem)}p{line-height:1.65}.eyebrow{font-size:.75rem;letter-spacing:.18em;line-height:1.8}#welcome p{max-width:25rem;color:#e0e5da}.primary{background:var(--brass);border:1px solid var(--brass);color:#131d17;padding:1rem 1.4rem;font-weight:bold}.primary:hover{background:#bca06f}.primary span{margin-left:2rem}#welcome .primary{margin-top:1rem}#clock{margin-top:1.5rem}.micro{font-size:.8rem;line-height:1.6}.muted{color:#666d63}#roomInfo{position:fixed;left:2rem;top:7.5rem;max-width:21rem;background:#f4f1eaeF;padding:1.4rem 1.6rem;max-height:38vh;overflow:auto;border-left:3px solid var(--brass);box-shadow:0 8px 40px #0002}#roomInfo h1{font-size:1.8rem;margin:.45rem 0}#roomInfo p{font-size:.9rem;margin:.5rem 0}#roomInfo button{font-size:.85rem;padding:.5rem 0;border:0;border-bottom:1px solid #9a8d76}#toolbar{position:fixed;bottom:4rem;left:50%;transform:translateX(-50%);display:flex;gap:.3rem;align-items:center;max-width:95vw;padding:.4rem;background:#f4f1eaf5;box-shadow:0 8px 32px #0003;border-radius:4px;z-index:2}#toolbar[hidden]{display:none}#toolbar button{white-space:nowrap;font-size:.85rem;border-color:transparent}#toolbar button:hover,#toolbar button[aria-pressed=true]{background:#d9dfd3}#sceneHint{position:fixed;bottom:8.7rem;left:50%;transform:translateX(-50%);color:white;background:#26372cbd;padding:.6rem 1rem;border-radius:3px;pointer-events:none;font-size:.85rem;max-width:85vw;text-align:center}#sceneHint:empty{display:none}footer{position:fixed;bottom:0;width:100%;padding:.9rem 2rem;display:flex;gap:1.5rem;align-items:center;color:#e6e8df;font-size:.75rem;z-index:2}footer button{padding:0;border:0;font-size:inherit}#previewLabel{margin-left:auto;color:#e2d3b5}dialog{border:0;border-radius:5px;background:var(--paper);color:var(--ink);padding:2.4rem;max-width:min(920px,94vw);max-height:88dvh;box-shadow:0 20px 100px #0006;overflow:auto}dialog::backdrop{background:#10201c9c;backdrop-filter:blur(3px)}.close{position:sticky;float:right;top:0;right:0;font-size:1.8rem;line-height:1;z-index:5;background:var(--paper);border:0;padding:.2rem .5rem}#artDialog{width:1120px;max-width:94vw;padding:1.5rem}.art-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:2.2rem;clear:both}.art-image{background:#e0dfd5;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:1rem}.art-image img{max-width:100%;max-height:65vh;object-fit:contain;box-shadow:0 5px 20px #0002}.art-image button{margin-top:1rem;font-size:.85rem}.art-details{padding:1rem 1rem 1rem 0}.art-details h2{font-size:2.2rem}.art-details p{font-size:.95rem}dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 1rem;font-size:.85rem;line-height:1.5}dt{color:#747768}dd{margin:0}.purchase{border-top:1px solid var(--line);padding-top:1.2rem;display:flex;flex-direction:column;align-items:start;gap:.7rem}.purchase strong{font-size:1.4rem;font-family:var(--serif)}.status{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase}.status[data-status=sold]{color:#8d4b41}.status[data-status=available]{color:#35563e}#goToWork{margin-top:.7rem}#zoomDialog{max-width:98vw;width:98vw;max-height:96dvh;background:#202623;color:#fff}#zoomDialog img{display:block;max-width:100%;height:auto;margin:auto;max-height:none}#zoomDialog .close{background:#202623;color:#fff}#catalogDialog{width:1100px;max-width:94vw}#catalogGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem 1.5rem;margin-top:2rem}.art-card{padding:0;border:0;text-align:left;display:flex;flex-direction:column;gap:.5rem}.art-card img{width:100%;height:230px;object-fit:contain;background:#e4e3da;padding:.8rem}.art-card strong{font-family:var(--serif);font-weight:normal;font-size:1.2rem}.art-card small{font-size:.8rem;line-height:1.5;color:#61695f}.filters{display:flex;gap:1rem}.filters select{padding:.6rem;background:none;border:1px solid var(--line);min-width:0;max-width:50%}#mapRooms{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin:1.5rem 0}.room-tile{background:#e4e6db;text-align:left;padding:1.3rem;border:1px solid #d0d4c7}.room-tile span{display:block;font-size:.8rem;color:#66725e;margin-bottom:.7rem}.room-tile strong{font-family:var(--serif);font-size:1.3rem;font-weight:normal}#mapRooms .room-tile:first-child{grid-column:1/-1;background:#354339;color:#faf7eb}#mapRooms .room-tile:first-child span{color:#cdd5c4}#bioDialog{max-width:650px}#bioBody{font-family:var(--serif);font-size:1.25rem;line-height:1.8}#contactDialog{width:600px}form{display:flex;flex-direction:column;gap:1rem}form label{display:flex;flex-direction:column;gap:.4rem;font-size:.9rem}input,textarea{border:1px solid #bdc4b6;background:#fff9;color:var(--ink);border-radius:2px;padding:.7rem;width:100%}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.check{flex-direction:row;align-items:start;line-height:1.4}.check input{width:auto;margin:.15rem .3rem 0 0}#formStatus{font-size:.9rem}#loading{position:fixed;inset:0;background:#303c34;color:#f1eee3;display:flex;align-items:center;justify-content:center;gap:1rem;z-index:20}#loading[hidden]{display:none}.loader{width:22px;height:22px;border:1px solid #fff5;border-top-color:#c1a16a;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}[hidden]{display:none!important}body.no3d #welcome{top:28%;max-width:70vw}body.no3d{background:#36463a}@media(max-width:760px){header{padding:1rem}.brand strong{font-size:1.1rem}.brand span{font-size:.65rem}.header-controls{gap:.3rem}header select,header button{font-size:.8rem;padding:.6rem .4rem}#welcome{left:7vw;top:36%;max-width:84vw}#welcome h1{font-size:2.9rem}#roomInfo{top:6rem;left:1rem;padding:.8rem 1rem;max-width:65vw;max-height:25vh}#roomInfo h1{font-size:1.25rem}#roomLead{display:none}#toolbar{bottom:4.8rem;overflow-x:auto;justify-content:flex-start;max-width:94vw;width:max-content}#toolbar button{font-size:.8rem;padding:.65rem}#sceneHint{bottom:9rem;font-size:.75rem}footer{padding:.65rem 1rem;gap:.7rem;flex-wrap:wrap}#previewLabel{font-size:.65rem;width:100%;margin:0}.art-layout{grid-template-columns:1fr;gap:1rem}.art-image{min-height:180px}.art-image img{max-height:47vh}.art-details{padding:.5rem}dialog{padding:1.2rem}#catalogGrid{grid-template-columns:repeat(2,1fr);gap:1.4rem .8rem}.art-card img{height:180px}.art-card strong{font-size:1rem}.filters{gap:.4rem}#mapRooms{grid-template-columns:1fr}#mapRooms .room-tile:first-child{grid-column:auto}.room-tile{padding:1rem}.form-row{grid-template-columns:1fr}#contactDialog h2{font-size:1.8rem}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.loader{animation:none}}

.catalog-download{display:block;margin:1rem 0;color:inherit;text-underline-offset:4px}.catalog-edition{font-size:.8rem;opacity:.7}

#navigationPad{display:none;position:fixed;right:2rem;bottom:11rem;width:128px;height:128px;border-radius:50%;background:#f3f1e9ed;border:1px solid #a88853;z-index:3;touch-action:none;user-select:none;color:#293a30;box-shadow:0 5px 25px #0004}body.inside #navigationPad{display:block}#navigationPad span{position:absolute;font-size:22px;pointer-events:none}.pad-up{top:5px;left:55px}.pad-down{bottom:5px;left:55px}.pad-left{left:9px;top:51px}.pad-right{right:9px;top:51px}#navigationPad i{position:absolute;left:49px;top:49px;width:28px;height:28px;border-radius:50%;background:#a88853;transform:translate(var(--nx,0px),var(--ny,0px));pointer-events:none}@media(max-width:760px){#navigationPad{right:1rem;bottom:13rem;width:128px;height:128px}#sceneHint{max-width:94vw;width:94vw}}

/* Keep the photographic materials visible; no dark wash over the interior. */
body.inside .veil{background:linear-gradient(180deg,rgba(20,25,22,.25),transparent 18%,transparent 86%,rgba(20,25,22,.3))}

/* Full street photograph: preserve both neighbouring shops at every aspect ratio. */
#streetEntrance{position:fixed;inset:0;width:100%;height:100%;object-fit:contain;background:#262b28;pointer-events:none}
body.inside #streetEntrance{display:none}
body:not(.inside) .veil{background:linear-gradient(180deg,#14221c66,transparent 15%,transparent 76%,#14221caa)}
body:not(.inside) #welcome{top:auto;bottom:3.4rem;left:50%;transform:translateX(-50%);max-width:95vw;width:max-content;text-align:center}
body:not(.inside) #welcome h1,body:not(.inside) #welcome .eyebrow,body:not(.inside) #welcome>p{display:none}
body:not(.inside) #welcome .primary{margin:0;box-shadow:0 2px 18px #0005}
@media(max-width:760px){body:not(.inside) #welcome{bottom:6rem}#streetEntrance{object-fit:contain}}

/* Keep the photograph visible until the doorway transition completes. */
body.entering-gallery #streetEntrance{display:block;will-change:transform,opacity}
body.entering-gallery #scene{pointer-events:none}
body.entering-gallery header,body.entering-gallery footer,body.entering-gallery #toolbar,body.entering-gallery #roomInfo,body.entering-gallery #navigationPad,body.entering-gallery #sceneHint{visibility:hidden}
@media(max-width:480px){header{flex-wrap:wrap;align-items:flex-start;row-gap:.45rem}.header-controls{width:100%;justify-content:flex-end}#roomInfo{top:7.4rem;max-height:22vh}#navigationPad{bottom:8rem}}
@media(max-width:480px){body.inside footer,body.inside #sceneHint{display:none}body.inside #toolbar{bottom:.65rem;left:.65rem;right:.65rem;transform:none;max-width:none;width:auto}body.inside #navigationPad{right:.7rem;bottom:5.1rem;width:108px;height:108px}body.inside #navigationPad .pad-up{left:46px}body.inside #navigationPad .pad-down{left:46px}body.inside #navigationPad .pad-left{top:42px}body.inside #navigationPad .pad-right{top:42px}body.inside #navigationPad i{left:40px;top:40px}body.inside #roomInfo{top:6.9rem;left:.65rem;max-width:58vw;max-height:21vh}}
