.gallery-link{display:block;position:relative;border-radius:var(--radius);overflow:hidden;cursor:zoom-in}
.gallery-link img{transition:transform .45s ease}
.gallery-link:hover img{transform:scale(1.025)}
.gallery-more{margin-top:30px}
.gallery-more-intro{display:flex;align-items:baseline;justify-content:space-between;gap:18px;margin-bottom:15px}
.gallery-more-intro h3{font-size:20px;letter-spacing:-.025em}
.gallery-more-intro p{font-size:12px}
.gallery-thumbnails{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;max-width:900px}
.gallery-thumbnail{min-width:0;margin:0}
.gallery-thumbnail img{width:100%;height:180px;object-fit:cover;object-position:center 30%;border-radius:14px}
.gallery-thumbnail figcaption{font-size:11px;line-height:1.4;margin-top:9px;color:var(--muted)}
.gallery-viewer{width:min(1120px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:22px;background:var(--paper);overflow:auto;border-radius:18px}
.gallery-viewer .dialog-close{z-index:1;top:12px;right:12px;background:var(--paper);border-radius:50%;width:44px;height:44px;font-size:28px;box-shadow:0 2px 12px #0002}
.gallery-viewer figure{margin:0}
.gallery-viewer-image{width:100%;height:min(70dvh,740px);object-fit:contain;border-radius:10px;background:var(--panel)}
.gallery-viewer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:18px}
.gallery-viewer-caption{font-size:14px;color:var(--ink);line-height:1.5}
.gallery-viewer-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.gallery-viewer-count{font-size:12px;min-width:36px;text-align:center;color:var(--muted)}
.gallery-viewer .circle-button{width:44px;height:44px}
body:has(.gallery-viewer[open]){overflow:hidden}
body:has(.gallery-viewer[open]) .contact-dock{visibility:hidden}
@media(max-width:1100px){.gallery-thumbnail img{height:145px}}
@media(max-width:760px){.gallery-more{margin-top:24px}.gallery-more-intro{display:block}.gallery-more-intro h3{font-size:19px}.gallery-more-intro p{margin-top:7px}.gallery-thumbnails{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:5px 5px 12px;margin:-5px}.gallery-thumbnail{flex:0 0 126px;scroll-snap-align:start}.gallery-thumbnail img{height:164px}.gallery-viewer{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:12px;border-radius:14px}.gallery-viewer-image{height:66dvh}.gallery-viewer-bottom{gap:12px;margin:14px 4px 4px}.gallery-viewer-caption{font-size:12px}.gallery-viewer-controls{gap:7px}.gallery-viewer-count{font-size:11px;min-width:28px}}
@media(prefers-reduced-motion:reduce){.gallery-link img{transition:none}.gallery-link:hover img{transform:none}}

/* Only additional photos use the compact rail. Main studio photos stay unchanged. */
.gallery-more-intro,.gallery-carousel{margin-inline:0;max-width:none}
.gallery-more-intro{margin-bottom:12px}
.gallery-carousel{position:relative;min-width:0}
.gallery-carousel .gallery-thumbnails{--fade-left:0px;--fade-right:0px;display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc((100% - (var(--gallery-columns,4) - 1)*14px)/var(--gallery-columns,4));gap:14px;max-width:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scrollbar-width:none;overscroll-behavior-x:contain;padding:3px 0 4px;margin:0;cursor:grab;mask-image:linear-gradient(to right,transparent 0,#000 var(--fade-left),#000 calc(100% - var(--fade-right)),transparent 100%)}
.gallery-thumbnails::-webkit-scrollbar{display:none}
.gallery-carousel.can-scroll-prev .gallery-thumbnails{--fade-left:28px}
.gallery-carousel.can-scroll-next .gallery-thumbnails{--fade-right:28px}
.gallery-carousel .gallery-thumbnail{min-width:0;scroll-snap-align:start}
.gallery-carousel .gallery-thumbnail img{height:180px;border-radius:14px;pointer-events:none}
.gallery-carousel .gallery-thumbnail figcaption{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;min-height:15px;margin-top:8px}
.gallery-carousel .gallery-link{border-radius:14px}
.gallery-carousel.is-dragging .gallery-thumbnails{cursor:grabbing;scroll-snap-type:none;user-select:none}
.gallery-carousel.is-dragging .gallery-link{cursor:grabbing}
.gallery-carousel.is-dragging img{transform:none;transition:none}
.gallery-carousel :focus-visible{outline:2px solid var(--green);outline-offset:-2px}
.gallery-status{display:flex;align-items:center;gap:16px;min-height:32px;margin-top:2px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.gallery-status>span{flex:none}
.gallery-progress{display:block;appearance:none;-webkit-appearance:none;flex:1;min-width:0;width:100%;height:32px;margin:0;background:transparent;cursor:ew-resize;border:0;border-radius:0;padding:0;color:var(--green)}
.gallery-progress:disabled{cursor:default;opacity:.6}
.gallery-progress::-webkit-slider-runnable-track{height:3px;border:0;border-radius:3px;background:var(--line)}
.gallery-progress::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;height:3px;width:var(--gallery-progress-size,25%);border:0;border-radius:3px;background:var(--green)}
.gallery-progress::-moz-range-track{height:3px;border:0;border-radius:3px;background:var(--line)}
.gallery-progress::-moz-range-thumb{height:3px;width:var(--gallery-progress-size,25%);border:0;border-radius:3px;background:var(--green)}
@media(max-width:1100px){.gallery-carousel .gallery-thumbnail img{height:145px}}
@media(max-width:760px){.gallery-more{margin-top:24px}.gallery-more-intro{margin-bottom:12px}.gallery-carousel .gallery-thumbnails{display:grid;grid-auto-columns:calc((100% - 12px)/2);gap:12px;padding:3px 0 4px;margin:0}.gallery-carousel .gallery-thumbnail{min-width:0}.gallery-carousel .gallery-thumbnail img{height:150px}.gallery-status{gap:12px;min-height:40px;margin-top:0}.gallery-progress{height:40px}.gallery-carousel.can-scroll-prev .gallery-thumbnails{--fade-left:24px}.gallery-carousel.can-scroll-next .gallery-thumbnails{--fade-right:24px}}
