@import url('./fonts.css');
:root{font-family:Jost,Arial,sans-serif;color:#302b25;background:#f8f5ef;font-size:16px;--accent:#765d32;--border:#d7cfc1;--header:88px;--panel:290px}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select,input{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,select{border:1px solid var(--border);background:#fffcf6;border-radius:3px;padding:10px 12px;color:inherit;cursor:pointer;font-size:14px;min-height:44px}button:hover,a:hover{background:#eee5d7;border-color:#9b8052}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,canvas:focus-visible{outline:3px solid #765d32;outline-offset:-3px}button.active,.floors .active{background:#765d32;color:#fff}header{height:var(--header);display:flex;align-items:center;gap:22px;padding:0 24px;border-bottom:1px solid var(--border);background:#faf7f1;position:relative;z-index:20}.brand-logo{width:64px;height:64px;object-fit:contain}.heading{font-family:'Cormorant Garamond',Georgia,serif;font-size:25px;font-weight:500;line-height:1.1}.heading small{display:block;font-family:Jost,Arial,sans-serif;font-size:12px;letter-spacing:2px;margin-top:7px;text-transform:uppercase}#return{margin-left:auto;font-size:13px;color:#51432f;padding:12px;text-underline-offset:4px}#language{display:flex;gap:4px}#language button{min-width:44px}#menu,#closemenu{display:none}aside{position:absolute;top:var(--header);bottom:0;left:0;width:var(--panel);background:#faf7f1;overflow-y:auto;overscroll-behavior:contain;padding:20px;z-index:10;border-right:1px solid var(--border)}h2{font:500 29px/1.08 'Cormorant Garamond',Georgia,serif;margin:8px 0 12px}h3{font-size:14px;margin:20px 0 10px}.muted,.fine{color:#655d51;line-height:1.5;font-size:14px}.fine{font-size:12px}.viewgrid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:20px 0}label{display:block;font-size:14px;margin:16px 0 8px}select{width:100%;padding:12px 8px}.primary{background:#765d32;border-color:#765d32;color:white}.primary:hover{background:#584322;color:white}#walk,#spin{width:100%;margin-top:10px}.toggle{display:flex;align-items:center;gap:12px;margin:4px 0;min-height:44px;cursor:pointer}.toggle input{accent-color:#765d32;width:20px;height:20px}main{position:absolute;left:var(--panel);top:var(--header);right:0;bottom:0;background:#e9e5dc}canvas{width:100%;height:100%;display:block;touch-action:none}.scenehead{position:absolute;top:16px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;pointer-events:none}.scenehead span,#orient{background:#fffcf2ed;border:1px solid var(--border);padding:10px 14px;font-size:14px;border-radius:3px}#orient{pointer-events:auto}.bottom{position:absolute;bottom:14px;left:0;width:100%;display:flex;align-items:center;flex-direction:column;pointer-events:none}.floors{display:flex;max-width:100%;background:#faf7f1;padding:4px;border:1px solid var(--border);pointer-events:auto}.floors button{border:0;padding:10px;font-size:13px}.bottom p{background:#fffcf2ed;padding:7px 10px;font-size:12px;margin:8px 10px 0;text-align:center}#loading{position:absolute;inset:0;display:grid;place-items:center;background:#eee9df;z-index:15;padding:30px;text-align:center}#hotspots{position:absolute;inset:0;pointer-events:none;overflow:hidden}.hotspot{position:absolute;white-space:nowrap;padding:8px 10px;background:#fffcf2ed;font-size:12px;pointer-events:auto;transform:translate(-50%,-50%)}#roomcard{position:absolute;right:16px;top:76px;width:260px;background:#fffcf7f5;padding:20px;border:1px solid var(--border);box-shadow:0 8px 28px #302b2518}#roomcard h2{margin:0 28px 10px 0}#roomcard strong{color:#765d32;font-size:20px}#roomcard p{font-size:14px;line-height:1.5}#closecard{position:absolute;right:3px;top:3px;border:0;background:none;font-size:22px}#roomcard .primary{width:100%}#walkhelp{position:absolute;top:72px;left:16px;font-size:12px;background:#faf7f1;padding:10px;max-width:80%}#walkhelp button{display:block;margin-top:8px}#touchpad{position:absolute;left:16px;bottom:140px;text-align:center}#touchpad button{width:44px;background:#fffcf2ed;font-size:20px;margin:3px;touch-action:none}input[type=range]{width:100%;accent-color:#765d32;margin:14px 0;min-height:44px}#interiorRooms{display:flex;gap:5px;max-width:95%;overflow-x:auto;padding:5px;margin-bottom:7px;background:#faf7f1;pointer-events:auto}#interiorRooms button{white-space:nowrap;font-size:12px}body:has(#interiorRooms:not([hidden])) #hint{display:none}[hidden]{display:none!important}.embedded{--header:64px}.embedded header{padding:0 16px;gap:15px}.embedded .brand-logo,.embedded #return{display:none}.embedded #language{margin-left:auto}.embedded .heading{font-size:23px}.embedded .heading small{font-size:10px;margin-top:3px}
@media(max-width:900px){:root{--header:108px}header{padding:8px 12px;gap:10px;flex-wrap:wrap;align-content:center}.brand-logo{width:40px;height:40px}.heading{font-size:20px;flex:1}.heading small{font-size:10px;letter-spacing:1px}#language{gap:2px}#language button{padding:8px}#return{order:5;width:100%;margin:0;padding:3px 0;text-align:right;min-height:24px}#menu{display:block;min-width:44px;padding:8px}aside{transform:translateX(-100%);width:min(310px,calc(100vw - 48px));box-shadow:10px 0 35px #302b2520}aside.open{transform:translateX(0)}#closemenu{display:block;margin-left:auto;margin-bottom:8px;min-width:44px}main{left:0}#roomcard{right:10px;top:70px;width:min(260px,calc(100% - 20px))}.floors button{font-size:12px;padding:8px}.scenehead{top:12px;left:10px;right:10px}.embedded header{flex-wrap:nowrap}.embedded .heading{font-size:18px}.embedded #language{margin:0}.embedded{--header:64px}}
@media(max-height:600px){#roomcard{max-height:calc(100% - 150px);overflow:auto}#hint{display:none}.bottom{bottom:5px}#walkhelp{top:60px;max-width:65%}#touchpad{bottom:65px;left:auto;right:10px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
