.fsm-gallery{margin:2rem 0;color:inherit;font:inherit}
.fsm-gallery .fsm-heading{margin-bottom:1.5rem}
.fsm-gallery .fsm-heading h2{margin:0 0 .6em}
.fsm-gallery .fsm-shop{display:inline-block;padding:.65em 0;text-underline-offset:.25em}
.fsm-gallery .fsm-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.fsm-gallery .fsm-columns-1{grid-template-columns:1fr}
.fsm-gallery .fsm-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.fsm-gallery .fsm-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.fsm-gallery .fsm-photo{min-width:0;max-width:100%;margin:0}
.fsm-gallery .fsm-photo a{display:block}
.fsm-gallery .fsm-photo img{display:block;width:100%;height:auto;background:var(--kz-paper,#fff)}
.fsm-gallery .fsm-photo figcaption{font-size:.8em;line-height:1.5;padding:.65em 0;color:var(--kz-muted,inherit)}
.fsm-gallery .fsm-pagination{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:center;margin-top:2rem}
.fsm-gallery .fsm-pagination a{padding:.65em 0}
.fsm-gallery a:focus-visible{outline:3px solid var(--kz-accent,currentColor);outline-offset:4px}
@media(max-width:900px){.fsm-gallery .fsm-grid:not(.fsm-columns-1){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fsm-gallery .fsm-grid{grid-template-columns:1fr!important}}
.fsm-browser{margin:2rem 0}
.fsm-breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.6em;list-style:none;padding:0;margin:0 0 1.5rem}
.fsm-breadcrumbs li+li:before{content:"/";margin-right:.6em;opacity:.5}
.fsm-folder-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}
.fsm-browser .fsm-folder-card{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#242823;color:#fff;text-decoration:none}
.fsm-folder-card>img{display:block;width:100%;height:100%;object-fit:cover}
.fsm-card-copy{position:absolute;inset:auto 0 0;padding:1.1rem;background:linear-gradient(transparent,rgba(0,0,0,.85));text-shadow:0 1px 3px #000}
.fsm-card-copy strong{display:block;font-size:1.25em;font-weight:500}.fsm-card-copy small{font-size:.75em}
.fsm-cover-placeholder{display:grid;place-items:center;height:100%;font-size:3rem;color:#aaa}
.fsm-browser .fsm-pagination{display:flex;gap:1.5rem;margin-top:1.5rem}
.fsm-browser a:focus-visible{outline:3px solid var(--kz-accent,currentColor);outline-offset:4px}
.fsm-viewer{width:min(1100px,94vw);max-width:94vw;max-height:94vh;padding:1rem;background:#111;color:#fff;border:0}
.fsm-viewer::backdrop{background:rgba(0,0,0,.88)}
.fsm-viewer-controls{display:flex;justify-content:flex-end}
.fsm-viewer-photo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.5rem;align-items:center}
.fsm-viewer-photo img{max-width:100%;width:auto;height:auto;max-height:68vh;object-fit:contain;margin:auto}
.fsm-viewer button{padding:.7rem;border:1px solid #888;background:#222;color:#fff;min-height:44px;min-width:44px}
.fsm-viewer button:disabled{opacity:.3}.fsm-viewer a{color:#fff;text-underline-offset:.25em}
.fsm-viewer :focus-visible{outline:3px solid #fff;outline-offset:3px}.fsm-viewer-caption{margin:.8rem 0;font-size:.9rem}
@media(max-width:900px){.fsm-folder-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.fsm-folder-grid{grid-template-columns:1fr}.fsm-viewer{padding:.5rem}}
/* Photographs form a close-packed mosaic without cropping the photographs. */
.fsm-gallery.fsm-mosaic .fsm-grid{display:block;columns:3;column-gap:.65rem}
.fsm-gallery.fsm-mosaic .fsm-photo{position:relative;break-inside:avoid;margin:0 0 .65rem}
.fsm-gallery.fsm-mosaic .fsm-photo img{width:100%;height:auto}
.fsm-gallery.fsm-mosaic .fsm-photo figcaption{position:absolute;bottom:0;left:0;right:0;margin:0;padding:1.5rem .7rem .5rem;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-size:.75em;pointer-events:none}
.fsm-gallery.fsm-mosaic .fsm-photo a:focus-visible{outline-offset:-4px;outline-color:#fff}
@media(max-width:900px){.fsm-gallery.fsm-mosaic .fsm-grid{columns:2}}
@media(max-width:600px){.fsm-gallery.fsm-mosaic .fsm-grid{columns:1}}

.fsm-gallery.fsm-mosaic .fsm-columns-1{columns:1}
.fsm-gallery.fsm-mosaic .fsm-columns-2{columns:2}
.fsm-gallery.fsm-mosaic .fsm-columns-4{columns:4}
.fsm-browser-root .fsm-folder-grid{gap:.65rem}
.fsm-browser-root .fsm-folder-card{aspect-ratio:2/1}
.fsm-folder-card::after{content:"";position:absolute;inset:0;background:#000;opacity:0;transition:opacity .2s ease;pointer-events:none}
.fsm-folder-card:hover::after,.fsm-folder-card:focus-visible::after{opacity:.3}
.fsm-card-copy{z-index:1}
.fsm-browser-root .fsm-card-copy{padding:.75rem}
.fsm-browser-root .fsm-card-copy strong{font-size:1em}
@media(max-width:900px){.fsm-gallery.fsm-mosaic .fsm-grid:not(.fsm-columns-1){columns:2}}
@media(max-width:600px){.fsm-gallery.fsm-mosaic .fsm-grid{columns:1}}
@media(prefers-reduced-motion:reduce){.fsm-folder-card::after{transition:none}}

/* A quiet navigation band separates the collections from the photographs. */
.fsm-browser-root .fsm-folder-grid{background:#eeefeb;padding:1rem;border-top:2px solid var(--kz-accent,#4e9991)}
.fsm-browser-root>.fsm-gallery{margin-top:3.5rem}
@media(max-width:600px){.fsm-browser-root .fsm-folder-grid{padding:.65rem}.fsm-browser-root>.fsm-gallery{margin-top:2.5rem}}

.fsm-gallery .fsm-heading .fsm-shop{display:block;width:fit-content;max-width:100%;margin-left:auto;font-size:.8em;line-height:1.5;text-align:right}

/* A small recent-photo strip for introductions and widgets. */
.fsm-recent-preview .fsm-gallery.fsm-mosaic .fsm-grid{display:grid;columns:auto;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.fsm-recent-preview .fsm-gallery.fsm-mosaic .fsm-photo{margin:0}
.fsm-recent-preview .fsm-gallery.fsm-mosaic .fsm-photo img{aspect-ratio:4/3;object-fit:cover}
@media(max-width:600px){.fsm-recent-preview .fsm-gallery.fsm-mosaic .fsm-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px}}
