diff --git a/src/app/about/page.tsx b/src/app/about/page.tsx
new file mode 100644
index 0000000..d4fbb67
--- /dev/null
+++ b/src/app/about/page.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import SubpageLayout from "@/components/SubpageLayout";
+import RestaurantStory from "@/components/RestaurantStory";
+import ChefShowcase from "@/components/ChefShowcase";
+
+export default function AboutPage() {
+ return (
+
+
+
+ {/* Subpage Header Banner */}
+
+
+ ❧
+
+ ABOUT OUR HOUSE
+
+ ❧
+
+
+ Our Legacy & Passion
+
+
+
+
+ {/* Core sections */}
+
+
+
+
+ );
+}
diff --git a/src/app/blog/page.tsx b/src/app/blog/page.tsx
new file mode 100644
index 0000000..9aafed0
--- /dev/null
+++ b/src/app/blog/page.tsx
@@ -0,0 +1,135 @@
+"use client";
+
+import Image from "next/image";
+import SubpageLayout from "@/components/SubpageLayout";
+
+const CornerOrnaments = () => (
+ <>
+
+
+
+
+ >
+);
+
+const BLOG_POSTS = [
+ {
+ id: 1,
+ title: "The Art of Fermenting Dosa Batter: A 24-Hour Ritual",
+ desc: "Discover the traditional science and family secrets behind cultivating the perfect sourness and crispiness for our signature stone-ground dosas.",
+ date: "JULY 15, 2026",
+ image: "/images/masala_dosa_luxury.png",
+ author: "Chef Sundaram Iyer",
+ },
+ {
+ id: 2,
+ title: "Secret Spices of Chettinad Cookery",
+ desc: "Unveiling the delicate proportions of kalpasi (stone flower), star anise, and freshly crushed peppercorns that define our royal spice blends.",
+ date: "JUNE 28, 2026",
+ image: "/images/category_curries.jpg",
+ author: "My Dosa Place Culinary Team",
+ },
+ {
+ id: 3,
+ title: "Why Brass Cookware Remains King in Heritage Dining",
+ desc: "How slow-heating copper and brass vessels preserve the vital nutrients and aroma of our house-cooked lentil sambar and vegetable poriyals.",
+ date: "MAY 12, 2026",
+ image: "/images/south_indian_thali_luxury.png",
+ author: "Heritage Preservation Society",
+ },
+];
+
+export default function BlogPage() {
+ return (
+
+ {/* Background elements */}
+
+
+
+
+
+
+ {/* Subpage Header Banner */}
+
+
+ ❧
+
+ CULINARY CHRONICLES
+
+ ❧
+
+
+ Spices & Stories
+
+
+
+
+ {/* Blog Posts Grid */}
+
+ {BLOG_POSTS.map((post) => (
+
+ {/* Corner leaves and border outline */}
+
+
+
+ {/* Image Frame */}
+
+
+
+
+ {/* Meta */}
+
+ {post.date}
+ BY {post.author}
+
+
+ {/* Details */}
+
+ {post.title}
+
+
+ {post.desc}
+
+
+ {/* Read button */}
+
+
+ ))}
+
+
+
+
+ );
+}
diff --git a/src/app/contact/page.tsx b/src/app/contact/page.tsx
new file mode 100644
index 0000000..c9572c3
--- /dev/null
+++ b/src/app/contact/page.tsx
@@ -0,0 +1,207 @@
+"use client";
+
+import { useState } from "react";
+import Image from "next/image";
+import SubpageLayout from "@/components/SubpageLayout";
+
+const CornerOrnaments = () => (
+ <>
+
+
+
+
+ >
+);
+
+export default function ContactPage() {
+ const [formData, setFormData] = useState({ name: "", email: "", msg: "" });
+ const [submitted, setSubmitted] = useState(false);
+
+ const handleSubmit = (e: React.FormEvent) => {
+ e.preventDefault();
+ if (formData.name && formData.email && formData.msg) {
+ setSubmitted(true);
+ setTimeout(() => {
+ setSubmitted(false);
+ setFormData({ name: "", email: "", msg: "" });
+ }, 5000);
+ }
+ };
+
+ return (
+
+
+
+
+
+
+
+ {/* Header */}
+
+
+ ❧
+
+ GET IN TOUCH
+
+ ❧
+
+
+ Connect With Us
+
+
+
+
+ {/* 2-Column Info & Form */}
+
+
+ {/* Column 1: Info */}
+
+
+
+
+
+
+ THE DINING COURT
+
+
+
+
+
+ OUR HAVEN
+
+
+ 123 Erb Street West,
+ Waterloo, ON N2L 1T4
+
+
+
+
+
+ HEAR OUR VOICE
+
+
+ Direct Line: (519) 555-0199
+ Royal Inquiries: concierge@mydosaplace.ca
+
+
+
+
+
+ TIMINGS OF THE COURT
+
+
+ Lunch Service: 11:30 AM – 3:00 PM
+ Dinner Service: 5:30 PM – 10:30 PM
+ Closed on Tuesdays for spice curing.
+
+
+
+
+
+ {/* Banner bottom */}
+
+
+ ❧ HOSPITALITY SERVED WITH SOUL ☙
+
+
+
+
+ {/* Column 2: Form */}
+
+
+
+
+
+
+
+ WRITE A NOTE
+
+
+ {submitted ? (
+
+
+
+ INQUIRY SENT
+
+
+ Thank you for contacting the court. Our hospitality concierge will respond within a single sun cycle.
+
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/src/app/menu/page.tsx b/src/app/menu/page.tsx
new file mode 100644
index 0000000..00e8c8f
--- /dev/null
+++ b/src/app/menu/page.tsx
@@ -0,0 +1,33 @@
+"use client";
+
+import SubpageLayout from "@/components/SubpageLayout";
+import CulinaryCategories from "@/components/CulinaryCategories";
+import MenuPreview from "@/components/MenuPreview";
+
+export default function MenuPage() {
+ return (
+
+
+
+ {/* Subpage Header Banner */}
+
+
+ ❧
+
+ THE ROYAL BANQUET
+
+ ❧
+
+
+ Feast Menu
+
+
+
+
+ {/* Core sections */}
+
+
+
+
+ );
+}
diff --git a/src/app/reservation/page.tsx b/src/app/reservation/page.tsx
new file mode 100644
index 0000000..1298a56
--- /dev/null
+++ b/src/app/reservation/page.tsx
@@ -0,0 +1,185 @@
+"use client";
+
+import { useState } from "react";
+import Image from "next/image";
+import SubpageLayout from "@/components/SubpageLayout";
+
+const CornerOrnaments = () => (
+ <>
+
+
+
+
+ >
+);
+
+export default function ReservationPage() {
+ const [guests, setGuests] = useState("2 Guests");
+ const [date, setDate] = useState("2026-07-16");
+ const [time, setTime] = useState("06:00 PM");
+ const [area, setArea] = useState("Heritage Dining Court");
+ const [reserved, setReserved] = useState(false);
+
+ const handleReserve = (e: React.FormEvent) => {
+ e.preventDefault();
+ setReserved(true);
+ setTimeout(() => {
+ setReserved(false);
+ }, 6000);
+ };
+
+ return (
+
+
+
+
+
+
+
+ {/* Header */}
+
+
+ ❧
+
+ TABLE BOOKING
+
+ ❧
+
+
+ Reserve Table
+
+
+
+
+ {/* Card Frame containing booking inputs */}
+
+
+
+
+
+ {reserved ? (
+
+
+
+ RESERVATION CONFIRMED
+
+
+
+ Your table has been reserved for {guests} on {date} at {time} in our {area}.
+
+
+ A verification parchment has been sent.
+
+
+ ) : (
+
+ )}
+
+
+
+
+
+ );
+}
diff --git a/src/components/Header.tsx b/src/components/Header.tsx
index 36b48e4..d7fadc0 100644
--- a/src/components/Header.tsx
+++ b/src/components/Header.tsx
@@ -10,7 +10,7 @@ export default function Header({ visible }: { visible: boolean }) {