/* Photo containers: images fill and crop; a neutral surface shows while loading or if a photo fails. */
.media { position: relative; overflow: hidden; background: var(--color-surface); }
.media > img { width: 100%; height: 100%; object-fit: cover; }
.media > img.is-broken { visibility: hidden; }
