.home-gallery-section{background:#fff}
.gallery-all-link{font-weight:750;color:var(--green)}
.gallery-v2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-v2-card{appearance:none;-webkit-appearance:none;border:0;padding:0;margin:0;position:relative;display:block;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:16px;background:#e9efeb;cursor:pointer;text-align:left;color:#fff}
.gallery-v2-card:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.gallery-v2-card img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.gallery-v2-overlay{position:absolute;inset:auto 0 0;padding:44px 15px 14px;background:linear-gradient(180deg,transparent,rgba(8,28,21,.88));display:flex;flex-direction:column;gap:2px}
.gallery-v2-overlay strong{font-size:15px;line-height:1.25}
.gallery-v2-overlay small{display:block;font-size:12px;line-height:1.35;color:#e4eee9}
.gallery-v2-empty{padding:28px;border:1px dashed var(--line);border-radius:16px;background:var(--soft);text-align:center}
.gallery-v2-empty p{margin:5px 0 0;color:var(--muted)}
.gallery-lightbox[hidden]{display:none!important}
.gallery-lightbox{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px}
.gallery-lightbox-backdrop{position:absolute;inset:0;background:rgba(5,14,11,.92);backdrop-filter:blur(6px)}
.gallery-lightbox-dialog{position:relative;z-index:1;width:min(1040px,100%);max-height:calc(100vh - 36px);display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center}
.gallery-lightbox-dialog figure{min-width:0;margin:0;background:#0f1915;border-radius:18px;overflow:hidden;box-shadow:0 20px 80px rgba(0,0,0,.45)}
.gallery-lightbox-image-wrap{display:flex;align-items:center;justify-content:center;min-height:280px;max-height:72vh;background:#07100c}
.gallery-lightbox-image-wrap img{display:block;max-width:100%;max-height:72vh;width:auto;height:auto;object-fit:contain}
.gallery-lightbox-dialog figcaption{padding:14px 18px 16px;color:#fff}
.gallery-lightbox-dialog figcaption strong{display:block;font-size:17px;line-height:1.35}
.gallery-lightbox-dialog figcaption p{margin:4px 0 0;color:#bac9c2;font-size:14px;line-height:1.5}
.gallery-lightbox-close,.gallery-lightbox-nav{appearance:none;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.13);display:grid;place-items:center}
.gallery-lightbox-close{position:absolute;right:9px;top:9px;z-index:3;width:44px;height:44px;border-radius:999px;font-size:30px;line-height:1}
.gallery-lightbox-nav{width:44px;height:54px;border-radius:12px;font-size:36px;justify-self:center}
.gallery-lightbox-nav:focus-visible,.gallery-lightbox-close:focus-visible{outline:3px solid #fff;outline-offset:2px}
.gallery-lightbox-count{position:absolute;right:72px;top:18px;z-index:3;color:#fff;background:rgba(0,0,0,.45);border-radius:999px;padding:5px 9px;font-size:12px}
body.gallery-lightbox-open{overflow:hidden}
@media(hover:hover) and (pointer:fine){.gallery-v2-card:hover img{transform:scale(1.035)}.gallery-lightbox-close:hover,.gallery-lightbox-nav:hover{background:rgba(255,255,255,.22)}}
@media(max-width:800px){
  .gallery-v2{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .gallery-v2-card{border-radius:11px;aspect-ratio:1/1}
  .gallery-v2-overlay{padding:34px 10px 9px}
  .gallery-v2-overlay strong{font-size:12px}
  .gallery-v2-overlay small{display:none}
  .gallery-lightbox{padding:10px}
  .gallery-lightbox-dialog{max-height:calc(100vh - 20px);grid-template-columns:1fr}
  .gallery-lightbox-dialog figure{border-radius:14px}
  .gallery-lightbox-image-wrap{min-height:220px;max-height:70vh}
  .gallery-lightbox-image-wrap img{max-height:70vh}
  .gallery-lightbox-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:42px;height:50px;background:rgba(0,0,0,.46)}
  .gallery-lightbox-prev{left:8px}
  .gallery-lightbox-next{right:8px}
  .gallery-lightbox-count{right:62px;top:15px}
  .gallery-lightbox-dialog figcaption{padding:12px 14px 14px}
}
@media(max-width:380px){.gallery-v2{gap:7px}.gallery-v2-overlay{padding-left:8px;padding-right:8px}.gallery-v2-overlay strong{font-size:11px}}
@media(prefers-reduced-motion:reduce){.gallery-v2-card img{transition:none}}
