imo: probably the simplest way to get what i
think you want would be to break the page into a reasonable amount of <div>s [right now you have more than you need imo], giving each <div> the background color of choice you used in your giganto-img
if you want your <div>s to resize client side, you can use % definitions of your <div> dimensions. this may/may not work well in all browsers but works in theory in my head in the middle of the night :) test and revise if needed. sorry if it only works in theory.
or you may want to use absolute widths for your <div>s and throw a background color/ tile on the whole page to avoid the white stripe.
you have lots of options which can stay in the "basic skill level" range. there is enough info on line to do this your self if you have the time and patience. i don't know what your skill level is so don't know where to point you for tutorials.
use your css for text in the <div>s
then, make the dancer img on the right into a .gif with a transparent background so she will pick up the background colors of the <div>
a not so great but simple way you can get her where you want is using the css z-index property. this will just plop her on top of your page, so to speak. it will load a bit slowly, but if you get the img size down, it shouldn't be a big deal [note: this is a quick and dirty way, not the best]
http://www.w3schools.com/css/pr_pos_z-index.asp
of course make sure to check the site cross platform and in multiple browsers. you can pm me if you need cross platform testing help
the design is very nice. good luck.