I'm just putting the finishing touches on the HTML and CSS for this now. I am throwing out your JavaScript drop-down menu in favor of a variation on this
"Pure CSS3 Drop-down Menu". The HTML markup for the menu is a nested set of UL elements because, let's face it, a menu is nothing more than a list of links. Semantically, it's the only right thing to do. CSS is then used to change the display from a series of bullet lists to a horizontal drop-down menu that will support as many levels as you could reasonably use.
Similarly, your features list has become a list of features rather than a bunch of paragraphs. Markup should be about meaning (semantics); the appearance is a job for CSS. If you do things properly, the page should make perfect sense in a browser that either has CSS disabled, doesn't support CSS, or that was unable to load your stylesheet for whatever reason (I'll return to this point in a bit). Ideally, there should be enough data for a screen reader (like JAWS) or a bot (like the Google search indexer bot) to make sense of the data. That means heading need to be headings (and should be at the correct level), lists should be lists, tables should be tables, field labels should be labels and so forth. Part of the job of fixing this up has been trying to decide what tags, ids and classes to use in order to convey the intent of the information without involving appearance.
Keep in mind that a browser may be able to load your HTML page, but may be unable to load your stylesheet, JavaScript files or images. The stylesheet issue is an especially big one -- all of your styling info for a given medium (screen, printer, mobile) should be on a single stylesheet. If you mix inline styles with stylesheets or use multiple stylesheets for a single page, you may end up with some elements of the page getting their proper styles and others getting nothing at all, and that's a recipe for disaster. It's far better to have a complete styling failure that leaves the user with a perfectly usable (if horribly plain) page than to have an overlapping mess or, say, white text on a white background.
And when I post the HTML and the stylesheet, you are going to notice that I've dumped your background image. It might make a good "deep background", something that a solid-colour div sits upon, but it doesn't work as a background for text. There's too much texture, and it's nearly impossible to read the text no matter what colour it is.
Now, before you start to think that I'm picking on you, I should point out that these are lessons I learned the hard way. If there is a mistake to be made writing a web page, I've made it at some point along the way. I've been at this game since before NCSA Mosaic (the first graphical browser) was released, and I have to say that I am thankful that the
Wayback Machine wasn't around to record some of the sites I built in the '90s. Many of my worst mistakes are carefully hidden on corporate intranets. Since I've developed old-people vision and Parkinson's disease, I've begun to appreciate how important usability and accessibility actually are, and have made it my personal mission to make up for those past mistakes and prevent other people from making them when I can.