:root{--green:#022d23;--white:#fff;--muted:#ffffffa3;--faint:#fff6;color:var(--white);background:var(--green);letter-spacing:.01em;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Avenir Next,Avenir,Century Gothic,Futura,Trebuchet MS,sans-serif;font-weight:400}*{box-sizing:border-box}html,body,#root{background:var(--green);height:100%;margin:0}body{overflow:hidden}button,p,h2{font:inherit;color:inherit;margin:0}button{cursor:pointer}.experience{background:var(--green);-webkit-user-select:none;user-select:none;height:100%;position:relative;overflow:hidden}.presentation-canvas{background:var(--green);touch-action:none;cursor:grab;width:100%;height:100%;display:block;position:absolute;inset:0}.presentation-canvas:active{cursor:grabbing}.hud,.welcome,.overlay,.veil{position:absolute;inset:0}.hud{z-index:2;pointer-events:none;opacity:1;transition:opacity .45s}.hud.is-dim{opacity:0}.hud button{pointer-events:auto}.text-action{color:var(--white);text-transform:uppercase;letter-spacing:.42em;opacity:.72;background:0 0;border:0;padding:0;transition:opacity .35s,text-shadow .35s}.text-action:hover,.text-action:focus-visible{opacity:1;text-shadow:0 0 22px #ffffff47;outline:none}.welcome{z-index:6;background:var(--green);place-items:center;transition:opacity 1.95s cubic-bezier(.4,0,.12,1);display:grid}.welcome.is-clear{opacity:0;pointer-events:none}.welcome-center{text-align:center;flex-direction:column;align-items:center;margin-top:-4vh;display:flex}.lockup{flex-direction:column;align-items:center;display:flex}.lockup,.welcome-copy{transition:opacity 1s,transform 1.15s}.welcome.is-leaving .lockup{opacity:0;transform:translateY(-8vh)}.welcome.is-leaving .welcome-copy{opacity:0;transform:translateY(-2vh)}.wordmark,.neighbourhood,.part-of,.note-name,.city-copy h2,.journey-label,.overlay h2{text-transform:uppercase}.wordmark{letter-spacing:.46em;padding-left:.46em;font-size:clamp(4.4rem,8.6vw,7.8rem);font-weight:500;line-height:.9}.part-of{opacity:.82;justify-content:center;align-items:center;gap:.9rem;margin-top:1.35rem;font-size:.68rem;font-weight:500;display:flex}.part-of-label{letter-spacing:.58em;padding-left:.58em}.hairline{opacity:.7;background:currentColor;width:2.1rem;height:1px}.neighbourhood{letter-spacing:.5em;margin-top:.85rem;padding-left:.5em;font-size:clamp(1.05rem,1.7vw,1.45rem);font-weight:500}.mark{width:42px;height:88px;color:var(--white);opacity:.92;margin-top:1.7rem;display:block}.welcome-copy{flex-direction:column;align-items:center;margin-top:8vh;display:flex}.welcome-title{letter-spacing:.16em;font-size:clamp(1.25rem,1.8vw,1.7rem)}.welcome-support{color:var(--muted);letter-spacing:.24em;text-transform:uppercase;margin-top:.85rem;font-size:.78rem}.start{opacity:.88;margin-top:3.6rem;font-size:.78rem}.welcome-wifi{flex-direction:column;align-items:flex-end;gap:.7rem;display:flex;position:absolute;bottom:2.2rem;right:2.4rem}.welcome-wifi p{letter-spacing:.24em;text-transform:uppercase;color:var(--muted);font-size:.78rem}.welcome-wifi img{background:#fff;width:158px;height:auto;display:block}.prepare{background:#ffffff14;height:1px;transition:opacity .6s;position:absolute;bottom:0;left:0;right:0}.prepare.is-ready{opacity:0}.prepare span{transform-origin:0;background:#ffffffb8;width:100%;height:100%;transition:transform .35s;display:block}.reset{letter-spacing:.34em;text-transform:uppercase;color:var(--white);opacity:.34;background:0 0;border:0;padding:0;font-size:.62rem;transition:opacity .3s;position:absolute;top:28px;right:32px}.reset:hover,.reset:focus-visible{opacity:.9;outline:none}.city-copy{text-shadow:0 8px 24px #022d238c;max-width:26rem;animation:1s both settle;position:absolute;bottom:9vh;left:5.5vw}.city-copy h2,.view-contour,.reset{text-shadow:0 8px 24px #022d238c}.city-copy h2{letter-spacing:.42em;font-size:clamp(1.35rem,2.1vw,2rem);font-weight:500}.city-copy p{max-width:28ch;color:var(--muted);letter-spacing:.04em;margin-top:.95rem;font-size:.98rem;line-height:1.5}.view-contour{opacity:.92;align-items:center;gap:.85rem;font-size:.78rem;animation:1.15s both settle;display:inline-flex;position:absolute;bottom:9vh;right:5.5vw}.view-contour .arrow{letter-spacing:0;font-size:1rem}.notes{flex-direction:column;gap:1.35rem;animation:1s both settle;display:flex;position:absolute;top:12vh;left:5.2vw}.note-name{letter-spacing:.42em;font-size:clamp(1.6rem,2.4vw,2.4rem);font-weight:500}.rule{background:#ffffff8c;width:2.4rem;height:1px}.figure{letter-spacing:.08em;font-size:clamp(2.2rem,3.4vw,3.4rem);font-weight:400;line-height:.9}.figure-label,.meta-label,.meta-sub,.overlay-kicker,.journey-index{color:var(--muted);letter-spacing:.38em;text-transform:uppercase;font-size:.68rem}.figure-label{margin-top:.45rem}.meta{letter-spacing:.28em;text-transform:uppercase;font-size:.95rem}.meta-sub,.meta-label{margin-top:.35rem}.meta-label{margin-top:0;margin-bottom:.35rem}.journeys{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.4vw;animation:1.15s both settle;display:grid;position:absolute;bottom:4.2vh;left:5.2vw;right:5.2vw}.journey{text-align:left;min-height:7.5rem;color:var(--white);background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.55rem;padding:0 0 .9rem;display:flex;position:relative}.journey:after{content:"";background:var(--white);opacity:.45;transform-origin:0;width:100%;height:1px;transition:transform .55s,opacity .35s;position:absolute;bottom:0;left:0;transform:scaleX(.18)}.journey:hover:after,.journey:focus-visible:after{opacity:.9;transform:scaleX(1)}.journey:focus-visible{outline:none}.journey-label{letter-spacing:.2em;font-size:clamp(.95rem,1.25vw,1.2rem);transition:opacity .35s}.journey-description{max-width:28ch;color:var(--muted);letter-spacing:.01em;font-size:.82rem;line-height:1.45}.journey:hover .journey-label,.journey:focus-visible .journey-label{opacity:1}.overlay{z-index:7;background:var(--green);animation:.55s both fade}.back{letter-spacing:.34em;text-transform:uppercase;opacity:.62;background:0 0;border:0;padding:0;font-size:.68rem;transition:opacity .3s;position:absolute;top:28px;left:5.2vw}.back:hover,.back:focus-visible{opacity:1;outline:none}.overlay-heading{text-align:center;padding:11vh 0 0}.overlay h2{letter-spacing:.28em;margin-top:.8rem;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:500}.overlay-status{text-align:center;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;font-size:.75rem;position:absolute;top:28vh;left:0;right:0}.pdf-scroll{scrollbar-color:#ffffff59 transparent;width:min(920px,88vw);height:78vh;margin:4vh auto 0;overflow:auto}.pdf-scroll canvas{background:#fff;width:100%;height:auto;margin:0 auto 1.1rem;display:block}.move-in{place-items:center;display:grid}.move-in-center{text-align:center;flex-direction:column;align-items:center;margin-top:-2vh;display:flex}.move-in h2{letter-spacing:.14em;text-transform:none;margin-top:1rem;font-size:clamp(2rem,3.4vw,3.2rem)}.move-in-lead{letter-spacing:.22em;text-transform:uppercase;color:var(--muted);margin-top:1rem;font-size:.78rem}.qr-frame{background:#fff;width:min(380px,58vw);margin-top:2.2rem;padding:1.15rem}.qr-frame img{width:100%;height:auto;display:block}.move-in-support{color:var(--muted);letter-spacing:.08em;margin-top:1.6rem;font-size:.95rem}.veil{z-index:4;background:var(--green);opacity:0;pointer-events:none;transition:opacity .75s}.veil.is-down{opacity:1;pointer-events:auto}@keyframes settle{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
