:root{--bg: #000;--text: rgba(255, 255, 255, .85);--text-soft: rgba(255, 255, 255, .75);--text-muted: rgba(255, 255, 255, .42);--border: rgba(255, 255, 255, .18);--site-max-width: 150rem;--site-width: min(100vw, var(--site-max-width));--site-left: max(0px, calc((100vw - var(--site-max-width)) / 2));--nav-width: clamp(27rem, 20vw, 31rem);--content-width: calc(var(--site-width) - var(--nav-width));--pad: 2rem;--footer-height: 4.7rem;--radius: 1rem;--font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "SF Mono", "IBM Plex Mono", "Roboto Mono", monospace;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:10px;letter-spacing:0;color-scheme:dark}body{position:relative;display:flex;flex-direction:column;min-height:100vh;margin:0;background:var(--bg);color:var(--text);font-size:2.05rem;font-weight:440;line-height:1.2;font-variation-settings:"opsz" 24;overflow-x:hidden}body:before{content:"";position:fixed;inset:-100vh 0;z-index:-1;background:#000;pointer-events:none}body:has(.home-stage){overflow:hidden}a{color:inherit;text-decoration:none}a:hover,a:focus-visible{color:#fff}:where(a,button,input,textarea,select,[tabindex]):focus,:where(a,button,input,textarea,select,[tabindex]):focus-visible,:where(.project-image-link,.photo-link,.zone-button,.project-card-link,.projects-toolbar button):focus,:where(.project-image-link,.photo-link,.zone-button,.project-card-link,.projects-toolbar button):focus-visible{outline:0!important;box-shadow:none!important}a:active,button:active{opacity:.7}button{border:0;padding:0;color:inherit;font:inherit;background:transparent;cursor:pointer}.project-card-link,.projects-toolbar button,.zone-button,.lightbox-close,.lightbox-nav{user-select:none;-webkit-tap-highlight-color:transparent}.project-image-link img,.photo-link img{user-select:none;-webkit-user-drag:none}button:disabled{cursor:not-allowed;opacity:.42}img{display:block;max-width:100%}p,h1,h2,ol{margin:0}p+p{margin-top:1.2em}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.icon{width:1em;height:1em;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:butt;stroke-linejoin:miter;vertical-align:-.12em;flex:0 0 auto}.icon-broadcast circle,.icon-grid path{fill:currentColor;stroke:none}.desktop-nav{position:fixed;inset:0 auto auto var(--site-left);z-index:30;width:var(--nav-width);min-width:17.5rem;padding:var(--pad);pointer-events:none}.desktop-nav a,.desktop-nav button{pointer-events:auto}.brand-field{position:relative;width:100%;height:6.7rem;margin-bottom:1.9rem;overflow:hidden}.brand-bouncer,.mobile-brand{display:block;color:var(--text);font-size:4.5rem;font-weight:740;line-height:1;width:max-content;min-width:100%;user-select:none;touch-action:none;-webkit-user-drag:none}.brand-bouncer{position:relative;height:100%}.brand-bouncer span{position:absolute;display:inline-flex;align-items:center;gap:.08em;white-space:nowrap;padding-right:1rem;opacity:0;transition:none;will-change:transform}.brand-bouncer.is-positioned span,.mobile-brand.is-positioned span{transition:opacity .26s ease}.brand-bouncer.is-ready span,.mobile-brand.is-ready span{opacity:1}.brand-bouncer.is-clicked span,.mobile-brand.is-clicked span{opacity:.78}.logo-fx-canvas{position:fixed;inset:0;z-index:130;width:100vw;height:100vh;pointer-events:none}.work-list{margin:1.25rem 0 1.55rem;padding:0;line-height:1.28}.work-year-group+.work-year-group{margin-top:0}.work-year-group{display:grid;grid-template-columns:4.8rem minmax(0,1fr);column-gap:.25rem;align-items:start}.work-year{display:flex;align-items:center;margin:0;color:var(--text-muted);font-family:var(--mono);font-size:1.3rem;font-weight:400;min-height:2.72rem;line-height:1.28}.work-list ul{margin:0;padding:0;list-style:none}.work-list li{padding:0}.work-list li+li{margin-top:.08rem}.work-list a{display:flex;align-items:center;width:fit-content;max-width:100%;min-height:2.72rem}.work-list a.active,.secondary-links a.active,.primary-projects-link a.active,.mobile-quick-links a.active{color:#fff;font-weight:620}.primary-projects-link{margin-bottom:1.2rem}.secondary-links{display:grid;gap:.08rem;margin-top:1.45rem;line-height:1.28}.secondary-links a,.mobile-quick-links a,.contact-links a{display:inline-flex;align-items:center;gap:.25em;width:fit-content}.primary-projects-link a{width:fit-content}.nav-stable-link{display:inline-grid!important;grid-template-columns:1em minmax(0,max-content);align-items:center;column-gap:.25em;width:max-content}.nav-stable-link>.icon{grid-column:1;grid-row:1}.nav-stable-link>.nav-label,.nav-stable-link:after{grid-column:2;grid-row:1;white-space:nowrap}.nav-stable-link:after{content:attr(data-nav-label);visibility:hidden;height:0;overflow:hidden;font-weight:620;pointer-events:none}.nav-gap{height:1.2rem}.mobile-header,.mobile-menu{display:none}.nav-preview{--string-width: 14rem;--string-angle: 0deg;position:fixed;z-index:28;top:0;left:0;display:block;width:clamp(12rem,14vw,17rem);aspect-ratio:3 / 2;overflow:visible;background:transparent;opacity:0;pointer-events:none;transform:translate3d(calc(var(--nav-width) + 1.6rem),2rem,0);transform-origin:left center;transition:opacity .16s ease,transform .22s cubic-bezier(.2,.8,.2,1)}.nav-preview.is-visible{opacity:1}.nav-preview-frame{position:relative;z-index:2;display:block;width:100%;height:100%;overflow:hidden;border:1px solid rgba(210,210,210,.78);border-radius:.45rem;background:#000}.nav-preview img{width:100%;height:100%;object-fit:cover;object-position:center center;opacity:0;transition:opacity .12s ease}.nav-preview.is-visible img{opacity:1}.nav-preview.is-loading img,.nav-preview img:not([src]){opacity:0}.nav-preview-line{position:absolute;z-index:1;right:100%;top:50%;width:var(--string-width);height:1px;transform:translateY(-50%) rotate(var(--string-angle));transform-origin:right center;background:#d2d2d28a;pointer-events:none}.main-shell{flex:1 0 auto;width:var(--content-width);margin-left:calc(var(--site-left) + var(--nav-width));padding:var(--pad);padding-bottom:var(--pad)}.site-footer{flex:0 0 auto;position:relative;z-index:20;display:grid;grid-template-columns:1fr 1fr 1fr;align-items:center;margin-left:calc(var(--site-left) + var(--nav-width));width:var(--content-width);min-height:var(--footer-height);padding:.4rem var(--pad) 1.05rem;color:var(--text-muted);font-size:1.1rem;font-weight:400;font-family:var(--mono);line-height:1.2}.site-footer span{text-align:center}.footer-pattern{display:inline-flex;justify-content:center;align-items:center;gap:.22rem;white-space:nowrap;max-width:100%;overflow:hidden}.footer-square-group{display:grid;grid-auto-flow:column;grid-template-rows:repeat(5,.22rem);align-items:center;gap:.1rem;height:1.25rem;opacity:var(--square-opacity, .4)}.footer-square{width:.22rem;height:.22rem;background:currentColor}.home-stage{display:flex;height:calc(100vh - var(--footer-height) - (var(--pad) * 2));min-height:31rem}.home-slider{position:relative;--home-zone-left: 0px;--home-zone-top: 0px;--home-zone-width: 0px;--home-zone-height: 0px;--home-zone-hit: clamp(4.8rem, calc(var(--home-zone-width) * .18), 18rem);--home-slide-scale: .94;width:min(100%,122rem);height:100%;margin:auto;overflow:hidden}.home-track{display:flex;position:relative;height:100%;width:100%;backface-visibility:hidden;transform:translateZ(0);touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none}.home-slider.is-enhanced.is-ready .home-track{clip-path:inset(var(--home-zone-top) calc(100% - var(--home-zone-left) - var(--home-zone-width)) calc(100% - var(--home-zone-top) - var(--home-zone-height)) var(--home-zone-left) round var(--radius))}.home-slide{position:relative;display:grid;flex:0 0 100%;place-items:center;padding:0;min-width:0;min-height:0;user-select:none;-webkit-user-select:none}.home-slider.is-enhanced .home-slide{position:absolute;inset:0;visibility:hidden;pointer-events:none;will-change:transform}.home-slider.is-enhanced .home-slide.is-current,.home-slider.is-enhanced .home-slide.is-transitioning{visibility:visible}.home-slider.is-enhanced.is-ready .home-slide.is-current .home-slide-link,.home-slider.is-enhanced.is-ready .home-slide.is-transitioning .home-slide-link{pointer-events:auto}.home-slide-link{display:block;width:min(100%,120rem,calc((100vh - var(--footer-height) - (var(--pad) * 2)) * var(--home-slide-scale) * var(--home-slide-ratio, 1.5)));aspect-ratio:var(--home-slide-aspect, 3 / 2);max-width:min(100%,120rem);max-height:100%;overflow:hidden;border-radius:var(--radius);line-height:0;user-select:none;-webkit-user-select:none;cursor:pointer;pointer-events:auto}.home-slider.is-enhanced .home-slide-link{pointer-events:none}.home-slide-link img{display:block;width:100%;height:100%;max-width:100%;max-height:inherit;object-fit:contain;object-position:center center;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.home-slide-label{display:none}.zone-button{position:absolute;top:var(--home-zone-top);z-index:2;display:grid;width:var(--home-zone-hit);height:var(--home-zone-height);align-items:center;color:transparent;touch-action:manipulation;pointer-events:none}.home-slider.is-ready .zone-button{pointer-events:auto}.home-slider.is-ready .zone-prev{cursor:w-resize}.home-slider.is-ready .zone-next{cursor:e-resize}.zone-button:focus-visible{color:var(--text);outline:0}.zone-button .icon{width:2rem;height:2rem}.zone-prev{left:var(--home-zone-left);justify-items:start;padding-left:1rem}.zone-prev .icon{transform:scaleX(-1)}.zone-next{left:calc(var(--home-zone-left) + var(--home-zone-width) - var(--home-zone-hit));right:auto;justify-items:end;padding-right:1rem}.two-column{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}.project-intro{margin-bottom:0}.project-page h1,.about-page h1,.text-page h1{color:var(--text-soft);font-size:2.25rem;font-weight:650;line-height:1.1}.description{margin-top:.1rem;color:var(--text-soft);font-size:2.05rem;font-weight:270}.project-intro .description{font-size:1.82rem;line-height:1.12}.caption{color:var(--text-muted);font-size:1.1rem;font-weight:400;font-family:var(--mono);line-height:1.2}.meta-list{padding-top:.1rem}.meta-list p+p{margin-top:0}.project-body{align-items:stretch;margin-top:0;border-top:0}.project-body.project-rule-grid{border-top-width:0!important}.project-image{width:100%;height:auto;border-radius:var(--radius)}.project-rule-grid{gap:0;border:1px solid var(--border)}.project-rule-cell{min-width:0;padding:1.25rem}.project-rule-cell+.project-rule-cell{border-left:1px solid var(--border)}.meta-list.project-rule-cell,.about-note.project-rule-cell{display:grid;align-content:center}.project-frame{display:flex;align-items:flex-start;min-height:0}.project-frame>a,.project-frame>video,.project-frame>iframe{width:100%}.project-embed{display:block;width:100%;aspect-ratio:16 / 9;border:0;border-radius:var(--radius);background:#111}.project-image-link,.photo-link{cursor:zoom-in;user-select:none;-webkit-user-drag:none;-webkit-tap-highlight-color:transparent}.project-copy,.text-page,.photos-intro,.about-copy{max-width:72rem}.body-copy,.project-copy,.music-intro,.track-list li>p,.track-list li>ul,.track-list li>ol,.music-note,.photos-intro{max-width:none;color:var(--text-soft);font-size:1.72rem;font-weight:330;line-height:1.28}.project-tags,.project-card-tags{display:flex;flex-wrap:wrap;gap:.45rem .75rem}.project-tags{margin-top:0;padding:1.25rem;border:1px solid var(--border);border-top:0}.project-tags a,.project-card-tags a{color:var(--text-muted);font-family:var(--mono);font-size:1.1rem;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.18em}.project-tags a:hover,.project-tags a:focus-visible,.project-card-tags a:hover,.project-card-tags a:focus-visible{color:#fff}.project-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.35rem;color:var(--text-muted);font-family:var(--mono);font-size:1.1rem;line-height:1.2}.project-pager a{width:fit-content}.project-pager a:last-child{justify-self:end}.project-pager a:hover,.project-pager a:focus-visible{color:#fff}.inline-link{display:inline-flex;align-items:center;gap:.18em;text-decoration:underline;text-decoration-thickness:.055em;text-underline-offset:.18em}.inline-link .icon{width:.85em;height:.85em}.narrow-page{max-width:62rem}.projects-index,.music-page,.photos-page{width:100%}.projects-index{--project-card-min: 29rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 10px;--project-card-title-size: 2.05rem;--project-card-text-size: 1.62rem;--project-desc-lines: 2;--project-summary-lines: 2;--project-tag-lines: 2;--project-list-media: 24rem}.projects-toolbar{z-index:10;display:grid;grid-template-columns:auto auto minmax(0,1fr) max-content;gap:0;margin-bottom:1rem;background:var(--bg);border:1px solid var(--border);font-size:1.48rem;line-height:1}.project-search input,.projects-clear-filters,.projects-filter-toggle,.projects-view-controls button{color:var(--text);font:inherit}.project-search{display:block;grid-column:3;min-width:0}.project-search input{width:100%;height:4.6rem;border:0;padding:0 1.45rem;background:transparent;outline:0}.projects-clear-filters,.projects-filter-toggle,.projects-view-controls button{min-width:4.6rem;border-left:1px solid var(--border);padding:0 1rem}.projects-clear-filters{grid-column:1;border-left:0}.projects-filter-toggle{grid-column:2;display:inline-grid;place-items:center;width:4.6rem;padding:0;border-left:1px solid var(--border);border-right:1px solid var(--border)}.projects-filter-toggle .icon,.projects-view-controls button .icon{width:1.85rem;height:1.85rem}.projects-clear-filters[hidden]{display:none}.projects-view-controls{grid-column:4;display:flex;justify-self:end}.projects-view-controls button{display:inline-grid;place-items:center;width:4.6rem;border-left:0;padding:0}.projects-view-controls button+button{border-left:1px solid var(--border)}.projects-view-controls button:first-child{border-left:1px solid var(--border)}.projects-view-controls button[data-size-step]{font-size:2.4rem;font-weight:240}.projects-view-controls button[aria-pressed=true]{color:#fff;font-weight:650}.projects-filter-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:-1px;margin-bottom:1rem;border:1px solid var(--border)}.projects-filter-panel[hidden]{display:none}.projects-filter-panel fieldset{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.52rem 1.05rem;margin:0;padding:1rem 1.1rem 1.15rem;border:0;border-left:1px solid var(--border)}.projects-filter-panel fieldset:nth-child(odd){border-left:0}.projects-filter-panel fieldset:nth-child(n+3){border-top:1px solid var(--border)}.projects-filter-panel legend{grid-column:1 / -1;width:fit-content;margin-bottom:.62rem;padding:.22rem .45rem;border:1px solid var(--border);color:var(--text-muted);font-family:var(--mono);font-size:1.18rem;line-height:1}.projects-filter-panel label{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.5rem;align-items:center;color:var(--text-muted);font-size:1.34rem;line-height:1.1;white-space:nowrap;cursor:pointer}.projects-filter-panel label:hover{color:#fff}.projects-filter-panel input{position:absolute;opacity:0;pointer-events:none}.filter-box{position:relative;display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;border:1px solid var(--text-muted);color:var(--text)}.projects-filter-panel input:checked+.filter-box:before{content:"X";font-family:var(--mono);font-size:.86rem;line-height:1}.projects-filter-panel input:focus-visible+.filter-box{outline:0}.projects-count{margin-bottom:1rem}.project-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--project-card-min, 25rem)),1fr));gap:1rem;justify-content:stretch;align-items:stretch}.projects-index[data-size=s]{--project-card-min: 22rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 8px;--project-card-title-size: 1.7rem;--project-card-text-size: 1.38rem;--project-desc-lines: 2;--project-summary-lines: 2;--project-tag-lines: 2;--project-list-media: 16rem}.projects-index[data-size=m]{--project-card-min: 29rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 10px;--project-card-title-size: 2.05rem;--project-card-text-size: 1.62rem;--project-desc-lines: 2;--project-summary-lines: 2;--project-tag-lines: 2;--project-list-media: 24rem}.projects-index[data-size=l]{--project-card-min: 38rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 12px;--project-card-title-size: 2.35rem;--project-card-text-size: 1.82rem;--project-desc-lines: 2;--project-summary-lines: 3;--project-tag-lines: 2;--project-list-media: 38rem}html[data-project-index-size=s] .projects-index{--project-card-min: 22rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 8px;--project-card-title-size: 1.7rem;--project-card-text-size: 1.38rem;--project-desc-lines: 2;--project-summary-lines: 2;--project-tag-lines: 2;--project-list-media: 16rem}html[data-project-index-size=m] .projects-index{--project-card-min: 29rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 10px;--project-card-title-size: 2.05rem;--project-card-text-size: 1.62rem;--project-desc-lines: 2;--project-summary-lines: 2;--project-tag-lines: 2;--project-list-media: 24rem}html[data-project-index-size=l] .projects-index{--project-card-min: 38rem;--project-card-image-ratio: 3 / 2;--project-card-media-pad: 12px;--project-card-title-size: 2.35rem;--project-card-text-size: 1.82rem;--project-desc-lines: 2;--project-summary-lines: 3;--project-tag-lines: 2;--project-list-media: 38rem}.projects-index[data-view=list] .project-card-grid,html[data-project-index-view=list] .projects-index .project-card-grid{grid-template-columns:1fr}.projects-index[data-view=list][data-size=s],html[data-project-index-view=list][data-project-index-size=s] .projects-index{--project-desc-lines: 1;--project-summary-lines: 1;--project-tag-lines: 1;--project-list-media: 16rem;--project-list-summary-display: none;--project-list-main-gap: .32rem;--project-list-main-padding: .72rem .9rem .62rem;--project-list-tag-padding: .42rem .9rem .5rem}.projects-index[data-view=list][data-size=m],html[data-project-index-view=list][data-project-index-size=m] .projects-index{--project-desc-lines: 2;--project-summary-lines: 2;--project-tag-lines: 2;--project-list-media: 24rem;--project-list-main-gap: .5rem;--project-list-main-padding: 1rem 1.15rem .85rem;--project-list-tag-padding: .66rem 1.15rem .76rem}.projects-index[data-view=list][data-size=l],html[data-project-index-view=list][data-project-index-size=l] .projects-index{--project-desc-lines: 2;--project-summary-lines: 3;--project-tag-lines: 2;--project-list-media: 36rem;--project-list-main-gap: .58rem;--project-list-main-padding: 1.15rem 1.25rem 1rem;--project-list-tag-padding: .78rem 1.25rem .9rem}.project-card{display:flex;flex-direction:column;height:100%;border:1px solid var(--border);transition:border-color .16s ease,outline-color .16s ease,transform .16s ease}.project-card[hidden]{display:none!important}.project-card:hover{border-color:#ffffffbf;outline:0;transform:scale(1.006)}.project-card-link{display:grid;grid-template-rows:auto 1fr;flex:1 1 auto;color:inherit}.projects-index[data-view=list] .project-card,html[data-project-index-view=list] .projects-index .project-card{display:grid;grid-template-columns:var(--project-list-media) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:calc((var(--project-list-media) * 2 / 3) + 2px);align-items:stretch;overflow:hidden}.projects-index[data-view=list] .project-card-link,html[data-project-index-view=list] .projects-index .project-card-link{display:contents}.project-card-media{position:relative;aspect-ratio:var(--project-card-image-ratio, 4 / 3);overflow:hidden;border-bottom:0;line-height:0}.project-card-media:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:var(--border);pointer-events:none}.projects-index[data-view=list] .project-card-media,html[data-project-index-view=list] .projects-index .project-card-media{grid-column:1;grid-row:1 / 3;align-self:stretch;width:var(--project-list-media);height:100%;aspect-ratio:auto;border-bottom:0;border-right:0}.projects-index[data-view=list] .project-card-media:after,html[data-project-index-view=list] .projects-index .project-card-media:after{inset:0 0 0 auto;width:1px;height:auto}.project-card-thumb-frame{position:absolute;inset:var(--project-card-media-pad, 10px);min-width:0;min-height:0;overflow:hidden;border-radius:calc(var(--radius) * .65);background:transparent}.project-card-thumb{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:100%;height:100%;border-radius:inherit;object-fit:fill;object-position:center center}.project-card-preview{position:absolute;inset:0;display:block;width:100%;height:100%;opacity:0;object-fit:fill;object-position:center center;transition:opacity .18s ease;pointer-events:none}.project-card:hover .project-card-preview{opacity:1}.project-card-main{display:grid;gap:.45rem;padding:1rem;align-content:start}.projects-index[data-view=list] .project-card-main,html[data-project-index-view=list] .projects-index .project-card-main{grid-column:2;grid-row:1;min-height:0;overflow:hidden;align-content:start;gap:var(--project-list-main-gap, .58rem);padding:var(--project-list-main-padding, 1.15rem 1.2rem 1rem)}.project-card-main h2{color:var(--text-soft);font-size:var(--project-card-title-size, 2.05rem);line-height:1.05;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.project-card-main p{color:var(--text-soft);font-size:var(--project-card-text-size, 1.72rem)}.project-card-main p:not(.project-card-date){line-height:1.16;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--project-desc-lines, 2)}.project-card-subtitle{max-height:calc(var(--project-desc-lines, 2) * 1.16em)}.projects-index[data-view=grid][data-size=s] .project-card-subtitle,html[data-project-index-view=grid][data-project-index-size=s] .projects-index .project-card-subtitle{display:block!important;max-height:none;overflow:visible;-webkit-line-clamp:unset}.project-card-summary{display:none!important;color:var(--text-muted)!important;font-size:calc(var(--project-card-text-size, 1.72rem) * .82)!important;line-height:1.22;max-height:calc(var(--project-summary-lines, 2) * 1.22em)}.projects-index[data-view=list] .project-card-summary,html[data-project-index-view=list] .projects-index .project-card-summary{display:var(--project-list-summary-display, block)!important;-webkit-line-clamp:var(--project-summary-lines, 2)}.project-card-date{color:var(--text-muted)!important;font-family:var(--mono);font-size:1.08rem!important}.project-card-tags{--project-tag-line-height: 1.18rem;padding:.78rem .95rem .9rem;border-top:1px solid var(--border);max-height:calc((var(--project-tag-line-height) * var(--project-tag-lines, 1)) + 1.68rem);overflow:hidden;line-height:var(--project-tag-line-height)}.projects-index[data-view=list] .project-card-tags,html[data-project-index-view=list] .projects-index .project-card-tags{grid-column:2;grid-row:2;display:var(--project-list-tags-display, flex);align-content:start;flex-wrap:wrap;min-width:0;min-height:0;height:auto;max-height:calc((var(--project-tag-line-height) * var(--project-tag-lines, 2)) + 1.68rem);margin:0;padding:var(--project-list-tag-padding, .78rem 1.2rem .9rem);border-top:1px solid var(--border);background:var(--bg)}.projects-index[data-view=list] .project-card-tags a,html[data-project-index-view=list] .projects-index .project-card-tags a{flex:0 0 auto;max-width:18rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projects-index[data-view=list] .project-card-tags a:nth-child(n+7),html[data-project-index-view=list] .projects-index .project-card-tags a:nth-child(n+7){display:none}.projects-empty{margin-top:2rem;color:var(--text-muted)}.track-list{display:grid;gap:2.25rem;margin:3rem 0 2rem;padding:0;list-style:none}.track-list li{padding:0}.track-heading{display:block;margin-bottom:.9rem}.audio-player{display:grid;grid-template-columns:3.8rem minmax(8rem,1fr) auto minmax(7rem,10rem);align-items:center;width:min(100%,42rem);min-height:3.3rem;margin-top:.8rem;color:var(--text);border:1px solid rgba(255,255,255,.25);border-radius:999px;background:#ffffff06;font-family:var(--mono);font-size:1.02rem;overflow:hidden}.audio-player audio{display:none}.audio-player-button{display:grid;place-items:center;height:100%;min-height:3.3rem;color:var(--text);border-right:1px solid rgba(255,255,255,.25);font:inherit}.audio-player-button:hover,.audio-player-button:focus-visible{background:#ffffff1c}.audio-player-progress{display:grid;align-items:center;height:100%;min-width:0;padding:0 1rem}.audio-player-time{min-width:4.4em;padding:0 .9rem;color:var(--text-muted);text-align:right}.audio-player-volume{display:grid;grid-template-columns:auto minmax(4.8rem,1fr);align-items:center;gap:.65rem;height:100%;min-height:3.3rem;padding:0 1rem 0 .85rem;color:var(--text-muted);border-left:1px solid rgba(255,255,255,.2);font-size:.92rem}.audio-player input[type=range]{--audio-progress: 0%;width:100%;min-width:0;height:1.2rem;margin:0;padding:0;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer}.audio-player input[type=range]::-webkit-slider-runnable-track{height:.22rem;border-radius:999px;background:linear-gradient(90deg,currentColor var(--audio-progress),rgba(255,255,255,.2) var(--audio-progress))}.audio-player input[type=range]::-moz-range-track{height:.22rem;border-radius:999px;background:linear-gradient(90deg,currentColor var(--audio-progress),rgba(255,255,255,.2) var(--audio-progress))}.audio-player input[type=range]::-webkit-slider-thumb{width:.72rem;height:.72rem;margin-top:-.25rem;border:1px solid currentColor;border-radius:50%;background:#000;appearance:none;-webkit-appearance:none}.audio-player input[type=range]::-moz-range-thumb{width:.72rem;height:.72rem;border:1px solid currentColor;border-radius:50%;background:#000}.audio-placeholder{display:grid;grid-template-columns:3.8rem minmax(0,1fr) auto;align-items:center;width:min(100%,32rem);height:3.3rem;color:var(--text);border:1px solid rgba(255,255,255,.25);border-radius:999px;background:linear-gradient(90deg,rgba(255,255,255,.12),rgba(255,255,255,.04) 48%,transparent 48%);font-family:var(--mono);font-size:1.1rem;overflow:hidden}.audio-placeholder-button{display:grid;place-items:center;height:100%;border-right:1px solid rgba(255,255,255,.25)}.audio-placeholder-track{height:100%;background:#ffffff13}.audio-placeholder-time{padding:0 1.2em;color:var(--text-muted)}.music-intro{margin-bottom:2rem;max-width:none}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.photo-column{display:grid;align-content:start;gap:1rem}.photo-link{display:block}.photo-link img{width:100%;height:auto;border-radius:var(--radius)}.music-note{margin-top:2rem}.about-note p+p{margin-top:0}.about-intro{margin-bottom:0}.about-copy{max-width:none;border-top-width:0}.about-copy>.project-rule-cell{color:var(--text-soft);font-size:1.72rem;font-weight:330;line-height:1.28}.contact-links{display:grid;justify-content:center;gap:.55rem;margin-top:1.4rem}.contact-row{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:.55rem 1.4rem}.lightbox-open{overflow:hidden}.lightbox{position:fixed;inset:0;z-index:120;display:grid;place-items:center;padding:3rem;background:#000000f5;opacity:0;transition:opacity .28s ease;touch-action:pan-y}.lightbox.is-active{opacity:1}.lightbox.is-closing{pointer-events:none}.lightbox:focus{outline:0}.lightbox[hidden]{display:none}.lightbox-frame{position:relative;display:grid;justify-items:center;--lightbox-aspect: 3 / 2;--lightbox-ratio: 1.5;width:min(120rem,calc((100vh - 9rem) * var(--lightbox-ratio)),calc(100vw - 6rem));aspect-ratio:var(--lightbox-aspect);height:auto;max-height:100%;margin:0}.lightbox-frame img{position:absolute;inset:0;width:100%;height:100%;border-radius:var(--radius);object-fit:contain;transform-origin:center center;transition:opacity .16s ease;will-change:transform,opacity}.lightbox-frame img.is-loading{opacity:0}.lightbox-caption{display:none;color:var(--text-muted);font-family:var(--mono);font-size:1.1rem;line-height:1.2;text-align:center}.lightbox-close,.lightbox-nav{position:absolute;z-index:1;display:grid;place-items:center;width:3.6rem;height:3.6rem;color:var(--text);border-radius:999px;background:#57575759}.lightbox-close[hidden],.lightbox-nav[hidden]{display:none}.lightbox-close{top:2rem;right:2rem}.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-prev{left:2rem}.lightbox-prev .icon{transform:scaleX(-1)}.lightbox-next{right:2rem}.lightbox-close .icon,.lightbox-nav .icon{width:1.8rem;height:1.8rem}.suppress-restored-focus:focus,.suppress-restored-focus:focus-visible{outline:0!important}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media(max-width:760px){:root{--pad: 1.33rem;--footer-height: 5rem}html{font-size:10.5px}body{overflow-x:hidden;font-size:2rem}body:has(.home-stage){overflow:auto}.desktop-nav{display:none}.mobile-header{position:relative;z-index:25;display:block;padding:.55rem var(--pad) var(--pad);background:var(--bg)}.mobile-topline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:start}.mobile-brand{position:relative;height:5.8rem;overflow:hidden;font-size:4rem;font-weight:740}.mobile-brand span{position:absolute;display:inline-flex;align-items:center;gap:.08em;white-space:nowrap;opacity:0;transition:none;will-change:transform}.menu-button{display:inline-grid;place-items:center;width:3.4rem;height:3.4rem;color:var(--text)}.menu-button .icon{width:2.7rem;height:2.7rem}.mobile-quick-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem 1.65rem;margin-top:1rem;text-align:center}.mobile-quick-links a{width:auto;justify-content:center}.mobile-menu{position:fixed;inset:0;z-index:80;display:block;overflow:auto;background:#1e1e1e}.mobile-menu[hidden]{display:none}.mobile-menu-inner{min-height:100%;padding:.55rem var(--pad) var(--pad)}.close-button{position:absolute;top:.55rem;right:var(--pad)}.mobile-menu-brand{display:inline-flex;align-items:center;gap:.08em;margin-bottom:2rem;padding-right:4rem;font-size:4rem;font-weight:740;line-height:1}.mobile-menu .primary-projects-link{margin-bottom:1.2rem}.mobile-menu .work-list{margin-top:1rem}.main-shell{width:100%;margin-left:0;padding-top:0}.site-footer{position:relative;grid-template-columns:1fr;gap:.3rem;margin-left:0;width:100%;min-height:var(--footer-height);margin-top:2rem;padding:1rem var(--pad) var(--pad)}.home-stage{height:auto;min-height:0;padding-top:12rem}.home-slider{width:100%;min-height:50vh}.home-track{min-height:50vh}.home-slide{padding:0}.home-slide img{max-width:100%;max-height:100%}.home-slide-label{display:none}.zone-button{width:var(--home-zone-hit)}.two-column{grid-template-columns:1fr;gap:2rem}.project-intro{gap:0;margin-bottom:0}.about-intro,.about-copy,.project-body{gap:0}.project-rule-cell+.project-rule-cell{border-left:0;border-top:1px solid var(--border)}.project-page h1,.about-page h1,.text-page h1{font-size:2.2rem}.project-intro .description{font-size:1.74rem;line-height:1.12}.photo-grid{grid-template-columns:1fr}.audio-player{grid-template-columns:3.5rem minmax(0,1fr) auto;width:100%;border-radius:var(--radius)}.audio-player-volume{grid-column:2 / 4;grid-template-columns:auto minmax(0,1fr);border-top:1px solid rgba(255,255,255,.2);border-left:0}.projects-toolbar{position:static;grid-template-columns:auto auto minmax(7.5rem,1fr) max-content;align-items:stretch;margin-bottom:.65rem;font-size:1.06rem}.projects-view-controls{grid-column:4;display:flex;justify-self:stretch;border-top:0}.projects-clear-filters,.projects-filter-toggle,.projects-view-controls button{min-width:3.55rem;min-height:3.55rem;border-left:0}.project-search input{height:3.55rem;min-height:3.55rem;padding:0 .95rem}.projects-filter-toggle,.projects-view-controls button{width:auto}.projects-filter-toggle .icon,.projects-view-controls button .icon{width:1.55rem;height:1.55rem}.projects-view-controls button[data-size-step]{font-size:1.68rem}.projects-clear-filters{border-right:1px solid var(--border)}.projects-filter-toggle,.projects-view-controls button:first-child,.projects-view-controls button+button{border-left:1px solid var(--border)}.projects-filter-panel{grid-template-columns:1fr}.projects-filter-panel fieldset,.projects-filter-panel fieldset:first-child,.projects-filter-panel fieldset:nth-child(odd){border-left:0;border-top:1px solid var(--border)}.projects-filter-panel fieldset:first-child{border-top:0}.projects-index[data-view=list] .project-card,html[data-project-index-view=list] .projects-index .project-card{grid-template-columns:var(--mobile-list-media, 10rem) minmax(0,1fr)}.projects-index[data-view=list] .project-card-link,html[data-project-index-view=list] .projects-index .project-card-link{display:contents}.projects-index[data-view=list] .project-card-media,html[data-project-index-view=list] .projects-index .project-card-media{grid-row:1 / 3;border-right:0;border-bottom:0}.projects-index[data-view=list] .project-card-thumb-frame,html[data-project-index-view=list] .projects-index .project-card-thumb-frame{inset:0;border-radius:0}.projects-index[data-view=list] .project-card-main,html[data-project-index-view=list] .projects-index .project-card-main{min-width:0;min-height:0;grid-template-rows:auto auto auto minmax(0,1fr);align-content:stretch;gap:var(--project-list-main-gap, .34rem);padding:var(--project-list-main-padding, .72rem .78rem .66rem)}.projects-index[data-view=list] .project-card-tags,html[data-project-index-view=list] .projects-index .project-card-tags{grid-column:2;grid-row:2;margin:0;padding:var(--project-list-tag-padding, .52rem .78rem .62rem)}.projects-index[data-view=list] .project-card-summary,html[data-project-index-view=list] .projects-index .project-card-summary{display:var(--project-list-summary-display, block)!important;min-height:0;max-height:none;overflow:hidden;-webkit-line-clamp:unset}.projects-index[data-view=grid][data-size=s] .project-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.projects-index[data-view=grid][data-size=m] .project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.projects-index[data-view=grid][data-size=l] .project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}html[data-project-index-view=grid][data-project-index-size=s] .projects-index .project-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}html[data-project-index-view=grid][data-project-index-size=m] .projects-index .project-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-project-index-view=grid][data-project-index-size=l] .projects-index .project-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.projects-index[data-size=s],html[data-project-index-size=s] .projects-index{--project-card-media-pad: 3px}.projects-index[data-size=m],html[data-project-index-size=m] .projects-index{--project-card-media-pad: 4px}.projects-index[data-size=l],html[data-project-index-size=l] .projects-index{--project-card-media-pad: 5px}.projects-index[data-view=grid] .project-card-main,html[data-project-index-view=grid] .projects-index .project-card-main{gap:.18rem;padding:.42rem}.projects-index[data-view=grid] .project-card-main h2,html[data-project-index-view=grid] .projects-index .project-card-main h2{font-size:var(--project-card-title-size)}.projects-index[data-view=grid] .project-card-main p,html[data-project-index-view=grid] .projects-index .project-card-main p{font-size:var(--project-card-text-size)}.projects-index[data-view=grid] .project-card-date,html[data-project-index-view=grid] .projects-index .project-card-date{font-size:.74rem!important}.projects-index[data-view=grid] .project-card-tags,html[data-project-index-view=grid] .projects-index .project-card-tags{display:none}.projects-index[data-view=grid] .project-card-tags a,html[data-project-index-view=grid] .projects-index .project-card-tags a{font-size:.9rem;line-height:1.05}.projects-index[data-view=grid][data-size=s],html[data-project-index-view=grid][data-project-index-size=s] .projects-index{--project-card-title-size: .9rem;--project-card-text-size: .74rem;--project-desc-lines: 1;--project-tag-lines: 1}.projects-index[data-view=grid][data-size=s] .project-card-subtitle,html[data-project-index-view=grid][data-project-index-size=s] .projects-index .project-card-subtitle{display:-webkit-box!important;max-height:calc(var(--project-desc-lines, 1) * 1.16em);overflow:hidden;-webkit-line-clamp:var(--project-desc-lines, 1)}.projects-index[data-view=grid][data-size=m],html[data-project-index-view=grid][data-project-index-size=m] .projects-index{--project-card-title-size: 1.04rem;--project-card-text-size: .86rem;--project-desc-lines: 1;--project-tag-lines: 1}.projects-index[data-view=grid][data-size=l],html[data-project-index-view=grid][data-project-index-size=l] .projects-index{--project-card-title-size: 1.26rem;--project-card-text-size: 1rem;--project-desc-lines: 2;--project-tag-lines: 2}.projects-index[data-view=list][data-size=s],html[data-project-index-view=list][data-project-index-size=s] .projects-index{--mobile-list-media: clamp(150px, 42vw, 180px);--project-list-media: var(--mobile-list-media);--project-list-summary-display: none;--project-list-tags-display: flex;--project-list-main-gap: .26rem;--project-list-main-padding: .58rem .66rem .46rem;--project-list-tag-padding: .34rem .66rem .42rem;--project-card-title-size: 1.2rem;--project-card-text-size: .98rem;--project-desc-lines: 2;--project-summary-lines: 1;--project-tag-lines: 1}.projects-index[data-view=list][data-size=m],html[data-project-index-view=list][data-project-index-size=m] .projects-index{--mobile-list-media: clamp(170px, 48vw, 210px);--project-list-media: var(--mobile-list-media);--project-list-summary-display: block;--project-list-tags-display: flex;--project-list-main-gap: .28rem;--project-list-main-padding: .66rem .76rem .54rem;--project-list-tag-padding: .42rem .76rem .5rem;--project-card-title-size: 1.3rem;--project-card-text-size: 1.02rem;--project-desc-lines: 2;--project-tag-lines: 1}.projects-index[data-view=list][data-size=l],html[data-project-index-view=list][data-project-index-size=l] .projects-index{--mobile-list-media: clamp(190px, 54vw, 240px);--project-list-media: var(--mobile-list-media);--project-list-summary-display: block;--project-list-tags-display: flex;--project-list-main-gap: .32rem;--project-list-main-padding: .76rem .82rem .62rem;--project-list-tag-padding: .48rem .82rem .56rem;--project-card-title-size: 1.42rem;--project-card-text-size: 1.08rem;--project-desc-lines: 2;--project-tag-lines: 1}html[data-project-index-view=list] .projects-index .project-card-grid{grid-template-columns:1fr}html[data-project-index-view=list] .projects-index .project-card{display:grid;grid-template-columns:var(--mobile-list-media, 10rem) minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;height:calc((var(--project-list-media) * 2 / 3) + 2px)}html[data-project-index-view=list] .projects-index .project-card-link{display:contents}html[data-project-index-view=list] .projects-index .project-card-media{grid-column:1;grid-row:1 / 3;align-self:stretch;width:var(--project-list-media);height:100%;aspect-ratio:auto}html[data-project-index-view=list] .projects-index .project-card-main{grid-column:2;grid-row:1;grid-template-rows:auto auto auto minmax(0,1fr);align-content:stretch;gap:var(--project-list-main-gap, .34rem);padding:var(--project-list-main-padding, .72rem .78rem .66rem)}html[data-project-index-view=list] .projects-index .project-card-summary{display:var(--project-list-summary-display, block)!important;min-height:0;max-height:none;overflow:hidden;-webkit-line-clamp:unset}html[data-project-index-view=list] .projects-index .project-card-tags{grid-column:2;grid-row:2;display:var(--project-list-tags-display, flex);margin:0;padding:var(--project-list-tag-padding, .52rem .78rem .62rem)}.projects-index[data-view=list] .project-card-tags a,html[data-project-index-view=list] .projects-index .project-card-tags a{max-width:8.8rem;font-size:.82rem;line-height:1.05}.projects-index[data-view=list] .project-card-tags a:nth-child(n+4),html[data-project-index-view=list] .projects-index .project-card-tags a:nth-child(n+4){display:none}.contact-links{justify-content:center}.lightbox{padding:1.33rem}.lightbox-frame{width:min(120rem,calc((100vh - 4rem) * var(--lightbox-ratio)),calc(100vw - 2.66rem))}.lightbox-frame img{max-height:none}.lightbox-close{top:1.33rem;right:1.33rem}.lightbox-prev{left:1.33rem}.lightbox-next{right:1.33rem}}
