*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{font-family:Neue Montreal,Inter,system-ui,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg,video{display:block;max-width:100%}button,input,select,textarea{background:none;border:none;color:inherit;font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}ol,ul{list-style:none}:root{--black:#050404;--ivory:#f4f2ee;--amber-glow:#ffd6b0;--stele-progress:.02}html{background:var(--black);overscroll-behavior-y:none;height:100%}body{background:var(--black);color:var(--ivory);height:100%;overflow:hidden}body.stone-off canvas#gl{display:none}.sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}:focus-visible{outline:1px solid rgba(244,242,238,.7);outline-offset:4px}@media(prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important}}canvas#gl{display:block;height:100%;inset:0;position:fixed;touch-action:none;width:100%;z-index:1}body.is-stone-hover canvas#gl{cursor:pointer}body.is-jogging canvas#gl{cursor:grabbing}#stele-loading{height:84.4vh;left:calc(50% - .9vh);overflow:visible;pointer-events:none;position:fixed;top:6.9vh;transform:translate(-50%);z-index:6}@media(max-aspect-ratio:4/5){#stele-loading{height:105.55vw;left:calc(50% - 1.13vw);top:calc(50vh - 53.91vw)}}@media(max-aspect-ratio:249/500){#stele-loading{height:52.6vh;left:calc(50% - .56vh);top:23.14vh}}#stele-loading path{fill:none;stroke-linecap:round;transition:stroke-dashoffset .6s cubic-bezier(.22,1,.36,1)}#stele-loading .flank{stroke:#ffd6b08c;stroke-dasharray:1 1;stroke-dashoffset:calc(1 - var(--stele-progress,.02));stroke-width:.13}#stele-loading .tip{filter:drop-shadow(0 0 6px rgba(255,170,110,.9));stroke:#fff1e0;stroke-dasharray:.025 1;stroke-dashoffset:calc(.025 - var(--stele-progress,.02));stroke-width:.22}.stele-about-route #stele-loading{height:74.9vh;left:calc(50% + 34.6vh);top:8.08vh}@media(max-aspect-ratio:4/5){.stele-about-route #stele-loading{display:none}}body.stele-wired #stele-loading{opacity:0;transition:opacity .5s ease-out}body.stone-off #stele-loading{display:none}#stele-loading .hint{color:#f4f2ee6b;font-family:Inter,system-ui,sans-serif;font-size:10px;letter-spacing:.12em;text-transform:uppercase;position:absolute;left:50%;bottom:-2.6rem;transform:translate(-50%);white-space:nowrap}#stele-loading-hint{color:#f4f2ee6b;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%);pointer-events:none;z-index:6;transition:opacity .5s ease;font-variant-numeric:tabular-nums}body.stele-wired #stele-loading-hint{opacity:0}@keyframes stele-ui-in{0%{opacity:0}}#site-header{align-items:baseline;display:flex;font-family:Neue Montreal,Inter,system-ui,sans-serif;font-size:.875rem;justify-content:space-between;left:0;padding:24px 30px;pointer-events:none;position:fixed;right:0;top:0;z-index:15;opacity:0;visibility:hidden}body.stele-ui #site-header,body.stele-ui #sound-toggle{opacity:1;visibility:visible;animation:stele-ui-in .9s ease-out backwards}#site-header a{color:#f4f2eeeb;pointer-events:auto;text-decoration:none;transition:color .25s ease}#site-header a:hover{color:#fff}#site-header .brand{display:inline-block;font-weight:600;letter-spacing:0;line-height:1.2;position:relative;transform-origin:0 0;will-change:transform}#site-header .brand:after{content:"";inset:-14px -10px;position:absolute}body.brand-flipped #site-header .brand{visibility:hidden}#site-header .nav{color:#f4f2ee9e;display:inline-block;position:relative;transition:color .25s ease;pointer-events:auto}#site-header .nav:after{content:"";inset:-14px -10px;position:absolute}#site-header .nav:focus-visible{color:#ffe8cd}@media(hover:hover){#site-header .nav:hover{color:#ffe8cd}}#site-header .nav .word{color:transparent;display:inline-block;position:relative}#site-header .nav .word:after,#site-header .nav .word:before{color:#f4f2ee9e;content:attr(data-word);inset:0;position:absolute;transition:transform .3s cubic-bezier(.165,.84,.44,1),color .25s ease;will-change:transform}#site-header .nav .word:before{clip-path:polygon(-30% -30%,130% -30%,130% 38%,70% 50%,62% 40%,34% 62%,26% 52%,-30% 66%);transform-origin:30% 30%}#site-header .nav .word:after{clip-path:polygon(-30% 66%,26% 52%,34% 62%,62% 40%,70% 50%,130% 38%,130% 130%,-30% 130%);transform-origin:70% 70%}@media(hover:hover){#site-header .nav:hover .word:after,#site-header .nav:hover .word:before{color:#ffe8cd;transition:transform .5s cubic-bezier(.3,2.2,.45,1),color .2s ease}#site-header .nav:hover .word:before{transform:translate(-.5px,-1.1px) rotate(-1.2deg)}#site-header .nav:hover .word:after{transform:translate(.5px,1.1px) rotate(.8deg)}}#site-header .nav:focus-visible .word:after,#site-header .nav:focus-visible .word:before{color:#ffe8cd;transition:transform .5s cubic-bezier(.3,2.2,.45,1),color .2s ease}#site-header .nav:focus-visible .word:before{transform:translate(-.5px,-1.1px) rotate(-1.2deg)}#site-header .nav:focus-visible .word:after{transform:translate(.5px,1.1px) rotate(.8deg)}@media(prefers-reduced-motion:reduce){#site-header .nav .word:after,#site-header .nav .word:before{transform:none!important}}#site-header .close{background:none;border:none;color:#f4f2eeeb;cursor:pointer;font:inherit;letter-spacing:inherit;padding:0;pointer-events:auto;position:relative}#site-header .close .word:after,#site-header .close .word:before{color:#f4f2eeeb}#site-header .nav[hidden]{display:none}#project-index{bottom:calc(26px + env(safe-area-inset-bottom));left:50%;position:fixed;transform:translate(-50%);z-index:14;display:flex;gap:6px;opacity:0;pointer-events:none;transition:opacity .35s ease}body.stele-ui #project-index{opacity:1;pointer-events:auto}body.is-open #project-index,body.is-about #project-index{opacity:0;pointer-events:none}#project-index button{width:22px;height:22px;display:grid;place-items:center;color:#f4f2ee6b;position:relative}#project-index button i{display:block;width:4px;height:4px;border-radius:50%;background:currentColor;transition:transform .35s cubic-bezier(.22,1,.36,1),color .25s ease}#project-index button:hover i,#project-index button:focus-visible i{color:#ffe8cd;transform:scale(1.6)}#project-index button[aria-current=true] i{color:#f4f2ee;transform:scale(1.9)}#project-index button:focus-visible{outline-offset:-2px}@media(pointer:coarse){#project-index{display:none}}#project-sheet{bottom:26px;color:#f4f2eeeb;display:flex;flex-direction:column;font-family:Neue Montreal,Inter,system-ui,sans-serif;font-size:.75rem;gap:18px;left:30px;letter-spacing:.02em;line-height:1.5;opacity:0;pointer-events:none;position:fixed;transition:opacity .35s ease;z-index:15}#project-sheet.is-visible{opacity:1;transition-delay:.25s}#project-sheet.is-visible .visit{pointer-events:auto}#project-sheet p{margin:0}#project-sheet .description{color:#f4f2eeeb;max-width:30ch}#project-sheet .text{display:flex;flex-direction:column;gap:8px}#project-sheet .mask{display:block;overflow:clip;overflow-clip-margin:4px}#project-sheet .line{display:block;will-change:transform}#project-sheet .meta{color:#f4f2ee99}#project-sheet .meta .idx{font-variant-numeric:tabular-nums;color:#f4f2ee6b;margin-right:10px}@media(max-width:768px){#project-sheet{bottom:calc(22px + env(safe-area-inset-bottom));font-size:.8125rem;gap:14px;left:20px;right:20px;text-align:center}#project-sheet,#project-sheet .text{align-items:center}#project-sheet .description{max-width:34ch}}#project-sheet .visit{align-items:baseline;color:#f4f2eeeb;display:inline-flex;gap:5px;padding-bottom:4px;position:relative;text-decoration:none;transition:color .25s ease}#project-sheet .visit:after{content:"";inset:-14px -10px;position:absolute}#project-sheet .visit:focus-visible,#project-sheet .visit:hover{color:#fff}#project-sheet .sr{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}#project-sheet .roll{display:inline-flex;overflow:hidden}#project-sheet .char{display:inline-block;position:relative;transition:transform .55s cubic-bezier(.22,1,.36,1);transition-delay:calc(var(--i)*16ms)}#project-sheet .char:after{content:attr(data-char);left:0;position:absolute;top:100%}#project-sheet .ne{display:inline-grid;overflow:hidden;position:relative}#project-sheet .ne span{display:block;grid-area:1/1}#project-sheet .ne span+span{transform:translate(-110%,110%)}#project-sheet .rule{background:#f4f2ee59;bottom:0;height:1px;left:0;position:absolute;right:0;transform-origin:left center;transition:background-color .25s ease}@media(hover:hover){#project-sheet .visit:hover .char{transform:translateY(-100%)}#project-sheet .visit:hover .rule{animation:visit-rule .8s cubic-bezier(.65,0,.35,1) both;background:#f4f2eee6}#project-sheet .visit:hover .ne span:first-child{animation:visit-ne-out .32s cubic-bezier(.55,0,.75,.2) both}#project-sheet .visit:hover .ne span+span{animation:visit-ne-in .45s cubic-bezier(.22,1,.36,1) .2s both}}#project-sheet .visit:focus-visible{outline:1px solid rgba(244,242,238,.4);outline-offset:4px}#project-sheet .visit:focus-visible .char{transform:translateY(-100%)}@media(prefers-reduced-motion:reduce){#project-sheet .char{transition:none}#project-sheet .visit:focus-visible .char,#project-sheet .visit:hover .char{transform:none}#project-sheet .ne span,#project-sheet .rule{animation:none!important}}@keyframes visit-rule{0%{transform:scaleX(1);transform-origin:right center}45%{transform:scaleX(0);transform-origin:right center}55%{transform:scaleX(0);transform-origin:left center}to{transform:scaleX(1);transform-origin:left center}}@keyframes visit-ne-out{0%{transform:translate(0)}to{transform:translate(110%,-110%)}}@keyframes visit-ne-in{0%{transform:translate(-110%,110%)}to{transform:translate(0)}}#project-next,#project-prev{color:#f4f2ee8c;display:grid;font-family:Neue Montreal,Inter,system-ui,sans-serif;font-size:1.25rem;height:40px;line-height:1;opacity:0;place-items:center;pointer-events:none;position:fixed;text-decoration:none;top:50%;transform:translateY(-50%);transition:opacity .35s ease,color .3s ease;width:40px;z-index:15}#project-next:after,#project-prev:after{content:"";inset:-6px;position:absolute}#project-next.is-visible,#project-prev.is-visible{opacity:1;pointer-events:auto;transition-delay:.25s}#project-next:focus-visible,#project-next:hover,#project-prev:focus-visible,#project-prev:hover{color:#f4f2eef2}#project-next:focus-visible,#project-prev:focus-visible{outline:1px solid rgba(244,242,238,.4);outline-offset:4px}#project-next .arrow,#project-prev .arrow{fill:none;height:12px;overflow:visible;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1;width:28px;grid-area:1/1}#project-next .arrow.is-flipped,#project-prev .arrow.is-flipped{transform:scaleX(-1)}#project-next .barb,#project-next .shaft,#project-prev .barb,#project-prev .shaft{stroke-dasharray:1}#project-next .enter .barb,#project-next .enter .shaft,#project-prev .enter .barb,#project-prev .enter .shaft{stroke-dashoffset:1}@media(hover:hover){#project-next:hover .leave,#project-prev:hover .leave{animation:arrow-leave .28s cubic-bezier(.55,0,.75,.2) both}#project-next:hover .leave .shaft,#project-prev:hover .leave .shaft{animation:arrow-erase .28s cubic-bezier(.55,0,.75,.2) both}#project-next:hover .leave .barb,#project-prev:hover .leave .barb{animation:arrow-undraw .28s cubic-bezier(.55,0,.75,.2) both}#project-next:hover .enter .shaft,#project-prev:hover .enter .shaft{animation:arrow-draw .5s cubic-bezier(.22,1,.36,1) .24s both}#project-next:hover .enter .barb,#project-prev:hover .enter .barb{animation:arrow-draw .4s cubic-bezier(.22,1,.36,1) .46s both}}#project-next:focus-visible .leave,#project-prev:focus-visible .leave{animation:arrow-leave .28s cubic-bezier(.55,0,.75,.2) both}#project-next:focus-visible .leave .shaft,#project-prev:focus-visible .leave .shaft{animation:arrow-erase .28s cubic-bezier(.55,0,.75,.2) both}#project-next:focus-visible .leave .barb,#project-prev:focus-visible .leave .barb{animation:arrow-undraw .28s cubic-bezier(.55,0,.75,.2) both}#project-next:focus-visible .enter .shaft,#project-prev:focus-visible .enter .shaft{animation:arrow-draw .5s cubic-bezier(.22,1,.36,1) .24s both}#project-next:focus-visible .enter .barb,#project-prev:focus-visible .enter .barb{animation:arrow-draw .4s cubic-bezier(.22,1,.36,1) .46s both}#project-prev .leave{animation-direction:normal}#project-prev:hover .leave,#project-prev:focus-visible .leave{animation-name:arrow-leave-left}@media(prefers-reduced-motion:reduce){#project-next .barb,#project-next .leave,#project-next .shaft,#project-prev .barb,#project-prev .leave,#project-prev .shaft{animation:none!important}#project-next .enter,#project-prev .enter{display:none}}#project-prev{left:30px}#project-next{right:30px}@media(max-width:768px){#project-next,#project-prev{bottom:calc(18px + env(safe-area-inset-bottom));top:auto;transform:none}#project-prev{left:20px}#project-next{right:20px}}@keyframes arrow-leave{0%{transform:translate(0)}to{transform:translate(10px)}}@keyframes arrow-leave-left{0%{transform:scaleX(-1) translate(0)}to{transform:scaleX(-1) translate(10px)}}@keyframes arrow-erase{0%{stroke-dashoffset:0}to{stroke-dashoffset:-1}}@keyframes arrow-draw{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes arrow-undraw{0%{stroke-dashoffset:0}to{stroke-dashoffset:1}}#about-panel{align-items:center;color:#f4f2ee;display:flex;font-family:Neue Montreal,Inter,system-ui,sans-serif;inset:0;padding:12vh 8vw 14vh;pointer-events:none;position:fixed;visibility:hidden;z-index:12}#about-panel.is-active{visibility:visible}#about-panel.is-live .links a,#about-panel.is-live .links button,#about-panel.is-live .name a{pointer-events:auto}#about-panel.is-live .content{pointer-events:auto;-webkit-user-select:text;-moz-user-select:text;user-select:text}#about-panel .content{display:flex;flex-direction:column;gap:38px;max-width:36.25rem}@media(max-width:768px){#about-panel{align-items:flex-start;overflow-y:auto;padding:calc(72px + env(safe-area-inset-top)) 24px calc(28px + env(safe-area-inset-bottom))}#about-panel .content{gap:28px}#about-panel .bio p{text-wrap:balance}#about-panel .links{flex-wrap:wrap;row-gap:14px}}#about-panel .mask{display:block;overflow:clip}#about-panel .line{display:block}#about-panel .row{display:flex;gap:24px;justify-content:space-between}#about-panel .name{color:#f4f2eeeb;display:inline-block;font-weight:600;letter-spacing:0;line-height:1.2;vertical-align:baseline;visibility:hidden;transform-origin:0 0;will-change:transform}#about-panel .name a{color:inherit;text-decoration:none}#about-panel .name a:focus-visible{outline:none;text-decoration:underline;text-underline-offset:3px}#about-panel .bio{color:#f4f2eeeb;font-size:1.0625rem;letter-spacing:.005em;line-height:1.5;margin:0}#about-panel .bio p{margin:0}#about-panel .bio p+p{margin-top:16px}#about-panel .bio .rest{display:inline}#about-panel .bio a:not(.name a){color:#ffdab0;text-decoration:none;text-decoration-thickness:1px;text-underline-offset:4px}#about-panel .bio a:not(.name a):focus-visible,#about-panel .bio a:not(.name a):hover{text-decoration:underline}#about-panel .awards h2{color:#f4f2ee6b;font-size:.6875rem;font-weight:400;letter-spacing:.12em;margin:0 0 12px;text-transform:uppercase}#about-panel .awards ul{display:flex;flex-direction:column;font-size:.75rem;gap:6px;letter-spacing:.02em;line-height:1.5;list-style:none;margin:0;padding:0}#about-panel .awards li{color:#f4f2eedb;max-width:420px}#about-panel .awards .row{gap:10px;justify-content:flex-start}#about-panel .awards .count{color:#f4f2ee8c;flex:none;font-variant-numeric:tabular-nums;min-width:1.5rem}#about-panel .links{display:flex;font-size:.75rem;gap:22px;letter-spacing:.02em}#about-panel .links .mask{display:inline-block}#about-panel .links .link{background:none;border:none;color:#f4f2eeeb;cursor:pointer;display:inline-block;font:inherit;letter-spacing:inherit;margin:-13px -8px;padding:13px 8px;text-decoration:none;transition:color .25s ease}#about-panel .links .link:focus-visible{outline-offset:-9px}#about-panel .links .link.is-copied,#about-panel .links .link.is-copied .row{border-color:#fff;color:#fff}#about-panel .links .link:hover{color:#fff}#about-panel .links:has(.link:focus-visible) .link:not(:focus-visible),#about-panel .links:has(.link:hover) .link:not(:hover){color:#f4f2ee6b}#about-panel .links .row{border-bottom:1px solid rgba(244,242,238,.35);display:inline-block;padding-bottom:2px;transition:border-color .25s ease}#about-panel .links .link:hover .row{border-color:#fff}body.brand-flipped #about-panel .name{visibility:visible}#sound-toggle{background:none;border:none;bottom:26px;color:#f4f2ee9e;cursor:pointer;display:grid;height:38px;padding:0;place-items:center;position:fixed;right:28px;transition:color .25s ease,border-color .25s ease;width:38px;z-index:15;opacity:0;visibility:hidden}@media(pointer:coarse){#sound-toggle{display:none}}#sound-toggle:after{content:"";inset:-4px;position:absolute}#sound-toggle:hover{border-color:#ffffff80;color:#fff}#sound-toggle svg{fill:none;height:20px;overflow:visible;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5;width:20px}#sound-toggle .cross,#sound-toggle .wave{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset .28s cubic-bezier(.165,.84,.44,1)}#sound-toggle .cross-1{stroke-dashoffset:0;transition-delay:.16s}#sound-toggle .cross-2{stroke-dashoffset:0;transition-delay:.24s}#sound-toggle .wave-1{transition-delay:.06s}#sound-toggle .wave-2{transition-delay:0s}#sound-toggle.is-on .wave{stroke-dashoffset:0;transition-duration:.4s}#sound-toggle.is-on .wave-1{transition-delay:.1s}#sound-toggle.is-on .wave-2{transition-delay:.2s}#sound-toggle.is-on .cross{stroke-dashoffset:1;transition-delay:0s;transition-duration:.16s}#sound-toggle.is-on .speaker{animation:sound-pop-on .42s cubic-bezier(.3,2.2,.45,1)}#sound-toggle .speaker{animation:sound-pop-off .42s cubic-bezier(.3,2.2,.45,1);transform-box:fill-box;transform-origin:60% 50%}@media(prefers-reduced-motion:reduce){#sound-toggle .cross,#sound-toggle .wave{transition:none}#sound-toggle .speaker{animation:none!important}}@keyframes sound-pop-on{0%{transform:scale(.82)}to{transform:scale(1)}}@keyframes sound-pop-off{0%{transform:scale(.82)}to{transform:scale(1)}}#scroll-hint{position:fixed;right:30px;bottom:72px;z-index:14;color:#f4f2ee6b;font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;writing-mode:vertical-rl;opacity:0;transition:opacity .6s ease 1.2s;pointer-events:none}body.stele-ui #scroll-hint{opacity:1}body.has-scrolled #scroll-hint,body.is-open #scroll-hint,body.is-about #scroll-hint{opacity:0;transition-delay:0s}@media(max-width:768px){#scroll-hint{display:none}}#nogl{display:none;position:fixed;inset:0;z-index:20;padding:20vh 8vw;color:#f4f2eeeb;font-size:1rem;line-height:1.6;max-width:40rem}body.stone-off #nogl{display:block}#nogl h1{font-size:1.5rem;font-weight:500;margin-bottom:1rem}#nogl li{padding:10px 0;border-bottom:1px solid rgba(244,242,238,.15)}#nogl li a{color:#ffdab0}.lil-gui{--background-color:#0b0908e6;--widget-color:#1a1512;--hover-color:#2a221c;--focus-color:#3a2d24;--text-color:#f0ebe2;--title-background-color:#140f0c;--number-color:#ffd6b0;--string-color:#ffd6b0;--font-family:Inter,system-ui,sans-serif;--font-size:11px;z-index:40!important}
