Sometimes you miss the b***** obvious. I'd started making a theme from scratch in Wordpress, put the correct reference to the link in the header file, and made sure the css file was correctly named and in the correct theme folder. But no matter how many times I reloaded the page, the css rules were not imported.
It turns out I hadn't called the header php page from index.php . I should have put this <?php get_header(); > in the index.php file. All that time wasted due to a simple oversight! It is an occupational hazard when programming, but it's so frustrating. :(