Index: src/assets/js/mod/read.js
===================================================================
--- src/assets/js/mod/read.js	(revision b4af6f3a028053e65a6bdb83c3202bd7efa3e641)
+++ src/assets/js/mod/read.js	(revision 27cb1e3836c5a71c0462ee3118823c328a44135e)
@@ -480,14 +480,17 @@
         const doel = lenis.targetScroll;   // de echte landing, niet de raakdelta
         const punten = snap.computeSnaps();
-        let best = -1;
+        // De EERSTE grens voorbij het loslaatpunt, niet de dichtstbijzijnde bij
+        // de landing. Robins regel (24-8): wordt het target voorbijgescrolld,
+        // dan landen we alsnog OP het target. De zone werkt dus alleen aan de
+        // korte kant -- kom je er niet eens bij in de buurt, dan lees je gewoon
+        // binnen een lang bericht en blijft alles vrij. Eroverheen, hoe ver
+        // ook, betekent grijpen. Een harde veeg komt daarmee altijd precies
+        // een bericht verder, nooit twee: dat is het bladeren.
+        let eerste = -1;
         punten.forEach((punt, i) => {
-          if (punt.value <= vertrek + 2) return;
-          if (Math.abs(doel - punt.value) > vangZone()) return;
-          if (best < 0 || Math.abs(doel - punt.value) < Math.abs(doel - punten[best].value)) best = i;
+          if (punt.value > vertrek + 2 && (eerste < 0 || punt.value < punten[eerste].value)) eerste = i;
         });
-        // Landt de uitloop net VOORBIJ een bovenkant, dan is een klein stukje
-        // terug naar die lijn precies de gevraagde snap -- geen terugtrekking,
-        // want punten achter het loslaatpunt zijn hierboven al uitgesloten.
-        if (best >= 0) echtGaNaar(best);
+        if (eerste < 0) return;            // niets meer voor je: vrij uitscrollen
+        if (doel >= punten[eerste].value - vangZone()) echtGaNaar(eerste);
       }, 150);
     });
Index: src/views/shell.ejs
===================================================================
--- src/views/shell.ejs	(revision b4af6f3a028053e65a6bdb83c3202bd7efa3e641)
+++ src/views/shell.ejs	(revision 27cb1e3836c5a71c0462ee3118823c328a44135e)
@@ -505,5 +505,5 @@
   // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig
   // bumpen kost een bugfix die nooit aankomt.
-  var MOD_V = 56;
+  var MOD_V = 57;
 
   // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
