← back to Animals
yolo: iter 3 trivial patches from claude-codex debate
c0c23282a5765ffe0490f78d48ac1bd1d78fe20e · 2026-05-04 05:24:59 -0700 · yolo
Files touched
A logs/weekly-2026-W19/after.tsvA logs/weekly-2026-W19/before.tsvA logs/weekly-2026-W19/digest.htmlA logs/weekly-2026-W19/digest.txtA logs/weekly-2026-W19/emails.logA logs/weekly-2026-W19/george.logA logs/weekly-2026-W19/osm.logA logs/weekly-2026-W19/reddit.logA public/mockups/biz-15427-a.htmlA public/mockups/biz-15427-b.htmlA public/mockups/biz-15427-c.htmlA public/mockups/biz-15436-a.htmlA public/mockups/biz-15436-b.htmlA public/mockups/biz-15436-c.htmlA public/mockups/biz-15495-a.htmlA public/mockups/biz-15495-b.htmlA public/mockups/biz-15495-c.htmlA public/mockups/biz-15516-a.htmlA public/mockups/biz-15516-b.htmlA public/mockups/biz-15516-c.htmlA public/mockups/biz-15531-a.htmlA public/mockups/biz-15531-b.htmlA public/mockups/biz-15531-c.htmlA public/mockups/biz-15537-a.htmlA public/mockups/biz-15537-b.htmlA public/mockups/biz-15537-c.htmlA public/mockups/biz-15558-a.htmlA public/mockups/biz-15558-b.htmlA public/mockups/biz-15558-c.htmlA public/mockups/biz-15562-a.htmlA public/mockups/biz-15562-b.htmlA public/mockups/biz-15562-c.htmlA public/mockups/biz-15582-a.htmlA public/mockups/biz-15582-b.htmlA public/mockups/biz-15582-c.htmlA public/mockups/biz-15584-a.htmlA public/mockups/biz-15584-b.htmlA public/mockups/biz-15584-c.htmlA public/mockups/biz-15587-a.htmlA public/mockups/biz-15587-b.htmlA public/mockups/biz-15587-c.htmlA public/mockups/biz-15588-a.htmlA public/mockups/biz-15588-b.htmlA public/mockups/biz-15588-c.htmlA public/mockups/biz-15589-a.htmlA public/mockups/biz-15589-b.htmlA public/mockups/biz-15589-c.htmlA public/mockups/biz-15596-a.htmlA public/mockups/biz-15596-b.htmlA public/mockups/biz-15596-c.htmlA public/mockups/biz-15611-a.htmlA public/mockups/biz-15611-b.htmlA public/mockups/biz-15611-c.htmlA public/mockups/biz-15629-a.htmlA public/mockups/biz-15629-b.htmlA public/mockups/biz-15629-c.htmlA public/mockups/biz-15630-a.htmlA public/mockups/biz-15630-b.htmlA public/mockups/biz-15630-c.htmlA public/mockups/biz-15633-a.htmlA public/mockups/biz-15633-b.htmlA public/mockups/biz-15633-c.htmlA public/mockups/biz-15634-a.htmlA public/mockups/biz-15634-b.htmlA public/mockups/biz-15634-c.htmlA public/mockups/biz-15638-a.htmlA public/mockups/biz-15638-b.htmlA public/mockups/biz-15638-c.htmlA public/mockups/biz-15643-a.htmlA public/mockups/biz-15643-b.htmlA public/mockups/biz-15643-c.htmlA public/mockups/biz-15647-a.htmlA public/mockups/biz-15647-b.htmlA public/mockups/biz-15647-c.htmlA public/mockups/biz-15656-a.htmlA public/mockups/biz-15656-b.htmlA public/mockups/biz-15656-c.htmlA public/mockups/biz-15667-a.htmlA public/mockups/biz-15667-b.htmlA public/mockups/biz-15667-c.htmlA public/mockups/biz-15672-a.htmlA public/mockups/biz-15672-b.htmlA public/mockups/biz-15672-c.htmlA public/mockups/biz-15675-a.htmlA public/mockups/biz-15675-b.htmlA public/mockups/biz-15675-c.htmlA public/mockups/biz-15695-a.htmlA public/mockups/biz-15695-b.htmlA public/mockups/biz-15695-c.htmlA public/mockups/biz-15702-a.htmlA public/mockups/biz-15702-b.htmlA public/mockups/biz-15702-c.htmlA public/mockups/biz-15703-a.htmlA public/mockups/biz-15703-b.htmlA public/mockups/biz-15703-c.htmlA public/mockups/biz-15704-a.htmlA public/mockups/biz-15704-b.htmlA public/mockups/biz-15704-c.htmlA public/mockups/biz-15707-a.htmlA public/mockups/biz-15707-b.htmlA public/mockups/biz-15707-c.htmlA public/mockups/biz-15708-a.htmlA public/mockups/biz-15708-b.htmlA public/mockups/biz-15708-c.htmlA public/mockups/biz-15723-a.htmlA public/mockups/biz-15723-b.htmlA public/mockups/biz-15723-c.htmlA public/mockups/biz-15739-a.htmlA public/mockups/biz-15739-b.htmlA public/mockups/biz-15739-c.htmlA public/mockups/biz-15742-a.htmlA public/mockups/biz-15742-b.htmlA public/mockups/biz-15742-c.htmlA public/mockups/biz-15746-a.htmlA public/mockups/biz-15746-b.htmlA public/mockups/biz-15746-c.htmlA public/mockups/biz-15748-a.htmlA public/mockups/biz-15748-b.htmlA public/mockups/biz-15748-c.htmlA public/mockups/biz-15774-a.htmlA public/mockups/biz-15774-b.htmlA public/mockups/biz-15774-c.htmlA public/sites/creme-do-la-creme-algonquin-il-5552/contact.htmlA public/sites/creme-do-la-creme-algonquin-il-5552/index.htmlA public/sites/creme-do-la-creme-algonquin-il-5552/services.htmlA public/sites/creme-do-la-creme-algonquin-il-5552/team.htmlA public/sites/earthwise-pet-naperville-il-5565/contact.htmlA public/sites/earthwise-pet-naperville-il-5565/index.htmlA public/sites/earthwise-pet-naperville-il-5565/services.htmlA public/sites/earthwise-pet-naperville-il-5565/team.htmlA public/sites/lake-forest-animal-clinic-lake-forest-il-5545/contact.htmlA public/sites/lake-forest-animal-clinic-lake-forest-il-5545/index.htmlA public/sites/lake-forest-animal-clinic-lake-forest-il-5545/services.htmlA public/sites/lake-forest-animal-clinic-lake-forest-il-5545/team.htmlA public/sites/pet-supplies-plus-berwyn-il-5538/contact.htmlA public/sites/pet-supplies-plus-berwyn-il-5538/index.htmlA public/sites/pet-supplies-plus-berwyn-il-5538/services.htmlA public/sites/pet-supplies-plus-berwyn-il-5538/team.htmlA public/sites/pet-supplies-plus-deerfield-il-5544/contact.htmlA public/sites/pet-supplies-plus-deerfield-il-5544/index.htmlA public/sites/pet-supplies-plus-deerfield-il-5544/services.htmlA public/sites/pet-supplies-plus-deerfield-il-5544/team.htmlA public/sites/pet-supplies-plus-merrionette-park-il-5537/contact.htmlA public/sites/pet-supplies-plus-merrionette-park-il-5537/index.htmlA public/sites/pet-supplies-plus-merrionette-park-il-5537/services.htmlA public/sites/pet-supplies-plus-merrionette-park-il-5537/team.htmlA public/sites/prairiehaven-animal-hospital-sherman-il-5536/contact.htmlA public/sites/prairiehaven-animal-hospital-sherman-il-5536/index.htmlA public/sites/prairiehaven-animal-hospital-sherman-il-5536/services.htmlA public/sites/prairiehaven-animal-hospital-sherman-il-5536/team.htmlA public/sites/the-vet-net-animal-clinic-naperville-il-5557/contact.htmlA public/sites/the-vet-net-animal-clinic-naperville-il-5557/index.htmlA public/sites/the-vet-net-animal-clinic-naperville-il-5557/services.htmlA public/sites/the-vet-net-animal-clinic-naperville-il-5557/team.htmlA public/sites/urban-mutt-il-il-5598/contact.htmlA public/sites/urban-mutt-il-il-5598/index.htmlA public/sites/urban-mutt-il-il-5598/services.htmlA public/sites/urban-mutt-il-il-5598/team.htmlA public/sites/wild-birds-unlimited-springfield-il-5615/contact.htmlA public/sites/wild-birds-unlimited-springfield-il-5615/index.htmlA public/sites/wild-birds-unlimited-springfield-il-5615/services.htmlA public/sites/wild-birds-unlimited-springfield-il-5615/team.html
Diff
commit c0c23282a5765ffe0490f78d48ac1bd1d78fe20e
Author: yolo <yolo@local>
Date: Mon May 4 05:24:59 2026 -0700
yolo: iter 3 trivial patches from claude-codex debate
---
logs/weekly-2026-W19/after.tsv | 1 +
logs/weekly-2026-W19/before.tsv | 1 +
logs/weekly-2026-W19/digest.html | 8 +
logs/weekly-2026-W19/digest.txt | 8 +
logs/weekly-2026-W19/emails.log | 256 +++++++++++++++++++++
logs/weekly-2026-W19/george.log | 1 +
logs/weekly-2026-W19/osm.log | 17 ++
logs/weekly-2026-W19/reddit.log | 50 ++++
public/mockups/biz-15427-a.html | 49 ++++
public/mockups/biz-15427-b.html | 45 ++++
public/mockups/biz-15427-c.html | 42 ++++
public/mockups/biz-15436-a.html | 51 ++++
public/mockups/biz-15436-b.html | 49 ++++
public/mockups/biz-15436-c.html | 39 ++++
public/mockups/biz-15495-a.html | 56 +++++
public/mockups/biz-15495-b.html | 60 +++++
public/mockups/biz-15495-c.html | 44 ++++
public/mockups/biz-15516-a.html | 51 ++++
public/mockups/biz-15516-b.html | 45 ++++
public/mockups/biz-15516-c.html | 49 ++++
public/mockups/biz-15531-a.html | 49 ++++
public/mockups/biz-15531-b.html | 49 ++++
public/mockups/biz-15531-c.html | 39 ++++
public/mockups/biz-15537-a.html | 50 ++++
public/mockups/biz-15537-b.html | 49 ++++
public/mockups/biz-15537-c.html | 44 ++++
public/mockups/biz-15558-a.html | 44 ++++
public/mockups/biz-15558-b.html | 50 ++++
public/mockups/biz-15558-c.html | 51 ++++
public/mockups/biz-15562-a.html | 63 +++++
public/mockups/biz-15562-b.html | 59 +++++
public/mockups/biz-15562-c.html | 50 ++++
public/mockups/biz-15582-a.html | 51 ++++
public/mockups/biz-15582-b.html | 49 ++++
public/mockups/biz-15582-c.html | 51 ++++
public/mockups/biz-15584-a.html | 20 ++
public/mockups/biz-15584-b.html | 32 +++
public/mockups/biz-15584-c.html | 23 ++
public/mockups/biz-15587-a.html | 32 +++
public/mockups/biz-15587-b.html | 26 +++
public/mockups/biz-15587-c.html | 40 ++++
public/mockups/biz-15588-a.html | 40 ++++
public/mockups/biz-15588-b.html | 36 +++
public/mockups/biz-15588-c.html | 27 +++
public/mockups/biz-15589-a.html | 59 +++++
public/mockups/biz-15589-b.html | 60 +++++
public/mockups/biz-15589-c.html | 63 +++++
public/mockups/biz-15596-a.html | 36 +++
public/mockups/biz-15596-b.html | 33 +++
public/mockups/biz-15596-c.html | 23 ++
public/mockups/biz-15611-a.html | 27 +++
public/mockups/biz-15611-b.html | 23 ++
public/mockups/biz-15611-c.html | 26 +++
public/mockups/biz-15629-a.html | 51 ++++
public/mockups/biz-15629-b.html | 63 +++++
public/mockups/biz-15629-c.html | 49 ++++
public/mockups/biz-15630-a.html | 56 +++++
public/mockups/biz-15630-b.html | 45 ++++
public/mockups/biz-15630-c.html | 51 ++++
public/mockups/biz-15633-a.html | 49 ++++
public/mockups/biz-15633-b.html | 59 +++++
public/mockups/biz-15633-c.html | 42 ++++
public/mockups/biz-15634-a.html | 59 +++++
public/mockups/biz-15634-b.html | 56 +++++
public/mockups/biz-15634-c.html | 49 ++++
public/mockups/biz-15638-a.html | 49 ++++
public/mockups/biz-15638-b.html | 59 +++++
public/mockups/biz-15638-c.html | 51 ++++
public/mockups/biz-15643-a.html | 49 ++++
public/mockups/biz-15643-b.html | 39 ++++
public/mockups/biz-15643-c.html | 44 ++++
public/mockups/biz-15647-a.html | 65 ++++++
public/mockups/biz-15647-b.html | 56 +++++
public/mockups/biz-15647-c.html | 49 ++++
public/mockups/biz-15656-a.html | 39 ++++
public/mockups/biz-15656-b.html | 51 ++++
public/mockups/biz-15656-c.html | 45 ++++
public/mockups/biz-15667-a.html | 59 +++++
public/mockups/biz-15667-b.html | 65 ++++++
public/mockups/biz-15667-c.html | 49 ++++
public/mockups/biz-15672-a.html | 50 ++++
public/mockups/biz-15672-b.html | 49 ++++
public/mockups/biz-15672-c.html | 44 ++++
public/mockups/biz-15675-a.html | 63 +++++
public/mockups/biz-15675-b.html | 45 ++++
public/mockups/biz-15675-c.html | 56 +++++
public/mockups/biz-15695-a.html | 65 ++++++
public/mockups/biz-15695-b.html | 49 ++++
public/mockups/biz-15695-c.html | 59 +++++
public/mockups/biz-15702-a.html | 50 ++++
public/mockups/biz-15702-b.html | 42 ++++
public/mockups/biz-15702-c.html | 49 ++++
public/mockups/biz-15703-a.html | 49 ++++
public/mockups/biz-15703-b.html | 42 ++++
public/mockups/biz-15703-c.html | 45 ++++
public/mockups/biz-15704-a.html | 45 ++++
public/mockups/biz-15704-b.html | 45 ++++
public/mockups/biz-15704-c.html | 51 ++++
public/mockups/biz-15707-a.html | 45 ++++
public/mockups/biz-15707-b.html | 51 ++++
public/mockups/biz-15707-c.html | 45 ++++
public/mockups/biz-15708-a.html | 50 ++++
public/mockups/biz-15708-b.html | 51 ++++
public/mockups/biz-15708-c.html | 44 ++++
public/mockups/biz-15723-a.html | 50 ++++
public/mockups/biz-15723-b.html | 44 ++++
public/mockups/biz-15723-c.html | 42 ++++
public/mockups/biz-15739-a.html | 45 ++++
public/mockups/biz-15739-b.html | 49 ++++
public/mockups/biz-15739-c.html | 51 ++++
public/mockups/biz-15742-a.html | 49 ++++
public/mockups/biz-15742-b.html | 59 +++++
public/mockups/biz-15742-c.html | 44 ++++
public/mockups/biz-15746-a.html | 44 ++++
public/mockups/biz-15746-b.html | 60 +++++
public/mockups/biz-15746-c.html | 42 ++++
public/mockups/biz-15748-a.html | 56 +++++
public/mockups/biz-15748-b.html | 60 +++++
public/mockups/biz-15748-c.html | 63 +++++
public/mockups/biz-15774-a.html | 60 +++++
public/mockups/biz-15774-b.html | 42 ++++
public/mockups/biz-15774-c.html | 50 ++++
.../contact.html | 51 ++++
.../creme-do-la-creme-algonquin-il-5552/index.html | 45 ++++
.../services.html | 53 +++++
.../creme-do-la-creme-algonquin-il-5552/team.html | 46 ++++
.../earthwise-pet-naperville-il-5565/contact.html | 50 ++++
.../earthwise-pet-naperville-il-5565/index.html | 44 ++++
.../earthwise-pet-naperville-il-5565/services.html | 52 +++++
.../earthwise-pet-naperville-il-5565/team.html | 45 ++++
.../contact.html | 62 +++++
.../index.html | 56 +++++
.../services.html | 64 ++++++
.../team.html | 57 +++++
.../pet-supplies-plus-berwyn-il-5538/contact.html | 69 ++++++
.../pet-supplies-plus-berwyn-il-5538/index.html | 63 +++++
.../pet-supplies-plus-berwyn-il-5538/services.html | 71 ++++++
.../pet-supplies-plus-berwyn-il-5538/team.html | 64 ++++++
.../contact.html | 65 ++++++
.../pet-supplies-plus-deerfield-il-5544/index.html | 59 +++++
.../services.html | 67 ++++++
.../pet-supplies-plus-deerfield-il-5544/team.html | 60 +++++
.../contact.html | 51 ++++
.../index.html | 45 ++++
.../services.html | 53 +++++
.../team.html | 46 ++++
.../contact.html | 51 ++++
.../index.html | 45 ++++
.../services.html | 53 +++++
.../team.html | 46 ++++
.../contact.html | 55 +++++
.../index.html | 49 ++++
.../services.html | 57 +++++
.../team.html | 50 ++++
public/sites/urban-mutt-il-il-5598/contact.html | 55 +++++
public/sites/urban-mutt-il-il-5598/index.html | 49 ++++
public/sites/urban-mutt-il-il-5598/services.html | 57 +++++
public/sites/urban-mutt-il-il-5598/team.html | 50 ++++
.../contact.html | 48 ++++
.../index.html | 42 ++++
.../services.html | 50 ++++
.../team.html | 43 ++++
162 files changed, 7926 insertions(+)
diff --git a/logs/weekly-2026-W19/after.tsv b/logs/weekly-2026-W19/after.tsv
new file mode 100644
index 0000000..0fcc406
--- /dev/null
+++ b/logs/weekly-2026-W19/after.tsv
@@ -0,0 +1 @@
+after|13019|3180|11009|0
diff --git a/logs/weekly-2026-W19/before.tsv b/logs/weekly-2026-W19/before.tsv
new file mode 100644
index 0000000..9f93866
--- /dev/null
+++ b/logs/weekly-2026-W19/before.tsv
@@ -0,0 +1 @@
+before|13019|2936|10381|0
diff --git a/logs/weekly-2026-W19/digest.html b/logs/weekly-2026-W19/digest.html
new file mode 100644
index 0000000..6013cb7
--- /dev/null
+++ b/logs/weekly-2026-W19/digest.html
@@ -0,0 +1,8 @@
+
+<h2>AnimalsDirectory weekly refresh — 2026-W19</h2>
+<p>OSM rc=0, emails rc=0, reddit rc=0</p>
+<table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse">
+ <tr><th>metric</th><th>before</th><th>after</th><th>delta</th></tr>
+ <tr><td>businesses</td><td>13019</td><td>13019</td><td><strong>+0</strong></td></tr><tr><td>with_email</td><td>2936</td><td>3180</td><td><strong>+244</strong></td></tr><tr><td>email_rows</td><td>10381</td><td>11009</td><td><strong>+628</strong></td></tr><tr><td>reddit_posts</td><td>0</td><td>0</td><td><strong>+0</strong></td></tr>
+</table>
+<p>Logs: ~/Projects/animals/logs/weekly-2026-W19</p>
\ No newline at end of file
diff --git a/logs/weekly-2026-W19/digest.txt b/logs/weekly-2026-W19/digest.txt
new file mode 100644
index 0000000..5e93c29
--- /dev/null
+++ b/logs/weekly-2026-W19/digest.txt
@@ -0,0 +1,8 @@
+
+<h2>AnimalsDirectory weekly refresh — 2026-W19</h2>
+<p>OSM rc=0, emails rc=0, reddit rc=0</p>
+<table border="1" cellpadding="6" cellspacing="0" style="border-collapse:collapse">
+ <tr><th>metric</th><th>before</th><th>after</th><th>delta</th></tr>
+ <tr><td>businesses</td><td>13019</td><td>13019</td><td><strong>+0</strong></td></tr><tr><td>with_email</td><td>2936</td><td>3180</td><td><strong>+244</strong></td></tr><tr><td>email_rows</td><td>10381</td><td>11009</td><td><strong>+628</strong></td></tr><tr><td>reddit_posts</td><td>0</td><td>0</td><td><strong>+0</strong></td></tr>
+</table>
+<p>Logs: ~/Projects/animals/logs/weekly-2026-W19</p>
diff --git a/logs/weekly-2026-W19/emails.log b/logs/weekly-2026-W19/emails.log
new file mode 100644
index 0000000..9914118
--- /dev/null
+++ b/logs/weekly-2026-W19/emails.log
@@ -0,0 +1,256 @@
+[2026-05-04T11:03:34.200Z] INFO harvesting emails from 400 businesses (concurrency=8)
+[2026-05-04T11:03:36.996Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:03:39.446Z] INFO harvested Porters Neck Veterinary Hospital {"found":1,"primary":"portersneckvets@gmail.com"}
+[2026-05-04T11:03:39.804Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:03:40.015Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:03:40.280Z] INFO harvested Wilmington Animal Healthcare {"found":1,"primary":"wilmingtonanimalhealthcare@gmail.com"}
+[2026-05-04T11:03:40.419Z] INFO harvested Tanglewood Dog Park {"found":1,"primary":"forsythcountync@forsyth.cc"}
+[2026-05-04T11:03:40.974Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:03:40.989Z] INFO harvested Dogwood Veterinary Hospital and Pet Resort {"found":1,"primary":"info@dogwoodvethospital.com"}
+[2026-05-04T11:03:44.148Z] INFO harvested Karen Beasley Sea Turtle Rescue and Rehabilitation Center {"found":1,"primary":"info@seaturtlehospital.org"}
+[2026-05-04T11:03:46.389Z] INFO harvested Veterinary Specialty Hospital of the Carolinas {"found":1,"primary":"info.cary@bluepearlvet.com"}
+[2026-05-04T11:03:46.391Z] INFO harvested Veterinary Specialty Hospital of the Carolinas {"found":1,"primary":"info.cary@bluepearlvet.com"}
+[2026-05-04T11:03:46.661Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:03:47.715Z] INFO harvested WNC Veterinary Hospital {"found":1,"primary":"wncveterinaryhospital@gmail.com"}
+[2026-05-04T11:03:47.829Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:03:48.692Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:03:48.772Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:03:48.772Z] INFO progress 25/400 (16 emails so far)
+[2026-05-04T11:03:50.038Z] INFO harvested Animal Emergency Clinic of the High Country {"found":1,"primary":"pcchc@yourvetdoc.com"}
+[2026-05-04T11:03:50.040Z] INFO harvested Pet Care Clinic of the High Country {"found":1,"primary":"pcchc@yourvetdoc.com"}
+[2026-05-04T11:03:51.276Z] INFO harvested Arko Dog Park {"found":2,"primary":"information@wataugahumane.org"}
+[2026-05-04T11:03:51.667Z] INFO harvested Country Lane Animal Hospital {"found":1,"primary":"clahstaff@gmail.com"}
+[2026-05-04T11:03:52.213Z] INFO harvested Watauga Humane Society {"found":2,"primary":"information@wataugahumane.org"}
+[2026-05-04T11:03:53.621Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:03:56.739Z] INFO harvested Davidson Animal Hospital {"found":1,"primary":"davidsonanimalhospital114@gmail.com"}
+[2026-05-04T11:03:57.014Z] INFO harvested Surry Animal Hospital {"found":1,"primary":"frontdesk@surryanimalhospital.com"}
+[2026-05-04T11:03:57.226Z] INFO harvested Carolina Waterfowl Rescue {"found":1,"primary":"hotline@cwrescue.org"}
+[2026-05-04T11:03:58.318Z] INFO harvested Mitchell County Animal Rescue {"found":2,"primary":"info@mitchellcountyanimalrescue.org"}
+[2026-05-04T11:03:58.615Z] INFO harvested Cobb Animal Clinic {"found":2,"primary":"info@cobbanimalclinic.com"}
+[2026-05-04T11:03:58.995Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:03:59.308Z] INFO harvested Mint Hill Animal Hospital {"found":1,"primary":"minthillac@minthillanimalhospital.com"}
+[2026-05-04T11:03:59.349Z] INFO harvested Social Pet Charlotte {"found":1,"primary":"reservations@socialpethotel.com"}
+[2026-05-04T11:03:59.909Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:02.776Z] INFO progress 50/400 (35 emails so far)
+[2026-05-04T11:04:02.788Z] INFO harvested Cane River Veterinary Wellness Clinic {"found":1,"primary":"support@evetsites.com"}
+[2026-05-04T11:04:05.984Z] INFO harvested Dog Park at Dix Park {"found":3,"primary":"info@dixpark.org"}
+[2026-05-04T11:04:05.995Z] INFO harvested West Asheville Family Vet {"found":1,"primary":"hello@westashevillefamilyvet.com"}
+[2026-05-04T11:04:06.309Z] INFO harvested Hilltop Animal Hospital {"found":1,"primary":"staff@hilltopanimalhosp.com"}
+[2026-05-04T11:04:06.449Z] INFO harvested Asheville Humane Society {"found":2,"primary":"adoptions@ashevillehumane.org"}
+[2026-05-04T11:04:06.577Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:06.879Z] INFO harvested The Humane Society of Charlotte {"found":5,"primary":"info@humanecharlotte.org"}
+[2026-05-04T11:04:07.501Z] INFO harvested Animal Ark {"found":1,"primary":"arkstaff@animalarkvet.com"}
+[2026-05-04T11:04:10.472Z] INFO harvested Zoomies Adventure Pet Resort {"found":1,"primary":"zoomiesapr@gmail.com"}
+[2026-05-04T11:04:11.169Z] INFO harvested Ruff Life Dog Training Services {"found":1,"primary":"info@rufflifeavl.com"}
+[2026-05-04T11:04:11.794Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:12.035Z] INFO harvested Care-A-Lot Pet Supply {"found":1,"primary":"online@www.carealotpets.com"}
+[2026-05-04T11:04:13.705Z] INFO harvested Catawba Heights Animal Hospital {"found":1,"primary":"catawbaheightsah@gmail.com"}
+[2026-05-04T11:04:14.062Z] INFO progress 75/400 (55 emails so far)
+[2026-05-04T11:04:14.221Z] INFO harvested Skiptown {"found":1,"primary":"hello@skiptown.io"}
+[2026-05-04T11:04:14.522Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:14.533Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:14.600Z] INFO harvested Soldan's Feeds and Pet Supplies {"found":1,"primary":"goodwill@goodwillmidmichigan.org"}
+[2026-05-04T11:04:14.845Z] INFO harvested Dog Star Ranch {"found":1,"primary":"info@dogstarranch.com"}
+[2026-05-04T11:04:14.846Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:15.145Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:15.146Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:15.397Z] INFO harvested TNT Dog Center {"found":1,"primary":"tntdogcenter@hotmail.com"}
+[2026-05-04T11:04:15.649Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:15.910Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:16.437Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:16.470Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:16.706Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:17.204Z] INFO harvested Hurley Dog and Cat Hospital {"found":1,"primary":"hurleyhospital75@gmail.com"}
+[2026-05-04T11:04:18.239Z] INFO harvested Banfield Pet Hospital {"found":6,"primary":"email@emailserver.com"}
+[2026-05-04T11:04:18.685Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:18.855Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:18.855Z] INFO progress 100/400 (78 emails so far)
+[2026-05-04T11:04:19.426Z] INFO harvested Dogtopia Daycare Boarding {"found":282,"primary":"support@dogtopia.com"}
+[2026-05-04T11:04:19.992Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:20.274Z] INFO harvested Huron Pet Supply {"found":1,"primary":"hpsaamail@gmail.com"}
+[2026-05-04T11:04:20.788Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:21.340Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:21.647Z] INFO harvested Dog Zone {"found":2,"primary":"contact@mysite.com"}
+[2026-05-04T11:04:21.689Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:21.847Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:22.100Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:22.366Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:22.671Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:22.817Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:22.867Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:23.212Z] INFO harvested The Animal Care Center of Salisbury {"found":3,"primary":"reception@salisburyanimalhospital.com"}
+[2026-05-04T11:04:23.904Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:23.912Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:23.975Z] INFO harvested Caring Animal Hospital {"found":1,"primary":"info@caringanimalhospital.net"}
+[2026-05-04T11:04:23.975Z] INFO progress 125/400 (379 emails so far)
+[2026-05-04T11:04:24.214Z] INFO harvested Nucci Veterinary {"found":1,"primary":"nuccivet@hotmail.com"}
+[2026-05-04T11:04:24.490Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:24.697Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:25.807Z] INFO harvested Animal Cancer and Imaging Center {"found":2,"primary":"frontdeskcan@veterinarycancer.com"}
+[2026-05-04T11:04:26.588Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:27.277Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:27.382Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:28.789Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:28.889Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:29.803Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:30.366Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:30.460Z] INFO harvested Copper Country Veterinary Clinic {"found":1,"primary":"ccvc@pasty.net"}
+[2026-05-04T11:04:30.997Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:31.284Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:31.315Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:31.315Z] INFO progress 150/400 (395 emails so far)
+[2026-05-04T11:04:32.101Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:32.860Z] INFO harvested Town & Country Animal Hospital {"found":1,"primary":"townandcountryanimalhospitalmi@gmail.com"}
+[2026-05-04T11:04:33.788Z] INFO harvested Dixboro Veterinary Dental Clinic {"found":1,"primary":"dixborovet@gmail.com"}
+[2026-05-04T11:04:33.939Z] INFO harvested VCA Northeast Animal Hospital {"found":1,"primary":"mediarelations@vca.com"}
+[2026-05-04T11:04:34.598Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:35.414Z] INFO harvested Emergency Veterinary Hospital {"found":2,"primary":"info@emergencyvetannarbor.com"}
+[2026-05-04T11:04:35.431Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:35.467Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:35.548Z] INFO harvested Puppy Dog Nursery {"found":1,"primary":"info@puppydognursery.com"}
+[2026-05-04T11:04:35.897Z] INFO harvested Arbor Dog {"found":1,"primary":"arbordogcare@yahoo.com"}
+[2026-05-04T11:04:36.107Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:36.604Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:36.849Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:38.016Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:38.833Z] INFO harvested KL Cat Hospital {"found":1,"primary":"kalamazooch@yourvetdoc.com"}
+[2026-05-04T11:04:40.213Z] INFO harvested Eastown Veterinary Clinic {"found":1,"primary":"info@eastownvet.com"}
+[2026-05-04T11:04:40.319Z] INFO progress 175/400 (412 emails so far)
+[2026-05-04T11:04:40.611Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:40.879Z] INFO harvested Square Deal Country Store {"found":1,"primary":"general@squaredealcountrystore.com"}
+[2026-05-04T11:04:41.824Z] INFO harvested Animal Medical Center {"found":1,"primary":"amcmidlandmi@gmail.com"}
+[2026-05-04T11:04:41.832Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:42.332Z] INFO harvested Jeffrey Animal Hospital {"found":1,"primary":"jeffreyanimalhospital@gmail.com"}
+[2026-05-04T11:04:43.093Z] INFO harvested Escanaba Veterinary Clinic {"found":1,"primary":"clientservice@eskyvet.com"}
+[2026-05-04T11:04:43.264Z] INFO harvested Preuss Pets {"found":1,"primary":"info@preusspets.com"}
+[2026-05-04T11:04:43.438Z] INFO harvested Bayshore Veterinary Clinic {"found":1,"primary":"bayshorevc@gmail.com"}
+[2026-05-04T11:04:44.970Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:46.481Z] INFO harvested VCA Cherry Bend Animal Hospital {"found":1,"primary":"mediarelations@vca.com"}
+[2026-05-04T11:04:47.224Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:47.918Z] INFO harvested It's A Dogs Life Resort & Spa {"found":1,"primary":"info@itsadogslifemi.com"}
+[2026-05-04T11:04:48.417Z] INFO harvested Advanced Veterinary Medical Center {"found":1,"primary":"hello@advancedvetmedcenter.com"}
+[2026-05-04T11:04:48.543Z] INFO harvested Copper Country Humane Society {"found":1,"primary":"contactus@cchumanesociety.com"}
+[2026-05-04T11:04:49.569Z] INFO harvested Tolonen Family Pet {"found":1,"primary":"info@tolonenfamilypet.com"}
+[2026-05-04T11:04:50.274Z] INFO harvested VetSelect Animal Hospital of Novi {"found":1,"primary":"vetselectnovi@yourvetdoc.com"}
+[2026-05-04T11:04:50.275Z] INFO progress 200/400 (428 emails so far)
+[2026-05-04T11:04:51.624Z] INFO harvested Southside Animal Hospital {"found":2,"primary":"support@evetsites.com"}
+[2026-05-04T11:04:53.332Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:04:53.370Z] INFO harvested Lincoln Park Veterinary Hospital {"found":1,"primary":"lpvh@downrivervet.com"}
+[2026-05-04T11:04:53.787Z] INFO harvested Riverview Animal Hospital {"found":1,"primary":"rah18761@gmail.com"}
+[2026-05-04T11:04:54.710Z] INFO harvested Lake Lansing Road Animal Clinic {"found":1,"primary":"info@lansingvetclinic.com"}
+[2026-05-04T11:04:54.904Z] INFO harvested Lane Animal Hospital {"found":1,"primary":"clientinfo@laneanimalhosp.com"}
+[2026-05-04T11:04:55.172Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:04:56.066Z] INFO harvested Caro Veterinary Clinic {"found":1,"primary":"clinic@carovet.net"}
+[2026-05-04T11:04:56.139Z] INFO harvested Second Chance Animal Shelter {"found":1,"primary":"scasalpena@gmail.com"}
+[2026-05-04T11:04:56.771Z] INFO harvested Pioneer Park Dog Park {"found":1,"primary":"mayor@cityofutica.org"}
+[2026-05-04T11:04:57.423Z] INFO harvested Animal Medical Clinic {"found":1,"primary":"amcoc2000@live.com"}
+[2026-05-04T11:04:58.851Z] INFO harvested Animal Medical Center of Troy {"found":1,"primary":"info@amctroy.com"}
+[2026-05-04T11:04:59.994Z] INFO harvested Clarkston Veterinary Clinic {"found":1,"primary":"clarkstonvet@sbcglobal.net"}
+[2026-05-04T11:05:00.060Z] INFO progress 225/400 (442 emails so far)
+[2026-05-04T11:05:00.432Z] INFO harvested Northland Animal Hospital {"found":2,"primary":"office@northlandah.com"}
+[2026-05-04T11:05:00.788Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:00.836Z] INFO harvested Serenity Animal Hospital & Pet Resort {"found":4,"primary":"info@serenityanimalhospital.net"}
+[2026-05-04T11:05:01.515Z] INFO harvested Arbor Hills Animal Clinic {"found":2,"primary":"info@arborhillsvet.com"}
+[2026-05-04T11:05:02.211Z] INFO harvested Riverside Cat Hospital {"found":1,"primary":"support@evetsites.com"}
+[2026-05-04T11:05:02.531Z] INFO harvested Small Dog Park {"found":1,"primary":"communications@meridian.mi.us"}
+[2026-05-04T11:05:03.947Z] INFO harvested The Pack Indoor Dog Park {"found":1,"primary":"contact@thepackdogpark.com"}
+[2026-05-04T11:05:04.513Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:07.297Z] INFO harvested Sunrise Veterinary Services {"found":1,"primary":"sunriseveterinary@gmail.com"}
+[2026-05-04T11:05:07.803Z] INFO harvested Huron Veterinary Clinic {"found":1,"primary":"huron.vet.clinic@gmail.com"}
+[2026-05-04T11:05:09.756Z] INFO harvested Warren Animal Clinic {"found":1,"primary":"contact@warrenanimalclinic.com"}
+[2026-05-04T11:05:10.361Z] INFO harvested Metropolitan Veterinary Center {"found":1,"primary":"metroveterinary@gmail.com"}
+[2026-05-04T11:05:12.316Z] INFO harvested North Straits Animal Clinic {"found":1,"primary":"admin@northstraitsac.com"}
+[2026-05-04T11:05:15.642Z] INFO progress 250/400 (460 emails so far)
+[2026-05-04T11:05:15.964Z] INFO harvested West Branch Veterinary Services {"found":1,"primary":"westbranchvet@gmail.com"}
+[2026-05-04T11:05:17.292Z] INFO harvested Compassionate Veterinary Care {"found":2,"primary":"info@cvcwb.com"}
+[2026-05-04T11:05:17.369Z] INFO harvested Schultz Veterinary Clinic {"found":1,"primary":"info@schultzvetclinic.com"}
+[2026-05-04T11:05:17.415Z] INFO harvested Switzer Veterinary Clinic {"found":1,"primary":"switzervetclinic@gmail.com"}
+[2026-05-04T11:05:17.431Z] INFO harvested Sheppard Alternative Animal Care {"found":2,"primary":"info@sheppardcare.com"}
+[2026-05-04T11:05:18.665Z] INFO harvested Ithaca Dog Park {"found":2,"primary":"smoffit@ithacami.com"}
+[2026-05-04T11:05:20.017Z] INFO harvested The Pet Beastro {"found":1,"primary":"info@thepetbeastro.com"}
+[2026-05-04T11:05:20.166Z] INFO harvested Care Veterinary Services {"found":1,"primary":"support@evetsites.com"}
+[2026-05-04T11:05:20.911Z] INFO harvested Quincy Dog Park {"found":8,"primary":"info@hct.holland.mi.us"}
+[2026-05-04T11:05:21.180Z] INFO harvested Paw Paw Veterinary Clinic {"found":1,"primary":"frontdesk@pawpawvet.com"}
+[2026-05-04T11:05:21.388Z] INFO harvested North Suburban Veterinary Hospital {"found":1,"primary":"northsuburbanvethospital@gmail.com"}
+[2026-05-04T11:05:21.841Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:22.029Z] INFO harvested Briarwood Veterinary Hospital {"found":1,"primary":"briarwoodvh@yourvetdoc.com"}
+[2026-05-04T11:05:22.029Z] INFO progress 275/400 (483 emails so far)
+[2026-05-04T11:05:22.537Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:22.840Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:22.990Z] INFO harvested Michigan Animal Rescue League {"found":4,"primary":"info@marl.org"}
+[2026-05-04T11:05:22.995Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:23.876Z] INFO harvested Grand Ravines Dog Park {"found":3,"primary":"naturecenter@miottawa.org"}
+[2026-05-04T11:05:24.244Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:25.097Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:25.872Z] INFO harvested Chantilly Animal Hospital {"found":1,"primary":"info@chantillyah.com"}
+[2026-05-04T11:05:26.203Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:26.228Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:26.239Z] INFO harvested Heritage Animal Hospital {"found":1,"primary":"info@hahvet.com"}
+[2026-05-04T11:05:26.264Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:26.879Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:26.980Z] INFO harvested Companion Animal Clinic {"found":1,"primary":"info@companion-vets.com"}
+[2026-05-04T11:05:27.334Z] INFO harvested Hollin Hall Animal Hospital {"found":1,"primary":"info@myalexvet.com"}
+[2026-05-04T11:05:27.428Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:28.410Z] INFO harvested Northside Veterinary Clinic {"found":1,"primary":"communications@northsidevetclinic.com"}
+[2026-05-04T11:05:28.497Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:28.695Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:28.851Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:28.851Z] INFO progress 300/400 (508 emails so far)
+[2026-05-04T11:05:28.859Z] INFO harvested Care-A-Lot Pet Supply {"found":1,"primary":"online@www.carealotpets.com"}
+[2026-05-04T11:05:29.589Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:30.205Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:30.264Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:30.537Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:31.159Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:31.280Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:32.314Z] INFO harvested Franklin Farm Veterinary Clinic {"found":1,"primary":"ffvcinfo@gmail.com"}
+[2026-05-04T11:05:32.477Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:32.710Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:32.956Z] INFO harvested Fan Veterinary Clinic {"found":1,"primary":"frontdesk@fanvet.com"}
+[2026-05-04T11:05:33.608Z] INFO harvested Helping Hands Veterinary {"found":2,"primary":"info@helpinghandsvetva.com"}
+[2026-05-04T11:05:33.622Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:33.863Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:34.045Z] INFO harvested Small Door Veterinary {"found":1,"primary":"hi@smalldoorvet.com"}
+[2026-05-04T11:05:34.112Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:34.540Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:34.667Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:34.667Z] INFO progress 325/400 (527 emails so far)
+[2026-05-04T11:05:35.571Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:36.188Z] INFO harvested Ashburn Village Animal Hospital {"found":1,"primary":"ashburnvillageah@yourvetdoc.com"}
+[2026-05-04T11:05:36.387Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:36.707Z] INFO harvested for the love of pete! {"found":2,"primary":"info@dig-rva.com"}
+[2026-05-04T11:05:36.856Z] INFO harvested Unleashed {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:36.915Z] INFO harvested Clarendon Animal Care {"found":1,"primary":"pettravel@clarendonanimalcare.com"}
+[2026-05-04T11:05:37.033Z] INFO harvested Staples Mill Animal Hospital {"found":1,"primary":"staff@staplesmillvet.com"}
+[2026-05-04T11:05:37.282Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:37.470Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:05:38.029Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:38.747Z] INFO harvested Banfield Pet Hospital {"found":6,"primary":"email@emailserver.com"}
+[2026-05-04T11:05:39.229Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:05:39.308Z] INFO harvested Happy Hound {"found":1,"primary":"fetch@happyhoundco.com"}
+[2026-05-04T11:05:42.627Z] INFO harvested Lansdowne Animal Hospital {"found":1,"primary":"info@lansdowneanimalhospital.com"}
+[2026-05-04T11:05:47.019Z] INFO harvested Falls Church Animal Hospital {"found":1,"primary":"info@fcah-vet.com"}
+[2026-05-04T11:05:51.979Z] INFO harvested Dominion Valley Animal Hospital {"found":1,"primary":"info@dvvets.com"}
+[2026-05-04T11:05:52.828Z] INFO harvested Dog Krazy {"found":1,"primary":"cosnerscornerstaff@dogkrazy.com"}
+[2026-05-04T11:05:57.768Z] INFO progress 350/400 (550 emails so far)
+[2026-05-04T11:07:59.678Z] INFO harvested Banfield Pet Hospital {"found":6,"primary":"email@emailserver.com"}
+[2026-05-04T11:08:00.196Z] INFO harvested Banfield Pet Hospital {"found":1,"primary":"email@emailserver.com"}
+[2026-05-04T11:08:01.329Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:08:02.798Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:08:03.118Z] INFO harvested Friends of Homeless Animals {"found":1,"primary":"louisdimeglio@foha.org"}
+[2026-05-04T11:08:03.123Z] INFO progress 375/400 (560 emails so far)
+[2026-05-04T11:08:03.537Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:08:03.998Z] INFO harvested Banfield Pet Hospital {"found":6,"primary":"email@emailserver.com"}
+[2026-05-04T11:08:07.392Z] INFO harvested PetSmart {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:08:07.533Z] INFO harvested Dog Krazy {"found":1,"primary":"cosnerscornerstaff@dogkrazy.com"}
+[2026-05-04T11:08:08.194Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:08:10.590Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:08:10.997Z] INFO harvested Westmore Dog Park {"found":1,"primary":"we.care@fairfaxva.gov"}
+[2026-05-04T11:08:12.276Z] INFO harvested Richmond SPCA {"found":13,"primary":"info@richmondspca.org"}
+[2026-05-04T11:08:12.586Z] INFO harvested Acredale Animal Hospital {"found":1,"primary":"aahreception@gmail.com"}
+[2026-05-04T11:08:12.885Z] INFO harvested Banfield Pet Hospital {"found":1,"primary":"and@petsmart.com"}
+[2026-05-04T11:08:13.078Z] INFO harvested Petco {"found":1,"primary":"enroll@petco.com"}
+[2026-05-04T11:08:16.129Z] INFO harvested Kingsview Animal Hospital {"found":1,"primary":"kingsviewva@verizon.net"}
+[2026-05-04T11:08:19.546Z] INFO harvested Animal Clinic of Eagle Harbor {"found":1,"primary":"animalclinicofeagleharbor@yahoo.com"}
+[2026-05-04T11:08:19.547Z] INFO progress 400/400 (590 emails so far)
+[2026-05-04T11:08:19.548Z] INFO done — processed 400 businesses, found 590 emails
diff --git a/logs/weekly-2026-W19/george.log b/logs/weekly-2026-W19/george.log
new file mode 100644
index 0000000..9cebeca
--- /dev/null
+++ b/logs/weekly-2026-W19/george.log
@@ -0,0 +1 @@
+curl: (22) The requested URL returned error: 401
diff --git a/logs/weekly-2026-W19/osm.log b/logs/weekly-2026-W19/osm.log
new file mode 100644
index 0000000..8f5e558
--- /dev/null
+++ b/logs/weekly-2026-W19/osm.log
@@ -0,0 +1,17 @@
+[2026-05-04T11:02:48.050Z] INFO querying https://overpass-api.de/api/interpreter
+[2026-05-04T11:03:32.258Z] INFO got 2916 elements from https://overpass-api.de/api/interpreter
+[2026-05-04T11:03:33.996Z] INFO OSM CA ingest done: 0 new, 839 skipped, raw saved → /Users/stevestudio2/Projects/animals/raw_html/osm-california-2026-05-04.json
+
+California inventory:
+ vet_clinic 807
+ pet_store 628
+ dog_park 377
+ shelter 146
+ boarding 117
+ rescue 33
+ pound 15
+ breeder 8
+ kennel 6
+ groomer 1
+ trainer 1
+ emergency_vet 1
diff --git a/logs/weekly-2026-W19/reddit.log b/logs/weekly-2026-W19/reddit.log
new file mode 100644
index 0000000..c41021c
--- /dev/null
+++ b/logs/weekly-2026-W19/reddit.log
@@ -0,0 +1,50 @@
+[2026-05-04T11:08:19.727Z] INFO fetching subreddit {"sub":"AskVet","limit":25}
+[2026-05-04T11:09:00.646Z] INFO fetching subreddit {"sub":"dogs","limit":25}
+[2026-05-04T11:09:26.436Z] INFO fetching subreddit {"sub":"cats","limit":25}
+[2026-05-04T11:09:40.716Z] INFO fetching subreddit {"sub":"Pets","limit":25}
+[2026-05-04T11:10:18.079Z] INFO fetching subreddit {"sub":"Petloss","limit":25}
+[2026-05-04T11:10:55.302Z] INFO fetching subreddit {"sub":"puppy101","limit":25}
+[2026-05-04T11:11:31.454Z] INFO fetching subreddit {"sub":"CatAdvice","limit":25}
+[2026-05-04T11:12:05.522Z] INFO fetching subreddit {"sub":"LosAngeles","limit":25}
+[2026-05-04T11:12:08.450Z] INFO fetching subreddit {"sub":"AskLosAngeles","limit":25}
+[2026-05-04T11:12:12.345Z] INFO fetching subreddit {"sub":"sandiego","limit":25}
+[2026-05-04T11:12:15.211Z] INFO fetching subreddit {"sub":"sanfrancisco","limit":25}
+[2026-05-04T11:12:18.066Z] INFO fetching subreddit {"sub":"BayArea","limit":25}
+[2026-05-04T11:12:21.638Z] INFO fetching subreddit {"sub":"nyc","limit":25}
+[2026-05-04T11:12:25.100Z] INFO fetching subreddit {"sub":"AskNYC","limit":25}
+[2026-05-04T11:12:27.834Z] INFO fetching subreddit {"sub":"longisland","limit":25}
+[2026-05-04T11:12:31.265Z] INFO fetching subreddit {"sub":"chicago","limit":25}
+[2026-05-04T11:12:36.936Z] INFO fetching subreddit {"sub":"houston","limit":25}
+[2026-05-04T11:12:39.798Z] INFO fetching subreddit {"sub":"dallas","limit":25}
+[2026-05-04T11:12:42.793Z] INFO fetching subreddit {"sub":"austin","limit":25}
+[2026-05-04T11:12:46.330Z] INFO fetching subreddit {"sub":"seattle","limit":25}
+[2026-05-04T11:12:50.430Z] INFO fetching subreddit {"sub":"Portland","limit":25}
+[2026-05-04T11:12:55.928Z] INFO fetching subreddit {"sub":"Denver","limit":25}
+[2026-05-04T11:12:59.650Z] INFO fetching subreddit {"sub":"atlanta","limit":25}
+[2026-05-04T11:13:03.638Z] INFO fetching subreddit {"sub":"Boston","limit":25}
+[2026-05-04T11:13:08.412Z] INFO fetching subreddit {"sub":"philadelphia","limit":25}
+[2026-05-04T11:13:14.274Z] INFO fetching subreddit {"sub":"phoenix","limit":25}
+[2026-05-04T11:13:17.236Z] INFO fetching subreddit {"sub":"Miami","limit":25}
+[2026-05-04T11:13:22.929Z] INFO fetching subreddit {"sub":"StPetersburgFL","limit":25}
+[2026-05-04T11:13:26.546Z] INFO fetching subreddit {"sub":"Minneapolis","limit":25}
+[2026-05-04T11:13:30.750Z] INFO fetching subreddit {"sub":"StLouis","limit":25}
+[2026-05-04T11:13:33.976Z] INFO fetching subreddit {"sub":"kansascity","limit":25}
+[2026-05-04T11:13:36.860Z] INFO fetching subreddit {"sub":"Charlotte","limit":25}
+[2026-05-04T11:13:41.965Z] INFO fetching subreddit {"sub":"nashville","limit":25}
+[2026-05-04T11:13:44.995Z] INFO fetching subreddit {"sub":"baltimore","limit":25}
+[2026-05-04T11:13:49.937Z] INFO fetching subreddit {"sub":"WashingtonDC","limit":25}
+[2026-05-04T11:13:53.869Z] INFO fetching subreddit {"sub":"pittsburgh","limit":25}
+[2026-05-04T11:13:56.689Z] INFO fetching subreddit {"sub":"cleveland","limit":25}
+[2026-05-04T11:14:00.523Z] INFO fetching subreddit {"sub":"detroit","limit":25}
+[2026-05-04T11:14:03.416Z] INFO fetching subreddit {"sub":"Cincinnati","limit":25}
+[2026-05-04T11:14:09.052Z] INFO fetching subreddit {"sub":"columbus","limit":25}
+[2026-05-04T11:14:12.965Z] INFO fetching subreddit {"sub":"indianapolis","limit":25}
+[2026-05-04T11:14:18.137Z] INFO fetching subreddit {"sub":"milwaukee","limit":25}
+[2026-05-04T11:14:24.343Z] INFO fetching subreddit {"sub":"okc","limit":25}
+[2026-05-04T11:14:27.382Z] INFO fetching subreddit {"sub":"lasvegas","limit":25}
+[2026-05-04T11:25:57.075Z] INFO fetching subreddit {"sub":"Sacramento","limit":25}
+[2026-05-04T11:26:05.354Z] INFO fetching subreddit {"sub":"orlando","limit":25}
+[2026-05-04T11:26:08.324Z] INFO fetching subreddit {"sub":"Tampa","limit":25}
+[2026-05-04T11:26:13.602Z] INFO fetching subreddit {"sub":"Jacksonville","limit":25}
+[2026-05-04T11:26:19.381Z] INFO fetching subreddit {"sub":"NewOrleans","limit":25}
+[2026-05-04T11:26:23.942Z] INFO reddit ingest complete {"subs":49,"posts":1225,"ingested":0,"mentions":0,"skipped":0,"not_relevant":1225,"no_mentions":0,"errors":0}
diff --git a/public/mockups/biz-15427-a.html b/public/mockups/biz-15427-a.html
new file mode 100644
index 0000000..4d3e42c
--- /dev/null
+++ b/public/mockups/biz-15427-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&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: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{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 · Penn Hills</small>
+ <h1>Penn Hills Dog Park</h1>
+ <div class=tag>A veterinary concierge for Penn Hills 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">754 Jefferson Road, Penn Hills, PA, 15235 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15427-b.html b/public/mockups/biz-15427-b.html
new file mode 100644
index 0000000..da1be28
--- /dev/null
+++ b/public/mockups/biz-15427-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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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)}
+
+ .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>dog park · Penn Hills, PA</small>
+ <h1>Penn Hills 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>Penn Hills Dog Park · 754 Jefferson Road, Penn Hills, PA, 15235 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15427-c.html b/public/mockups/biz-15427-c.html
new file mode 100644
index 0000000..c085c44
--- /dev/null
+++ b/public/mockups/biz-15427-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a221a; --paper:#f6f9f1; --accent:#3a6d3a;
+ --accent2:#a14d3d; --muted:#6c7766; --rule:#dde5d3;
+ --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)}
+
+ .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">dog park · Penn Hills, PA</small>
+ <h1>Penn Hills 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)">754 Jefferson Road, Penn Hills, PA, 15235 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15436-a.html b/public/mockups/biz-15436-a.html
new file mode 100644
index 0000000..5dba79f
--- /dev/null
+++ b/public/mockups/biz-15436-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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --h-font:'Cormorant Garamond', serif; --b-font:'Lato', 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)}
+
+ .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>Brookhaven Veterinary 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>101 East Garrison Road, Brookhaven, PA, 19015 · +1 610 874 1000</p>
+ </section>
+ </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15436-b.html b/public/mockups/biz-15436-b.html
new file mode 100644
index 0000000..237ef36
--- /dev/null
+++ b/public/mockups/biz-15436-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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ 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 · Brookhaven</small>
+ <h1>Brookhaven Veterinary Hospital</h1>
+ <div class=tag>A veterinary concierge for Brookhaven 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">101 East Garrison Road, Brookhaven, PA, 19015 · +1 610 874 1000</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15436-c.html b/public/mockups/biz-15436-c.html
new file mode 100644
index 0000000..201f81b
--- /dev/null
+++ b/public/mockups/biz-15436-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&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: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>Brookhaven Veterinary Hospital</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>Brookhaven Veterinary Hospital.</h1>
+ <p>A small, deliberately quiet veterinary practice in Brookhaven.<br>By appointment.</p>
+ <a class=arrow href=#book>Request an appointment →</a>
+ </main>
+ <footer class=min-foot><span>101 East Garrison Road, Brookhaven, PA, 19015</span><span>+1 610 874 1000</span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15495-a.html b/public/mockups/biz-15495-a.html
new file mode 100644
index 0000000..323b92e
--- /dev/null
+++ b/public/mockups/biz-15495-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%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --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)}
+
+ 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 · Reading, PA</small>
+ <h1>Humane Veterinary Hospitals – Reading</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)">1729 North 11th Street, Reading, PA, 19604 · +1-610-921-8387</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15495-b.html b/public/mockups/biz-15495-b.html
new file mode 100644
index 0000000..136e301
--- /dev/null
+++ b/public/mockups/biz-15495-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .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>Humane Veterinary Hospitals – Reading</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 Reading 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)">1729 North 11th Street, Reading, PA, 19604 · +1-610-921-8387</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15495-c.html b/public/mockups/biz-15495-c.html
new file mode 100644
index 0000000..012060c
--- /dev/null
+++ b/public/mockups/biz-15495-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+ --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+ --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)}
+
+ .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#ebd5d0,#fdf8f3);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>Humane Veterinary Hospitals – Reading</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Reading.</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)">1729 North 11th Street, Reading, PA, 19604 · +1-610-921-8387</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15516-a.html b/public/mockups/biz-15516-a.html
new file mode 100644
index 0000000..1eb0baa
--- /dev/null
+++ b/public/mockups/biz-15516-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&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)}
+
+ .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#e5e0d8 0%,#fffaf3 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 · Hamburg, PA</small>
+ <h1>Hamburg Animal Hospital</h1>
+ <p>Caring for Hamburg'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., Hamburg</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">737 Franklin Street, Hamburg, PA, 19526 · +1-610-562-5000</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15516-b.html b/public/mockups/biz-15516-b.html
new file mode 100644
index 0000000..2dc2f42
--- /dev/null
+++ b/public/mockups/biz-15516-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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --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)}
+
+ .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>Hamburg Animal Hospital</h1>
+ <p>The Hamburg 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)">737 Franklin Street, Hamburg, PA, 19526 · +1-610-562-5000</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15516-c.html b/public/mockups/biz-15516-c.html
new file mode 100644
index 0000000..59dd200
--- /dev/null
+++ b/public/mockups/biz-15516-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+ --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+ --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)}
+
+ .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%, #3a4a3a 0%, #ebd7cf 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>Hamburg Animal Hospital</h1>
+ <p class=lead>The veterinary practice Hamburg 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)">737 Franklin Street, Hamburg, PA, 19526 · +1-610-562-5000</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15531-a.html b/public/mockups/biz-15531-a.html
new file mode 100644
index 0000000..08c26e4
--- /dev/null
+++ b/public/mockups/biz-15531-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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&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)}
+
+ 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 · Pittsburgh</small>
+ <h1>The Dog Penn</h1>
+ <div class=tag>A veterinary concierge for Pittsburgh 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">2614 Penn Avenue, Pittsburgh, PA, 15222 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15531-b.html b/public/mockups/biz-15531-b.html
new file mode 100644
index 0000000..76146bf
--- /dev/null
+++ b/public/mockups/biz-15531-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+ --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+ --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)}
+
+ .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%, #0ea5e9 0%, #cbd5e1 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">dog park</small>
+ <h1>The Dog Penn</h1>
+ <p class=lead>The veterinary practice Pittsburgh 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)">2614 Penn Avenue, Pittsburgh, PA, 15222 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15531-c.html b/public/mockups/biz-15531-c.html
new file mode 100644
index 0000000..07ea6bf
--- /dev/null
+++ b/public/mockups/biz-15531-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#000000; --paper:#fffaf3; --accent:#000000;
+ --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+ --h-font:'Spectral', serif; --b-font:'Work 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{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>The Dog Penn</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>The Dog Penn.</h1>
+ <p>A small, deliberately quiet veterinary practice in Pittsburgh.<br>By appointment.</p>
+ <a class=arrow href=#book>Request an appointment →</a>
+ </main>
+ <footer class=min-foot><span>2614 Penn Avenue, Pittsburgh, PA, 15222</span><span></span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15537-a.html b/public/mockups/biz-15537-a.html
new file mode 100644
index 0000000..d3262ef
--- /dev/null
+++ b/public/mockups/biz-15537-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+ --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+ --h-font:'EB Garamond', serif; --b-font:'Karla', 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>Seger 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 · , PA</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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15537-b.html b/public/mockups/biz-15537-b.html
new file mode 100644
index 0000000..8a67992
--- /dev/null
+++ b/public/mockups/biz-15537-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+ --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+ --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 · 1989</small>
+ <h1>Seger Dog Park</h1>
+ <div class=tag>A veterinary concierge for discerning 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">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15537-c.html b/public/mockups/biz-15537-c.html
new file mode 100644
index 0000000..2e61c9a
--- /dev/null
+++ b/public/mockups/biz-15537-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --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)}
+
+ .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>dog park</small>
+ <h1>Seger Dog Park</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of town.</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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15558-a.html b/public/mockups/biz-15558-a.html
new file mode 100644
index 0000000..1666e85
--- /dev/null
+++ b/public/mockups/biz-15558-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f1a; --paper:#ecf3ee; --accent:#14532d;
+ --accent2:#c97a3e; --muted:#5a716a; --rule:#bce3c8;
+ --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)}
+
+ .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#bce3c8,#ecf3ee);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>shelter</small>
+ <h1>Centre County Paws</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Benner Township.</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)">1401 Trout Road, Benner Township, PA, 16801 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15558-b.html b/public/mockups/biz-15558-b.html
new file mode 100644
index 0000000..4206f3f
--- /dev/null
+++ b/public/mockups/biz-15558-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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+ --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+ --h-font:'Lora', serif; --b-font:'Public 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)}
+
+ .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>Centre County Paws</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 · Benner Township, PA</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)">1401 Trout Road, Benner Township, PA, 16801 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15558-c.html b/public/mockups/biz-15558-c.html
new file mode 100644
index 0000000..4552237
--- /dev/null
+++ b/public/mockups/biz-15558-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%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#000000; --paper:#fffaf3; --accent:#000000;
+ --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+ --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)}
+
+ .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>Centre County Paws</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>1401 Trout Road, Benner Township, PA, 16801 · </p>
+ </section>
+ </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15562-a.html b/public/mockups/biz-15562-a.html
new file mode 100644
index 0000000..1621a5c
--- /dev/null
+++ b/public/mockups/biz-15562-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%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&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: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>Tom’s Pet Outlet</h1>
+ <small>pet store · Norristown, PA · 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)">2609 Egypt Road, Norristown, PA, 19403 · +1 610-666-6616</footer>
+ </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15562-b.html b/public/mockups/biz-15562-b.html
new file mode 100644
index 0000000..d989d6a
--- /dev/null
+++ b/public/mockups/biz-15562-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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+ --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+ --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)}
+
+ .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>Tom’s Pet Outlet</h1>
+ <span class=date>pet store · Norristown, PA</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 Norristown 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>2609 Egypt Road, Norristown, PA, 19403 · +1 610-666-6616</p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15562-c.html b/public/mockups/biz-15562-c.html
new file mode 100644
index 0000000..e770300
--- /dev/null
+++ b/public/mockups/biz-15562-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --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)}
+
+ .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>Tom’s Pet Outlet</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 · Norristown, PA</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)">2609 Egypt Road, Norristown, PA, 19403 · +1 610-666-6616</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15582-a.html b/public/mockups/biz-15582-a.html
new file mode 100644
index 0000000..fb437f6
--- /dev/null
+++ b/public/mockups/biz-15582-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#22201d; --paper:#f5efea; --accent:#a13d2d;
+ --accent2:#3a4a3a; --muted:#7a7166; --rule:#e0d6cb;
+ --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)}
+
+ .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>Pets Come First</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>2451 General Potter Highway, Centre Hall, PA, 16828 · </p>
+ </section>
+ </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15582-b.html b/public/mockups/biz-15582-b.html
new file mode 100644
index 0000000..8e5604f
--- /dev/null
+++ b/public/mockups/biz-15582-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&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: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{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 · Centre Hall</small>
+ <h1>Pets Come First</h1>
+ <div class=tag>A veterinary concierge for Centre Hall 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">2451 General Potter Highway, Centre Hall, PA, 16828 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15582-c.html b/public/mockups/biz-15582-c.html
new file mode 100644
index 0000000..0028015
--- /dev/null
+++ b/public/mockups/biz-15582-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%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#bce3c8 0%,#ecf3ee 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 · Centre Hall, PA</small>
+ <h1>Pets Come First</h1>
+ <p>Caring for Centre Hall'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., Centre Hall</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">2451 General Potter Highway, Centre Hall, PA, 16828 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15584-a.html b/public/mockups/biz-15584-a.html
new file mode 100644
index 0000000..510b4ce
--- /dev/null
+++ b/public/mockups/biz-15584-a.html
@@ -0,0 +1,20 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#fbf2f2;color:#2a1517;margin:0}
+.hero{padding:5em 3em 4em;text-align:center;background:#fff;border-bottom:6px solid #a83a4a}
+.hero small{display:inline-block;background:#a83a4a11;color:#a83a4a;padding:.4em 1em;border-radius:0px;font-size:.78em;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
+.hero h1{font-size:3em;font-weight:700;letter-spacing:-.02em;margin:.4em 0;color:#2a1517}
+.hero p{color:#7c5e60;font-size:1.1em;max-width:600px;margin:0 auto;line-height:1.65}
+.tiles{display:grid;grid-template-columns:repeat(2,1fr);gap:1em;padding:3em;max-width:1100px;margin:0 auto}
+.tile{background:#a83a4a;color:#fff;padding:2.5em;border-radius:2px;box-shadow:none;display:flex;flex-direction:column}
+.tile:nth-child(2n){background:#cca070}
+.tile h3{margin:0 0 .4em;font-size:1.4em;font-weight:700}
+.tile p{margin:0;flex:1;line-height:1.55;opacity:.92}
+.tile a{display:inline-block;margin-top:1em;color:#fff;text-decoration:underline;font-weight:600;font-size:.95em}
+.cta{display:block;text-align:center;margin:2em auto;background:#a83a4a;color:#fff;padding:1em 2.4em;border-radius:0px;text-decoration:none;font-weight:700;width:fit-content}
+.foot{padding:2em;background:#5a1f28;color:#fff;text-align:center;opacity:.85;font-size:.9em}
+</style></head><body>
+<section class=hero><small>Established practice</small><h1>Chestnut Hill Animal Hospital</h1><p>Compassionate care, modern medicine. Trusted by Erdenheim for everyday care and the occasional emergency.</p></section>
+<section class=tiles><div class=tile><h3>Wellness</h3><p>Annual exams, vaccinations, preventive care plans.</p><a href="#book">Book an appointment →</a></div><div class=tile><h3>Surgery & Dental</h3><p>In-house procedures, same-day discharge for most.</p><a href="#book">Book an appointment →</a></div><div class=tile><h3>Urgent care</h3><p>Same-day sick visits — call before going to the ER.</p><a href="#book">Book an appointment →</a></div><div class=tile><h3>Visit us</h3><p>903 Bethlehem Pike, Erdenheim, PA, 19038<br>+1 215-836-2950</p></div></section>
+<a class=cta href="#book">Book an appointment</a>
+<footer class=foot>Chestnut Hill Animal Hospital · 903 Bethlehem Pike, Erdenheim, PA, 19038 · +1 215-836-2950</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15584-b.html b/public/mockups/biz-15584-b.html
new file mode 100644
index 0000000..0f09e8b
--- /dev/null
+++ b/public/mockups/biz-15584-b.html
@@ -0,0 +1,32 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',Helvetica,sans-serif;background:#f5f3f7;color:#1f1933;margin:0}
+.split{display:grid;grid-template-columns:1.2fr 1fr;min-height:520px}
+.split .left{background:linear-gradient(160deg,#2c2c54,#1a1a3a);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:#b9375e}
+.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:#2c2c54}
+.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:#b9375e}
+.split .right li strong{display:block;color:#1f1933}
+.split .right li span{color:#6c6580;font-size:.95em}
+.cta{display:inline-block;background:#fff;color:#2c2c54;padding:.9em 1.8em;border-radius:4px;text-decoration:none;font-weight:600;margin-top:1.5em}
+.foot{padding:2em 4em;background:#1a1a3a;color:#fff;opacity:.85;font-size:.95em}
+</style></head><body>
+<div class=split>
+ <div class=left>
+ <span class=eb>Family-owned</span>
+ <h1>Chestnut Hill Animal Hospital</h1>
+ <p>Built around your pet, your family, your time. A small, attentive practice in the heart of Erdenheim.</p>
+ <a class=cta href="#book">Schedule a visit</a>
+ </div>
+ <div class=right>
+ <h2>What we do</h2>
+ <ol><li><strong>Diagnostics</strong><span>On-site lab, digital radiology, ultrasound.</span></li><li><strong>Pharmacy</strong><span>Stocked formulary, refills you can pick up same day.</span></li><li><strong>Care plans</strong><span>Predictable monthly pricing for routine visits.</span></li></ol>
+ </div>
+</div>
+<footer class=foot>Chestnut Hill Animal Hospital · 903 Bethlehem Pike, Erdenheim, PA, 19038 · +1 215-836-2950</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15584-c.html b/public/mockups/biz-15584-c.html
new file mode 100644
index 0000000..c6ff9f5
--- /dev/null
+++ b/public/mockups/biz-15584-c.html
@@ -0,0 +1,23 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:Georgia,'Times New Roman',serif;background:#faf4ef;color:#1a1a1a;margin:0}
+.hero{padding:6em 4em 5em;background:linear-gradient(165deg,#faf4ef,#fff);border-bottom:1px solid #e0d8c8}
+.eb{text-transform:uppercase;letter-spacing:.1em;color:#1e2a3a;font-weight:600;font-size:.85em}
+.hero h1{font-size:3em;margin:.3em 0 .3em;letter-spacing:-.02em;font-weight:400;color:#cc3a25}
+.hero p{font-size:1.2em;color:#5e554d;max-width:600px}
+.cta{display:inline-block;background:#cc3a25;color:#fff;padding:1em 2em;border-radius:0;margin-top:1.5em;text-decoration:none;font-family:Helvetica,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;font-size:.9em}
+.row{display:grid;grid-template-columns:repeat(3,1fr);gap:3em;padding:4em}
+.row h3{font-weight:400;font-size:1.3em;border-bottom:1px solid #1e2a3a;padding-bottom:.5em;color:#cc3a25}
+.foot{padding:2em 4em;background:#cc3a25;color:#fff;font-family:Helvetica,Arial,sans-serif;opacity:.95}
+</style></head><body>
+<section class=hero>
+ <small class=eb>A new chapter</small>
+ <h1>Chestnut Hill Animal Hospital</h1>
+ <p>A trusted name in your neighborhood. Caring for Erdenheim families for over a decade.</p>
+ <a class=cta href="#book">Make an appointment</a>
+</section>
+<section class=row>
+ <div><h3>Wellness</h3><p>Annual exams, vaccinations, preventive care plans.</p></div><div><h3>Surgery & 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>Chestnut Hill Animal Hospital · 903 Bethlehem Pike, Erdenheim, PA, 19038 · +1 215-836-2950</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15587-a.html b/public/mockups/biz-15587-a.html
new file mode 100644
index 0000000..9bd18a1
--- /dev/null
+++ b/public/mockups/biz-15587-a.html
@@ -0,0 +1,32 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:#eef3f8;color:#0f1f33;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:#e0a050;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:#0e4a7e}
+.hero p{color:#5a6c80;font-size:1.1em;line-height:1.65;max-width:480px}
+.hero .map{background:repeating-linear-gradient(45deg,#eef3f8,#eef3f8 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:#e0a050;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:#0e4a7e;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 #eef3f8}
+.card h3{margin:0 0 .4em;color:#0e4a7e;font-size:1.05em}
+.card p{margin:0;color:#5a6c80;font-size:.92em;line-height:1.55}
+.foot{padding:2em;background:#0a2c4f;color:#fff;opacity:.85;text-align:center;font-size:.9em}
+</style></head><body>
+<section class=hero>
+ <div class=text>
+ <small>Established practice</small>
+ <h1>Roxborough Dog Park</h1>
+ <p>Compassionate care, modern medicine. A small, attentive practice in the heart of Philadelphia.</p>
+ <a class=cta href="#book">Book an appointment</a>
+ </div>
+ <div class=map><div class=pin>Philadelphia, PA</div></div>
+</section>
+<section class=cards>
+ <div class=card><h3>New patient visits</h3><p>A real intake conversation, not a clipboard.</p></div><div class=card><h3>Specialty referrals</h3><p>Dermatology, cardiology, oncology — we know who.</p></div><div class=card><h3>Senior care</h3><p>Quarterly visit + lab panel for patients 8+.</p></div>
+</section>
+<footer class=foot>Roxborough Dog Park · 4117 Mitchell Street, Philadelphia, PA, 19128 · Call us</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15587-b.html b/public/mockups/biz-15587-b.html
new file mode 100644
index 0000000..cdd70a8
--- /dev/null
+++ b/public/mockups/biz-15587-b.html
@@ -0,0 +1,26 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:#edf3f3;color:#0e2226;margin:0}
+.hero{padding:5em 3em;text-align:center;background:radial-gradient(at 70% 30%,#e08a3a22,transparent 50%),radial-gradient(at 20% 80%,#0a4a5222,transparent 50%),#edf3f3}
+.hero .blob{display:inline-block;background:#e08a3a;color:#fff;padding:.6em 1.4em;border-radius:999px;font-weight:600;font-size:.9em}
+.hero h1{font-size:3.6em;margin:.3em 0;font-weight:800;color:#0a4a52;letter-spacing:-.02em;line-height:1.05}
+.hero p{font-size:1.2em;color:#506e72;max-width:560px;margin:1em auto 2em;line-height:1.6}
+.cta{display:inline-block;background:#0a4a52;color:#fff;padding:1.1em 2.4em;border-radius:999px;text-decoration:none;font-weight:700;font-size:1.05em;box-shadow:0 8px 24px rgba(0,0,0,.12)}
+.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25em;padding:3em;max-width:1100px;margin:0 auto}
+.card{background:#fff;border:2px solid #edf3f3;border-radius:24px;padding:1.8em;text-align:center;transition:all .2s}
+.card .ico{font-size:2.4em;margin-bottom:.4em}
+.card h3{margin:.2em 0;color:#0a4a52;font-size:1.15em}
+.card p{margin:0;color:#506e72;font-size:.92em;line-height:1.55}
+.foot{padding:2em;text-align:center;color:#506e72;font-size:.9em}
+</style></head><body>
+<section class=hero>
+ <span class=blob>Family-owned</span>
+ <h1>Roxborough Dog Park</h1>
+ <p>Built around your pet, your family, your time. Caring for Philadelphia families for over a decade.</p>
+ <a class=cta href="#book">Schedule a visit →</a>
+</section>
+<section class=cards>
+ <div class=card><div class=ico>💚</div><h3>Same-day visits</h3><p>Don't wait a week. Call by 10am, see us by 5pm.</p></div><div class=card><div class=ico>✨</div><h3>Behavior & training</h3><p>In-clinic consultations and at-home plans.</p></div><div class=card><div class=ico>🤝</div><h3>House-call program</h3><p>Visits at home for senior or anxious patients.</p></div>
+</section>
+<footer class=foot>Roxborough Dog Park · 4117 Mitchell Street, Philadelphia, PA, 19128 · Call us</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15587-c.html b/public/mockups/biz-15587-c.html
new file mode 100644
index 0000000..1fd42a2
--- /dev/null
+++ b/public/mockups/biz-15587-c.html
@@ -0,0 +1,40 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#f6efe8;color:#1f0e10;margin:0}
+.hero{display:grid;grid-template-columns:1.4fr 1fr;min-height:520px}
+.hero .text{padding:5em 3em;background:linear-gradient(135deg,#6e1a26,#3a0e16);color:#fff;display:flex;flex-direction:column;justify-content:center}
+.hero .text small{text-transform:uppercase;letter-spacing:.18em;color:#bb9a5a;font-size:.78em;font-weight:700}
+.hero .text h1{font-size:3.6em;font-weight:500;letter-spacing:-.02em;margin:.3em 0;line-height:1.05}
+.hero .text p{font-size:1.2em;opacity:.9;max-width:520px;line-height:1.6}
+.cal{padding:5em 3em;background:#fff}
+.cal h3{margin:0 0 1em;font-size:1.3em;color:#6e1a26}
+.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:.8em}
+.cal-grid .d{padding:.6em;text-align:center;background:#f6efe8;border-radius:6px;color:#6e5c5a}
+.cal-grid .d.open{background:#6e1a2611;color:#6e1a26;font-weight:700;cursor:pointer;border:1px solid #6e1a2633}
+.cal-grid .d.today{background:#bb9a5a;color:#fff;font-weight:700}
+.cta{display:inline-block;margin-top:1.5em;background:#bb9a5a;color:#fff;padding:1em 2.4em;border-radius:10px;text-decoration:none;font-weight:700;font-size:.95em;text-transform:uppercase;letter-spacing:.06em}
+.row{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:#fff;border-top:1px solid #6e5c5a22}
+.row > div{padding:2.5em 2em;border-right:1px solid #6e5c5a22}
+.row > div:last-child{border-right:0}
+.row strong{display:block;color:#6e1a26;margin-bottom:.4em;font-weight:700}
+.row p{margin:0;color:#6e5c5a;line-height:1.55;font-size:.95em}
+.foot{padding:2em 3em;background:#3a0e16;color:#fff;opacity:.85;font-size:.9em}
+</style></head><body>
+<section class=hero>
+ <div class=text>
+ <small>A new chapter</small>
+ <h1>Roxborough Dog Park</h1>
+ <p>A trusted name in your neighborhood. Serving Philadelphia with respect, transparency, and same-day availability.</p>
+ <a class=cta href="#book">Make an appointment →</a>
+ </div>
+ <div class=cal>
+ <h3>Pick a time this week</h3>
+ <div class=cal-grid>
+ <div class=d style="font-weight:700">M</div><div class=d style="font-weight:700">T</div><div class=d style="font-weight:700">W</div><div class=d style="font-weight:700">T</div><div class=d style="font-weight:700">F</div><div class=d style="font-weight:700">S</div><div class=d style="font-weight:700">S</div>
+ <div class="d ">1</div><div class="d ">2</div><div class="d open today">3</div><div class="d ">4</div><div class="d ">5</div><div class="d open ">6</div><div class="d ">7</div>
+ <div class="d open">8</div><div class="d ">9</div><div class="d open">10</div><div class="d ">11</div><div class="d open">12</div><div class="d ">13</div><div class="d open">14</div>
+ </div>
+ </div>
+</section>
+<section class=row><div><strong>New patient visits</strong><p>A real intake conversation, not a clipboard.</p></div><div><strong>Specialty referrals</strong><p>Dermatology, cardiology, oncology — we know who.</p></div><div><strong>Senior care</strong><p>Quarterly visit + lab panel for patients 8+.</p></div></section>
+<footer class=foot>Roxborough Dog Park · 4117 Mitchell Street, Philadelphia, PA, 19128 · Call us</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15588-a.html b/public/mockups/biz-15588-a.html
new file mode 100644
index 0000000..d58ad6a
--- /dev/null
+++ b/public/mockups/biz-15588-a.html
@@ -0,0 +1,40 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#fbf6e8;color:#332912;margin:0}
+.split{display:grid;grid-template-columns:1fr 1.1fr;min-height:560px}
+.split .left{padding:5em 4em;background:#fff;display:flex;flex-direction:column;justify-content:center}
+.split .left small{text-transform:uppercase;letter-spacing:.16em;color:#3a572b;font-size:.78em;font-weight:700}
+.split .left h1{font-size:3.2em;font-weight:600;letter-spacing:-.01em;margin:.3em 0;line-height:1.1;color:#a85a1c}
+.split .left p{color:#7a6a52;font-size:1.1em;line-height:1.6;max-width:480px}
+.split .right{padding:5em 4em;background:linear-gradient(160deg,#a85a1c,#6e3812);color:#fff;display:flex;flex-direction:column;justify-content:center}
+.form{background:rgba(255,255,255,.1);padding:2em;border-radius:24px;backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.18);max-width:420px}
+.form h3{margin:0 0 1em;font-weight:700}
+.form label{display:block;font-size:.85em;opacity:.9;margin-bottom:.4em;text-transform:uppercase;letter-spacing:.06em}
+.form input,.form select{width:100%;padding:.8em;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);border-radius:999px;color:#fff;font-family:inherit;margin-bottom:1em}
+.form input::placeholder{color:rgba(255,255,255,.55)}
+.form button{width:100%;padding:1em;background:#3a572b;color:#fff;border:0;border-radius:999px;font-weight:700;font-size:1em;cursor:pointer;letter-spacing:.05em;text-transform:uppercase}
+.three{display:grid;grid-template-columns:repeat(3,1fr);background:#fff}
+.three > div{padding:2.5em 2em;border-right:1px solid #7a6a5222}
+.three > div:last-child{border-right:0}
+.three strong{display:block;color:#a85a1c;font-weight:700;margin-bottom:.4em}
+.three p{margin:0;color:#7a6a52;font-size:.95em;line-height:1.55}
+.foot{padding:2em;background:#6e3812;color:#fff;opacity:.85;text-align:center;font-size:.9em}
+</style></head><body>
+<section class=split>
+ <div class=left>
+ <small>Established practice</small>
+ <h1>Zimmer's Pets</h1>
+ <p>Compassionate care, modern medicine. Serving Boyertown with respect, transparency, and same-day availability.</p>
+ </div>
+ <div class=right>
+ <div class=form>
+ <h3>Book an appointment</h3>
+ <label>Your name</label><input type=text placeholder="Jane Smith">
+ <label>Email</label><input type=email placeholder="you@example.com">
+ <label>Reason for visit</label><select><option>Wellness</option><option>Surgery & Dental</option><option>Urgent care</option></select>
+ <button>Request appointment</button>
+ </div>
+ </div>
+</section>
+<section class=three><div><strong>Wellness</strong><p>Annual exams, vaccinations, preventive care plans.</p></div><div><strong>Surgery & 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>Zimmer's Pets · 51 East Philadelphia Avenue, Boyertown, PA, 19512 · +1 610-367-5572</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15588-b.html b/public/mockups/biz-15588-b.html
new file mode 100644
index 0000000..7905ffd
--- /dev/null
+++ b/public/mockups/biz-15588-b.html
@@ -0,0 +1,36 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#eef3ef;color:#11231a;margin:0}
+.hero{padding:4em 3em;text-align:center;background:#1c5a44;color:#fff}
+.hero small{text-transform:uppercase;letter-spacing:.18em;color:#d97056;font-size:.78em;font-weight:700}
+.hero h1{font-size:3.2em;font-weight:500;letter-spacing:-.02em;margin:.3em 0 .3em;line-height:1.1}
+.hero p{font-size:1.15em;opacity:.92;max-width:600px;margin:0 auto 1em;line-height:1.55}
+.cta{display:inline-block;background:#d97056;color:#fff;padding:1em 2.2em;border-radius:10px;text-decoration:none;font-weight:700}
+.community{padding:3em;background:#fff}
+.community h2{text-align:center;font-size:1.8em;color:#1c5a44;margin:0 0 1.5em;font-weight:500}
+.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;max-width:1100px;margin:0 auto}
+.test{background:#eef3ef;padding:2em;border-radius:12px;border:1px solid #5a6a6022}
+.test .quote{font-family:Georgia,serif;font-size:1.05em;color:#11231a;line-height:1.6;font-style:italic;margin:0 0 1em}
+.test .who{font-size:.85em;color:#d97056;font-weight:700}
+.three{display:grid;grid-template-columns:repeat(3,1fr);padding:3em;gap:1em;background:#eef3ef}
+.three > div{padding:1.5em;background:#fff;border-radius:12px;border-top:3px solid #1c5a44}
+.three h3{margin:0 0 .4em;color:#1c5a44;font-size:1.1em}
+.three p{margin:0;color:#5a6a60;font-size:.95em;line-height:1.55}
+.foot{padding:2em;background:#0e3826;color:#fff;text-align:center;opacity:.85;font-size:.9em}
+</style></head><body>
+<section class=hero>
+ <small>Family-owned</small>
+ <h1>Zimmer's Pets</h1>
+ <p>Built around your pet, your family, your time. Online booking. Email reminders. Real conversations with real clinicians.</p>
+ <a class=cta href="#book">Schedule a visit →</a>
+</section>
+<section class=community>
+ <h2>What Boyertown families say</h2>
+ <div class=testimonials>
+ <div class=test><div class=quote>"They called me back the same day, every time. That's not normal anymore — and I'm so grateful."</div><div class=who>— A. R. · Boyertown</div></div>
+ <div class=test><div class=quote>"Honest about pricing, careful with diagnostics. The team explains everything in plain language."</div><div class=who>— J. M. · Boyertown</div></div>
+ <div class=test><div class=quote>"My senior pet has never been more comfortable at a vet visit. Fear-free is real here."</div><div class=who>— K. T. · Boyertown</div></div>
+ </div>
+</section>
+<section class=three><div><h3>Diagnostics</h3><p>On-site lab, digital radiology, ultrasound.</p></div><div><h3>Pharmacy</h3><p>Stocked formulary, refills you can pick up same day.</p></div><div><h3>Care plans</h3><p>Predictable monthly pricing for routine visits.</p></div></section>
+<footer class=foot>Zimmer's Pets · 51 East Philadelphia Avenue, Boyertown, PA, 19512 · +1 610-367-5572</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15588-c.html b/public/mockups/biz-15588-c.html
new file mode 100644
index 0000000..d1fed8c
--- /dev/null
+++ b/public/mockups/biz-15588-c.html
@@ -0,0 +1,27 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Helvetica Neue',Arial,sans-serif;background:#2470a8;color:#fff;margin:0}
+.hero{padding:5em 3em;background:linear-gradient(135deg,#2470a8,#0e3a5e)}
+.hero small{text-transform:uppercase;letter-spacing:.15em;color:#e08a3a;font-weight:700;font-size:.9em}
+.hero h1{font-size:4em;margin:.2em 0;font-weight:900;letter-spacing:-.02em;line-height:1}
+.hero p{font-size:1.3em;color:#fff;opacity:.85;max-width:600px;margin:1em 0 2em}
+.cta{display:inline-block;background:#e08a3a;color:#fff;padding:1.1em 2.4em;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.05em;text-transform:uppercase;letter-spacing:.05em}
+.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;background:#fff;color:#0f1c2a}
+.three > div{padding:3em 2.5em;border-right:1px solid #e5e7eb}
+.three > div:last-child{border-right:0}
+.three h3{margin:0 0 .5em;font-size:1.4em;color:#2470a8}
+.three p{margin:0;color:#5a6e80}
+.cta2{display:inline-block;margin-top:1em;color:#2470a8;font-weight:700;text-decoration:underline}
+.foot{padding:2em 3em;background:#0e3a5e;color:#fff;opacity:.7}
+</style></head><body>
+<section class=hero>
+ <small>A new chapter</small>
+ <h1>Zimmer's Pets</h1>
+ <p>A trusted name in your neighborhood. Trusted by Boyertown for everyday care and the occasional emergency.</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><a class=cta2 href="#">Learn more →</a></div><div><h3>Surgery & Dental</h3><p>In-house procedures, same-day discharge for most.</p><a class=cta2 href="#">Learn more →</a></div><div><h3>Urgent care</h3><p>Same-day sick visits — call before going to the ER.</p><a class=cta2 href="#">Learn more →</a></div>
+</section>
+<footer class=foot>Zimmer's Pets · 51 East Philadelphia Avenue, Boyertown, PA, 19512 · +1 610-367-5572</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15589-a.html b/public/mockups/biz-15589-a.html
new file mode 100644
index 0000000..023f457
--- /dev/null
+++ b/public/mockups/biz-15589-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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --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)}
+
+ .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>Hometown Pet Center</h1>
+ <span class=date>pet store · Coopersburg, PA</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 Coopersburg 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>702 West State Street, Coopersburg, PA, 18036 · +16102825435</p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15589-b.html b/public/mockups/biz-15589-b.html
new file mode 100644
index 0000000..35ca29f
--- /dev/null
+++ b/public/mockups/biz-15589-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Hometown Pet Center</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 Coopersburg 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)">702 West State Street, Coopersburg, PA, 18036 · +16102825435</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15589-c.html b/public/mockups/biz-15589-c.html
new file mode 100644
index 0000000..6ec6310
--- /dev/null
+++ b/public/mockups/biz-15589-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Hometown Pet Center</h1>
+ <small>pet store · Coopersburg, PA · 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)">702 West State Street, Coopersburg, PA, 18036 · +16102825435</footer>
+ </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15596-a.html b/public/mockups/biz-15596-a.html
new file mode 100644
index 0000000..f358168
--- /dev/null
+++ b/public/mockups/biz-15596-a.html
@@ -0,0 +1,36 @@
+<!doctype html><html><head><meta charset=utf-8><style>
+body{font-family:'Inter',sans-serif;background:#f4f6f8;color:#1a2433;margin:0}
+.hero{padding:4em 3em;text-align:center;background:#3a4a5e;color:#fff}
+.hero small{text-transform:uppercase;letter-spacing:.18em;color:#e0884a;font-size:.78em;font-weight:700}
+.hero h1{font-size:3.2em;font-weight:700;letter-spacing:-.02em;margin:.3em 0 .3em;line-height:1.1}
+.hero p{font-size:1.15em;opacity:.92;max-width:600px;margin:0 auto 1em;line-height:1.55}
+.cta{display:inline-block;background:#e0884a;color:#fff;padding:1em 2.2em;border-radius:0px;text-decoration:none;font-weight:700}
+.community{padding:3em;background:#fff}
+.community h2{text-align:center;font-size:1.8em;color:#3a4a5e;margin:0 0 1.5em;font-weight:700}
+.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5em;max-width:1100px;margin:0 auto}
+.test{background:#f4f6f8;padding:2em;border-radius:2px;border:1px solid #6a728022}
+.test .quote{font-family:Georgia,serif;font-size:1.05em;color:#1a2433;line-height:1.6;font-style:italic;margin:0 0 1em}
+.test .who{font-size:.85em;color:#e0884a;font-weight:700}
+.three{display:grid;grid-template-columns:repeat(3,1fr);padding:3em;gap:1em;background:#f4f6f8}
+.three > div{padding:1.5em;background:#fff;border-radius:2px;border-top:3px solid #3a4a5e}
+.three h3{margin:0 0 .4em;color:#3a4a5e;font-size:1.1em}
+.three p{margin:0;color:#6a7280;font-size:.95em;line-height:1.55}
+.foot{padding:2em;background:#1c2738;color:#fff;text-align:center;opacity:.85;font-size:.9em}
+</style></head><body>
+<section class=hero>
+ <small>Established practice</small>
+ <h1>Erie Humane Society</h1>
+ <p>Compassionate care, modern medicine. Online booking. Email reminders. Real conversations with real clinicians.</p>
+ <a class=cta href="#book">Book an appointment →</a>
+</section>
+<section class=community>
+ <h2>What Erie families say</h2>
+ <div class=testimonials>
+ <div class=test><div class=quote>"They called me back the same day, every time. That's not normal anymore — and I'm so grateful."</div><div class=who>— A. R. · Erie</div></div>
+ <div class=test><div class=quote>"Honest about pricing, careful with diagnostics. The team explains everything in plain language."</div><div class=who>— J. M. · Erie</div></div>
+ <div class=test><div class=quote>"My senior pet has never been more comfortable at a vet visit. Fear-free is real here."</div><div class=who>— K. T. · Erie</div></div>
+ </div>
+</section>
+<section class=three><div><h3>Wellness</h3><p>Annual exams, vaccinations, preventive care plans.</p></div><div><h3>Surgery & 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>Erie Humane Society · 2407 Zimmerly Road, Erie, PA, 16506 · +18148358331</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15596-b.html b/public/mockups/biz-15596-b.html
new file mode 100644
index 0000000..c42311e
--- /dev/null
+++ b/public/mockups/biz-15596-b.html
@@ -0,0 +1,33 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:#000;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:#000}
+.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>Erie Humane Society</strong><div><a href="#">Services</a><a href="#">About</a><a href="#">Visit</a></div></header>
+<section class=hero>
+ <div class=div></div>
+ <small>Family-owned</small>
+ <h1>Built around your pet, your family, your time.</h1>
+ <p>Trusted by Erie for everyday care and the occasional emergency.</p>
+ <a class=cta href="#book">Schedule a visit</a>
+</section>
+<section class=three>
+ <div><h3>Diagnostics</h3><p>On-site lab, digital radiology, ultrasound.</p></div><div><h3>Pharmacy</h3><p>Stocked formulary, refills you can pick up same day.</p></div><div><h3>Care plans</h3><p>Predictable monthly pricing for routine visits.</p></div>
+</section>
+<footer class=foot>Erie Humane Society — 2407 Zimmerly Road, Erie, PA, 16506 — +18148358331</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15596-c.html b/public/mockups/biz-15596-c.html
new file mode 100644
index 0000000..6b44b08
--- /dev/null
+++ b/public/mockups/biz-15596-c.html
@@ -0,0 +1,23 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Inter',sans-serif;background:radial-gradient(at 20% 20%,#c44536,#8a2f24);color:#fff;margin:0;min-height:520px}
+.glass{margin:5em auto;max-width:980px;padding:4em;background:rgba(255,255,255,.08);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.18);border-radius:24px}
+.glass small{text-transform:uppercase;letter-spacing:.16em;font-size:.78em;opacity:.7;color:#3e5641}
+.glass h1{font-size:3.4em;font-weight:600;margin:.2em 0;line-height:1.05;letter-spacing:-.02em}
+.glass p{font-size:1.2em;opacity:.85;max-width:600px;line-height:1.6}
+.cta{display:inline-block;background:#3e5641;color:#fff;padding:1em 2.2em;border-radius:14px;text-decoration:none;font-weight:600;margin-top:1.5em}
+.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1em;margin-top:3em}
+.card{background:rgba(255,255,255,.05);padding:1.5em;border-radius:14px;border:1px solid rgba(255,255,255,.12)}
+.card h3{margin:0 0 .4em;font-size:1.05em;color:#3e5641}
+.card p{margin:0;font-size:.9em;opacity:.8;line-height:1.55}
+.foot{text-align:center;padding:2em;opacity:.55;font-size:.9em}
+</style></head><body>
+<div class=glass>
+ <small>A new chapter</small>
+ <h1>Erie Humane Society</h1>
+ <p>A trusted name in your neighborhood. A small, attentive practice in the heart of Erie.</p>
+ <a class=cta href="#book">Make an appointment →</a>
+ <div class=cards><div class=card><h3>Wellness</h3><p>Annual exams, vaccinations, preventive care plans.</p></div><div class=card><h3>Surgery & Dental</h3><p>In-house procedures, same-day discharge for most.</p></div><div class=card><h3>Urgent care</h3><p>Same-day sick visits — call before going to the ER.</p></div></div>
+</div>
+<footer class=foot>Erie Humane Society · 2407 Zimmerly Road, Erie, PA, 16506 · +18148358331</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15611-a.html b/public/mockups/biz-15611-a.html
new file mode 100644
index 0000000..79a5554
--- /dev/null
+++ b/public/mockups/biz-15611-a.html
@@ -0,0 +1,27 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:'Helvetica Neue',Arial,sans-serif;background:#7d3c3c;color:#fff;margin:0}
+.hero{padding:5em 3em;background:linear-gradient(135deg,#7d3c3c,#4d2424)}
+.hero small{text-transform:uppercase;letter-spacing:.15em;color:#bf8e62;font-weight:700;font-size:.9em}
+.hero h1{font-size:4em;margin:.2em 0;font-weight:900;letter-spacing:-.02em;line-height:1}
+.hero p{font-size:1.3em;color:#fff;opacity:.85;max-width:600px;margin:1em 0 2em}
+.cta{display:inline-block;background:#bf8e62;color:#fff;padding:1.1em 2.4em;border-radius:8px;text-decoration:none;font-weight:700;font-size:1.05em;text-transform:uppercase;letter-spacing:.05em}
+.three{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;background:#fff;color:#2c1f1c}
+.three > div{padding:3em 2.5em;border-right:1px solid #e5e7eb}
+.three > div:last-child{border-right:0}
+.three h3{margin:0 0 .5em;font-size:1.4em;color:#7d3c3c}
+.three p{margin:0;color:#7c655c}
+.cta2{display:inline-block;margin-top:1em;color:#7d3c3c;font-weight:700;text-decoration:underline}
+.foot{padding:2em 3em;background:#4d2424;color:#fff;opacity:.7}
+</style></head><body>
+<section class=hero>
+ <small>Established practice</small>
+ <h1>Stone Valley Pet Lodge</h1>
+ <p>Compassionate care, modern medicine. Online booking. Email reminders. Real conversations with real clinicians.</p>
+ <a class=cta href="#book">Book an appointment →</a>
+</section>
+<section class=three>
+ <div><h3>New patient visits</h3><p>A real intake conversation, not a clipboard.</p><a class=cta2 href="#">Learn more →</a></div><div><h3>Specialty referrals</h3><p>Dermatology, cardiology, oncology — we know who.</p><a class=cta2 href="#">Learn more →</a></div><div><h3>Senior care</h3><p>Quarterly visit + lab panel for patients 8+.</p><a class=cta2 href="#">Learn more →</a></div>
+</section>
+<footer class=foot>Stone Valley Pet Lodge · 11114 Red Rose Road, Petersburg, PA, 16669 · +1-814-667-3000</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15611-b.html b/public/mockups/biz-15611-b.html
new file mode 100644
index 0000000..8c31a3a
--- /dev/null
+++ b/public/mockups/biz-15611-b.html
@@ -0,0 +1,23 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:Georgia,'Times New Roman',serif;background:#f6f0fa;color:#26183b;margin:0}
+.hero{padding:6em 4em 5em;background:linear-gradient(165deg,#f6f0fa,#fff);border-bottom:1px solid #e0d8c8}
+.eb{text-transform:uppercase;letter-spacing:.1em;color:#e0a050;font-weight:600;font-size:.85em}
+.hero h1{font-size:3em;margin:.3em 0 .3em;letter-spacing:-.02em;font-weight:400;color:#5e3a8a}
+.hero p{font-size:1.2em;color:#6c5e7c;max-width:600px}
+.cta{display:inline-block;background:#5e3a8a;color:#fff;padding:1em 2em;border-radius:0;margin-top:1.5em;text-decoration:none;font-family:Helvetica,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase;font-size:.9em}
+.row{display:grid;grid-template-columns:repeat(3,1fr);gap:3em;padding:4em}
+.row h3{font-weight:400;font-size:1.3em;border-bottom:1px solid #e0a050;padding-bottom:.5em;color:#5e3a8a}
+.foot{padding:2em 4em;background:#5e3a8a;color:#fff;font-family:Helvetica,Arial,sans-serif;opacity:.95}
+</style></head><body>
+<section class=hero>
+ <small class=eb>Family-owned</small>
+ <h1>Stone Valley Pet Lodge</h1>
+ <p>Built around your pet, your family, your time. Trusted by Petersburg for everyday care and the occasional emergency.</p>
+ <a class=cta href="#book">Schedule a visit</a>
+</section>
+<section class=row>
+ <div><h3>Same-day visits</h3><p>Don't wait a week. Call by 10am, see us by 5pm.</p></div><div><h3>Behavior & training</h3><p>In-clinic consultations and at-home plans.</p></div><div><h3>House-call program</h3><p>Visits at home for senior or anxious patients.</p></div>
+</section>
+<footer class=foot>Stone Valley Pet Lodge · 11114 Red Rose Road, Petersburg, PA, 16669 · +1-814-667-3000</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15611-c.html b/public/mockups/biz-15611-c.html
new file mode 100644
index 0000000..4074854
--- /dev/null
+++ b/public/mockups/biz-15611-c.html
@@ -0,0 +1,26 @@
+<!doctype html><html><head><meta charset=utf-8>
+<style>
+body{font-family:-apple-system,BlinkMacSystemFont,'Inter',sans-serif;background:#fff;color:#15182a;margin:0}
+.nav{display:flex;align-items:center;padding:1.2em 2em;border-bottom:1px solid #e5e7eb}
+.nav strong{font-size:1.15em;color:#3a4a8a}.nav a{margin-left:1.5em;color:#5e6280;text-decoration:none}
+.hero{padding:5em 2em 4em;text-align:center;background:linear-gradient(180deg,#eef0f6,#fff)}
+.hero h1{font-size:3.5em;margin:0;font-weight:700;letter-spacing:-.03em;color:#15182a}
+.hero p{color:#5e6280;font-size:1.25em;max-width:560px;margin:1em auto 2em}
+.cta{display:inline-block;background:#3a4a8a;color:#fff;padding:1em 2.2em;border-radius:10px;text-decoration:none;font-weight:600;box-shadow:0 4px 14px rgba(0,0,0,.15)}
+.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25em;padding:3em 2em;max-width:1100px;margin:0 auto}
+.card{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:1.5em}
+.card h3{margin:0 0 .4em;font-size:1.1em;color:#3a4a8a}
+.card p{color:#5e6280;margin:0;font-size:.95em}
+.foot{padding:2em;background:#1c2052;color:#cbd5e1;text-align:center}
+</style></head><body>
+<nav class=nav><strong>Stone Valley Pet Lodge</strong><a href="#">Services</a><a href="#">Team</a><a href="#">Visit</a><a href="#">Book</a></nav>
+<section class=hero>
+ <h1>A trusted name in your neighborhood.</h1>
+ <p>A small, attentive practice in the heart of Petersburg.</p>
+ <a class=cta href="#book">Make an appointment →</a>
+</section>
+<section class=cards>
+ <div class=card><h3>New patient visits</h3><p>A real intake conversation, not a clipboard.</p></div><div class=card><h3>Specialty referrals</h3><p>Dermatology, cardiology, oncology — we know who.</p></div><div class=card><h3>Senior care</h3><p>Quarterly visit + lab panel for patients 8+.</p></div>
+</section>
+<footer class=foot>Stone Valley Pet Lodge · 11114 Red Rose Road, Petersburg, PA, 16669 · +1-814-667-3000</footer>
+</body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15629-a.html b/public/mockups/biz-15629-a.html
new file mode 100644
index 0000000..0e9a47f
--- /dev/null
+++ b/public/mockups/biz-15629-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&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)}
+
+ .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#e5e0d8 0%,#fffaf3 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 · Plymouth Meeting, PA</small>
+ <h1>Hickory Veterinary Hospital</h1>
+ <p>Caring for Plymouth Meeting'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., Plymouth Meeting</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">2303 Hickory Road, Plymouth Meeting, PA, 19462 · +1 610-880-3534</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15629-b.html b/public/mockups/biz-15629-b.html
new file mode 100644
index 0000000..cffd101
--- /dev/null
+++ b/public/mockups/biz-15629-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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#22201d; --paper:#f5efea; --accent:#a13d2d;
+ --accent2:#3a4a3a; --muted:#7a7166; --rule:#e0d6cb;
+ --h-font:'Cormorant Garamond', serif; --b-font:'Lato', 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)}
+
+ .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>Hickory Veterinary Hospital</h1>
+ <small>vet clinic · Plymouth Meeting, PA · 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)">2303 Hickory Road, Plymouth Meeting, PA, 19462 · +1 610-880-3534</footer>
+ </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15629-c.html b/public/mockups/biz-15629-c.html
new file mode 100644
index 0000000..e6c2d4e
--- /dev/null
+++ b/public/mockups/biz-15629-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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#171515; --paper:#f5f5f4; --accent:#44403c;
+ --accent2:#a18267; --muted:#78716c; --rule:#e7e5e4;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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)}
+
+ 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 · Plymouth Meeting</small>
+ <h1>Hickory Veterinary Hospital</h1>
+ <div class=tag>A veterinary concierge for Plymouth Meeting 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">2303 Hickory Road, Plymouth Meeting, PA, 19462 · +1 610-880-3534</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15630-a.html b/public/mockups/biz-15630-a.html
new file mode 100644
index 0000000..2d0de5f
--- /dev/null
+++ b/public/mockups/biz-15630-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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&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: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{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 · Denver, PA</small>
+ <h1>Adamstown Veterinary 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)">2481 North Reading Road, Denver, PA, 17517 · +1 717-484-0440</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15630-b.html b/public/mockups/biz-15630-b.html
new file mode 100644
index 0000000..f85732a
--- /dev/null
+++ b/public/mockups/biz-15630-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%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+ --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+ --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)}
+
+ .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>Adamstown Veterinary Hospital</h1>
+ <p>The Denver 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)">2481 North Reading Road, Denver, PA, 17517 · +1 717-484-0440</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15630-c.html b/public/mockups/biz-15630-c.html
new file mode 100644
index 0000000..b799bad
--- /dev/null
+++ b/public/mockups/biz-15630-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#221913; --paper:#faf2e8; --accent:#5a3920;
+ --accent2:#c97a3e; --muted:#7d6e5d; --rule:#ead9c1;
+ --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)}
+
+ .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#ead9c1 0%,#faf2e8 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 · Denver, PA</small>
+ <h1>Adamstown Veterinary Hospital</h1>
+ <p>Caring for Denver'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., Denver</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">2481 North Reading Road, Denver, PA, 17517 · +1 717-484-0440</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15633-a.html b/public/mockups/biz-15633-a.html
new file mode 100644
index 0000000..555e342
--- /dev/null
+++ b/public/mockups/biz-15633-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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --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)}
+
+ .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%, #1f2937 0%, #fde2cf 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">shelter</small>
+ <h1>The Freedom Center for Animal Life-Saving</h1>
+ <p class=lead>The veterinary practice Reading 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)">1801 North 11th Street, Reading, PA, 19604 · +1 610-921-2348</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15633-b.html b/public/mockups/biz-15633-b.html
new file mode 100644
index 0000000..b62815d
--- /dev/null
+++ b/public/mockups/biz-15633-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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+ --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+ --h-font:'Nunito', serif; --b-font:'Nunito', 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>The Freedom Center for Animal Life-Saving</h1>
+ <span class=date>shelter · Reading, PA</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 Reading 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>1801 North 11th Street, Reading, PA, 19604 · +1 610-921-2348</p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15633-c.html b/public/mockups/biz-15633-c.html
new file mode 100644
index 0000000..cba5760
--- /dev/null
+++ b/public/mockups/biz-15633-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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+ --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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)}
+
+ .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e9d5ff,#faf5ff)}
+ .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">shelter · Reading, PA</small>
+ <h1>The Freedom Center for Animal Life-Saving</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)">1801 North 11th Street, Reading, PA, 19604 · +1 610-921-2348</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15634-a.html b/public/mockups/biz-15634-a.html
new file mode 100644
index 0000000..b02d3bb
--- /dev/null
+++ b/public/mockups/biz-15634-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%2BGrotesk%3Awght%40400%3B700%3B900%26family%3DSpace%2BGrotesk%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', 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)}
+
+ .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>Dog Park Mount Joy</h1>
+ <span class=date>dog park · , PA</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>PA · </p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15634-b.html b/public/mockups/biz-15634-b.html
new file mode 100644
index 0000000..b32cf2e
--- /dev/null
+++ b/public/mockups/biz-15634-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=Playfair%2BDisplay%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&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: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">dog park · , PA</small>
+ <h1>Dog Park Mount Joy</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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15634-c.html b/public/mockups/biz-15634-c.html
new file mode 100644
index 0000000..26c21e6
--- /dev/null
+++ b/public/mockups/biz-15634-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --h-font:'Inter', 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)}
+
+ 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 · 1989</small>
+ <h1>Dog Park Mount Joy</h1>
+ <div class=tag>A veterinary concierge for discerning 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">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15638-a.html b/public/mockups/biz-15638-a.html
new file mode 100644
index 0000000..20e6821
--- /dev/null
+++ b/public/mockups/biz-15638-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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%, #d4843e 0%, #ece2dc 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">dog park</small>
+ <h1>Dog Park at Masthope</h1>
+ <p class=lead>The veterinary practice our 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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15638-b.html b/public/mockups/biz-15638-b.html
new file mode 100644
index 0000000..dd488d4
--- /dev/null
+++ b/public/mockups/biz-15638-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=Space%2BGrotesk%3Awght%40400%3B700%3B900%26family%3DSpace%2BGrotesk%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1d2e; --paper:#f4f8fb; --accent:#0a4d6e;
+ --accent2:#e89241; --muted:#5d748a; --rule:#d5e1ea;
+ --h-font:'Space Grotesk', serif; --b-font:'Space Grotesk', 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>Dog Park at Masthope</h1>
+ <span class=date>dog park · , PA</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>PA · </p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15638-c.html b/public/mockups/biz-15638-c.html
new file mode 100644
index 0000000..0fc3f3b
--- /dev/null
+++ b/public/mockups/biz-15638-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+ --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+ --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', 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)}
+
+ .com-hero{padding:5em 3em;text-align:center;background:radial-gradient(circle at 30% 30%,#cbd5e1 0%,#f1f5f9 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>dog park · , PA</small>
+ <h1>Dog Park at Masthope</h1>
+ <p>Caring for this neighborhood'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., local resident</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">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15643-a.html b/public/mockups/biz-15643-a.html
new file mode 100644
index 0000000..28bd6c4
--- /dev/null
+++ b/public/mockups/biz-15643-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%2BGrotesk%3Awght%40400%3B700%3B900%26family%3DSpace%2BGrotesk%3Awght%40400%3B500%3B600%3B700&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: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{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 · Erie</small>
+ <h1>Orphan Angels</h1>
+ <div class=tag>A veterinary concierge for Erie 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">5439 West Lake Road, Erie, PA, 16505 · +18147460511</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15643-b.html b/public/mockups/biz-15643-b.html
new file mode 100644
index 0000000..b3f4756
--- /dev/null
+++ b/public/mockups/biz-15643-b.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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f1a; --paper:#f1faf6; --accent:#1d8466;
+ --accent2:#d97706; --muted:#5a716a; --rule:#cce8db;
+ --h-font:'Inter', serif; --b-font:'Inter', 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{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>Orphan Angels</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>Orphan Angels.</h1>
+ <p>A small, deliberately quiet veterinary practice in Erie.<br>By appointment.</p>
+ <a class=arrow href=#book>Request an appointment →</a>
+ </main>
+ <footer class=min-foot><span>5439 West Lake Road, Erie, PA, 16505</span><span>+18147460511</span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15643-c.html b/public/mockups/biz-15643-c.html
new file mode 100644
index 0000000..a1ca4fd
--- /dev/null
+++ b/public/mockups/biz-15643-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+ --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+ --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)}
+
+ .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#f0e3dc,#fff9f6);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>shelter</small>
+ <h1>Orphan Angels</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Erie.</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)">5439 West Lake Road, Erie, PA, 16505 · +18147460511</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15647-a.html b/public/mockups/biz-15647-a.html
new file mode 100644
index 0000000..5f12de2
--- /dev/null
+++ b/public/mockups/biz-15647-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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+ --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+ --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)}
+
+ .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>Shrewsbury 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 · Shrewsbury, PA</small>
+ <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+ <p>The veterinary practice Shrewsbury 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)">85 East Forrest Avenue, Shrewsbury, PA, 17361 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15647-b.html b/public/mockups/biz-15647-b.html
new file mode 100644
index 0000000..1553aa5
--- /dev/null
+++ b/public/mockups/biz-15647-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+ --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+ --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)}
+
+ 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 · Shrewsbury, PA</small>
+ <h1>Shrewsbury Veterinary Clinic</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)">85 East Forrest Avenue, Shrewsbury, PA, 17361 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15647-c.html b/public/mockups/biz-15647-c.html
new file mode 100644
index 0000000..a700709
--- /dev/null
+++ b/public/mockups/biz-15647-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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+ --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+ --h-font:'Libre Baskerville', serif; --b-font:'Open 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 · Shrewsbury</small>
+ <h1>Shrewsbury Veterinary Clinic</h1>
+ <div class=tag>A veterinary concierge for Shrewsbury 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">85 East Forrest Avenue, Shrewsbury, PA, 17361 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15656-a.html b/public/mockups/biz-15656-a.html
new file mode 100644
index 0000000..967bd32
--- /dev/null
+++ b/public/mockups/biz-15656-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ 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>Bald Eagle Beagle Club</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>Bald Eagle Beagle Club.</h1>
+ <p>A small, deliberately quiet veterinary practice in this town.<br>By appointment.</p>
+ <a class=arrow href=#book>Request an appointment →</a>
+ </main>
+ <footer class=min-foot><span>PA</span><span></span></footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15656-b.html b/public/mockups/biz-15656-b.html
new file mode 100644
index 0000000..0f7905d
--- /dev/null
+++ b/public/mockups/biz-15656-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%2BGrotesk%3Awght%40400%3B700%3B900%26family%3DSpace%2BGrotesk%3Awght%40400%3B500%3B600%3B700&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: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%,#e7e5e4 0%,#f5f5f4 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>boarding · , PA</small>
+ <h1>Bald Eagle Beagle Club</h1>
+ <p>Caring for this neighborhood'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., local resident</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">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15656-c.html b/public/mockups/biz-15656-c.html
new file mode 100644
index 0000000..6b3eaf3
--- /dev/null
+++ b/public/mockups/biz-15656-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1f1d18; --paper:#f6f1e9; --accent:#7a8767;
+ --accent2:#a85e2c; --muted:#7c7665; --rule:#dfd5c3;
+ --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)}
+
+ .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>boarding · , PA</small>
+ <h1>Bald Eagle Beagle Club</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>Bald Eagle Beagle Club · PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15667-a.html b/public/mockups/biz-15667-a.html
new file mode 100644
index 0000000..4741b0b
--- /dev/null
+++ b/public/mockups/biz-15667-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&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)}
+
+ .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>Country Doctor Veterinary Hospital</h1>
+ <span class=date>vet clinic · New Tripoli, PA</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 New Tripoli 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>6807 Weiss Road, New Tripoli, PA, 18066 · +16102982520</p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15667-b.html b/public/mockups/biz-15667-b.html
new file mode 100644
index 0000000..8367350
--- /dev/null
+++ b/public/mockups/biz-15667-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+ --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+ --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)}
+
+ .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>Country Doctor Veterinary 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 · New Tripoli, PA</small>
+ <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+ <p>The veterinary practice New Tripoli 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)">6807 Weiss Road, New Tripoli, PA, 18066 · +16102982520</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15667-c.html b/public/mockups/biz-15667-c.html
new file mode 100644
index 0000000..6d8a1ec
--- /dev/null
+++ b/public/mockups/biz-15667-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --h-font:'Source Serif Pro', serif; --b-font:'Source Sans Pro', 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%, #0c4a6e 0%, #fee9b0 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>Country Doctor Veterinary Hospital</h1>
+ <p class=lead>The veterinary practice New Tripoli 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)">6807 Weiss Road, New Tripoli, PA, 18066 · +16102982520</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15672-a.html b/public/mockups/biz-15672-a.html
new file mode 100644
index 0000000..4286de6
--- /dev/null
+++ b/public/mockups/biz-15672-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&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)}
+
+ .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>Dutton Road Veterinary Clinic</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 · Philadelphia, PA</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)">10901 Dutton Road, Philadelphia, PA, 19154 · +1 215 331 2968</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15672-b.html b/public/mockups/biz-15672-b.html
new file mode 100644
index 0000000..35c2f6b
--- /dev/null
+++ b/public/mockups/biz-15672-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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&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: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{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 · Philadelphia</small>
+ <h1>Dutton Road Veterinary Clinic</h1>
+ <div class=tag>A veterinary concierge for Philadelphia 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">10901 Dutton Road, Philadelphia, PA, 19154 · +1 215 331 2968</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15672-c.html b/public/mockups/biz-15672-c.html
new file mode 100644
index 0000000..eb1f87e
--- /dev/null
+++ b/public/mockups/biz-15672-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+ --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+ --h-font:'Inter', 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)}
+
+ .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#d8d5e0,#f4f3f6);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>Dutton Road Veterinary Clinic</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Philadelphia.</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)">10901 Dutton Road, Philadelphia, PA, 19154 · +1 215 331 2968</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15675-a.html b/public/mockups/biz-15675-a.html
new file mode 100644
index 0000000..cb1020d
--- /dev/null
+++ b/public/mockups/biz-15675-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=Playfair%2BDisplay%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+ --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+ --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)}
+
+ .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>Antietam Humane Society</h1>
+ <small>shelter · Waynesboro, PA · 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)">8513 Lyons Road, Waynesboro, PA, 17268 · +1 717-762-9091</footer>
+ </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15675-b.html b/public/mockups/biz-15675-b.html
new file mode 100644
index 0000000..93b0af9
--- /dev/null
+++ b/public/mockups/biz-15675-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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&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: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,#f8fafc,#e2e8f0);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 · Waynesboro, PA</small>
+ <h1>Antietam Humane Society</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>Antietam Humane Society · 8513 Lyons Road, Waynesboro, PA, 17268 · +1 717-762-9091</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15675-c.html b/public/mockups/biz-15675-c.html
new file mode 100644
index 0000000..be0cdb5
--- /dev/null
+++ b/public/mockups/biz-15675-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%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --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)}
+
+ 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 · Waynesboro, PA</small>
+ <h1>Antietam Humane Society</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)">8513 Lyons Road, Waynesboro, PA, 17268 · +1 717-762-9091</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15695-a.html b/public/mockups/biz-15695-a.html
new file mode 100644
index 0000000..f848daf
--- /dev/null
+++ b/public/mockups/biz-15695-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=Playfair%2BDisplay%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+ --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+ --h-font:'Playfair Display', serif; --b-font:'Inter', 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>Sweet Dreams Groom and Board</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 · Mill Hall, PA</small>
+ <h1>Modern medicine. Honest pricing. Real follow-through.</h1>
+ <p>The veterinary practice Mill Hall 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)">168 Sunrise Lane, Mill Hall, PA, 17751 · +1-570-377-0340</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15695-b.html b/public/mockups/biz-15695-b.html
new file mode 100644
index 0000000..a329409
--- /dev/null
+++ b/public/mockups/biz-15695-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#221913; --paper:#faf2e8; --accent:#5a3920;
+ --accent2:#c97a3e; --muted:#7d6e5d; --rule:#ead9c1;
+ --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)}
+
+ .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%, #c97a3e 0%, #ead9c1 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>Sweet Dreams Groom and Board</h1>
+ <p class=lead>The veterinary practice Mill Hall 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)">168 Sunrise Lane, Mill Hall, PA, 17751 · +1-570-377-0340</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15695-c.html b/public/mockups/biz-15695-c.html
new file mode 100644
index 0000000..cc8e4e2
--- /dev/null
+++ b/public/mockups/biz-15695-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+ --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+ --h-font:'Merriweather', serif; --b-font:'IBM Plex 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>Sweet Dreams Groom and Board</h1>
+ <span class=date>boarding · Mill Hall, PA</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 Mill Hall 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>168 Sunrise Lane, Mill Hall, PA, 17751 · +1-570-377-0340</p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15702-a.html b/public/mockups/biz-15702-a.html
new file mode 100644
index 0000000..48ee094
--- /dev/null
+++ b/public/mockups/biz-15702-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Bloomsburg 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 · , PA</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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15702-b.html b/public/mockups/biz-15702-b.html
new file mode 100644
index 0000000..dc4f109
--- /dev/null
+++ b/public/mockups/biz-15702-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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+ --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+ --h-font:'Lora', serif; --b-font:'Public 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,#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">dog park · , PA</small>
+ <h1>Bloomsburg 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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15702-c.html b/public/mockups/biz-15702-c.html
new file mode 100644
index 0000000..65d0f01
--- /dev/null
+++ b/public/mockups/biz-15702-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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+ --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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)}
+
+ .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%, #345b3b 0%, #ebd5d0 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">dog park</small>
+ <h1>Bloomsburg Dog Park</h1>
+ <p class=lead>The veterinary practice our 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)">PA · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15703-a.html b/public/mockups/biz-15703-a.html
new file mode 100644
index 0000000..5e9263d
--- /dev/null
+++ b/public/mockups/biz-15703-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%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+ --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+ --h-font:'Merriweather', serif; --b-font:'IBM Plex 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)}
+
+ .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%, #b8956a 0%, #e5e5e5 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>Galindo Veterinary</h1>
+ <p class=lead>The veterinary practice Allentown 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)">6594 Hamilton Boulevard, Allentown, PA, 18106 · +14842746686</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15703-b.html b/public/mockups/biz-15703-b.html
new file mode 100644
index 0000000..1eda84b
--- /dev/null
+++ b/public/mockups/biz-15703-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=Playfair%2BDisplay%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#181818; --paper:#fff9f6; --accent:#d94545;
+ --accent2:#1d4ed8; --muted:#737373; --rule:#f0e3dc;
+ --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)}
+
+ .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 · Allentown, PA</small>
+ <h1>Galindo Veterinary</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)">6594 Hamilton Boulevard, Allentown, PA, 18106 · +14842746686</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15703-c.html b/public/mockups/biz-15703-c.html
new file mode 100644
index 0000000..7b2c6d5
--- /dev/null
+++ b/public/mockups/biz-15703-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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+ --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+ --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)}
+
+ .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>Galindo Veterinary</h1>
+ <p>The Allentown 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)">6594 Hamilton Boulevard, Allentown, PA, 18106 · +14842746686</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15704-a.html b/public/mockups/biz-15704-a.html
new file mode 100644
index 0000000..baf9bba
--- /dev/null
+++ b/public/mockups/biz-15704-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%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#000000; --paper:#fffaf3; --accent:#000000;
+ --accent2:#a16207; --muted:#525252; --rule:#e5e0d8;
+ --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)}
+
+ .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>White Haven Veterinary Hospital</h1>
+ <p>The White Haven 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)">88 State Route, White Haven, PA, 18661 · +1 570-443-0966</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15704-b.html b/public/mockups/biz-15704-b.html
new file mode 100644
index 0000000..50a437d
--- /dev/null
+++ b/public/mockups/biz-15704-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1d2e; --paper:#f4f8fb; --accent:#0a4d6e;
+ --accent2:#e89241; --muted:#5d748a; --rule:#d5e1ea;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f4f8fb,#d5e1ea);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 · White Haven, PA</small>
+ <h1>White Haven Veterinary 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>White Haven Veterinary Hospital · 88 State Route, White Haven, PA, 18661 · +1 570-443-0966</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15704-c.html b/public/mockups/biz-15704-c.html
new file mode 100644
index 0000000..a971f46
--- /dev/null
+++ b/public/mockups/biz-15704-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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>White Haven Veterinary 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>88 State Route, White Haven, PA, 18661 · +1 570-443-0966</p>
+ </section>
+ </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15707-a.html b/public/mockups/biz-15707-a.html
new file mode 100644
index 0000000..7dc9bc5
--- /dev/null
+++ b/public/mockups/biz-15707-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&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: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,#ffffff,#e5e5e5);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 · Alburtis, PA</small>
+ <h1>Cold Nose Lodge</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>Cold Nose Lodge · 235 West Penn Avenue, Alburtis, PA, 18011 · +16109653647</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15707-b.html b/public/mockups/biz-15707-b.html
new file mode 100644
index 0000000..dcf7543
--- /dev/null
+++ b/public/mockups/biz-15707-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=Spectral%3Awght%40400%3B700%3B900%26family%3DWork%2BSans%3Awght%40400%3B500%3B600%3B700&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: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%,#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>boarding · Alburtis, PA</small>
+ <h1>Cold Nose Lodge</h1>
+ <p>Caring for Alburtis'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., Alburtis</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">235 West Penn Avenue, Alburtis, PA, 18011 · +16109653647</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15707-c.html b/public/mockups/biz-15707-c.html
new file mode 100644
index 0000000..ce79bcf
--- /dev/null
+++ b/public/mockups/biz-15707-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%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#f6f6fb; --accent:#3a3a72;
+ --accent2:#e3589d; --muted:#6b6989; --rule:#e0dfeb;
+ --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)}
+
+ .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">boarding</small>
+ <h1>Cold Nose Lodge</h1>
+ <p>The Alburtis 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)">235 West Penn Avenue, Alburtis, PA, 18011 · +16109653647</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15708-a.html b/public/mockups/biz-15708-a.html
new file mode 100644
index 0000000..65c738e
--- /dev/null
+++ b/public/mockups/biz-15708-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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1f1818; --paper:#fdf8f3; --accent:#a01a3a;
+ --accent2:#345b3b; --muted:#807070; --rule:#ebd5d0;
+ --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)}
+
+ .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>Macungie Animal Hospital</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 · Macungie, PA</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)">161 East Main Street, Macungie, PA, 18062 · +16104218381</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15708-b.html b/public/mockups/biz-15708-b.html
new file mode 100644
index 0000000..0364c76
--- /dev/null
+++ b/public/mockups/biz-15708-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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .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>vet clinic · Macungie, PA</small>
+ <h1>Macungie Animal Hospital</h1>
+ <p>Caring for Macungie'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., Macungie</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">161 East Main Street, Macungie, PA, 18062 · +16104218381</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15708-c.html b/public/mockups/biz-15708-c.html
new file mode 100644
index 0000000..5cb1103
--- /dev/null
+++ b/public/mockups/biz-15708-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=Playfair%2BDisplay%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e1b3a; --paper:#faf5ff; --accent:#7c3aed;
+ --accent2:#d97706; --muted:#6b6989; --rule:#e9d5ff;
+ --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)}
+
+ .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>vet clinic</small>
+ <h1>Macungie Animal Hospital</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Macungie.</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)">161 East Main Street, Macungie, PA, 18062 · +16104218381</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15723-a.html b/public/mockups/biz-15723-a.html
new file mode 100644
index 0000000..5d6f213
--- /dev/null
+++ b/public/mockups/biz-15723-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --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)}
+
+ .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>Forest Inn Veterinary Hospital</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 · Lehighton, PA</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)">5285 Interchange Road, Lehighton, PA, 18235 · +16103778600</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15723-b.html b/public/mockups/biz-15723-b.html
new file mode 100644
index 0000000..8c9c1d5
--- /dev/null
+++ b/public/mockups/biz-15723-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=Inter%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&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: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,#d5e1ea,#f4f8fb);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>Forest Inn Veterinary Hospital</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Lehighton.</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)">5285 Interchange Road, Lehighton, PA, 18235 · +16103778600</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15723-c.html b/public/mockups/biz-15723-c.html
new file mode 100644
index 0000000..8f66ea1
--- /dev/null
+++ b/public/mockups/biz-15723-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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --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)}
+
+ .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e5e5e0,#fcfcfa)}
+ .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 · Lehighton, PA</small>
+ <h1>Forest Inn Veterinary 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)">5285 Interchange Road, Lehighton, PA, 18235 · +16103778600</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15739-a.html b/public/mockups/biz-15739-a.html
new file mode 100644
index 0000000..77fa3ca
--- /dev/null
+++ b/public/mockups/biz-15739-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%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c0c1c; --paper:#f4f3f6; --accent:#581c87;
+ --accent2:#737373; --muted:#787078; --rule:#d8d5e0;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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,#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>dog park · Allentown, PA</small>
+ <h1>Judge Memorial 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>Judge Memorial Dog Park · 791 Dixon Street, Allentown, PA, 18103 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15739-b.html b/public/mockups/biz-15739-b.html
new file mode 100644
index 0000000..b7264f8
--- /dev/null
+++ b/public/mockups/biz-15739-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=Space%2BGrotesk%3Awght%40400%3B700%3B900%26family%3DSpace%2BGrotesk%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --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)}
+
+ 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 · Allentown</small>
+ <h1>Judge Memorial Dog Park</h1>
+ <div class=tag>A veterinary concierge for Allentown 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">791 Dixon Street, Allentown, PA, 18103 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15739-c.html b/public/mockups/biz-15739-c.html
new file mode 100644
index 0000000..c00f956
--- /dev/null
+++ b/public/mockups/biz-15739-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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Judge Memorial Dog Park</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>791 Dixon Street, Allentown, PA, 18103 · </p>
+ </section>
+ </main></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15742-a.html b/public/mockups/biz-15742-a.html
new file mode 100644
index 0000000..e8d803b
--- /dev/null
+++ b/public/mockups/biz-15742-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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a14; --paper:#f0e8d8; --accent:#0a0a14;
+ --accent2:#c8a85e; --muted:#5d5e6e; --rule:#dccfb3;
+ --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)}
+
+ .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%, #c8a85e 0%, #dccfb3 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>Upper Saucon Animal Hospital</h1>
+ <p class=lead>The veterinary practice Coopersburg 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)">2849 Pike Avenue, Coopersburg, PA, 18036 · +16107975111</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15742-b.html b/public/mockups/biz-15742-b.html
new file mode 100644
index 0000000..13fe933
--- /dev/null
+++ b/public/mockups/biz-15742-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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+ --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+ --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)}
+
+ .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>Upper Saucon Animal Hospital</h1>
+ <span class=date>vet clinic · Coopersburg, PA</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 Coopersburg 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>2849 Pike Avenue, Coopersburg, PA, 18036 · +16107975111</p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15742-c.html b/public/mockups/biz-15742-c.html
new file mode 100644
index 0000000..6f3f3d7
--- /dev/null
+++ b/public/mockups/biz-15742-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=Playfair%2BDisplay%3Awght%40400%3B700%3B900%26family%3DInter%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f8fafc; --accent:#0ea5e9;
+ --accent2:#f97316; --muted:#64748b; --rule:#e2e8f0;
+ --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)}
+
+ .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e2e8f0,#f8fafc);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>Upper Saucon Animal Hospital</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Coopersburg.</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)">2849 Pike Avenue, Coopersburg, PA, 18036 · +16107975111</footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15746-a.html b/public/mockups/biz-15746-a.html
new file mode 100644
index 0000000..cd2aa2e
--- /dev/null
+++ b/public/mockups/biz-15746-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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --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)}
+
+ .bq-hero{padding:5em 4em;background:linear-gradient(180deg,#e5e5e0,#fcfcfa);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>dog park</small>
+ <h1>Riverside Dog Park</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Hawley.</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)">757 Church Street, Hawley, PA, 18428 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15746-b.html b/public/mockups/biz-15746-b.html
new file mode 100644
index 0000000..ed54911
--- /dev/null
+++ b/public/mockups/biz-15746-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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&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>Riverside 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 Hawley 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)">757 Church Street, Hawley, PA, 18428 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15746-c.html b/public/mockups/biz-15746-c.html
new file mode 100644
index 0000000..96d30a1
--- /dev/null
+++ b/public/mockups/biz-15746-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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --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)}
+
+ .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">dog park · Hawley, PA</small>
+ <h1>Riverside 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)">757 Church Street, Hawley, PA, 18428 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15748-a.html b/public/mockups/biz-15748-a.html
new file mode 100644
index 0000000..b3034a5
--- /dev/null
+++ b/public/mockups/biz-15748-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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&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: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">dog park · Philipsburg, PA</small>
+ <h1>Philipsburg 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)">1369 East Pine Street, Philipsburg, PA, 16866 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15748-b.html b/public/mockups/biz-15748-b.html
new file mode 100644
index 0000000..5926b11
--- /dev/null
+++ b/public/mockups/biz-15748-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1e293b; --paper:#f1f5f9; --accent:#334155;
+ --accent2:#0ea5e9; --muted:#64748b; --rule:#cbd5e1;
+ --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)}
+
+ .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>Philipsburg 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 Philipsburg 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)">1369 East Pine Street, Philipsburg, PA, 16866 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15748-c.html b/public/mockups/biz-15748-c.html
new file mode 100644
index 0000000..736911d
--- /dev/null
+++ b/public/mockups/biz-15748-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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#ffffff; --accent:#262626;
+ --accent2:#b8956a; --muted:#737373; --rule:#e5e5e5;
+ --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)}
+
+ .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>Philipsburg Dog Park</h1>
+ <small>dog park · Philipsburg, PA · 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)">1369 East Pine Street, Philipsburg, PA, 16866 · </footer>
+ </article></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15774-a.html b/public/mockups/biz-15774-a.html
new file mode 100644
index 0000000..925b447
--- /dev/null
+++ b/public/mockups/biz-15774-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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a1a1a; --paper:#fafaf7; --accent:#0f4d3a;
+ --accent2:#c97a3e; --muted:#6b6b6b; --rule:#e6e1d6;
+ --h-font:'Cormorant Garamond', serif; --b-font:'Lato', 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>Best Friends 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 Chambersburg 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)">1988 Lincoln Way West, Chambersburg, PA, 17202 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15774-b.html b/public/mockups/biz-15774-b.html
new file mode 100644
index 0000000..7639229
--- /dev/null
+++ b/public/mockups/biz-15774-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=Merriweather%3Awght%40400%3B700%3B900%26family%3DIBM%2BPlex%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a14; --paper:#f0e8d8; --accent:#0a0a14;
+ --accent2:#c8a85e; --muted:#5d5e6e; --rule:#dccfb3;
+ --h-font:'Merriweather', serif; --b-font:'IBM Plex 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,#dccfb3,#f0e8d8)}
+ .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 · Chambersburg, PA</small>
+ <h1>Best Friends 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)">1988 Lincoln Way West, Chambersburg, PA, 17202 · </footer></body></html>
\ No newline at end of file
diff --git a/public/mockups/biz-15774-c.html b/public/mockups/biz-15774-c.html
new file mode 100644
index 0000000..d672e3f
--- /dev/null
+++ b/public/mockups/biz-15774-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%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c0c10; --paper:#f8f0e8; --accent:#6b1820;
+ --accent2:#a18443; --muted:#73575a; --rule:#e6d4c3;
+ --h-font:'Lora', serif; --b-font:'Public 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)}
+
+ .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>Best Friends Animal Hospital</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 · Chambersburg, PA</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)">1988 Lincoln Way West, Chambersburg, PA, 17202 · </footer></body></html>
\ No newline at end of file
diff --git a/public/sites/creme-do-la-creme-algonquin-il-5552/contact.html b/public/sites/creme-do-la-creme-algonquin-il-5552/contact.html
new file mode 100644
index 0000000..2c94da2
--- /dev/null
+++ b/public/sites/creme-do-la-creme-algonquin-il-5552/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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f0f9ff,#bae6fd);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 · Algonquin, IL</small>
+ <h1>Creme Do La Creme</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>Creme Do La Creme · 1329 South Main Street, Algonquin, IL, 60102 · +1-847-658-5200</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>Creme Do La Creme</strong><br>
+ 1329 South Main Street, Algonquin, IL, 60102<br>
+ <a href="tel:+1-847-658-5200">+1-847-658-5200</a><br>
+
+ <a href="http://www.riverviewpizza.com" target="_blank" rel="noopener">http://www.riverviewpizza.com</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/creme-do-la-creme-algonquin-il-5552/index.html b/public/sites/creme-do-la-creme-algonquin-il-5552/index.html
new file mode 100644
index 0000000..7b9aca6
--- /dev/null
+++ b/public/sites/creme-do-la-creme-algonquin-il-5552/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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f0f9ff,#bae6fd);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 · Algonquin, IL</small>
+ <h1>Creme Do La Creme</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>Creme Do La Creme · 1329 South Main Street, Algonquin, IL, 60102 · +1-847-658-5200</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/creme-do-la-creme-algonquin-il-5552/services.html b/public/sites/creme-do-la-creme-algonquin-il-5552/services.html
new file mode 100644
index 0000000..76d2863
--- /dev/null
+++ b/public/sites/creme-do-la-creme-algonquin-il-5552/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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f0f9ff,#bae6fd);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 · Algonquin, IL</small>
+ <h1>Creme Do La Creme</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>Creme Do La Creme · 1329 South Main Street, Algonquin, IL, 60102 · +1-847-658-5200</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/creme-do-la-creme-algonquin-il-5552/team.html b/public/sites/creme-do-la-creme-algonquin-il-5552/team.html
new file mode 100644
index 0000000..291be43
--- /dev/null
+++ b/public/sites/creme-do-la-creme-algonquin-il-5552/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=Source%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#f0f9ff,#bae6fd);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 · Algonquin, IL</small>
+ <h1>Creme Do La Creme</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>Creme Do La Creme · 1329 South Main Street, Algonquin, IL, 60102 · +1-847-658-5200</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-847-658-5200 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/earthwise-pet-naperville-il-5565/contact.html b/public/sites/earthwise-pet-naperville-il-5565/contact.html
new file mode 100644
index 0000000..7c58d77
--- /dev/null
+++ b/public/sites/earthwise-pet-naperville-il-5565/contact.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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Libre Baskerville', serif; --b-font:'Open 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,#fde68a,#fffce8);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>EarthWise Pet</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Naperville.</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)">790 Royal Saint George Drive, Naperville, IL, 60563 · +1 630 470 9739</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>EarthWise Pet</strong><br>
+ 790 Royal Saint George Drive, Naperville, IL, 60563<br>
+ <a href="tel:+1 630 470 9739">+1 630 470 9739</a><br>
+
+ <a href="https://naperville.earthwisepet.com/" target="_blank" rel="noopener">https://naperville.earthwisepet.com/</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/earthwise-pet-naperville-il-5565/index.html b/public/sites/earthwise-pet-naperville-il-5565/index.html
new file mode 100644
index 0000000..c02944d
--- /dev/null
+++ b/public/sites/earthwise-pet-naperville-il-5565/index.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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Libre Baskerville', serif; --b-font:'Open 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,#fde68a,#fffce8);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>EarthWise Pet</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Naperville.</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)">790 Royal Saint George Drive, Naperville, IL, 60563 · +1 630 470 9739</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/earthwise-pet-naperville-il-5565/services.html b/public/sites/earthwise-pet-naperville-il-5565/services.html
new file mode 100644
index 0000000..d8dffc2
--- /dev/null
+++ b/public/sites/earthwise-pet-naperville-il-5565/services.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=Libre%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Libre Baskerville', serif; --b-font:'Open 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,#fde68a,#fffce8);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>EarthWise Pet</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Naperville.</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)">790 Royal Saint George Drive, Naperville, IL, 60563 · +1 630 470 9739</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/earthwise-pet-naperville-il-5565/team.html b/public/sites/earthwise-pet-naperville-il-5565/team.html
new file mode 100644
index 0000000..4bdd987
--- /dev/null
+++ b/public/sites/earthwise-pet-naperville-il-5565/team.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%2BBaskerville%3Awght%40400%3B700%3B900%26family%3DOpen%2BSans%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Libre Baskerville', serif; --b-font:'Open 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,#fde68a,#fffce8);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>EarthWise Pet</h1>
+ <p>A neighborhood veterinary practice that feels like home — in the best part of Naperville.</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)">790 Royal Saint George Drive, Naperville, IL, 60563 · +1 630 470 9739</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 630 470 9739 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/contact.html b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/contact.html
new file mode 100644
index 0000000..818a040
--- /dev/null
+++ b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/contact.html
@@ -0,0 +1,62 @@
+<!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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --h-font:'EB Garamond', serif; --b-font:'Karla', 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)}
+
+ 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 · Lake Forest, IL</small>
+ <h1>Lake Forest Animal Clinic</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)">1391 North Western Avenue, Lake Forest, IL, 60045 · +1-847-234-4011</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>Lake Forest Animal Clinic</strong><br>
+ 1391 North Western Avenue, Lake Forest, IL, 60045<br>
+ <a href="tel:+1-847-234-4011">+1-847-234-4011</a><br>
+
+ <a href="https://www.lfanimalclinic.com/" target="_blank" rel="noopener">https://www.lfanimalclinic.com/</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/index.html b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/index.html
new file mode 100644
index 0000000..cf31ad0
--- /dev/null
+++ b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/index.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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --h-font:'EB Garamond', serif; --b-font:'Karla', 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)}
+
+ 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 · Lake Forest, IL</small>
+ <h1>Lake Forest Animal Clinic</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)">1391 North Western Avenue, Lake Forest, IL, 60045 · +1-847-234-4011</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/services.html b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/services.html
new file mode 100644
index 0000000..e4a2000
--- /dev/null
+++ b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/services.html
@@ -0,0 +1,64 @@
+<!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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --h-font:'EB Garamond', serif; --b-font:'Karla', 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)}
+
+ 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 · Lake Forest, IL</small>
+ <h1>Lake Forest Animal Clinic</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)">1391 North Western Avenue, Lake Forest, IL, 60045 · +1-847-234-4011</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/lake-forest-animal-clinic-lake-forest-il-5545/team.html b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/team.html
new file mode 100644
index 0000000..8fcb988
--- /dev/null
+++ b/public/sites/lake-forest-animal-clinic-lake-forest-il-5545/team.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=EB%2BGaramond%3Awght%40400%3B700%3B900%26family%3DKarla%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1810; --paper:#fffaef; --accent:#a16207;
+ --accent2:#0c4a6e; --muted:#7d6e5d; --rule:#fee9b0;
+ --h-font:'EB Garamond', serif; --b-font:'Karla', 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)}
+
+ 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 · Lake Forest, IL</small>
+ <h1>Lake Forest Animal Clinic</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)">1391 North Western Avenue, Lake Forest, IL, 60045 · +1-847-234-4011</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-847-234-4011 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-berwyn-il-5538/contact.html b/public/sites/pet-supplies-plus-berwyn-il-5538/contact.html
new file mode 100644
index 0000000..1943ab1
--- /dev/null
+++ b/public/sites/pet-supplies-plus-berwyn-il-5538/contact.html
@@ -0,0 +1,69 @@
+<!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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .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>Pet Supplies Plus</h1>
+ <small>pet store · Berwyn, IL · 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)">7133 West Cermak Road, Berwyn, IL, 60402 · </footer>
+ </article><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>Pet Supplies Plus</strong><br>
+ 7133 West Cermak Road, Berwyn, IL, 60402<br>
+
+
+ <a href="https://www.petsuppliesplus.com/Store/IL/Berwyn/Berwyn/4246" target="_blank" rel="noopener">https://www.petsuppliesplus.com/Store/IL/Berwyn/Berwyn/4246</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-berwyn-il-5538/index.html b/public/sites/pet-supplies-plus-berwyn-il-5538/index.html
new file mode 100644
index 0000000..6287ed2
--- /dev/null
+++ b/public/sites/pet-supplies-plus-berwyn-il-5538/index.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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .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>Pet Supplies Plus</h1>
+ <small>pet store · Berwyn, IL · 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)">7133 West Cermak Road, Berwyn, IL, 60402 · </footer>
+ </article></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-berwyn-il-5538/services.html b/public/sites/pet-supplies-plus-berwyn-il-5538/services.html
new file mode 100644
index 0000000..cf4cee5
--- /dev/null
+++ b/public/sites/pet-supplies-plus-berwyn-il-5538/services.html
@@ -0,0 +1,71 @@
+<!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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .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>Pet Supplies Plus</h1>
+ <small>pet store · Berwyn, IL · 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)">7133 West Cermak Road, Berwyn, IL, 60402 · </footer>
+ </article><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/pet-supplies-plus-berwyn-il-5538/team.html b/public/sites/pet-supplies-plus-berwyn-il-5538/team.html
new file mode 100644
index 0000000..3885554
--- /dev/null
+++ b/public/sites/pet-supplies-plus-berwyn-il-5538/team.html
@@ -0,0 +1,64 @@
+<!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%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0f172a; --paper:#f0f9ff; --accent:#0284c7;
+ --accent2:#facc15; --muted:#475569; --rule:#bae6fd;
+ --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)}
+
+ .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>Pet Supplies Plus</h1>
+ <small>pet store · Berwyn, IL · 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)">7133 West Cermak Road, Berwyn, IL, 60402 · </footer>
+ </article><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/pet-supplies-plus-deerfield-il-5544/contact.html b/public/sites/pet-supplies-plus-deerfield-il-5544/contact.html
new file mode 100644
index 0000000..8c57c48
--- /dev/null
+++ b/public/sites/pet-supplies-plus-deerfield-il-5544/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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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>Pet Supplies Plus</h1>
+ <span class=date>pet store · Deerfield, 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 Deerfield 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>9 North Waukegan Road, Deerfield, IL, 60015 · </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>Pet Supplies Plus</strong><br>
+ 9 North Waukegan Road, Deerfield, IL, 60015<br>
+
+
+ <a href="https://www.petsuppliesplus.com/Store/IL/Deerfield/Deerfield/237" target="_blank" rel="noopener">https://www.petsuppliesplus.com/Store/IL/Deerfield/Deerfield/237</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-deerfield-il-5544/index.html b/public/sites/pet-supplies-plus-deerfield-il-5544/index.html
new file mode 100644
index 0000000..6bf1be6
--- /dev/null
+++ b/public/sites/pet-supplies-plus-deerfield-il-5544/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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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>Pet Supplies Plus</h1>
+ <span class=date>pet store · Deerfield, 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 Deerfield 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>9 North Waukegan Road, Deerfield, IL, 60015 · </p></footer>
+ </div></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-deerfield-il-5544/services.html b/public/sites/pet-supplies-plus-deerfield-il-5544/services.html
new file mode 100644
index 0000000..8f95b0a
--- /dev/null
+++ b/public/sites/pet-supplies-plus-deerfield-il-5544/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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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>Pet Supplies Plus</h1>
+ <span class=date>pet store · Deerfield, 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 Deerfield 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>9 North Waukegan Road, Deerfield, IL, 60015 · </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/pet-supplies-plus-deerfield-il-5544/team.html b/public/sites/pet-supplies-plus-deerfield-il-5544/team.html
new file mode 100644
index 0000000..b860e99
--- /dev/null
+++ b/public/sites/pet-supplies-plus-deerfield-il-5544/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=Manrope%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0a0a0a; --paper:#fffaf3; --accent:#dc2626;
+ --accent2:#1f2937; --muted:#52525b; --rule:#fde2cf;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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>Pet Supplies Plus</h1>
+ <span class=date>pet store · Deerfield, 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 Deerfield 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>9 North Waukegan Road, Deerfield, IL, 60015 · </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/pet-supplies-plus-merrionette-park-il-5537/contact.html b/public/sites/pet-supplies-plus-merrionette-park-il-5537/contact.html
new file mode 100644
index 0000000..6b5db88
--- /dev/null
+++ b/public/sites/pet-supplies-plus-merrionette-park-il-5537/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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+ --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fcf6f3,#ebd7cf);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 · Merrionette Park, IL</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 · 3205 West 115th Street, Merrionette Park, IL, 60803 · </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>Pet Supplies Plus</strong><br>
+ 3205 West 115th Street, Merrionette Park, IL, 60803<br>
+
+
+ <a href="https://www.petsuppliesplus.com/Store/IL/MERRIONETTE-PARK/Merrionette-Park/4038" target="_blank" rel="noopener">https://www.petsuppliesplus.com/Store/IL/MERRIONETTE-PARK/Merrionette-Park/4038</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-merrionette-park-il-5537/index.html b/public/sites/pet-supplies-plus-merrionette-park-il-5537/index.html
new file mode 100644
index 0000000..e2b824f
--- /dev/null
+++ b/public/sites/pet-supplies-plus-merrionette-park-il-5537/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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+ --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fcf6f3,#ebd7cf);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 · Merrionette Park, IL</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 · 3205 West 115th Street, Merrionette Park, IL, 60803 · </footer></body></html>
\ No newline at end of file
diff --git a/public/sites/pet-supplies-plus-merrionette-park-il-5537/services.html b/public/sites/pet-supplies-plus-merrionette-park-il-5537/services.html
new file mode 100644
index 0000000..02dcde7
--- /dev/null
+++ b/public/sites/pet-supplies-plus-merrionette-park-il-5537/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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+ --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fcf6f3,#ebd7cf);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 · Merrionette Park, IL</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 · 3205 West 115th Street, Merrionette Park, IL, 60803 · </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/pet-supplies-plus-merrionette-park-il-5537/team.html b/public/sites/pet-supplies-plus-merrionette-park-il-5537/team.html
new file mode 100644
index 0000000..c6415b3
--- /dev/null
+++ b/public/sites/pet-supplies-plus-merrionette-park-il-5537/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=Nunito%3Awght%40400%3B700%3B900%26family%3DNunito%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1a1014; --paper:#fcf6f3; --accent:#9d2851;
+ --accent2:#3a4a3a; --muted:#8a6f78; --rule:#ebd7cf;
+ --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)}
+
+ .hero{padding:7em 4em 6em;background:linear-gradient(140deg,#fcf6f3,#ebd7cf);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 · Merrionette Park, IL</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 · 3205 West 115th Street, Merrionette Park, IL, 60803 · </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/prairiehaven-animal-hospital-sherman-il-5536/contact.html b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/contact.html
new file mode 100644
index 0000000..614cf5c
--- /dev/null
+++ b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Prairiehaven Animal Hospital</h1>
+ <p>The Sherman 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)">208 Village Center Road, Sherman, IL · +1-217-689-4960</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>Prairiehaven Animal Hospital</strong><br>
+ 208 Village Center Road, Sherman, IL<br>
+ <a href="tel:+1-217-689-4960">+1-217-689-4960</a><br>
+
+ <a href="https://prairiehavenah.com/" target="_blank" rel="noopener">https://prairiehavenah.com/</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/prairiehaven-animal-hospital-sherman-il-5536/index.html b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/index.html
new file mode 100644
index 0000000..93f5d2b
--- /dev/null
+++ b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Prairiehaven Animal Hospital</h1>
+ <p>The Sherman 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)">208 Village Center Road, Sherman, IL · +1-217-689-4960</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/prairiehaven-animal-hospital-sherman-il-5536/services.html b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/services.html
new file mode 100644
index 0000000..ae54160
--- /dev/null
+++ b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Prairiehaven Animal Hospital</h1>
+ <p>The Sherman 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)">208 Village Center Road, Sherman, IL · +1-217-689-4960</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/prairiehaven-animal-hospital-sherman-il-5536/team.html b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/team.html
new file mode 100644
index 0000000..da9a5dc
--- /dev/null
+++ b/public/sites/prairiehaven-animal-hospital-sherman-il-5536/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=Lora%3Awght%40400%3B700%3B900%26family%3DPublic%2BSans%3Awght%40400%3B500%3B600%3B700&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: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)}
+
+ .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>Prairiehaven Animal Hospital</h1>
+ <p>The Sherman 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)">208 Village Center Road, Sherman, IL · +1-217-689-4960</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-217-689-4960 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/the-vet-net-animal-clinic-naperville-il-5557/contact.html b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/contact.html
new file mode 100644
index 0000000..9f0e601
--- /dev/null
+++ b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/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%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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 · Naperville</small>
+ <h1>The-vet.net Animal Clinic</h1>
+ <div class=tag>A veterinary concierge for Naperville 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">1827 Wehrli Road, Naperville, IL, 60565 · +1-630-544-3333</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-vet.net Animal Clinic</strong><br>
+ 1827 Wehrli Road, Naperville, IL, 60565<br>
+ <a href="tel:+1-630-544-3333">+1-630-544-3333</a><br>
+
+ <a href="https://naperville-veterinarian.business.site/" target="_blank" rel="noopener">https://naperville-veterinarian.business.site/</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/the-vet-net-animal-clinic-naperville-il-5557/index.html b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/index.html
new file mode 100644
index 0000000..1dc70a8
--- /dev/null
+++ b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/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%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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 · Naperville</small>
+ <h1>The-vet.net Animal Clinic</h1>
+ <div class=tag>A veterinary concierge for Naperville 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">1827 Wehrli Road, Naperville, IL, 60565 · +1-630-544-3333</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/the-vet-net-animal-clinic-naperville-il-5557/services.html b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/services.html
new file mode 100644
index 0000000..a46b5d0
--- /dev/null
+++ b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/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%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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 · Naperville</small>
+ <h1>The-vet.net Animal Clinic</h1>
+ <div class=tag>A veterinary concierge for Naperville 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">1827 Wehrli Road, Naperville, IL, 60565 · +1-630-544-3333</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-vet-net-animal-clinic-naperville-il-5557/team.html b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/team.html
new file mode 100644
index 0000000..e87f553
--- /dev/null
+++ b/public/sites/the-vet-net-animal-clinic-naperville-il-5557/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%3Awght%40400%3B700%3B900%26family%3DManrope%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#1c1c0a; --paper:#fffce8; --accent:#a16207;
+ --accent2:#1e3a8a; --muted:#7d7d5c; --rule:#fde68a;
+ --h-font:'Manrope', serif; --b-font:'Manrope', 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 · Naperville</small>
+ <h1>The-vet.net Animal Clinic</h1>
+ <div class=tag>A veterinary concierge for Naperville 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">1827 Wehrli Road, Naperville, IL, 60565 · +1-630-544-3333</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-630-544-3333 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/urban-mutt-il-il-5598/contact.html b/public/sites/urban-mutt-il-il-5598/contact.html
new file mode 100644
index 0000000..e0d1485
--- /dev/null
+++ b/public/sites/urban-mutt-il-il-5598/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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --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)}
+
+ 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 · 1989</small>
+ <h1>Urban Mutt</h1>
+ <div class=tag>A veterinary concierge for discerning 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">IL · +1-708-484-8006</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>Urban Mutt</strong><br>
+ IL<br>
+ <a href="tel:+1-708-484-8006">+1-708-484-8006</a><br>
+ <a href="mailto:info@theurbanmuttstore.com">info@theurbanmuttstore.com</a><br>
+ <a href="https://www.theurbanmuttstore.com/home.html" target="_blank" rel="noopener">https://www.theurbanmuttstore.com/home.html</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/urban-mutt-il-il-5598/index.html b/public/sites/urban-mutt-il-il-5598/index.html
new file mode 100644
index 0000000..1172018
--- /dev/null
+++ b/public/sites/urban-mutt-il-il-5598/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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --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)}
+
+ 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 · 1989</small>
+ <h1>Urban Mutt</h1>
+ <div class=tag>A veterinary concierge for discerning 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">IL · +1-708-484-8006</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/urban-mutt-il-il-5598/services.html b/public/sites/urban-mutt-il-il-5598/services.html
new file mode 100644
index 0000000..97603e5
--- /dev/null
+++ b/public/sites/urban-mutt-il-il-5598/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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --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)}
+
+ 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 · 1989</small>
+ <h1>Urban Mutt</h1>
+ <div class=tag>A veterinary concierge for discerning 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">IL · +1-708-484-8006</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/urban-mutt-il-il-5598/team.html b/public/sites/urban-mutt-il-il-5598/team.html
new file mode 100644
index 0000000..a15f038
--- /dev/null
+++ b/public/sites/urban-mutt-il-il-5598/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=Cormorant%2BGaramond%3Awght%40400%3B700%3B900%26family%3DLato%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c1f2a; --paper:#f1f9fa; --accent:#0e7490;
+ --accent2:#f97316; --muted:#5d748a; --rule:#a5e5e5;
+ --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)}
+
+ 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 · 1989</small>
+ <h1>Urban Mutt</h1>
+ <div class=tag>A veterinary concierge for discerning 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">IL · +1-708-484-8006</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-708-484-8006 for an introduction.</p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/wild-birds-unlimited-springfield-il-5615/contact.html b/public/sites/wild-birds-unlimited-springfield-il-5615/contact.html
new file mode 100644
index 0000000..2c3e595
--- /dev/null
+++ b/public/sites/wild-birds-unlimited-springfield-il-5615/contact.html
@@ -0,0 +1,48 @@
+<!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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --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)}
+
+ .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e5e5e0,#fcfcfa)}
+ .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 · Springfield, IL</small>
+ <h1>Wild Birds Unlimited</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)">1930 South MacArthur Boulevard, Springfield, IL, 62704 · +1-217-789-6468</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>Wild Birds Unlimited</strong><br>
+ 1930 South MacArthur Boulevard, Springfield, IL, 62704<br>
+ <a href="tel:+1-217-789-6468">+1-217-789-6468</a><br>
+
+ <a href="https://springfieldil.wbu.com/" target="_blank" rel="noopener">https://springfieldil.wbu.com/</a><br>
+ </p></section></body></html>
\ No newline at end of file
diff --git a/public/sites/wild-birds-unlimited-springfield-il-5615/index.html b/public/sites/wild-birds-unlimited-springfield-il-5615/index.html
new file mode 100644
index 0000000..9225004
--- /dev/null
+++ b/public/sites/wild-birds-unlimited-springfield-il-5615/index.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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --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)}
+
+ .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e5e5e0,#fcfcfa)}
+ .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 · Springfield, IL</small>
+ <h1>Wild Birds Unlimited</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)">1930 South MacArthur Boulevard, Springfield, IL, 62704 · +1-217-789-6468</footer></body></html>
\ No newline at end of file
diff --git a/public/sites/wild-birds-unlimited-springfield-il-5615/services.html b/public/sites/wild-birds-unlimited-springfield-il-5615/services.html
new file mode 100644
index 0000000..5f16f49
--- /dev/null
+++ b/public/sites/wild-birds-unlimited-springfield-il-5615/services.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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --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)}
+
+ .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e5e5e0,#fcfcfa)}
+ .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 · Springfield, IL</small>
+ <h1>Wild Birds Unlimited</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)">1930 South MacArthur Boulevard, Springfield, IL, 62704 · +1-217-789-6468</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/wild-birds-unlimited-springfield-il-5615/team.html b/public/sites/wild-birds-unlimited-springfield-il-5615/team.html
new file mode 100644
index 0000000..2edf5ca
--- /dev/null
+++ b/public/sites/wild-birds-unlimited-springfield-il-5615/team.html
@@ -0,0 +1,43 @@
+<!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%2BSerif%2BPro%3Awght%40400%3B700%3B900%26family%3DSource%2BSans%2BPro%3Awght%40400%3B500%3B600%3B700&display=swap">
+<style>
+:root{
+ --ink:#0c0c0c; --paper:#fcfcfa; --accent:#0a0a0a;
+ --accent2:#d4a017; --muted:#5e5e5e; --rule:#e5e5e0;
+ --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)}
+
+ .cal-hero{padding:4em 3em;text-align:center;background:linear-gradient(160deg,#e5e5e0,#fcfcfa)}
+ .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 · Springfield, IL</small>
+ <h1>Wild Birds Unlimited</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)">1930 South MacArthur Boulevard, Springfield, IL, 62704 · +1-217-789-6468</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-217-789-6468 for an introduction.</p></section></body></html>
\ No newline at end of file
← f0625fb yolo: iter 2 trivial patches from claude-codex debate
·
back to Animals
·
yolo: iter 4 trivial patches from claude-codex debate f106fd8 →