diff --git a/apps/web/app/(marketing)/page.tsx b/apps/web/app/(marketing)/page.tsx
index c2d2ef8..734a5de 100644
--- a/apps/web/app/(marketing)/page.tsx
+++ b/apps/web/app/(marketing)/page.tsx
@@ -1,9 +1,9 @@
import { HeroStepRotator } from '@/components/hero-step-rotator';
import { JsonLd } from '@/components/json-ld';
import { ParticleHero } from '@/components/particle-hero';
+import { ScrollCue } from '@/components/scroll-cue';
import { StaticCodeBlock } from '@/components/static-code-block';
import { FAQ, faqJsonLd } from '@/lib/seo';
-import { ChevronDown } from 'lucide-react';
import Link from 'next/link';
const PROMPT_EXAMPLE = `Create an MCP server that searches our Notion workspace.
@@ -99,7 +99,7 @@ export default function Landing() {
for pointermove on window itself, so the ring still tracks
the cursor through the content above. */}
-
+
v0.1 — updated 2026-05-20
@@ -149,16 +149,12 @@ export default function Landing() {
- {/* Scroll cue — hints the video section sits directly below. */}
-
- see it run
-
-
+ {/* Scroll cue — fixed at the bottom of the loadscreen rather than
+ inside the hero, so it sits at the natural lower edge of the
+ first viewport regardless of how tall the hero ends up. Fades
+ out once the user has scrolled past the loadscreen. */}
+
{/* Flow video — full-width edge-to-edge under the hero. The clip
shows the real flow (prompt → server schematic → live connection
diff --git a/apps/web/components/hero-step-rotator.tsx b/apps/web/components/hero-step-rotator.tsx
index fb8a40d..511ffee 100644
--- a/apps/web/components/hero-step-rotator.tsx
+++ b/apps/web/components/hero-step-rotator.tsx
@@ -109,23 +109,38 @@ export function HeroStepRotator() {
return (
+ {/* Container is relative + has a min-height so the absolutely-
+ positioned cards inside (during the slide) overlap cleanly
+ without collapsing the layout. min-h is sized for the tallest
+ card (claude_desktop_config.json at 7 lines). */}
-
+
{/* Cursor-following glow — sits behind the content, additive. */}
{
+ function onScroll() {
+ setVisible(window.scrollY < 80);
+ }
+ onScroll();
+ window.addEventListener('scroll', onScroll, { passive: true });
+ return () => window.removeEventListener('scroll', onScroll);
+ }, []);
+
+ return (
+
+ see it run
+
+
+ );
+}