.gallery{background-color:var(--base-500);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100svh;position:relative;overflow:hidden}.gallery.is-dragging{cursor:grabbing}.gallery.is-expanded{cursor:auto}.gallery-canvas{will-change:transform;position:absolute;top:0;left:0}.gallery-item{border-radius:var(--radius-sm);cursor:pointer;width:150px;height:190px;position:absolute;overflow:hidden}.gallery-item img,.gallery-expanded img{pointer-events:none;filter:contrast(1.1)}.gallery-item img{opacity:.7;transition:opacity var(--duration-base) ease}@media (hover:hover){.gallery:not(.is-dragging) .gallery-item:hover img{opacity:1}}.gallery-overlay{z-index:2;background-color:var(--base-500);opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease;position:fixed;inset:0}.gallery-overlay.is-active{opacity:1;pointer-events:auto}.gallery-expanded{z-index:10;border-radius:var(--radius-sm);background-color:var(--base-500);cursor:zoom-out;position:fixed;top:50%;left:50%;overflow:hidden}.gallery-expanded img{opacity:.75}.gallery-title{z-index:20;width:100%;padding-inline:var(--gutter);text-align:center;color:var(--base-100);pointer-events:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.gallery-title h2{letter-spacing:-.03em;font-size:clamp(2rem,1.6rem + 1.7vw,3rem);font-weight:500}
