.home-gallery { position:relative; isolation:isolate; background:#f6f1e8; padding:clamp(24px,5svh,100px) 0; overflow:hidden; }
.home-gallery::before { content:''; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(#fff8,#fff5),var(--gallery-background,url("img/nature-misty-landscape.webp")); background-size:cover; background-position:center; pointer-events:none; }
.home-gallery__inner { width:90%; max-width:2400px; margin:auto; }
.home-gallery h2 { font-family:'Gilda Display',serif; font-size:clamp(34px,3.2vw,100px); font-weight:400; line-height:1.2; text-align:center; margin:0; color:#222; }
.home-gallery__viewport { position:relative; width:100%; margin:clamp(16px,2svh,40px) auto 0; }
.home-gallery__ring { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.home-gallery__card { display:block; overflow:hidden; border-radius:16px; background:#eee; }
.home-gallery__card img { display:block; width:100%; height:100%; aspect-ratio:3/4; object-fit:cover; }
.home-gallery.is-depth-wave .home-gallery__viewport { height:min(58vw,66svh); min-height:340px; perspective:1400px; touch-action:pan-y; cursor:grab; user-select:none; }
.home-gallery.is-depth-wave .home-gallery__viewport.is-dragging { cursor:grabbing; }
.home-gallery.is-depth-wave .home-gallery__ring { display:block; position:absolute; left:50%; top:50%; width:0; height:0; transform-style:preserve-3d; }
.home-gallery.is-depth-wave .home-gallery__card { position:absolute; left:0; top:0; width:var(--depth-card-width); height:var(--depth-card-height); box-shadow:0 22px 48px #1c201b38; will-change:transform,opacity; backface-visibility:hidden; }
.home-gallery :focus-visible { outline:3px solid #aa8453; outline-offset:5px; }
.home-gallery-lightbox img.mfp-img { width:auto; height:auto; max-width:100%; object-fit:contain; }
.home-gallery-lightbox .mfp-figure { cursor:default; }
.home-gallery-lightbox .mfp-title { padding-right:55px; }
.home-gallery-lightbox.mfp-bg { background:#111712; opacity:0; transition:opacity .4s ease; }
.home-gallery-lightbox.mfp-bg.mfp-ready { opacity:.94; }
.home-gallery-lightbox.mfp-bg.mfp-removing { opacity:0; }
.home-gallery-lightbox .mfp-content { opacity:0; transform:translateY(20px) scale(.94); transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .35s ease; }
.home-gallery-lightbox.mfp-ready .mfp-content { opacity:1; transform:translateY(0) scale(1); }
.home-gallery-lightbox.mfp-removing .mfp-content { opacity:0; transform:translateY(12px) scale(.97); }
.home-gallery-lightbox .mfp-img { filter:drop-shadow(0 20px 40px #0005); }
.home-gallery-lightbox .mfp-close { min-width:44px; min-height:44px; }
.home-gallery-lightbox .mfp-bottom-bar { margin-top:-30px; }
@media (prefers-reduced-motion:reduce) { .home-gallery-lightbox.mfp-bg,.home-gallery-lightbox .mfp-content { transition:none; } .home-gallery-lightbox .mfp-content { transform:none; } }
@media (max-width:767px) { .home-gallery__inner { width:92%; } .home-gallery.is-depth-wave .home-gallery__viewport { height:96vw; min-height:0; max-height:520px; } }
.home-gallery-lightbox .mfp-container { padding: 0 72px; }
.home-gallery-lightbox img.mfp-img { max-width: calc(100vw - 144px); max-height: calc(100vh - 24px) !important; padding: 0; }
.home-gallery-lightbox .mfp-figure:after { top: 0; bottom: 0; }
.home-gallery-lightbox .mfp-arrow { width: 56px; height: 56px; margin-top: -28px; border-radius: 50%; background: #111a; opacity: .9; }
.home-gallery-lightbox .mfp-arrow-left { left: 10px; }
.home-gallery-lightbox .mfp-arrow-right { right: 10px; }
@media (max-width: 600px) { .home-gallery-lightbox .mfp-container { padding: 0 44px; } .home-gallery-lightbox img.mfp-img { max-width: calc(100vw - 88px); max-height: calc(100vh - 24px) !important; } .home-gallery-lightbox .mfp-arrow { width: 40px; height: 48px; margin-top: -24px; } .home-gallery-lightbox .mfp-arrow-left { left: 2px; } .home-gallery-lightbox .mfp-arrow-right { right: 2px; } }