diff --git a/assets/sass/_theme/blocks/posts.sass b/assets/sass/_theme/blocks/posts.sass
index 5bbc3b2c3beeec4221305b7f43a9ddd7ab037c73..9a101e6d619993a300cc20c0bdfc237093298d9e 100644
--- a/assets/sass/_theme/blocks/posts.sass
+++ b/assets/sass/_theme/blocks/posts.sass
@@ -10,7 +10,7 @@
         @include grid($block-posts-grid-columns, desktop)
     article
         @include author-and-time-side-to-side
-        [itemprop=headline]
+        > [itemprop=headline]
             a
                 @include stretched-link
                 text-decoration: none
diff --git a/assets/sass/_theme/sections/programs.sass b/assets/sass/_theme/sections/programs.sass
index 112981bded4184cb6dab698177cc94b97a238592..7eb130902101e39a7afc0cdeea68d7137633edd7 100644
--- a/assets/sass/_theme/sections/programs.sass
+++ b/assets/sass/_theme/sections/programs.sass
@@ -1,11 +1,7 @@
 .program
     @include article
     h2, h3, .program-title
-        @include h3
-        a
-            @include stretched-link
-            display: block
-            text-decoration: none
+        @include article-title
 
 div.programs,
 section.programs
diff --git a/assets/sass/_theme/sections/projects.sass b/assets/sass/_theme/sections/projects.sass
index 19b41f6451debceb83738bf0379229cdc96366e0..f3b7750e4f51620b4007abf10810586ded6485d4 100644
--- a/assets/sass/_theme/sections/projects.sass
+++ b/assets/sass/_theme/sections/projects.sass
@@ -1,11 +1,7 @@
 .project
     @include article(auto)
     .project-title
-        @include h3
-        a
-            @include stretched-link
-            display: block
-            text-decoration: none
+        @include article-title
 
 .projects__section,
 .projects_categories__term
diff --git a/assets/sass/_theme/sections/volumes.sass b/assets/sass/_theme/sections/volumes.sass
index b9f768e9cd2ca435ba05f54a15887a1a43e2caeb..d462fff52544510fd2f93834a34639c4dd9f381d 100644
--- a/assets/sass/_theme/sections/volumes.sass
+++ b/assets/sass/_theme/sections/volumes.sass
@@ -1,11 +1,7 @@
 .volume
     @include article
     .volume-title
-        @include h3
-        a
-            @include stretched-link
-            display: block
-            text-decoration: none
+        @include article-title
     .suptitle
         @include meta
 
diff --git a/assets/sass/_theme/utils/shame.sass b/assets/sass/_theme/utils/shame.sass
index d966d30f2c140d65101e86313b0fa14a3bbb7db6..0c6f5918d19ede470da5427d0b919c32cd164ce7 100644
--- a/assets/sass/_theme/utils/shame.sass
+++ b/assets/sass/_theme/utils/shame.sass
@@ -1,4 +1,3 @@
-
 @mixin visually-hidden
     clip: rect(0,0,0,0) !important
     border: 0 !important
@@ -53,6 +52,13 @@
         color: var(--color-text-alt)
         display: block
 
+@mixin article-title
+    @include h3
+    a
+        @include stretched-link
+        display: block
+        text-decoration: none
+
 @mixin list-section
     @include list-reset
     > li