Index: src/routes/admin-settings.js
===================================================================
--- src/routes/admin-settings.js	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
+++ src/routes/admin-settings.js	(revision eacd3d6d5750c547e441e0f0eb1dc3bcff77c736)
@@ -167,8 +167,12 @@
 });
 
-// Fediverse (ActivityPub) on/off. Off = no federation + no fediverse reactions.
+// Site mode: Solo (ap off → no federation, no comments) or Circles (ap on).
+// Driven by a radio (mode=solo|cirkels); legacy ap_enabled checkbox still accepted.
 router.post('/ap', requireGod, (req, res) => {
-  setSetting('ap_enabled', req.body.ap_enabled ? '1' : '0');
-  res.redirect('/admin/settings?success=' + encodeURIComponent('Fediverse-instelling opgeslagen'));
+  let enabled;
+  if (typeof req.body.mode !== 'undefined') enabled = req.body.mode === 'solo' ? '0' : '1';
+  else enabled = req.body.ap_enabled ? '1' : '0';
+  setSetting('ap_enabled', enabled);
+  res.redirect('/admin/settings?success=' + encodeURIComponent('Modus opgeslagen'));
 });
 
Index: src/services/i18n.js
===================================================================
--- src/services/i18n.js	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
+++ src/services/i18n.js	(revision eacd3d6d5750c547e441e0f0eb1dc3bcff77c736)
@@ -167,5 +167,5 @@
     'aset.manage_circle': 'Beheer je cirkel',
     'aset.premium': 'Premium (Patreon)',
-    'aset.premium_help_1': 'Ontgrendel de premium-modules (Hub-modus, Statistieken, Fan-login, Prutter-DMs) met je',
+    'aset.premium_help_1': 'Ontgrendel de premium-modules (nieuwsbrief, downloads, statistieken, EPK, link-in-bio, agenda) met je',
     'aset.premium_lifetime': '$16-lifetime',
     'aset.premium_help_2': 'Patreon-steun. De app en alle updates blijven gratis.',
@@ -191,5 +191,5 @@
     'aset.fediverse': 'Fediverse (ActivityPub)',
     'aset.fediverse_help': 'Laat je site meedoen met de fediverse: mensen op Mastodon (of een andere Klonkt) kunnen je volgen, liken en reageren — en die reacties verschijnen onder je posts. Zet je dit uit, dan federeert je site niet en zijn er geen reacties (een rustige, op zichzelf staande blog).',
-    'aset.fediverse_toggle': 'Fediverse aan (volgen, liken, reageren)',
+    'aset.fediverse_toggle': 'Fediverse aan (volgen, liken, reageren)', 'aset.mode': 'Modus', 'aset.mode_help': 'Kies hoe je site werkt.', 'aset.mode_solo': 'Solo', 'aset.mode_solo_help': 'Een op zichzelf staande blog — geen fediverse, geen reacties. Rustig en privé.', 'aset.mode_cirkels': 'Cirkels', 'aset.mode_cirkels_help': 'Doe mee met de fediverse (ActivityPub): mensen op Mastodon of een andere Klonkt kunnen je volgen, liken en reageren, en je kunt een cirkel van sites volgen.',
     'aset.email_smtp': 'E-mail (SMTP)',
     'aset.smtp_help_1': 'Nodig om de',
@@ -1179,5 +1179,5 @@
     'aset.manage_circle': 'Manage your circle',
     'aset.premium': 'Premium (Patreon)',
-    'aset.premium_help_1': 'Unlock the premium modules (Hub mode, Statistics, Fan login, Prutter DMs) with your',
+    'aset.premium_help_1': 'Unlock the premium modules (newsletter, downloads, statistics, press kit, link-in-bio, show agenda) with your',
     'aset.premium_lifetime': '$16 lifetime',
     'aset.premium_help_2': 'Patreon support. The app and all updates stay free.',
@@ -1203,5 +1203,5 @@
     'aset.fediverse': 'Fediverse (ActivityPub)',
     'aset.fediverse_help': 'Let your site join the fediverse: people on Mastodon (or another Klonkt) can follow, like and reply — and those replies show up under your posts. Turn this off and your site does not federate and has no comments (a quiet, standalone blog).',
-    'aset.fediverse_toggle': 'Fediverse on (follow, like, comment)',
+    'aset.fediverse_toggle': 'Fediverse on (follow, like, comment)', 'aset.mode': 'Mode', 'aset.mode_help': 'Choose how your site works.', 'aset.mode_solo': 'Solo', 'aset.mode_solo_help': 'A standalone blog — no fediverse, no comments. Quiet and self-contained.', 'aset.mode_cirkels': 'Circles', 'aset.mode_cirkels_help': 'Join the fediverse (ActivityPub): people on Mastodon or another Klonkt can follow, like and reply, and you can follow a circle of sites.',
     'aset.email_smtp': 'Email (SMTP)',
     'aset.smtp_help_1': 'Needed to',
@@ -2190,5 +2190,5 @@
     'aset.manage_circle': 'Deinen Kreis verwalten',
     'aset.premium': 'Premium (Patreon)',
-    'aset.premium_help_1': 'Schalte die Premium-Module (Hub-Modus, Statistiken, Fan-Login, Prutter-DMs) mit deiner',
+    'aset.premium_help_1': 'Schalte die Premium-Module (Newsletter, Downloads, Statistiken, EPK, Link-in-Bio, Termine) mit deiner',
     'aset.premium_lifetime': '$16-Lifetime',
     'aset.premium_help_2': 'Patreon-Unterstützung frei. Die App und alle Updates bleiben kostenlos.',
@@ -2214,5 +2214,5 @@
     'aset.fediverse': 'Fediverse (ActivityPub)',
     'aset.fediverse_help': 'Lass deine Seite am Fediverse teilnehmen: Leute auf Mastodon (oder einem anderen Klonkt) können dir folgen, liken und antworten — und diese Antworten erscheinen unter deinen Beiträgen. Schaltest du das aus, föderiert deine Seite nicht und hat keine Kommentare (ein ruhiger, eigenständiger Blog).',
-    'aset.fediverse_toggle': 'Fediverse an (Folgen, Liken, Kommentieren)',
+    'aset.fediverse_toggle': 'Fediverse an (Folgen, Liken, Kommentieren)', 'aset.mode': 'Modus', 'aset.mode_help': 'Wähle, wie deine Site funktioniert.', 'aset.mode_solo': 'Solo', 'aset.mode_solo_help': 'Ein eigenständiger Blog — kein Fediverse, keine Kommentare. Ruhig und in sich geschlossen.', 'aset.mode_cirkels': 'Kreise', 'aset.mode_cirkels_help': 'Mach beim Fediverse mit (ActivityPub): Leute auf Mastodon oder einem anderen Klonkt können dir folgen, liken und antworten, und du kannst einem Kreis von Sites folgen.',
     'aset.email_smtp': 'E-Mail (SMTP)',
     'aset.smtp_help_1': 'Erforderlich, um den',
Index: src/views/pages/admin-settings.ejs
===================================================================
--- src/views/pages/admin-settings.ejs	(revision cf4cf27676b423c74ea0710c29e96dfec23d8f5d)
+++ src/views/pages/admin-settings.ejs	(revision eacd3d6d5750c547e441e0f0eb1dc3bcff77c736)
@@ -5,4 +5,21 @@
   <% if (success) { %><div class="alert alert-success"><%= success %></div><% } %>
   <% if (typeof error !== 'undefined' && error) { %><div class="alert alert-error"><%= error %></div><% } %>
+
+  <%# ── Mode: Solo or Cirkels (ActivityPub) — the primary, top-of-page choice ── %>
+  <section class="set-card set-card--mode" style="margin-top:1rem">
+    <h2><%= t('aset.mode') %></h2>
+    <p class="set-help"><%= t('aset.mode_help') %></p>
+    <form method="post" action="/admin/settings/ap" class="set-form">
+      <label class="set-opt">
+        <input type="radio" name="mode" value="solo" <%= (typeof apEnabledSetting !== 'undefined' && !apEnabledSetting) ? 'checked' : '' %>>
+        <span><strong><%= t('aset.mode_solo') %></strong><small><%= t('aset.mode_solo_help') %></small></span>
+      </label>
+      <label class="set-opt">
+        <input type="radio" name="mode" value="cirkels" <%= (typeof apEnabledSetting === 'undefined' || apEnabledSetting) ? 'checked' : '' %>>
+        <span><strong><%= t('aset.mode_cirkels') %></strong><small><%= t('aset.mode_cirkels_help') %></small></span>
+      </label>
+      <div class="set-actions"><button type="submit" class="btn btn-primary"><%= t('aset.save') %></button></div>
+    </form>
+  </section>
 
   <%# ── Default language for visitors ── %>
@@ -81,18 +98,4 @@
   </section>
   <% } %>
-
-  <%# Fediverse (ActivityPub) on/off. Off = no federation + no fediverse reactions,
-      which (since native comments were removed) means no comments at all. %>
-  <section class="set-card" style="margin-top:1rem">
-    <h2><%= t('aset.fediverse') %></h2>
-    <p class="set-help"><%= t('aset.fediverse_help') %></p>
-    <form method="post" action="/admin/settings/ap" class="set-form">
-      <label class="set-toggle" style="display:flex;align-items:center;gap:.6rem;cursor:pointer">
-        <input type="checkbox" name="ap_enabled" value="1" <%= (typeof apEnabledSetting === 'undefined' || apEnabledSetting) ? 'checked' : '' %>>
-        <span><%= t('aset.fediverse_toggle') %></span>
-      </label>
-      <div class="set-actions"><button type="submit" class="btn btn-primary"><%= t('aset.save') %></button></div>
-    </form>
-  </section>
 
   <%# E-mail / SMTP — required for sending newsletters, notify-mails and password resets. %>
