I propose another way to round corners. One picture is used, possibly with an alpha channel (works in IE6).
For example, I made two demo pages, because The code when using an opaque picture and with transparency for IE6 is quite different.
Unfortunately, I couldn't do without expressions in IE6 (in the example with a transparent picture), but they are quite lightweight.
Theory
The theoretical basis of this method is very simple. You need to create a picture with corners (having them in a special way, see below) with dimensions that allow you to correctly display these corners and borders with any reasonable scaling and availability of content with maximum volume for your layout. In the example, I used a picture of 3000x1000 px, with an increase in the size of the picture, its volume will increase slightly.
This solution uses one main unit and 3 auxiliary units.
For the main unit, you need to move the background to the left upward by such a distance that the left upper round curve is in the upper left corner of the main unit.
Auxiliary blocks are needed to display:
- lower left rounding and lower border
- upper right rounding and right border
- lower right rounding
Auxiliary blocks are positioned absolutely and set the necessary (depending on the radius of curvature) offset relative to the edges of the main unit.
Explanations in pictures:
Fig. 1. Background picture.
Fig. 2. Main and auxiliary units.

For the version with a transparent picture, the theory is the same.
Harsh reality
The theory works well for modern browsers, but to implement a solution in IE6, you need to use hacks.
To solve with an opaque picture, the problem lies in the impossibility in IE6 of specifying block offsets simultaneously top and bottom or left and right. Solution 2: use the expression for “emulation” of offsets or specify the size of the auxiliary blocks to go beyond the container, and overflow: hidden for the container (which I did).
When using images with alpha channel things are much worse ...
Such a picture in IE6 can be displayed using the AlphaImageLoader filter, which combines the upper left corner of the picture with the upper left corner of the element to which it is applied. To emulate the positioning of the background in this case, you need to use additional auxiliary elements, load the image into them using a filter, and then position it, showing this or that section with rounding. You can see this implementation in my example.