Index: src/routes/account.js
===================================================================
--- src/routes/account.js	(revision e9229f2d5c61bfbe528b763e03dc9c5639a57c62)
+++ src/routes/account.js	(revision 1be21ba2ec5d901a86fc24bad71b4a96d6492b6d)
@@ -68,7 +68,34 @@
     account,
     hasPassword,
+    editableSite: ownedSite(req.session.user),
     success: req.query.success || null,
     error: req.query.error || null,
   });
+});
+
+// De site die deze gebruiker mag bewerken vanuit z'n account: z'n eigen site
+// (owner_id), of voor een god de primaire site. Null als er niets is.
+function ownedSite(user) {
+  if (!user) return null;
+  let site = db.prepare('SELECT id, title, tagline, slug, owner_id FROM sites WHERE owner_id = ? ORDER BY created_at LIMIT 1').get(user.id);
+  if (!site && user.role === 'god') {
+    site = db.prepare('SELECT id, title, tagline, slug, owner_id FROM sites ORDER BY created_at LIMIT 1').get();
+  }
+  return site || null;
+}
+
+// ==================== UPDATE SITE-NAAM (eigenaar) ====================
+router.post('/site', requireAuth, (req, res) => {
+  const site = ownedSite(req.session.user);
+  if (!site) return res.redirect('/account?error=' + encodeURIComponent('Geen site om te bewerken.'));
+  if (site.owner_id !== req.session.user.id && req.session.user.role !== 'god') {
+    return res.redirect('/account?error=' + encodeURIComponent('Geen rechten om deze site te bewerken.'));
+  }
+  const title = (req.body.site_title || '').toString().slice(0, 200).trim();
+  if (!title) return res.redirect('/account?error=' + encodeURIComponent('Site-naam mag niet leeg zijn.'));
+  const tagline = (req.body.site_tagline || '').toString().slice(0, 200).trim();
+  db.prepare('UPDATE sites SET title = ?, tagline = ?, updated_at = CURRENT_TIMESTAMP WHERE id = ?')
+    .run(title, tagline || null, site.id);
+  res.redirect('/account?success=' + encodeURIComponent('Site-naam bijgewerkt'));
 });
 
Index: src/views/pages/account.ejs
===================================================================
--- src/views/pages/account.ejs	(revision e9229f2d5c61bfbe528b763e03dc9c5639a57c62)
+++ src/views/pages/account.ejs	(revision 1be21ba2ec5d901a86fc24bad71b4a96d6492b6d)
@@ -86,4 +86,24 @@
   </section>
 
+  <%# ── SITE (eigenaar mag de naam van z'n site aanpassen) ── %>
+  <% if (typeof editableSite !== 'undefined' && editableSite && canMutate) { %>
+  <section class="ax-card">
+    <div class="ax-card-title">Site</div>
+    <form action="/account/site" method="post" class="ax-form">
+      <label class="ax-field">
+        <span>Site-naam <small>— getoond in de kop van je site</small></span>
+        <input type="text" name="site_title" value="<%= editableSite.title || '' %>" maxlength="200" required>
+      </label>
+      <label class="ax-field">
+        <span>Tagline <small>— korte oneliner (optioneel)</small></span>
+        <input type="text" name="site_tagline" value="<%= editableSite.tagline || '' %>" maxlength="200">
+      </label>
+      <div class="ax-form-actions">
+        <button type="submit" class="ax-btn ax-btn-primary">Site opslaan</button>
+      </div>
+    </form>
+  </section>
+  <% } %>
+
   <%# ── WACHTWOORD ────────────────────────────────────────── %>
   <%# In kijker-modus geen wachtwoord-sectie (niets te wijzigen). %>
