There are several reasons for a gummy smile and each requires a different treatment plan. Ideally, we would be able to do a clinical exam or at least see a picture. Often there is simply excessive gums covering the crowns of teeth. Sometimes this can be treated with a gingivectomy where they cut away just the gums. Often the underlying bone must be recontoured as well. As long as the crowns of your teeth aren't anatomically short, one of these crown lengthening procedures may work. If your teeth are simply short you may have to add veneers. The only way to know for sure would be to probe your teeth. At the other end of the spectrum, if you have a high smile, the length of your teeth looks okay and you still show too much gingiva, you may need oral surgery (Lefort I) to correct the vertical maxillary excess. There are other causes that require other treatment... misalignment requiring ortho, etc. To help you any further, you would need to post a picture of your smile.
There is no such specialty as Cosmetic Dentistry. It's just an advertising gimmick that most dentists use. A good general dentist *should* be able to diagnose you correctly and explain your options. They may then do whatever procedure themselves or refer you to a periodontist, oral surgeon, or orthodontist depending on your specific treatment needs. A bad general dentist will just assume you need a gingivectomy without thinking and pull out their biolase laser.
I have no idea about money other than it depends on the treatment plan. Maybe less than a $1000 for simple crown lengthening, maybe several $1000s for veneers or oral surgery.