:root{--ink:#294b3b;--muted:#73816c;--paper:#f2f3ec;--line:#d9dfd3;--white:#fbfcf6;font-family:Arial,sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0;min-height:100dvh;display:flex;flex-direction:column}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button{background:none;border:0}button:focus-visible,a:focus-visible,select:focus-visible,#stage:focus-visible{outline:3px solid #aa8e53;outline-offset:3px}.eyebrow{font-size:9px;font-weight:400;letter-spacing:1.6px;margin:0 0 10px;color:var(--muted)}header{display:flex;align-items:center;gap:24px;padding:22px 3%;border-bottom:1px solid var(--line)}h1,h2,h3,p{margin-top:0}h1{font:400 24px Georgia,serif;margin:0}h2{font:400 29px Georgia,serif;margin-bottom:16px}.choose{margin-left:auto;font-size:8px;letter-spacing:1px;display:grid;gap:8px}.choose select{background:var(--white);border:1px solid var(--line);border-radius:30px;padding:11px 34px 11px 15px;min-width:240px;font-size:12px;letter-spacing:0}.close{font-size:30px;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center}main{display:grid;grid-template-columns:minmax(270px,30%) 1fr;flex:1;min-height:560px}aside{padding:28px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column}.intro{color:var(--muted);font-size:12px;line-height:1.6;margin-bottom:20px}#floors{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:15px}#floors button{font-size:10px;border:1px solid var(--line);border-radius:20px;padding:10px 12px}#floors button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.map-wrap{height:290px;min-height:180px;display:flex;align-items:center;justify-content:center;flex:1}#map{position:relative;flex-shrink:0}#plan{display:block;width:100%;height:100%;object-fit:contain}#pins{position:absolute;inset:0}.pin{position:absolute;transform:translate(-50%,-50%);width:31px;height:31px;border-radius:50%;background:#f9fbf1ef;border:1px solid #94a881;color:var(--ink);font-size:10px;box-shadow:0 2px 8px #193f2a20}.pin[aria-pressed=true]{background:var(--ink);color:white;box-shadow:0 0 0 5px #36533424}#full-plan{font-size:10px;border-bottom:1px solid;align-self:flex-start;padding-bottom:4px;margin-top:20px}.caption{font-size:9px;color:var(--muted);line-height:1.6;margin:12px 0 0}.space{padding:25px 3% 15px;display:flex;flex-direction:column;min-width:0}.space-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.space-heading h2{font-size:25px;margin-bottom:18px}.space-heading .eyebrow{font-size:8px;margin-bottom:7px}#overview{font-size:10px;white-space:nowrap}#stage{position:relative;flex:1;min-height:330px;background:#e3e7db;overflow:hidden;touch-action:none;cursor:grab;border-radius:3px}#stage:active{cursor:grabbing}canvas,#fallback{position:absolute;inset:0;width:100%;height:100%;display:block}#fallback{object-fit:contain}#fallback[hidden]{display:none}#welcome{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:8%;background:radial-gradient(ellipse at 80% 20%,#d4dfc9,#e8ece1 70%)}#welcome h3{font:400 clamp(38px,4vw,66px)/1.05 Georgia,serif;margin-bottom:24px}#welcome p:not(.eyebrow){font-size:12px;line-height:1.7;color:#64745b}#welcome button{padding:13px 22px;border-radius:30px;background:var(--ink);color:white;font-size:12px;margin-top:10px}#welcome[hidden]{display:none}#loading{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:24px;background:#f9fbf2ed;font-size:12px;white-space:nowrap}.view-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted);padding-top:10px}.view-controls[hidden]{display:none}.view-controls button{padding:8px 10px;border:1px solid var(--line);border-radius:20px;margin-left:3px;min-width:34px}.view-controls button:last-child{font-size:9px}#rooms{display:flex;gap:8px;overflow:auto;padding:16px 0 5px}#rooms button{white-space:nowrap;border:1px solid var(--line);border-radius:24px;padding:10px 14px;font-size:11px}#rooms button span{font-size:9px;margin-right:7px;opacity:.6}#rooms button[aria-pressed=true]{background:var(--ink);color:white}#view-note{font-size:9px;color:var(--muted);line-height:1.6;margin:10px 0 0}footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 3%;background:var(--white)}footer p{font-size:10px;color:var(--muted);margin:7px 0 0}.enquire{border-radius:30px;background:var(--ink);color:white;padding:17px 27px;font-size:12px;white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(min-width:900px){body{height:100dvh;overflow:hidden}main{min-height:0}#stage{min-height:220px}.map-wrap{min-height:160px;height:auto}aside{min-height:0}#rooms{flex-shrink:0}}@media(max-width:700px){header{padding:15px;gap:12px}header h1{font-size:17px}header .eyebrow{font-size:6px;letter-spacing:.5px;max-width:140px;line-height:1.6}.choose{font-size:6px;gap:5px}.choose select{min-width:0;width:160px;max-width:100%;font-size:10px;padding:9px 20px 9px 10px}.close{width:30px;height:30px;flex-shrink:0;font-size:23px}main{display:flex;flex-direction:column;min-height:0}aside{padding:20px 18px;border-right:0;border-bottom:1px solid var(--line)}aside>.eyebrow,.intro{display:none}aside h2{font-size:24px;margin-bottom:14px}.map-wrap{height:330px;flex:none}#floors{margin-bottom:10px}#full-plan{margin-top:12px}.caption{font-size:8px}.space{padding:22px 18px 16px}.space-heading h2{font-size:22px}#stage{height:310px;flex:none;min-height:0}#welcome{padding:28px}#welcome h3{font-size:39px;margin-bottom:16px}#welcome p:not(.eyebrow){font-size:11px}.view-controls{align-items:flex-start;gap:6px}.view-controls>span{padding-top:10px;max-width:85px;line-height:1.5}.view-controls button{padding:8px}.view-controls button:last-child{display:none}footer{display:block;padding:18px}footer .enquire{display:block;text-align:center;margin-top:16px}#rooms{gap:6px}#rooms button{font-size:10px}body.viewing aside .map-wrap{height:150px}body.viewing aside .caption,body.viewing aside #full-plan{display:none}body.viewing aside h2{display:none}body.viewing aside{padding-block:12px}body.viewing #floors{justify-content:center}body.viewing main .space{padding-top:16px}body.viewing .space-heading h2{margin-bottom:14px}body.viewing #stage{height:350px}}@media(prefers-reduced-motion:no-preference){button,a{transition:background .18s,color .18s}}
