This is a case where tables are better. And you have even more control when CSS is used with tables.
The main reason to not use tables is to not use them to create margins and borders. Your purpose is a valid use for tables.
If you use the div method with css, be prepared to have the format fall apart if the browser window is not full sized, or if the screen is a different resolution than you designed it for.
I would use 3 tables and one div here. The three tables would be:
1. The buttons
2. The main columns
3. The two columns of services on that page.
I would use the div to center the image, since center is a depricated tag:
.cenimg {text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;}
.imgcen {clear: both;}
....
<div class="cenimg">
<img src=..... class="imgcen">
I can't access your stylesheet, so I don't know what is in it. You may have a cascade error.
You do have some errors in case.
CSS is case sensitive. If you put "Clam" as the class, but use "clam" in the tag calling it, it won't work.... almost. IE ignores case, in violation of the CSS standard.
Your case differences between html tags can also cause trouble, as the newest standard requires all lowercase tags, and the second newest standard requires the closing tag to have the same case as the opening tag.