@font-face{font-family:inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-latin-400-normal.woff2)format('woff2')}@font-face{font-family:inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-latin-500-normal.woff2)format('woff2')}@font-face{font-family:inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-latin-600-normal.woff2)format('woff2')}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format('woff2')}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format('woff2')}:root{--bg:#0d0d0d;--ink:#ededed;--muted:#8a8a8a;--rule:#262626;--sans:'Inter', -apple-system, BlinkMacSystemFont, sans-serif;--mono:'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, monospace;--pad:40px;--max:1240px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}[hidden]{display:none!important}body{font-family:var(--sans);font-size:17px;line-height:1.7;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}main{flex:1;width:100%}a{color:var(--ink);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}.prose p a,.prose li a,.description a,.entry-body a,.page-sub a{text-decoration:underline;text-underline-offset:3px}img{max-width:100%;height:auto;display:block}button{font:inherit;color:inherit;background:0 0;border:none;cursor:pointer}.mono{font-family:var(--mono);font-size:13px;font-weight:400;letter-spacing:0}.meta{color:var(--muted)}.meta a{color:var(--muted)}.wordmark{font-size:13px;font-weight:500;letter-spacing:.2em;text-transform:uppercase}.section-label{color:var(--muted);font-weight:400;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:20px}.section-more{color:var(--muted)}.site-header{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:28px var(--pad);max-width:var(--max);margin:0 auto;width:100%}.site-nav{display:flex;gap:22px;flex-wrap:wrap}.site-nav a{font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.site-nav a:hover{color:var(--ink);text-decoration:none}.site-nav a[aria-current=page]{color:var(--ink)}.site-footer{border-top:1px solid var(--rule);margin-top:100px;padding:40px var(--pad)56px}.footer-identity,.footer-socials{max-width:calc(var(--max) - 2 * var(--pad));margin:0 auto}.footer-identity p{color:var(--muted);font-size:14px;margin-top:10px;max-width:48ch}.identity{max-width:var(--max);margin:0 auto;padding:90px var(--pad)70px}.identity-mark{font-size:clamp(28px,6vw,54px);font-weight:400;letter-spacing:.28em;text-transform:uppercase;margin-left:2px}.identity-practice{margin-top:18px;color:var(--muted);max-width:52ch}.studio-strip{max-width:var(--max);margin:0 auto;padding:0 var(--pad)40px;border-bottom:1px solid var(--rule)}.strip{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:start}.strip .wip-card{break-inside:auto;margin-bottom:0}.career-scan{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}.scan{padding:64px 0;border-bottom:1px solid var(--rule)}.scan:last-child{border-bottom:none}.scan-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap}.scan-title{font-size:20px;font-weight:500;letter-spacing:.12em;text-transform:uppercase}.scan-statement{margin-top:10px;color:var(--muted);max-width:62ch}.scan-grid{margin-top:26px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.scan-grid img{width:100%;aspect-ratio:.8;object-fit:cover}.scan-more{display:inline-block;margin-top:22px;color:var(--muted)}.page{max-width:var(--max);margin:0 auto;padding:30px var(--pad)0;width:100%}.page-title{font-size:clamp(24px,4vw,34px);font-weight:400;letter-spacing:.1em;text-transform:uppercase}.page-sub{margin-top:10px;color:var(--muted);max-width:62ch}.page-title+.wall,.page-sub+.wall,.page-title+.works-grid{margin-top:44px}.prose{max-width:760px}.prose h2{font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;margin:44px 0 14px}.prose p,.prose ul,.prose ol{margin-top:16px;max-width:68ch}.prose ul,.prose ol{padding-left:22px}.prose .page-title{margin-bottom:18px}.plain-list{list-style:none;padding:0;margin-top:30px}.plain-list li{padding:12px 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;gap:16px;align-items:baseline}.contact-list{list-style:none;padding:0;margin-top:34px}.contact-list li{display:flex;gap:24px;padding:12px 0;border-bottom:1px solid var(--rule)}.contact-label{color:var(--muted);min-width:90px}.links-page{max-width:620px}.links-socials,.footer-socials{display:flex;gap:20px;margin-top:20px}.links-socials a,.footer-socials a{color:var(--muted);display:block}.links-socials a:hover,.footer-socials a:hover{color:var(--ink)}.links-socials svg,.footer-socials svg{display:block}.links-section{margin-top:44px}.links-section h2{font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.links-list{list-style:none;padding:0;margin-top:14px}.links-list li+li{margin-top:10px}.links-list a{display:flex;align-items:center;gap:16px;padding:12px 16px;border:1px solid var(--rule)}.links-list a:hover{text-decoration:none;border-color:var(--ink)}.links-cards{list-style:none;padding:0;margin-top:14px}.links-cards li+li{margin-top:18px}.links-cards a{display:block;border:1px solid var(--rule)}.links-cards a:hover{text-decoration:none;border-color:var(--ink)}.links-cards img{width:100%;height:auto;display:block}.links-card-bar{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:12px 16px;border-top:1px solid var(--rule)}.links-meta{color:var(--muted);white-space:nowrap}.links-note{color:var(--muted);white-space:nowrap;margin-left:auto}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px 28px;padding-bottom:20px}.works-item:hover{text-decoration:none}.works-item img{width:100%;aspect-ratio:.8;object-fit:cover}.works-title{margin-top:14px;font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase}.works-item .meta{margin-top:2px}.project{width:100%}.project-hero{max-width:var(--max);margin:10px auto 0;padding:0 var(--pad)}.project-hero img{width:auto;max-width:100%;max-height:82vh;margin:0 auto}.project-info{max-width:760px;margin:0 auto;padding:56px var(--pad)20px}.project-info h1{font-size:clamp(26px,5vw,40px);font-weight:400;letter-spacing:.1em;text-transform:uppercase}.project-info .meta{margin-top:8px}.description{margin-top:34px}.description p{margin-bottom:18px;max-width:68ch}.tech-note{margin-top:40px;padding-top:24px;border-top:1px solid var(--rule)}.tech-note p{margin-top:10px;color:var(--muted);font-size:15px;max-width:62ch}.live-embed{max-width:760px;margin:30px auto 0;padding:0 var(--pad)}.live-frame{border:1px solid var(--rule);background:#000}.live-frame iframe{width:100%;height:100%;border:0;display:block}.live-controls{display:flex;gap:20px;align-items:baseline;padding:12px 2px;color:var(--muted)}.live-controls button,.live-controls a{font-family:var(--mono);font-size:13px;color:var(--ink)}.live-controls button:hover,.live-controls a:hover{text-decoration:underline;text-underline-offset:3px}.live-hash{margin-left:auto;color:var(--muted)}.highlights{max-width:var(--max);margin:60px auto 0;padding:0 var(--pad)}.highlights-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.highlights-track::-webkit-scrollbar{display:none}.highlights-track a{flex:none;width:min(460px,78vw);scroll-snap-align:start}.highlights-track a:hover{text-decoration:none}.highlights-track img{width:100%}.highlights-track .meta{display:inline-block;margin-top:8px;font-size:12px}.highlights-nav{display:flex;justify-content:flex-end;gap:6px;padding-top:12px}.highlights-nav button{font-family:var(--mono);font-size:15px;color:var(--muted);padding:4px 10px}.highlights-nav button:hover{color:var(--ink)}.glightbox-clean .gslide-description{background:0 0}.glightbox-clean .gdesc-inner{padding:12px 0;text-align:center}.lightbox-link{display:inline-block;color:rgba(255,255,255,.75);font-family:var(--mono);font-size:13px;text-decoration:none}.lightbox-link:hover{color:#fff}.project-trail{max-width:var(--max);margin:30px auto 0;padding:40px var(--pad)0;border-top:1px solid var(--rule)}.collection-link{text-align:center;padding:70px var(--pad)10px}.collection-link>a{display:inline-block;font-size:14px;letter-spacing:.08em;padding:14px 40px;border:1px solid var(--ink)}.collection-link>a:hover{background:var(--ink);color:var(--bg);text-decoration:none}.prints-note{margin-top:26px;font-size:14px;color:var(--muted)}.prints-note a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}.wip-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}.wip-head+.wall,.wip-head+.wall+.older,.wip-head~.journal-scan{margin-top:44px}.wip-head+.masonry{margin-top:44px}.masonry{columns:3;column-gap:24px}.masonry.masonry-js{columns:auto;display:flex;gap:24px;align-items:flex-start}.masonry-col{flex:1;min-width:0}.masonry .tile{break-inside:avoid;margin:0 0 28px}.time-chip{position:fixed;top:50vh;right:0;transform:translateY(-50%);font:14px/1 var(--mono);letter-spacing:.06em;color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-right:0;border-radius:5px 0 0 5px;padding:10px 16px 10px 14px;white-space:nowrap;opacity:0;transition:opacity 200ms;pointer-events:none;z-index:5}.time-chip.tc-visible{opacity:1}.time-chip .tc-date,.time-chip .tc-release{display:block;text-align:right}.time-chip .tc-release{margin-top:6px}.time-chip .tc-release:empty{display:none}.masonry .tile img,.masonry .tile video{width:100%;height:auto;display:block}.tile-meta{margin-top:8px;font-size:12px;color:var(--muted)}.tile-meta a{color:var(--muted)}.tile-text{border:1px solid var(--rule);padding:20px}.tile-title{margin-top:10px;font-size:16px;font-weight:500;letter-spacing:.04em}.tile-body{margin-top:10px}.tile-body p{margin-bottom:12px}.tile-body p:last-child{margin-bottom:0}@media(max-width:900px){.masonry{columns:2}}@media(max-width:600px){.masonry{columns:1}}.view-toggle{display:flex;gap:10px;align-items:baseline;padding-bottom:6px}.view-toggle button,.view-toggle a{font-family:var(--mono);font-size:13px;color:var(--muted);padding:2px 0}.view-toggle button[aria-pressed=true],.view-toggle a[aria-current=page]{color:var(--ink);text-decoration:underline;text-underline-offset:4px}.view-toggle button:hover,.view-toggle a:hover{color:var(--ink)}.journal-chips{display:flex;gap:10px;flex-wrap:wrap}.journal-chips a{color:var(--muted);border:1px solid var(--rule);padding:5px 14px}.journal-chips a:hover{color:var(--ink);border-color:var(--muted);text-decoration:none}.journal-chips+.scan{margin-top:8px}.journal-scan .scan{scroll-margin-top:24px}.journal-scan .scan:last-of-type{border-bottom:none}.journal-carousel{margin-top:26px}.journal-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.journal-track::-webkit-scrollbar{display:none}.journal-track a,.journal-track video{flex:none;scroll-snap-align:start}.journal-track img,.journal-track video{height:380px;width:auto;display:block}.journal-track video{background:#000;min-width:280px}@media(max-width:768px){.journal-track img,.journal-track video{height:240px}}.entry-video{display:block;width:100%;height:auto;margin-top:26px;background:#000}.wall{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 24px;align-items:start}.wip-card{break-inside:avoid}.wip-card a{display:block}.wip-card a:hover{text-decoration:none}.wip-card img{width:100%;margin-bottom:10px}.wip-card .meta{font-size:12px}.wip-card-line{margin-top:2px;font-size:14px;line-height:1.55}.wip-card a:hover .wip-card-line{text-decoration:underline;text-underline-offset:3px}.wip-card-text{border:1px solid var(--rule);padding:18px 20px 20px}.wip-card-snippet{margin-top:8px;font-size:14px;line-height:1.6;color:var(--muted)}.older{display:inline-block;margin-top:20px;color:var(--muted)}.entry{max-width:900px;margin:0 auto;padding:30px var(--pad)0;width:100%}.entry-meta{color:var(--muted)}.entry-meta a{color:var(--muted)}.entry-title{margin-top:12px;font-size:clamp(20px,3.5vw,28px);font-weight:500;letter-spacing:.04em}.entry-body{margin-top:28px}.entry-body p{margin-bottom:16px;max-width:68ch}.entry-pagination{display:flex;justify-content:space-between;gap:20px;margin-top:60px;padding-top:20px;border-top:1px solid var(--rule);color:var(--muted)}.entry-pagination a{color:var(--muted)}.entry-pagination span{min-width:70px}.entry-siblings{margin-top:60px;padding-top:20px;border-top:1px solid var(--rule)}.entry-siblings h2{font-size:13px;font-weight:400}.entry-siblings-list{list-style:none;margin-top:16px;padding:0}.entry-siblings-list li{margin-bottom:8px;color:var(--muted)}.entry-siblings-list li.is-current{color:var(--ink)}.entry-siblings-list a{color:var(--muted)}.timeline .page-title{margin-top:8px}.timeline-status{margin-top:8px}.timeline-featured{margin-top:30px}.timeline-featured img{width:auto;max-width:100%;max-height:62vh}.timeline-blurb{margin-top:26px;color:var(--muted)}.timeline-blurb p{max-width:68ch;margin-bottom:14px}.timeline-projectlink{margin-top:4px}.timeline-entry{margin-top:64px;padding-top:30px;border-top:1px solid var(--rule)}.timeline-entry:first-of-type{margin-top:56px}.timeline-title{margin-top:6px;font-size:18px;font-weight:500;letter-spacing:.04em}.timeline-entry .entry-body{margin-top:18px}.timeline-entry .journal-carousel,.entry .journal-carousel{margin-top:24px}.algo-page .page-title{margin-top:30px}@media(max-width:1024px){.wall{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){:root{--pad:24px}.site-header{flex-direction:column;gap:14px;padding-top:22px}.identity{padding-top:50px;padding-bottom:50px}.strip{grid-template-columns:1fr;gap:32px}.works-grid{grid-template-columns:repeat(2,1fr);gap:28px 16px}.scan{padding:44px 0}.scan-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:repeat(2,1fr);gap:12px}}@media(max-width:480px){.wall{grid-template-columns:1fr}.works-grid{grid-template-columns:1fr}.gallery{grid-template-columns:1fr}.contact-list li{flex-direction:column;gap:2px}}