@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2) format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2) format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #fdfdfc;--card: #ffffff;--ink: #1c1c1a;--muted: #969693;--faint: #c4c4c0;--rule: #dededb;--mat: #f2f2ef;--shadow: 0 14px 26px rgba(22, 22, 18, .08), 0 2px 5px rgba(22, 22, 18, .1);--ease-out: cubic-bezier(.23, 1, .32, 1);--ease-in-out: cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--paper)}body{min-width:320px;margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}button,a{color:inherit}a{text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible{outline:1px solid var(--ink);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{width:min(1180px,calc(100% - 64px));min-height:100vh;margin:0 auto;padding:40px 0 120px}.topbar,.gallery-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:48px}.topbar{margin-bottom:66px}.home-link{grid-column:2;justify-self:start;color:var(--muted);font-size:15px;transition:color .16s ease}.home-link span{display:inline-block;margin-right:7px;transition:transform .2s var(--ease-out)}.group-index{position:sticky;top:40px;align-self:start;padding-top:48px}.index-label{margin:0 0 13px;color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.group-index ol{display:grid;gap:5px;margin:0;padding:0;list-style:none}.group-index button{display:flex;justify-content:space-between;gap:12px;width:100%;padding:2px 0;border:0;background:transparent;color:var(--muted);cursor:pointer;text-align:left;transition:color .16s ease,transform .2s var(--ease-out)}.group-index button.is-active{color:var(--ink);font-weight:520}.index-number{padding-top:4px;color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10px;font-weight:400;font-variant-numeric:tabular-nums}.groups,.photo-group{min-width:0}.photo-group+.photo-group{margin-top:116px}.photo-group{scroll-margin-top:50vh}.group-heading{display:flex;align-items:baseline;justify-content:center;gap:11px;margin-bottom:28px}.group-heading h2,.group-heading p{margin:0}.group-heading h2{font-size:16px;font-weight:500;letter-spacing:-.01em}.group-heading p{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10px;font-variant-numeric:tabular-nums}.photo-grid{position:relative;display:grid;min-width:0}.photo-grid.is-stacked{grid-template-columns:minmax(0,232px);min-height:360px;justify-content:center;align-items:start;padding-top:14px}.photo-grid.is-tidy{grid-template-columns:repeat(var(--desktop-columns),minmax(0,222px));gap:30px 24px;min-height:360px;justify-content:center;align-content:start}.photo-grid.is-tidy .photo-card:nth-child(2n){padding-top:26px}.photo-grid.is-tidy .photo-card:nth-child(3n){padding-top:12px}.photo-grid.is-tidy .photo-card:nth-child(5n+1){padding-top:18px}.photo-grid.is-stacked .photo-card{grid-area:1 / 1}.photo-card{min-width:0;margin:0}.card-motion{min-width:0}.print{position:relative;display:block;width:100%;padding:13px;border:0;border-radius:1px;background:linear-gradient(165deg,#fffefa,#faf7ef);box-shadow:var(--shadow),inset 0 0 0 1px #a89c8229;cursor:zoom-in;transition:box-shadow .2s ease,transform .2s var(--ease-out)}.print:disabled{cursor:pointer}.print:hover:not(:disabled),.print:focus-visible:not(:disabled){transform:translateY(-3px);box-shadow:0 20px 34px #1616121c,0 3px 7px #1616121a,inset 0 0 0 1px #a89c8229}.print-image{position:relative;display:block;width:100%;overflow:hidden;background:var(--mat)}.print img{display:block;width:100%;height:auto;opacity:0;filter:saturate(.78) contrast(.84) brightness(.94) sepia(.1);transition:filter .32s ease,opacity .42s ease,transform .2s var(--ease-out)}.print img.is-loaded{opacity:1}.print:hover img,.print:focus-visible img{filter:saturate(.96) contrast(.98) brightness(1.03) sepia(.03)}.print-image:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(125% 95% at 50% 42%,transparent 62%,rgba(46,38,24,.16) 100%),linear-gradient(215deg,rgba(255,241,214,.22),transparent 42%)}.print-image:before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;opacity:.16;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='140' height='140' filter='url(%23n)'/></svg>")}.photo-card figcaption{display:flex;justify-content:space-between;gap:12px;margin-top:10px;color:var(--muted);font-size:12px;opacity:0;transform:translate3d(0,-3px,0);transition:opacity .16s ease,transform .2s var(--ease-out)}.photo-card figcaption span:last-child{color:var(--faint);font-family:IBM Plex Mono,monospace;font-size:10px;font-variant-numeric:tabular-nums}.photo-grid.is-stacked figcaption{visibility:hidden}.stack-trigger{position:absolute;inset:0;z-index:20;padding:0;border:0;background:transparent;cursor:pointer}.lightbox{position:fixed;inset:0;z-index:100;display:grid;padding:56px;background:#f9f9f7f7;place-items:center;animation:lightbox-in .18s var(--ease-out) both}.lightbox>img{display:block;max-width:min(1120px,calc(100vw - 112px));max-height:calc(100vh - 140px);object-fit:contain;filter:drop-shadow(0 16px 30px rgba(20,20,18,.12));animation:photograph-in .26s var(--ease-out) both}.lightbox-caption{position:absolute;right:28px;bottom:22px;left:28px;display:flex;justify-content:space-between;margin:0;color:var(--muted);font-size:12px}.lightbox-caption span:last-child{font-family:IBM Plex Mono,monospace;font-size:10px;font-variant-numeric:tabular-nums}.lightbox-close{position:absolute;top:24px;right:28px;display:grid;width:46px;height:46px;padding:0 0 2px;border:1px solid var(--rule);border-radius:50%;background:var(--card);box-shadow:0 8px 24px #14141214;color:var(--muted);cursor:pointer;font-size:24px;font-weight:200;line-height:1;place-items:center;transition:color .16s ease,transform .2s var(--ease-out)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}@keyframes photograph-in{0%{opacity:0;transform:translate3d(0,10px,0) scale(.97)}to{opacity:1;transform:translateZ(0) scale(1)}}@media(hover:hover)and (pointer:fine){.home-link:hover{color:var(--ink)}.home-link:hover span{transform:translate3d(-3px,0,0)}.group-index button:hover{color:var(--ink);transform:translate3d(3px,0,0)}.photo-grid.is-stacked:hover .card-motion{filter:saturate(1.03)}.photo-grid.is-tidy .print:hover{border-color:#d4d4d0;box-shadow:0 20px 34px #1616121c,0 3px 7px #1616121a;transform:translate3d(0,-5px,0) rotate(-.35deg)}.photo-grid.is-tidy .photo-card:nth-child(2n) .print:hover{transform:translate3d(0,-5px,0) rotate(.35deg)}.photo-grid.is-tidy .print:hover img{transform:scale(1.012)}.photo-grid.is-tidy .photo-card:hover figcaption{opacity:1;transform:translateZ(0)}.lightbox-close:hover{color:var(--ink);transform:rotate(6deg) scale(1.04)}}@media(max-width:900px){.page-shell{width:min(100% - 40px,760px)}.topbar,.gallery-layout{grid-template-columns:150px minmax(0,1fr);gap:30px}.photo-grid.is-tidy{grid-template-columns:repeat(var(--mobile-columns),minmax(0,1fr))}}@media(max-width:620px){.page-shell{width:min(100% - 32px,460px);padding-top:24px;padding-bottom:72px}.topbar,.gallery-layout{display:block}.topbar{margin-bottom:44px}.group-index{position:relative;top:auto;margin-bottom:40px;padding:0}.group-index button{width:min(190px,100%)}.group-heading{justify-content:space-between;margin-bottom:26px}.photo-grid.is-stacked{grid-template-columns:minmax(0,196px);min-height:310px;padding-top:10px}.photo-grid.is-tidy{min-height:310px;gap:20px 12px}.print{padding:8px}.photo-grid.is-tidy .photo-card figcaption{opacity:1;transform:none}.photo-card figcaption span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lightbox{padding:24px}.lightbox>img{max-width:calc(100vw - 48px);max-height:calc(100vh - 120px)}.lightbox-close{top:16px;right:16px}.lightbox-caption{right:16px;bottom:16px;left:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.home-link span,.group-index button,.print,.print img,.photo-card figcaption,.lightbox-close{transition:color .12s ease,opacity .12s ease}.lightbox{animation:lightbox-in .12s ease both}.lightbox>img{animation:none}}
