:root{color-scheme:dark;--page:#202020;--ink:#f4f3ef;--muted:#b8b8b3;--gap:8px;--edge:24px;font-family:Arial,Helvetica,sans-serif;background:var(--page);color:var(--ink)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-gutter:stable}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:2px solid #fff;outline-offset:5px}.skip{position:fixed;top:-80px;left:16px;z-index:20;background:#202020;padding:12px}.skip:focus{top:12px}
.cover{margin:0;position:relative;background:#171717}.cover-photo{display:block;width:100%;height:auto;max-height:90svh;object-fit:contain}.cover-signature{position:absolute;top:24px;left:var(--edge);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:#fff;background:#20202080;padding:7px 9px}
.gallery-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:34px var(--edge) 32px}h1{font-size:18px;font-weight:500;letter-spacing:.035em;margin:0}.jump{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:12px;white-space:nowrap}.jump svg{width:16px;height:16px}.gallery-shell{padding:0 var(--edge)}
.mosaic{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap);align-items:start;scroll-margin-top:18px}.mosaic.is-laid-out{display:block}.tile{display:block;position:relative;overflow:hidden;line-height:0;background:#292929;contain:layout paint}.is-laid-out .tile{position:absolute}.tile img{display:block;width:100%;height:100%;object-fit:contain;aspect-ratio:var(--ratio)}.tile:focus-visible{outline-offset:-3px;z-index:2}.tile .play{position:absolute;left:12px;bottom:12px;width:26px;height:26px;color:#fff;filter:drop-shadow(0 1px 3px #0008)}.tile:hover img{opacity:.96}.tile img{transition:opacity .16s ease}.tile-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.footer{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:64px var(--edge);font-size:12px;color:var(--muted)}.footer .signature{font-size:11px;letter-spacing:.12em;text-transform:uppercase}.footer a:hover{color:#fff}.footer .projects{text-underline-offset:5px;text-decoration:underline;text-decoration-color:#ffffff55}
.pswp{--pswp-bg:#191919;--pswp-icon-color:#f4f3ef;--pswp-icon-color-secondary:#191919;--pswp-icon-stroke-color:transparent;--pswp-icon-stroke-width:0;--pswp-root-z-index:100}.pswp__counter{font:12px Arial,Helvetica,sans-serif;opacity:.7;letter-spacing:.04em}.pswp__button{opacity:.8}.pswp__button:hover{opacity:1}.pswp__img{object-fit:contain}.pswp__filename{position:absolute;bottom:16px;left:0;width:100%;text-align:center;font-size:11px;color:#b6b6b1;letter-spacing:.06em;pointer-events:none}.video-slide{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.video-slide video{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;background:#191919}.pswp__button--arrow{display:block!important}.pswp__button--arrow .pswp__icn{width:26px;height:26px;top:calc(50% - 13px)}
@media(min-width:1600px){:root{--edge:32px;--gap:10px}.mosaic{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){:root{--edge:6px;--gap:5px}.cover-signature{top:14px;left:14px;font-size:10px;padding:5px 7px}.cover-photo{max-height:none}.gallery-heading{padding:26px 16px;gap:12px}h1{font-size:15px;letter-spacing:.015em}.jump{font-size:11px;gap:5px}.mosaic{grid-template-columns:repeat(2,minmax(0,1fr))}.footer{padding:48px 16px;font-size:11px}.footer .signature{font-size:10px}.pswp__button--arrow{width:40px}.pswp__button--arrow--prev{left:0}.pswp__button--arrow--next{right:0}.pswp__button--arrow .pswp__icn{left:7px;width:22px;height:22px}.pswp__filename{bottom:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
html.viewer-open{overflow:hidden}.cover-signature{background:none;padding:0}
.pswp__button--arrow{visibility:visible!important}.pswp__button--arrow:disabled{display:none!important}.pswp__button--arrow .pswp__icn{margin-top:0;width:40px;height:40px;top:calc(50% - 20px)}@media(max-width:700px){.pswp__button--arrow .pswp__icn{left:3px;right:auto;width:34px;height:34px;top:calc(50% - 17px)}}
