IP fragment offsets count blocks of eight bytes, not raw bytes.
Offsets count in eight-byte blocks
The first fragment starts at payload byte zero, so its offset is 0.
first offset=0
Sixteen bytes means offset two
The first piece carried 16 bytes. IP version 4 offsets count groups of 8 bytes, so the next offset is 2.
The field shows two
The second header's fragment-offset field is 2, not sixteen.
second offset=2
Summary
Fragment offsets are byte positions divided by eight.
offset units=8