.gallery__title{align-items:center;gap:.75rem;margin:0 0 2rem;display:flex}.gallery__fig{border-radius:var(--radius-md);background:var(--color-border);border:1px solid var(--color-border);box-shadow:var(--shadow-card);margin:0;overflow:hidden}.gallery__img{width:100%;height:auto;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block}.gallery__fig:hover .gallery__img{transform:scale(1.04)}.gallery__items--grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:clamp(.75rem,2vw,1.25rem);display:grid}.gallery__items--grid .gallery__fig{aspect-ratio:4/3}.gallery__items--grid .gallery__img{object-fit:cover;height:100%}.gallery__items--masonry{columns:1;column-gap:clamp(.75rem,2vw,1.25rem)}@media (min-width:560px){.gallery__items--masonry{columns:2}}@media (min-width:960px){.gallery__items--masonry{columns:3}}.gallery__items--masonry .gallery__fig{break-inside:avoid;margin-bottom:clamp(.75rem,2vw,1.25rem)}.gallery__items--carousel{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;grid-auto-columns:78%;grid-auto-flow:column;gap:1rem;padding-bottom:.5rem;display:grid;overflow-x:auto}@media (min-width:768px){.gallery__items--carousel{grid-auto-columns:40%}}.gallery__items--carousel .gallery__fig{scroll-snap-align:start;aspect-ratio:4/3}.gallery__items--carousel .gallery__img{object-fit:cover;height:100%}.gallery__carousel{align-items:center;gap:.75rem;display:flex}.gallery__navbtn{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);cursor:pointer;z-index:2;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:1.4rem;line-height:1;display:inline-flex}.gallery__navbtn:hover{border-color:var(--color-primary);color:var(--color-primary)}.gallery__track{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;flex:1;gap:1rem;min-width:0;display:flex;overflow:hidden}.gallery__track:active{cursor:grabbing}.gallery__fig--carousel{aspect-ratio:4/3;scroll-snap-align:start;border-radius:var(--radius-md);background:var(--color-border);box-shadow:var(--shadow-card);flex:0 0 calc(33.3333% - .666667rem);overflow:hidden}.gallery__fig--carousel .gallery__img{object-fit:cover;width:100%;height:100%;display:block}@media (max-width:768px){.gallery__fig--carousel{flex:0 0 calc(66.6667% - .666667rem)}.gallery__navbtn{display:none}}@media (max-width:560px){.gallery__fig--carousel{flex:0 0 80%}}@media (prefers-reduced-motion:reduce){.gallery__track{scroll-behavior:auto}}
