.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;margin:28px 0 0}
.gal figure{margin:0;position:relative;aspect-ratio:3/2;overflow:hidden;background:var(--paper-2);border:1px solid var(--line-soft)}
.gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gal figcaption{position:absolute;left:0;bottom:0;font-family:Montserrat,sans-serif;font-size:.58rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;background:var(--paper);color:var(--ink);padding:6px 9px}
.gal figure.wide{grid-column:span 2}
@media (max-width:600px){.gal figure.wide{grid-column:span 1}}
.pj-desc{max-width:68ch;font-size:1.12rem;line-height:1.7;margin:26px 0 0}
.pj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;margin-top:26px}
.pj-grid a{display:block;text-decoration:none;color:var(--ink);border:1px solid var(--line);background:var(--paper-2)}
.pj-grid a:hover{border-color:var(--teal)}
.pj-grid .ph{aspect-ratio:3/2;overflow:hidden;background:var(--paper-2)}.pj-grid img{width:100%;height:100%;object-fit:cover;display:block}
.pj-grid .t{padding:14px 16px}.pj-grid b{display:block;font-family:Montserrat,sans-serif;font-weight:700;font-size:.98rem;letter-spacing:-.01em}
.pj-grid small{display:block;color:var(--muted);margin-top:4px;font-size:.82rem}
