diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..046f296
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,15 @@
+# Earth Walker Design — site env vars
+#
+# Both are inlined at build time by Vite. To rotate either, edit
+# values here, then rebuild + redeploy.
+
+# The Nostr public key that receives encrypted inquiry submissions.
+# Bech32 npub1... form. Generate via `nak key generate` (fiatjaf/nak)
+# or any Nostr client.
+VITE_OWNER_NPUB=
+
+# Optional. Comma-separated wss:// relay URLs the inquiry form
+# publishes to. If unset, defaults to:
+# wss://relay.damus.io,wss://nos.lol,wss://relay.nostr.band
+# The submission succeeds if at least one relay accepts the event.
+VITE_NOSTR_RELAYS=
diff --git a/src/components/contact/ContactForm.vue b/src/components/contact/ContactForm.vue
new file mode 100644
index 0000000..62f4210
--- /dev/null
+++ b/src/components/contact/ContactForm.vue
@@ -0,0 +1,199 @@
+
+
+
+
+
diff --git a/src/components/contact/PrivacyBlurb.vue b/src/components/contact/PrivacyBlurb.vue
new file mode 100644
index 0000000..5b3fdb4
--- /dev/null
+++ b/src/components/contact/PrivacyBlurb.vue
@@ -0,0 +1,20 @@
+
+
+
+
+
diff --git a/src/views/ContactView.vue b/src/views/ContactView.vue
index 7148aae..b36a08d 100644
--- a/src/views/ContactView.vue
+++ b/src/views/ContactView.vue
@@ -1,11 +1,25 @@
-
+
-
+
Contact
- Get in touch.
+ Begin a conversation.
-
Form arriving in the next commit.
+
+ The studio takes on a small number of new homes each year. Send a few notes about
+ your space and we'll be in touch through your preferred channel.
+