html{font-size:1.44vmin}:root{--ratio: tan(atan2(100vh, 100vw));--portrait: clamp(0, calc((var(--ratio) - 1) / .7778), 1);--weight: calc(9 + 5 * var(--portrait));--mobile-scale: 1;--pad-scale: 1;--body-size: 1.1rem;--fit-base: 4.5rem}html{font-size:calc(var(--base-size, max(3.2px, 1vmin * .16 * var(--weight))) * var(--mobile-scale))}@media(min-aspect-ratio:4/5)and (max-height:500px){:root{--weight: 18}}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){:root{--mobile-scale: 1.5;--pad-scale: .9;--body-size: .85rem;--fit-base: 6.7rem}}:root{--bg: #cccccc;--fg: #000000;--white: #ffffff;--panel: #f9f9f9;--rule: rgba(0, 0, 0, .85);--border: rgba(0, 0, 0, .15);--pad: calc(.75rem * var(--pad-scale));--gutter: calc(1rem * var(--pad-scale));--body-lh: 1.15;--ease-cargo: cubic-bezier(.24, 1, .29, 1);--ease-slide: cubic-bezier(.24, 0, .29, 1);--nav-size: 30px;--nav-inset: 15px;--nav-bg: rgba(87, 87, 87, .35);--nav-icon: rgba(255, 255, 255, .9)}@font-face{font-family:Diatype Variable;src:url(/fonts/ABCDiatypePlusVariable.woff2) format("woff2");font-weight:100 700;font-style:normal;font-display:block;ascent-override:96.8%;descent-override:35.8%;line-gap-override:0%}@font-face{font-family:Diatype Mono;src:url(/fonts/ABCDiatypeMono-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:block;ascent-override:96.8%;descent-override:35.8%;line-gap-override:0%}.mono{font-family:Diatype Mono,ui-monospace,monospace;font-weight:700;letter-spacing:0}.text-button{font:inherit;line-height:inherit;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;white-space:nowrap}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100svh}body{background:var(--bg);color:var(--fg);font-family:Diatype Variable,Helvetica,Arial,sans-serif;font-weight:700;font-size:var(--body-size);line-height:var(--body-lh);font-variation-settings:"MONO" 0;overflow-wrap:break-word}html:not(.fonts-ready) body{opacity:0}a{color:inherit;text-decoration:none}a:active,.linked:active{opacity:.7}hr{background:var(--rule);border:0;height:1px;display:block;margin:.5rem 0 .75rem}h1{font-weight:450;margin:0;font-size:calc(var(--fit-base) * var(--font-scale, 1));line-height:.5;letter-spacing:-.068em;display:inline-block;color:var(--fg)}h1.fit-text{white-space:nowrap;max-width:100%}h2{font-weight:700;margin:0;font-size:1.65rem;line-height:1.15;letter-spacing:-.003em;color:var(--fg)}.bodycopy-link,.bodycopy-link a{color:var(--white)}.bodycopy-link{display:block}.white{color:var(--white)}#top{position:absolute;top:0}.page{position:relative;display:flex;justify-content:center;width:100%}.page-layout{flex:1 1 0;width:0;max-width:100%;display:flex}.page-content{width:100%;padding:var(--pad);text-align:center}.bodycopy{display:block;width:100%}#heading .page-layout{max-width:85%}#heading .page-content{padding:calc(7rem * var(--pad-scale)) calc(1.5rem * var(--pad-scale)) calc(5rem * var(--pad-scale)) calc(1rem * var(--pad-scale))}.mobile-only{display:none}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.mobile-only{display:flex}.desktop-only{display:none!important}#heading{min-height:100svh}#heading .page-layout{max-width:100%;display:flex;align-items:flex-end}#heading .page-content{padding-bottom:calc(7.44rem + 1.35rem * var(--pad-scale) - .75rem)}#heading h1 .white>br:nth-last-child(-n+2){display:none}#heading .bodycopy>br{display:none}:root{--projects-pt: calc(3rem * var(--pad-scale))}}.pin{position:fixed;left:0;right:0;z-index:2;display:flex;justify-content:center;pointer-events:none}.pin a{pointer-events:auto}.pin-top{top:0}.pin-bottom{bottom:0}.logo{z-index:3}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.logo{z-index:1000}}.logo img{display:block;height:6.2rem;width:auto;margin:0 auto}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.logo img{height:7.44rem;width:auto}}.columns{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gutter);width:100%}.columns>.col{grid-column:span var(--span, 12);min-width:0}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.columns:not([data-mobile-stack=false]){grid-template-columns:minmax(0,1fr);row-gap:var(--mobile-gutter, var(--gutter))}.columns:not([data-mobile-stack=false])>.col{grid-column:auto}.columns.row{grid-template-columns:1fr max-content 1fr}.columns.row>.col{grid-column:auto}}.media{display:block;margin:0;position:relative}.media-frame{position:relative;width:100%;height:100%;overflow:hidden;backface-visibility:hidden}.media img,.media video{display:block;width:100%;height:100%;object-fit:cover}.media-video .poster{position:absolute;inset:0}.media-video .poster img{width:100%;height:100%}.media-video video{position:relative;z-index:1}.media-video.is-playing .poster{visibility:hidden}.slideshow{position:relative;display:block;width:100%;outline:none;touch-action:pan-y}.slides{position:relative;width:min(100%,88.89rem);aspect-ratio:16 / 9;margin:0 auto;overflow:clip}.track{display:flex;width:100%;height:100%;transition:transform 0s var(--ease-slide);will-change:transform}.slide{flex:0 0 100%;display:flex;justify-content:center;align-items:flex-start;height:100%}.slide .media{width:100%;height:100%;cursor:pointer}.slideshow-nav{position:absolute;inset:0;pointer-events:none;opacity:0}.slideshow:hover .slideshow-nav,.slideshow:focus-within .slideshow-nav{opacity:1}.slideshow-nav button{pointer-events:auto;position:absolute;top:50%;transform:translateY(-50%);font:inherit;line-height:inherit;padding:0;border:0;background:transparent;cursor:pointer;white-space:nowrap;color:var(--fg)}.slideshow-nav .prev{left:var(--nav-inset)}.slideshow-nav .next{right:var(--nav-inset)}.slideshow-nav button:active{opacity:.7}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.slideshow-nav{display:none}}@keyframes zoom{0%{transform:scale(.7)}50%{transform:scale(1)}to{transform:scale(.7)}}@supports (animation-timeline: view()){.anim>.media-frame{animation:zoom linear both;animation-timeline:view()}}@media(prefers-reduced-motion:reduce){.anim>.media-frame{animation:none!important;transform:none!important}}#information{min-height:calc(100vh + 4.5rem)}:root{--nav-h: calc(var(--pad) + var(--body-size) * var(--body-lh));--projects-pt: var(--pad)}#projects .page-content{padding-top:var(--projects-pt)}#projects{scroll-margin-top:calc(var(--nav-h) - var(--projects-pt))}#information{scroll-margin-top:calc(var(--nav-h) + 1.5rem * var(--pad-scale) - 4.5rem * var(--pad-scale) - var(--body-size) * var(--body-lh))}#information .page-content{text-align:left;padding:calc(4.5rem * var(--pad-scale)) var(--pad) calc(7rem * var(--pad-scale))}#information .portrait{transform:none}#information .portrait .media-frame{height:18.9rem;width:18.9rem}.overlay{position:fixed;inset:0;z-index:999;overflow:auto;pointer-events:none;scrollbar-width:none}.overlay::-webkit-scrollbar{display:none}.overlay[hidden]{display:none}.overlay-page{display:flex;justify-content:flex-end;min-height:100dvh}.overlay-layout{width:33.33%;max-width:33.33%;padding:var(--pad);display:flex;pointer-events:auto}.overlay-content{flex:1;width:100%;background:var(--panel);border:.05rem solid var(--border);padding:var(--pad);text-align:left}.overlay-close{display:inline;font:inherit;line-height:inherit;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;white-space:nowrap}.overlay-close:active{opacity:.7}@keyframes overlay-in{0%{transform:translate(100%)}to{transform:none}}@keyframes overlay-out{0%{transform:none;opacity:1}to{transform:translate(100%);opacity:0}}.overlay.is-opening .overlay-content{animation:overlay-in .5s var(--ease-cargo) both}.overlay.is-closing .overlay-content{animation:overlay-out .5s var(--ease-cargo) both}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.overlay{overflow:hidden}.overlay-page{display:block;min-height:0}.overlay-layout{position:fixed;inset:var(--pad);width:auto;max-width:none;padding:0;display:block}.overlay-content{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch}.overlay-content::-webkit-scrollbar{display:none}:root{--details-col: calc((100vw - 4 * var(--pad) - .1rem) / 3 - (2 * .5rem * var(--pad-scale)) / 3)}html[data-open] .logo{left:calc(2 * var(--pad) + .05rem);right:auto;bottom:calc(2 * var(--pad) + .05rem);width:var(--details-col)}html[data-open] .logo .page-content{padding:0}html[data-open] .logo img{width:100%;height:auto;margin:0}}.grid{--grid-gutter: calc(.5rem * var(--pad-scale));display:block;width:100%}.grid-row{display:flex;gap:var(--grid-gutter);margin-bottom:var(--grid-gutter)}.grid-row:last-child{margin-bottom:0}.grid-row.is-short{justify-content:flex-end}.grid .media{flex:0 0 calc((100% - 2 * var(--grid-gutter)) / 3);aspect-ratio:16 / 9;transform:none;cursor:pointer}.grid .media .media-frame{height:100%}.grid+.columns{margin-top:var(--gutter)}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.grid{--grid-gutter: calc(1rem * var(--pad-scale))}}.quick-view{position:fixed;inset:0;z-index:5001;padding:var(--pad)}.quick-view[hidden]{display:none}.quick-view-bg{position:absolute;inset:0;background:#fff6;backdrop-filter:blur(2rem);-webkit-backdrop-filter:blur(2rem)}.quick-view-stage{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.quick-view-stage img,.quick-view-stage video{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.quick-view-nav button,.qv-close{position:absolute;z-index:2;font:inherit;line-height:inherit;padding:0;border:0;background:transparent;cursor:pointer;white-space:nowrap;color:#fff;mix-blend-mode:difference}.quick-view-nav button{top:50%;transform:translateY(-50%)}.qv-prev{left:20px}.qv-next{right:20px}.qv-close{top:20px;right:20px}.quick-view button:active{opacity:.7}@media(max-aspect-ratio:4/5),(min-aspect-ratio:2/3)and (max-height:500px){.qv-prev{left:25px}.qv-next{right:25px}.qv-close{top:25px;right:25px}}button.mono,.mono{font-family:Diatype Mono,ui-monospace,monospace}.logo-anim{display:block}.logo-anim[hidden]{display:none}.glyph{font-family:Diatype Variable,Helvetica,Arial,sans-serif}.langs{display:grid;grid-template-columns:max-content max-content;column-gap:.9em;justify-content:start}.level{letter-spacing:-.1em;white-space:nowrap}.level .off{color:var(--white)}
