
.portfolio-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start;padding:0 1.5%}
.portfolio-grid .column{display:flex;flex-direction:column;gap:22px;min-width:0}
.portfolio-grid .shot{display:block;border:0;padding:0;margin:0;width:100%;min-width:0;background:#dbdcdd;border-radius:16px;overflow:hidden;cursor:zoom-in}
.portfolio-grid .shot img{display:block;width:100%;height:100%;object-fit:cover}
.portfolio-grid .shot:focus-visible{outline:3px solid #007c60;outline-offset:5px}
.portfolio-more{text-align:center;margin-top:30px}.portfolio-more .compact-link{min-width:90px}
.portfolio-dialog{padding:0;border:0;background:transparent;max-width:96vw;max-height:96dvh;overflow:visible}
.portfolio-dialog::backdrop{background:#101316e8}.portfolio-dialog img{display:block;max-width:94vw;max-height:87dvh;width:auto;height:auto;object-fit:contain;border-radius:8px}
.portfolio-dialog .close{display:block;margin:0 0 10px auto;background:#fff;color:#4b4e54;border:0;border-radius:50%;width:42px;height:42px;font:28px Arial;cursor:pointer}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.portfolio-grid{grid-template-columns:1fr;gap:16px}.portfolio-grid .column{gap:16px}.portfolio-grid .shot{border-radius:12px}}
