.masonry-gallery{max-width:80rem;margin:0 auto;padding:6rem 1.25rem}.masonry-grid{-moz-columns:3;columns:3;-moz-column-gap:16px;column-gap:16px}.masonry-item{-moz-column-break-inside:avoid;break-inside:avoid;margin-bottom:16px;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;animation:masonryFadeUp .4s ease both}@keyframes masonryFadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.masonry-item img{width:100%;display:block;transition:transform .4s ease}.masonry-item:hover img{transform:scale(1.03)}.masonry-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to top,rgba(0,0,0,.6) 0%,transparent 60%);opacity:0;transition:opacity .4s ease;display:flex;flex-direction:column;justify-content:flex-end;padding:1.25rem}.masonry-item:hover .masonry-overlay{opacity:1}.masonry-overlay__name{color:#fff;font-size:1.125rem;font-weight:700;line-height:1.3;margin:0}.masonry-overlay__category{display:inline-block;margin-top:.375rem;padding:.2rem .65rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#fff;background:#ffffff2e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:999px;width:-moz-fit-content;width:fit-content}.masonry-overlay__arrow{position:absolute;top:1rem;right:1rem;color:#fff;font-size:1.25rem;opacity:0;transform:translate(-6px,6px);transition:opacity .4s ease,transform .4s ease}.masonry-item:hover .masonry-overlay__arrow{opacity:1;transform:translate(0)}.masonry-filters{display:flex;align-items:center;gap:.5rem;margin-bottom:2.5rem;position:relative;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.masonry-filters::-webkit-scrollbar{display:none}.masonry-filters__track{display:flex;align-items:center;gap:.5rem;position:relative}.masonry-filter-btn{position:relative;z-index:1;padding:.5rem 1.35rem;border-radius:999px;border:1.5px solid transparent;font-size:.875rem;font-weight:500;cursor:pointer;background:transparent;color:#525252;white-space:nowrap;transition:color .35s ease,border-color .35s ease,background .35s ease}.masonry-filter-btn--inactive{border-color:#d4d4d4}.masonry-filter-btn--inactive:hover{border-color:#a3a3a3;color:#171717}.masonry-filter-btn--active{color:#fff;border-color:transparent}.masonry-filters__indicator{position:absolute;top:0;left:0;height:100%;background:#171717;border-radius:999px;transition:transform .4s cubic-bezier(.4,0,.2,1),width .4s cubic-bezier(.4,0,.2,1);z-index:0}.masonry-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;background:#000000e6;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lightboxFade .25s ease both}@keyframes lightboxFade{0%{opacity:0}to{opacity:1}}.masonry-lightbox__figure{margin:0;max-width:92vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;animation:lightboxZoom .25s cubic-bezier(.22,1,.36,1) both}@keyframes lightboxZoom{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.masonry-lightbox__figure img{max-width:92vw;max-height:80vh;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;border-radius:8px;box-shadow:0 24px 80px #00000080}.masonry-lightbox__caption{display:flex;align-items:center;gap:.75rem;margin-top:1rem;color:#fff}.masonry-lightbox__name{font-size:1rem;font-weight:700;letter-spacing:.02em}.masonry-lightbox__category{padding:.2rem .65rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;background:#ffffff2e;border-radius:999px}.masonry-lightbox__close,.masonry-lightbox__nav{position:absolute;display:flex;align-items:center;justify-content:center;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:999px;cursor:pointer;transition:background .25s ease,transform .25s ease}.masonry-lightbox__close:hover,.masonry-lightbox__nav:hover{background:#ffffff38}.masonry-lightbox__close{top:1.25rem;right:1.25rem;width:2.75rem;height:2.75rem;font-size:1.75rem;line-height:1}.masonry-lightbox__nav{top:50%;transform:translateY(-50%);width:3.25rem;height:3.25rem;font-size:2.25rem;line-height:1}.masonry-lightbox__nav:hover{transform:translateY(-50%) scale(1.08)}.masonry-lightbox__nav--prev{left:1.25rem}.masonry-lightbox__nav--next{right:1.25rem}@media (max-width: 640px){.masonry-lightbox__nav{width:2.5rem;height:2.5rem;font-size:1.75rem}.masonry-lightbox__nav--prev{left:.5rem}.masonry-lightbox__nav--next{right:.5rem}}@media (max-width: 1024px){.masonry-grid{-moz-columns:2;columns:2}}@media (max-width: 640px){.masonry-grid{-moz-columns:1;columns:1}.masonry-gallery{padding:3rem 1rem}}
