:root{--paper:#fff;--ink:#0a0a0a;--graphite:#404040;--mist:#dedede;--fog:#f5f5f5;--gutter:clamp(24px,4vw,72px);--header:64px;color:var(--ink);background:var(--paper);font-synthesis:none;font-family:Helvetica Neue,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 24px)}body{background:var(--paper);min-width:320px;margin:0}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.skip-link{z-index:10;background:var(--ink);color:var(--paper);padding:10px 14px;font-size:13px;position:fixed;top:-60px;left:12px}.skip-link:focus{top:12px}.site-header{z-index:5;height:var(--header);padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--mist);align-items:center;display:flex;position:sticky;top:0}.wordmark{letter-spacing:.055em;white-space:nowrap;font-size:12px;font-weight:600}.site-header nav{align-items:center;gap:14px;margin-left:auto;display:flex}.site-header nav>a,.language{letter-spacing:.055em;text-transform:uppercase;white-space:nowrap;color:var(--graphite);font-size:10px}.site-header nav>a span{color:#777;margin-right:3px}.site-header nav>a[aria-current]{color:var(--ink);text-underline-offset:5px;text-decoration:underline;text-decoration-thickness:1px}.language{margin-left:8px}.language strong{color:var(--ink);font-weight:600}.menu-button{letter-spacing:.08em;color:var(--ink);background:0 0;border:0;margin-left:auto;font:500 10px/1 Helvetica Neue,Helvetica,Arial,sans-serif;display:none}.reading-progress{background:0 0;width:100%;height:1px;position:absolute;bottom:-1px;left:0}.reading-progress span{background:var(--ink);transform-origin:0;width:100%;height:1px;display:block}main{overflow:hidden}.hero{min-height:max(720px,calc(100svh - var(--header)));padding:clamp(75px,12vh,150px) var(--gutter) 44px;border-bottom:1px solid var(--ink);flex-direction:column;justify-content:space-between;display:flex;position:relative}.hero-network{inset:clamp(52px,9vh,100px) var(--gutter) auto;width:calc(100% - 2 * var(--gutter));height:clamp(250px,42vh,440px);position:absolute;overflow:visible}.network-grid{stroke:#e5e5e5;stroke-width:1px}.network-lines{stroke:#6b6b6b;stroke-width:1px}.network-rings{fill:none;stroke:#9c9c9c;stroke-width:1px}.network-points{fill:var(--ink)}.hero-copy{max-width:860px;margin-top:auto;position:relative}.hero h1{letter-spacing:-.065em;margin:0;font-size:clamp(50px,7.2vw,112px);font-weight:500;line-height:.88}.hero-copy p{letter-spacing:-.03em;margin:28px 0 0;font-size:clamp(19px,2.2vw,30px)}.start-link{letter-spacing:.07em;align-self:flex-end;font-size:11px;position:relative}.start-link span{margin-left:4px;font-size:17px}.section{padding:clamp(42px,6vw,92px) var(--gutter);border-bottom:1px solid var(--mist)}.section-heading{grid-template-columns:repeat(12,1fr);align-items:baseline;gap:24px;display:grid}.section-number{letter-spacing:.07em;grid-column:1/2;margin:0;font-size:12px}.section h2{letter-spacing:-.06em;grid-column:3/13;margin:0;font-size:clamp(35px,4.5vw,68px);font-weight:500;line-height:.94}.section-lead{letter-spacing:-.052em;max-width:1000px;margin:clamp(58px,9vw,130px) 0 clamp(38px,6vw,85px);font-size:clamp(30px,3.5vw,51px);line-height:1.02}.body-copy{color:#242424;max-width:590px;font-size:17px;line-height:1.55}.body-copy p{margin:0 0 20px}.text-grid{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.text-grid>.body-copy{grid-column:4/9}.marginalia{border-top:1px solid var(--ink);grid-column:10/13;padding-top:10px;font-size:14px;line-height:1.45}.marginalia span,.permission-note span{letter-spacing:.08em;margin-bottom:15px;font-size:10px;display:block}.section-next{letter-spacing:.07em;border-bottom:1px solid #0000;width:max-content;margin:clamp(62px,9vw,128px) 0 0 auto;padding-bottom:3px;font-size:11px;display:block}.section-next:hover{border-color:var(--ink)}.section-next span{margin-left:4px;font-size:17px}.split-layout{grid-template-columns:repeat(12,1fr);align-items:center;gap:24px;display:grid}.split-layout>.body-copy{grid-column:3/7}.spatial-diagram{grid-column:8/13;width:100%;overflow:visible}.spatial-diagram circle:not(:nth-child(-n+3)),.spatial-diagram line{fill:none;stroke:#a6a6a6;stroke-width:1px}.spatial-diagram circle:nth-child(-n+3),.spatial-diagram path{fill:var(--ink)}.spatial-diagram path{stroke:var(--ink)}.spatial-diagram text{letter-spacing:1.1px;fill:#555;font-size:10px}.installation-layout{grid-template-columns:repeat(12,1fr);align-items:start;gap:24px;display:grid}.installation-void{aspect-ratio:16/9;border:1px solid var(--ink);background:var(--fog);letter-spacing:.08em;grid-column:1/9;align-items:flex-end;padding:18px;font-size:10px;line-height:1.4;display:flex}.installation-layout>.body-copy{grid-column:10/13}.text-link{border-bottom:1px solid var(--ink);letter-spacing:.04em;margin-top:15px;font-size:12px;display:inline-block}.availability-note{color:#555;margin:16px 0 0;font-size:12px}.beacon-soundscape{grid-column:1/9;min-width:0}.soundscape-toolbar{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.soundscape-toolbar p,.soundscape-help,.soundscape-error{letter-spacing:.055em;margin:0;font-size:11px}.soundscape-toggle{border:1px solid var(--ink);background:var(--ink);color:var(--paper);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;padding:10px 13px;font:500 10px/1 Helvetica Neue,Helvetica,Arial,sans-serif}.soundscape-toggle[aria-pressed=true]{background:var(--paper);color:var(--ink)}.soundscape-room{aspect-ratio:16/9;touch-action:none;cursor:crosshair;outline:none;width:100%;height:auto;display:block}.soundscape-room:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.soundscape-floor{fill:var(--fog);stroke:var(--ink);stroke-width:2px}.soundscape-grid{stroke:#ddd;stroke-width:1px}.soundscape-range{fill:none;stroke:#aaa;stroke-width:1px}.soundscape-source{fill:var(--ink)}.soundscape-beacon.is-active .soundscape-range{stroke:var(--ink)}.soundscape-beacon.is-active .soundscape-source{fill:#555}.soundscape-beacon text{letter-spacing:1.2px;fill:var(--graphite);font:10px Helvetica Neue,Helvetica,Arial,sans-serif}.soundscape-figure{fill:var(--ink)}.soundscape-arms{fill:none;stroke:var(--ink);stroke-width:7px;stroke-linecap:square}.soundscape-help{color:#555;max-width:650px;margin-top:12px;line-height:1.45}.soundscape-error{color:#8b0000;margin-top:10px}.app-intro{grid-template-columns:repeat(12,1fr);align-items:start;gap:24px;display:grid}.app-intro>.body-copy{grid-column:3/8}.app-intro ol{border-top:1px solid var(--ink);margin:42px 0 0;padding:0;list-style:none}.app-intro li{border-bottom:1px solid var(--mist);grid-template-columns:42px 1fr;gap:10px;padding:12px 0;font-size:14px;display:grid}.app-intro li span{letter-spacing:.08em;font-size:10px}.permission-note{border-top:1px solid var(--ink);grid-column:10/13;padding-top:10px;font-size:14px;line-height:1.48}.screen-grid{grid-template-columns:repeat(5,1fr);align-items:start;gap:18px;margin-top:clamp(65px,9vw,125px);display:grid}.screen-figure{min-width:0;margin:0}.screen-figure img{border:1px solid var(--ink);filter:grayscale();width:100%;height:auto;display:block}.screen-figure figcaption{letter-spacing:.075em;padding-top:9px;font-size:10px;line-height:1.4}.screen-grid .screen-figure:nth-child(2){margin-top:58px}.screen-grid .screen-figure:nth-child(4){margin-top:34px}.work-list{border-top:1px solid var(--ink)}.work{border-bottom:1px solid var(--mist);grid-template-columns:1fr 3fr 5fr 3fr;align-items:baseline;gap:24px;padding:26px 0 32px;display:grid}.work-number,.work p{margin:0}.work-number,.audio-unavailable{letter-spacing:.08em;font-size:10px}.work h3{letter-spacing:-.05em;margin:0;font-size:clamp(24px,2.7vw,42px);font-weight:500;line-height:1}.work>p:not(.work-number){max-width:380px;font-size:15px;line-height:1.45}.audio-unavailable{color:#777;justify-self:end}.technology-grid{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.technology-grid dl{border-top:1px solid var(--ink);grid-column:2/8;margin:0}.technology-grid dl>div{border-bottom:1px solid var(--mist);grid-template-columns:1fr 2fr;gap:24px;padding:15px 0 21px;display:grid}dt{font-size:13px;font-weight:600}dd{margin:0;font-size:14px;line-height:1.45}.technology-screens{grid-column:9/13;grid-template-columns:1fr 1fr;gap:16px;display:grid}.technology-screens .screen-figure:last-child{margin-top:50px}.project-note{border-top:1px solid var(--ink);grid-column:10/13;margin:0;padding-top:11px;font-size:14px;line-height:1.45}.download-grid{grid-template-columns:repeat(12,1fr);gap:24px;display:grid}.download-grid>.body-copy{grid-column:3/8}.download-link{border-top:1px solid var(--ink);justify-content:space-between;margin-top:13px;padding:13px 0;font-size:15px;display:flex}.download-link:last-child{border-bottom:1px solid var(--ink)}.download-link span{letter-spacing:.08em;color:#777;font-size:9px}.muted{color:#6e6e6e;cursor:not-allowed}.contact{border-top:1px solid var(--ink);grid-column:10/13;padding-top:10px;font-size:14px}.contact p{letter-spacing:.08em;margin:0 0 30px;font-size:10px}.contact a{text-underline-offset:3px;margin:9px 0;text-decoration:underline;display:block}footer{padding:26px var(--gutter);letter-spacing:.06em;text-transform:uppercase;justify-content:space-between;gap:30px;font-size:10px;display:flex}footer p{margin:0}footer div{gap:18px;display:flex}footer a{text-underline-offset:3px;text-decoration:underline}@media (width<=1000px){.site-header nav{top:var(--header);padding:20px var(--gutter) 24px;background:var(--paper);border-bottom:1px solid var(--ink);flex-direction:column;align-items:flex-start;gap:16px;display:none;position:absolute;left:0;right:0}.site-header nav.open{display:flex}.menu-button{display:block}.language{margin:6px 0 0}.section-heading{grid-template-columns:repeat(8,1fr)}.section-heading h2{grid-column:2/9}.text-grid,.split-layout,.installation-layout,.app-intro,.technology-grid,.download-grid{grid-template-columns:repeat(8,1fr)}.text-grid>.body-copy,.split-layout>.body-copy,.app-intro>.body-copy,.technology-grid dl,.download-grid>.body-copy{grid-column:2/6}.marginalia,.permission-note,.installation-layout>.body-copy,.technology-screens,.project-note,.contact{grid-column:6/9}.installation-void,.beacon-soundscape{grid-column:1/6}.screen-grid{grid-template-columns:repeat(3,1fr)}.screen-grid .screen-figure:nth-child(4){margin-top:0}.screen-grid .screen-figure:nth-child(3){margin-top:30px}.work{grid-template-columns:40px 2fr 3fr 2fr}}@media (width<=680px){:root{--header:56px;--gutter:20px}.hero{min-height:calc(100svh - var(--header));padding-top:70px}.hero-network{inset:84px var(--gutter) auto;height:240px;width:calc(100% - 2 * var(--gutter))}.hero h1{font-size:51px}.hero-copy p{margin-top:20px;font-size:20px}.section{padding:41px var(--gutter)}.section-heading{display:block}.section-number{margin-bottom:18px}.section h2{font-size:42px}.section-lead{margin:50px 0 42px;font-size:31px}.text-grid,.split-layout,.installation-layout,.app-intro,.technology-grid,.download-grid{display:block}.text-grid>.body-copy,.split-layout>.body-copy,.app-intro>.body-copy,.technology-grid dl,.download-grid>.body-copy{max-width:100%}.marginalia,.permission-note,.installation-layout>.body-copy,.technology-screens,.project-note,.contact{margin-top:40px}.split-layout>.body-copy{margin-bottom:45px}.installation-void{aspect-ratio:1}.screen-grid{grid-template-columns:repeat(2,1fr);gap:18px;margin-top:55px}.screen-grid .screen-figure:nth-child(2),.screen-grid .screen-figure:nth-child(3),.screen-grid .screen-figure:nth-child(4){margin-top:0}.screen-grid .screen-figure:nth-child(2n){margin-top:28px}.work{padding:22px 0;display:block}.work-number{margin-bottom:22px}.work h3{margin-bottom:16px;font-size:32px}.work>p:not(.work-number){margin-bottom:22px}.audio-unavailable,.technology-grid dl>div{display:block}.technology-grid dt{margin-bottom:9px}.technology-screens{gap:14px;display:flex}.technology-screens .screen-figure{width:50%}.technology-screens .screen-figure:last-child{margin-top:28px}.project-note{margin-top:40px}.contact{margin-top:48px}footer{line-height:1.6;display:block}footer div{margin-top:12px}.spatial-diagram{width:calc(100% + 10px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reading-progress span{transition:none}}
