[object Object]

← back to Animals

yolo: iter 2 trivial patches from claude-codex debate

77636a0c814f32703db8d3de7383f1568a8c5bd3 · 2026-05-04 09:30:23 -0700 · yolo

Files touched

Diff

commit 77636a0c814f32703db8d3de7383f1568a8c5bd3
Author: yolo <yolo@local>
Date:   Mon May 4 09:30:23 2026 -0700

    yolo: iter 2 trivial patches from claude-codex debate
---
 logs/vision-audit-weekly-20260504-090001.md        | 43 ++++++++++++++
 public/mockups/biz-14214-a.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-14214-b.html                    | 65 +++++++++++++++++++++
 public/mockups/biz-14214-c.html                    | 49 ++++++++++++++++
 public/mockups/biz-14222-a.html                    | 60 +++++++++++++++++++
 public/mockups/biz-14222-b.html                    | 42 ++++++++++++++
 public/mockups/biz-14222-c.html                    | 45 +++++++++++++++
 public/mockups/biz-14229-a.html                    | 56 ++++++++++++++++++
 public/mockups/biz-14229-b.html                    | 45 +++++++++++++++
 public/mockups/biz-14229-c.html                    | 39 +++++++++++++
 public/mockups/biz-14231-a.html                    | 65 +++++++++++++++++++++
 public/mockups/biz-14231-b.html                    | 44 ++++++++++++++
 public/mockups/biz-14231-c.html                    | 60 +++++++++++++++++++
 public/mockups/biz-14238-a.html                    | 51 ++++++++++++++++
 public/mockups/biz-14238-b.html                    | 60 +++++++++++++++++++
 public/mockups/biz-14238-c.html                    | 56 ++++++++++++++++++
 public/mockups/biz-14247-a.html                    | 51 ++++++++++++++++
 public/mockups/biz-14247-b.html                    | 50 ++++++++++++++++
 public/mockups/biz-14247-c.html                    | 49 ++++++++++++++++
 public/mockups/biz-16158-a.html                    | 56 ++++++++++++++++++
 public/mockups/biz-16158-b.html                    | 60 +++++++++++++++++++
 public/mockups/biz-16158-c.html                    | 45 +++++++++++++++
 public/mockups/biz-16171-a.html                    | 44 ++++++++++++++
 public/mockups/biz-16171-b.html                    | 60 +++++++++++++++++++
 public/mockups/biz-16171-c.html                    | 45 +++++++++++++++
 public/mockups/biz-16176-a.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16176-b.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-16176-c.html                    | 60 +++++++++++++++++++
 public/mockups/biz-16179-a.html                    | 44 ++++++++++++++
 public/mockups/biz-16179-b.html                    | 45 +++++++++++++++
 public/mockups/biz-16179-c.html                    | 50 ++++++++++++++++
 public/mockups/biz-16191-a.html                    | 39 +++++++++++++
 public/mockups/biz-16191-b.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16191-c.html                    | 45 +++++++++++++++
 public/mockups/biz-16199-a.html                    | 65 +++++++++++++++++++++
 public/mockups/biz-16199-b.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16199-c.html                    | 44 ++++++++++++++
 public/mockups/biz-16203-a.html                    | 42 ++++++++++++++
 public/mockups/biz-16203-b.html                    | 49 ++++++++++++++++
 public/mockups/biz-16203-c.html                    | 65 +++++++++++++++++++++
 public/mockups/biz-16208-a.html                    | 60 +++++++++++++++++++
 public/mockups/biz-16208-b.html                    | 50 ++++++++++++++++
 public/mockups/biz-16208-c.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16212-a.html                    | 49 ++++++++++++++++
 public/mockups/biz-16212-b.html                    | 56 ++++++++++++++++++
 public/mockups/biz-16212-c.html                    | 42 ++++++++++++++
 public/mockups/biz-16230-a.html                    | 49 ++++++++++++++++
 public/mockups/biz-16230-b.html                    | 45 +++++++++++++++
 public/mockups/biz-16230-c.html                    | 44 ++++++++++++++
 public/mockups/biz-16260-a.html                    | 49 ++++++++++++++++
 public/mockups/biz-16260-b.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-16260-c.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16273-a.html                    | 45 +++++++++++++++
 public/mockups/biz-16273-b.html                    | 51 ++++++++++++++++
 public/mockups/biz-16273-c.html                    | 51 ++++++++++++++++
 public/mockups/biz-16280-a.html                    | 33 +++++++++++
 public/mockups/biz-16280-b.html                    | 32 +++++++++++
 public/mockups/biz-16280-c.html                    | 39 +++++++++++++
 public/mockups/biz-16304-a.html                    | 32 +++++++++++
 public/mockups/biz-16304-b.html                    | 39 +++++++++++++
 public/mockups/biz-16304-c.html                    | 33 +++++++++++
 public/mockups/biz-16319-a.html                    | 42 ++++++++++++++
 public/mockups/biz-16319-b.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-16319-c.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16331-a.html                    | 51 ++++++++++++++++
 public/mockups/biz-16331-b.html                    | 44 ++++++++++++++
 public/mockups/biz-16331-c.html                    | 49 ++++++++++++++++
 public/mockups/biz-16350-a.html                    | 56 ++++++++++++++++++
 public/mockups/biz-16350-b.html                    | 51 ++++++++++++++++
 public/mockups/biz-16350-c.html                    | 39 +++++++++++++
 public/mockups/biz-16361-a.html                    | 45 +++++++++++++++
 public/mockups/biz-16361-b.html                    | 51 ++++++++++++++++
 public/mockups/biz-16361-c.html                    | 50 ++++++++++++++++
 public/mockups/biz-16378-a.html                    | 39 +++++++++++++
 public/mockups/biz-16378-b.html                    | 65 +++++++++++++++++++++
 public/mockups/biz-16378-c.html                    | 60 +++++++++++++++++++
 public/mockups/biz-16381-a.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16381-b.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-16381-c.html                    | 65 +++++++++++++++++++++
 public/mockups/biz-16402-a.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16402-b.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-16402-c.html                    | 42 ++++++++++++++
 public/mockups/biz-16403-a.html                    | 51 ++++++++++++++++
 public/mockups/biz-16403-b.html                    | 45 +++++++++++++++
 public/mockups/biz-16403-c.html                    | 63 ++++++++++++++++++++
 public/mockups/biz-16411-a.html                    | 49 ++++++++++++++++
 public/mockups/biz-16411-b.html                    | 45 +++++++++++++++
 public/mockups/biz-16411-c.html                    | 56 ++++++++++++++++++
 public/mockups/biz-16412-a.html                    | 45 +++++++++++++++
 public/mockups/biz-16412-b.html                    | 50 ++++++++++++++++
 public/mockups/biz-16412-c.html                    | 60 +++++++++++++++++++
 public/mockups/biz-16416-a.html                    | 50 ++++++++++++++++
 public/mockups/biz-16416-b.html                    | 59 +++++++++++++++++++
 public/mockups/biz-16416-c.html                    | 51 ++++++++++++++++
 public/mockups/biz-16452-a.html                    | 56 ++++++++++++++++++
 public/mockups/biz-16452-b.html                    | 42 ++++++++++++++
 public/mockups/biz-16452-c.html                    | 65 +++++++++++++++++++++
 .../contact.html                                   | 51 ++++++++++++++++
 .../index.html                                     | 45 +++++++++++++++
 .../services.html                                  | 53 +++++++++++++++++
 .../team.html                                      | 46 +++++++++++++++
 .../contact.html                                   | 51 ++++++++++++++++
 .../niels-animal-hospital-niles-il-6081/index.html | 45 +++++++++++++++
 .../services.html                                  | 53 +++++++++++++++++
 .../niels-animal-hospital-niles-il-6081/team.html  | 46 +++++++++++++++
 .../contact.html                                   | 57 ++++++++++++++++++
 .../oakland-animal-services-ca-ca-7374/index.html  | 51 ++++++++++++++++
 .../services.html                                  | 59 +++++++++++++++++++
 .../oakland-animal-services-ca-ca-7374/team.html   | 52 +++++++++++++++++
 .../contact.html                                   | 65 +++++++++++++++++++++
 .../index.html                                     | 59 +++++++++++++++++++
 .../services.html                                  | 67 ++++++++++++++++++++++
 .../riser-animal-hospital-skokie-il-6080/team.html | 60 +++++++++++++++++++
 .../the-pet-pro-champaign-il-6086/contact.html     | 55 ++++++++++++++++++
 .../sites/the-pet-pro-champaign-il-6086/index.html | 49 ++++++++++++++++
 .../the-pet-pro-champaign-il-6086/services.html    | 57 ++++++++++++++++++
 .../sites/the-pet-pro-champaign-il-6086/team.html  | 50 ++++++++++++++++
 117 files changed, 6044 insertions(+)

diff --git a/logs/vision-audit-weekly-20260504-090001.md b/logs/vision-audit-weekly-20260504-090001.md
new file mode 100644
index 0000000..a7a61fc
--- /dev/null
+++ b/logs/vision-audit-weekly-20260504-090001.md
@@ -0,0 +1,43 @@
+# Vision-audit weekly report — 2026-05-04T09:00:01-07:00
+
+## Last 7 days summary
+- Audited this week: 1087
+- Marked dead this week: 78
+
+## Verdict distribution (last 7 days)
+| Verdict | Count |
+|---|---|
+| real_photo | 1007 |
+| art | 54 |
+| wrong_subject | 24 |
+| unclear | 2 |
+
+## Sanity check — false-positive scan
+Dead rows whose reason contains 'person/people/human' but no explicit non-animal subject keyword.
+If the defense-in-depth gate is working, this list should be EMPTY.
+
+- id=96 [Basset Hound] The image shows a dog that resembles a Basset Hound but it is not a real photograph of a Basset Houn
+
+## Top 10 breeds losing the most photos this week
+| Breed | Lost |
+|---|---|
+| Newfoundland | 15 |
+| Cocker Spaniel | 8 |
+| Bengal | 6 |
+| Bulldog | 4 |
+| Chesapeake Bay Retriever | 4 |
+| Maltese | 4 |
+| Pekingese | 4 |
+| Standard Schnauzer | 3 |
+| Italian Greyhound | 3 |
+| Boston Terrier | 2 |
+
+## Sample of 5 dead-marked rows (eyeball check)
+- **Chesapeake Bay Retriever** — "Chesapeake Bay Retriever circa 1915" (art) — _Engraving of a dog_
+- **Bulldog** — "Bellille.mainecoon.toyger.bulldog" (art) — _Collage of images, not a photograph_
+- **Bengal** — "*Ruined gateway in the Baisgazi wall with the remains of an hexagonal tower, Gaur. In the distance, outside the east wall is the Firoz Minar; by William Baillie, 1784" (art) — _Engraving of a landscape_
+- **Newfoundland** — "Breeze (3599671071)" (wrong_subject) — _No dog, only landscape_
+- **Cocker Spaniel** — "111. English and Welsh Cocker" (art) — _Illustration of dogs, not a photograph_
+
+## Pending queue
+- 11758 images still need vision-audit (drains 500/week)
diff --git a/public/mockups/biz-14214-a.html b/public/mockups/biz-14214-a.html
new file mode 100644
index 0000000..0ff4fb5
--- /dev/null
+++ b/public/mockups/biz-14214-a.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+  --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>Dunwoody Animal Hospital</h1>
+        <small>vet clinic · Dunwoody, GA · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">5450 Chamblee Dunwoody Road, Dunwoody, GA, 30338 · +1-770-394-4030</footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14214-b.html b/public/mockups/biz-14214-b.html
new file mode 100644
index 0000000..b7ead75
--- /dev/null
+++ b/public/mockups/biz-14214-b.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f8fafc; --accent:#0ea5e9;
+  --accent2:#f97316; --muted:#64748b; --rule:#e2e8f0;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>Dunwoody Animal Hospital</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Dunwoody, GA</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice Dunwoody has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">5450 Chamblee Dunwoody Road, Dunwoody, GA, 30338 · +1-770-394-4030</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14214-c.html b/public/mockups/biz-14214-c.html
new file mode 100644
index 0000000..f53ff6d
--- /dev/null
+++ b/public/mockups/biz-14214-c.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#222218; --paper:#f9f8f1; --accent:#5d6b3a;
+  --accent2:#c97a3e; --muted:#7d7c66; --rule:#e6e3d4;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Dunwoody</small>
+      <h1>Dunwoody Animal Hospital</h1>
+      <div class=tag>A veterinary concierge for Dunwoody families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">5450 Chamblee Dunwoody Road, Dunwoody, GA, 30338 · +1-770-394-4030</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14222-a.html b/public/mockups/biz-14222-a.html
new file mode 100644
index 0000000..5683c7b
--- /dev/null
+++ b/public/mockups/biz-14222-a.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=Nunito:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#221913; --paper:#faf2e8; --accent:#5a3920;
+  --accent2:#c97a3e; --muted:#7d6e5d; --rule:#ead9c1;
+  --h-font:'Nunito', serif; --b-font:'Nunito', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Animal Emergency Center of Sandy Springs</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Sandy Springs pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">228 Sandy Springs Place Northeast, Sandy Springs, GA, 30328 · +1 404 252 7881</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14222-b.html b/public/mockups/biz-14222-b.html
new file mode 100644
index 0000000..3bc6ff8
--- /dev/null
+++ b/public/mockups/biz-14222-b.html
@@ -0,0 +1,42 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+  --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#f0e3dc,#fff9f6)}
+    .cal-hero h1{font-size:3.4em;font-weight:800;margin:0 0 .3em}
+    .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5em;max-width:900px;margin:2em auto;padding:0 2em}
+    .cal-cell{background:#fff;padding:1em .5em;text-align:center;border-radius:var(--btn-r);box-shadow:var(--card-shadow);font-weight:600}
+    .cal-cell .dow{font-size:.7em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block}
+    .cal-cell .num{font-size:1.3em;font-family:var(--h-font);color:var(--accent);font-weight:900}
+    .cal-cell.closed{opacity:.3}
+    .cal-cell.open:hover{background:var(--accent);color:var(--paper);cursor:pointer}
+    .cal-cell.open:hover .num,.cal-cell.open:hover .dow{color:var(--paper)}
+</style></head><body>
+    <section class=cal-hero>
+      <small style="letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);font-weight:700">vet clinic · Sandy Springs, GA</small>
+      <h1>Animal Emergency Center of Sandy Springs</h1>
+      <p class=muted>Pick a day. We'll text you the openings.</p>
+      <div class=cal-grid>
+        <div class="cal-cell open"><span class=dow>Mon</span><span class=num>4</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>5</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>6</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>7</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>8</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>9</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>10</span></div><div class="cal-cell open"><span class=dow>Mon</span><span class=num>11</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>12</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>13</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>14</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>15</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>16</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>17</span></div>
+      </div>
+      <a class=btn href=#book>Continue →</a>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">228 Sandy Springs Place Northeast, Sandy Springs, GA, 30328 · +1 404 252 7881</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14222-c.html b/public/mockups/biz-14222-c.html
new file mode 100644
index 0000000..0b28321
--- /dev/null
+++ b/public/mockups/biz-14222-c.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#000000; --paper:#fffaf3; --accent:#000000;
+  --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+  --h-font:'Inter', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pl-hero{padding:5em 3em;background:var(--accent);color:var(--paper);position:relative;overflow:hidden}
+    .pl-hero:after{content:"🐶 🐱 🐾 🦴 🐾 🐶 🐱 🦴";position:absolute;top:0;right:-20%;font-size:14em;opacity:.05;line-height:1;letter-spacing:.5em}
+    .pl-hero h1{font-size:4.5em;font-weight:900;letter-spacing:-.03em;line-height:1;max-width:14ch;margin:0 0 .3em;color:var(--paper)}
+    .pl-hero p{font-size:1.3em;opacity:.9;max-width:600px;margin:1em 0 2em}
+    .pl-hero .btn{background:var(--accent2);color:#fff}
+    .pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;padding:3em;max-width:1200px;margin:0 auto}
+    .pl-card{background:#fff;padding:2em;border-radius:var(--card-r);box-shadow:var(--card-shadow);text-align:center}
+    .pl-card .emoji{font-size:3em;line-height:1}
+    .pl-card h3{margin:.4em 0;font-size:1.3em}
+    .pl-card p{margin:0;color:var(--muted);font-size:.95em}
+</style></head><body>
+    <section class=pl-hero>
+      <small style="opacity:.7;font-weight:700;letter-spacing:.15em;text-transform:uppercase">vet clinic</small>
+      <h1>Animal Emergency Center of Sandy Springs</h1>
+      <p>The Sandy Springs vet your dog actually wants to visit. Treats, head scratches, and zero waiting-room shaking.</p>
+      <a class=btn href=#book>Book online →</a>
+    </section>
+    <section class=pl-grid>
+      <div class=pl-card><div class=emoji>🐕</div><h3>Dogs</h3><p>From puppies to seniors, with treats and patience.</p></div>
+      <div class=pl-card><div class=emoji>🐈</div><h3>Cats</h3><p>Cat-only exam room. Calmer everything.</p></div>
+      <div class=pl-card><div class=emoji>🐰</div><h3>Exotics</h3><p>Rabbits, reptiles, birds, small mammals welcome.</p></div>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">228 Sandy Springs Place Northeast, Sandy Springs, GA, 30328 · +1 404 252 7881</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14229-a.html b/public/mockups/biz-14229-a.html
new file mode 100644
index 0000000..55ec490
--- /dev/null
+++ b/public/mockups/biz-14229-a.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1f1a; --paper:#f1faf6; --accent:#1d8466;
+  --accent2:#d97706; --muted:#5a716a; --rule:#cce8db;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">shelter · Lawrenceville, GA</small>
+      <h1>Gwinnett County Bill Atkinson Animal Welfare Center</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">884 Winder Highway, Lawrenceville, GA, 30045 · +1-770-339-3200</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14229-b.html b/public/mockups/biz-14229-b.html
new file mode 100644
index 0000000..d6c2ec6
--- /dev/null
+++ b/public/mockups/biz-14229-b.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#222218; --paper:#f9f8f1; --accent:#5d6b3a;
+  --accent2:#c97a3e; --muted:#7d7c66; --rule:#e6e3d4;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pl-hero{padding:5em 3em;background:var(--accent);color:var(--paper);position:relative;overflow:hidden}
+    .pl-hero:after{content:"🐶 🐱 🐾 🦴 🐾 🐶 🐱 🦴";position:absolute;top:0;right:-20%;font-size:14em;opacity:.05;line-height:1;letter-spacing:.5em}
+    .pl-hero h1{font-size:4.5em;font-weight:900;letter-spacing:-.03em;line-height:1;max-width:14ch;margin:0 0 .3em;color:var(--paper)}
+    .pl-hero p{font-size:1.3em;opacity:.9;max-width:600px;margin:1em 0 2em}
+    .pl-hero .btn{background:var(--accent2);color:#fff}
+    .pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;padding:3em;max-width:1200px;margin:0 auto}
+    .pl-card{background:#fff;padding:2em;border-radius:var(--card-r);box-shadow:var(--card-shadow);text-align:center}
+    .pl-card .emoji{font-size:3em;line-height:1}
+    .pl-card h3{margin:.4em 0;font-size:1.3em}
+    .pl-card p{margin:0;color:var(--muted);font-size:.95em}
+</style></head><body>
+    <section class=pl-hero>
+      <small style="opacity:.7;font-weight:700;letter-spacing:.15em;text-transform:uppercase">shelter</small>
+      <h1>Gwinnett County Bill Atkinson Animal Welfare Center</h1>
+      <p>The Lawrenceville vet your dog actually wants to visit. Treats, head scratches, and zero waiting-room shaking.</p>
+      <a class=btn href=#book>Book online →</a>
+    </section>
+    <section class=pl-grid>
+      <div class=pl-card><div class=emoji>🐕</div><h3>Dogs</h3><p>From puppies to seniors, with treats and patience.</p></div>
+      <div class=pl-card><div class=emoji>🐈</div><h3>Cats</h3><p>Cat-only exam room. Calmer everything.</p></div>
+      <div class=pl-card><div class=emoji>🐰</div><h3>Exotics</h3><p>Rabbits, reptiles, birds, small mammals welcome.</p></div>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">884 Winder Highway, Lawrenceville, GA, 30045 · +1-770-339-3200</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14229-c.html b/public/mockups/biz-14229-c.html
new file mode 100644
index 0000000..aa5c689
--- /dev/null
+++ b/public/mockups/biz-14229-c.html
@@ -0,0 +1,39 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+  --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{display:flex;flex-direction:column;min-height:100vh}
+    .min-nav{padding:2em 4em;display:flex;justify-content:space-between;align-items:center;font-size:.9em;letter-spacing:.05em}
+    .min-nav strong{font-size:1em;font-weight:600}
+    .min-nav a{margin-left:1.5em;color:var(--ink)}
+    .min-hero{flex:1;padding:6em 4em;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;margin:0 auto}
+    .min-hero h1{font-size:5em;font-weight:300;letter-spacing:-.04em;line-height:1.05;margin:0 0 .3em}
+    .min-hero p{font-size:1.2em;color:var(--muted);max-width:520px;margin:1em 0 2em;line-height:1.7;font-weight:300}
+    .min-hero .arrow{font-size:1em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.2em}
+    .min-foot{padding:2em 4em;border-top:1px solid var(--rule);display:flex;justify-content:space-between;color:var(--muted);font-size:.85em}
+</style></head><body>
+    <header class=min-nav><strong>Gwinnett County Bill Atkinson Animal Welfare Center</strong><div><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a><a href=#>Book</a></div></header>
+    <main class=min-hero>
+      <h1>Gwinnett County Bill Atkinson Animal Welfare Center.</h1>
+      <p>A small, deliberately quiet veterinary practice in Lawrenceville.<br>By appointment.</p>
+      <a class=arrow href=#book>Request an appointment →</a>
+    </main>
+    <footer class=min-foot><span>884 Winder Highway, Lawrenceville, GA, 30045</span><span>+1-770-339-3200</span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14231-a.html b/public/mockups/biz-14231-a.html
new file mode 100644
index 0000000..7377296
--- /dev/null
+++ b/public/mockups/biz-14231-a.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+  --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>Hickory Flat Animal Hospital</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Canton, GA</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice Canton has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">2939 East Cherokee Drive, Canton, GA, 30115 · +1-770-345-2816</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14231-b.html b/public/mockups/biz-14231-b.html
new file mode 100644
index 0000000..d9b3c50
--- /dev/null
+++ b/public/mockups/biz-14231-b.html
@@ -0,0 +1,44 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#222218; --paper:#f9f8f1; --accent:#5d6b3a;
+  --accent2:#c97a3e; --muted:#7d7c66; --rule:#e6e3d4;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e6e3d4,#f9f8f1);text-align:center}
+    .bq-hero small{font-style:italic;font-family:var(--h-font);font-size:1.1em;color:var(--accent)}
+    .bq-hero h1{font-size:4em;margin:.3em 0 .5em;font-weight:400;letter-spacing:-.01em}
+    .bq-hero p{color:var(--muted);font-size:1.15em;max-width:560px;margin:0 auto 2em;line-height:1.7}
+    .bq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 4em;max-width:1200px;margin:0 auto}
+    .bq-card{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:2em;text-align:center}
+    .bq-card .ico{font-size:2.4em;color:var(--accent2)}
+    .bq-card h3{font-style:italic;font-family:var(--h-font);margin:.5em 0;font-size:1.4em;font-weight:400}
+    .bq-card p{color:var(--muted);font-size:.95em;line-height:1.6;margin:0}
+</style></head><body>
+    <section class=bq-hero>
+      <small>vet clinic</small>
+      <h1>Hickory Flat Animal Hospital</h1>
+      <p>A neighborhood veterinary practice that feels like home — in the best part of Canton.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=bq-cards>
+      <div class=bq-card><div class=ico>🐾</div><h3>Wellness</h3><p>Annual exams, vaccines, parasite prevention, nutrition.</p></div>
+      <div class=bq-card><div class=ico>🦴</div><h3>Dental</h3><p>Cleanings under anesthesia with continuous monitoring.</p></div>
+      <div class=bq-card><div class=ico>❤️</div><h3>Senior care</h3><p>A dedicated quarterly visit for pets 8+, with bloodwork.</p></div>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">2939 East Cherokee Drive, Canton, GA, 30115 · +1-770-345-2816</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14231-c.html b/public/mockups/biz-14231-c.html
new file mode 100644
index 0000000..806ef76
--- /dev/null
+++ b/public/mockups/biz-14231-c.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=Nunito:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+  --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+  --h-font:'Nunito', serif; --b-font:'Nunito', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Hickory Flat Animal Hospital</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Canton pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">2939 East Cherokee Drive, Canton, GA, 30115 · +1-770-345-2816</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14238-a.html b/public/mockups/biz-14238-a.html
new file mode 100644
index 0000000..e7d25a3
--- /dev/null
+++ b/public/mockups/biz-14238-a.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">boarding</small>
+        <h1>Jennifer L. Buck Stables</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1323 Blackwell Road Northeast, Marietta, GA, 30066 · +1-302-750-3309</p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14238-b.html b/public/mockups/biz-14238-b.html
new file mode 100644
index 0000000..6cc2a09
--- /dev/null
+++ b/public/mockups/biz-14238-b.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#000000; --paper:#fffaf3; --accent:#000000;
+  --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Jennifer L. Buck Stables</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Marietta pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1323 Blackwell Road Northeast, Marietta, GA, 30066 · +1-302-750-3309</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14238-c.html b/public/mockups/biz-14238-c.html
new file mode 100644
index 0000000..fbd3397
--- /dev/null
+++ b/public/mockups/biz-14238-c.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+  --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">boarding · Marietta, GA</small>
+      <h1>Jennifer L. Buck Stables</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">1323 Blackwell Road Northeast, Marietta, GA, 30066 · +1-302-750-3309</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14247-a.html b/public/mockups/biz-14247-a.html
new file mode 100644
index 0000000..d805886
--- /dev/null
+++ b/public/mockups/biz-14247-a.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+  --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#bae6fd 0%,#f0f9ff 60%)}
+    .com-hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.85em}
+    .com-hero h1{font-size:3em;margin:.3em 0 .5em;font-weight:800}
+    .com-hero p{color:var(--muted);max-width:600px;margin:0 auto 2em}
+    .testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;padding:3em;max-width:1200px;margin:0 auto}
+    .quote{background:#fff;padding:2em;border-radius:var(--card-r);box-shadow:var(--card-shadow);position:relative}
+    .quote:before{content:'"';position:absolute;top:.1em;left:.5em;font-size:5em;color:var(--accent);opacity:.15;font-family:Georgia,serif}
+    .quote p{font-style:italic;margin:0 0 1em;color:var(--ink);line-height:1.5}
+    .quote .by{color:var(--muted);font-size:.85em}
+    .strip{background:var(--accent);color:var(--paper);padding:2em 3em;text-align:center}
+    .strip h2{margin:0 0 .5em;font-size:2em;color:var(--paper)}
+    .strip a{color:var(--paper);background:var(--accent2);padding:.7em 1.5em;border-radius:var(--btn-r);font-weight:700;display:inline-block;margin-top:.5em}
+</style></head><body>
+    <section class=com-hero>
+      <small>shelter · Gainesville, GA</small>
+      <h1>Humane Society of Northeast Georgia</h1>
+      <p>Caring for Gainesville's pets since 2008. We see the same families generation after generation — that's the kind of clinic we want to be.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=testimonials>
+      <div class=quote><p>They saved my dog's life. There's no other way to put it.</p><div class=by>— Maria G., Gainesville</div></div>
+      <div class=quote><p>The first vet office where my cat doesn't shake. They actually understand cats.</p><div class=by>— Aaron P.</div></div>
+      <div class=quote><p>Honest about prices, kind to my anxious puppy, and they remember us by name.</p><div class=by>— Devon R.</div></div>
+    </section>
+    <section class=strip>
+      <h2>Same-day sick visits, every weekday</h2>
+      <a href=#>Check today's openings →</a>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted);text-align:center">845 West Ridge Road, Gainesville, GA, 30501 · +1-770-532-6617</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14247-b.html b/public/mockups/biz-14247-b.html
new file mode 100644
index 0000000..851e7d9
--- /dev/null
+++ b/public/mockups/biz-14247-b.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a221a; --paper:#f6f9f1; --accent:#3a6d3a;
+  --accent2:#a14d3d; --muted:#6c7766; --rule:#dde5d3;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nv{padding:1.5em 3em;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
+    .st-hero{padding:4em 3em;text-align:center}
+    .st-hero h1{font-size:3em;font-weight:800;margin:0 0 .3em}
+    .st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;border-top:1px solid var(--rule)}
+    .st-tile{padding:3em 2em;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .2s}
+    .st-tile:nth-child(4n){border-right:0}
+    .st-tile:hover{background:var(--rule)}
+    .st-tile .num{font-family:var(--h-font);font-size:1.5em;color:var(--accent);font-weight:900;display:block;margin-bottom:.5em}
+    .st-tile h3{font-size:1.2em;margin:.3em 0}
+    .st-tile p{color:var(--muted);font-size:.92em;line-height:1.5}
+</style></head><body>
+    <nav class=nv><strong>Humane Society of Northeast Georgia</strong><a class=btn href=#book>Book</a></nav>
+    <section class=st-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">shelter · Gainesville, GA</small>
+      <h1>Care for the whole life of your pet.</h1>
+      <p class=muted>From the first puppy visit to the last quiet day.</p>
+    </section>
+    <section class=st-tiles>
+      <div class=st-tile><span class=num>01</span><h3>Puppy / kitten</h3><p>First exam, vaccine series, parasite plan.</p></div>
+      <div class=st-tile><span class=num>02</span><h3>Wellness</h3><p>Annual exams, dental check, nutrition.</p></div>
+      <div class=st-tile><span class=num>03</span><h3>Surgery</h3><p>Spay/neuter, soft-tissue, dental procedures.</p></div>
+      <div class=st-tile><span class=num>04</span><h3>Sick visits</h3><p>Same-day when we can fit you.</p></div>
+      <div class=st-tile><span class=num>05</span><h3>Diagnostics</h3><p>Bloodwork, imaging, ultrasound, in-house.</p></div>
+      <div class=st-tile><span class=num>06</span><h3>Senior care</h3><p>Quarterly check-ins for pets 8+.</p></div>
+      <div class=st-tile><span class=num>07</span><h3>Behavior</h3><p>Training referrals, anxiety meds, consults.</p></div>
+      <div class=st-tile><span class=num>08</span><h3>End of life</h3><p>In-home euthanasia + grief support.</p></div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">845 West Ridge Road, Gainesville, GA, 30501 · +1-770-532-6617</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-14247-c.html b/public/mockups/biz-14247-c.html
new file mode 100644
index 0000000..3d48257
--- /dev/null
+++ b/public/mockups/biz-14247-c.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1729; --paper:#fbf7f4; --accent:#5b1e6e;
+  --accent2:#d4843e; --muted:#7d6b88; --rule:#ece2dc;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Gainesville</small>
+      <h1>Humane Society of Northeast Georgia</h1>
+      <div class=tag>A veterinary concierge for Gainesville families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">845 West Ridge Road, Gainesville, GA, 30501 · +1-770-532-6617</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16158-a.html b/public/mockups/biz-16158-a.html
new file mode 100644
index 0000000..eb165f8
--- /dev/null
+++ b/public/mockups/biz-16158-a.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#f6f6fb; --accent:#3a3a72;
+  --accent2:#e3589d; --muted:#6b6989; --rule:#e0dfeb;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">dog park · Canton, OH</small>
+      <h1>Veterans Park Dog Park</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">1714 Schneider Street Northeast, Canton, OH, 44721 · +1-330-492-4689</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16158-b.html b/public/mockups/biz-16158-b.html
new file mode 100644
index 0000000..2617822
--- /dev/null
+++ b/public/mockups/biz-16158-b.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1f1a; --paper:#f1faf6; --accent:#1d8466;
+  --accent2:#d97706; --muted:#5a716a; --rule:#cce8db;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Veterans Park Dog Park</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Canton pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1714 Schneider Street Northeast, Canton, OH, 44721 · +1-330-492-4689</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16158-c.html b/public/mockups/biz-16158-c.html
new file mode 100644
index 0000000..4583e2b
--- /dev/null
+++ b/public/mockups/biz-16158-c.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#000000; --paper:#fffaf3; --accent:#000000;
+  --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaf3,#e5e0d8);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>dog park · Canton, OH</small>
+      <h1>Veterans Park Dog Park</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Veterans Park Dog Park · 1714 Schneider Street Northeast, Canton, OH, 44721 · +1-330-492-4689</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16171-a.html b/public/mockups/biz-16171-a.html
new file mode 100644
index 0000000..e43f3bc
--- /dev/null
+++ b/public/mockups/biz-16171-a.html
@@ -0,0 +1,44 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#222218; --paper:#f9f8f1; --accent:#5d6b3a;
+  --accent2:#c97a3e; --muted:#7d7c66; --rule:#e6e3d4;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e6e3d4,#f9f8f1);text-align:center}
+    .bq-hero small{font-style:italic;font-family:var(--h-font);font-size:1.1em;color:var(--accent)}
+    .bq-hero h1{font-size:4em;margin:.3em 0 .5em;font-weight:400;letter-spacing:-.01em}
+    .bq-hero p{color:var(--muted);font-size:1.15em;max-width:560px;margin:0 auto 2em;line-height:1.7}
+    .bq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 4em;max-width:1200px;margin:0 auto}
+    .bq-card{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:2em;text-align:center}
+    .bq-card .ico{font-size:2.4em;color:var(--accent2)}
+    .bq-card h3{font-style:italic;font-family:var(--h-font);margin:.5em 0;font-size:1.4em;font-weight:400}
+    .bq-card p{color:var(--muted);font-size:.95em;line-height:1.6;margin:0}
+</style></head><body>
+    <section class=bq-hero>
+      <small>vet clinic</small>
+      <h1>Maple Run Veterinary Clinic</h1>
+      <p>A neighborhood veterinary practice that feels like home — in the best part of Mount Gilead.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=bq-cards>
+      <div class=bq-card><div class=ico>🐾</div><h3>Wellness</h3><p>Annual exams, vaccines, parasite prevention, nutrition.</p></div>
+      <div class=bq-card><div class=ico>🦴</div><h3>Dental</h3><p>Cleanings under anesthesia with continuous monitoring.</p></div>
+      <div class=bq-card><div class=ico>❤️</div><h3>Senior care</h3><p>A dedicated quarterly visit for pets 8+, with bloodwork.</p></div>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">4400 State Route 61, Mount Gilead, OH, 43338 · +1-419-946-8456</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16171-b.html b/public/mockups/biz-16171-b.html
new file mode 100644
index 0000000..bcbb778
--- /dev/null
+++ b/public/mockups/biz-16171-b.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1729; --paper:#fbf7f4; --accent:#5b1e6e;
+  --accent2:#d4843e; --muted:#7d6b88; --rule:#ece2dc;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Maple Run Veterinary Clinic</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Mount Gilead pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">4400 State Route 61, Mount Gilead, OH, 43338 · +1-419-946-8456</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16171-c.html b/public/mockups/biz-16171-c.html
new file mode 100644
index 0000000..ba17d17
--- /dev/null
+++ b/public/mockups/biz-16171-c.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaf0,#e8d3a3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Mount Gilead, OH</small>
+      <h1>Maple Run Veterinary Clinic</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Maple Run Veterinary Clinic · 4400 State Route 61, Mount Gilead, OH, 43338 · +1-419-946-8456</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16176-a.html b/public/mockups/biz-16176-a.html
new file mode 100644
index 0000000..eaaa966
--- /dev/null
+++ b/public/mockups/biz-16176-a.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>LB Ranch</h1>
+        <span class=date>breeder · , OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice this city families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>OH · </p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16176-b.html b/public/mockups/biz-16176-b.html
new file mode 100644
index 0000000..1eb646c
--- /dev/null
+++ b/public/mockups/biz-16176-b.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>LB Ranch</h1>
+        <small>breeder · , OH · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">OH · </footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16176-c.html b/public/mockups/biz-16176-c.html
new file mode 100644
index 0000000..15dc030
--- /dev/null
+++ b/public/mockups/biz-16176-c.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+  --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>LB Ranch</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 local pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16179-a.html b/public/mockups/biz-16179-a.html
new file mode 100644
index 0000000..cd0ac84
--- /dev/null
+++ b/public/mockups/biz-16179-a.html
@@ -0,0 +1,44 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+  --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#fde2cf,#fffaf3);text-align:center}
+    .bq-hero small{font-style:italic;font-family:var(--h-font);font-size:1.1em;color:var(--accent)}
+    .bq-hero h1{font-size:4em;margin:.3em 0 .5em;font-weight:400;letter-spacing:-.01em}
+    .bq-hero p{color:var(--muted);font-size:1.15em;max-width:560px;margin:0 auto 2em;line-height:1.7}
+    .bq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 4em;max-width:1200px;margin:0 auto}
+    .bq-card{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:2em;text-align:center}
+    .bq-card .ico{font-size:2.4em;color:var(--accent2)}
+    .bq-card h3{font-style:italic;font-family:var(--h-font);margin:.5em 0;font-size:1.4em;font-weight:400}
+    .bq-card p{color:var(--muted);font-size:.95em;line-height:1.6;margin:0}
+</style></head><body>
+    <section class=bq-hero>
+      <small>pet store</small>
+      <h1>Pet Supplies Plus</h1>
+      <p>A neighborhood veterinary practice that feels like home — in the best part of Ontario.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=bq-cards>
+      <div class=bq-card><div class=ico>🐾</div><h3>Wellness</h3><p>Annual exams, vaccines, parasite prevention, nutrition.</p></div>
+      <div class=bq-card><div class=ico>🦴</div><h3>Dental</h3><p>Cleanings under anesthesia with continuous monitoring.</p></div>
+      <div class=bq-card><div class=ico>❤️</div><h3>Senior care</h3><p>A dedicated quarterly visit for pets 8+, with bloodwork.</p></div>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">887 North Lexington-Springmill Road, Ontario, OH, 44906 · +1-419-747-1930</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16179-b.html b/public/mockups/biz-16179-b.html
new file mode 100644
index 0000000..ffe542b
--- /dev/null
+++ b/public/mockups/biz-16179-b.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#f6f6fb; --accent:#3a3a72;
+  --accent2:#e3589d; --muted:#6b6989; --rule:#e0dfeb;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f6f6fb,#e0dfeb);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>pet store · Ontario, OH</small>
+      <h1>Pet Supplies Plus</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Pet Supplies Plus · 887 North Lexington-Springmill Road, Ontario, OH, 44906 · +1-419-747-1930</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16179-c.html b/public/mockups/biz-16179-c.html
new file mode 100644
index 0000000..6bb0105
--- /dev/null
+++ b/public/mockups/biz-16179-c.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nv{padding:1.5em 3em;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
+    .st-hero{padding:4em 3em;text-align:center}
+    .st-hero h1{font-size:3em;font-weight:800;margin:0 0 .3em}
+    .st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;border-top:1px solid var(--rule)}
+    .st-tile{padding:3em 2em;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .2s}
+    .st-tile:nth-child(4n){border-right:0}
+    .st-tile:hover{background:var(--rule)}
+    .st-tile .num{font-family:var(--h-font);font-size:1.5em;color:var(--accent);font-weight:900;display:block;margin-bottom:.5em}
+    .st-tile h3{font-size:1.2em;margin:.3em 0}
+    .st-tile p{color:var(--muted);font-size:.92em;line-height:1.5}
+</style></head><body>
+    <nav class=nv><strong>Pet Supplies Plus</strong><a class=btn href=#book>Book</a></nav>
+    <section class=st-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">pet store · Ontario, OH</small>
+      <h1>Care for the whole life of your pet.</h1>
+      <p class=muted>From the first puppy visit to the last quiet day.</p>
+    </section>
+    <section class=st-tiles>
+      <div class=st-tile><span class=num>01</span><h3>Puppy / kitten</h3><p>First exam, vaccine series, parasite plan.</p></div>
+      <div class=st-tile><span class=num>02</span><h3>Wellness</h3><p>Annual exams, dental check, nutrition.</p></div>
+      <div class=st-tile><span class=num>03</span><h3>Surgery</h3><p>Spay/neuter, soft-tissue, dental procedures.</p></div>
+      <div class=st-tile><span class=num>04</span><h3>Sick visits</h3><p>Same-day when we can fit you.</p></div>
+      <div class=st-tile><span class=num>05</span><h3>Diagnostics</h3><p>Bloodwork, imaging, ultrasound, in-house.</p></div>
+      <div class=st-tile><span class=num>06</span><h3>Senior care</h3><p>Quarterly check-ins for pets 8+.</p></div>
+      <div class=st-tile><span class=num>07</span><h3>Behavior</h3><p>Training referrals, anxiety meds, consults.</p></div>
+      <div class=st-tile><span class=num>08</span><h3>End of life</h3><p>In-home euthanasia + grief support.</p></div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">887 North Lexington-Springmill Road, Ontario, OH, 44906 · +1-419-747-1930</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16191-a.html b/public/mockups/biz-16191-a.html
new file mode 100644
index 0000000..4fb9fb8
--- /dev/null
+++ b/public/mockups/biz-16191-a.html
@@ -0,0 +1,39 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#000000; --paper:#fffaf3; --accent:#000000;
+  --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{display:flex;flex-direction:column;min-height:100vh}
+    .min-nav{padding:2em 4em;display:flex;justify-content:space-between;align-items:center;font-size:.9em;letter-spacing:.05em}
+    .min-nav strong{font-size:1em;font-weight:600}
+    .min-nav a{margin-left:1.5em;color:var(--ink)}
+    .min-hero{flex:1;padding:6em 4em;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;margin:0 auto}
+    .min-hero h1{font-size:5em;font-weight:300;letter-spacing:-.04em;line-height:1.05;margin:0 0 .3em}
+    .min-hero p{font-size:1.2em;color:var(--muted);max-width:520px;margin:1em 0 2em;line-height:1.7;font-weight:300}
+    .min-hero .arrow{font-size:1em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.2em}
+    .min-foot{padding:2em 4em;border-top:1px solid var(--rule);display:flex;justify-content:space-between;color:var(--muted);font-size:.85em}
+</style></head><body>
+    <header class=min-nav><strong>PetSmart</strong><div><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a><a href=#>Book</a></div></header>
+    <main class=min-hero>
+      <h1>PetSmart.</h1>
+      <p>A small, deliberately quiet veterinary practice in Ontario.<br>By appointment.</p>
+      <a class=arrow href=#book>Request an appointment →</a>
+    </main>
+    <footer class=min-foot><span>2275 Walker Lake Road, Ontario, OH, 44903</span><span>+1-419-747-4544</span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16191-b.html b/public/mockups/biz-16191-b.html
new file mode 100644
index 0000000..6a02628
--- /dev/null
+++ b/public/mockups/biz-16191-b.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>PetSmart</h1>
+        <span class=date>pet store · Ontario, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Ontario families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>2275 Walker Lake Road, Ontario, OH, 44903 · +1-419-747-4544</p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16191-c.html b/public/mockups/biz-16191-c.html
new file mode 100644
index 0000000..2fe0c5a
--- /dev/null
+++ b/public/mockups/biz-16191-c.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+  --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaef,#fee9b0);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>pet store · Ontario, OH</small>
+      <h1>PetSmart</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>PetSmart · 2275 Walker Lake Road, Ontario, OH, 44903 · +1-419-747-4544</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16199-a.html b/public/mockups/biz-16199-a.html
new file mode 100644
index 0000000..681b0c3
--- /dev/null
+++ b/public/mockups/biz-16199-a.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#221913; --paper:#faf2e8; --accent:#5a3920;
+  --accent2:#c97a3e; --muted:#7d6e5d; --rule:#ead9c1;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>D & G's Paws and Claws Snack Shack</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">pet store · Wilmington, OH</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice Wilmington has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">5356 US-68, Wilmington, OH, 45177 · +1-937-366-6558</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16199-b.html b/public/mockups/biz-16199-b.html
new file mode 100644
index 0000000..7746cf6
--- /dev/null
+++ b/public/mockups/biz-16199-b.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+  --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>D & G's Paws and Claws Snack Shack</h1>
+        <span class=date>pet store · Wilmington, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Wilmington families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>5356 US-68, Wilmington, OH, 45177 · +1-937-366-6558</p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16199-c.html b/public/mockups/biz-16199-c.html
new file mode 100644
index 0000000..00b22cc
--- /dev/null
+++ b/public/mockups/biz-16199-c.html
@@ -0,0 +1,44 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+  --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e9d5ff,#faf5ff);text-align:center}
+    .bq-hero small{font-style:italic;font-family:var(--h-font);font-size:1.1em;color:var(--accent)}
+    .bq-hero h1{font-size:4em;margin:.3em 0 .5em;font-weight:400;letter-spacing:-.01em}
+    .bq-hero p{color:var(--muted);font-size:1.15em;max-width:560px;margin:0 auto 2em;line-height:1.7}
+    .bq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 4em;max-width:1200px;margin:0 auto}
+    .bq-card{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:2em;text-align:center}
+    .bq-card .ico{font-size:2.4em;color:var(--accent2)}
+    .bq-card h3{font-style:italic;font-family:var(--h-font);margin:.5em 0;font-size:1.4em;font-weight:400}
+    .bq-card p{color:var(--muted);font-size:.95em;line-height:1.6;margin:0}
+</style></head><body>
+    <section class=bq-hero>
+      <small>pet store</small>
+      <h1>D & G's Paws and Claws Snack Shack</h1>
+      <p>A neighborhood veterinary practice that feels like home — in the best part of Wilmington.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=bq-cards>
+      <div class=bq-card><div class=ico>🐾</div><h3>Wellness</h3><p>Annual exams, vaccines, parasite prevention, nutrition.</p></div>
+      <div class=bq-card><div class=ico>🦴</div><h3>Dental</h3><p>Cleanings under anesthesia with continuous monitoring.</p></div>
+      <div class=bq-card><div class=ico>❤️</div><h3>Senior care</h3><p>A dedicated quarterly visit for pets 8+, with bloodwork.</p></div>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">5356 US-68, Wilmington, OH, 45177 · +1-937-366-6558</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16203-a.html b/public/mockups/biz-16203-a.html
new file mode 100644
index 0000000..a249437
--- /dev/null
+++ b/public/mockups/biz-16203-a.html
@@ -0,0 +1,42 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a221a; --paper:#f6f9f1; --accent:#3a6d3a;
+  --accent2:#a14d3d; --muted:#6c7766; --rule:#dde5d3;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#dde5d3,#f6f9f1)}
+    .cal-hero h1{font-size:3.4em;font-weight:800;margin:0 0 .3em}
+    .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5em;max-width:900px;margin:2em auto;padding:0 2em}
+    .cal-cell{background:#fff;padding:1em .5em;text-align:center;border-radius:var(--btn-r);box-shadow:var(--card-shadow);font-weight:600}
+    .cal-cell .dow{font-size:.7em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block}
+    .cal-cell .num{font-size:1.3em;font-family:var(--h-font);color:var(--accent);font-weight:900}
+    .cal-cell.closed{opacity:.3}
+    .cal-cell.open:hover{background:var(--accent);color:var(--paper);cursor:pointer}
+    .cal-cell.open:hover .num,.cal-cell.open:hover .dow{color:var(--paper)}
+</style></head><body>
+    <section class=cal-hero>
+      <small style="letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);font-weight:700">pet store · Marion, OH</small>
+      <h1>Pet Zone</h1>
+      <p class=muted>Pick a day. We'll text you the openings.</p>
+      <div class=cal-grid>
+        <div class="cal-cell open"><span class=dow>Mon</span><span class=num>4</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>5</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>6</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>7</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>8</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>9</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>10</span></div><div class="cal-cell open"><span class=dow>Mon</span><span class=num>11</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>12</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>13</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>14</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>15</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>16</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>17</span></div>
+      </div>
+      <a class=btn href=#book>Continue →</a>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">1632 Marion-Mt Gilead Road, Marion, OH, 43302 · +1-740-389-6119</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16203-b.html b/public/mockups/biz-16203-b.html
new file mode 100644
index 0000000..36addec
--- /dev/null
+++ b/public/mockups/biz-16203-b.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+  --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Marion</small>
+      <h1>Pet Zone</h1>
+      <div class=tag>A veterinary concierge for Marion families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">1632 Marion-Mt Gilead Road, Marion, OH, 43302 · +1-740-389-6119</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16203-c.html b/public/mockups/biz-16203-c.html
new file mode 100644
index 0000000..58ce4b3
--- /dev/null
+++ b/public/mockups/biz-16203-c.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f8fafc; --accent:#0ea5e9;
+  --accent2:#f97316; --muted:#64748b; --rule:#e2e8f0;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>Pet Zone</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">pet store · Marion, OH</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice Marion has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">1632 Marion-Mt Gilead Road, Marion, OH, 43302 · +1-740-389-6119</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16208-a.html b/public/mockups/biz-16208-a.html
new file mode 100644
index 0000000..e356131
--- /dev/null
+++ b/public/mockups/biz-16208-a.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+  --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>The Yancey Clinic of Veterinary Medicine</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Marion pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1097 Mt Vernon Avenue, Marion, OH, 43302 · +1-740-386-6633</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16208-b.html b/public/mockups/biz-16208-b.html
new file mode 100644
index 0000000..fc7b983
--- /dev/null
+++ b/public/mockups/biz-16208-b.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+  --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+  --h-font:'Inter', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nv{padding:1.5em 3em;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
+    .st-hero{padding:4em 3em;text-align:center}
+    .st-hero h1{font-size:3em;font-weight:800;margin:0 0 .3em}
+    .st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;border-top:1px solid var(--rule)}
+    .st-tile{padding:3em 2em;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .2s}
+    .st-tile:nth-child(4n){border-right:0}
+    .st-tile:hover{background:var(--rule)}
+    .st-tile .num{font-family:var(--h-font);font-size:1.5em;color:var(--accent);font-weight:900;display:block;margin-bottom:.5em}
+    .st-tile h3{font-size:1.2em;margin:.3em 0}
+    .st-tile p{color:var(--muted);font-size:.92em;line-height:1.5}
+</style></head><body>
+    <nav class=nv><strong>The Yancey Clinic of Veterinary Medicine</strong><a class=btn href=#book>Book</a></nav>
+    <section class=st-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Marion, OH</small>
+      <h1>Care for the whole life of your pet.</h1>
+      <p class=muted>From the first puppy visit to the last quiet day.</p>
+    </section>
+    <section class=st-tiles>
+      <div class=st-tile><span class=num>01</span><h3>Puppy / kitten</h3><p>First exam, vaccine series, parasite plan.</p></div>
+      <div class=st-tile><span class=num>02</span><h3>Wellness</h3><p>Annual exams, dental check, nutrition.</p></div>
+      <div class=st-tile><span class=num>03</span><h3>Surgery</h3><p>Spay/neuter, soft-tissue, dental procedures.</p></div>
+      <div class=st-tile><span class=num>04</span><h3>Sick visits</h3><p>Same-day when we can fit you.</p></div>
+      <div class=st-tile><span class=num>05</span><h3>Diagnostics</h3><p>Bloodwork, imaging, ultrasound, in-house.</p></div>
+      <div class=st-tile><span class=num>06</span><h3>Senior care</h3><p>Quarterly check-ins for pets 8+.</p></div>
+      <div class=st-tile><span class=num>07</span><h3>Behavior</h3><p>Training referrals, anxiety meds, consults.</p></div>
+      <div class=st-tile><span class=num>08</span><h3>End of life</h3><p>In-home euthanasia + grief support.</p></div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1097 Mt Vernon Avenue, Marion, OH, 43302 · +1-740-386-6633</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16208-c.html b/public/mockups/biz-16208-c.html
new file mode 100644
index 0000000..538a148
--- /dev/null
+++ b/public/mockups/biz-16208-c.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+  --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>The Yancey Clinic of Veterinary Medicine</h1>
+        <span class=date>vet clinic · Marion, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Marion families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>1097 Mt Vernon Avenue, Marion, OH, 43302 · +1-740-386-6633</p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16212-a.html b/public/mockups/biz-16212-a.html
new file mode 100644
index 0000000..376426f
--- /dev/null
+++ b/public/mockups/biz-16212-a.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c0c10; --paper:#f8f0e8; --accent:#6b1820;
+  --accent2:#a18443; --muted:#73575a; --rule:#e6d4c3;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Zanesville</small>
+      <h1>Maysville Animal Hospital</h1>
+      <div class=tag>A veterinary concierge for Zanesville families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">1897 Pine Street, Zanesville, OH, 43701 · +1 740-452-9660</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16212-b.html b/public/mockups/biz-16212-b.html
new file mode 100644
index 0000000..375798c
--- /dev/null
+++ b/public/mockups/biz-16212-b.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f8fafc; --accent:#0ea5e9;
+  --accent2:#f97316; --muted:#64748b; --rule:#e2e8f0;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Zanesville, OH</small>
+      <h1>Maysville Animal Hospital</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">1897 Pine Street, Zanesville, OH, 43701 · +1 740-452-9660</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16212-c.html b/public/mockups/biz-16212-c.html
new file mode 100644
index 0000000..a6c8270
--- /dev/null
+++ b/public/mockups/biz-16212-c.html
@@ -0,0 +1,42 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+  --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#f0e3dc,#fff9f6)}
+    .cal-hero h1{font-size:3.4em;font-weight:800;margin:0 0 .3em}
+    .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5em;max-width:900px;margin:2em auto;padding:0 2em}
+    .cal-cell{background:#fff;padding:1em .5em;text-align:center;border-radius:var(--btn-r);box-shadow:var(--card-shadow);font-weight:600}
+    .cal-cell .dow{font-size:.7em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block}
+    .cal-cell .num{font-size:1.3em;font-family:var(--h-font);color:var(--accent);font-weight:900}
+    .cal-cell.closed{opacity:.3}
+    .cal-cell.open:hover{background:var(--accent);color:var(--paper);cursor:pointer}
+    .cal-cell.open:hover .num,.cal-cell.open:hover .dow{color:var(--paper)}
+</style></head><body>
+    <section class=cal-hero>
+      <small style="letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);font-weight:700">vet clinic · Zanesville, OH</small>
+      <h1>Maysville Animal Hospital</h1>
+      <p class=muted>Pick a day. We'll text you the openings.</p>
+      <div class=cal-grid>
+        <div class="cal-cell open"><span class=dow>Mon</span><span class=num>4</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>5</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>6</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>7</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>8</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>9</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>10</span></div><div class="cal-cell open"><span class=dow>Mon</span><span class=num>11</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>12</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>13</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>14</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>15</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>16</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>17</span></div>
+      </div>
+      <a class=btn href=#book>Continue →</a>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">1897 Pine Street, Zanesville, OH, 43701 · +1 740-452-9660</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16230-a.html b/public/mockups/biz-16230-a.html
new file mode 100644
index 0000000..51529a4
--- /dev/null
+++ b/public/mockups/biz-16230-a.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+  --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .fam-hero{padding:5em 4em;background:var(--paper);max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4em;align-items:center}
+    .fam-hero h1{font-size:3.2em;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .fam-hero .lead{font-size:1.2em;color:var(--ink);line-height:1.6;max-width:480px}
+    .fam-hero .stats{margin-top:1.5em;display:flex;gap:2em}
+    .fam-hero .stats div strong{display:block;font-size:1.8em;color:var(--accent);font-family:var(--h-font);font-weight:900}
+    .fam-hero .stats div span{font-size:.85em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
+    .fam-hero .photo{aspect-ratio:1/1;background:var(--rule);border-radius:var(--card-r);background-image:radial-gradient(circle at 50% 30%, #d97706 0%, #e9d5ff 70%)}
+    .fam-strip{background:var(--accent);color:var(--paper);padding:3em 4em;text-align:center}
+    .fam-strip h2{font-size:2em;color:var(--paper);margin:0 0 .3em}
+    .fam-strip p{opacity:.9;max-width:600px;margin:0 auto 1.5em}
+</style></head><body>
+    <section class=fam-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">boarding</small>
+        <h1>KennelResorts</h1>
+        <p class=lead>The veterinary practice Milford families have trusted for three generations. We were here when your dog was a puppy. We'll be here when she's grey.</p>
+        <div class=stats><div><strong>34 yrs</strong><span>in practice</span></div><div><strong>4</strong><span>generations served</span></div><div><strong>★ 4.9</strong><span>from 800+</span></div></div>
+        <p style="margin-top:2em"><a class=btn href=#book>Book a visit</a> <a class=btn-ghost href=#about>Meet our team</a></p>
+      </div>
+      <div class=photo></div>
+    </section>
+    <section class=fam-strip>
+      <h2>Same-week appointments, every week.</h2>
+      <p>Most clients book within 3 days. Emergency? Call us — we take same-day sick visits Monday-Friday.</p>
+      <a class=btn-2 href=#book>See this week's openings →</a>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">5825 Meadow View Drive, Milford, OH, 45150 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16230-b.html b/public/mockups/biz-16230-b.html
new file mode 100644
index 0000000..9ec2a6e
--- /dev/null
+++ b/public/mockups/biz-16230-b.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+  --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fcfcfa,#e5e5e0);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>boarding · Milford, OH</small>
+      <h1>KennelResorts</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>KennelResorts · 5825 Meadow View Drive, Milford, OH, 45150 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16230-c.html b/public/mockups/biz-16230-c.html
new file mode 100644
index 0000000..810f4d0
--- /dev/null
+++ b/public/mockups/biz-16230-c.html
@@ -0,0 +1,44 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e8d3a3,#fffaf0);text-align:center}
+    .bq-hero small{font-style:italic;font-family:var(--h-font);font-size:1.1em;color:var(--accent)}
+    .bq-hero h1{font-size:4em;margin:.3em 0 .5em;font-weight:400;letter-spacing:-.01em}
+    .bq-hero p{color:var(--muted);font-size:1.15em;max-width:560px;margin:0 auto 2em;line-height:1.7}
+    .bq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 4em;max-width:1200px;margin:0 auto}
+    .bq-card{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:2em;text-align:center}
+    .bq-card .ico{font-size:2.4em;color:var(--accent2)}
+    .bq-card h3{font-style:italic;font-family:var(--h-font);margin:.5em 0;font-size:1.4em;font-weight:400}
+    .bq-card p{color:var(--muted);font-size:.95em;line-height:1.6;margin:0}
+</style></head><body>
+    <section class=bq-hero>
+      <small>boarding</small>
+      <h1>KennelResorts</h1>
+      <p>A neighborhood veterinary practice that feels like home — in the best part of Milford.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=bq-cards>
+      <div class=bq-card><div class=ico>🐾</div><h3>Wellness</h3><p>Annual exams, vaccines, parasite prevention, nutrition.</p></div>
+      <div class=bq-card><div class=ico>🦴</div><h3>Dental</h3><p>Cleanings under anesthesia with continuous monitoring.</p></div>
+      <div class=bq-card><div class=ico>❤️</div><h3>Senior care</h3><p>A dedicated quarterly visit for pets 8+, with bloodwork.</p></div>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">5825 Meadow View Drive, Milford, OH, 45150 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16260-a.html b/public/mockups/biz-16260-a.html
new file mode 100644
index 0000000..3488fa8
--- /dev/null
+++ b/public/mockups/biz-16260-a.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+  --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Batavia</small>
+      <h1>Clermont County Animal Shelter</h1>
+      <div class=tag>A veterinary concierge for Batavia families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">4025 Filager Road, Batavia, OH, 45103 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16260-b.html b/public/mockups/biz-16260-b.html
new file mode 100644
index 0000000..55c8bca
--- /dev/null
+++ b/public/mockups/biz-16260-b.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+  --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>Clermont County Animal Shelter</h1>
+        <small>shelter · Batavia, OH · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">4025 Filager Road, Batavia, OH, 45103 · </footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16260-c.html b/public/mockups/biz-16260-c.html
new file mode 100644
index 0000000..1f8a24a
--- /dev/null
+++ b/public/mockups/biz-16260-c.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#221913; --paper:#faf2e8; --accent:#5a3920;
+  --accent2:#c97a3e; --muted:#7d6e5d; --rule:#ead9c1;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Clermont County Animal Shelter</h1>
+        <span class=date>shelter · Batavia, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Batavia families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>4025 Filager Road, Batavia, OH, 45103 · </p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16273-a.html b/public/mockups/biz-16273-a.html
new file mode 100644
index 0000000..ecfe299
--- /dev/null
+++ b/public/mockups/biz-16273-a.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+  --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fff9f6,#f0e3dc);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Ashland, OH</small>
+      <h1>Daisy Hill Animal Hospital</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Daisy Hill Animal Hospital · 2215 Center Street, Ashland, OH, 44805 · +1-419-289-8387</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16273-b.html b/public/mockups/biz-16273-b.html
new file mode 100644
index 0000000..053df69
--- /dev/null
+++ b/public/mockups/biz-16273-b.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#e8d3a3 0%,#fffaf0 60%)}
+    .com-hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.85em}
+    .com-hero h1{font-size:3em;margin:.3em 0 .5em;font-weight:800}
+    .com-hero p{color:var(--muted);max-width:600px;margin:0 auto 2em}
+    .testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;padding:3em;max-width:1200px;margin:0 auto}
+    .quote{background:#fff;padding:2em;border-radius:var(--card-r);box-shadow:var(--card-shadow);position:relative}
+    .quote:before{content:'"';position:absolute;top:.1em;left:.5em;font-size:5em;color:var(--accent);opacity:.15;font-family:Georgia,serif}
+    .quote p{font-style:italic;margin:0 0 1em;color:var(--ink);line-height:1.5}
+    .quote .by{color:var(--muted);font-size:.85em}
+    .strip{background:var(--accent);color:var(--paper);padding:2em 3em;text-align:center}
+    .strip h2{margin:0 0 .5em;font-size:2em;color:var(--paper)}
+    .strip a{color:var(--paper);background:var(--accent2);padding:.7em 1.5em;border-radius:var(--btn-r);font-weight:700;display:inline-block;margin-top:.5em}
+</style></head><body>
+    <section class=com-hero>
+      <small>vet clinic · Ashland, OH</small>
+      <h1>Daisy Hill Animal Hospital</h1>
+      <p>Caring for Ashland's pets since 2008. We see the same families generation after generation — that's the kind of clinic we want to be.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=testimonials>
+      <div class=quote><p>They saved my dog's life. There's no other way to put it.</p><div class=by>— Maria G., Ashland</div></div>
+      <div class=quote><p>The first vet office where my cat doesn't shake. They actually understand cats.</p><div class=by>— Aaron P.</div></div>
+      <div class=quote><p>Honest about prices, kind to my anxious puppy, and they remember us by name.</p><div class=by>— Devon R.</div></div>
+    </section>
+    <section class=strip>
+      <h2>Same-day sick visits, every weekday</h2>
+      <a href=#>Check today's openings →</a>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted);text-align:center">2215 Center Street, Ashland, OH, 44805 · +1-419-289-8387</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16273-c.html b/public/mockups/biz-16273-c.html
new file mode 100644
index 0000000..012c55c
--- /dev/null
+++ b/public/mockups/biz-16273-c.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1729; --paper:#fbf7f4; --accent:#5b1e6e;
+  --accent2:#d4843e; --muted:#7d6b88; --rule:#ece2dc;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">vet clinic</small>
+        <h1>Daisy Hill Animal Hospital</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>2215 Center Street, Ashland, OH, 44805 · +1-419-289-8387</p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16280-a.html b/public/mockups/biz-16280-a.html
new file mode 100644
index 0000000..2a61cbe
--- /dev/null
+++ b/public/mockups/biz-16280-a.html
@@ -0,0 +1,33 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:#3a4827;color:#fff;margin:0}
+.bar{padding:1.4em 3em;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}
+.bar strong{font-family:Georgia,serif;font-weight:400;font-size:1.3em;letter-spacing:.04em;color:#a87a4a}
+.bar a{color:#fff;opacity:.7;text-decoration:none;margin-left:1.5em;font-size:.9em}
+.hero{padding:6em 3em 5em;text-align:center;max-width:780px;margin:0 auto}
+.hero .div{width:60px;height:1px;background:#a87a4a;margin:0 auto 1.5em}
+.hero small{text-transform:uppercase;letter-spacing:.25em;color:#a87a4a;font-size:.78em;font-weight:600}
+.hero h1{font-family:Georgia,serif;font-size:4em;font-weight:300;letter-spacing:-.02em;margin:.4em 0;line-height:1.05}
+.hero p{font-size:1.2em;opacity:.8;line-height:1.65;font-weight:300}
+.cta{display:inline-block;margin-top:2em;border:1px solid #a87a4a;color:#a87a4a;padding:1em 2.4em;text-decoration:none;letter-spacing:.18em;text-transform:uppercase;font-size:.85em;font-weight:600}
+.cta:hover{background:#a87a4a;color:#3a4827}
+.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#000}
+.three > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.08)}
+.three > div:last-child{border-right:0}
+.three h3{font-family:Georgia,serif;font-weight:400;font-size:1.4em;color:#a87a4a;margin:0 0 .5em}
+.three p{margin:0;font-size:.95em;line-height:1.55;opacity:.75}
+.foot{padding:2em;text-align:center;font-size:.85em;opacity:.5;letter-spacing:.05em;text-transform:uppercase}
+</style></head><body>
+<header class=bar><strong>SICSA Pet Adoption Center</strong><div><a href="#">Services</a><a href="#">About</a><a href="#">Visit</a></div></header>
+<section class=hero>
+  <div class=div></div>
+  <small>Established practice</small>
+  <h1>Compassionate care, modern medicine.</h1>
+  <p>Caring for Centerville families for over a decade.</p>
+  <a class=cta href="#book">Book an appointment</a>
+</section>
+<section class=three>
+  <div><h3>Wellness</h3><p>Annual exams, vaccinations, preventive care plans.</p></div><div><h3>Surgery &amp; Dental</h3><p>In-house procedures, same-day discharge for most.</p></div><div><h3>Urgent care</h3><p>Same-day sick visits — call before going to the ER.</p></div>
+</section>
+<footer class=foot>SICSA Pet Adoption Center — 8172 Washington Church Road, Centerville, OH, 45458 — +1-937-294-6505</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16280-b.html b/public/mockups/biz-16280-b.html
new file mode 100644
index 0000000..3bc4ba2
--- /dev/null
+++ b/public/mockups/biz-16280-b.html
@@ -0,0 +1,32 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:#f1f6ec;color:#1f2a13;margin:0}
+.hero{display:grid;grid-template-columns:1fr 1fr;min-height:460px}
+.hero .text{padding:4em 3em;background:#fff}
+.hero .text small{display:inline-block;background:#cc6f3a;color:#fff;padding:.3em .8em;border-radius:4px;font-size:.78em;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
+.hero h1{font-size:3.2em;margin:.4em 0 .3em;font-weight:600;letter-spacing:-.02em;color:#587a3d}
+.hero p{color:#5f6b54;font-size:1.1em;line-height:1.65;max-width:480px}
+.hero .map{background:repeating-linear-gradient(45deg,#f1f6ec,#f1f6ec 12px,#fff 12px,#fff 24px);position:relative;border-left:1px solid #e5e7eb}
+.hero .pin{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#cc6f3a;color:#fff;padding:.5em 1em;border-radius:6px;font-weight:700;box-shadow:0 6px 20px rgba(0,0,0,.18)}
+.hero .pin::before{content:'📍 ';margin-right:.2em}
+.cta{display:inline-block;margin-top:1.4em;background:#587a3d;color:#fff;padding:.95em 2em;border-radius:8px;text-decoration:none;font-weight:600}
+.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25em;padding:3em}
+.card{background:#fff;padding:1.5em;border-radius:10px;border:1px solid #f1f6ec}
+.card h3{margin:0 0 .4em;color:#587a3d;font-size:1.05em}
+.card p{margin:0;color:#5f6b54;font-size:.92em;line-height:1.55}
+.foot{padding:2em;background:#34471f;color:#fff;opacity:.85;text-align:center;font-size:.9em}
+</style></head><body>
+<section class=hero>
+  <div class=text>
+    <small>Family-owned</small>
+    <h1>SICSA Pet Adoption Center</h1>
+    <p>Built around your pet, your family, your time. Serving Centerville with respect, transparency, and same-day availability.</p>
+    <a class=cta href="#book">Schedule a visit</a>
+  </div>
+  <div class=map><div class=pin>Centerville, OH</div></div>
+</section>
+<section class=cards>
+  <div class=card><h3>Diagnostics</h3><p>On-site lab, digital radiology, ultrasound.</p></div><div class=card><h3>Pharmacy</h3><p>Stocked formulary, refills you can pick up same day.</p></div><div class=card><h3>Care plans</h3><p>Predictable monthly pricing for routine visits.</p></div>
+</section>
+<footer class=foot>SICSA Pet Adoption Center · 8172 Washington Church Road, Centerville, OH, 45458 · +1-937-294-6505</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16280-c.html b/public/mockups/biz-16280-c.html
new file mode 100644
index 0000000..b8c4e62
--- /dev/null
+++ b/public/mockups/biz-16280-c.html
@@ -0,0 +1,39 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#fdf7e8;color:#2a200e;margin:0}
+.split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
+.split > div{padding:5em 4em;display:flex;flex-direction:column;justify-content:center}
+.split .left{background:#fff}
+.split .right{background:linear-gradient(135deg,#3a4f6b,#a8801c)}
+.split .left small{text-transform:uppercase;letter-spacing:.16em;color:#3a4f6b;font-size:.78em;font-weight:700}
+.split .left h1{font-size:3em;font-weight:900;letter-spacing:-.04em;margin:.4em 0 .3em;color:#a8801c;line-height:1.1}
+.split .left p{color:#7c6f50;font-size:1.1em;line-height:1.6;max-width:480px}
+.split .right{color:#fff}
+.split .right h2{font-family:Georgia,serif;font-weight:300;font-size:2.6em;margin:0 0 .4em;line-height:1.1}
+.split .right ul{list-style:none;padding:0;margin:1em 0}
+.split .right li{padding:.7em 0;font-size:1.05em;border-bottom:1px solid rgba(255,255,255,.2)}
+.split .right li::before{content:'→';margin-right:.6em;color:#fdf7e8}
+.cta{display:inline-block;margin-top:1.5em;background:#a8801c;color:#fff;padding:1em 2.2em;border-radius:0px;text-decoration:none;font-weight:700}
+.cta.alt{background:#fff;color:#a8801c}
+.row{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid #7c6f5022}
+.row > div{padding:2.5em 2em;border-right:1px solid #7c6f5022}
+.row > div:last-child{border-right:0}
+.row strong{display:block;color:#a8801c;font-weight:700;margin-bottom:.4em}
+.row p{margin:0;color:#7c6f50;font-size:.95em;line-height:1.55}
+.foot{padding:2em;background:#6e5210;color:#fff;text-align:center;opacity:.85;font-size:.9em}
+</style></head><body>
+<section class=split>
+  <div class=left>
+    <small>A new chapter</small>
+    <h1>SICSA Pet Adoption Center</h1>
+    <p>A trusted name in your neighborhood. Online booking. Email reminders. Real conversations with real clinicians.</p>
+    <a class=cta href="#book">Make an appointment →</a>
+  </div>
+  <div class=right>
+    <h2>What's included</h2>
+    <ul><li>Wellness</li><li>Surgery &amp; Dental</li><li>Urgent care</li><li>Same-day call back</li><li>Honest, itemized pricing</li></ul>
+    <a class="cta alt" href="#book">Make an appointment</a>
+  </div>
+</section>
+<section class=row><div><strong>Wellness</strong><p>Annual exams, vaccinations, preventive care plans.</p></div><div><strong>Surgery &amp; Dental</strong><p>In-house procedures, same-day discharge for most.</p></div><div><strong>Urgent care</strong><p>Same-day sick visits — call before going to the ER.</p></div></section>
+<footer class=foot>SICSA Pet Adoption Center · 8172 Washington Church Road, Centerville, OH, 45458 · +1-937-294-6505</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16304-a.html b/public/mockups/biz-16304-a.html
new file mode 100644
index 0000000..b5410fc
--- /dev/null
+++ b/public/mockups/biz-16304-a.html
@@ -0,0 +1,32 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',Helvetica,sans-serif;background:#fbf2f2;color:#2a1517;margin:0}
+.split{display:grid;grid-template-columns:1.2fr 1fr;min-height:520px}
+.split .left{background:linear-gradient(160deg,#a83a4a,#5a1f28);color:#fff;padding:5em 4em;display:flex;flex-direction:column;justify-content:center}
+.split .right{padding:5em 4em;background:#fff}
+.split .eb{text-transform:uppercase;letter-spacing:.18em;font-size:.78em;opacity:.85;color:#cca070}
+.split h1{font-size:3.4em;margin:.2em 0;font-weight:300;letter-spacing:-.02em;line-height:1.05}
+.split p{font-size:1.15em;line-height:1.7;color:#fff;opacity:.85;max-width:480px}
+.split .right h2{font-size:1.6em;font-weight:500;margin:0 0 1em;color:#a83a4a}
+.split .right ol{counter-reset:li;list-style:none;padding:0}
+.split .right li{position:relative;padding:1.1em 0 1.1em 3em;border-bottom:1px solid #e5e7eb;counter-increment:li}
+.split .right li::before{content:counter(li,decimal-leading-zero);position:absolute;left:0;top:1.1em;font-family:Georgia,serif;font-size:1.4em;color:#cca070}
+.split .right li strong{display:block;color:#2a1517}
+.split .right li span{color:#7c5e60;font-size:.95em}
+.cta{display:inline-block;background:#fff;color:#a83a4a;padding:.9em 1.8em;border-radius:4px;text-decoration:none;font-weight:600;margin-top:1.5em}
+.foot{padding:2em 4em;background:#5a1f28;color:#fff;opacity:.85;font-size:.95em}
+</style></head><body>
+<div class=split>
+  <div class=left>
+    <span class=eb>Established practice</span>
+    <h1>Sunset Acres Pet Lodge</h1>
+    <p>Compassionate care, modern medicine. Trusted by Mansfield for everyday care and the occasional emergency.</p>
+    <a class=cta href="#book">Book an appointment</a>
+  </div>
+  <div class=right>
+    <h2>What we do</h2>
+    <ol><li><strong>Wellness</strong><span>Annual exams, vaccinations, preventive care plans.</span></li><li><strong>Surgery &amp; Dental</strong><span>In-house procedures, same-day discharge for most.</span></li><li><strong>Urgent care</strong><span>Same-day sick visits — call before going to the ER.</span></li></ol>
+  </div>
+</div>
+<footer class=foot>Sunset Acres Pet Lodge · 808 Cairns Road, Mansfield, OH, 44903 · +1-419-631-3515</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16304-b.html b/public/mockups/biz-16304-b.html
new file mode 100644
index 0000000..d683e3f
--- /dev/null
+++ b/public/mockups/biz-16304-b.html
@@ -0,0 +1,39 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#f5f3f7;color:#1f1933;margin:0}
+.split{display:grid;grid-template-columns:1fr 1fr;min-height:560px}
+.split > div{padding:5em 4em;display:flex;flex-direction:column;justify-content:center}
+.split .left{background:#fff}
+.split .right{background:linear-gradient(135deg,#b9375e,#2c2c54)}
+.split .left small{text-transform:uppercase;letter-spacing:.16em;color:#b9375e;font-size:.78em;font-weight:700}
+.split .left h1{font-size:3em;font-weight:400;letter-spacing:-.015em;margin:.4em 0 .3em;color:#2c2c54;line-height:1.1}
+.split .left p{color:#6c6580;font-size:1.1em;line-height:1.6;max-width:480px}
+.split .right{color:#fff}
+.split .right h2{font-family:Georgia,serif;font-weight:300;font-size:2.6em;margin:0 0 .4em;line-height:1.1}
+.split .right ul{list-style:none;padding:0;margin:1em 0}
+.split .right li{padding:.7em 0;font-size:1.05em;border-bottom:1px solid rgba(255,255,255,.2)}
+.split .right li::before{content:'→';margin-right:.6em;color:#f5f3f7}
+.cta{display:inline-block;margin-top:1.5em;background:#2c2c54;color:#fff;padding:1em 2.2em;border-radius:0px;text-decoration:none;font-weight:700}
+.cta.alt{background:#fff;color:#2c2c54}
+.row{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:1px solid #6c658022}
+.row > div{padding:2.5em 2em;border-right:1px solid #6c658022}
+.row > div:last-child{border-right:0}
+.row strong{display:block;color:#2c2c54;font-weight:700;margin-bottom:.4em}
+.row p{margin:0;color:#6c6580;font-size:.95em;line-height:1.55}
+.foot{padding:2em;background:#1a1a3a;color:#fff;text-align:center;opacity:.85;font-size:.9em}
+</style></head><body>
+<section class=split>
+  <div class=left>
+    <small>Family-owned</small>
+    <h1>Sunset Acres Pet Lodge</h1>
+    <p>Built around your pet, your family, your time. A small, attentive practice in the heart of Mansfield.</p>
+    <a class=cta href="#book">Schedule a visit →</a>
+  </div>
+  <div class=right>
+    <h2>What's included</h2>
+    <ul><li>Diagnostics</li><li>Pharmacy</li><li>Care plans</li><li>Same-day call back</li><li>Honest, itemized pricing</li></ul>
+    <a class="cta alt" href="#book">Schedule a visit</a>
+  </div>
+</section>
+<section class=row><div><strong>Diagnostics</strong><p>On-site lab, digital radiology, ultrasound.</p></div><div><strong>Pharmacy</strong><p>Stocked formulary, refills you can pick up same day.</p></div><div><strong>Care plans</strong><p>Predictable monthly pricing for routine visits.</p></div></section>
+<footer class=foot>Sunset Acres Pet Lodge · 808 Cairns Road, Mansfield, OH, 44903 · +1-419-631-3515</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16304-c.html b/public/mockups/biz-16304-c.html
new file mode 100644
index 0000000..0f10e25
--- /dev/null
+++ b/public/mockups/biz-16304-c.html
@@ -0,0 +1,33 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:#7a2418;color:#fff;margin:0}
+.bar{padding:1.4em 3em;border-bottom:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center}
+.bar strong{font-family:Georgia,serif;font-weight:400;font-size:1.3em;letter-spacing:.04em;color:#1e2a3a}
+.bar a{color:#fff;opacity:.7;text-decoration:none;margin-left:1.5em;font-size:.9em}
+.hero{padding:6em 3em 5em;text-align:center;max-width:780px;margin:0 auto}
+.hero .div{width:60px;height:1px;background:#1e2a3a;margin:0 auto 1.5em}
+.hero small{text-transform:uppercase;letter-spacing:.25em;color:#1e2a3a;font-size:.78em;font-weight:600}
+.hero h1{font-family:Georgia,serif;font-size:4em;font-weight:300;letter-spacing:-.02em;margin:.4em 0;line-height:1.05}
+.hero p{font-size:1.2em;opacity:.8;line-height:1.65;font-weight:300}
+.cta{display:inline-block;margin-top:2em;border:1px solid #1e2a3a;color:#1e2a3a;padding:1em 2.4em;text-decoration:none;letter-spacing:.18em;text-transform:uppercase;font-size:.85em;font-weight:600}
+.cta:hover{background:#1e2a3a;color:#7a2418}
+.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#000}
+.three > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.08)}
+.three > div:last-child{border-right:0}
+.three h3{font-family:Georgia,serif;font-weight:400;font-size:1.4em;color:#1e2a3a;margin:0 0 .5em}
+.three p{margin:0;font-size:.95em;line-height:1.55;opacity:.75}
+.foot{padding:2em;text-align:center;font-size:.85em;opacity:.5;letter-spacing:.05em;text-transform:uppercase}
+</style></head><body>
+<header class=bar><strong>Sunset Acres Pet Lodge</strong><div><a href="#">Services</a><a href="#">About</a><a href="#">Visit</a></div></header>
+<section class=hero>
+  <div class=div></div>
+  <small>A new chapter</small>
+  <h1>A trusted name in your neighborhood.</h1>
+  <p>Caring for Mansfield families for over a decade.</p>
+  <a class=cta href="#book">Make an appointment</a>
+</section>
+<section class=three>
+  <div><h3>Wellness</h3><p>Annual exams, vaccinations, preventive care plans.</p></div><div><h3>Surgery &amp; Dental</h3><p>In-house procedures, same-day discharge for most.</p></div><div><h3>Urgent care</h3><p>Same-day sick visits — call before going to the ER.</p></div>
+</section>
+<footer class=foot>Sunset Acres Pet Lodge — 808 Cairns Road, Mansfield, OH, 44903 — +1-419-631-3515</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16319-a.html b/public/mockups/biz-16319-a.html
new file mode 100644
index 0000000..7af0c3e
--- /dev/null
+++ b/public/mockups/biz-16319-a.html
@@ -0,0 +1,42 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#000000; --paper:#fffaf3; --accent:#000000;
+  --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e5e0d8,#fffaf3)}
+    .cal-hero h1{font-size:3.4em;font-weight:800;margin:0 0 .3em}
+    .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5em;max-width:900px;margin:2em auto;padding:0 2em}
+    .cal-cell{background:#fff;padding:1em .5em;text-align:center;border-radius:var(--btn-r);box-shadow:var(--card-shadow);font-weight:600}
+    .cal-cell .dow{font-size:.7em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block}
+    .cal-cell .num{font-size:1.3em;font-family:var(--h-font);color:var(--accent);font-weight:900}
+    .cal-cell.closed{opacity:.3}
+    .cal-cell.open:hover{background:var(--accent);color:var(--paper);cursor:pointer}
+    .cal-cell.open:hover .num,.cal-cell.open:hover .dow{color:var(--paper)}
+</style></head><body>
+    <section class=cal-hero>
+      <small style="letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);font-weight:700">pet store · Logan, OH</small>
+      <h1>Tails of the Wild</h1>
+      <p class=muted>Pick a day. We'll text you the openings.</p>
+      <div class=cal-grid>
+        <div class="cal-cell open"><span class=dow>Mon</span><span class=num>4</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>5</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>6</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>7</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>8</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>9</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>10</span></div><div class="cal-cell open"><span class=dow>Mon</span><span class=num>11</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>12</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>13</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>14</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>15</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>16</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>17</span></div>
+      </div>
+      <a class=btn href=#book>Continue →</a>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">Logan, OH, 43138 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16319-b.html b/public/mockups/biz-16319-b.html
new file mode 100644
index 0000000..b2f2331
--- /dev/null
+++ b/public/mockups/biz-16319-b.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#f6f6fb; --accent:#3a3a72;
+  --accent2:#e3589d; --muted:#6b6989; --rule:#e0dfeb;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>Tails of the Wild</h1>
+        <small>pet store · Logan, OH · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">Logan, OH, 43138 · </footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16319-c.html b/public/mockups/biz-16319-c.html
new file mode 100644
index 0000000..22122af
--- /dev/null
+++ b/public/mockups/biz-16319-c.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#222218; --paper:#f9f8f1; --accent:#5d6b3a;
+  --accent2:#c97a3e; --muted:#7d7c66; --rule:#e6e3d4;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Tails of the Wild</h1>
+        <span class=date>pet store · Logan, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Logan families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>Logan, OH, 43138 · </p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16331-a.html b/public/mockups/biz-16331-a.html
new file mode 100644
index 0000000..8c3568c
--- /dev/null
+++ b/public/mockups/biz-16331-a.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=Nunito:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#f6f6fb; --accent:#3a3a72;
+  --accent2:#e3589d; --muted:#6b6989; --rule:#e0dfeb;
+  --h-font:'Nunito', serif; --b-font:'Nunito', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#e0dfeb 0%,#f6f6fb 60%)}
+    .com-hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.85em}
+    .com-hero h1{font-size:3em;margin:.3em 0 .5em;font-weight:800}
+    .com-hero p{color:var(--muted);max-width:600px;margin:0 auto 2em}
+    .testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;padding:3em;max-width:1200px;margin:0 auto}
+    .quote{background:#fff;padding:2em;border-radius:var(--card-r);box-shadow:var(--card-shadow);position:relative}
+    .quote:before{content:'"';position:absolute;top:.1em;left:.5em;font-size:5em;color:var(--accent);opacity:.15;font-family:Georgia,serif}
+    .quote p{font-style:italic;margin:0 0 1em;color:var(--ink);line-height:1.5}
+    .quote .by{color:var(--muted);font-size:.85em}
+    .strip{background:var(--accent);color:var(--paper);padding:2em 3em;text-align:center}
+    .strip h2{margin:0 0 .5em;font-size:2em;color:var(--paper)}
+    .strip a{color:var(--paper);background:var(--accent2);padding:.7em 1.5em;border-radius:var(--btn-r);font-weight:700;display:inline-block;margin-top:.5em}
+</style></head><body>
+    <section class=com-hero>
+      <small>breeder · Zanesville, OH</small>
+      <h1>Muskingum Livestock Auction Company</h1>
+      <p>Caring for Zanesville's pets since 2008. We see the same families generation after generation — that's the kind of clinic we want to be.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=testimonials>
+      <div class=quote><p>They saved my dog's life. There's no other way to put it.</p><div class=by>— Maria G., Zanesville</div></div>
+      <div class=quote><p>The first vet office where my cat doesn't shake. They actually understand cats.</p><div class=by>— Aaron P.</div></div>
+      <div class=quote><p>Honest about prices, kind to my anxious puppy, and they remember us by name.</p><div class=by>— Devon R.</div></div>
+    </section>
+    <section class=strip>
+      <h2>Same-day sick visits, every weekday</h2>
+      <a href=#>Check today's openings →</a>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted);text-align:center">944 Malinda Street, Zanesville, OH, 43701 · +1 740-452-9984</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16331-b.html b/public/mockups/biz-16331-b.html
new file mode 100644
index 0000000..f263ce9
--- /dev/null
+++ b/public/mockups/biz-16331-b.html
@@ -0,0 +1,44 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+  --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e9d5ff,#faf5ff);text-align:center}
+    .bq-hero small{font-style:italic;font-family:var(--h-font);font-size:1.1em;color:var(--accent)}
+    .bq-hero h1{font-size:4em;margin:.3em 0 .5em;font-weight:400;letter-spacing:-.01em}
+    .bq-hero p{color:var(--muted);font-size:1.15em;max-width:560px;margin:0 auto 2em;line-height:1.7}
+    .bq-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 4em;max-width:1200px;margin:0 auto}
+    .bq-card{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:2em;text-align:center}
+    .bq-card .ico{font-size:2.4em;color:var(--accent2)}
+    .bq-card h3{font-style:italic;font-family:var(--h-font);margin:.5em 0;font-size:1.4em;font-weight:400}
+    .bq-card p{color:var(--muted);font-size:.95em;line-height:1.6;margin:0}
+</style></head><body>
+    <section class=bq-hero>
+      <small>breeder</small>
+      <h1>Muskingum Livestock Auction Company</h1>
+      <p>A neighborhood veterinary practice that feels like home — in the best part of Zanesville.</p>
+      <a class=btn href=#book>Book a visit</a>
+    </section>
+    <section class=bq-cards>
+      <div class=bq-card><div class=ico>🐾</div><h3>Wellness</h3><p>Annual exams, vaccines, parasite prevention, nutrition.</p></div>
+      <div class=bq-card><div class=ico>🦴</div><h3>Dental</h3><p>Cleanings under anesthesia with continuous monitoring.</p></div>
+      <div class=bq-card><div class=ico>❤️</div><h3>Senior care</h3><p>A dedicated quarterly visit for pets 8+, with bloodwork.</p></div>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">944 Malinda Street, Zanesville, OH, 43701 · +1 740-452-9984</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16331-c.html b/public/mockups/biz-16331-c.html
new file mode 100644
index 0000000..ad83c47
--- /dev/null
+++ b/public/mockups/biz-16331-c.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a221a; --paper:#f6f9f1; --accent:#3a6d3a;
+  --accent2:#a14d3d; --muted:#6c7766; --rule:#dde5d3;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Zanesville</small>
+      <h1>Muskingum Livestock Auction Company</h1>
+      <div class=tag>A veterinary concierge for Zanesville families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">944 Malinda Street, Zanesville, OH, 43701 · +1 740-452-9984</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16350-a.html b/public/mockups/biz-16350-a.html
new file mode 100644
index 0000000..32af57e
--- /dev/null
+++ b/public/mockups/biz-16350-a.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+  --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">dog park · Dayton, OH</small>
+      <h1>Bark Park Offleash</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">6794 Webster Street, Dayton, OH, 45414 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16350-b.html b/public/mockups/biz-16350-b.html
new file mode 100644
index 0000000..7548871
--- /dev/null
+++ b/public/mockups/biz-16350-b.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f8fafc; --accent:#0ea5e9;
+  --accent2:#f97316; --muted:#64748b; --rule:#e2e8f0;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">dog park</small>
+        <h1>Bark Park Offleash</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>6794 Webster Street, Dayton, OH, 45414 · </p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16350-c.html b/public/mockups/biz-16350-c.html
new file mode 100644
index 0000000..9e28a30
--- /dev/null
+++ b/public/mockups/biz-16350-c.html
@@ -0,0 +1,39 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+  --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{display:flex;flex-direction:column;min-height:100vh}
+    .min-nav{padding:2em 4em;display:flex;justify-content:space-between;align-items:center;font-size:.9em;letter-spacing:.05em}
+    .min-nav strong{font-size:1em;font-weight:600}
+    .min-nav a{margin-left:1.5em;color:var(--ink)}
+    .min-hero{flex:1;padding:6em 4em;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;margin:0 auto}
+    .min-hero h1{font-size:5em;font-weight:300;letter-spacing:-.04em;line-height:1.05;margin:0 0 .3em}
+    .min-hero p{font-size:1.2em;color:var(--muted);max-width:520px;margin:1em 0 2em;line-height:1.7;font-weight:300}
+    .min-hero .arrow{font-size:1em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.2em}
+    .min-foot{padding:2em 4em;border-top:1px solid var(--rule);display:flex;justify-content:space-between;color:var(--muted);font-size:.85em}
+</style></head><body>
+    <header class=min-nav><strong>Bark Park Offleash</strong><div><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a><a href=#>Book</a></div></header>
+    <main class=min-hero>
+      <h1>Bark Park Offleash.</h1>
+      <p>A small, deliberately quiet veterinary practice in Dayton.<br>By appointment.</p>
+      <a class=arrow href=#book>Request an appointment →</a>
+    </main>
+    <footer class=min-foot><span>6794 Webster Street, Dayton, OH, 45414</span><span></span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16361-a.html b/public/mockups/biz-16361-a.html
new file mode 100644
index 0000000..3b1a79d
--- /dev/null
+++ b/public/mockups/biz-16361-a.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#171515; --paper:#f5f5f4; --accent:#44403c;
+  --accent2:#a18267; --muted:#78716c; --rule:#e7e5e4;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:12px; --card-r:14px; --card-shadow:0 16px 40px rgba(0,0,0,.12);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f5f5f4,#e7e5e4);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>pet store · Boardman, OH</small>
+      <h1>Exotic Pet Birds</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Exotic Pet Birds · 5311 Market Street, Boardman, OH, 44512 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16361-b.html b/public/mockups/biz-16361-b.html
new file mode 100644
index 0000000..4e5a824
--- /dev/null
+++ b/public/mockups/biz-16361-b.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+  --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">pet store</small>
+        <h1>Exotic Pet Birds</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>5311 Market Street, Boardman, OH, 44512 · </p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16361-c.html b/public/mockups/biz-16361-c.html
new file mode 100644
index 0000000..8942c71
--- /dev/null
+++ b/public/mockups/biz-16361-c.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1f1a; --paper:#f1faf6; --accent:#1d8466;
+  --accent2:#d97706; --muted:#5a716a; --rule:#cce8db;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nv{padding:1.5em 3em;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
+    .st-hero{padding:4em 3em;text-align:center}
+    .st-hero h1{font-size:3em;font-weight:800;margin:0 0 .3em}
+    .st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;border-top:1px solid var(--rule)}
+    .st-tile{padding:3em 2em;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .2s}
+    .st-tile:nth-child(4n){border-right:0}
+    .st-tile:hover{background:var(--rule)}
+    .st-tile .num{font-family:var(--h-font);font-size:1.5em;color:var(--accent);font-weight:900;display:block;margin-bottom:.5em}
+    .st-tile h3{font-size:1.2em;margin:.3em 0}
+    .st-tile p{color:var(--muted);font-size:.92em;line-height:1.5}
+</style></head><body>
+    <nav class=nv><strong>Exotic Pet Birds</strong><a class=btn href=#book>Book</a></nav>
+    <section class=st-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">pet store · Boardman, OH</small>
+      <h1>Care for the whole life of your pet.</h1>
+      <p class=muted>From the first puppy visit to the last quiet day.</p>
+    </section>
+    <section class=st-tiles>
+      <div class=st-tile><span class=num>01</span><h3>Puppy / kitten</h3><p>First exam, vaccine series, parasite plan.</p></div>
+      <div class=st-tile><span class=num>02</span><h3>Wellness</h3><p>Annual exams, dental check, nutrition.</p></div>
+      <div class=st-tile><span class=num>03</span><h3>Surgery</h3><p>Spay/neuter, soft-tissue, dental procedures.</p></div>
+      <div class=st-tile><span class=num>04</span><h3>Sick visits</h3><p>Same-day when we can fit you.</p></div>
+      <div class=st-tile><span class=num>05</span><h3>Diagnostics</h3><p>Bloodwork, imaging, ultrasound, in-house.</p></div>
+      <div class=st-tile><span class=num>06</span><h3>Senior care</h3><p>Quarterly check-ins for pets 8+.</p></div>
+      <div class=st-tile><span class=num>07</span><h3>Behavior</h3><p>Training referrals, anxiety meds, consults.</p></div>
+      <div class=st-tile><span class=num>08</span><h3>End of life</h3><p>In-home euthanasia + grief support.</p></div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">5311 Market Street, Boardman, OH, 44512 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16378-a.html b/public/mockups/biz-16378-a.html
new file mode 100644
index 0000000..2feffa2
--- /dev/null
+++ b/public/mockups/biz-16378-a.html
@@ -0,0 +1,39 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=Nunito:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+  --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+  --h-font:'Nunito', serif; --b-font:'Nunito', system-ui, sans-serif;
+  --btn-r:0; --card-r:0; --card-shadow:none;
+  --divider:solid 2px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{display:flex;flex-direction:column;min-height:100vh}
+    .min-nav{padding:2em 4em;display:flex;justify-content:space-between;align-items:center;font-size:.9em;letter-spacing:.05em}
+    .min-nav strong{font-size:1em;font-weight:600}
+    .min-nav a{margin-left:1.5em;color:var(--ink)}
+    .min-hero{flex:1;padding:6em 4em;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;max-width:900px;margin:0 auto}
+    .min-hero h1{font-size:5em;font-weight:300;letter-spacing:-.04em;line-height:1.05;margin:0 0 .3em}
+    .min-hero p{font-size:1.2em;color:var(--muted);max-width:520px;margin:1em 0 2em;line-height:1.7;font-weight:300}
+    .min-hero .arrow{font-size:1em;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--ink);padding-bottom:.2em}
+    .min-foot{padding:2em 4em;border-top:1px solid var(--rule);display:flex;justify-content:space-between;color:var(--muted);font-size:.85em}
+</style></head><body>
+    <header class=min-nav><strong>Olde Falls Road Veterinary Clinic</strong><div><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a><a href=#>Book</a></div></header>
+    <main class=min-hero>
+      <h1>Olde Falls Road Veterinary Clinic.</h1>
+      <p>A small, deliberately quiet veterinary practice in Zanesville.<br>By appointment.</p>
+      <a class=arrow href=#book>Request an appointment →</a>
+    </main>
+    <footer class=min-foot><span>2615 Olde Falls Road, Zanesville, OH, 43701</span><span>+1 740-452-7934</span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16378-b.html b/public/mockups/biz-16378-b.html
new file mode 100644
index 0000000..c076ee3
--- /dev/null
+++ b/public/mockups/biz-16378-b.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+  --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>Olde Falls Road Veterinary Clinic</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Zanesville, OH</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice Zanesville has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">2615 Olde Falls Road, Zanesville, OH, 43701 · +1 740-452-7934</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16378-c.html b/public/mockups/biz-16378-c.html
new file mode 100644
index 0000000..2e24970
--- /dev/null
+++ b/public/mockups/biz-16378-c.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1f1a; --paper:#ecf3ee; --accent:#14532d;
+  --accent2:#c97a3e; --muted:#5a716a; --rule:#bce3c8;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Olde Falls Road Veterinary Clinic</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Zanesville pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">2615 Olde Falls Road, Zanesville, OH, 43701 · +1 740-452-7934</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16381-a.html b/public/mockups/biz-16381-a.html
new file mode 100644
index 0000000..9abd38f
--- /dev/null
+++ b/public/mockups/biz-16381-a.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+  --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Cleveland Veterinary Rehabilitation</h1>
+        <span class=date>vet clinic · Willoughby Hills, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Willoughby Hills families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>28915 Chardon Road, Willoughby Hills, OH, 44092 · +1 440 462 4600</p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16381-b.html b/public/mockups/biz-16381-b.html
new file mode 100644
index 0000000..a6fd507
--- /dev/null
+++ b/public/mockups/biz-16381-b.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+  --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>Cleveland Veterinary Rehabilitation</h1>
+        <small>vet clinic · Willoughby Hills, OH · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">28915 Chardon Road, Willoughby Hills, OH, 44092 · +1 440 462 4600</footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16381-c.html b/public/mockups/biz-16381-c.html
new file mode 100644
index 0000000..f607a10
--- /dev/null
+++ b/public/mockups/biz-16381-c.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#000000; --paper:#fffaf3; --accent:#000000;
+  --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>Cleveland Veterinary Rehabilitation</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Willoughby Hills, OH</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice Willoughby Hills has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">28915 Chardon Road, Willoughby Hills, OH, 44092 · +1 440 462 4600</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16402-a.html b/public/mockups/biz-16402-a.html
new file mode 100644
index 0000000..e638179
--- /dev/null
+++ b/public/mockups/biz-16402-a.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#222218; --paper:#f9f8f1; --accent:#5d6b3a;
+  --accent2:#c97a3e; --muted:#7d7c66; --rule:#e6e3d4;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Pawmyra Dog Park</h1>
+        <span class=date>dog park · Mason, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Mason families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>3400 Mason Morrow Milgrove Rd, Mason, OH, 45040 · +1-513-229-8500</p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16402-b.html b/public/mockups/biz-16402-b.html
new file mode 100644
index 0000000..79e7e9b
--- /dev/null
+++ b/public/mockups/biz-16402-b.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700;900&family=Lato:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a221a; --paper:#f6f9f1; --accent:#3a6d3a;
+  --accent2:#a14d3d; --muted:#6c7766; --rule:#dde5d3;
+  --h-font:'Cormorant Garamond', serif; --b-font:'Lato', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>Pawmyra Dog Park</h1>
+        <small>dog park · Mason, OH · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">3400 Mason Morrow Milgrove Rd, Mason, OH, 45040 · +1-513-229-8500</footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16402-c.html b/public/mockups/biz-16402-c.html
new file mode 100644
index 0000000..fb8e467
--- /dev/null
+++ b/public/mockups/biz-16402-c.html
@@ -0,0 +1,42 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1f1a; --paper:#ecf3ee; --accent:#14532d;
+  --accent2:#c97a3e; --muted:#5a716a; --rule:#bce3c8;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:10px; --card-r:12px; --card-shadow:0 4px 14px rgba(0,0,0,.06);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#bce3c8,#ecf3ee)}
+    .cal-hero h1{font-size:3.4em;font-weight:800;margin:0 0 .3em}
+    .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5em;max-width:900px;margin:2em auto;padding:0 2em}
+    .cal-cell{background:#fff;padding:1em .5em;text-align:center;border-radius:var(--btn-r);box-shadow:var(--card-shadow);font-weight:600}
+    .cal-cell .dow{font-size:.7em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block}
+    .cal-cell .num{font-size:1.3em;font-family:var(--h-font);color:var(--accent);font-weight:900}
+    .cal-cell.closed{opacity:.3}
+    .cal-cell.open:hover{background:var(--accent);color:var(--paper);cursor:pointer}
+    .cal-cell.open:hover .num,.cal-cell.open:hover .dow{color:var(--paper)}
+</style></head><body>
+    <section class=cal-hero>
+      <small style="letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);font-weight:700">dog park · Mason, OH</small>
+      <h1>Pawmyra Dog Park</h1>
+      <p class=muted>Pick a day. We'll text you the openings.</p>
+      <div class=cal-grid>
+        <div class="cal-cell open"><span class=dow>Mon</span><span class=num>4</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>5</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>6</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>7</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>8</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>9</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>10</span></div><div class="cal-cell open"><span class=dow>Mon</span><span class=num>11</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>12</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>13</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>14</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>15</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>16</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>17</span></div>
+      </div>
+      <a class=btn href=#book>Continue →</a>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">3400 Mason Morrow Milgrove Rd, Mason, OH, 45040 · +1-513-229-8500</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16403-a.html b/public/mockups/biz-16403-a.html
new file mode 100644
index 0000000..dc083b7
--- /dev/null
+++ b/public/mockups/biz-16403-a.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+  --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">vet clinic</small>
+        <h1>Clermont Animal Hospital</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1404 Old State Route 74, Batavia, OH, 45103 · </p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16403-b.html b/public/mockups/biz-16403-b.html
new file mode 100644
index 0000000..d683bf1
--- /dev/null
+++ b/public/mockups/biz-16403-b.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+  --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f4f3f6,#d8d5e0);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Batavia, OH</small>
+      <h1>Clermont Animal Hospital</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Clermont Animal Hospital · 1404 Old State Route 74, Batavia, OH, 45103 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16403-c.html b/public/mockups/biz-16403-c.html
new file mode 100644
index 0000000..a5b7967
--- /dev/null
+++ b/public/mockups/biz-16403-c.html
@@ -0,0 +1,63 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+  --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .news{max-width:1100px;margin:0 auto;padding:2em 3em}
+    .news .nameplate{border-top:6px solid var(--ink);border-bottom:3px solid var(--ink);padding:1em 0;text-align:center}
+    .news .nameplate h1{font-size:3em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .news .nameplate small{display:block;color:var(--muted);font-size:.9em;text-transform:uppercase;letter-spacing:.2em;margin-top:.5em}
+    .news .lead-story{padding:2em 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:2fr 1fr;gap:3em}
+    .news .lead-story h2{font-size:2.6em;font-weight:900;line-height:1.05;margin:0 0 .5em}
+    .news .lead-story .sub{font-size:1.1em;color:var(--muted);font-style:italic}
+    .news .sidebar h3{font-size:1.2em;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--accent);padding-bottom:.4em}
+    .news .sidebar ul{list-style:none;padding:0;margin:0}
+    .news .sidebar li{padding:.6em 0;border-bottom:1px dotted var(--rule);font-size:.95em}
+    .news .col3{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:2em 0;border-bottom:1px solid var(--rule)}
+    .news .col3 h3{font-size:1.3em;border-bottom:1px solid var(--rule);padding-bottom:.4em}
+</style></head><body>
+    <article class=news>
+      <header class=nameplate>
+        <h1>Clermont Animal Hospital</h1>
+        <small>vet clinic · Batavia, OH · Monday, May 4, 2026</small>
+      </header>
+      <section class=lead-story>
+        <div>
+          <h2>New: Same-day appointments are back, all weekdays.</h2>
+          <p class=sub>After a six-month staffing rebuild, we've reopened walk-in sick visits Monday through Friday. Call before 11 AM, see your DVM before 5.</p>
+          <a class=btn href=#book>Book today's visit</a>
+        </div>
+        <aside class=sidebar>
+          <h3>This week</h3>
+          <ul>
+            <li>Vaccine clinic — Saturday 9-12</li>
+            <li>Senior wellness day — every Wed</li>
+            <li>Free puppy meet-up — first Sat/mo</li>
+            <li>End-of-life consults — by appt</li>
+          </ul>
+        </aside>
+      </section>
+      <section class=col3>
+        <div><h3>General Practice</h3><p>Annual wellness exams, vaccinations, and personalized care plans.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with continuous anesthetic monitoring.</p></div>
+        <div><h3>Specialty Referrals</h3><p>Cardiology, dermatology, oncology — we know the right specialists.</p></div>
+      </section>
+      <footer style="padding:2em 0;color:var(--muted)">1404 Old State Route 74, Batavia, OH, 45103 · </footer>
+    </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16411-a.html b/public/mockups/biz-16411-a.html
new file mode 100644
index 0000000..0436c69
--- /dev/null
+++ b/public/mockups/biz-16411-a.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+  --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{background:var(--paper)}
+    .luxe{padding:6em 5em;max-width:1100px;margin:0 auto;text-align:center}
+    .luxe small{font-family:var(--h-font);font-style:italic;font-size:1em;color:var(--accent);letter-spacing:.05em}
+    .luxe h1{font-size:5em;margin:.2em 0;font-weight:400;letter-spacing:-.02em;line-height:1}
+    .luxe .tag{font-family:var(--h-font);font-style:italic;font-size:1.4em;color:var(--muted);margin:.5em 0 2em}
+    .luxe .ornament{display:block;margin:1.5em auto;width:120px;height:1px;background:var(--accent)}
+    .luxe p.intro{max-width:640px;margin:0 auto 2.5em;font-size:1.1em;line-height:1.7;color:var(--ink)}
+    .luxe .cta{display:inline-block;border:1px solid var(--ink);padding:1.1em 2.4em;letter-spacing:.2em;text-transform:uppercase;font-size:.85em;font-weight:600;color:var(--ink)}
+    .pillars2{display:grid;grid-template-columns:repeat(3,1fr);max-width:1100px;margin:0 auto;gap:0;border-top:1px solid var(--rule)}
+    .pillars2 > div{padding:3em 2em;border-right:1px solid var(--rule);text-align:center}
+    .pillars2 > div:last-child{border:0}
+    .pillars2 h3{font-family:var(--h-font);font-style:italic;font-size:1.4em;font-weight:400;color:var(--accent)}
+</style></head><body>
+    <main class=luxe>
+      <small>established · Marshallville</small>
+      <h1>Finney Veterinary Services</h1>
+      <div class=tag>A veterinary concierge for Marshallville families.</div>
+      <span class=ornament></span>
+      <p class=intro>For thirty years, the same families have entrusted us with their pets — across generations, through every illness, every joy, every loss. We answer the phone ourselves. We remember what you fed your dog last summer. That is the practice we have built.</p>
+      <a class=cta href=#book>Become a client</a>
+    </main>
+    <section class=pillars2>
+      <div><h3>House calls</h3><p>For senior pets, end-of-life care, or pets who simply hate the car.</p></div>
+      <div><h3>Concierge medicine</h3><p>Direct cell-phone access to your DVM. No portal. No phone tree.</p></div>
+      <div><h3>Estate planning</h3><p>Pet-trust referrals, end-of-life planning, in-home euthanasia.</p></div>
+    </section>
+    <footer style="padding:3em;text-align:center;color:var(--muted);font-size:.85em">61 South Main Street, Marshallville, OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16411-b.html b/public/mockups/biz-16411-b.html
new file mode 100644
index 0000000..6c7e829
--- /dev/null
+++ b/public/mockups/biz-16411-b.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Source+Serif+Pro:wght@400;700;900&family=Source+Sans+Pro:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a221a; --paper:#f6f9f1; --accent:#3a6d3a;
+  --accent2:#a14d3d; --muted:#6c7766; --rule:#dde5d3;
+  --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f6f9f1,#dde5d3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Marshallville, OH</small>
+      <h1>Finney Veterinary Services</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Finney Veterinary Services · 61 South Main Street, Marshallville, OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16411-c.html b/public/mockups/biz-16411-c.html
new file mode 100644
index 0000000..29c7443
--- /dev/null
+++ b/public/mockups/biz-16411-c.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1d2e; --paper:#f4f8fb; --accent:#0a4d6e;
+  --accent2:#e89241; --muted:#5d748a; --rule:#d5e1ea;
+  --h-font:'Inter', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic · Marshallville, OH</small>
+      <h1>Finney Veterinary Services</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">61 South Main Street, Marshallville, OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16412-a.html b/public/mockups/biz-16412-a.html
new file mode 100644
index 0000000..2410aa5
--- /dev/null
+++ b/public/mockups/biz-16412-a.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;700;900&family=Space+Grotesk:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1729; --paper:#fbf7f4; --accent:#5b1e6e;
+  --accent2:#d4843e; --muted:#7d6b88; --rule:#ece2dc;
+  --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fbf7f4,#ece2dc);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>dog park · Toledo, OH</small>
+      <h1>Glass City Dog Park</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Glass City Dog Park · 1171 Woodsdale, Toledo, OH, 43614 · +1-567-307-0703</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16412-b.html b/public/mockups/biz-16412-b.html
new file mode 100644
index 0000000..799f16e
--- /dev/null
+++ b/public/mockups/biz-16412-b.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+  --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nv{padding:1.5em 3em;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
+    .st-hero{padding:4em 3em;text-align:center}
+    .st-hero h1{font-size:3em;font-weight:800;margin:0 0 .3em}
+    .st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;border-top:1px solid var(--rule)}
+    .st-tile{padding:3em 2em;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .2s}
+    .st-tile:nth-child(4n){border-right:0}
+    .st-tile:hover{background:var(--rule)}
+    .st-tile .num{font-family:var(--h-font);font-size:1.5em;color:var(--accent);font-weight:900;display:block;margin-bottom:.5em}
+    .st-tile h3{font-size:1.2em;margin:.3em 0}
+    .st-tile p{color:var(--muted);font-size:.92em;line-height:1.5}
+</style></head><body>
+    <nav class=nv><strong>Glass City Dog Park</strong><a class=btn href=#book>Book</a></nav>
+    <section class=st-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">dog park · Toledo, OH</small>
+      <h1>Care for the whole life of your pet.</h1>
+      <p class=muted>From the first puppy visit to the last quiet day.</p>
+    </section>
+    <section class=st-tiles>
+      <div class=st-tile><span class=num>01</span><h3>Puppy / kitten</h3><p>First exam, vaccine series, parasite plan.</p></div>
+      <div class=st-tile><span class=num>02</span><h3>Wellness</h3><p>Annual exams, dental check, nutrition.</p></div>
+      <div class=st-tile><span class=num>03</span><h3>Surgery</h3><p>Spay/neuter, soft-tissue, dental procedures.</p></div>
+      <div class=st-tile><span class=num>04</span><h3>Sick visits</h3><p>Same-day when we can fit you.</p></div>
+      <div class=st-tile><span class=num>05</span><h3>Diagnostics</h3><p>Bloodwork, imaging, ultrasound, in-house.</p></div>
+      <div class=st-tile><span class=num>06</span><h3>Senior care</h3><p>Quarterly check-ins for pets 8+.</p></div>
+      <div class=st-tile><span class=num>07</span><h3>Behavior</h3><p>Training referrals, anxiety meds, consults.</p></div>
+      <div class=st-tile><span class=num>08</span><h3>End of life</h3><p>In-home euthanasia + grief support.</p></div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1171 Woodsdale, Toledo, OH, 43614 · +1-567-307-0703</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16412-c.html b/public/mockups/biz-16412-c.html
new file mode 100644
index 0000000..c005e5a
--- /dev/null
+++ b/public/mockups/biz-16412-c.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#22201d; --paper:#f5efea; --accent:#a13d2d;
+  --accent2:#3a4a3a; --muted:#7a7166; --rule:#e0d6cb;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:999px; --card-r:18px; --card-shadow:0 2px 8px rgba(0,0,0,.05);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nav{padding:1.2em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule)}
+    .nav strong{font-size:1.1em}
+    .hero2{display:grid;grid-template-columns:1.4fr 1fr;padding:5em 3em;gap:4em;align-items:start}
+    .hero2 h1{font-size:3.2em;font-weight:800;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .hero2 .sub{font-size:1.15em;color:var(--muted);max-width:560px;margin:0 0 2em}
+    .booking{background:#fff;border:2px solid var(--ink);border-radius:var(--card-r);padding:2em}
+    .booking h3{margin:0 0 1em;font-size:1.3em}
+    .booking label{display:block;margin:.7em 0 .2em;font-weight:600;font-size:.92em}
+    .booking input,.booking select{width:100%;padding:.6em .8em;border:1px solid var(--rule);border-radius:var(--btn-r);font:inherit}
+    .booking button{margin-top:1em;width:100%;background:var(--accent);color:var(--paper);border:0;padding:1em;font-weight:700;font-size:1.05em;border-radius:var(--btn-r);cursor:pointer}
+    .why{padding:3em;background:var(--rule)}
+    .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;max-width:1100px;margin:0 auto}
+    .why-grid > div{background:var(--paper);padding:1.5em;border-radius:var(--card-r)}
+</style></head><body>
+    <nav class=nav><strong>Glass City Dog Park</strong><a class=btn href=#book>Book online</a></nav>
+    <section class=hero2>
+      <div>
+        <h1>Skip the phone. Book your visit in 60 seconds.</h1>
+        <p class=sub>Real-time availability. Choose your doctor. Add your pet's symptoms. We'll send a confirmation by email + text.</p>
+        <p class=muted>★ 4.9 from 412 Toledo pet families</p>
+      </div>
+      <form class=booking>
+        <h3>Request an appointment</h3>
+        <label>Your name</label><input placeholder="Jane Doe">
+        <label>Email</label><input placeholder="you@example.com">
+        <label>Pet & reason</label><select><option>Dog — wellness</option><option>Cat — sick visit</option><option>Other</option></select>
+        <label>Preferred day</label><input type=date>
+        <button>Request appointment</button>
+      </form>
+    </section>
+    <section class=why>
+      <div class=why-grid>
+        <div><h3>Same-week openings</h3><p>Most clients book within 3 days.</p></div>
+        <div><h3>Honest pricing</h3><p>Estimates before treatment. No surprises.</p></div>
+        <div><h3>Real follow-up</h3><p>Email check-in 48h after every visit.</p></div>
+      </div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1171 Woodsdale, Toledo, OH, 43614 · +1-567-307-0703</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16416-a.html b/public/mockups/biz-16416-a.html
new file mode 100644
index 0000000..b45d633
--- /dev/null
+++ b/public/mockups/biz-16416-a.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+  --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+  --h-font:'Inter', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .nv{padding:1.5em 3em;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between}
+    .st-hero{padding:4em 3em;text-align:center}
+    .st-hero h1{font-size:3em;font-weight:800;margin:0 0 .3em}
+    .st-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:0;padding:0;border-top:1px solid var(--rule)}
+    .st-tile{padding:3em 2em;border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);transition:background .2s}
+    .st-tile:nth-child(4n){border-right:0}
+    .st-tile:hover{background:var(--rule)}
+    .st-tile .num{font-family:var(--h-font);font-size:1.5em;color:var(--accent);font-weight:900;display:block;margin-bottom:.5em}
+    .st-tile h3{font-size:1.2em;margin:.3em 0}
+    .st-tile p{color:var(--muted);font-size:.92em;line-height:1.5}
+</style></head><body>
+    <nav class=nv><strong>Fairfield County Dog Adoption Center & Shelter</strong><a class=btn href=#book>Book</a></nav>
+    <section class=st-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">shelter · Lancaster, OH</small>
+      <h1>Care for the whole life of your pet.</h1>
+      <p class=muted>From the first puppy visit to the last quiet day.</p>
+    </section>
+    <section class=st-tiles>
+      <div class=st-tile><span class=num>01</span><h3>Puppy / kitten</h3><p>First exam, vaccine series, parasite plan.</p></div>
+      <div class=st-tile><span class=num>02</span><h3>Wellness</h3><p>Annual exams, dental check, nutrition.</p></div>
+      <div class=st-tile><span class=num>03</span><h3>Surgery</h3><p>Spay/neuter, soft-tissue, dental procedures.</p></div>
+      <div class=st-tile><span class=num>04</span><h3>Sick visits</h3><p>Same-day when we can fit you.</p></div>
+      <div class=st-tile><span class=num>05</span><h3>Diagnostics</h3><p>Bloodwork, imaging, ultrasound, in-house.</p></div>
+      <div class=st-tile><span class=num>06</span><h3>Senior care</h3><p>Quarterly check-ins for pets 8+.</p></div>
+      <div class=st-tile><span class=num>07</span><h3>Behavior</h3><p>Training referrals, anxiety meds, consults.</p></div>
+      <div class=st-tile><span class=num>08</span><h3>End of life</h3><p>In-home euthanasia + grief support.</p></div>
+    </section>
+    <footer style="padding:2em 3em;color:var(--muted)">1715 Granville Pike, Lancaster, OH, 43130 · +1-740-687-3647</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16416-b.html b/public/mockups/biz-16416-b.html
new file mode 100644
index 0000000..f042d01
--- /dev/null
+++ b/public/mockups/biz-16416-b.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Merriweather:wght@400;700;900&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1e1b3a; --paper:#f6f6fb; --accent:#3a3a72;
+  --accent2:#e3589d; --muted:#6b6989; --rule:#e0dfeb;
+  --h-font:'Merriweather', serif; --b-font:'IBM Plex Sans', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Fairfield County Dog Adoption Center & Shelter</h1>
+        <span class=date>shelter · Lancaster, OH</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Lancaster families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>1715 Granville Pike, Lancaster, OH, 43130 · +1-740-687-3647</p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16416-c.html b/public/mockups/biz-16416-c.html
new file mode 100644
index 0000000..7a4c615
--- /dev/null
+++ b/public/mockups/biz-16416-c.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Nunito:wght@400;700;900&family=Nunito:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Nunito', serif; --b-font:'Nunito', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:none;
+  --divider:double 3px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">shelter</small>
+        <h1>Fairfield County Dog Adoption Center & Shelter</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1715 Granville Pike, Lancaster, OH, 43130 · +1-740-687-3647</p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16452-a.html b/public/mockups/biz-16452-a.html
new file mode 100644
index 0000000..5a350fc
--- /dev/null
+++ b/public/mockups/biz-16452-a.html
@@ -0,0 +1,56 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Lora:wght@400;700;900&family=Public+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+  --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+  --h-font:'Lora', serif; --b-font:'Public Sans', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    body{font-feature-settings:'kern','liga'}
+    .auth-hero{padding:5em 4em 4em;border-bottom:6px solid var(--accent)}
+    .auth-hero h1{font-size:3.4em;font-weight:800;letter-spacing:-.025em;line-height:1.05;max-width:14ch}
+    .auth-hero .credentials{margin:1em 0 1.5em;font-size:1.1em;color:var(--muted)}
+    .auth-hero .credentials span{display:inline-block;background:var(--accent);color:var(--paper);padding:.2em .6em;border-radius:var(--btn-r);font-size:.85em;font-weight:700;margin-right:.5em;margin-bottom:.4em}
+    .specs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--ink);color:var(--paper)}
+    .specs > div{padding:2em;border-right:1px solid rgba(255,255,255,.1)}
+    .specs strong{display:block;font-size:2.2em;font-family:var(--h-font);color:var(--accent2);font-weight:900}
+    .specs span{display:block;color:rgba(255,255,255,.7);font-size:.9em;margin-top:.3em;text-transform:uppercase;letter-spacing:.1em}
+    .pillars{padding:4em;display:grid;grid-template-columns:repeat(2,1fr);gap:3em}
+    .pillars h3{font-size:1.6em;border-bottom:1px solid var(--rule);padding-bottom:.5em}
+    .pillars p{color:var(--muted);line-height:1.6}
+</style></head><body>
+    <header class=auth-hero>
+      <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">boarding · , OH</small>
+      <h1>Lobo Lodge Kennels</h1>
+      <div class=credentials>
+        <span>AAHA Accredited</span><span>24-Hour ICU</span><span>Board-Certified Specialists</span>
+      </div>
+      <a class=btn href=#refer>Refer a patient →</a>
+    </header>
+    <section class=specs>
+      <div><strong>15K+</strong><span>patients seen / yr</span></div>
+      <div><strong>9</strong><span>specialties on staff</span></div>
+      <div><strong>24/7</strong><span>emergency coverage</span></div>
+      <div><strong>14 yrs</strong><span>median DVM tenure</span></div>
+    </section>
+    <section class=pillars>
+      <div><h3>Internal Medicine</h3><p>Endocrine, gastrointestinal, hematology — diagnostics in-house, treatment plans coordinated with your primary vet.</p></div>
+      <div><h3>Cardiology</h3><p>Echocardiography, holter monitoring, BNP testing. Same-week appointments for complex cases.</p></div>
+      <div><h3>Surgery</h3><p>Soft-tissue, orthopedic, and neurosurgical procedures. Board-certified surgeons on every case.</p></div>
+      <div><h3>Oncology</h3><p>Chemotherapy, radiation referrals, palliative-care consults. We call you within 24h of every diagnosis.</p></div>
+    </section>
+    <footer style="padding:2em 4em;background:var(--ink);color:rgba(255,255,255,.7)">OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16452-b.html b/public/mockups/biz-16452-b.html
new file mode 100644
index 0000000..f1367dd
--- /dev/null
+++ b/public/mockups/biz-16452-b.html
@@ -0,0 +1,42 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Spectral:wght@400;700;900&family=Work+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+  --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+  --h-font:'Spectral', serif; --b-font:'Work Sans', system-ui, sans-serif;
+  --btn-r:6px; --card-r:8px; --card-shadow:none;
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#fee9b0,#fffaef)}
+    .cal-hero h1{font-size:3.4em;font-weight:800;margin:0 0 .3em}
+    .cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5em;max-width:900px;margin:2em auto;padding:0 2em}
+    .cal-cell{background:#fff;padding:1em .5em;text-align:center;border-radius:var(--btn-r);box-shadow:var(--card-shadow);font-weight:600}
+    .cal-cell .dow{font-size:.7em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;display:block}
+    .cal-cell .num{font-size:1.3em;font-family:var(--h-font);color:var(--accent);font-weight:900}
+    .cal-cell.closed{opacity:.3}
+    .cal-cell.open:hover{background:var(--accent);color:var(--paper);cursor:pointer}
+    .cal-cell.open:hover .num,.cal-cell.open:hover .dow{color:var(--paper)}
+</style></head><body>
+    <section class=cal-hero>
+      <small style="letter-spacing:.15em;text-transform:uppercase;color:var(--accent2);font-weight:700">boarding · , OH</small>
+      <h1>Lobo Lodge Kennels</h1>
+      <p class=muted>Pick a day. We'll text you the openings.</p>
+      <div class=cal-grid>
+        <div class="cal-cell open"><span class=dow>Mon</span><span class=num>4</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>5</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>6</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>7</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>8</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>9</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>10</span></div><div class="cal-cell open"><span class=dow>Mon</span><span class=num>11</span></div><div class="cal-cell open"><span class=dow>Tue</span><span class=num>12</span></div><div class="cal-cell open"><span class=dow>Wed</span><span class=num>13</span></div><div class="cal-cell open"><span class=dow>Thu</span><span class=num>14</span></div><div class="cal-cell open"><span class=dow>Fri</span><span class=num>15</span></div><div class="cal-cell open"><span class=dow>Sat</span><span class=num>16</span></div><div class="cal-cell closed"><span class=dow>Sun</span><span class=num>17</span></div>
+      </div>
+      <a class=btn href=#book>Continue →</a>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-16452-c.html b/public/mockups/biz-16452-c.html
new file mode 100644
index 0000000..876370e
--- /dev/null
+++ b/public/mockups/biz-16452-c.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700;900&family=Open+Sans:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0c1d2e; --paper:#f4f8fb; --accent:#0a4d6e;
+  --accent2:#e89241; --muted:#5d748a; --rule:#d5e1ea;
+  --h-font:'Libre Baskerville', serif; --b-font:'Open Sans', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .mc-nav{padding:1.4em 3em;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);background:var(--paper);position:sticky;top:0;z-index:10}
+    .mc-nav strong{font-size:1.1em}
+    .mc-nav nav a{margin-left:1.5em;color:var(--ink);font-weight:500}
+    .mc-hero{padding:6em 3em 4em;text-align:left;max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr;gap:4em;align-items:end}
+    .mc-hero h1{font-size:3.8em;font-weight:800;letter-spacing:-.025em;line-height:1.05;margin:0}
+    .mc-hero p{font-size:1.2em;color:var(--muted);margin:1em 0;max-width:520px}
+    .mc-hero .actions{display:flex;gap:1em}
+    .mc-hero .badges{display:grid;grid-template-columns:1fr 1fr;gap:.7em;align-items:end}
+    .mc-hero .badge{background:#fff;border:1px solid var(--rule);border-radius:var(--card-r);padding:.8em;text-align:center;font-size:.85em}
+    .mc-hero .badge strong{display:block;color:var(--accent);font-size:1.4em;font-family:var(--h-font);font-weight:900}
+    .mc-services{padding:4em 3em;background:var(--rule)}
+    .mc-services h2{font-size:1.8em;text-align:center;margin-bottom:2em}
+    .mc-services ul{list-style:none;padding:0;max-width:900px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:1em}
+    .mc-services li{background:var(--paper);padding:1.2em 1.5em;border-radius:var(--card-r);font-weight:600;display:flex;justify-content:space-between;align-items:center}
+    .mc-services li small{color:var(--muted);font-weight:400}
+</style></head><body>
+    <nav class=mc-nav><strong>Lobo Lodge Kennels</strong><nav><a href=#>Services</a><a href=#>Team</a><a href=#>Visit</a></nav><a class=btn href=#book>Book</a></nav>
+    <section class=mc-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">boarding · , OH</small>
+        <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+        <p>The veterinary practice this neighborhood has been waiting for. Open 7 days. Online booking. Email reminders. Estimates before treatment.</p>
+        <div class=actions><a class=btn href=#book>Book in 60 seconds</a><a class=btn-ghost href=#tour>Take a tour →</a></div>
+      </div>
+      <div class=badges>
+        <div class=badge><strong>★ 4.9</strong>412 reviews</div>
+        <div class=badge><strong>7 days</strong>Open weekly</div>
+        <div class=badge><strong>$95</strong>Wellness exam</div>
+        <div class=badge><strong>24h</strong>Lab results</div>
+      </div>
+    </section>
+    <section class=mc-services>
+      <h2>Common visits</h2>
+      <ul>
+        <li>Annual wellness <small>$95</small></li>
+        <li>Sick visit <small>$110</small></li>
+        <li>Dental cleaning <small>From $450</small></li>
+        <li>Spay / neuter <small>From $225</small></li>
+        <li>Vaccine package <small>$140</small></li>
+        <li>Senior bloodwork <small>$185</small></li>
+      </ul>
+    </section>
+    <footer style="padding:2em 3em;text-align:center;color:var(--muted)">OH · </footer></body></html>
\ No newline at end of file
diff --git a/public/sites/hitchcock-road-animal-services-salinas-ca-7498/contact.html b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/contact.html
new file mode 100644
index 0000000..8e61577
--- /dev/null
+++ b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/contact.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f6f1e9,#dfd5c3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>shelter · Salinas, CA</small>
+      <h1>Hitchcock Road Animal Services</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Hitchcock Road Animal Services · 160 Hitchcock Road, Salinas, CA, 93908 · +1 831 769 8850</footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Contact</h1>
+      <p style="line-height:1.7;font-size:1.1em"><strong>Hitchcock Road Animal Services</strong><br>
+      160 Hitchcock Road, Salinas, CA, 93908<br>
+      <a href="tel:+1 831 769 8850">+1 831 769 8850</a><br>
+      
+      <a href="https://www.co.monterey.ca.us/government/departments-a-h/health/monterey-county-animal-services" target="_blank" rel="noopener">https://www.co.monterey.ca.us/government/departments-a-h/health/monterey-county-animal-services</a><br>
+      </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/hitchcock-road-animal-services-salinas-ca-7498/index.html b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/index.html
new file mode 100644
index 0000000..dfe030d
--- /dev/null
+++ b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/index.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f6f1e9,#dfd5c3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>shelter · Salinas, CA</small>
+      <h1>Hitchcock Road Animal Services</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Hitchcock Road Animal Services · 160 Hitchcock Road, Salinas, CA, 93908 · +1 831 769 8850</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/hitchcock-road-animal-services-salinas-ca-7498/services.html b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/services.html
new file mode 100644
index 0000000..a937916
--- /dev/null
+++ b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/services.html
@@ -0,0 +1,53 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f6f1e9,#dfd5c3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>shelter · Salinas, CA</small>
+      <h1>Hitchcock Road Animal Services</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Hitchcock Road Animal Services · 160 Hitchcock Road, Salinas, CA, 93908 · +1 831 769 8850</footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Services</h1>
+      <ul style="line-height:2;font-size:1.1em">
+        <li>Annual wellness exams + vaccinations</li>
+        <li>Same-day sick visits (M-F before 11 AM)</li>
+        <li>In-house surgical suite with continuous anesthetic monitoring</li>
+        <li>Dental cleanings + extractions</li>
+        <li>Specialty referrals (cardiology, dermatology, oncology)</li>
+        <li>End-of-life consultations + in-home euthanasia</li>
+      </ul></section></body></html>
\ No newline at end of file
diff --git a/public/sites/hitchcock-road-animal-services-salinas-ca-7498/team.html b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/team.html
new file mode 100644
index 0000000..64603ca
--- /dev/null
+++ b/public/sites/hitchcock-road-animal-services-salinas-ca-7498/team.html
@@ -0,0 +1,46 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f6f1e9,#dfd5c3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>shelter · Salinas, CA</small>
+      <h1>Hitchcock Road Animal Services</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Hitchcock Road Animal Services · 160 Hitchcock Road, Salinas, CA, 93908 · +1 831 769 8850</footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Team</h1>
+      <p style="line-height:1.7;font-size:1.1em">Board-certified veterinarians, Fear Free Certified® technicians, and front-desk staff who remember your pet's name. Photos + bios coming soon — call us at +1 831 769 8850 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/niels-animal-hospital-niles-il-6081/contact.html b/public/sites/niels-animal-hospital-niles-il-6081/contact.html
new file mode 100644
index 0000000..15830cc
--- /dev/null
+++ b/public/sites/niels-animal-hospital-niles-il-6081/contact.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaf0,#e8d3a3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Niles, IL</small>
+      <h1>Niels Animal Hospital</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Niels Animal Hospital · 7278 North Milwaukee Avenue, Niles, IL, 60714 · </footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Contact</h1>
+      <p style="line-height:1.7;font-size:1.1em"><strong>Niels Animal Hospital</strong><br>
+      7278 North Milwaukee Avenue, Niles, IL, 60714<br>
+      
+      
+      <a href="https://nilesanimalhospital.com/" target="_blank" rel="noopener">https://nilesanimalhospital.com/</a><br>
+      </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/niels-animal-hospital-niles-il-6081/index.html b/public/sites/niels-animal-hospital-niles-il-6081/index.html
new file mode 100644
index 0000000..dbd594e
--- /dev/null
+++ b/public/sites/niels-animal-hospital-niles-il-6081/index.html
@@ -0,0 +1,45 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaf0,#e8d3a3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Niles, IL</small>
+      <h1>Niels Animal Hospital</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Niels Animal Hospital · 7278 North Milwaukee Avenue, Niles, IL, 60714 · </footer></body></html>
\ No newline at end of file
diff --git a/public/sites/niels-animal-hospital-niles-il-6081/services.html b/public/sites/niels-animal-hospital-niles-il-6081/services.html
new file mode 100644
index 0000000..2d3ed1a
--- /dev/null
+++ b/public/sites/niels-animal-hospital-niles-il-6081/services.html
@@ -0,0 +1,53 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaf0,#e8d3a3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Niles, IL</small>
+      <h1>Niels Animal Hospital</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Niels Animal Hospital · 7278 North Milwaukee Avenue, Niles, IL, 60714 · </footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Services</h1>
+      <ul style="line-height:2;font-size:1.1em">
+        <li>Annual wellness exams + vaccinations</li>
+        <li>Same-day sick visits (M-F before 11 AM)</li>
+        <li>In-house surgical suite with continuous anesthetic monitoring</li>
+        <li>Dental cleanings + extractions</li>
+        <li>Specialty referrals (cardiology, dermatology, oncology)</li>
+        <li>End-of-life consultations + in-home euthanasia</li>
+      </ul></section></body></html>
\ No newline at end of file
diff --git a/public/sites/niels-animal-hospital-niles-il-6081/team.html b/public/sites/niels-animal-hospital-niles-il-6081/team.html
new file mode 100644
index 0000000..81faacf
--- /dev/null
+++ b/public/sites/niels-animal-hospital-niles-il-6081/team.html
@@ -0,0 +1,46 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1a0a; --paper:#fffaf0; --accent:#b45309;
+  --accent2:#0c1e6e; --muted:#7d6e5d; --rule:#e8d3a3;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:2px; --card-r:0; --card-shadow:inset 0 -3px 0 var(--accent2);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fffaf0,#e8d3a3);text-align:left}
+    .hero small{text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700;font-size:.9em}
+    .hero h1{font-size:4em;margin:.3em 0;line-height:1.05;font-weight:900}
+    .hero p{font-size:1.25em;color:var(--muted);max-width:600px;margin:1em 0 2em}
+    .hero .btns{display:flex;gap:1em;align-items:center}
+    .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--ink);color:var(--paper)}
+    .grid > div{padding:3em 2.5em;border-right:1px solid rgba(255,255,255,.1)}
+    .grid h3{font-size:1.4em;margin-bottom:.4em}
+    .grid p{color:rgba(255,255,255,.7);margin:0}
+    .foot{padding:2em 4em;background:var(--accent);color:var(--paper);text-align:center;font-weight:600}
+</style></head><body>
+    <section class=hero>
+      <small>vet clinic · Niles, IL</small>
+      <h1>Niels Animal Hospital</h1>
+      <p>Veterinary care designed around your pet — and your day. Same-week appointments, transparent pricing, kind people.</p>
+      <div class=btns><a class=btn href=#book>Book online</a><a class=btn-ghost href=#about>Meet the team →</a></div>
+    </section>
+    <section class=grid>
+      <div><h3>Wellness</h3><p>Annual exams, vaccinations, and proactive care plans.</p></div>
+      <div><h3>Surgery & Dental</h3><p>In-house, with same-day discharge for most procedures.</p></div>
+      <div><h3>Urgent Care</h3><p>Same-day sick visits — call us before going to the ER.</p></div>
+    </section>
+    <footer class=foot>Niels Animal Hospital · 7278 North Milwaukee Avenue, Niles, IL, 60714 · </footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Team</h1>
+      <p style="line-height:1.7;font-size:1.1em">Board-certified veterinarians, Fear Free Certified® technicians, and front-desk staff who remember your pet's name. Photos + bios coming soon — call us at  for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/oakland-animal-services-ca-ca-7374/contact.html b/public/sites/oakland-animal-services-ca-ca-7374/contact.html
new file mode 100644
index 0000000..60425c7
--- /dev/null
+++ b/public/sites/oakland-animal-services-ca-ca-7374/contact.html
@@ -0,0 +1,57 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+  --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">shelter</small>
+        <h1>Oakland Animal Services</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1101 29th Avenue, CA · +1-510-535-5602</p>
+      </section>
+    </main><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Contact</h1>
+      <p style="line-height:1.7;font-size:1.1em"><strong>Oakland Animal Services</strong><br>
+      1101 29th Avenue, CA<br>
+      <a href="tel:+1-510-535-5602">+1-510-535-5602</a><br>
+      
+      <a href="http://www.oaklandanimalservices.org/" target="_blank" rel="noopener">http://www.oaklandanimalservices.org/</a><br>
+      </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/oakland-animal-services-ca-ca-7374/index.html b/public/sites/oakland-animal-services-ca-ca-7374/index.html
new file mode 100644
index 0000000..dc71157
--- /dev/null
+++ b/public/sites/oakland-animal-services-ca-ca-7374/index.html
@@ -0,0 +1,51 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+  --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">shelter</small>
+        <h1>Oakland Animal Services</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1101 29th Avenue, CA · +1-510-535-5602</p>
+      </section>
+    </main></body></html>
\ No newline at end of file
diff --git a/public/sites/oakland-animal-services-ca-ca-7374/services.html b/public/sites/oakland-animal-services-ca-ca-7374/services.html
new file mode 100644
index 0000000..5a8883c
--- /dev/null
+++ b/public/sites/oakland-animal-services-ca-ca-7374/services.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+  --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">shelter</small>
+        <h1>Oakland Animal Services</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1101 29th Avenue, CA · +1-510-535-5602</p>
+      </section>
+    </main><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Services</h1>
+      <ul style="line-height:2;font-size:1.1em">
+        <li>Annual wellness exams + vaccinations</li>
+        <li>Same-day sick visits (M-F before 11 AM)</li>
+        <li>In-house surgical suite with continuous anesthetic monitoring</li>
+        <li>Dental cleanings + extractions</li>
+        <li>Specialty referrals (cardiology, dermatology, oncology)</li>
+        <li>End-of-life consultations + in-home euthanasia</li>
+      </ul></section></body></html>
\ No newline at end of file
diff --git a/public/sites/oakland-animal-services-ca-ca-7374/team.html b/public/sites/oakland-animal-services-ca-ca-7374/team.html
new file mode 100644
index 0000000..51db5fa
--- /dev/null
+++ b/public/sites/oakland-animal-services-ca-ca-7374/team.html
@@ -0,0 +1,52 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700;900&family=Inter:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+  --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+  --h-font:'Playfair Display', serif; --b-font:'Inter', system-ui, sans-serif;
+  --btn-r:8px; --card-r:10px; --card-shadow:0 12px 30px rgba(0,0,0,.10);
+  --divider:solid 1px var(--rule);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .split{display:grid;grid-template-columns:1fr 1fr;min-height:100vh}
+    .split-left{padding:5em 4em;background:var(--accent);color:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-right{padding:5em 4em;background:var(--paper);display:flex;flex-direction:column;justify-content:center}
+    .split-left h1{font-size:3.6em;font-weight:900;letter-spacing:-.03em;line-height:1}
+    .split-left p{opacity:.85;font-size:1.15em;margin:1em 0 2em;max-width:480px}
+    .split-right h2{font-size:1.8em;margin-bottom:1em}
+    .svc{padding:1em 0;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}
+    .svc:last-child{border:0}
+    .svc strong{color:var(--ink)}
+    .svc small{color:var(--muted)}
+    .svc a{color:var(--accent);font-weight:600}
+</style></head><body>
+    <main class=split>
+      <section class=split-left>
+        <small style="opacity:.7;letter-spacing:.15em;text-transform:uppercase;font-weight:700">shelter</small>
+        <h1>Oakland Animal Services</h1>
+        <p>Modern veterinary medicine. Honest prices. Real people who remember your pet's name.</p>
+        <div><a class=btn-2 href=#book>Book online</a></div>
+      </section>
+      <section class=split-right>
+        <h2>What we do</h2>
+        <div class=svc><div><strong>Annual wellness</strong><br><small>Includes vaccines + parasite prevention</small></div><a href=#>$95</a></div>
+        <div class=svc><div><strong>Sick visit</strong><br><small>Same-day when we can fit you</small></div><a href=#>$110</a></div>
+        <div class=svc><div><strong>Dental cleaning</strong><br><small>Includes anesthesia + monitoring</small></div><a href=#>From $450</a></div>
+        <div class=svc><div><strong>Spay/Neuter</strong><br><small>Cats and dogs both</small></div><a href=#>From $225</a></div>
+        <hr class=divider>
+        <p class=muted>1101 29th Avenue, CA · +1-510-535-5602</p>
+      </section>
+    </main><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Team</h1>
+      <p style="line-height:1.7;font-size:1.1em">Board-certified veterinarians, Fear Free Certified® technicians, and front-desk staff who remember your pet's name. Photos + bios coming soon — call us at +1-510-535-5602 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/riser-animal-hospital-skokie-il-6080/contact.html b/public/sites/riser-animal-hospital-skokie-il-6080/contact.html
new file mode 100644
index 0000000..21c2f69
--- /dev/null
+++ b/public/sites/riser-animal-hospital-skokie-il-6080/contact.html
@@ -0,0 +1,65 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+  --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Riser Animal Hospital</h1>
+        <span class=date>vet clinic · Skokie, IL</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Skokie families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>5335 West Touhy Avenue, Skokie, IL, 60077 · </p></footer>
+    </div><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Contact</h1>
+      <p style="line-height:1.7;font-size:1.1em"><strong>Riser Animal Hospital</strong><br>
+      5335 West Touhy Avenue, Skokie, IL, 60077<br>
+      
+      <a href="mailto:info@riserah.com">info@riserah.com</a><br>
+      <a href="https://www.riserah.com/" target="_blank" rel="noopener">https://www.riserah.com/</a><br>
+      </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/riser-animal-hospital-skokie-il-6080/index.html b/public/sites/riser-animal-hospital-skokie-il-6080/index.html
new file mode 100644
index 0000000..241099d
--- /dev/null
+++ b/public/sites/riser-animal-hospital-skokie-il-6080/index.html
@@ -0,0 +1,59 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+  --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Riser Animal Hospital</h1>
+        <span class=date>vet clinic · Skokie, IL</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Skokie families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>5335 West Touhy Avenue, Skokie, IL, 60077 · </p></footer>
+    </div></body></html>
\ No newline at end of file
diff --git a/public/sites/riser-animal-hospital-skokie-il-6080/services.html b/public/sites/riser-animal-hospital-skokie-il-6080/services.html
new file mode 100644
index 0000000..9c50081
--- /dev/null
+++ b/public/sites/riser-animal-hospital-skokie-il-6080/services.html
@@ -0,0 +1,67 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+  --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Riser Animal Hospital</h1>
+        <span class=date>vet clinic · Skokie, IL</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Skokie families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>5335 West Touhy Avenue, Skokie, IL, 60077 · </p></footer>
+    </div><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Services</h1>
+      <ul style="line-height:2;font-size:1.1em">
+        <li>Annual wellness exams + vaccinations</li>
+        <li>Same-day sick visits (M-F before 11 AM)</li>
+        <li>In-house surgical suite with continuous anesthetic monitoring</li>
+        <li>Dental cleanings + extractions</li>
+        <li>Specialty referrals (cardiology, dermatology, oncology)</li>
+        <li>End-of-life consultations + in-home euthanasia</li>
+      </ul></section></body></html>
\ No newline at end of file
diff --git a/public/sites/riser-animal-hospital-skokie-il-6080/team.html b/public/sites/riser-animal-hospital-skokie-il-6080/team.html
new file mode 100644
index 0000000..159a15c
--- /dev/null
+++ b/public/sites/riser-animal-hospital-skokie-il-6080/team.html
@@ -0,0 +1,60 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;700;900&family=Karla:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+  --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+  --h-font:'EB Garamond', serif; --b-font:'Karla', system-ui, sans-serif;
+  --btn-r:4px; --card-r:4px; --card-shadow:0 2px 4px rgba(0,0,0,.04);
+  --divider:solid 1px var(--accent);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .pagewrap{max-width:1100px;margin:0 auto;padding:3em 3em}
+    .masthead{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);padding:1em 0;display:flex;justify-content:space-between;align-items:baseline}
+    .masthead h1{font-size:2.4em;margin:0;font-weight:900;letter-spacing:-.03em}
+    .masthead .date{color:var(--muted);font-size:.9em;letter-spacing:.1em;text-transform:uppercase}
+    .feature{display:grid;grid-template-columns:2fr 1fr;gap:3em;padding:3em 0;border-bottom:1px solid var(--rule)}
+    .feature h2{font-size:3.2em;line-height:1.05;font-weight:700;margin:0 0 .4em}
+    .feature .lead{font-size:1.2em;color:var(--ink);line-height:1.6}
+    .feature aside{border-left:3px solid var(--accent);padding-left:1.5em}
+    .feature aside h4{margin:0 0 .4em;font-size:1.1em;text-transform:uppercase;letter-spacing:.1em;color:var(--accent)}
+    .feature aside p{color:var(--muted);font-size:.95em;line-height:1.55}
+    .three{display:grid;grid-template-columns:repeat(3,1fr);gap:2em;padding:3em 0}
+    .three h3{font-family:var(--h-font);font-size:1.5em;border-top:2px solid var(--accent);padding-top:.6em}
+</style></head><body>
+    <div class=pagewrap>
+      <header class=masthead>
+        <h1>Riser Animal Hospital</h1>
+        <span class=date>vet clinic · Skokie, IL</span>
+      </header>
+      <article class=feature>
+        <div>
+          <h2>The kind of veterinary care your grandparents trusted — with the technology your pet deserves now.</h2>
+          <p class=lead>For three decades, we've been the family practice Skokie families call when something matters. Walk-in welcomes, transparent pricing, and a waiting room that doesn't feel like one.</p>
+          <p><a class=btn href=#book>Book a visit →</a></p>
+        </div>
+        <aside>
+          <h4>What's new</h4>
+          <p><strong>Online booking is live.</strong> Pick your day, your doctor, and the time that fits — no phone tag.</p>
+          <p><strong>Senior pet program.</strong> Quarterly visits + bloodwork for pets 8+, $35/mo.</p>
+        </aside>
+      </article>
+      <section class=three>
+        <div><h3>General Practice</h3><p>Annual wellness visits, vaccines, parasite prevention, nutrition counseling.</p></div>
+        <div><h3>Surgery & Dental</h3><p>In-house surgical suite with anesthetic monitoring. Same-day discharge for most.</p></div>
+        <div><h3>Urgent Sick Care</h3><p>Same-day appointments most weekdays. Call before 11 AM, visit before 5.</p></div>
+      </section>
+      <footer><p class=muted>5335 West Touhy Avenue, Skokie, IL, 60077 · </p></footer>
+    </div><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Team</h1>
+      <p style="line-height:1.7;font-size:1.1em">Board-certified veterinarians, Fear Free Certified® technicians, and front-desk staff who remember your pet's name. Photos + bios coming soon — call us at  for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/the-pet-pro-champaign-il-6086/contact.html b/public/sites/the-pet-pro-champaign-il-6086/contact.html
new file mode 100644
index 0000000..57effbe
--- /dev/null
+++ b/public/sites/the-pet-pro-champaign-il-6086/contact.html
@@ -0,0 +1,55 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .fam-hero{padding:5em 4em;background:var(--paper);max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4em;align-items:center}
+    .fam-hero h1{font-size:3.2em;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .fam-hero .lead{font-size:1.2em;color:var(--ink);line-height:1.6;max-width:480px}
+    .fam-hero .stats{margin-top:1.5em;display:flex;gap:2em}
+    .fam-hero .stats div strong{display:block;font-size:1.8em;color:var(--accent);font-family:var(--h-font);font-weight:900}
+    .fam-hero .stats div span{font-size:.85em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
+    .fam-hero .photo{aspect-ratio:1/1;background:var(--rule);border-radius:var(--card-r);background-image:radial-gradient(circle at 50% 30%, #a85e2c 0%, #dfd5c3 70%)}
+    .fam-strip{background:var(--accent);color:var(--paper);padding:3em 4em;text-align:center}
+    .fam-strip h2{font-size:2em;color:var(--paper);margin:0 0 .3em}
+    .fam-strip p{opacity:.9;max-width:600px;margin:0 auto 1.5em}
+</style></head><body>
+    <section class=fam-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic</small>
+        <h1>The Pet Pro</h1>
+        <p class=lead>The veterinary practice Champaign families have trusted for three generations. We were here when your dog was a puppy. We'll be here when she's grey.</p>
+        <div class=stats><div><strong>34 yrs</strong><span>in practice</span></div><div><strong>4</strong><span>generations served</span></div><div><strong>★ 4.9</strong><span>from 800+</span></div></div>
+        <p style="margin-top:2em"><a class=btn href=#book>Book a visit</a> <a class=btn-ghost href=#about>Meet our team</a></p>
+      </div>
+      <div class=photo></div>
+    </section>
+    <section class=fam-strip>
+      <h2>Same-week appointments, every week.</h2>
+      <p>Most clients book within 3 days. Emergency? Call us — we take same-day sick visits Monday-Friday.</p>
+      <a class=btn-2 href=#book>See this week's openings →</a>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">1815 West Kirby Avenue, Champaign, IL, 61821 · </footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Contact</h1>
+      <p style="line-height:1.7;font-size:1.1em"><strong>The Pet Pro</strong><br>
+      1815 West Kirby Avenue, Champaign, IL, 61821<br>
+      
+      <a href="mailto:petprovet@gmail.com">petprovet@gmail.com</a><br>
+      <a href="https://www.petpro.biz/" target="_blank" rel="noopener">https://www.petpro.biz/</a><br>
+      </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/the-pet-pro-champaign-il-6086/index.html b/public/sites/the-pet-pro-champaign-il-6086/index.html
new file mode 100644
index 0000000..c342dd6
--- /dev/null
+++ b/public/sites/the-pet-pro-champaign-il-6086/index.html
@@ -0,0 +1,49 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .fam-hero{padding:5em 4em;background:var(--paper);max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4em;align-items:center}
+    .fam-hero h1{font-size:3.2em;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .fam-hero .lead{font-size:1.2em;color:var(--ink);line-height:1.6;max-width:480px}
+    .fam-hero .stats{margin-top:1.5em;display:flex;gap:2em}
+    .fam-hero .stats div strong{display:block;font-size:1.8em;color:var(--accent);font-family:var(--h-font);font-weight:900}
+    .fam-hero .stats div span{font-size:.85em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
+    .fam-hero .photo{aspect-ratio:1/1;background:var(--rule);border-radius:var(--card-r);background-image:radial-gradient(circle at 50% 30%, #a85e2c 0%, #dfd5c3 70%)}
+    .fam-strip{background:var(--accent);color:var(--paper);padding:3em 4em;text-align:center}
+    .fam-strip h2{font-size:2em;color:var(--paper);margin:0 0 .3em}
+    .fam-strip p{opacity:.9;max-width:600px;margin:0 auto 1.5em}
+</style></head><body>
+    <section class=fam-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic</small>
+        <h1>The Pet Pro</h1>
+        <p class=lead>The veterinary practice Champaign families have trusted for three generations. We were here when your dog was a puppy. We'll be here when she's grey.</p>
+        <div class=stats><div><strong>34 yrs</strong><span>in practice</span></div><div><strong>4</strong><span>generations served</span></div><div><strong>★ 4.9</strong><span>from 800+</span></div></div>
+        <p style="margin-top:2em"><a class=btn href=#book>Book a visit</a> <a class=btn-ghost href=#about>Meet our team</a></p>
+      </div>
+      <div class=photo></div>
+    </section>
+    <section class=fam-strip>
+      <h2>Same-week appointments, every week.</h2>
+      <p>Most clients book within 3 days. Emergency? Call us — we take same-day sick visits Monday-Friday.</p>
+      <a class=btn-2 href=#book>See this week's openings →</a>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">1815 West Kirby Avenue, Champaign, IL, 61821 · </footer></body></html>
\ No newline at end of file
diff --git a/public/sites/the-pet-pro-champaign-il-6086/services.html b/public/sites/the-pet-pro-champaign-il-6086/services.html
new file mode 100644
index 0000000..9ff7527
--- /dev/null
+++ b/public/sites/the-pet-pro-champaign-il-6086/services.html
@@ -0,0 +1,57 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .fam-hero{padding:5em 4em;background:var(--paper);max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4em;align-items:center}
+    .fam-hero h1{font-size:3.2em;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .fam-hero .lead{font-size:1.2em;color:var(--ink);line-height:1.6;max-width:480px}
+    .fam-hero .stats{margin-top:1.5em;display:flex;gap:2em}
+    .fam-hero .stats div strong{display:block;font-size:1.8em;color:var(--accent);font-family:var(--h-font);font-weight:900}
+    .fam-hero .stats div span{font-size:.85em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
+    .fam-hero .photo{aspect-ratio:1/1;background:var(--rule);border-radius:var(--card-r);background-image:radial-gradient(circle at 50% 30%, #a85e2c 0%, #dfd5c3 70%)}
+    .fam-strip{background:var(--accent);color:var(--paper);padding:3em 4em;text-align:center}
+    .fam-strip h2{font-size:2em;color:var(--paper);margin:0 0 .3em}
+    .fam-strip p{opacity:.9;max-width:600px;margin:0 auto 1.5em}
+</style></head><body>
+    <section class=fam-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic</small>
+        <h1>The Pet Pro</h1>
+        <p class=lead>The veterinary practice Champaign families have trusted for three generations. We were here when your dog was a puppy. We'll be here when she's grey.</p>
+        <div class=stats><div><strong>34 yrs</strong><span>in practice</span></div><div><strong>4</strong><span>generations served</span></div><div><strong>★ 4.9</strong><span>from 800+</span></div></div>
+        <p style="margin-top:2em"><a class=btn href=#book>Book a visit</a> <a class=btn-ghost href=#about>Meet our team</a></p>
+      </div>
+      <div class=photo></div>
+    </section>
+    <section class=fam-strip>
+      <h2>Same-week appointments, every week.</h2>
+      <p>Most clients book within 3 days. Emergency? Call us — we take same-day sick visits Monday-Friday.</p>
+      <a class=btn-2 href=#book>See this week's openings →</a>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">1815 West Kirby Avenue, Champaign, IL, 61821 · </footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Services</h1>
+      <ul style="line-height:2;font-size:1.1em">
+        <li>Annual wellness exams + vaccinations</li>
+        <li>Same-day sick visits (M-F before 11 AM)</li>
+        <li>In-house surgical suite with continuous anesthetic monitoring</li>
+        <li>Dental cleanings + extractions</li>
+        <li>Specialty referrals (cardiology, dermatology, oncology)</li>
+        <li>End-of-life consultations + in-home euthanasia</li>
+      </ul></section></body></html>
\ No newline at end of file
diff --git a/public/sites/the-pet-pro-champaign-il-6086/team.html b/public/sites/the-pet-pro-champaign-il-6086/team.html
new file mode 100644
index 0000000..660fa2e
--- /dev/null
+++ b/public/sites/the-pet-pro-champaign-il-6086/team.html
@@ -0,0 +1,50 @@
+<!doctype html><html><head><meta charset=utf-8>
+<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;700;900&family=Manrope:wght@400;500;600;700&display=swap">
+<style>
+:root{
+  --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+  --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+  --h-font:'Manrope', serif; --b-font:'Manrope', system-ui, sans-serif;
+  --btn-r:4px; --card-r:6px; --card-shadow:2px 2px 0 var(--ink);
+  --divider:solid 1px var(--ink);
+}
+*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--b-font);font-size:16px;line-height:1.55}
+h1,h2,h3,h4{font-family:var(--h-font);margin:0 0 .4em;letter-spacing:-.01em}
+a{color:var(--accent);text-decoration:none}
+.btn{display:inline-block;background:var(--accent);color:var(--paper);padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-2{display:inline-block;background:var(--accent2);color:#fff;padding:.85em 1.6em;border-radius:var(--btn-r);font-weight:700;text-decoration:none}
+.btn-ghost{display:inline-block;border:1.5px solid var(--ink);color:var(--ink);padding:.8em 1.5em;border-radius:var(--btn-r);font-weight:600;text-decoration:none}
+.card{background:#fff;border-radius:var(--card-r);box-shadow:var(--card-shadow);padding:1.5em}
+.divider{border:0;border-top:var(--divider);margin:2em 0}
+.muted{color:var(--muted)}
+
+    .fam-hero{padding:5em 4em;background:var(--paper);max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:4em;align-items:center}
+    .fam-hero h1{font-size:3.2em;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:0 0 .5em}
+    .fam-hero .lead{font-size:1.2em;color:var(--ink);line-height:1.6;max-width:480px}
+    .fam-hero .stats{margin-top:1.5em;display:flex;gap:2em}
+    .fam-hero .stats div strong{display:block;font-size:1.8em;color:var(--accent);font-family:var(--h-font);font-weight:900}
+    .fam-hero .stats div span{font-size:.85em;color:var(--muted);text-transform:uppercase;letter-spacing:.1em}
+    .fam-hero .photo{aspect-ratio:1/1;background:var(--rule);border-radius:var(--card-r);background-image:radial-gradient(circle at 50% 30%, #a85e2c 0%, #dfd5c3 70%)}
+    .fam-strip{background:var(--accent);color:var(--paper);padding:3em 4em;text-align:center}
+    .fam-strip h2{font-size:2em;color:var(--paper);margin:0 0 .3em}
+    .fam-strip p{opacity:.9;max-width:600px;margin:0 auto 1.5em}
+</style></head><body>
+    <section class=fam-hero>
+      <div>
+        <small style="text-transform:uppercase;letter-spacing:.15em;color:var(--accent2);font-weight:700">vet clinic</small>
+        <h1>The Pet Pro</h1>
+        <p class=lead>The veterinary practice Champaign families have trusted for three generations. We were here when your dog was a puppy. We'll be here when she's grey.</p>
+        <div class=stats><div><strong>34 yrs</strong><span>in practice</span></div><div><strong>4</strong><span>generations served</span></div><div><strong>★ 4.9</strong><span>from 800+</span></div></div>
+        <p style="margin-top:2em"><a class=btn href=#book>Book a visit</a> <a class=btn-ghost href=#about>Meet our team</a></p>
+      </div>
+      <div class=photo></div>
+    </section>
+    <section class=fam-strip>
+      <h2>Same-week appointments, every week.</h2>
+      <p>Most clients book within 3 days. Emergency? Call us — we take same-day sick visits Monday-Friday.</p>
+      <a class=btn-2 href=#book>See this week's openings →</a>
+    </section>
+    <footer style="padding:2em 4em;text-align:center;color:var(--muted)">1815 West Kirby Avenue, Champaign, IL, 61821 · </footer><section style="padding:4em 3em;max-width:900px;margin:0 auto"><h1>Our Team</h1>
+      <p style="line-height:1.7;font-size:1.1em">Board-certified veterinarians, Fear Free Certified® technicians, and front-desk staff who remember your pet's name. Photos + bios coming soon — call us at  for an introduction.</p></section></body></html>
\ No newline at end of file

← cee28f8 yolo: iter 1 trivial patches from claude-codex debate  ·  back to Animals  ·  yolo: iter 3 trivial patches from claude-codex debate 14cfcfd →