:root{--bg:#0c0b0b;--text:#c8c8c8;--hover:#fff;--gutter:clamp(.5rem, 1.5vw, 1.25rem);--header-height:4.25rem;--font:"Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/hanken-grotesk-latin-ext-wght-normal.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:normal;font-display:swap;font-weight:100 900;src:url(/fonts/hanken-grotesk-latin-wght-normal.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Hanken Grotesk;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fonts/hanken-grotesk-latin-ext-wght-italic.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Hanken Grotesk;font-style:italic;font-display:swap;font-weight:100 900;src:url(/fonts/hanken-grotesk-latin-wght-italic.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font);flex-direction:column;margin:0;font-size:1rem;line-height:1.6;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}h1,h2,p,dl,dd,ul,figure{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none;transition:color .2s}a:hover{color:var(--hover);text-underline-offset:.3em;text-decoration:underline 1px}:focus-visible{outline:2px solid var(--hover);outline-offset:3px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{top:.5rem;left:var(--gutter);z-index:10;background:var(--text);color:var(--bg);padding:.5rem 1rem;position:absolute;transform:translateY(-200%)}.skip-link:focus{color:var(--bg);transform:none}.site-header{padding:.875rem var(--gutter);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;display:flex}.logo{transition:opacity .2s;display:block}.logo:hover{opacity:.7}.logo img{width:auto;height:2.5rem}.site-nav ul{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}.site-nav a{padding-block:.25rem;font-size:.9375rem;display:inline-block}.site-nav a[aria-current=page]{text-underline-offset:.3em;text-decoration:underline 1px}.tile-grid{gap:2rem var(--gutter);padding:0 var(--gutter) 3rem;display:grid}@media (width>=48rem){.tile-grid{grid-template-columns:repeat(2,1fr)}.tile.is-wide{grid-column:span 2}}@media (width>=48rem) and (orientation:landscape) and (height>=30rem){:root{--grid-width:calc((100vh - var(--header-height) - 3.75rem - 11vh) * 16 / 9 + 2 * var(--gutter))}.tile-grid,body:has(.tile-grid) .site-header,body:has(.tile-grid) .site-footer{width:100%;max-width:var(--grid-width);margin-inline:auto}.tile-grid{gap:1.5rem clamp(1rem,2.4vw,3rem)}}.tile{display:block}.tile img{aspect-ratio:16/9;object-fit:cover;filter:brightness(.9);width:100%;transition:filter .3s}.tile a:hover img,.tile a:focus-visible img{filter:brightness()}.tile-caption{justify-content:space-between;gap:1rem;padding-top:.625rem;font-size:.9375rem;display:flex}.tile-title{font:inherit}.hero img{width:100%}.project-text{max-width:38rem;padding:2.5rem var(--gutter) 3.5rem}.project-text h1{font-size:clamp(1.5rem,4vw,2rem);font-weight:500;line-height:1.2}.project-year{margin-top:.25rem}.project-lead,.project-body{margin-top:1.5rem}.project-body p+p{margin-top:1rem}.project-body h2{margin:2.5rem 0 .75rem;font-size:1rem;font-weight:500}.credits{grid-template-columns:fit-content(50%) 1fr;gap:.25rem 1.5rem;margin-top:2rem;font-size:.9375rem;display:grid}.credits dd{font-weight:500}.about-body h2{font-style:normal;font-weight:700}.about-photos{grid-template-columns:repeat(2,1fr);gap:.75rem;max-width:29rem;margin-top:2.5rem;display:grid}.about-photos img{width:100%}.about-photos figcaption{margin-top:.4rem;font-size:.8125rem;font-style:italic;line-height:1.4}.text-link{text-underline-offset:.3em;text-decoration:underline 1px}.contact-intro,.contact-list,.about-body{font-style:italic}.contact-intro{margin-top:1.5rem}.contact-list{overflow-wrap:anywhere;gap:.5rem;margin-top:1.5rem;display:grid}.contact-icon{vertical-align:-.2em;width:1.1em;height:1.1em;margin-right:.15em;display:inline-block}.gallery{gap:var(--gutter);padding:0 var(--gutter) 4rem;display:grid}.gallery img{width:100%}@media (width>=48rem){.gallery{grid-template-columns:repeat(2,1fr);grid-auto-flow:dense}.gallery .is-landscape{grid-column:span 2}}.video-frame{aspect-ratio:16/9;background:#000;position:relative}.video-frame img{object-fit:cover;width:100%;height:100%}.video-frame iframe{opacity:0;border:0;width:100%;height:100%;transition:opacity .4s;position:absolute;inset:0}.video-frame iframe.is-loaded{opacity:1}.video-link{height:100%;display:block}.video-link:focus-visible{outline-offset:-4px}.video-play{opacity:0;will-change:opacity;background:url(/play-icon.webp) 50%/contain no-repeat;width:4rem;height:4rem;margin:auto;transition:opacity .2s;position:absolute;inset:0}@media (width>=48rem){.video-play{width:5.5rem;height:5.5rem}}@media (hover:none){.video-play{opacity:.6}}.video-link:hover .video-play{opacity:.6}.video-link .video-play:hover,.video-link:focus-visible .video-play{opacity:1}.video-frame:has(iframe) .video-play{visibility:hidden}.video-note{padding:.5rem var(--gutter) 0;font-size:.8125rem}.site-footer{padding:1.25rem var(--gutter);flex-wrap:wrap;justify-content:space-between;gap:.25rem 1.5rem;font-size:.875rem;display:flex}.site-footer ul{flex-wrap:wrap;gap:.25rem 1.25rem;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}
