.moving-project-wall{overflow:hidden;margin:0 0 34px;background:#111;padding:12px}
.moving-project-wall-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:165px;gap:12px;animation:project-wall-drift 15s ease-in-out infinite alternate}
.moving-project-tile{position:relative;display:block;overflow:hidden;min-width:0;background:#17191c}
.moving-project-tile-wide{grid-column:span 2;grid-row:span 2}
.moving-project-tile-tall{grid-row:span 2}
.moving-project-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .3s ease}
.moving-project-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 36%,rgba(0,0,0,.78))}
.moving-project-tile span{position:absolute;z-index:1;left:18px;bottom:14px;color:#fff;font-weight:700;font-size:15px;line-height:1.25}
.moving-project-tile:hover img{transform:scale(1.06);filter:brightness(.78)}
@keyframes project-wall-drift{from{transform:translateY(0)}to{transform:translateY(-8px)}}
@media(max-width:760px){.moving-project-wall-track{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:150px}}
@media(max-width:430px){.moving-project-wall-track{grid-template-columns:1fr;grid-auto-rows:210px}.moving-project-tile-wide,.moving-project-tile-tall{grid-column:auto;grid-row:auto}}
@media(prefers-reduced-motion:reduce){.moving-project-wall-track{animation:none}.moving-project-tile img{transition:none}}
