Index: src/views/pages/paid-gate.ejs
===================================================================
--- src/views/pages/paid-gate.ejs	(revision 928d1c7ba5c6f2dd3d97312711ad81f25f420cdd)
+++ src/views/pages/paid-gate.ejs	(revision 928d1c7ba5c6f2dd3d97312711ad81f25f420cdd)
@@ -0,0 +1,36 @@
+<div class="container pg-navwrap">
+  <%- include('../partials/post-nav', { newerPost: (typeof newerPost !== 'undefined' ? newerPost : null), olderPost: (typeof olderPost !== 'undefined' ? olderPost : null) }) %>
+</div>
+
+<article class="pg-page">
+  <% if (typeof pgTitle !== 'undefined' && pgTitle) { %><h1 class="pg-title"><%= pgTitle %></h1><% } %>
+
+  <% if (typeof pgTeaser !== 'undefined' && pgTeaser) { %>
+    <div class="pg-teaser"><p><%= pgTeaser %></p></div>
+  <% } %>
+
+  <section class="pg-card">
+    <div class="pg-lock">💶</div>
+    <h2 class="pg-h2">Voor supporters</h2>
+    <p class="pg-sub">
+      Deze post is voor supporters van deze site. Steun je de maker op Patreon
+      <% if (typeof pgCents !== 'undefined' && pgCents) { %>(vanaf &euro;<%= (pgCents/100).toFixed(2) %>)<% } %>,
+      dan ontgrendel je 'm met je passkey. Geen account, geen cookie.
+    </p>
+    <p class="pg-soon">Ontgrendelen met je Patreon-passkey komt eraan.</p>
+  </section>
+</article>
+
+<style>
+  .pg-navwrap { max-width: 720px; margin: 0.5rem auto 1.5rem; padding: 0 1rem; }
+  .pg-page { max-width: 720px; margin: 0 auto 3rem; padding: 0 1rem; }
+  .pg-title { font-family: var(--font-display, serif); font-size: clamp(1.6rem, 4vw, 2.2rem); margin: 0 0 1rem; }
+  .pg-teaser { font-family: var(--font-body, serif); font-size: 1.1rem; line-height: 1.7; color: var(--ink); opacity: .95;
+    -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent); mask-image: linear-gradient(180deg, #000 55%, transparent); }
+  .pg-card { margin: 1.5rem 0 0; border: 1px solid color-mix(in srgb, var(--ink, #000) 16%, transparent); border-radius: 18px; padding: 30px 26px; text-align: center; }
+  .pg-lock { font-size: 38px; margin-bottom: 6px; }
+  .pg-h2 { font-size: 22px; margin: 0 0 8px; }
+  .pg-sub { opacity: .85; line-height: 1.6; margin: 0 auto 12px; max-width: 34em; }
+  .pg-soon { display: inline-block; padding: 10px 18px; border-radius: 10px; font-weight: 600;
+    background: color-mix(in srgb, var(--accent, #6b8f71) 14%, transparent); color: var(--ink, inherit); }
+</style>
