I'm trying to create a design similar to the image attached below 1, where a rounded rectangle has an "S-curve" effect at the bottom. My current strategy involves a parent element (hero_right) with two child elements (hero_right_top and hero_right_bottom). I'm attempting to set the top element to 70% height and the bottom to 30% height, applying borders to create the rounded effect.
The problem I'm encountering is with shaping the bottom-left part to achieve the desired S-curve effect. I attempted to set the width of the bottom element to 90%, positioning it absolutely to the right, and then applying border-radius to the corners. I also added a nested div inside the bottom element, using absolute positioning and more border-radius to further shape the bottom left corner, but the result isn't quite right.
Here is the code I have so far:
HTML:
<div className='hero_right'>
<div className="hero_right_top"></div>
<div className="hero_right_bottom">
<div href="#" className="hero_right_bottom_link"></div>
</div>
</div>
CSS:
.hero_right {
position: relative;
display: flex;
flex-direction: column;
}
.hero_right_top,
.hero_right_bottom {
min-height: 71.5%;
width: 100%;
background-color: var(--thirdColor);
}
.hero_right_bottom {
min-height: 30%;
}
.hero_right_top {
border-top-right-radius: 100px;
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
}
.hero_right_bottom {
position: absolute;
width: 90%;
right: 0;
bottom: 0;
border-bottom-right-radius: 100px;
border-bottom-left-radius: 100px;
}
.hero_right_bottom_link {
position: absolute;
top: 0;
left: -3%;
display: flex;
justify-content: center;
flex-wrap: wrap;
align-content: center;
text-decoration: none;
color: var(--primaryColor);
width: 60px;
height: -webkit-fill-available;
border-top-right-radius: 158px;
background-color: var(--whiteColor);
}
My issue is that the bottom left part is not shaping exactly as expected. How can I achieve this S-curve effect properly with CSS? Any advice or adjustments to my approach would be appreciated.

