/* Natural photo proportions, closely packed gallery cards. */
.gallery{display:block;columns:3;column-gap:8px}
.gallery .project{display:block;break-inside:avoid;width:100%;height:auto;min-height:0;margin:0 0 8px;overflow:visible;isolation:isolate;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .5s}
.gallery .project[hidden]{display:none}
.gallery .project img,.gallery .sports-cover img{position:static;display:block;inset:auto;width:100%;height:auto;max-height:none;object-fit:contain;transform:none;filter:none}
.gallery .project-pending{min-height:260px}
.gallery .project b{font-size:clamp(1.4rem,2.4vw,2.4rem)}
.gallery .project span{left:1rem;bottom:1rem;right:.8rem}
.gallery .project small{font-size:.65rem;letter-spacing:.055em}
@media(hover:hover){.gallery .project:hover,.gallery .project:focus-visible{transform:scale(1.065);z-index:5;box-shadow:0 14px 35px #15211d35}.gallery .project:hover img,.gallery .project:focus-visible img{transform:none}}
@media(max-width:700px){.gallery{columns:2;column-gap:6px}.gallery .project{margin-bottom:6px}.gallery .project span{left:.6rem;bottom:.7rem}.gallery .project b{font-size:1.45rem}.gallery .project small{font-size:.55rem}}
@media(prefers-reduced-motion:reduce){.gallery .project{transition:none}}

/* Bring selected work closer to the ticker. */
.portfolio-home .work{padding-top:3rem}
.portfolio-home .work .section-head{margin-bottom:2rem}
@media(max-width:800px){.portfolio-home .work{padding-top:2rem}.portfolio-home .work .section-head{margin-bottom:1.5rem}}
