/* ===== 2026-10-26 Recent installs gallery (home) ===== */
.gal{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--gut);margin:0;padding:0;list-style:none}
.gal li{min-width:0;margin:0}
.gal a{display:block;position:relative;border-radius:var(--radius);overflow:hidden;background:#dfe5f3;border:1px solid var(--line);text-decoration:none;color:inherit}
.gal a:hover img{transform:scale(1.03)}
.gal a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.gal picture,.gal img{display:block;width:100%}
.gal img{height:auto;aspect-ratio:3/4;object-fit:cover;transition:transform .35s ease}
.gal .cap{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 10px;background:linear-gradient(180deg,rgba(12,29,94,0) 0,rgba(12,29,94,.78) 16px,rgba(12,29,94,.92) 100%);color:#fff;font-weight:600;font-size:14px;line-height:1.25;text-shadow:0 1px 3px rgba(0,0,0,.55)}
@media (max-width:1100px){.gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.gal{padding-inline:12px}}
@media (max-width:640px){.gal{grid-template-columns:repeat(2,minmax(0,1fr))}.gal li:first-child{grid-column:1/-1}.gal li:first-child img{aspect-ratio:4/3;object-position:50% 60%}.gal .cap{font-size:13px}}
.gal-more{display:inline-block;padding-block:4px;min-height:28px}
/* lightbox */
html.lb-open{overflow:hidden}
html.lb-open.lb-sb{scrollbar-gutter:stable}
.lb{overscroll-behavior:contain;border:0;padding:0;margin:auto;background:transparent;max-width:min(92vw,1100px);max-height:92vh;overflow:visible}
.lb::backdrop{background:rgba(8,16,48,.88)}
.lb figure{margin:0;display:flex;flex-direction:column;align-items:center;gap:10px}
.lb img{max-width:min(92vw,1100px);max-height:calc(92vh - 70px);width:auto;height:auto;border-radius:14px;background:#111}
.lb figcaption{color:#fff;font-size:15px;text-align:center;max-width:60ch}
.lb .lbx,.lb .lbp,.lb .lbn{position:fixed;width:48px;height:48px;border-radius:999px;border:0;background:#fff;color:var(--navy);display:grid;place-items:center;cursor:pointer;box-shadow:var(--shadow)}
.lb .lbx{top:14px;right:14px}.lb .lbp{left:14px;top:50%;transform:translateY(-50%)}.lb .lbn{right:14px;top:50%;transform:translateY(-50%)}
.lb button svg{width:22px;height:22px}
@media (max-width:640px){.lb .lbp,.lb .lbn{top:auto;bottom:14px;transform:none}}
