.work-section{background:var(--bg-dark);color:var(--fg-dark);padding-bottom:64px}.category-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(20px,4vw,36px);padding:0 24px 40px}.category-nav-btn{background:none;border:none;border-bottom:2px solid transparent;padding:0 0 6px;font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#8a8a8a;cursor:pointer;transition:color .2s var(--ease),border-color .2s var(--ease)}.category-nav-btn:hover{color:var(--fg-dark)}.category-nav-btn.is-active{color:var(--fg-dark);border-bottom-color:var(--accent)}.gallery-grid{display:flex;align-items:flex-start;gap:4px;padding:0 4px;max-width:1800px;margin:0 auto}.gallery-column{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.gallery-item{position:relative;overflow:hidden;background:#111;width:100%;opacity:0;transform:translateY(16px);animation:gallery-item-in .6s var(--ease) forwards}@keyframes gallery-item-in{to{opacity:1;transform:translateY(0)}}.gallery-item-frame{display:block;width:100%;height:100%;border:none;padding:0;margin:0;background:none;cursor:pointer;text-align:left;touch-action:pan-y;overflow:hidden;position:relative}.gallery-item-frame>img,.gallery-item-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .7s var(--ease);pointer-events:none;-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.gallery-item:hover .gallery-item-frame>img,.gallery-item:hover .gallery-item-slide:nth-child(2) img{transform:scale(1.045)}.gallery-item-strip{display:flex;width:300%;height:100%;transform:translate(-33.3333%);will-change:transform}.gallery-item-slide{flex:0 0 33.3333%;width:33.3333%;height:100%}.gallery-item-nav{position:absolute;top:50%;z-index:5;transform:translateY(-50%);width:34px;height:34px;border-radius:50%;border:none;background:#0a0a0a8c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:17px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s var(--ease),background .2s var(--ease),color .2s var(--ease)}.gallery-item:hover .gallery-item-nav{opacity:.9}.gallery-item-nav:hover{opacity:1!important;background:var(--accent);color:var(--fg)}.gallery-item-prev{left:10px}.gallery-item-next{right:10px}@media(hover:none){.gallery-item-nav{opacity:.85}}.gallery-item-title{position:absolute;inset:auto 0 0 0;padding:20px 16px 14px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;font-family:var(--font-display);font-weight:600;font-size:14px;line-height:1.3;opacity:0;transform:translateY(10px);transition:opacity .3s var(--ease),transform .3s var(--ease);pointer-events:none}.gallery-item:hover .gallery-item-title{opacity:1;transform:translateY(0)}@media(hover:none){.gallery-item-title{opacity:1;transform:none;padding:14px 12px 10px;font-size:12px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent 70%)}}.gallery-sentinel{height:40px}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#060607;display:flex;flex-direction:column;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .32s var(--ease),visibility 0s linear .32s}.lightbox.is-open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .32s var(--ease)}.lightbox-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden}.lightbox-backdrop-layer{position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;background-size:cover;background-position:center;filter:blur(90px) saturate(1.6) brightness(.75);transform:scale(1.05);opacity:0;transition:opacity .7s var(--ease)}.lightbox-backdrop-layer.is-active{opacity:.85}.lightbox-backdrop:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#04040680}.lightbox-bar{position:relative;z-index:1;display:flex;justify-content:flex-end;padding:24px clamp(16px,4vw,40px) 12px;color:#fff;flex-shrink:0}.lightbox-caption{position:relative;z-index:1;flex-shrink:0;padding:16px 24px clamp(20px,4vw,40px);color:#fff;transition:opacity .2s var(--ease)}.lightbox-title{display:table;margin:0 auto;max-width:min(70vw,560px);font-family:var(--font-display);font-weight:700;font-size:clamp(17px,2vw,22px);line-height:1.25;letter-spacing:-.01em;text-align:center}.lightbox-count{display:table;margin:6px auto 0;font-size:12px;letter-spacing:.1em;color:#bbb;text-align:center}.lightbox-close{background:none;border:none;color:#fff;font-size:15px;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-display);font-weight:600;padding:10px 0 10px 16px;min-height:44px}.lightbox-close:hover{color:var(--accent)}.lightbox-stage{--card-h: min(46vh, 420px);--card-w: calc(var(--card-h) * .8);position:relative;z-index:1;flex:1;min-height:0;padding:8px 0;overflow:hidden;touch-action:pan-y}.lightbox-rail{position:relative;height:100%;display:flex;align-items:center;gap:clamp(10px,2vw,24px);width:max-content;touch-action:none;cursor:grab;will-change:transform}.lightbox-rail.is-dragging{cursor:grabbing;-webkit-user-select:none;user-select:none}.lightbox-rail.is-single{cursor:default;touch-action:pan-y}.lightbox-rail.is-jumping .lightbox-card{transition:none}.lightbox-card{flex-shrink:0;width:var(--card-w);height:var(--card-h);display:flex;align-items:center;justify-content:center;cursor:pointer;transform-origin:center;transition:transform .1s ease-out;will-change:transform}.lightbox-card img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;pointer-events:none}.lightbox-nav{position:absolute;top:50%;z-index:200;transform:translateY(-50%);background:#ffffff1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:none;border-radius:50%;color:#fff;width:52px;height:52px;display:flex;align-items:center;justify-content:center;font-size:24px;opacity:.85;transition:opacity .2s var(--ease),background .2s var(--ease),color .2s var(--ease)}.lightbox-nav:hover{opacity:1;background:var(--accent);color:var(--fg)}.lightbox-prev{left:clamp(6px,2vw,24px)}.lightbox-next{right:clamp(6px,2vw,24px)}.lightbox-nav.is-hidden{display:none}@media(max-width:640px){.lightbox-title{max-width:100%;font-size:19px}.lightbox-caption{padding-top:8px}.lightbox-stage{padding-bottom:2px}.lightbox-nav{width:44px;height:44px;font-size:20px}.lightbox-rail{gap:10px}}@media(prefers-reduced-motion:reduce){.lightbox-card,.lightbox-backdrop-layer{transition:none}}
