.gallery-list-content{max-width:var(--size-content-max);margin-inline:auto;padding:0 var(--space-6)var(--space-16)}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-6)}@media(max-width:480px){.gallery-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--space-4)}}.gallery-card{display:block;cursor:pointer}.gallery-thumb-wrap{aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-sm);background:var(--color-bg-surface);position:relative}.gallery-thumb-wrap img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-editorial);cursor:zoom-in}.gallery-card:hover .gallery-thumb-wrap img{transform:scale(1.03)}.gallery-hover-overlay{position:absolute;inset:0;background:linear-gradient( to top,rgba(13,12,11,.78) 0%,rgba(13,12,11,0) 55% );opacity:0;transition:opacity var(--transition-editorial);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-4);gap:var(--space-1)}.gallery-card:hover .gallery-hover-overlay{opacity:1}.gallery-hover-overlay .gallery-title{display:block;font-size:var(--text-base);font-weight:var(--weight-light);letter-spacing:var(--tracking-wide);color:var(--color-text);transform:translateY(4px);transition:transform var(--transition-editorial)}.gallery-card:hover .gallery-hover-overlay .gallery-title{transform:translateY(0)}.gallery-hover-overlay .gallery-count{display:block;font-size:var(--text-xs);letter-spacing:var(--tracking-wide);color:var(--color-text-muted)}@media(hover:none){.gallery-hover-overlay{opacity:1}.gallery-hover-overlay .gallery-title{transform:translateY(0)}}@media(max-width:768px){.gallery-list-content{padding-inline:var(--space-4)}}.photo-masonry-wrap{max-width:var(--size-content-max);margin-inline:auto;padding:0 var(--space-6)var(--space-16)}.photo-masonry{columns:3;column-gap:var(--space-3)}@media(max-width:1024px){.photo-masonry{columns:2}}@media(max-width:600px){.photo-masonry{columns:1}.photo-masonry-wrap{padding-inline:var(--space-4)}}.photo-masonry a{display:block;break-inside:avoid;margin-bottom:var(--space-3);border-radius:var(--radius-sm);overflow:hidden;background:var(--color-bg-surface);cursor:zoom-in}.photo-masonry img{width:100%;height:auto;display:block;transition:opacity var(--transition-base)}.photo-masonry a:hover img{opacity:.88}