# equinoxbusinesslaw — brief

Genesis document, always loaded, kept thin. Plans live in `.logs/planning/`; rules in `agents.md`. No commercial figures of any kind appear anywhere in this project — add-ons and plans by name only.

**What.** A full rebuild of the Equinox Business Law Group website (https://equinoxbusinesslaw.com) on current
block-based WordPress (the Kadence framework on the Gutenberg editor), built as a pattern library with a real entity
and schema layer, so that the client's marketing partner AI Smart Ventures (AISV) can execute their 12-month marketing
strategy on it without a developer in the loop. Proposal sent 2026-07-30, accepted 2026-08-13. Staging:
https://equinoxbusinesslaw.demoing.info (project `equinoxbusinesslaw` on this server, id-auth gated). The finished
site launches on PlusROI hosting (this server), DNS on Cloudflare.

**Why.** As audited 2026-07-27 and re-measured 2026-09-02, the live site runs a bare starter theme (`html5blank`) with
every page locked into Beaver Builder data, so any new page type or block needs a developer. Its structured data is
generic and conflicting: two firm names in one graph ("Equinox Law Group" and "Equinox Business Law Group"), no
`LegalService`, no address, no `Person` entities for the team. The strategy's key pages have nowhere to live: all
practice areas share one URL, there is no Fractional General Counsel page, no FAQ content anywhere. The blog (513
published posts as of 2026-09-02) has no working author layer; the contact page has no address or map, while the
header advertised five states ("WA, OR, CO, VA & DC" in the 2026-07-27 audit). AISV's publishing engine (OpenForge
drafting posts straight into WordPress) needs a post template new content inherits automatically. Full evidence:
`notes/site-audit-2026-07.md`.

**Who.**
- Client: Equinox Business Law Group PLLC (Bellevue, WA area; 425-250-0205). Michelle Bomberger, CEO & Managing
  Attorney (michelle@equinoxbusinesslaw.com) — the principal, and the Person entity that matters most. Alicia Wimmer,
  Sales & Marketing Operations Coordinator (aliciam@equinoxbusinesslaw.com) — day-to-day contact; every client
  decision through 2026-08-27 came from her. Billing contacts and access status: `.memory/client-contacts.md`.
- Partner: AI Smart Ventures (AISV) — authored the 12-month strategy deck and the StoryBrand brand story. Owns content
  strategy, final copy, keyword and topic selection, SEO execution, paid, email, CRM (Pipedrive), social, video.
- Us (PlusROI): Rob Cooper (rob@plusroi.com) — client relationship, on every thread. Rian Bowden (rian@plusroi.com;
  rian@rian.ca for Cloudflare) — delivery, wrote the proposal, runs this server. Adi (adi@plusroi.com) — design and
  build.
- Division: we build the machine, AISV runs it; we coordinate with AISV directly so the client never relays between
  vendors.

**Status as of 2026-09-02.**
- Proposal accepted 2026-08-13 with the Design Mockup and Review Round and the Hosting add-on (PlusROI hosting,
  reconfirmed 2026-08-27). The Fractional General Counsel Landing Page with Tiered Pricing add-on is pending the
  client's decision ("interested, discuss further"). Practice Area and Topic Hub Architecture add-on: not taken.
- Start confirmed by Rian for 2026-08-17. Onboarding call 2026-08-27; Alicia's same-day email holds the client's
  binding design decisions, the SharePoint Brand Kit and 2026 Brand Photo Shoot links, and access status: Google
  Analytics and Search Console granted; Google Tag Manager blocked by a GA-managed-users error; Cloudflare pending the
  client's current web/email vendor.
- Staging is an untouched Kadence template clone (site title "Demoing", 1 post, 2 pages). Nothing has been designed or
  built. **The first deliverable is Step 1 of the mockup round: two home-page mockups showing two design directions,
  home page only** (Adi; brief: `.logs/planning/homepage-mockup-brief.md`; set 2026-09-02). Rian promised a mockup
  2026-08-24 "within a week" of inputs, which arrived 2026-08-27. The proposal's 6-week build from 2026-08-17 (launch
  late September 2026) is behind as of 2026-09-02; whether late September holds is Rian's call, who sets the
  re-baselined calendar in `.logs/planning/build-plan.md` and tells the client.

## Where everything is

| Role | Lives in |
|---|---|
| What was sold: every contracted deliverable, add-on status, exclusions | `.logs/planning/scope.md` |
| Build plan: locked decisions, phases with gates, weeks, definition of done, risks | `.logs/planning/build-plan.md` |
| Site architecture: page inventory, sitemap, nav, URLs and redirects, templates, team roster | `.logs/planning/site-architecture.md` |
| Content migration: posts, pages, media, users, taxonomy, author audit, placeholder rules | `.logs/planning/content-migration.md` |
| Schema and entity plan (delivered by configuring bw-ai-schema-pro) | `.logs/planning/schema-entity-plan.md` |
| Design direction: client requirements, brand inputs, mockup process and gate, checklist | `.logs/planning/design-direction.md` |
| Tracking and conversion: tag inventory, CTAs, forms, the Business Legal Health Assessment (name to be confirmed) embed, Pipedrive, launch checks | `.logs/planning/tracking-conversion.md` |
| Session handoff (newest first) and session diary | `.logs/handoff.md`, `.logs/diary.md` |
| Project constitution (rules); `CLAUDE.md` is a symlink to it | `agents.md` |
| Durable project facts, one per file | `.memory/` |
| Contacts (client, PlusROI, AISV), billing addresses, access-grant status | `.memory/client-contacts.md` |
| Client correspondence digest and the live-site audit | `notes/client-correspondence.md`, `notes/site-audit-2026-07.md` |
| AISV source documents (strategy deck, brand story) | `notes/source/` |
| New client material drop folder | `notes/inbox/` |
| Substrate friction (server, standards, gateway) | `.logs/v8-feedback.md` |
| The instance (declared override: `wp-content/`, not `main/`) | `wp-content/` |
| Gateway-managed runtime files, at the workspace root | `docker-compose.yml`, `.env`, `apache-tuning.conf`, `uploads.ini`, `.project.json` |

## Stack

- WordPress + Gutenberg on the Kadence premium framework: Kadence 1.5.2 parent + `kadence-child` (active), Kadence
  Pro, Kadence Blocks, Kadence Blocks Pro — lifetime licence included per the proposal. Also on staging: Advanced
  Custom Fields Pro; Gravity Forms (template copy; the client's own licence is reused at launch, status to be
  confirmed in week one); BW Dev 1.20.0 (BW dev toolkit: SVG uploads for the logo, favicon, sticky elements, YouTube
  embed block, post-link blocks, menu visibility, admin columns, admin notes); UpdraftPlus (backups and migration).
- Still to install: Yoast SEO (carries the live site's SEO meta and sitemaps), Search & Filter Pro (client licence;
  blog search and filtering), Redirection or equivalent (the redirect map), and `bw-ai-schema-pro` v2.6.0 from the BW
  plugin library — LegalService, Person, FAQ, Service and Article schema, configured never hand-coded; team post type
  mapped in its settings; team survey per
  `/srv/apps/bw-plugins/wp-content/plugins/bw-ai-schema-pro/docs/SPEC-team-survey.md`.
- Build philosophy in one line: assemble pages from a small set of unsynced Kadence patterns whose variables change in
  the editor, never bespoke per-page layouts; every block inside a pattern is declared editable. Posts stay standard
  content, never inside Kadence layout blocks.
- Standards dispatch, read before the first code session: `/srv/projects/standards/README.md` → `coding.md` →
  `wordpress.md` → `frontend.md`. Manage the container only via `srv-gw`.
- Platform decision recorded: block-based WordPress over Vercel/Next.js, because layout changes must not route through
  a developer and AISV's plan drafts posts into WordPress. Reply sent to the client after the proposal went out on
  2026-07-30 (the reply is undated and sits outside the email thread — send date to be confirmed by Rian; see
  `notes/client-correspondence.md`); the thread never returns to Vercel, and the client accepted the WordPress
  proposal 2026-08-13. Launch is a DNS cutover to this server via Cloudflare, not a file transfer to the current host.

## Scope (what was sold)

- Design uplift on the existing brand: a faithful rebuild with our judgement on layout, hierarchy, typography, spacing
  and CTAs; the Design Mockup and Review Round (one concept, one feedback round) precedes any build.
- Template creation: header, footer, menus that surface the services and the general counsel offer, a global design
  system, and reusable patterns including the four the brand story needs — three-step Assess / Prioritize / Protect
  and Grow, before-and-after comparison, objection-handling accordion, grouped value proposition.
- Baseline structural SEO/AEO and performance: one `h1` per page, breadcrumbs, clean XML sitemap with the empty
  `article-type` taxonomy retired, thin pages noindexed, a redirect map for every retired or restructured URL; image
  optimisation, lazy loading, conditional loading of form and filter assets, Core Web Vitals measured before and after
  on home, a practice-area page, a post.
- Pages: home built to the full brand-story landing-page structure; 8-10 core pages; 9 team bios on one template (8
  live + Nicole Farahdel); 4 policy pages migrated directly; audit of roughly 6 legacy or orphaned pages with a
  migrate-or-retire recommendation each.
- Blog: migration of all posts (513 published as of 2026-09-02) with categories, tags, dates and featured images
  intact; index and single templates with author display and end-of-post CTAs; search and category filtering via
  Search & Filter Pro; a post template AI-drafted content lands in cleanly. Author structure: audit and consolidation
  of author accounts (the client decides per person), profiles bound to team bios, archive templates, a
  guest/contributor byline mechanism, attribution corrections where text and data disagree.
- Advanced AI Schema: one canonical `LegalService` entity with address, phone, service area and social profiles; one
  name for the assessment everywhere; Washington-first local markup; Person entities for every team member bound to
  their bio; author-to-bio binding; a reusable FAQ pattern with `FAQPage` markup (built for AI answer engines and
  buyers, not rich snippets — Google stopped showing FAQ rich results on 2026-05-07); Service and Article schema;
  validation before launch.
- Contact page with real address and map; service area Washington first, Oregon secondary, Colorado retained; DC and
  VA removed (client decision, Alicia Wimmer, 2026-08-27 — the proposal had offered to drop Colorado too); Gravity
  Forms contact form with light qualification and source attribution for clean Pipedrive routing; the attorney-client
  privilege disclaimer carried over.
- Paired CTAs site-wide — "Book a Consultation" (direct) and "Take the Business Legal Health Assessment (name to be
  confirmed)" (transitional) — as reusable blocks, persistent header CTA, end-of-post CTAs, each firing its own GTM
  event. Tracking preservation: audit every existing tag, re-implement and verify on the new site, confirm data flows
  post-launch before closing.
- Drafted placeholder content for every page and section that needs it; Equinox finalises with AISV's guidance. One
  recorded 1-hour training session. Launch with a full checklist. 30 days of post-launch support for in-scope
  features. Accepted add-ons: Design Mockup and Review Round; Hosting (CDN, SSL, nightly backups, plugin updates with
  rollback).
- Full detail and status: `.logs/planning/scope.md`.

## Not doing

- Final copywriting and content strategy — AISV. We draft placeholders only.
- Content audit or pruning of the posts — AISV Phase 04. Everything migrates.
- Rebuilding the assessment as an interactive AI tool — AISV Creative Concept 03, a separate project. We place, embed
  and instrument the existing Typeform.
- Pipedrive integration beyond clean form routing and source attribution. Ongoing SEO, ads, social, email, video
  execution — AISV; the page-by-page metadata rewrite across the posts is AISV's OpenForge work, we build the
  capability. Google Ads is out of scope (Rian, 2026-08-24).
- The Practice Area and Topic Hub Architecture add-on (hub/child templates, hub URL architecture) unless the client
  later accepts it; the Fractional General Counsel landing page, tier comparison block, fixed-vs-hourly table and
  offer schema until the client decides on that add-on. Tier figures always come from the client.
- Third-party licence purchases or renewals (Gravity Forms, Search & Filter Pro, Termageddon are assumed active and
  transferable; lapses are flagged, never bought). Touching the live site before launch (read-only: exports, REST,
  HTML). Hand-written JSON-LD or any schema plugin other than `bw-ai-schema-pro`.
- A redesign that abandons the existing brand — this is a design uplift on the client's brand per the Brand Kit ("more
  elevated, simplified" — Alicia Wimmer, 2026-08-27); the Brand Kit logo replaces the 20th-anniversary one.

## Known gaps (as of 2026-09-02)

Each is tracked with an owner in `.logs/planning/build-plan.md`; answers go to `.logs/handoff.md`.
- Access: Cloudflare account and the rian@rian.ca super-administrator invite — pending the client's website/email vendor as of 2026-08-27; registrar and current hosting account — Alicia Wimmer said she was arranging them on 2026-08-18, no update since; live WordPress admin — never explicitly asked (only the hosting account was, 2026-08-13), Rian asks Alicia Wimmer; GTM access — Alicia Wimmer, once Rian sends the GA4-admin user-management steps (still to be sent).
- AISV contact (name and email): in no source; Rian supplies it. Until it is recorded in `.memory/client-contacts.md`, every AISV ask (freeze protocol, assessment name, taxonomy, Pipedrive transport, OpenForge auth) goes through Rian.
- Licence status and transferability of Gravity Forms, Search & Filter Pro, Termageddon — Rian asks in week one; Alicia Wimmer (or the client's current vendor) answers; keys go into 0600 files by the holder.
- The assessment's single name (Legal Health Check / Business Health Assessment / Business Legal Health Assessment) — AISV with the client.
- Licensing and states wording: the live assessment page says licensed in Washington, Idaho and Oregon; the client's served-states decision (2026-08-27) is WA, OR, CO with DC and VA removed — Idaho vs Colorado licensing wording to be confirmed by Michelle Bomberger before any licensing sentence is written.
- Target-audience revenue threshold: the AISV deck targets larger businesses than the brand story's "who it's for" copy does — AISV with Michelle Bomberger; never write either figure.
- Service taxonomy: brand story (4 groupings) vs live site (practice areas + industries) vs deck (Owner / CFO / HR hubs) — AISV with the client; needed before nav and Service schema.
- Author roster and per-person keep / reassign / retire — Rian lists from the exported database; the client decides.
- Canonical legal name (working assumption: Equinox Business Law Group PLLC) and the firm's physical address for the contact page and schema — client via Alicia Wimmer.
- Brand Kit and 2026 Brand Photo Shoot not pulled down from SharePoint as of 2026-09-02; whether the kit holds a brand guide and full logo package is unknown — a human with access (Rian, Rob or Adi).
- Examples of sites the client likes — asked 2026-08-24, not answered; do not block the mockup on it.
- Nicole Farahdel headshot and bio — Alicia Wimmer; placeholder (no stock person) and no Person schema until then.
- Migration route (full restore of the live site into staging vs import into the clean clone) — Rian; depends on what access arrives.
- Newsletter platform (Constant Contact inferred from the live HTML) and how the Gravity Forms feed it — Alicia Wimmer; OpenForge's WordPress auth method — AISV.
- Pipedrive routing mechanism for form and assessment leads — AISV with Alicia Wimmer.
- Booking link (does the Outlook `bookwithme` link stay behind "Book a Consultation") and the industries list (rendered as images on the live site) — client.
- No Core Web Vitals baseline captured as of 2026-09-02 — Adi or Rian, on the live site before migration starts.
