.work-filters{display:flex;flex-wrap:wrap;gap:8px 24px;margin-bottom:40px}.work-filter-btn{background:none;border:none;padding:0;font-family:var(--font-ui);font-size:12px;letter-spacing:var(--letter-nav);text-transform:uppercase;color:var(--color-subtle);cursor:pointer;line-height:1}.work-filter-btn.is-active{color:var(--color-text);text-decoration:underline}.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--grid-gap)}.work-item{display:block;text-decoration:none}.work-item:hover .work-thumb{opacity:.8}.work-thumb{width:100%;aspect-ratio:4 / 3;background-color:var(--color-border);transition:opacity .2s ease;display:block}img.work-thumb{object-fit:cover;width:100%;aspect-ratio:4 / 3}.work-caption{margin-top:10px;font-size:13px;color:var(--color-subtle);line-height:1.4}.work-item.is-hidden{display:none}@media(max-width:1024px){.work-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.work-grid{grid-template-columns:1fr}}.work-detail{max-width:720px;margin:0 auto}.work-header{margin-bottom:56px}.work-title{font-size:clamp(28px,4vw,44px);font-weight:400;line-height:1.15;letter-spacing:-.01em;margin-bottom:12px}.work-meta{font-size:13px;color:var(--color-subtle);letter-spacing:.01em}.work-body{margin-bottom:80px}.work-body h2,.work-body h3{font-size:12px;font-weight:400;letter-spacing:var(--letter-nav);text-transform:uppercase;color:var(--color-text);margin-top:56px;margin-bottom:20px}.work-body p{font-size:15px;line-height:1.75;margin-bottom:1.5rem;color:var(--color-text)}.work-body hr{border:none;border-top:1px solid var(--color-border);margin:48px 0}.work-body img{width:100%;height:auto;display:block;margin:40px 0 8px}.work-body figure{margin:40px 0}.work-body figcaption{font-size:12px;color:var(--color-subtle);margin-top:8px;line-height:1.5}.work-body blockquote{border-left:1px solid var(--color-border);padding-left:24px;margin:32px 0;font-style:italic;color:var(--color-subtle)}.work-body a{text-decoration:underline}.work-body .wide{width:min(960px,100vw - (var(--pad-x) * 2));margin-left:50%;transform:translate(-50%)}.work-back a{font-size:13px;color:var(--color-subtle);text-decoration:none;letter-spacing:.01em}.work-back a:hover{color:var(--color-text)}.lightbox{display:none;position:fixed;inset:0;background:#000000f2;z-index:1000;align-items:center;justify-content:center}.lightbox.is-open{display:flex}.lb-img-wrap{max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.lb-img{max-width:90vw;max-height:88vh;width:auto;height:auto;object-fit:contain;display:block}.lb-close{position:fixed;top:24px;right:32px;background:none;border:none;color:#ffffffb3;font-size:28px;cursor:pointer;line-height:1;padding:8px;transition:color .15s;font-family:var(--font-ui);font-weight:300}.lb-close:hover{color:#fff}.lb-prev,.lb-next{position:fixed;top:50%;transform:translateY(-50%);background:none;border:none;color:#ffffff80;font-size:20px;cursor:pointer;padding:16px 20px;transition:color .15s;font-family:var(--font-ui);letter-spacing:.05em}.lb-prev{left:16px}.lb-next{right:16px}.lb-prev:hover,.lb-next:hover{color:#fff}.lb-counter{position:fixed;bottom:28px;left:50%;transform:translate(-50%);font-size:11px;letter-spacing:.1em;color:#fff6;font-family:var(--font-ui);text-transform:uppercase}.work-gallery{display:flex;flex-direction:column;gap:4px;margin-bottom:64px}.gallery-item{margin:0}.gallery-item .work-img{width:100%;height:auto;display:block;cursor:zoom-in}.work-body img,.work-body .work-img{width:100%;height:auto;display:block;cursor:zoom-in;margin:40px 0 6px}.layout-wide{width:min(1100px,90vw);margin-left:50%;transform:translate(-50%);margin-top:48px;margin-bottom:48px}.layout-wide img,.layout-wide .work-img{width:100%;height:auto;cursor:zoom-in}.layout-wide figcaption{font-size:12px;color:var(--color-subtle);margin-top:8px}.layout-split{display:grid;grid-template-columns:2fr 1fr;gap:clamp(24px,3vw,48px);align-items:start;margin:48px 0}.layout-split .split-media img,.layout-split .split-media .work-img{width:100%;height:auto;cursor:zoom-in;margin:0}.layout-split .split-text{padding-top:4px}.layout-text-only{max-width:480px;margin:48px auto;padding:0 16px}@media(max-width:768px){.layout-split{grid-template-columns:1fr}.layout-wide{width:100%;margin-left:0;transform:none}}
