diff --git a/src/components/page-shell.tsx b/src/components/page-shell.tsx
new file mode 100644
index 0000000..88972d3
--- /dev/null
+++ b/src/components/page-shell.tsx
@@ -0,0 +1,52 @@
+import { createFileRoute, Link } from "@tanstack/react-router";
+import { ArrowUpRight, type LucideIcon } from "lucide-react";
+
+export function PageHero({ eyebrow, title, lede }: { eyebrow: string; title: string; lede?: string }) {
+ return (
+
+
+
{eyebrow}
+
+ {title}
+
+ {lede &&
{lede}
}
+
+
+ );
+}
+
+export function Section({ children, className = "" }: { children: React.ReactNode; className?: string }) {
+ return ;
+}
+
+export function FeatureRow({ img, title, body, reverse, Icon }: { img: string; title: string; body: string; reverse?: boolean; Icon?: LucideIcon }) {
+ return (
+
*:first-child]:order-2" : ""}`}>
+
+
+ {Icon &&
}
+
{title}
+
{body}
+
+
+ );
+}
+
+export function CTA() {
+ return (
+
+
+
+
Ready when you are
+
Let's design your misting system.
+
+
+ Request a quote
+
+
+
+ );
+}
+
+// Dummy export so this file is treated as a module but not a route.
+export const Route = createFileRoute("/_shared")({ component: () => null });