@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#163139;background:#e4e8e8;font-size:16px;color-scheme:light}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit;border:0}button:focus-visible,main:focus-visible{outline:3px solid #bb8644;outline-offset:4px}#viewer{position:fixed;inset:0;outline:0}canvas{display:block;touch-action:none}header{position:absolute;top:30px;left:34px;right:34px;display:flex;align-items:center;justify-content:space-between;pointer-events:none}.brand{display:flex;gap:14px;align-items:center}.monogram{display:grid;place-items:center;background:#19363e;color:white;width:48px;height:48px;font-size:18px;letter-spacing:-1px;border-radius:50%}h1{font-family:Manrope,sans-serif;font-size:24px;margin:0;letter-spacing:-1px}.brand p{font-size:13px;margin:3px 0 0;opacity:.68}.header-actions{display:flex;gap:8px;pointer-events:auto}.header-actions button{border-radius:50%;background:#fffffff0;width:42px;height:42px;font-size:23px;box-shadow:0 3px 20px #00000008}.modes{position:absolute;top:32px;left:50%;transform:translateX(-50%);display:flex;padding:5px;background:#fffffff2;border-radius:30px;box-shadow:0 4px 28px #0000000a}.modes button{padding:12px 18px;background:none;border-radius:24px;font-size:14px;white-space:nowrap}.modes button.active{background:#19363e;color:#fff}#room-panel{position:absolute;top:130px;left:34px;width:216px;padding:22px 18px;background:#fffffff2;border-radius:16px;box-shadow:0 8px 50px #14272e09}.eyebrow{font-size:11px;letter-spacing:1.9px;opacity:.55}#rooms{margin-top:17px;display:grid;gap:5px}.room-link{display:flex;align-items:center;gap:12px;text-align:left;padding:10px 9px;background:none;border-radius:7px;font-size:14px}.room-link span:first-child{font-size:11px;color:#78868a;width:18px}.room-link.active{background:#e7edef;color:#0f3944}.room-link:hover{background:#f0f3f3}.plan-wrap{margin-top:18px;border-top:1px solid #dce3e3;padding-top:18px}#minimap{width:100%;max-height:193px;overflow:visible}.map-room{fill:#e5ebec;stroke:#a8b7ba;stroke-width:.045;cursor:pointer;transition:fill .2s}.map-room:hover,.map-room.selected{fill:#b4cbd1;stroke:#376573}.map-label{font:0.31px sans-serif;fill:#455e66;pointer-events:none}.text-button{background:none;margin-top:8px;padding:5px 0;font-size:12px;text-align:left;opacity:.7}.room-caption{position:absolute;bottom:110px;left:284px;pointer-events:none;max-width:600px}.room-caption span{font-size:11px;letter-spacing:2px;color:#607980}.room-caption h2{font-family:Manrope,sans-serif;font-weight:500;font-size:35px;letter-spacing:-1.2px;margin:9px 0}.room-caption p{font-size:14px;color:#5e747b;margin:0}.bottom{position:absolute;bottom:28px;left:34px;right:34px;display:flex;align-items:center;justify-content:space-between;gap:20px}#hint{background:#fffffff0;padding:13px 18px;border-radius:25px;font-size:13px;color:#5b7178}#photos-button{background:#fff;border-radius:28px;padding:14px 21px;font-size:14px;box-shadow:0 4px 20px #132b320a}#photos-button span{margin-left:17px}#loading{position:fixed;inset:0;background:#edf0f0;z-index:10;display:flex;align-items:center;justify-content:center;flex-direction:column}#loading h2{font:500 36px Manrope,sans-serif;margin:20px 0 0}#loading p{color:#677c81}progress{width:180px;accent-color:#345c65;height:4px}dialog{border:0;border-radius:18px;padding:34px;width:min(1000px,92vw);max-height:88vh;color:#19363e;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#142a34a0;backdrop-filter:blur(7px)}dialog h2{font:500 30px Manrope,sans-serif;letter-spacing:-1px;margin-top:0}dialog p,dialog li{line-height:1.7}dialog a{color:#326477}#close-dialog{position:sticky;float:right;top:0;font-size:30px;background:#eef2f2;border-radius:50%;width:38px;height:38px;z-index:1}#dialog-body>img{max-width:100%;display:block;margin:auto}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.photo-grid img{width:100%;border-radius:8px}#walk-controls{position:absolute;right:30px;bottom:96px;text-align:center}#walk-controls button{width:48px;height:48px;margin:2px;background:#fffD;border:1px solid #e1e7e7;border-radius:10px;font-size:24px;touch-action:none}body.interior .brand,body.interior .room-caption{color:#fff;text-shadow:0 1px 12px #0007}body.interior .room-caption p,body.interior .room-caption span{color:white}body.interior header{background:linear-gradient(#0003,transparent);border-radius:15px}body.interior .room-caption{background:#142b3290;backdrop-filter:blur(10px);padding:20px 25px;border-radius:12px}#loading[hidden],#walk-controls[hidden]{display:none}.error-message{max-width:480px;line-height:1.5;text-align:center;padding:24px}.pano-status{color:#758a91;font-size:13px}
@media(max-width:1000px){.modes{top:99px}#room-panel{top:170px;width:184px;left:20px;padding:16px 13px}.room-caption{left:227px}.room-caption h2{font-size:27px}header{left:20px;right:20px;top:24px}.bottom{left:20px;right:20px}.plan-wrap{display:none}}
@media(max-width:650px){header{top:19px}.brand h1{font-size:21px}.brand p{font-size:12px}.monogram{width:42px;height:42px}.modes{top:91px;width:max-content;max-width:96vw}.modes button{padding:10px 13px;font-size:13px}#room-panel{top:149px;left:0;width:100%;padding:0 15px;background:none;box-shadow:none}.eyebrow,.plan-wrap,.text-button{display:none}#rooms{display:flex;overflow-x:auto;margin:0;padding-bottom:9px;gap:6px}.room-link{white-space:nowrap;background:#fffffff0;padding:10px 12px}.room-link span:first-child{display:none}.room-caption{left:21px;bottom:151px;max-width:calc(100vw - 42px)}.room-caption h2{font-size:26px}.room-caption p{font-size:13px}.bottom{bottom:20px;align-items:stretch;flex-direction:column;gap:9px}#hint{font-size:12px;text-align:center;padding:10px}#photos-button{padding:12px}#walk-controls{right:16px;bottom:238px}body.interior .room-caption{padding:13px 17px}dialog{padding:22px}.photo-grid{grid-template-columns:1fr 1fr}}
.map-label{font-size:.7px}@media(max-width:650px){.modes button{padding:10px 9px;font-size:12px}}

.header-actions{align-items:center}
.home-link{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 16px;border-radius:22px;color:#19363e;background:#fffffff0;box-shadow:0 3px 20px #00000008;font-size:13px;font-weight:600;text-decoration:none}
.home-link:focus-visible{outline:3px solid #bb8644;outline-offset:4px}
@media(max-width:650px){.home-link{width:42px;padding:0;justify-content:center;font-size:0}.home-link span{font-size:19px}}

dialog[data-kind="plan"]{width:min(680px,92vw)}
#dialog-body>.floor-plan-image{width:auto;height:auto;max-width:100%;max-height:calc(88vh - 200px);border-radius:10px}
@media(max-width:650px){#plan-button{display:block;margin:4px 0 0;padding:8px 12px;background:#fffffff0;border-radius:20px;opacity:1}dialog[data-kind="plan"] h2{font-size:24px;line-height:1.25;margin-bottom:12px}dialog[data-kind="plan"] p{font-size:14px}}
