The simplest and and most flexible way is to use Template Layouts.
In your main HTML Layout wrapper (simplified) which we will say is named "_html-layout" in the "layouts" template group:
<html>
<head>
<link rel="stylesheet" href="/css/global.css">
{layout:css_extra}
<head>
<body>
{layout:contents}
</body>
</html>
In your templates, identify which layout it will use, and set the css_extra
layout variable.:
{layout="layouts/_html-layout"}
{layout:set name="css_extra"}
<link rel="stylesheet" href="/css/contact-form.css">
<link rel="stylesheet" href="/css/form-validation.css">
{/layout:set}
{layout:css_extra}
in the layout will get the extra stylesheets, and everything else that the template outputs will become {layout:contents}
.