.portfolio{padding:46px 5vw 80px;border-bottom:1px solid var(--line)}
.portfolio-intro{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:28px}.portfolio-intro h2{font:700 clamp(34px,4.5vw,64px)/1 var(--font);text-transform:uppercase;letter-spacing:-.04em;margin:0}.portfolio-intro p{max-width:380px;color:var(--muted);line-height:1.6;margin:0}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px}.portfolio-filters button,.portfolio-all{font:inherit;cursor:pointer;color:#ddd;border:1px solid #484848;background:transparent;padding:12px 17px;font-size:13px;line-height:1.3;transition:background .2s,color .2s}.portfolio-filters button[aria-pressed=true],.portfolio-filters button:hover,.portfolio-all:hover{background:#f1f1f1;color:#080808}.portfolio-filters button:focus-visible,.portfolio-card a:focus-visible,.portfolio-viewer button:focus-visible{outline:2px solid white!important;outline-offset:4px}.portfolio-status{color:var(--muted);font-size:13px;margin-bottom:22px}.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}.portfolio-card{min-width:0}.portfolio-card[hidden]{display:none}.portfolio-cover{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:4/5;background:#0b0b0b;border:1px solid var(--line);overflow:hidden}.portfolio-cover img,.portfolio-cover video{width:100%;height:100%;position:absolute;inset:0;object-fit:contain}.portfolio-cover video{z-index:1}.portfolio-cover:hover{border-color:#888}.portfolio-badge{position:absolute;bottom:12px;right:12px;z-index:2;background:rgba(5,5,5,.85);padding:7px 10px;font-size:11px;letter-spacing:.03em}.portfolio-card h3{font-family:var(--font);font-size:clamp(23px,2.4vw,34px);line-height:1.05;text-transform:uppercase;letter-spacing:-.03em;margin:16px 0 10px}.portfolio-card p{font-size:14px;line-height:1.6;color:var(--muted);margin:0;max-width:42ch}.portfolio-count{display:block;color:#b7b7b7;font-size:12px;margin-top:12px}.portfolio-all{display:block;margin:34px auto 0;padding:15px 28px}.portfolio-anchor{scroll-margin-top:110px}.portfolio-audio-art{font-size:70px;color:#a5a5a5;letter-spacing:.05em}.portfolio-nojs{margin-top:30px}.portfolio-nojs a{display:block;margin:10px 0;text-decoration:underline}
.portfolio-viewer{color:#f7f7f7;background:#080808;border:1px solid #333;width:min(1180px,94vw);max-width:94vw;max-height:92svh;padding:0;overflow:auto}.portfolio-viewer::backdrop{background:rgba(0,0,0,.95)}.portfolio-viewer-top{position:sticky;top:0;background:#080808;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 22px;border-bottom:1px solid var(--line)}.portfolio-viewer-top h2{font-size:20px;line-height:1.2;margin:0;font-family:var(--font);text-transform:uppercase}.portfolio-viewer-close{flex:0 0 42px;height:42px;border:1px solid #777;border-radius:50%;background:#080808;color:white;font-size:28px;cursor:pointer}.portfolio-viewer-body{padding:22px}.portfolio-stage{display:flex;align-items:center;justify-content:center;min-height:180px;background:#050505}.portfolio-stage img{max-width:100%;max-height:65svh;object-fit:contain;display:block}.portfolio-stage video{width:auto;height:auto;max-width:100%;max-height:65svh;object-fit:contain;background:#000}.portfolio-stage audio{width:min(640px,100%);margin:70px 0}.portfolio-media-caption{font-size:14px;line-height:1.6;color:#ddd;margin:16px 0}.portfolio-original{font-size:12px;display:inline-block;border-bottom:1px solid #777;padding-bottom:3px}.portfolio-items{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.portfolio-items button{font:inherit;font-size:12px;line-height:1.4;background:#131313;border:1px solid #555;color:#ddd;padding:10px 13px;cursor:pointer;max-width:100%;overflow-wrap:anywhere}.portfolio-items button[aria-current=true]{border-color:white;color:white;background:#292929}.portfolio-description{font-size:14px;line-height:1.7;color:var(--muted);max-width:70ch}.portfolio-viewer-open{overflow:hidden!important}
@media(min-width:1700px){.portfolio-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.portfolio{padding:34px 24px 60px}.portfolio-intro{display:block}.portfolio-intro p{margin-top:16px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.portfolio-cover{aspect-ratio:3/4}.portfolio-card h3{font-size:25px}.portfolio-filters{gap:8px}.portfolio-filters button{padding:10px 12px;font-size:12px}.portfolio-viewer{width:96vw;max-width:96vw;max-height:94svh}.portfolio-viewer-body{padding:16px}.portfolio-viewer-top{padding:12px 16px}.portfolio-viewer-top h2{font-size:18px}.portfolio-stage video,.portfolio-stage img{max-height:58svh}}
@media(max-width:560px){.portfolio-grid{grid-template-columns:1fr;gap:34px}.portfolio-cover{aspect-ratio:4/5;max-height:520px}.portfolio-card h3{font-size:31px}.portfolio-intro h2{font-size:40px}}
@media(prefers-reduced-motion:reduce){.portfolio *{scroll-behavior:auto!important;transition:none!important}}
/* Override the original site's transparent button focus background. */
.portfolio-filters button[aria-pressed=true],.portfolio-filters button:hover,.portfolio-all:hover{background:#f1f1f1!important;color:#080808!important}
.portfolio-filters button{min-height:44px}.portfolio-viewer-close{flex-basis:44px;height:44px}
