/* A horizontal photo journal, with a shared sliding enlarged view. */
.works-track{--gallery-gap:25px;position:relative;display:flex;align-items:flex-start;gap:var(--gallery-gap);overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:5px;cursor:grab}
.works-track::-webkit-scrollbar{display:none}
.works-track .gallery-card{flex:0 0 calc((100% - 2*var(--gallery-gap))/3);min-width:0;padding-top:0!important;scroll-snap-align:start}
.works-track .gallery-image{aspect-ratio:.93}
.works-track .gallery-image img{-webkit-user-drag:none;user-select:none}
.works-track.is-dragging{scroll-snap-type:none;cursor:grabbing;user-select:none}
.works-track.is-dragging button{cursor:grabbing}
.works-track:focus-visible{outline:1px solid #899d58;outline-offset:8px}
.gallery-navigation{display:flex;align-items:center;gap:24px;margin-top:25px;color:var(--muted)}
.gallery-position{min-width:98px;font:9px/1.5 var(--sans);letter-spacing:1px;font-variant-numeric:tabular-nums}
.gallery-rail{height:1px;background:var(--line);flex:1;overflow:hidden}
.gallery-rail i{display:block;width:100%;height:100%;background:#7d8f62;transform-origin:left;transform:scaleX(.5);transition:transform .18s linear}
.gallery-directions{display:flex;gap:10px}
.gallery-directions button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #b7c0aa;border-radius:50%;background:transparent;transition:background .3s,opacity .3s;color:var(--ink)}
.gallery-directions button:hover:not(:disabled){background:#e7eadf}
.gallery-directions button:disabled{opacity:.3;cursor:default}
.gallery-directions .ui-icon{width:17px;height:17px}
.lightbox-stage{position:absolute;inset:0;overflow:hidden;touch-action:pan-y pinch-zoom;cursor:grab;user-select:none;isolation:isolate}
.lightbox-stage.is-dragging{cursor:grabbing}
.lightbox-stage img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;will-change:transform;-webkit-user-drag:none}
@media(max-width:1050px){.works-track{--gallery-gap:20px}.works-track .gallery-card{flex-basis:calc((100% - var(--gallery-gap))/2)}}
@media(max-width:700px){
 .works-track{--gallery-gap:16px;margin-right:-4%;padding-right:4%}
 .works-track .gallery-card{flex-basis:84%}
 .works-track .gallery-image{aspect-ratio:.9}
 .gallery-navigation{gap:15px;margin-top:20px}
 .gallery-position{font-size:8px;min-width:75px;letter-spacing:.5px}
 .gallery-directions{gap:8px}.gallery-directions button{width:39px;height:39px}
}
@media(prefers-reduced-motion:reduce){.gallery-rail i,.gallery-directions button{transition:none}.lightbox-stage img{will-change:auto}}
