/* Responsive customer gallery — controlled by Website settings. */
.gallery-modern{display:block!important;height:auto!important;min-height:0!important;grid-auto-rows:auto!important;overflow:visible!important;border:none!important;background:transparent!important}
.gallery-modern .gallery-stage{position:relative;width:100%;height:clamp(270px,49vw,560px);overflow:hidden;border-radius:22px;background:#d4cec2;isolation:isolate;touch-action:pan-y;box-shadow:0 15px 36px #29221d19}
.gallery-modern .showcase-slide{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;opacity:1;transform:translateX(105%);transition:transform .65s cubic-bezier(.22,.72,.18,1),opacity .65s ease;will-change:transform,opacity;cursor:zoom-in;pointer-events:none;z-index:0}
.gallery-modern .showcase-slide.is-active{opacity:1;transform:none;pointer-events:auto;z-index:2}
.gallery-modern .showcase-slide.is-exiting{transform:translateX(-105%);z-index:1;pointer-events:none}
.gallery-modern[data-direction=backward] .showcase-slide{transform:translateX(-105%)}
.gallery-modern[data-direction=backward] .showcase-slide.is-exiting{transform:translateX(105%)}
.gallery-modern[data-direction=backward] .showcase-slide.is-active{transform:none}
.gallery-modern .showcase-slide>img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.gallery-modern .showcase-slide:after{content:'';position:absolute;inset:38% 0 0;pointer-events:none;background:linear-gradient(transparent,rgba(19,17,15,.50))}
.gallery-showcase-caption{position:absolute;bottom:26px;left:24px;right:90px;z-index:4;display:block;color:#fff;font-weight:750;font-size:clamp(13px,1.8vw,18px);text-shadow:0 2px 8px #0009;text-align:left;pointer-events:none}
.gallery-slide-count{position:absolute;right:20px;top:20px;z-index:8;color:#fff;font-size:12px;font-weight:800;letter-spacing:.15em;background:#101a1980;border:1px solid #ffffff4a;border-radius:50px;padding:9px 13px;backdrop-filter:blur(12px)}
.gallery-modern .gallery-slide-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:9;border:1px solid #ffffff7b;border-radius:50%;background:#ffffffda;color:#292622;backdrop-filter:blur(12px);width:44px;height:44px;display:grid;place-items:center;padding:0;font-size:33px;line-height:1;box-shadow:0 7px 22px #0002;cursor:pointer}
.gallery-modern .gallery-slide-arrow:hover{background:white}.gallery-modern .gallery-slide-arrow:focus-visible,.gallery-modern .gallery-slide-dot:focus-visible,.gallery-modern .gallery-slide-thumb:focus-visible{outline:3px solid var(--gold,#9a7a4f);outline-offset:3px}
.gallery-slide-arrow.is-prev{left:16px}.gallery-slide-arrow.is-next{right:16px}
.gallery-slide-dots{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:17px;max-width:100%}
.gallery-slide-dot{width:9px;height:9px;padding:0;min-width:9px;border:0;border-radius:99px;background:#d4cdc2;font-size:0;transition:width .25s ease,background .25s ease}
.gallery-slide-dot.is-current{width:26px;background:var(--gold,#9a7a4f)}
.gallery-slide-thumbs{display:flex;gap:11px;overflow-x:auto;padding:14px 2px 5px;scroll-snap-type:x proximity;scrollbar-width:thin}
.gallery-slide-thumb{position:relative;flex:0 0 104px;height:70px;overflow:hidden;padding:0;border:2px solid transparent;border-radius:10px;background:#e8e4db;opacity:.73;scroll-snap-align:center;transition:opacity .2s,border-color .2s,transform .2s}
.gallery-slide-thumb.is-current{border-color:var(--gold,#9a7a4f);opacity:1}.gallery-slide-thumb:hover{opacity:1;transform:translateY(-2px)}
.gallery-slide-thumb img{width:100%;height:100%;object-fit:cover;display:block}
/* Effects for both next/previous navigation. */
.gallery-modern[data-animation=fade] .showcase-slide,.gallery-modern[data-animation=kenburns] .showcase-slide{transform:none!important;opacity:0;transition:opacity .75s ease}
.gallery-modern[data-animation=fade] .showcase-slide.is-active,.gallery-modern[data-animation=kenburns] .showcase-slide.is-active{opacity:1}
.gallery-modern[data-animation=zoom] .showcase-slide{transform:scale(1.10)!important;opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1),opacity .8s ease}
.gallery-modern[data-animation=zoom] .showcase-slide.is-active{transform:scale(1)!important;opacity:1}
.gallery-modern[data-animation=flip] .gallery-stage{perspective:1400px}
.gallery-modern[data-animation=flip] .showcase-slide{transform:rotateY(78deg)!important;transform-origin:50% 50%;opacity:0;transition:transform .85s cubic-bezier(.2,.72,.21,1),opacity .65s ease;backface-visibility:hidden}
.gallery-modern[data-animation=flip] .showcase-slide.is-active{transform:rotateY(0deg)!important;opacity:1}
.gallery-modern[data-animation=kenburns] .showcase-slide.is-active>img{animation:galleryKenBurns 12s ease-in-out both alternate infinite}
@keyframes galleryKenBurns{0%{transform:scale(1) translateX(0)}100%{transform:scale(1.14) translateX(-2.2%)}}
/* Static layouts still get the selected entrance animation and hover treatment. */
.gallery-modern.gallery-tiles{display:grid!important;gap:11px;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:190px}
.gallery-modern.gallery-tiles.is-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:195px}
.gallery-modern.gallery-tiles.is-mosaic{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:dense;grid-auto-rows:180px}
.gallery-modern .gallery-tile{position:relative;display:block;overflow:hidden;border:0;border-radius:18px;padding:0;margin:0;min-width:0;min-height:0;background:#e9e2d8;cursor:zoom-in;text-align:left;animation:galleryTileIn .7s cubic-bezier(.22,.7,.25,1) both;animation-delay:calc(var(--tile-index,0)*65ms)}
.gallery-modern .gallery-tile>img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s ease}
.gallery-modern .gallery-tile:hover img{transform:scale(1.075)}
.gallery-modern .gallery-tile:focus-visible{outline:3px solid var(--gold,#9a7a4f);outline-offset:3px}
.gallery-modern.gallery-tiles.is-mosaic .gallery-tile:first-child{grid-column:span 2;grid-row:span 2}
.gallery-modern.gallery-tiles.is-mosaic .gallery-tile:nth-child(7n+5){grid-column:span 2}
.gallery-modern.gallery-tiles .gallery-tile .gallery-showcase-caption{font-size:13px;left:12px;bottom:12px;right:12px;padding:7px 10px;border-radius:9px;background:#171a16a6;line-height:1.35}
@keyframes galleryTileIn{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.gallery-modern.gallery-tiles[data-animation=slide] .gallery-tile{animation-name:galleryTileSlide}
.gallery-modern.gallery-tiles[data-animation=zoom] .gallery-tile{animation-name:galleryTileZoom}
.gallery-modern.gallery-tiles[data-animation=flip] .gallery-tile{animation-name:galleryTileFlip;backface-visibility:hidden}
.gallery-modern.gallery-tiles[data-animation=fade] .gallery-tile{animation-name:galleryTileFade}
.gallery-modern.gallery-tiles[data-animation=kenburns] .gallery-tile{animation-name:galleryTileFade}
.gallery-modern.gallery-tiles[data-animation=kenburns] .gallery-tile img{animation:galleryKenBurns 13s ease-in-out alternate infinite}
@keyframes galleryTileSlide{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:translateX(0)}}
@keyframes galleryTileZoom{from{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@keyframes galleryTileFlip{from{opacity:0;transform:perspective(800px) rotateY(60deg)}to{opacity:1;transform:perspective(800px) rotateY(0)}}
@keyframes galleryTileFade{from{opacity:0}to{opacity:1}}
.gallery-modern .gallery-empty{padding:35px;text-align:center;font-size:14px;color:var(--muted,#756f67)}
@media(max-width:750px){
 .gallery-modern .gallery-stage{height:clamp(260px,58vw,420px);border-radius:15px}
 .gallery-modern.gallery-tiles.is-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:165px}
 .gallery-modern.gallery-tiles.is-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:155px}
 .gallery-modern.gallery-tiles.is-mosaic .gallery-tile:nth-child(7n+5){grid-column:span 1}
 .gallery-slide-thumbs{gap:7px}.gallery-slide-thumb{flex-basis:80px;height:56px}
 .gallery-modern .gallery-slide-arrow{width:38px;height:38px;font-size:28px}
 .gallery-modern .gallery-showcase-caption{bottom:14px;left:14px;right:62px}
}
@media(max-width:450px){.gallery-modern .gallery-stage{height:260px}.gallery-modern.gallery-tiles.is-grid{grid-auto-rows:125px}.gallery-modern.gallery-tiles.is-mosaic{grid-auto-rows:130px}.gallery-slide-arrow.is-prev{left:9px}.gallery-slide-arrow.is-next{right:9px}}
@media(prefers-reduced-motion:reduce){.gallery-modern .showcase-slide,.gallery-modern .gallery-tile,.gallery-modern .gallery-slide-dot,.gallery-modern .gallery-slide-thumb img{animation:none!important;transition:none!important}.gallery-modern[data-animation=kenburns] .showcase-slide>img,.gallery-modern.gallery-tiles[data-animation=kenburns] .gallery-tile>img{animation:none!important}}

/* v8: a running slideshow must never move the surrounding document. */
.gallery-modern{overflow-anchor:none;contain:layout style}
.gallery-modern .gallery-stage{overflow:hidden;overflow-anchor:none;contain:layout paint}
.gallery-modern .gallery-slide-dots{flex-wrap:nowrap;min-height:26px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;overflow-anchor:none}
.gallery-modern .gallery-slide-dot{flex:0 0 24px;width:24px;min-width:24px;height:12px;background:transparent;position:relative;transition:none}
.gallery-modern .gallery-slide-dot::before{content:'';position:absolute;top:1px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:99px;background:#d4cdc2;transition:width .25s ease,background .25s ease}
.gallery-modern .gallery-slide-dot.is-current{width:24px;background:transparent}
.gallery-modern .gallery-slide-dot.is-current::before{width:24px;background:var(--gold,#9a7a4f)}
.gallery-modern .gallery-slide-thumbs{overflow-anchor:none;overscroll-behavior-x:contain;scroll-behavior:auto;contain:layout style}
@media(prefers-reduced-motion:reduce){.gallery-modern .gallery-slide-dot::before{transition:none}}
