Крч, основная проблема в том, что вложенный блок никак не может видеть того, что происходит снаружи. Это CSS. Дешево и сердито — ограничивать текст под заголовком до такого уровня, что он прибитый к низу карточки не будет иметь большой разрыв с заголовком.
Вариант
inFureal работает только в том случае, если ты верстаешь проект года 12-го, где про адаптив в глубинке еще не слышали. Потому что при переносе «карточек» вдруг окажется, что заголовки будут один под одним, в отрыве от текста под ними.
При этом существую библиотеки для расчет таких размеров, я бегло ковырнул свою историю и не нашел, а сам не пользую, так что ищи сам. Или напиши сам. Это не сложно.
Но еще это можно сделать на dense гридах. Правда, ИМХО, проще повозиться со скриптами, чем сводить эту радость на сетках.