diff --git a/assets/css/099_page_header.css b/assets/css/099_page_header.css
new file mode 100644
index 0000000..efeacc1
--- /dev/null
+++ b/assets/css/099_page_header.css
@@ -0,0 +1,39 @@
+.page-header {
+ font-family: var(--font-family-monospace);
+ grid-column: main-start / main-end;
+ margin-block: var(--space-xl) var(--space-l);
+
+ /* margin-block-start is set by the grid */
+ &:first-child,
+ .page-header__title:first-child
+ {
+ margin-block-start: 0;
+ }
+
+ :last-child {
+ margin-block-end: 0;
+ }
+
+ .page-header__title {
+ font-family: var(--font-family-monospace);
+ font-size: var(--text-xxl);
+ line-height: 1.2;
+ margin-block: var(--space-xs);
+
+ &:only-child {
+ margin-block-end: 0;
+ }
+ }
+
+ .page-header__subtitle {
+ color: var(--gray3);
+ font-size: var(--text-m);
+ }
+
+ .page-date {
+ display: block;
+ font-family: var(--font-family-body);
+ font-size: var(--text-s);
+ margin-block: var(--space-paragraph) 0;
+ }
+}
diff --git a/layouts/_default/list.html b/layouts/_default/list.html
index 5783c4e..763e3f5 100644
--- a/layouts/_default/list.html
+++ b/layouts/_default/list.html
@@ -1,4 +1,7 @@
{{ define "main" }}
+
{{ end }}
diff --git a/layouts/_default/single.html b/layouts/_default/single.html
index abda2be..43da7e3 100644
--- a/layouts/_default/single.html
+++ b/layouts/_default/single.html
@@ -1,5 +1,8 @@
{{ define "main" }}
+
diff --git a/layouts/_default/taxonomy.html b/layouts/_default/taxonomy.html
index 5783c4e..1633767 100644
--- a/layouts/_default/taxonomy.html
+++ b/layouts/_default/taxonomy.html
@@ -1,4 +1,8 @@
{{ define "main" }}
+
{{ end }}
diff --git a/layouts/partials/page_header.html b/layouts/partials/page_header.html
new file mode 100644
index 0000000..b555052
--- /dev/null
+++ b/layouts/partials/page_header.html
@@ -0,0 +1,13 @@
+
+
+{{- with .page.Params.subtitle -}}
+
+{{- end }}
+
+{{ if not .page.IsSection }}
+ {{- with .page.Date -}}
+
+ {{- end }}
+{{ end }}