Die Ursache liegt (nach meiner Einschätzung) in den diversen Formatierungen mittels 'float'. Da die 'gefloateten' Elemente quasi aus Textfluss raus genommen sind sind, weiß der Container div.personenabschnitt nicht so recht, wie hoch er eigentlich sein sollte
... bis dann das 'Problem-h2' kommt.
h2 ohne float in einem div und jede Menge gefloatete Elemente zwischen zwischen dem Anfang des divs und dem h2 ... das könnte es sein...
Abhilfe:
HTML-Code:
.personenabschnitt {
overflow: hidden;
}
Nachtrag:
Oder besser das Layout auf Flexbox umstellen - damit hat man diese Probleme nicht.