Atención
Subgrid es incompatible con la propiedad CSS
container-type
Ejemplo
Aquí metemos un grid con columnas en autofit
grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));Y le metemos 4 rows, uno de 150px para la imagen (fíjate que aunque tienen tamaños diferentes las dos son de 150px de alto), y otros en auto para el pie de foto, el título y el texto.
grid-template-rows: 150px auto auto auto;Y después a cada tarjeta le aplicamos:
display: grid;
grid-template-rows: subgrid;
grid-row: span 4;Esto hace que sea un grid, que use los mismos rows que el grid parent, y que haga span de 4 rows, uno para cada elemento que contiene la card: Imagen, pie de foto, titulo y texto.
De esta manera queda todo alineado siempre.


* {
margin: 0;
}
img {
width: 100%;
height: 100%;
object-fit: cover;
}
.grid {
padding: 2rem;
display: grid;
gap: 1rem;
grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr));
grid-template-rows: 150px auto auto auto;
}
.item {
display: grid;
overflow: hidden;
grid-template-rows: subgrid;
grid-row: span 4;
border: 1px solid gray;
border-radius: 1rem;
}
.item > *:nth-child(2) {
text-transform: uppercase;
}
.item > *:not(img) {
padding: 0 1rem;
}
.item > *:last-child {
padding: 0 1rem 1rem 1rem;
}