*{box-sizing:border-box}body{margin:0;background:#f2f1ed;color:#292927;font:14px Arial,sans-serif;overflow:hidden}#view{position:fixed;inset:0}canvas{display:block;touch-action:none}header{position:fixed;top:0;left:0;right:0;padding:26px 4vw;display:flex;justify-content:space-between;gap:20px;z-index:5;font-size:12px}header>div{display:flex;gap:22px;align-items:center}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;border:0;background:transparent;cursor:pointer}a:focus-visible,button:focus-visible{outline:2px solid #9b7c51;outline-offset:5px}aside{position:fixed;top:15%;left:4vw;width:250px;padding:20px;background:#f2f1edeF;z-index:3}h1{font-size:52px;line-height:.94;letter-spacing:-.055em;font-weight:400;margin:22px 0}p{line-height:1.55}small{font-size:10px;letter-spacing:.12em}.note{font-size:11px;color:#66655d;margin-top:25px}#spaces{display:grid;gap:4px}#spaces button{text-align:left;padding:12px 0;border-bottom:1px solid #cecdc6;line-height:1.4}#spaces button:hover{color:#876843}.marker{position:absolute;z-index:2;min-width:36px;height:36px;border:1px solid #7d786e;border-radius:50%;background:#f2f1ed;box-shadow:0 2px 14px #0002;transform:translate(-50%,-50%)}.marker:hover,.marker:focus{background:#292927;color:#f2f1ed}footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-between;padding:22px 4vw;gap:20px;font-size:11px;z-index:5}#loading{position:fixed;top:48%;left:50%;transform:translateX(-50%);background:#f2f1ed;padding:18px;z-index:9}#interior{position:fixed;inset:0;pointer-events:none;z-index:4}#interior button{pointer-events:auto}#back{position:absolute;left:4vw;top:90px;background:#f2f1ed;color:#292927;padding:14px 20px}.room-caption{position:absolute;left:4vw;bottom:95px;max-width:470px;color:white;text-shadow:0 2px 15px #000}.room-caption h2{font-size:clamp(32px,4vw,62px);font-weight:400;letter-spacing:-.04em;line-height:1.02;margin:14px 0}.room-caption p{max-width:370px}#other-spaces{position:absolute;right:4vw;bottom:95px;display:flex;flex-direction:column;align-items:flex-end;gap:8px}#other-spaces button{background:#f2f1ede8;color:#292927;padding:10px 15px}#other-spaces button[aria-current=true]{background:#292927;color:white}body.inside header,body.inside footer{color:white;text-shadow:0 1px 8px #000}body.inside header #reset{display:none}#veil{position:fixed;inset:0;background:#f2f1ed;opacity:0;pointer-events:none;z-index:10;transition:opacity .2s}#veil.active{opacity:1}[hidden]{display:none!important}@media(max-width:700px){header{padding:18px 5vw;font-size:10px}header>div{gap:12px}aside{top:75px;left:5vw;width:220px;padding:14px}h1{font-size:36px;margin:12px 0}aside>p{font-size:12px}.note{display:none}#spaces{gap:0}#spaces button{font-size:11px;padding:8px 0}footer{font-size:10px;padding:18px 5vw}footer>span:last-child{display:none}.room-caption{bottom:155px;left:5vw;right:5vw}.room-caption p{font-size:12px}.room-caption h2{font-size:35px}#other-spaces{bottom:60px;left:5vw;right:5vw;display:grid;grid-template-columns:1fr 1fr;gap:5px}#other-spaces button{font-size:10px;text-align:left}#back{top:66px;left:5vw;font-size:12px}}@media(prefers-reduced-motion:reduce){#veil{transition:none}}
/* A long programme index stays usable without covering the section. */
aside{top:100px;bottom:70px;display:flex;flex-direction:column;width:270px;max-height:calc(100dvh - 170px)}
aside h1{font-size:43px;margin:15px 0}aside>p{font-size:12px;margin:8px 0 14px}
#spaces{min-height:80px;overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-width:thin;flex:1}
#spaces button{font-size:12px;padding:10px 8px;border-left:3px solid transparent}
#spaces button.active{border-left-color:var(--zone-color);background:#e4e2db;color:#292927}
.marker.active{background:var(--zone-color);color:white;border-color:white;z-index:3}
aside .note{flex-shrink:0;font-size:10px;margin-top:12px;line-height:1.45}
#zone-label{position:fixed;left:50%;top:90px;transform:translateX(-50%);padding:10px 15px;z-index:4;background:#f2f1edf0;font-size:12px;pointer-events:none}#zone-label:empty{display:none}
#other-spaces{display:block;bottom:85px;max-width:300px;pointer-events:auto}
#room-select{max-width:100%;width:300px;padding:13px;background:#f2f1ed;color:#292927;border:1px solid #c6c2b7;border-radius:0;font:12px Arial,sans-serif}
select:focus-visible{outline:2px solid #9b7c51;outline-offset:4px}
@media(max-width:700px){aside{top:70px;bottom:auto;width:190px;max-height:48dvh;padding:12px}aside h1{font-size:29px;margin:10px 0}aside>p{font-size:10px;margin-bottom:8px}#spaces{min-height:70px}#spaces button{font-size:10px;padding:8px 5px}aside .note{display:none}.marker{min-width:30px;height:30px;font-size:10px}#zone-label{top:auto;bottom:55px;max-width:85vw}#other-spaces{bottom:58px;max-width:none;left:5vw;right:5vw}#room-select{width:100%;font-size:12px}.room-caption{bottom:124px}.room-caption h2{font-size:30px}.room-caption p{max-width:90vw}}

#zoom-controls{position:absolute;top:90px;right:4vw;display:flex;gap:1px}#zoom-controls button{background:#f2f1ed;color:#292927;width:44px;height:44px;font-size:22px} @media(max-width:700px){#zoom-controls{top:66px;right:5vw}}
