Старые-добрые position: absolute, position: relative и z-index. Их бояться не нужно, просто нужно грамотно использовать в тандеме с теми элементами, что в потоке вёрстки.
Полностью адаптивно, подстраивается под размеры контента, ни на что не налезает (ограничение по ширине элементов исключительно для примера, а красная рамка — чтобы показать реальные размеры блока):