.gallery-wrapper{display:grid;grid-gap:10px;grid-auto-flow:dense;grid-auto-rows:200px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:1rem}.gallery-wrapper>div{align-items:center;display:flex;justify-content:center}.gallery-wrapper>div>img{border-radius:5px;height:100%;object-fit:cover;width:100%}.gallery-wrapper .wide{grid-column:span 2}.gallery-wrapper .tall{grid-row:span 2}.gallery-wrapper .big{grid-column:span 2;grid-row:span 2}.gallery-wrapper .gallery-tile{cursor:pointer;position:relative}.gallery-wrapper .gallery-tile:after{background:rgba(0,0,0,.04);border-radius:5px;content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .2s}.gallery-wrapper .gallery-tile:hover:after{opacity:1}.gallery-lightbox{background:rgba(0,0,0,.85);display:none;inset:0;position:fixed;z-index:9999}.gallery-lightbox.open{display:grid;place-items:center}.gallery-lightbox__inner{display:flex;flex-direction:column;gap:10px;max-height:90vh;max-width:92vw;position:relative}.gallery-lightbox__imgwrap{align-items:center;display:flex;justify-content:center;max-height:80vh;max-width:92vw}.gallery-lightbox__img{border-radius:6px;max-height:80vh;max-width:100%;object-fit:contain;opacity:0;transition:opacity .2s ease}.gallery-lightbox.loading .gallery-lightbox__skeleton{border-radius:6px;display:block;inset:0;overflow:hidden;position:absolute}.gallery-lightbox__skeleton:before{animation:lb-shimmer 1.1s infinite;background:linear-gradient(90deg,hsla(0,0%,100%,.06),hsla(0,0%,100%,.16) 20%,hsla(0,0%,100%,.06) 40%);content:"";inset:0;position:absolute;transform:translateX(-100%)}@keyframes lb-shimmer{to{transform:translateX(100%)}}.gallery-lightbox__imgwrap.has-placeholder{background-position:50%;background-repeat:no-repeat;background-size:contain;filter:blur(10px);transform:scale(1.02);transition:filter .15s ease,transform .15s ease}.gallery-lightbox.ready .gallery-lightbox__imgwrap.has-placeholder{filter:none;transform:none}.gallery-lightbox__imgwrap{position:relative}.gallery-lightbox__skeleton{display:none}.gallery-lightbox__caption{color:#fff;font-size:.95rem;line-height:1.4;max-width:92vw;text-align:center;word-wrap:break-word;opacity:.95}.gallery-lightbox__arrow,.gallery-lightbox__close,.gallery-lightbox__download{align-items:center;backdrop-filter:blur(2px);background:rgba(0,0,0,.35);border:1px solid hsla(0,0%,100%,.35);border-radius:999px;color:#fff;cursor:pointer;display:inline-flex;height:42px;justify-content:center;position:absolute;user-select:none;width:42px;z-index:999}.gallery-lightbox__close{right:10px;top:10px}.gallery-lightbox__download{right:58px;top:10px}.gallery-lightbox__download>svg{fill:hsla(0,0%,100%,.5);height:1.5rem;transition:all .3s ease-in-out;width:1.5rem}.gallery-lightbox__download:hover>svg{fill:#fff}.gallery-lightbox__close{margin-top:0}.gallery-lightbox__arrow{top:50%;transform:translateY(-50%)}.gallery-lightbox__arrow--prev{left:-54px}.gallery-lightbox__arrow--next{right:-54px}.gallery-lightbox__close:before{content:"✕";font-size:18px}.gallery-lightbox__arrow--prev:before{content:"◀";font-size:18px}.gallery-lightbox__arrow--next:before{content:"▶";font-size:18px}@media (max-width:640px){.gallery-lightbox__arrow--prev{left:8px}.gallery-lightbox__arrow--next{right:8px}.gallery-wrapper{grid-auto-rows:auto!important;grid-template-columns:1fr!important}.gallery-wrapper .big,.gallery-wrapper .tall,.gallery-wrapper .wide{grid-column:auto!important;grid-row:auto!important}.gallery-wrapper>div>img{height:auto;object-fit:contain;width:100%}}