I can't see any css that is conflicting but possibly I am missing it.
It's just the way floated elements work vs. how they're placed in the markup. You can try re-ordering the form so the address is second and see if that works. It worked in my quick test.
If not, you may want to either absolutely position the address field itself to the right, or you can always use strategically placed HTML blocks to introduce new markup into the forms - create 2 div containers that are more like 'real' columns that you can float right and left. You can see this previous thread for an example.