.gallery-wall-section{--wall-cell-width:clamp(140px,calc((100vw - var(--gutter) - var(--gutter) - 24px - (var(--wall-columns) - 1)*8px)/var(--wall-columns)),220px);--wall-gap:8px;overflow:hidden}
.gallery-wall-section .gallery-wall-heading{align-items:flex-end;gap:32px;margin-bottom:12px}
.gallery-wall-tools{display:flex;align-items:center;gap:26px;margin-left:auto}
.gallery-wall-nav{display:flex;gap:10px}
.gallery-wall-nav .round-button{width:44px;height:44px;background:transparent;border-color:#b5a782}
.gallery-wall-nav .round-button:hover{background:#eae4d8}
.gallery-wall-nav .round-button:disabled{opacity:.28}
[data-gallery-wall-prev] svg{transform:rotate(180deg)}
.gallery-wall-viewport{position:relative;overflow-x:auto;overflow-y:hidden;padding:24px 12px 30px;scrollbar-width:none;touch-action:auto;overscroll-behavior-x:contain;outline-offset:-3px}
.gallery-wall-viewport::-webkit-scrollbar{display:none}
.gallery-wall-track{position:relative;display:grid;grid-template-columns:repeat(var(--wall-columns,6),var(--wall-cell-width));grid-template-rows:repeat(var(--wall-rows,4),calc(var(--wall-cell-width)/1.5));grid-auto-flow:row;gap:var(--wall-gap);width:max-content;overflow:visible;margin-inline:auto}
.gallery-wall-photo{position:relative;z-index:var(--wall-z,0);display:block;width:100%;height:100%;min-width:0;overflow:hidden;padding:0;border:0;border-radius:4px;background:transparent;transform:translate3d(var(--wall-x,0px),var(--wall-y,0px),0) scale(var(--wall-scale,1));transform-origin:center;cursor:zoom-in;will-change:transform;box-shadow:0 calc(var(--wall-lift,0)*9px) calc(var(--wall-lift,0)*24px) #11151b24;-webkit-user-select:none;user-select:none;touch-action:auto}
.gallery-wall-photo img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.gallery-wall-section.is-enhanced .gallery-wall-viewport{overflow:hidden;cursor:grab;touch-action:pan-y pinch-zoom}
.gallery-wall-section.is-enhanced .gallery-wall-track{will-change:transform}
.gallery-wall-section.is-dragging .gallery-wall-viewport,.gallery-wall-section.is-dragging .gallery-wall-photo{cursor:grabbing}
.gallery-wall-photo:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
@media(max-width:600px){.gallery-wall-section{--wall-cell-width:96px;--wall-gap:8px}.gallery-wall-section .gallery-wall-heading{display:flex;align-items:flex-end;gap:16px}.gallery-wall-section .gallery-wall-heading .eyebrow{margin-bottom:16px}.gallery-wall-tools{flex-direction:column;align-items:flex-end;gap:14px}.gallery-wall-nav{gap:8px}.gallery-wall-nav .round-button{width:38px;height:38px}.gallery-wall-photo{border-radius:3px}.gallery-wall-viewport{padding:16px 6px 22px}}
.gallery-wall-carousel-meta{display:none}
.gallery-wall-section.is-mobile-carousel .gallery-wall-viewport{overflow-x:auto;overflow-y:hidden;padding:0;cursor:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;touch-action:auto;-webkit-overflow-scrolling:touch}
.gallery-wall-section.is-mobile-carousel .gallery-wall-track{display:flex;gap:0;width:100%;height:auto;margin:0;transform:none;will-change:auto}
.gallery-wall-section.is-mobile-carousel .gallery-wall-photo{flex:0 0 100%;width:100%;height:auto;aspect-ratio:3/2;scroll-snap-align:start;scroll-snap-stop:always;border-radius:0;transform:none;box-shadow:none;will-change:auto}
.gallery-wall-section.is-mobile-carousel .gallery-wall-carousel-meta{display:flex;align-items:center;justify-content:center;gap:14px;min-height:40px;padding:8px 0}
.gallery-wall-carousel-dots{display:flex;align-items:center;justify-content:center;gap:6px;min-width:54px;height:12px}
.gallery-wall-carousel-dots span{width:5px;height:5px;border-radius:50%;background:#c8c5bf;transition:background .15s,transform .15s}
.gallery-wall-carousel-dots span[hidden]{display:none}
.gallery-wall-carousel-dots span.is-current{background:var(--gold,#a68a57);transform:scale(1.4)}
.gallery-wall-carousel-count{min-width:44px;color:var(--muted,#686865);font-size:12px;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.gallery-wall-photo,.gallery-wall-track{will-change:auto}.gallery-wall-section.is-mobile-carousel .gallery-wall-viewport{scroll-behavior:auto}.gallery-wall-carousel-dots span{transition:none}}
