diff --git a/app/assets/css/app.css b/app/assets/css/app.css
index 51bce06..d779112 100644
--- a/app/assets/css/app.css
+++ b/app/assets/css/app.css
@@ -100,6 +100,36 @@
/* Make LiveView wrapper divs transparent for layout */
[data-phx-session], [data-phx-teleported-src] { display: contents }
+/* Self-hosted fonts — no external requests */
+@font-face {
+ font-family: 'Fraunces';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(/fonts/fraunces.woff2) format('woff2');
+}
+@font-face {
+ font-family: 'Fraunces';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(/fonts/fraunces-italic.woff2) format('woff2');
+}
+@font-face {
+ font-family: 'Source Sans 3';
+ font-style: normal;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(/fonts/sourcesans3.woff2) format('woff2');
+}
+@font-face {
+ font-family: 'Source Sans 3';
+ font-style: italic;
+ font-weight: 300 900;
+ font-display: swap;
+ src: url(/fonts/sourcesans3-italic.woff2) format('woff2');
+}
+
/* Typography */
.font-display { font-family: 'Fraunces', serif; }
body { font-family: 'Source Sans 3', sans-serif; }
diff --git a/app/lib/firehose_web/components/layouts/root.html.heex b/app/lib/firehose_web/components/layouts/root.html.heex
index f1f162c..d14828b 100644
--- a/app/lib/firehose_web/components/layouts/root.html.heex
+++ b/app/lib/firehose_web/components/layouts/root.html.heex
@@ -9,9 +9,6 @@
<.live_title default="Firehose" suffix=" — Willem van den Ende">
{assigns[:page_title]}
-
-
-
diff --git a/app/priv/static/fonts/fraunces-italic.woff2 b/app/priv/static/fonts/fraunces-italic.woff2
new file mode 100644
index 0000000..b2cf648
Binary files /dev/null and b/app/priv/static/fonts/fraunces-italic.woff2 differ
diff --git a/app/priv/static/fonts/fraunces.woff2 b/app/priv/static/fonts/fraunces.woff2
new file mode 100644
index 0000000..cb295bf
Binary files /dev/null and b/app/priv/static/fonts/fraunces.woff2 differ
diff --git a/app/priv/static/fonts/sourcesans3-italic.woff2 b/app/priv/static/fonts/sourcesans3-italic.woff2
new file mode 100644
index 0000000..4b43ac3
Binary files /dev/null and b/app/priv/static/fonts/sourcesans3-italic.woff2 differ
diff --git a/app/priv/static/fonts/sourcesans3.woff2 b/app/priv/static/fonts/sourcesans3.woff2
new file mode 100644
index 0000000..864cc41
Binary files /dev/null and b/app/priv/static/fonts/sourcesans3.woff2 differ