diff --git a/src/components/content/LandingHero.astro b/src/components/content/LandingHero.astro
new file mode 100644
index 0000000..9a65896
--- /dev/null
+++ b/src/components/content/LandingHero.astro
@@ -0,0 +1,97 @@
+---
+/*
+Import the visual sub-components so the landing hero
+only handles layout + text content.
+*/
+import HeroRibbon from "../hero/HeroRibbon.astro";
+import HeroDashboard from "../hero/HeroDashboard.astro";
+
+/*
+Props allow this component to be reused with different text
+without modifying the layout or styling.
+*/
+const {
+ eyebrow = "UBC Agrobot",
+ title = "Robotics for agriculture",
+ subtitle = "We design and build field-ready systems. For perception, autonomy, and real-world deployment.",
+ primaryCta = { label: "Get involved", href: "/recruitment" },
+ secondaryCta = { label: "Explore projects", href: "/projects" },
+} = Astro.props;
+---
+
+
+
diff --git a/src/components/hero/HeroDashboard.astro b/src/components/hero/HeroDashboard.astro
new file mode 100644
index 0000000..9d749bb
--- /dev/null
+++ b/src/components/hero/HeroDashboard.astro
@@ -0,0 +1,133 @@
+---
+/*
+Dashboard mock shown on the right side of the landing hero.
+
+This simulates a robotics/computer vision interface so the page
+feels like a real product/engineering site instead of just text.
+*/
+---
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Agrobot Dashboard
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ crop
+
+
+
+
+
+
+ weed
+
+
+
+
+
+
+ row
+
+
+
+
+
+ Live vision
+
+
+
+
+
+
+
+
+
+
+
+
+
Path status
+
On track
+
+
+
+
+
+
+
System health
+
Nominal
+
+
+
+
+ Online
+
+
+
+
+
diff --git a/src/components/hero/HeroRibbon.astro b/src/components/hero/HeroRibbon.astro
new file mode 100644
index 0000000..a71fbd8
--- /dev/null
+++ b/src/components/hero/HeroRibbon.astro
@@ -0,0 +1,62 @@
+---
+/*
+Animated gradient ribbon background.
+*/
+---
+
+
+
+
diff --git a/src/pages/index.astro b/src/pages/index.astro
index e47087c..288205c 100644
--- a/src/pages/index.astro
+++ b/src/pages/index.astro
@@ -1,11 +1,14 @@
---
import Welcome from "../components/Welcome.astro";
import Layout from "../layouts/Layout.astro";
+import LandingHero from "../components/content/LandingHero.astro";
// Welcome to Astro! Wondering what to do next? Check out the Astro documentation at https://docs.astro.build
// Don't want to use any of this? Delete everything in this file, the `assets`, `components`, and `layouts` directories, and start fresh.
---
-
+
+
+