/* Shared photo labels: red before, green after; labels stay on the images. */
.vn-photo{position:relative;overflow:hidden;line-height:0}
.vn-photo>img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.vn.vn-labels{position:absolute;inset:12px 12px auto;display:flex;justify-content:space-between;gap:8px;margin:0;pointer-events:none}
.vn.vn-labels span,body .project-photo .project-before,body .project-photo .project-after{color:#fff;border:1px solid #fff;border-radius:5px;padding:4px 9px;font-size:11px;font-weight:800;line-height:1.3;box-shadow:0 1px 4px #0002;letter-spacing:normal;text-transform:none;white-space:nowrap}
.vn.vn-labels span:first-child,body .project-photo .project-before{background:#d10000;color:#fff}
.vn.vn-labels span:last-child,body .project-photo .project-after{background:#168447;color:#fff}
body .project-photo .project-before{position:absolute;top:12px;left:12px;right:auto}
body .project-photo .project-after{position:absolute;top:12px;right:12px;left:auto}
.city-projects .project-composite .project-photo{aspect-ratio:4/3}
.city-projects .project-composite img{object-fit:contain}
@media(max-width:600px){.vn.vn-labels{inset:9px 9px auto}.vn.vn-labels span,body .project-photo .project-before,body .project-photo .project-after{padding:4px 7px;font-size:11px}body .project-photo .project-before{top:9px;left:9px}body .project-photo .project-after{top:9px;right:9px}}
