Basic linear gradient implementation