@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400&family=Noto+Serif+SC:wght@400&display=swap";:root{--ink:#171713;--paper:#f1efe9;--muted:#77746d;--line:#c6c2b8}*{box-sizing:border-box}html{scroll-behavior:smooth;max-width:100%;overflow-x:hidden}body{margin:0;max-width:100%;overflow-x:hidden;background:var(--paper);color:var(--ink);font-family:DM Sans,sans-serif;font-weight:300}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 3vw;border-bottom:1px solid var(--line);position:sticky;top:0;background:#f1efe9e8;backdrop-filter:blur(12px);z-index:10}.brand{font-family:"Noto Serif SC";font-size:20px;letter-spacing:.08em}.brand small{font:10px DM Sans;margin-left:10px;letter-spacing:.2em;color:var(--muted)}nav{display:flex;gap:28px}.nav,.filter{border:0;background:none;padding:5px 0;cursor:pointer;font-size:10px;letter-spacing:.18em}.nav:hover,.filter:hover,.filter.active{border-bottom:1px solid}.edition{text-align:right;font-size:9px;letter-spacing:.16em;color:var(--muted)}.intro{min-height:48vh;display:grid;grid-template-columns:1.25fr .75fr;padding:7vw 3vw 4vw;align-items:end}h1{font:400 clamp(54px,9vw,140px)/.9 "Noto Serif SC";letter-spacing:-.06em;margin:0}.side{max-width:380px;margin-left:auto}.side p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 28px}.filters{display:flex;flex-wrap:wrap;gap:15px 24px}.filter{color:var(--muted)}.filter.active{color:var(--ink)}.works{padding:0 3vw 9vw;display:grid;grid-template-columns:repeat(12,1fr);gap:6vw 2.2vw}.card{grid-column:span 6;cursor:pointer;opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.card:nth-child(3n+2){margin-top:11vw}.card.is-visible{opacity:1;transform:none}.card.hidden{display:none}.card:hover{transform:translateY(-5px)}.visual{aspect-ratio:4/3;overflow:hidden;position:relative;background:#ddd}.visual img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s ease}.card:hover .visual img{transform:scale(1.03);filter:saturate(.88) contrast(1.04)}.visual:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#fff0 43%,#ffffff2e 50%,#fff0 57%,transparent 75%);transform:translate(-120%);transition:transform 1.1s cubic-bezier(.2,.7,.2,1);mix-blend-mode:soft-light;pointer-events:none}.card:hover .visual:after{transform:translate(120%)}.meta{display:grid;grid-template-columns:1fr auto;border-top:1px solid;margin-top:12px;padding-top:14px;position:relative}.meta:before{content:"";position:absolute;left:0;top:-1px;width:0;height:1px;background:var(--ink);transition:width .65s cubic-bezier(.2,.7,.2,1)}.card:hover .meta:before{width:100%}.title-row{display:flex;align-items:baseline;gap:20px}.meta h2{font:400 26px "Noto Serif SC";margin:0}.meta h2 span{font:10px DM Sans;letter-spacing:.18em;margin-left:10px;color:var(--muted)}.view-link{display:inline-flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.18em;color:var(--muted);overflow:hidden}.view-link i{display:block;width:22px;height:1px;background:currentColor;transform-origin:left;transition:width .45s cubic-bezier(.2,.7,.2,1)}.card:hover .view-link{color:var(--ink)}.card:hover .view-link i{width:62px}.meta p{font-size:9px;letter-spacing:.16em;line-height:1.7;text-align:right;margin:3px 0;color:var(--muted)}dialog{width:100%;height:100%;max-width:100vw;max-height:100vh;margin:0;border:0;padding:0;overflow-x:hidden;opacity:0;transform:translateY(10px);transition:opacity .36s ease,transform .36s ease}dialog[open]{opacity:1;transform:none}@starting-style{dialog[open]{opacity:0;transform:translateY(10px)}}#viewer{background:#080808;color:#eee}.viewer-head{height:72px;display:flex;justify-content:space-between;align-items:center;padding:0 max(3vw,32px);border-bottom:1px solid #202020;position:sticky;top:0;background:#080808ed;backdrop-filter:blur(12px);z-index:2}.viewer-head .brand{color:#f2f2ed;font-family:DM Sans;font-size:15px;letter-spacing:.2em}.viewer-head .brand small{color:#888}.close{border:0;background:none;font-size:30px;cursor:pointer;transition:transform .3s}.viewer-head .close{color:#eee}.close:hover{transform:rotate(90deg)}.viewer-body{width:min(960px,calc(100vw - 64px));max-width:100%;margin-inline:auto;padding:28px 0 8vw}.viewer-title{display:flex;justify-content:space-between;align-items:baseline;margin:0 0 24px;padding-bottom:16px;border-bottom:1px solid #1f1f1f}.viewer-title h2{font:400 clamp(22px,2.4vw,34px) "Noto Serif SC";letter-spacing:.02em;margin:0;color:#f1f1ec}.viewer-title p{font-size:9px;letter-spacing:.2em;color:#777;margin:0}.sheet{width:100%;max-width:100%;columns:3;column-gap:10px;overflow-x:clip}.frame{display:inline-block;width:100%;max-width:100%;height:230px;aspect-ratio:auto;background:#151515;cursor:zoom-in;margin:0 0 10px;break-inside:avoid;vertical-align:top}.frame:nth-child(4n+1){height:210px}.frame:nth-child(4n+2){height:270px}.frame:nth-child(4n+3){height:190px}.frame:nth-child(4n){height:240px}.frame img{display:block;width:100%;max-width:100%;height:100%;object-fit:cover;object-position:center}.photo-info{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;color:#fff;background:#0000;transition:background .5s}.photo-info span{font-size:9px;letter-spacing:.14em;opacity:0;transform:translateY(9px);transition:opacity .45s,transform .45s}.frame:hover .photo-info,.frame:focus-within .photo-info{background:#0004}.frame:hover .photo-info span,.frame:focus-within .photo-info span{opacity:1;transform:none}.frame:hover img{transform:scale(1.025)}#lightbox{background:#050505;color:#fff;transform:none}.lightbox-stage{height:100%;display:grid;grid-template-columns:80px minmax(0,1fr) 80px;align-items:center;padding:24px}.lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 100px);margin:auto;object-fit:contain}.lightbox-close{position:fixed;right:28px;top:18px;color:#fff;z-index:2}.lightbox-nav{border:0;background:none;color:#fff;font-size:28px;cursor:pointer;opacity:.65;transition:opacity .25s,transform .25s}.lightbox-nav:hover{opacity:1;transform:scale(1.12)}.lightbox-meta{position:fixed;left:28px;bottom:22px;font-size:9px;letter-spacing:.16em;color:#999}footer{padding:36px 3vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:9px;letter-spacing:.16em;color:var(--muted)}@media(max-width:900px){.sheet{columns:2}}@media(max-width:720px){header{height:70px;grid-template-columns:1fr auto}.edition{display:none}nav{gap:14px}.intro{grid-template-columns:1fr;min-height:55vh;padding-top:16vw}.side{margin:48px 0 0}.works{display:block}.card{margin:0 0 18vw!important}.view-link i{width:34px}.viewer-head{height:64px;padding:0 18px}.viewer-body{width:calc(100vw - 24px);padding-top:24px}.viewer-title{margin-bottom:14px;padding:0 2px 14px}.viewer-title h2{font-size:26px}.viewer-title p{font-size:8px}.sheet{columns:1}.frame{margin-bottom:12px}.photo-info{position:relative;min-height:36px;padding:10px 1px 0;color:#aaa;background:none!important}.photo-info span{opacity:1;transform:none;font-size:8px}.lightbox-stage{grid-template-columns:38px 1fr 38px;padding:12px}.lightbox-nav{font-size:22px}.lightbox-meta{left:14px;bottom:12px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.card{cursor:pointer}}.sheet .frame{display:inline-block;position:relative;width:100%;max-width:100%;height:auto;margin:0 0 12px;overflow:hidden;break-inside:avoid;vertical-align:top;background:#151515;cursor:zoom-in;aspect-ratio:auto;opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*36ms)}.sheet .frame.is-visible{opacity:1;transform:none}.sheet .frame img{display:block;width:100%;height:auto;max-width:100%;object-fit:contain;object-position:center;transition:transform .65s cubic-bezier(.2,.7,.2,1),filter .5s ease}.sheet .photo-info{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:space-between;padding:12px;color:#fff;background:transparent;transition:background .5s}.sheet .photo-info span{font-size:9px;letter-spacing:.14em;opacity:0;transform:translateY(9px);transition:opacity .45s,transform .45s}.sheet .frame:after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:#fff9;transition:right .55s cubic-bezier(.2,.7,.2,1)}.sheet .frame:hover:after,.sheet .frame:focus-visible:after{right:0}.sheet .frame:hover .photo-info,.sheet .frame:focus-visible .photo-info{background:linear-gradient(180deg,transparent 55%,#0009)}.sheet .frame:hover .photo-info span,.sheet .frame:focus-visible .photo-info span{opacity:1;transform:none}.sheet .frame:hover img{transform:scale(1.012);filter:saturate(.9) brightness(.92)}@media(max-width:720px){.sheet .frame{height:auto;margin-bottom:12px}.sheet .frame:nth-child(n){height:auto}.sheet .photo-info{align-items:flex-end;padding:12px}.sheet .photo-info span{opacity:1;transform:none}}.sheet{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;columns:auto;align-items:start}.masonry-col{min-width:0}.masonry-col:nth-child(2){padding-top:72px}.masonry-col:nth-child(3){padding-top:144px}@media(max-width:900px){.sheet{grid-template-columns:repeat(2,minmax(0,1fr))}.masonry-col:nth-child(2){padding-top:54px}.masonry-col:nth-child(3){padding-top:0}}@media(max-width:720px){.sheet{grid-template-columns:1fr}.masonry-col:nth-child(n){padding-top:0}}
