@font-face{font-family:DM Mono;src:url('/assets/mono.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:DM Sans;src:url('/assets/sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--bg:#111;--ink:#fcf8ef;--muted:#b2aeab;--red:#ff4141;--ease:cubic-bezier(.887,0,.113,1);font-family:DM Mono,'Courier New',monospace;font-size:14px;color:var(--ink);background:var(--bg);color-scheme:dark}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{color:inherit}button{padding:0;border:0;border-radius:0;background:none;cursor:pointer}a{text-decoration:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--red);outline-offset:6px}button:disabled{cursor:default;opacity:.35}button:not(:disabled):hover,a:hover{color:var(--red)}[hidden]{display:none!important}p,h1,h2{margin:0}button,a{transition:color .25s}button{text-transform:uppercase}.skip{position:fixed;top:-80px;padding:12px;z-index:500;background:var(--red);color:#111}.skip:focus{top:0}
.portfolio{position:fixed;inset:0;height:100dvh;overflow:hidden;background:var(--bg)}.chrome{position:absolute;inset:40px 40px auto;z-index:20;font-size:clamp(13px,1.05vw,18px);line-height:1.2;letter-spacing:-.04em;pointer-events:none}.chrome a,.chrome button,.chrome nav{pointer-events:auto}.logo{position:absolute;left:0;top:0;font-family:'Helvetica Neue',DM Sans,Arial,sans-serif;font-weight:600;font-size:clamp(22px,1.69vw,30px);letter-spacing:-1.5px;line-height:.9}.logo span{display:inline-block;vertical-align:top;font-size:.55em;letter-spacing:-.07em;position:relative;top:-.02em;margin-left:1px}.tagline{position:absolute;left:calc(8.33vw - 5px);top:0;color:#cbc7c2}.view-toggle{position:fixed;top:38px;left:50%;transform:translateX(-50%);display:flex;gap:8px;white-space:nowrap}.view-toggle button{color:#ffffffbf;line-height:1.3;font-weight:500;letter-spacing:-.04em}.view-toggle button[aria-pressed=true]{color:white}.view-caret{position:absolute;top:23px;left:14px;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-bottom:12px solid var(--red);transition:transform .65s var(--ease)}.nav-right{display:flex;position:absolute;top:0;left:calc(75vw - 42px);right:0;justify-content:space-between;gap:20px}.nav-right a{white-space:nowrap}.filters{display:flex;flex-direction:column;gap:4px}.filters button{text-align:left;white-space:nowrap;position:relative;color:var(--muted);line-height:1.2}.filters button[aria-pressed=true]{color:white}.filters button[aria-pressed=true]:before{content:'';position:absolute;left:-18px;top:3px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:9px solid var(--red)}.menu-toggle{display:none}
#stage{position:absolute;inset:0;touch-action:none;outline:none;user-select:none;cursor:grab;overflow:hidden}#stage.dragging{cursor:grabbing}.card{position:absolute;top:50%;left:50%;overflow:hidden;padding:0;will-change:transform;backface-visibility:hidden;transform-origin:center;cursor:pointer;outline-offset:-5px!important}.card img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;filter:grayscale(1) brightness(.37);transition:filter .55s,transform 1s var(--ease)}.card.is-active img{filter:none}.card:hover img{filter:none}.card.is-active:hover img{transform:scale(1.035)}.card .open-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-40%);background:var(--red);color:#111;font-size:12px;padding:14px 20px;border-radius:30px;opacity:0;transition:opacity .2s,transform .3s;white-space:nowrap}.card.is-active:hover .open-label{opacity:1;transform:translate(-50%,-50%)}.card:focus-visible{outline:2px solid var(--red)}.card:focus-visible img{filter:none}.portfolio.dragging .chrome,.portfolio.dragging .bottom-chrome,.portfolio.dragging .project-meta{opacity:.3}.chrome,.bottom-chrome,.project-meta{transition:opacity .3s}
.project-meta{position:absolute;inset:0;z-index:10;pointer-events:none;font-size:clamp(13px,1.05vw,18px);letter-spacing:-.04em;text-transform:uppercase}.project-meta span{position:absolute;top:50%;transform:translateY(-50%);max-width:200px}.meta-index{left:40px}.meta-name{left:calc(8.33vw + 35px)}.meta-type{left:calc(75vw - 4px);color:var(--muted)}.meta-date{right:40px;color:var(--muted)}.view-slider .meta-index,.view-slider .meta-date{display:none}.view-slider .meta-name{left:50%;top:auto;bottom:47px;transform:translateX(-50%);text-align:center;max-width:440px;width:40%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.view-slider .meta-name:before{content:'';display:block;width:0;height:0;border-left:7px solid transparent;border-right:7px solid transparent;border-top:12px solid var(--red);margin:0 auto 4px}.view-slider .meta-type{left:50%;top:auto;bottom:27px;transform:translateX(-50%);max-width:500px;white-space:nowrap}.bottom-chrome{position:absolute;bottom:40px;left:40px;right:40px;z-index:20;display:flex;align-items:center;gap:24px;font-size:clamp(12px,1.05vw,16px);pointer-events:none}.bottom-chrome>*{pointer-events:auto}.identity-badge{width:115px;height:64px;display:grid;place-items:center;position:relative;font-family:DM Sans,Arial,sans-serif;font-weight:800;font-size:14px;letter-spacing:-.6px;line-height:1;text-align:center}.identity-badge:before,.identity-badge:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(var(--ink),var(--ink)) left top/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) left top/1px 12px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/12px 1px no-repeat,linear-gradient(var(--ink),var(--ink)) right bottom/1px 12px no-repeat}.identity-badge:after{transform:scaleX(-1)}#fisheye{color:#cbc7c2}#fisheye[aria-pressed=true]{color:var(--red)}.project-navigation{position:absolute;left:calc(75vw - 44px);display:flex;gap:15px;align-items:center;color:var(--muted)}.project-navigation button{font-size:22px;min-width:24px;min-height:40px}.project-navigation span{font-size:12px;white-space:nowrap}.drag-hint{margin-left:auto;color:var(--muted)}.ruler,.intro-ruler,.detail-ruler{position:absolute;bottom:0;left:0;right:0;height:26px;z-index:15;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 10px,#555 10px 11px) bottom/100% 10px no-repeat}.ruler:after,.intro-ruler:after,.detail-ruler:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 73px,#666 73px 74px);opacity:.75}.ruler-marker{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--red);z-index:2}.side-ruler{position:absolute;top:0;bottom:0;width:24px;pointer-events:none;z-index:15;opacity:0;transition:opacity .6s;background:repeating-linear-gradient(0deg,transparent 0 10px,#555 10px 11px) left/10px 100% no-repeat}.side-ruler:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 73px,#666 73px 74px);opacity:.7}.side-ruler.left{left:0}.side-ruler.right{right:0;transform:scaleX(-1)}.view-list .side-ruler,.view-grid .side-ruler{opacity:1}.view-list .ruler{opacity:0}.view-grid .ruler-marker{display:none}.view-list .meta-name:after{content:'';position:absolute;right:-25px;top:5px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-right:11px solid var(--red)}.empty{position:absolute;inset:35% 20px auto;text-align:center;z-index:2}.empty p{font-size:16px;margin-bottom:28px}.empty button{color:var(--red)}
#intro{position:fixed;inset:0;z-index:100;background:#111;display:grid;place-items:center;transition:clip-path 1.4s var(--ease);clip-path:inset(0)}#intro.leaving{clip-path:inset(0 0 100%)}.intro-center{text-align:center;margin-top:-4vh;padding:24px}#intro h1{font-family:'Helvetica Neue',DM Sans,Arial,sans-serif;font-size:clamp(36px,6.5vw,110px);font-weight:800;line-height:1;letter-spacing:-.07em;color:var(--red)}#intro h1 span{font-size:.42em;vertical-align:top;display:inline-block;margin-top:.16em;letter-spacing:-.05em}#intro p{font-size:12px;line-height:1.65;color:#999;margin-top:16px}#enter{border-radius:40px;background:var(--red);color:#111;padding:15px 27px;margin-top:30px;font-size:13px;font-weight:600;transition:transform .25s,opacity .2s}#enter:hover{transform:scale(1.04)}#load-progress{position:absolute;bottom:64px;left:0;right:0;text-align:center;color:var(--red);font-size:13px}.intro-ruler{filter:sepia(1) saturate(7) hue-rotate(310deg)}
#menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:24px;background:#111e;border:0;color:var(--ink);backdrop-filter:blur(15px);z-index:120}#menu::backdrop{background:#0008}#menu .close-menu{position:absolute;right:24px;top:24px}#menu nav{display:flex;flex-direction:column;gap:22px;margin-top:16vh;font-family:DM Sans,Arial,sans-serif;font-size:40px;font-weight:600;letter-spacing:-2px}#menu>span{position:absolute;bottom:28px;font-size:12px}
#detail{position:fixed;inset:0;z-index:40;background:#fff;color:#111;color-scheme:light;animation:detail-in 1s var(--ease)}@keyframes detail-in{from{clip-path:inset(0 0 0 100%)}to{clip-path:inset(0)}}.detail-header{position:absolute;left:40px;right:40px;top:28px;height:55px;z-index:10;display:flex;justify-content:center;font-size:13px}.detail-heading{text-align:center;max-width:60%}.detail-heading h1{font:inherit;text-transform:uppercase;max-height:34px;overflow:hidden}.detail-heading>span{color:#92908d;text-transform:uppercase}.detail-header #close-detail{position:absolute;right:0;top:0;color:#92908d}#media-rail{position:absolute;inset:0;display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:100px calc(50vw - (100dvh - 260px)/3);outline:none;touch-action:pan-x pan-y}#media-rail::-webkit-scrollbar{display:none}.media-item{flex:0 0 auto;height:calc(100dvh - 260px);width:calc((100dvh - 260px)*.667);position:relative;scroll-snap-align:center;background:#f5f5f5;transition:height .8s var(--ease),width .8s var(--ease)}.media-item img,.media-item video{width:100%;height:100%;object-fit:contain;display:block}.media-item img{cursor:zoom-in}.media-item.video{background:#111}.video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#ff4141e8;color:#111;border-radius:50%;width:60px;height:60px;display:grid;place-items:center;font-size:20px}.video-play.playing{opacity:0;transition:opacity .2s}.media-item:hover .video-play.playing,.video-play:focus-visible{opacity:1}.video-time{position:absolute;bottom:12px;left:12px;color:white;background:#1118;padding:5px 7px;font-size:11px}.detail-footer{position:absolute;bottom:48px;left:40px;right:40px;display:flex;justify-content:space-between;align-items:center;z-index:10;color:#8e8c87;font-size:13px}.media-controls{display:flex;align-items:center;gap:25px;position:absolute;left:50%;transform:translateX(-50%);color:#111}.media-controls button{font-size:22px;padding:10px}.media-controls #media-count{display:flex;flex-direction:column;align-items:center;line-height:1.8}.media-controls #media-count span+span{border-top:1px solid #111;color:#999}#credits-toggle{margin-left:auto;margin-right:30px}.detail-ruler{opacity:.5}#detail.zoomed #media-rail{padding-inline:10vw}.zoomed .media-item{height:calc(100dvh - 140px);width:80vw}.zoomed .media-item img{cursor:zoom-out}#credits{position:absolute;right:30px;bottom:104px;width:min(460px,calc(100vw - 40px));max-height:65dvh;overflow:auto;background:#111f;color:var(--ink);padding:32px;z-index:15;box-shadow:0 10px 80px #0002;font-size:14px;line-height:1.6}#credits-close{position:absolute;right:12px;top:6px;font-size:26px}.credit-date{color:var(--red);margin-bottom:18px}.credit-caption{white-space:pre-wrap;overflow-wrap:anywhere}.credit-status{color:#a7a7a7;margin-top:22px;font-size:12px}
#about{position:fixed;inset:0;overflow-y:auto;z-index:40;background:#111;color:#fff;padding:40px;animation:detail-in 1s var(--ease)}#about:before{content:'';position:fixed;inset:0;z-index:-1;background:linear-gradient(#1115,#111b),url('/assets/instagram/CoCvxdUj7w3-cover.webp') center 40%/cover;filter:grayscale(1);opacity:.65}#about header{display:flex;justify-content:flex-end;position:relative;height:65px}#about h1{font-family:'Helvetica Neue',DM Sans,Arial,sans-serif;font-size:clamp(42px,6.5vw,100px);letter-spacing:-.045em;font-weight:600;line-height:1;text-align:center;max-width:1000px;margin:25px auto 12vh}.about-columns{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:8vw;margin-top:40px}.about-columns h2{color:var(--red);font:inherit;font-size:14px;margin-bottom:24px}.about-columns p{font-size:16px;line-height:1.5;max-width:380px}.about-columns a{font-size:14px}#about footer{display:flex;justify-content:space-between;margin-top:12vh;font-size:13px;padding-bottom:10px}
@media(max-width:1100px) and (min-width:761px){.tagline{display:none}.nav-right{left:auto;gap:20px}.view-toggle{left:42%}.project-navigation{left:auto;right:150px}.meta-name{max-width:140px!important}.meta-date{max-width:130px!important}.meta-type{left:75%}}
@media(max-width:760px){.chrome{inset:22px 20px auto;font-size:14px}.logo{font-size:24px}.tagline,.nav-right{display:none}.view-toggle{top:74px;gap:12px;font-size:14px}.view-caret{top:23px}.menu-toggle{display:block;position:absolute;right:0;top:0;font-size:14px}.bottom-chrome{bottom:35px;left:20px;right:20px;height:40px;justify-content:center}.identity-badge,#fisheye,.drag-hint{display:none}.project-navigation{position:static;gap:28px}.project-navigation span{font-size:12px}.ruler{height:20px}.view-slider .meta-name{bottom:113px;width:calc(100% - 40px);max-width:100%;font-size:13px}.view-slider .meta-type{bottom:93px;font-size:12px;max-width:95%}.view-slider .meta-name:before{margin-bottom:8px}.meta-index{left:20px;top:auto!important;bottom:99px;font-size:12px}.meta-name{left:58px;right:20px;max-width:none!important;top:auto!important;bottom:99px;font-size:13px}.meta-type,.meta-date{display:none}.view-slider .meta-type{display:block}.view-list .meta-name:after{display:none}.side-ruler{width:10px}.side-ruler:after{display:none}.card .open-label{display:none}.intro-center{padding:20px;margin-top:-3vh}#intro h1{font-size:clamp(32px,9vw,58px);letter-spacing:-.065em;max-width:650px}#intro p{margin-top:24px}#enter{margin-top:28px;padding:16px 26px}#load-progress{bottom:50px}.detail-header{left:20px;right:20px;top:24px}.detail-heading{margin-top:51px;max-width:100%;font-size:12px;width:100%}.detail-heading h1{max-height:32px}.detail-header #close-detail{font-size:13px}#media-rail{padding:120px 10vw;gap:4px}.media-item{width:80vw;height:calc(100dvh - 270px)}.detail-footer{left:20px;right:20px;bottom:34px;font-size:12px;align-items:end;height:60px}.media-controls{top:-18px;gap:14px}.media-controls button{font-size:24px}.media-controls #media-count{flex-direction:row;gap:10px}.media-controls #media-count span+span{border:0;color:#999}#credits-toggle{margin-left:0;margin-right:0}.detail-footer #original-link{font-size:11px}.zoomed .media-item{width:100vw;height:calc(100dvh - 215px)}#detail.zoomed #media-rail{padding-inline:0}#credits{right:20px;bottom:108px;padding:28px 22px}#about{padding:24px 20px}#about header{height:90px}#about h1{font-size:42px;text-align:left;margin:12px 0 65px}.about-columns{display:block;margin-top:0}.about-columns>div{margin-bottom:36px}.about-columns h2{margin-bottom:12px}#about footer{margin-top:50px;gap:20px;font-size:11px}#menu nav{font-size:36px}}
@media(max-height:550px) and (min-width:761px){.chrome{top:20px}.view-toggle{top:20px}.bottom-chrome{bottom:28px}.identity-badge{height:45px}.view-slider .meta-name{bottom:38px}.view-slider .meta-type{bottom:20px}.detail-header{top:15px}.detail-footer{bottom:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
#gestures{margin-left:auto;color:var(--muted);white-space:nowrap}#gestures[aria-pressed=true]{color:var(--red)}#gesture-cursor{position:fixed;left:0;top:0;width:24px;height:24px;border:1px solid var(--red);border-radius:50%;pointer-events:none;z-index:200;transition:background .15s}#gesture-cursor.pinching{background:var(--red)}#gesture-tip{position:fixed;bottom:104px;right:40px;max-width:285px;font-size:12px;line-height:1.5;padding:14px 18px;color:var(--ink);background:#111d;z-index:90;border-left:1px solid var(--red)}
@media(max-width:760px){#gestures{display:none}}
#media-rail{user-select:none;cursor:grab}#media-rail.dragging{cursor:grabbing}.media-item img{object-fit:cover}.zoomed .media-item img{object-fit:contain}.motion-project{background:#111!important;color:var(--ink)!important}.motion-project #media-rail{padding:0;gap:0}.motion-project .media-item{width:100vw;height:100dvh;background:#111}.motion-project .detail-header,.motion-project .detail-footer,.motion-project .media-controls{color:var(--ink)}.motion-project .detail-header{pointer-events:none}.motion-project .detail-header a,.motion-project .detail-header button{pointer-events:auto}.motion-project #zoom{visibility:hidden}.motion-project .video-time{bottom:115px;left:40px}.motion-project .video-play{z-index:4}
.ruler{background-position:var(--tick-shift,0px) bottom}.ruler:after{background-position-x:var(--tick-shift,0px)}.ruler input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;z-index:4;pointer-events:auto;cursor:ew-resize}.ruler:focus-within{outline:1px solid var(--red);outline-offset:-1px}.view-list .ruler{pointer-events:none}.view-list .ruler input{display:none}.detail-ruler:before{content:'';position:absolute;left:clamp(5px,var(--media-progress,0%),calc(100% - 5px));bottom:0;width:1px;height:100px;background:var(--red);transition:left .4s var(--ease);z-index:2}.detail-ruler{opacity:.65}
@media(max-width:760px) and (max-height:550px){.view-toggle{top:24px}.view-slider .meta-name{bottom:43px;width:48%}.view-slider .meta-type{bottom:23px}.bottom-chrome{left:auto;right:20px;bottom:25px;width:120px}.project-navigation{gap:10px}.meta-index,.meta-name{bottom:45px}}
@media(max-width:760px) and (max-height:550px){.detail-header{top:20px}.detail-heading{margin-top:0;max-width:60%}#media-rail{padding:65px calc(50vw - (100dvh - 145px)/3)}.media-item{height:calc(100dvh - 145px);width:calc((100dvh - 145px)*.667)}.detail-footer{bottom:24px;height:35px;align-items:center}.media-controls{top:auto}.zoomed .media-item{height:calc(100dvh - 100px);width:80vw}.motion-project #media-rail{padding:0}.motion-project .media-item{height:100dvh;width:100vw}}
@media(max-width:760px) and (max-height:550px){#credits-toggle{margin-left:auto;margin-right:24px}}
