If it's under warranty, they should fix the problem. As far as the damage to your office, is there any part of the contract that says that they will or will not be responsible for any damaged caused? Also, check to see if there is a mediation clause. If there is, and you can't come to an agreement, you will have to mediate before you can sue, unless you can prove negligence. You could hire a lawyer during mediation, but I believe you would have to pay for it. If there isn't that clause, then the first type of lawyer that comes to mind is a real estate lawyer. I'm a Realtor, and I'm just basing what I say on what I've experienced in real estate, so check with a lawyer first. A good home inspection company here in LA is
http://www.laroccainspect.com. From my experience, they do a great job and tend to err on the side of caution. They might refer you to someone more specific to roofing.
http://www.laroccainspect.com/referrals_rainleak.php is who they refer to for leak detection. Good luck!