diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-a/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-a/src/lib/App.svelte
similarity index 100%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-a/src/lib/App.svelte
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-a/src/lib/App.svelte
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-a/src/lib/Counter.svelte b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-a/src/lib/Counter.svelte
similarity index 100%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-a/src/lib/Counter.svelte
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-a/src/lib/Counter.svelte
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-a/src/lib/shared.js b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-a/src/lib/shared.js
similarity index 100%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-a/src/lib/shared.js
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-a/src/lib/shared.js
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-b/src/lib/Counter.svelte b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-b/src/lib/Counter.svelte
similarity index 100%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-b/src/lib/Counter.svelte
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-b/src/lib/Counter.svelte
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-b/src/lib/shared.js b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-b/src/lib/shared.js
similarity index 100%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/+assets/app-b/src/lib/shared.js
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/+assets/app-b/src/lib/shared.js
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/index.md b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/index.md
similarity index 98%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/index.md
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/index.md
index 5806b49b70..12e360cce3 100644
--- a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/01-introducing-stores/index.md
+++ b/apps/svelte.dev/content/tutorial/02-advanced-svelte/01-advanced-reactivity/05-stores/index.md
@@ -1,5 +1,5 @@
---
-title: Introducing stores
+title: Stores
---
Prior to the introduction of runes in Svelte 5, stores were the idiomatic way to handle reactive state outside components. That's no longer the case, but you'll still encounter stores when using Svelte (including in SvelteKit, for now), so it's worth knowing how to use them.
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/+assets/app-a/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/+assets/app-a/src/lib/App.svelte
new file mode 100644
index 0000000000..fd6bffe84e
--- /dev/null
+++ b/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/+assets/app-a/src/lib/App.svelte
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/+assets/app-b/src/lib/App.svelte b/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/+assets/app-b/src/lib/App.svelte
new file mode 100644
index 0000000000..9f91b29859
--- /dev/null
+++ b/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/+assets/app-b/src/lib/App.svelte
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/02-tweens/index.md b/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/index.md
similarity index 54%
rename from apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/02-tweens/index.md
rename to apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/index.md
index 04cfc2751a..ea945ff563 100644
--- a/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-stores/02-tweens/index.md
+++ b/apps/svelte.dev/content/tutorial/02-advanced-svelte/03-motion/01-tweens/index.md
@@ -2,28 +2,53 @@
title: Tweened values
---
-Alongside the `writable` and `readable` stores, Svelte ships stores for adding motion to your user interfaces.
+Often, a good way to communicate that a value is changing is to use _motion_. Svelte ships classes for adding motion to your user interfaces.
-Let's start by changing the `progress` store to a `tweened` store:
+Import the `Tween` class from `svelte/motion`:
```svelte
/// file: App.svelte
```
+Turn `progress` into an instance of `Tween`:
+
+```svelte
+/// file: App.svelte
+
+```
+
+The `Tween` class has a writable `target` property and a readonly `current` property — update the `