@font-face{font-family:Space Mono;src:url(/fonts/space-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/space-mono-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--paper-light: #fff;--ink-light: #000;--grey-light: #e6e6e6;--muted-light: #6b6b6b;--paper-dark: #121212;--ink-dark: #f2f2f2;--grey-dark: #3a3a3a;--muted-dark: #999;--paper: var(--paper-light);--rule: var(--grey-light);--muted: var(--muted-light);--ink: var(--ink-light);--chip-bg: var(--grey-light);--radius: 2px;--accent: var(--ink);--font: "DM Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;--shell: 125rem;--gutter: .188rem;--pad: .5625rem;--chip-pad-y: .58rem;--chip-pad-x: .45rem;--chip-h: calc(var(--chip-pad-y) * 2);--hit-y: 6px;--hit-x: 4px;--text-inset: var(--pad);--play-tile: 8rem;--measure: 62ch;--header-h: calc(var(--pad) + var(--chip-h));--strip-h: calc(var(--pad) * 2 + var(--chip-h));--work-gap: calc(var(--s4) * 1.5);--lede-gap: clamp(var(--pad), 9.4vh, var(--work-gap));--s1: .5rem;--s2: 1rem;--s3: 1.5rem;--s4: 2rem;--s6: 3rem;--s8: 4rem;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in: cubic-bezier(.3, 0, .6, .5);--dur-micro: .12s;--dur-crossfade: .42s;--ease-crossfade: linear;--dur-panel-fade: .26s;--info-col: 44rem;--meta-col: 17rem;--about-w: calc(var(--info-col) + var(--s6) + var(--meta-col));--track-label: .06em;color-scheme:light}html[data-theme=dark]{--paper: var(--paper-dark);--rule: var(--grey-dark);--muted: var(--muted-dark);--ink: var(--ink-dark);--chip-bg: var(--grey-dark);color-scheme:dark}@media(prefers-color-scheme:dark){html:not([data-theme]){--paper: var(--paper-dark);--rule: var(--grey-dark);--muted: var(--muted-dark);--ink: var(--ink-dark);--chip-bg: var(--grey-dark);color-scheme:dark}}@keyframes enter-down{0%{translate:0 -100%;opacity:0}}@keyframes enter-up{0%{translate:0 100%;opacity:0}}@keyframes enter-fade{0%{opacity:.01}}@keyframes exit-up{to{translate:0 -100%;opacity:0}}@view-transition{navigation:auto}::view-transition-old(root){animation:enter-fade .24s var(--ease-in) .28s reverse both}::view-transition-new(root){animation:enter-fade .42s var(--ease-out) .28s both}.is-from-index::view-transition-old(root){animation-delay:0s}.is-from-index::view-transition-new(root){animation-delay:.12s}.is-from-index::view-transition-new(strip){animation-delay:.12s}::view-transition-group(masthead){animation:none}.masthead{view-transition-name:masthead}::view-transition-old(masthead),::view-transition-new(masthead){animation:none;opacity:1}::view-transition-group(masthead){z-index:2}::view-transition-group(strip){z-index:1}.strip{view-transition-name:strip}::view-transition-old(strip){animation:exit-up .28s var(--ease-in) both}::view-transition-new(strip){animation:enter-down .48s var(--ease-out) .28s both}@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}@media(prefers-reduced-motion:no-preference){.masthead{animation:enter-down .7s var(--ease-out) both}.register,.about,.case,.case__foot,.colophon,.lede p+p{animation:enter-fade .8s var(--ease-out) .16s both}.strip{animation:enter-down .7s var(--ease-out) .16s both}.ring__viewport{animation:enter-fade 1.2s var(--ease-out) .52s both}.has-vt.is-internal .masthead{animation:none}.has-vt.is-internal .strip,.has-vt.is-internal .register,.has-vt.is-internal .about,.has-vt.is-internal .case,.has-vt.is-internal .case__foot,.has-vt.is-internal .colophon,.has-vt.is-internal .lede p+p{animation:none}.is-leaving .strip{animation:exit-up .28s var(--ease-in) both}.is-intro .masthead,.is-intro .ring__viewport,.is-intro .strip,.is-intro .lede p+p{animation-play-state:paused}}*,*:before,*:after{box-sizing:border-box}html,body{overflow-x:clip}html{-webkit-text-size-adjust:100%;scroll-padding-block-start:var(--header-h)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:1rem;font-weight:500;line-height:1.55;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.prose a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em;transition:text-decoration-thickness var(--dur-micro) var(--ease-out)}.prose a:hover{text-decoration-thickness:2px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.shell{max-width:var(--shell);margin-inline:auto;padding-inline:var(--gutter)}.prose{max-width:var(--measure)}.register__empty{padding-inline:var(--text-inset)}.prose>:first-child{margin-top:0}.prose>:last-child{margin-bottom:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:fixed;left:var(--gutter);top:var(--s2);z-index:30;background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);padding:var(--s1) var(--s2);font-size:.875rem;transform:translateY(-300%);transition:transform var(--dur-micro) var(--ease-out)}.skip:focus{transform:translateY(0)}.pill{position:relative;font-family:inherit;--face: var(--ink);--text: var(--paper);--face-alt: var(--chip-bg);--text-alt: var(--ink);display:inline-flex;align-items:flex-end;border:0;border-radius:var(--radius);background:var(--face);color:var(--text);padding:var(--chip-pad-y) var(--chip-pad-x);font-size:.6875rem;font-weight:500;letter-spacing:.03em;line-height:0;white-space:nowrap}.count,.fact__label{font-size:.72em;letter-spacing:var(--track-label)}.count{line-height:0;align-self:flex-start;translate:0 -.15em;margin-inline-start:.2em;letter-spacing:var(--track-label)}.masthead__inner,.strip,.ring__controls,.ring__track,.image-strip,.project-meta,.case__facts{overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;touch-action:pan-x pan-y}.is-drag-scrolling{user-select:none;-webkit-user-select:none}.masthead__inner::-webkit-scrollbar,.strip::-webkit-scrollbar,.ring__controls::-webkit-scrollbar,.ring__track::-webkit-scrollbar,.image-strip::-webkit-scrollbar,.project-meta::-webkit-scrollbar,.case__facts::-webkit-scrollbar{display:none}.masthead{position:fixed;inset-block-start:0;inset-inline:0;z-index:20;block-size:var(--header-h);display:flex;align-items:start;padding-block-start:var(--pad);background:var(--paper)}.masthead__inner{inline-size:100%;display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:var(--gutter);padding-block:var(--hit-y);padding-inline:var(--pad);margin-block:calc(var(--hit-y) * -1)}.masthead__centre{justify-self:center}.masthead__end{justify-self:end;display:flex;align-items:start;gap:var(--gutter)}.chip.connect__toggle{display:none}.connect__clip{display:contents}@media(max-width:64rem){.connect{display:flex}.has-script .connect__toggle{display:inline-flex}.has-script .connect__clip{display:block;position:absolute;inset-inline:0;inset-block-start:100%;block-size:var(--strip-h);overflow:hidden;pointer-events:none}.has-script .connect__list{display:flex;justify-content:flex-end;padding:var(--pad) var(--text-inset);background:var(--paper);pointer-events:auto;translate:0 -100%;opacity:0;visibility:hidden;transition:translate .32s var(--ease-in),opacity .32s var(--ease-in),visibility 0s linear .32s}.has-script .connect__toggle[aria-expanded=true]~.connect__clip .connect__list{translate:0 0;opacity:1;visibility:visible;transition:translate .32s var(--ease-out),opacity .32s var(--ease-out),visibility 0s}}.chip.chip--theme{align-items:center;justify-content:center;padding:0;block-size:var(--chip-h);inline-size:var(--chip-h)}.chip__sun,.chip__moon{flex:0 0 auto;border-radius:50%;background:currentColor}.chip__sun{--ray: .235rem;--ray-size: -.115rem;inline-size:.325rem;block-size:.325rem;box-shadow:0 calc(var(--ray) * -1) 0 var(--ray-size) currentColor,0 var(--ray) 0 var(--ray-size) currentColor,calc(var(--ray) * -1) 0 0 var(--ray-size) currentColor,var(--ray) 0 0 var(--ray-size) currentColor,calc(var(--ray) * -.72) calc(var(--ray) * -.72) 0 var(--ray-size) currentColor,calc(var(--ray) * .72) calc(var(--ray) * -.72) 0 var(--ray-size) currentColor,calc(var(--ray) * -.72) calc(var(--ray) * .72) 0 var(--ray-size) currentColor,calc(var(--ray) * .72) calc(var(--ray) * .72) 0 var(--ray-size) currentColor}.chip__moon{display:none;inline-size:.55rem;block-size:.55rem;translate:.091rem -.048rem;background:radial-gradient(circle at 118% 12%,transparent 0 52%,currentColor 54%)}html[data-theme=dark] .chip__sun{display:none}html[data-theme=dark] .chip__moon{display:block}.chip__caret{flex:0 0 auto;inline-size:.5rem;block-size:.3rem;background:currentColor;clip-path:polygon(0 0,100% 0,50% 100%);translate:0 calc(.3rem / 6)}.nav{display:flex;align-items:start;gap:var(--gutter)}.chip{position:relative;font-family:inherit;--face: var(--ink);--text: var(--paper);--face-alt: var(--chip-bg);--text-alt: var(--ink);display:inline-flex;align-items:flex-end;border:0;border-radius:var(--radius);background:var(--face);color:var(--text);padding:var(--chip-pad-y) var(--chip-pad-x);font-size:.6875rem;font-weight:500;letter-spacing:.03em;line-height:0;text-decoration:none;white-space:nowrap;transition:background-color .2s ease-in-out,color .2s ease-in-out}@media(hover:hover){a.chip:hover,button.chip:hover,summary.chip:hover,a.pill:hover,button.pill:hover,summary.pill:hover{background:var(--face-alt);color:var(--text-alt)}}a.chip:active,button.chip:active,summary.chip:active,a.pill:active,button.pill:active,summary.pill:active{background:var(--face-alt);color:var(--text-alt)}.pill--filled,.connect__toggle[aria-expanded=true],.chip[aria-current=page],.chip--case,.strip .chip[aria-pressed=true],.expand[open]>summary{--face: var(--chip-bg);--text: var(--ink);--face-alt: var(--ink);--text-alt: var(--paper)}a.chip,button.chip,summary.chip,a.pill,button.pill,summary.pill{touch-action:pan-x pan-y;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}a.chip:after,button.chip:after,summary.chip:after,a.pill:after,button.pill:after,summary.pill:after{content:"";position:absolute;inset:calc(var(--hit-y) * -1) calc(var(--hit-x) * -1)}.chip--clock{font-variant-numeric:tabular-nums}@media(max-width:64rem){.chip--clock{display:none}}.masthead__left{display:flex;align-items:center;gap:var(--gutter)}.is-split .word{display:inline-block;white-space:nowrap}.is-split .char{display:inline-block;white-space:pre;opacity:0;translate:0 .5em;animation:char-in .42s var(--ease-out) forwards;animation-delay:calc(var(--i) * var(--stagger, 8ms))}@keyframes char-in{to{opacity:1;translate:0 0}}@media(prefers-reduced-motion:reduce){.is-split .char{opacity:1;translate:0 0;animation:none}}main{padding-block-start:var(--header-h)}.plus-list,.entries{list-style:none;margin:0;padding:0}.plus-list>li:before{content:"+" / "";color:var(--muted);margin-inline-end:var(--s1)}.has-script .ring-stage:not(.is-ready){visibility:hidden}.ring-stage .ring__hero{transition:opacity .7s var(--ease-out)}.ring-stage.is-spinning .ring__hero,.ring-stage.is-spinning .ring__controls{opacity:0;transition:none}.ring__controls{transition:opacity .7s var(--ease-out) .2s}.is-intro .ring__hero,.is-intro .ring__controls{opacity:0;transition:none}.ring-stage.is-spinning .ring__item{transition:none}.ring-stage{flex:1;display:flex;flex-direction:column;padding-block:calc(var(--lede-gap) * .667) 0}.ring-stage>.ring__viewport{flex:1}.ring__track{list-style:none;margin:0;padding:0 var(--gutter);display:flex;gap:var(--s1)}.ring__item{flex:0 0 18rem}.ring__item,.ring__hero-item{display:flex;align-items:center;justify-content:center}.ring__item img,.ring__hero-item img{inline-size:var(--iw, 100%);block-size:var(--ih, 100%);object-fit:contain}.ring__controls .chip{transition:opacity .17s linear}.ring__controls.is-swapping .chip{opacity:0}.ring__controls{display:flex;flex-wrap:nowrap;justify-content:safe center;align-items:start;gap:var(--gutter);inline-size:100%;padding:var(--hit-y) var(--text-inset);margin-block:calc(var(--pad) - var(--hit-y)) calc(var(--hit-y) * -1);position:sticky;inset-block-end:calc(var(--pad) - var(--hit-y));z-index:5}.ring__controls>.chip{flex:0 0 auto}.ring__btn{position:absolute;inline-size:1px;block-size:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;font-family:inherit}.ring__btn:focus-visible{position:static;inline-size:auto;block-size:auto;padding:var(--chip-pad-y) var(--chip-pad-x);overflow:visible;clip-path:none}.ring-stage.is-ready{--item-w: clamp(8rem, 14.7vw, 16rem);--step: calc(360deg / var(--count));--ring-spread: 2.2;--ring-tilt: 0deg;--hero-w: clamp(19.5rem, 57vw, 48rem);--hero-size: min(var(--hero-w), 64svh);--ring-cap: 40vw;--ring-radius: 40rem;--raster: 1.6}@supports (width: calc(1px*tan(45deg))){.ring-stage.is-ready{--ring-radius: min( calc( (var(--item-w) / 2 + var(--s2)) / tan(180deg / var(--count)) * var(--ring-spread) ), var(--ring-cap) )}}.ring-stage.is-ready .ring__viewport{position:relative;min-block-size:clamp(17rem,54vh,34rem);display:flex;align-items:center;perspective:1600px;overflow:hidden}.ring-stage.is-ready .ring__track{position:absolute;inset:0;display:block;padding:0;overflow:visible;transform-style:preserve-3d;transform:rotateX(calc(var(--tilt, var(--ring-tilt)) * -1)) rotateY(calc(var(--turn, 0) * -1 * var(--step) + var(--sway, 0deg)))}.ring-stage.is-ready .ring__item{position:absolute;inset-inline-start:50%;inset-block-start:50%;inline-size:calc(var(--item-w) * var(--raster));block-size:calc(var(--item-w) * var(--raster));margin-inline-start:calc(var(--item-w) * var(--raster) / -2);margin-block-start:calc(var(--item-w) * var(--raster) / -2);transform:rotateY(calc(var(--n) * var(--step))) translateZ(var(--ring-radius)) scale(calc(var(--scale, 1) / var(--raster)));transition:transform .42s var(--ease-out)}@media(max-width:64rem){.ring-stage.is-ready{--item-w: clamp(4.7rem, 22.7vw, 7.35rem);--hero-w: calc(48vw + 5.9rem) ;--ring-spread: 3.5;--ring-cap: calc(48.6vw - .55rem) }.ring-stage.is-ready .ring__viewport{min-block-size:clamp(13rem,38vh,22rem)}}.ring__hero{display:none}.ring-stage.is-ready .ring__hero{display:block;position:absolute;inset-inline-start:50%;inset-block-start:50%;inline-size:var(--hero-size);block-size:var(--hero-size);margin-inline-start:calc(var(--hero-size) / -2);margin-block-start:calc(var(--hero-size) / -2);isolation:isolate;transform:rotateY(calc(var(--turn, 0) * var(--step) - var(--sway, 0deg))) rotateX(var(--tilt, var(--ring-tilt)))}.ring__hero-item{position:absolute;inset:0;opacity:0;visibility:hidden;mix-blend-mode:plus-lighter;transition:opacity var(--dur-crossfade) var(--ease-crossfade),visibility var(--dur-crossfade)}.ring__hero-item.is-active{opacity:1;visibility:visible}picture{display:contents}.slide[data-dormant],.ring__hero-item[data-dormant]{display:none}.ring-stage.is-ready .ring__viewport{touch-action:none;user-select:none;-webkit-user-select:none}.ring__viewport img{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;pointer-events:none}.ring-stage.is-ready .ring__item{pointer-events:none}.ring-stage.is-ready .ring__hero{pointer-events:auto}.ring-stage.is-ready.is-dragging .ring__viewport{user-select:none}@media(prefers-reduced-motion:reduce){.ring-stage.is-ready .ring__track,.ring-stage.is-ready .ring__item{transition:none}}.landing{display:flex;flex-direction:column;justify-content:space-between;min-block-size:calc(100svh - var(--header-h));padding-block-end:var(--pad)}.lede{inline-size:100%;margin-inline:auto;padding:calc(var(--strip-h) + var(--lede-gap)) var(--text-inset) 0;font-size:1rem;line-height:1.5;letter-spacing:0;text-align:center}.about>.lede{padding-block-start:var(--lede-gap)}.lede p{margin:0 0 .9em}.lede p:last-child{margin-bottom:0}.strip{position:sticky;inset-block-start:var(--header-h);z-index:15;background:var(--paper);display:flex;flex-wrap:wrap;justify-content:safe center;align-items:start;gap:var(--gutter);padding:var(--pad) var(--text-inset) var(--pad);min-block-size:var(--strip-h)}@media(max-width:64rem){.strip{flex-wrap:nowrap}.strip .chip{flex:0 0 auto}}[data-filter-target]{transition:opacity var(--dur-panel-fade) var(--ease-out)}[data-filter-target].is-filtering{opacity:0}@media(prefers-reduced-motion:reduce){[data-filter-target]{transition:none}}.projects{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--work-gap);padding-block:var(--work-gap) var(--pad)}.project,.project__link{min-inline-size:0}.project__link{display:block;text-decoration:none}.project__index .pill{font-variant-numeric:tabular-nums}@media(hover:hover)and (pointer:fine){.project:hover .fact--title .pill{background:var(--face-alt);color:var(--text-alt)}}.image-strip{display:flex;gap:var(--gutter);block-size:clamp(14.4rem,41.4vh,28.8rem);justify-content:safe center;padding-inline:var(--text-inset)}.image-item{flex:0 0 auto;block-size:100%;display:block;text-decoration:none}.image-item img,.image-item video{block-size:100%;inline-size:auto;max-inline-size:none;object-fit:cover}.image-item video{pointer-events:none}.project-meta{display:flex;flex-wrap:nowrap;align-items:center;justify-content:safe center;gap:var(--gutter) var(--s2);padding:0 var(--text-inset) var(--s1);font-size:.6875rem;letter-spacing:.012em;line-height:1.3}.project-meta>.fact{flex:0 0 auto}.fact{display:inline-flex;align-items:center;gap:.4em}.fact__label{color:var(--muted);align-self:flex-end;translate:0 .06em}.about{padding:0 var(--text-inset) calc(var(--strip-h) + var(--pad));font-size:.6875rem;letter-spacing:.012em;line-height:1.45}.about__cols{max-inline-size:var(--about-w);margin-inline:auto;margin-block-start:var(--s8);display:flex;flex-wrap:wrap;justify-content:center;align-items:start;gap:var(--s6)}.meta{flex:0 1 var(--meta-col);display:grid;gap:var(--s4);align-content:start}.body-text{flex:0 1 var(--info-col);min-inline-size:0}@media(max-width:64rem){.meta,.body-text{flex:1 1 100%;inline-size:100%;max-inline-size:none;margin-inline:0}.about__cols{gap:var(--s4)}}.meta-label{display:block;font-weight:700;padding-block-end:.3rem;margin-block-end:.5rem;border-block-end:1px solid var(--ink)}.meta-label--spaced{margin-block-start:var(--s4)}.meta-list{list-style:none;margin:0;padding:var(--s2) 0 0;display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem;justify-items:start}.meta-dim{color:var(--muted)}.entry{border-block-end:1px solid var(--rule);padding-block:var(--s2)}.entries>.entry:last-child{padding-block-end:0;border-block-end:0}.entry__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);flex-wrap:wrap}.entry__role{font-weight:700}.entry__dates{color:var(--muted);white-space:nowrap}.entry__org{color:var(--muted)}.entry__body{margin-block-start:.5rem;max-inline-size:45rem}.entry__body p{margin:0}.colophon{display:flex;align-items:center;justify-content:center;gap:.4em;position:fixed;inset-inline:0;inset-block-end:0;z-index:10;margin:0;padding:var(--pad);background:var(--paper);text-align:center;font-size:.6875rem;letter-spacing:.03em;line-height:1;color:var(--muted)}.colophon .pill{font-size:inherit;letter-spacing:inherit}@media(hover:hover)and (pointer:fine){:root{cursor:url(/cursors/rest.png?v=7cf28e74) 16 16,auto;cursor:-webkit-image-set(url(/cursors/rest.png?v=7cf28e74) 1x,url(/cursors/rest@2x.png?v=7cf28e74) 2x) 16 16,auto;cursor:image-set(url(/cursors/rest.png?v=7cf28e74) 1x,url(/cursors/rest@2x.png?v=7cf28e74) 2x) 16 16,auto}a[href],button,summary,[role=button],label,.ring__item{cursor:url(/cursors/select.png?v=7cf28e74) 16 16,pointer;cursor:-webkit-image-set(url(/cursors/select.png?v=7cf28e74) 1x,url(/cursors/select@2x.png?v=7cf28e74) 2x) 16 16,pointer;cursor:image-set(url(/cursors/select.png?v=7cf28e74) 1x,url(/cursors/select@2x.png?v=7cf28e74) 2x) 16 16,pointer}.stage__step--prev{cursor:url(/cursors/prev.png?v=7cf28e74) 16 16,w-resize;cursor:-webkit-image-set(url(/cursors/prev.png?v=7cf28e74) 1x,url(/cursors/prev@2x.png?v=7cf28e74) 2x) 16 16,w-resize;cursor:image-set(url(/cursors/prev.png?v=7cf28e74) 1x,url(/cursors/prev@2x.png?v=7cf28e74) 2x) 16 16,w-resize}.stage__step--next{cursor:url(/cursors/next.png?v=7cf28e74) 16 16,e-resize;cursor:-webkit-image-set(url(/cursors/next.png?v=7cf28e74) 1x,url(/cursors/next@2x.png?v=7cf28e74) 2x) 16 16,e-resize;cursor:image-set(url(/cursors/next.png?v=7cf28e74) 1x,url(/cursors/next@2x.png?v=7cf28e74) 2x) 16 16,e-resize}.ring-stage.is-ready .ring__viewport,.ring-stage.is-ready.is-dragging .ring__viewport{cursor:url(/cursors/select.png?v=7cf28e74) 16 16,grab;cursor:-webkit-image-set(url(/cursors/select.png?v=7cf28e74) 1x,url(/cursors/select@2x.png?v=7cf28e74) 2x) 16 16,grab;cursor:image-set(url(/cursors/select.png?v=7cf28e74) 1x,url(/cursors/select@2x.png?v=7cf28e74) 2x) 16 16,grab}.chip--clock{cursor:url(/cursors/rest.png?v=7cf28e74) 16 16,default;cursor:-webkit-image-set(url(/cursors/rest.png?v=7cf28e74) 1x,url(/cursors/rest@2x.png?v=7cf28e74) 2x) 16 16,default;cursor:image-set(url(/cursors/rest.png?v=7cf28e74) 1x,url(/cursors/rest@2x.png?v=7cf28e74) 2x) 16 16,default}.slide video{cursor:auto}}@media(hover:hover)and (pointer:fine){html[data-theme=dark]{cursor:url(/cursors/rest-dark.png?v=7cf28e74) 16 16,auto;cursor:-webkit-image-set(url(/cursors/rest-dark.png?v=7cf28e74) 1x,url(/cursors/rest-dark@2x.png?v=7cf28e74) 2x) 16 16,auto;cursor:image-set(url(/cursors/rest-dark.png?v=7cf28e74) 1x,url(/cursors/rest-dark@2x.png?v=7cf28e74) 2x) 16 16,auto}html[data-theme=dark] a[href],html[data-theme=dark] button,html[data-theme=dark] summary,html[data-theme=dark] [role=button],html[data-theme=dark] label,html[data-theme=dark] .ring__item{cursor:url(/cursors/select-dark.png?v=7cf28e74) 16 16,pointer;cursor:-webkit-image-set(url(/cursors/select-dark.png?v=7cf28e74) 1x,url(/cursors/select-dark@2x.png?v=7cf28e74) 2x) 16 16,pointer;cursor:image-set(url(/cursors/select-dark.png?v=7cf28e74) 1x,url(/cursors/select-dark@2x.png?v=7cf28e74) 2x) 16 16,pointer}html[data-theme=dark] .stage__step--prev{cursor:url(/cursors/prev-dark.png?v=7cf28e74) 16 16,w-resize;cursor:-webkit-image-set(url(/cursors/prev-dark.png?v=7cf28e74) 1x,url(/cursors/prev-dark@2x.png?v=7cf28e74) 2x) 16 16,w-resize;cursor:image-set(url(/cursors/prev-dark.png?v=7cf28e74) 1x,url(/cursors/prev-dark@2x.png?v=7cf28e74) 2x) 16 16,w-resize}html[data-theme=dark] .stage__step--next{cursor:url(/cursors/next-dark.png?v=7cf28e74) 16 16,e-resize;cursor:-webkit-image-set(url(/cursors/next-dark.png?v=7cf28e74) 1x,url(/cursors/next-dark@2x.png?v=7cf28e74) 2x) 16 16,e-resize;cursor:image-set(url(/cursors/next-dark.png?v=7cf28e74) 1x,url(/cursors/next-dark@2x.png?v=7cf28e74) 2x) 16 16,e-resize}html[data-theme=dark] .ring-stage.is-ready .ring__viewport,html[data-theme=dark] .ring-stage.is-dragging .ring__viewport{cursor:url(/cursors/select-dark.png?v=7cf28e74) 16 16,grab;cursor:-webkit-image-set(url(/cursors/select-dark.png?v=7cf28e74) 1x,url(/cursors/select-dark@2x.png?v=7cf28e74) 2x) 16 16,grab;cursor:image-set(url(/cursors/select-dark.png?v=7cf28e74) 1x,url(/cursors/select-dark@2x.png?v=7cf28e74) 2x) 16 16,grab}html[data-theme=dark] .chip--clock{cursor:url(/cursors/rest-dark.png?v=7cf28e74) 16 16,default;cursor:-webkit-image-set(url(/cursors/rest-dark.png?v=7cf28e74) 1x,url(/cursors/rest-dark@2x.png?v=7cf28e74) 2x) 16 16,default;cursor:image-set(url(/cursors/rest-dark.png?v=7cf28e74) 1x,url(/cursors/rest-dark@2x.png?v=7cf28e74) 2x) 16 16,default}}.case{display:flex;flex-direction:column;align-items:center;gap:var(--pad);block-size:calc(100svh - var(--header-h) - var(--strip-h));padding-block-end:var(--pad)}.case--bare{block-size:calc(100svh - var(--header-h));padding-block-start:var(--pad)}.stage--scatter{display:block;position:relative}.scatter{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;gap:var(--gutter);block-size:100%;padding-inline:var(--text-inset);overflow-y:auto;touch-action:pan-y}.scatter.is-ready{touch-action:none}.tile{margin:0}.scatter:not(.is-ready) .tile img{inline-size:auto;block-size:auto;max-inline-size:min(18rem,42vw);max-block-size:38vh}.scatter.is-ready{display:block;position:absolute;inset-block:0;inset-inline:var(--text-inset);padding:0;overflow:clip}.scatter.is-ready .tile{position:absolute;inset-inline-start:0;inset-block-start:0;inline-size:var(--play-tile);block-size:var(--play-tile);display:flex;align-items:center;justify-content:center;touch-action:none;user-select:none;-webkit-user-select:none}.scatter.is-ready .tile img{-webkit-user-drag:none}.scatter.is-ready .tile:focus-visible{outline:none}.scatter.is-ready .tile:focus-visible img{outline:2px solid var(--accent);outline-offset:3px}.scatter.is-ready .tile img{inline-size:var(--iw, 100%);block-size:var(--ih, 100%);object-fit:contain;max-inline-size:none;max-block-size:none}.scatter.is-ready .tile.is-filling img{inline-size:100%;block-size:100%}.has-script:not([data-back]) .strip--back{display:none}.has-script:not([data-back]) .strip--back+.case{block-size:calc(100svh - var(--header-h));padding-block-start:var(--pad)}.stage{position:relative;display:flex;align-items:center;justify-content:center;flex:1;min-block-size:0;inline-size:100%;isolation:isolate;padding:0;touch-action:none}.stage__step{position:absolute;inset-block:0;inline-size:50%;z-index:1;border:0;padding:0;background:none;font:inherit;color:inherit;touch-action:none;-webkit-tap-highlight-color:transparent}.stage__step--prev{inset-inline-start:0}.stage__step--next{inset-inline-end:0}.slide video{position:relative;z-index:2;cursor:auto;pointer-events:auto}.slide--video,.slide--motion{z-index:2;pointer-events:none}.slide video::cue{font-family:var(--font);font-size:1.15em;line-height:1.45;background:#000000bd;color:#fff}.stage--all .stage__canvas{display:block;overflow-y:auto;touch-action:pan-y}.has-script .stage--all .stage__canvas{touch-action:none}.stage--all .slide{position:static;inset:auto;opacity:1;visibility:visible;mix-blend-mode:normal;margin-block-end:var(--gutter)}.stage--all .slide img,.stage--all .slide video{inline-size:100%;block-size:auto;max-inline-size:none;max-block-size:none}.has-script .stage--all:not(.is-grid){visibility:hidden}.stage.is-zoomed{overflow:hidden}.stage .slide img,.stage .slide video{transform-origin:center;transition:transform var(--dur-crossfade) var(--ease-out)}.stage.is-tracking .slide img,.stage.is-tracking .slide video{transition:none}@media(prefers-reduced-motion:reduce){.stage .slide img,.stage .slide video{transition:none}}.stage.is-zoomed .stage__step{display:none}.stage__canvas{position:absolute;inset:0;transform-origin:center;transition:transform var(--dur-crossfade) var(--ease-out)}.stage.is-tracking .stage__canvas,.stage.is-tracking .scatter{transition:none}.scatter{transform-origin:center;transition:transform var(--dur-crossfade) var(--ease-out)}@media(prefers-reduced-motion:reduce){.stage__canvas,.scatter{transition:none}}:root,.masthead,.strip,.colophon{touch-action:pan-x pan-y}.stage.is-grid .stage__canvas{display:flex;flex-wrap:wrap;justify-content:center;align-content:center;align-items:center;gap:var(--gutter);padding-inline:var(--text-inset);overflow:hidden}.stage.is-grid .slide{flex:0 0 auto;margin:0}.stage.is-grid .slide{position:static;inset:auto;opacity:1;visibility:visible;pointer-events:auto;mix-blend-mode:normal;transition:none}.stage.is-grid .slide img,.stage.is-grid .slide video{inline-size:100%;block-size:100%;max-inline-size:none;max-block-size:none;object-fit:cover}.stage.is-grid .slide video{pointer-events:none}.stage.is-grid .stage__step{display:none}.stage{transition:opacity var(--dur-panel-fade) var(--ease-out)}.stage.is-swapping{opacity:0}.stage.is-swapping .slide{transition:none}@media(prefers-reduced-motion:reduce){.stage{transition:none}}.slide{margin:0;display:flex;align-items:center;justify-content:center;position:absolute;inset-block:0;inset-inline:var(--text-inset);min-inline-size:0;opacity:0;visibility:hidden;mix-blend-mode:plus-lighter;transition:opacity var(--dur-crossfade) var(--ease-crossfade),visibility 0s linear var(--dur-crossfade)}.slide:not([hidden]){opacity:1;visibility:visible;transition:opacity var(--dur-crossfade) var(--ease-crossfade),visibility 0s}.slide img{inline-size:100%;block-size:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.slide video{max-block-size:100%;max-inline-size:100%;inline-size:auto;block-size:auto;user-select:none;-webkit-user-drag:none}.slide--motion video{inline-size:100%;block-size:100%;max-inline-size:none;max-block-size:none;object-fit:contain;pointer-events:none;cursor:inherit}.case__foot{position:sticky;inset-block-end:var(--pad);margin-block-start:auto;z-index:5;background:var(--paper);display:flex;flex-direction:column;align-items:center;gap:var(--pad);inline-size:100%}.expand{position:static;display:flex;line-height:0}.expand>summary{display:inline-flex;align-items:center;justify-content:center;padding:0;block-size:var(--chip-h);inline-size:var(--chip-h);line-height:0;list-style:none}.zoom-step{display:inline-flex;align-items:center;justify-content:center;padding:0;block-size:var(--chip-h);inline-size:var(--chip-h);line-height:0}.zoom-step[hidden]{display:none}.zoom-step__mark{position:relative;inline-size:.5rem;block-size:.5rem}.zoom-step__mark:before,.zoom-step__mark:after{content:"";position:absolute;background:currentColor}.zoom-step__mark:before{inset-inline:0;inset-block-start:calc(50% - 1px);block-size:2px}.zoom-step__mark:after{inset-block:0;inset-inline-start:calc(50% - 1px);inline-size:2px}.zoom-step__mark--out:after{display:none}.zoom-step:disabled{opacity:.45;pointer-events:none}.case__controls{display:flex;align-items:center;gap:var(--gutter)}.case__controls [data-zoom-in]:not(:first-child){margin-inline-start:calc(var(--chip-h) - var(--gutter))}.case__view{display:inline-flex;align-items:center;justify-content:center;padding:0;block-size:var(--chip-h);inline-size:var(--chip-h);line-height:0}.case__view-mark{inline-size:.5rem;block-size:.5rem;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-size:36% 36%;background-position:0 0,100% 0,0 100%,100% 100%;background-repeat:no-repeat;transition:background-size var(--dur-micro) linear,background-position var(--dur-micro) linear}.case__view[aria-pressed=true] .case__view-mark{background-size:100% 100%;background-position:0 0,0 0,0 0,0 0}.case__view .case__view-one,.case__view[aria-pressed=true] .case__view-grid{display:none}.case__view[aria-pressed=true] .case__view-one{display:inline}.expand__mark{position:relative;inline-size:.5rem;block-size:.5rem}.expand__mark:before,.expand__mark:after{content:"";position:absolute;background:currentColor;transition:inset-block-start var(--dur-micro) linear,inset-inline-start var(--dur-micro) linear,inline-size var(--dur-micro) linear,block-size var(--dur-micro) linear,border-radius var(--dur-micro) linear,rotate var(--dur-micro) linear}.expand__mark:before{inset-inline-start:calc(50% - 1.15px);inset-block-start:0;inline-size:2.3px;block-size:2.3px;border-radius:50%}.expand__mark:after{inset-inline-start:calc(50% - 1px);inset-block-start:3.5px;inline-size:2px;block-size:4.5px}.expand[open] .expand__mark:before,.expand[open] .expand__mark:after{inset-inline-start:0;inset-block-start:calc(50% - 1px);inline-size:100%;block-size:2px;border-radius:0}.expand[open] .expand__mark:before{rotate:45deg}.expand[open] .expand__mark:after{rotate:-45deg}.expand__hide,.expand[open] .expand__show{visibility:hidden}.expand[open] .expand__hide{visibility:visible}.expand>summary::-webkit-details-marker{display:none}.note{margin:0;inline-size:min(45rem,88vw);padding:var(--pad);background:var(--paper);border:1px solid var(--ink);border-radius:var(--radius);font-size:.6875rem;line-height:1.45;letter-spacing:.012em;text-align:center}.expand::details-content{content-visibility:visible;block-size:auto}.expand__body{display:block;content-visibility:visible;position:absolute;inset-block-end:calc(100% + var(--pad));inset-inline-start:50%;translate:-50% 0;opacity:0;visibility:hidden;transition:opacity var(--dur-panel-fade) var(--ease-crossfade),visibility 0s linear var(--dur-panel-fade)}.expand[open] .expand__body{opacity:1;visibility:visible;transition:opacity var(--dur-panel-fade) var(--ease-crossfade),visibility 0s}.detail{margin:0;display:grid;gap:.35rem;text-align:center}.note p+.detail,.note>:not(.detail)+.detail{margin-block-start:.9em;padding-block-start:.9em;border-block-start:1px solid var(--rule)}.detail__row{display:grid;grid-template-columns:minmax(0,1fr);gap:0}.detail__row+.detail__row{margin-block-start:.35rem}.detail__label{color:var(--muted)}.detail__value{margin:0}.note p{margin:0 0 .9em}.note p:last-child{margin-block-end:0}.expand__body p:last-child{margin-bottom:0}.case__facts{font-size:.6875rem;letter-spacing:.012em;list-style:none;display:flex;flex-wrap:nowrap;justify-content:safe center;align-items:start;inline-size:100%;gap:var(--gutter) var(--s2);margin:calc(var(--hit-y) * -1) 0;padding:var(--hit-y) var(--text-inset)}.case__facts>li{display:flex;align-items:start;flex:0 0 auto}.case__facts>li.fact{align-items:center}@media(max-width:64rem){.about>.lede{padding-inline:0}.project-meta,.image-strip{justify-content:flex-start}.case__foot{padding-inline:var(--text-inset)}.case__facts{justify-content:safe center;inline-size:calc(100% + var(--text-inset) * 2);margin-inline:calc(var(--text-inset) * -1);padding-inline:var(--text-inset)}.note{inline-size:100%}.expand__body{inset-inline:var(--text-inset);inline-size:auto;translate:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
