.gal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
@media (min-width:600px){.gal{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}
.gal li{margin:0}
.gal__item{display:block;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-sm,8px);background:var(--sand,#FBF8F4)}
.gal__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .25s}
.gal__item:hover img{transform:scale(1.04)}
.gal__item:focus-visible{outline:3px solid var(--navy,#1F3B57);outline-offset:2px}
.lb{position:fixed;inset:0;z-index:1000;background:rgba(10,20,30,.94);display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.lb[hidden]{display:none}
.lb img{max-width:94vw;max-height:84vh;object-fit:contain;border-radius:4px;user-select:none}
.lb__cap{position:absolute;bottom:14px;left:0;right:0;text-align:center;color:#fff;font:500 .9rem var(--font,sans-serif);padding:0 60px}
.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;border-radius:50%;width:48px;height:48px;font-size:28px;line-height:48px;cursor:pointer}
.lb button:hover,.lb button:focus-visible{background:rgba(255,255,255,.28);outline:none}
.lb__x{top:14px;right:14px}.lb__p{left:10px;top:50%;transform:translateY(-50%)}.lb__n{right:10px;top:50%;transform:translateY(-50%)}
.gal__item--video{position:relative}
.gal__play{position:absolute;left:50%;top:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:rgba(10,20,30,.55);box-shadow:0 2px 8px rgba(0,0,0,.3);pointer-events:none}
.gal__play::after{content:"";position:absolute;left:22px;top:17px;border-style:solid;border-width:11px 0 11px 18px;border-color:transparent transparent transparent #fff}
.lb video{max-width:94vw;max-height:84vh;border-radius:4px;background:#000}
.lb video[hidden],.lb img[hidden]{display:none}
