.lc-gallery{max-width:1320px;margin:auto;padding:140px 24px 70px;color:var(--lc-ink)}
.lc-gallery h1{font-size:clamp(32px,5vw,58px);line-height:1.15;max-width:20ch;color:inherit}
.lc-gallery-intro{max-width:650px;margin:24px 0 32px;line-height:1.7}
.lc-gallery button,.lc-gallery input{font:inherit;color:inherit;background:var(--lc-paper);border:1px solid var(--lc-line);border-radius:3px;min-height:44px;padding:10px 14px}
.lc-gallery button{cursor:pointer}.lc-gallery button:focus-visible,.lc-gallery a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.lc-photo-toolbar,.lc-photo-filters{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.lc-gallery .lc-photo-toolbar>button,.lc-gallery .lc-photo-filters>button{width:auto;flex:0 0 auto}
.lc-photo-toolbar input{flex:1;min-width:180px}.lc-photo-filters button[aria-pressed=true]{background:var(--lc-ink);color:var(--lc-paper)}
.lc-photo-grid,.lc-saved-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px}
.lc-photo-card{min-width:0}.lc-photo-card h2{font-size:19px;line-height:1.4;margin:16px 0 10px;color:inherit}
.lc-photo-card .lc-photo-open{display:block;width:100%;border:0;padding:0;background:none;overflow:hidden}
.lc-photo-card img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .4s}
.lc-photo-open:hover img{transform:scale(1.025)}.lc-photo-save{font-size:13px!important}
.lc-gallery dialog{width:min(920px,calc(100% - 32px));max-height:90svh;padding:28px;border:1px solid var(--lc-line);background:var(--lc-paper);color:var(--lc-ink);overflow:auto;margin:auto}
.lc-gallery dialog::backdrop{background:#000a}.lc-gallery dialog h2{font-size:28px;line-height:1.3;color:inherit}
.lc-gallery dialog [data-close]{display:block;margin:0 0 24px auto}.lc-gallery dialog a{color:inherit;text-decoration:underline}
.lc-viewer-media img,.lc-viewer-media video{display:block;width:100%;max-height:58svh;object-fit:contain;background:#111}
.lc-saved-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-saved-reference{border:1px solid var(--lc-line);padding:16px}
@media(max-width:600px){.lc-gallery{padding:115px 20px 50px}.lc-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 14px}.lc-photo-card h2{font-size:16px}.lc-photo-save{font-size:12px!important;width:100%;padding:8px!important}.lc-gallery dialog{padding:20px}.lc-photo-filters{gap:8px}.lc-photo-filters button{font-size:13px}}
@media(prefers-reduced-motion:reduce){.lc-photo-card img{transition:none}}
