diff --git a/layouts/partials/_inline-svg.html b/layouts/partials/_inline-svg.html
index 32a3189..9476d98 100644
--- a/layouts/partials/_inline-svg.html
+++ b/layouts/partials/_inline-svg.html
@@ -75,6 +75,14 @@
{{ end }}
{{ $replacement = print "$1 " (delimit $attributes " ") "$2" }}
{{ $markup = replaceRE $patternSvgTag $replacement $markup 1 }}
+
+ {{/* Extract inline styles and write them to page store to be included in head */}}
+ {{ $inlineStyles := slice }}
+ {{ range (findRE `` $markup) }}
+ {{ $inlineStyles = append (replaceRE `(^$)` "" .) $inlineStyles }}
+ {{ $markup = replace $markup . "" 1 }}
+ {{ end }}
+ {{ page.Store.Add "inlineStyles" $inlineStyles }}
{{ else }}
{{ warnf "Could not find src '%s'." .src }}
{{ end }}
diff --git a/layouts/partials/head/inline-svg-styles.html b/layouts/partials/head/inline-svg-styles.html
new file mode 100644
index 0000000..a10829d
--- /dev/null
+++ b/layouts/partials/head/inline-svg-styles.html
@@ -0,0 +1,8 @@
+{{- /* Trigger evaluation of shortcodes */ -}}
+{{- $noop := .WordCount -}}
+{{- /* Include extracted inline SVG styles as proper resources */ -}}
+{{- $css := "" -}}
+{{- with .Store.Get "inlineStyles" -}}
+ {{- $css := delimit . "\n" | resources.FromString "inline-svg.css" | resources.Fingerprint "sha512" -}}
+
+{{- end }}