:root{--bg: #0a0a0a;--fg: #ededed;--muted: #8a8a8a;--line: #262626;--gutter: 24px;--bar-height: 48px;--page-max-width: 1920px;--dpr: 1;color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:var(--bar-height)}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:inherit}main{max-width:calc(var(--page-max-width) + 2 * var(--gutter));margin-inline:auto}.bar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--bar-height);padding:0 var(--gutter);background:var(--bg);border-bottom:1px solid var(--line)}.name{font-weight:600;text-decoration:none;white-space:nowrap}.back{display:none;margin-right:auto;color:var(--muted);text-decoration:none;white-space:nowrap}.back:hover{color:var(--fg)}[data-view=project] .back,[data-view=awards] .back{display:block}[data-view=project] .years,[data-view=awards] .years,[data-view=project] .awards-link,[data-view=awards] .awards-link{display:none}.awards-link{margin-right:auto;color:var(--muted);text-decoration:none;white-space:nowrap}.awards-link:hover{color:var(--fg)}.years ul{display:flex;gap:16px;margin:0;padding:0;list-style:none}.years a{color:var(--muted);text-decoration:none;font-variant-numeric:tabular-nums}.years a:hover,.years a[aria-current=true]{color:var(--fg)}#year-select{display:none;padding:4px 8px;border:1px solid var(--line);border-radius:4px;background:var(--bg);color:var(--fg);font:inherit}@media(max-width:800px){:root{--gutter: 16px}.years ul{display:none}#year-select{display:block}}.intro{padding:32px var(--gutter);max-width:70ch}.intro p{margin:0}.intro p+p{color:var(--muted)}.year-title{margin:0;padding:32px var(--gutter) 0;border-top:1px solid var(--line);color:var(--muted);font-size:16px;font-weight:400;font-variant-numeric:tabular-nums}.project{padding:24px var(--gutter) 48px}.project h3{margin:0;font-size:20px;font-weight:600}.project h3 a{text-decoration:none}.project h3 a:hover{text-decoration:underline}.project h1{margin:0;font-size:28px;font-weight:600;outline:none}.project .project-year{margin:0;font-variant-numeric:tabular-nums}#project-page .project{padding-top:32px}.cover{display:block}.cover .media{width:min(100cqw,var(--page-max-width),var(--w) * 1px / var(--dpr),(100vh - var(--bar-height) - 32px) * var(--w) / var(--h))}.project p{max-width:70ch;margin:4px 0 0;color:var(--muted)}.project-awards{margin-top:4px}.gallery{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:16px;container-type:inline-size}.media{display:block;flex:none;width:min(100%,var(--page-max-width),var(--w) * 1px / var(--dpr),(100vh - var(--bar-height) - 32px) * var(--w) / var(--h));height:auto;aspect-ratio:var(--w) / var(--h);background:#000}.demo{position:relative;flex:none;width:min(100%,var(--page-max-width));aspect-ratio:16 / 9;overflow:hidden;background:#000}.demo iframe,.demo>img,.demo-shield{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.demo img{object-fit:cover}.demo-stage{display:block;position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;border:0;overflow:hidden;background:none;color:inherit}.demo-stage:popover-open{position:fixed;background:#000}.demo-expanded{overflow:hidden}.demo-close{display:none;position:absolute;top:12px;left:12px;padding:4px 12px;border:1px solid var(--line);background:#000000b3;color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.demo-stage:popover-open .demo-close{display:block}.demo-shield{display:flex;align-items:flex-end;justify-content:flex-end;padding:8px 12px;background:none;color:var(--fg);font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.demo-shield span{padding:2px 8px;background:#000000b3}.demo.active .demo-shield{display:none}.demo-message{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:16px;color:var(--muted);text-align:center}.demo img+.demo-message{align-items:flex-end;justify-content:flex-start;color:var(--fg)}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}.zoom-frame{position:relative;flex:none}.zoom-frame .media{width:min(100cqw,var(--page-max-width),var(--w) * 1px / var(--dpr),(100vh - var(--bar-height) - 32px) * var(--w) / var(--h))}.zoomable img{cursor:zoom-in}.zoom-button{display:none;position:absolute;top:8px;right:8px;padding:2px 8px;border:0;background:#000000b3;color:var(--fg);font:13px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:zoom-in}.zoomable .zoom-button{display:block}.zoom-open{overflow:hidden}.zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;overflow:auto;background:#000000eb;cursor:zoom-out;overscroll-behavior:contain}.zoom-overlay.dragging{cursor:grabbing}.zoom-media{display:block;flex:none;max-width:none;margin:auto;background:#000;-webkit-user-select:none;user-select:none}video.zoom-media{cursor:auto}.zoom-close{position:fixed;top:12px;right:12px;z-index:1;padding:4px 12px;border:1px solid var(--line);background:#000000b3;color:var(--fg);font:14px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;cursor:pointer}.awards-title{margin:0;padding:32px var(--gutter) 0;font-size:28px;font-weight:600;outline:none}.awards .intro{padding-top:8px}.award{display:grid;grid-template-columns:minmax(0,538px) minmax(0,1fr);gap:8px 32px;align-items:start;padding:24px var(--gutter) 40px}.award-cover{display:block;container-type:inline-size}.award-cover .media{width:100%}.award h3{margin:0;font-size:20px;font-weight:600}.award h3 a{text-decoration:none}.award h3 a:hover{text-decoration:underline}.award p{max-width:70ch;margin:8px 0 0;color:var(--muted)}.award .award-meta{color:var(--fg)}.award-badges{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none}.award-badge{padding:2px 10px;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}.award-badge strong{color:var(--fg);font-weight:600}.award-badge:has(a){padding:0}.award-badge a{display:block;padding:2px 10px;color:inherit;text-decoration:none}.award-badge:has(a:hover){border-color:var(--muted)}.award-badge a:hover strong{text-decoration:underline}.award-fotm,.award-foty{border-color:#6b5a1e}.award-foty strong{color:#f2c94c}.award-more{grid-column:1 / -1}.award-more summary{color:var(--muted);cursor:pointer}.award-more summary:hover{color:var(--fg)}@media(max-width:800px){.award{grid-template-columns:minmax(0,1fr)}}
