Hi Brian,
I didn’t model with an alpha, but you can use the textures to use them with SubDivisionDisplacement. For that I would have created them in 16bit, to get a clean result.
The method on the most left side:
Have a look to the image of the Object Manager, I have stored there the states of the modeling.
First I took a edge loop selection, to pull scale this and pull it.
Use a square selection set to “visible off” and select to complete top part, pull it down.
Then I used another edge selection above the previous edge and pulled it down and scaled it up. So I got a nice edge, as you can see on the images.
This selection should be kept, save it—perhaps.
With the edge selection active, go to the top view. With the live selection (mouse) and the cmd down (to deselect) I suggest to leave 3 edges active and deselect the next two, and so on.
This smaller selection needs to be pulled down, moved eventually, and scaled on the XZ plane.
Now, back to top view and deselect from the three edges always the first and third. Move the final selection down, scale etc.
Perhaps you create for each a new selection, note that there should be no edge selection tag be active—otherwise you might overwrite information.
Enable a SubSurface [hypernurbs] and adjust the result by pulling the edges (the single or all three—>selection: activate) to get the result you are after.
Take your time and explore the results, so you get savvy with the workflow and get waht you want.
My best wishes
Sassi