Index: src/views/pages/paid-gate.ejs
===================================================================
--- src/views/pages/paid-gate.ejs	(revision c3d12a6f5721ed2faee19362b8d7e0caeea854d5)
+++ src/views/pages/paid-gate.ejs	(revision 9019a3e8f59ad6d0b916a68ee153559d27f8c0e8)
@@ -10,17 +10,23 @@
   <% } %>
 
+  <% var _hasPatron = (typeof pgPatronUrl !== 'undefined' && pgPatronUrl); %>
   <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.
+      Deze post is voor supporters van deze site
+      <% if (typeof pgCents !== 'undefined' && pgCents) { %>(vanaf &euro;<%= (pgCents/100).toFixed(2) %> per maand op Patreon)<% } %>.
+      Word supporter en ontgrendel 'm daarna met een passkey. Geen account op deze site, geen cookie.
     </p>
-    <button type="button" id="pg-unlock" class="pg-btn">Ontgrendelen</button>
+
+    <div class="pg-actions">
+      <% if (_hasPatron) { %>
+        <a class="pg-btn" href="<%= pgPatronUrl %>" target="_blank" rel="noopener">Word supporter op Patreon</a>
+        <button type="button" id="pg-unlock" class="pg-btn pg-btn-ghost">Al supporter? Ontgrendelen</button>
+      <% } else { %>
+        <button type="button" id="pg-unlock" class="pg-btn">Ontgrendelen met Patreon</button>
+      <% } %>
+    </div>
     <p id="pg-status" class="pg-status" hidden></p>
-    <% if (typeof pgPatronUrl !== 'undefined' && pgPatronUrl) { %>
-      <p class="pg-join">Nog geen supporter? <a href="<%= pgPatronUrl %>" target="_blank" rel="noopener">Word het op Patreon</a> en ontgrendel daarna met je passkey.</p>
-    <% } %>
   </section>
 </article>
@@ -86,9 +92,11 @@
   .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-btn { padding: 12px 24px; border: none; border-radius: 10px; font: inherit; font-weight: 600; cursor: pointer;
+  .pg-btn { display: inline-block; text-align: center; text-decoration: none; padding: 12px 24px; border: none; border-radius: 10px; font: inherit; font-weight: 600; cursor: pointer;
     background: var(--accent, #6b8f71); color: #fff; }
   .pg-btn:disabled { opacity: .6; cursor: default; }
+  .pg-btn:hover { filter: brightness(1.05); }
+  .pg-actions { display: flex; flex-direction: column; gap: 10px; align-items: stretch; max-width: 320px; margin: 0 auto; }
+  .pg-btn-ghost { background: transparent; color: var(--ink, #222); border: 1px solid color-mix(in srgb, var(--ink, #000) 22%, transparent); }
   .pg-status { margin: 12px 0 0; opacity: .9; }
   .pg-status.is-err { color: #c0392b; }
-  .pg-join { margin: 14px 0 0; font-size: .92rem; opacity: .8; }
 </style>
