А что не понятно?
Элементы (каждая из дверей) наложены друг на друга с соответствующим z-index.
При наведении срабатывает типа transform: translate3d(48px, 0px, 0px); => transform: translate3d(92px, 0px, 0px);
Они тут вообще не сужаются, а просто перекрывают друг друга.
Смещение идёт только по горизонтали.
Ничто никуда не вылезает, т.к. у родителя overflow: hidden;.
Координаты сначала вычисляются по умолчанию, потом меняются по hover.