.image-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}@media(max-width:768px){.image-gallery{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.image-gallery{grid-template-columns:1fr}}.image-gallery-item{display:block;margin:0;border:none;border-radius:.625rem;padding:0;overflow:hidden;cursor:zoom-in;background:oklch(.96 .01 258);transition:transform 160ms ease,box-shadow 160ms ease;aspect-ratio:4/3}.image-gallery-item:hover{transform:translateY(-2px);box-shadow:0 6px 20px oklch(0 0 0/.1)}.image-gallery-item:focus-visible{outline:3px solid oklch(.55 .2 258);outline-offset:2px}.dark .image-gallery-item{background:oklch(.22 .02 258)}.dark .image-gallery-item:hover{box-shadow:0 6px 20px oklch(0 0 0/.35)}.image-gallery-item img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 300ms ease}.image-gallery-item:hover img{transform:scale(1.04)}html.image-lightbox-open{overflow:hidden}.image-lightbox{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);background:oklch(0 0 0/.82);opacity:0;visibility:hidden;transition:opacity 200ms ease,visibility 200ms ease}.image-lightbox.is-open{opacity:1;visibility:visible}.image-lightbox img{display:block;max-width:92vw;max-height:86vh;border-radius:.75rem;object-fit:contain;box-shadow:0 20px 60px oklch(0 0 0/.5);transform:scale(.95);transition:transform 200ms ease}.image-lightbox.is-open img{transform:scale(1)}.image-lightbox-close{position:absolute;top:1rem;right:1rem;z-index:1;display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border:none;border-radius:50%;padding:0;color:oklch(1 0 0/.85);background:oklch(0 0 0/.35);font-size:1.25rem;cursor:pointer;transition:background 140ms ease}.image-lightbox-close:hover{background:oklch(0 0 0/.55)}.image-lightbox-prev,.image-lightbox-next{position:absolute;top:50%;z-index:1;display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;border:none;border-radius:50%;padding:0;color:oklch(1 0 0/.85);background:oklch(0 0 0/.3);cursor:pointer;transform:translateY(-50%);transition:background 140ms ease}.image-lightbox-prev:hover,.image-lightbox-next:hover{background:oklch(0 0 0/.5)}.image-lightbox-prev{left:clamp(.5rem,2vw,1.5rem)}.image-lightbox-next{right:clamp(.5rem,2vw,1.5rem)}@media(max-width:640px){.image-lightbox-prev,.image-lightbox-next{width:2.25rem;height:2.25rem}}