Как сделать эту крутую штуку на CSS?
На чистом CSS такое сделать не получится. Проще всего использовать волну (верхнюю ее часть) в виде SVG картинки (пример). Надеюсь проблем с тем, чтобы нарисовать ее одной кривой, не возникнет.
Проще сделать на svg.
Если же надо на чистом css - можно поверх фиолетового прямоугольника сделать большой белый div с rotate и border-radius.