// Shared building blocks — Header, Footer, PageHead, helpers, tier card, pillar diagram
const { useState, useEffect, useRef } = React;
const NAV_LINKS = [
{ id: "index.html", label: "Home" },
{ id: "who.html", label: "Who This Is For" },
{ id: "pricing.html", label: "Pricing" },
{ id: "about.html", label: "About" },
{ id: "contact.html", label: "Contact" },
];
function Header({ active }) {
return (
);
}
function PageHead({ num, label, title, lede }) {
return (
);
}
// Generic CTA strip used across pages
function CTAStrip({ title, sub }) {
return (
);
}
function PillarDiagram() {
return (
);
}
// Tier data — shared across home/pricing
const TIERS = [
{
no: "01",
name: "Diagnostic",
nameItalic: "review",
tagline: "Clarity before commitment. Understand what's blocking growth and what to do first.",
fit: "Solo, small biz, early startups",
weeks: "~ 1 month",
price: "$4.5k",
items: [
"Full external + internal review",
"Stakeholder interviews (founder + 1)",
"Business Growth OS report",
"Prioritized first-action map",
"30-day follow-up review",
],
},
{
no: "02",
name: "Growth",
nameItalic: "sprint",
tagline: "Diagnosis plus guided execution. Sharper positioning, fixed gaps, real momentum.",
fit: "Growing businesses with traction",
weeks: "~ 3 months",
price: "$18k",
items: [
"Deep external + internal review",
"Up to 5 stakeholder interviews",
"Implementation roadmap",
"Bi-weekly strategy sessions",
"Guided execution sprint",
"90-day follow-up review",
],
featured: true,
badge: "Most chosen",
},
{
no: "03",
name: "Growth",
nameItalic: "partner",
tagline: "Long-term strategic partnership. Repeated review, risk monitoring, and execution support.",
fit: "Established (20–50 employees)",
weeks: "6 – 12 months",
price: "$12k/mo",
items: [
"Quarterly Growth OS reports",
"Full team interviews",
"Live risk & opportunity register",
"Weekly strategy sessions",
"Continuous implementation support",
"Direct Slack + on-call access",
],
},
];
function TierCard({ no, name, nameItalic, tagline, fit, weeks, price, items, featured, badge }) {
return (
{badge &&
{badge}
}
TIER {no}
{weeks}
{name} {nameItalic}
{tagline}
Best for
{fit}
Timeline
{weeks}
{items.map((it, i) => - {it}
)}
);
}
function Footer() {
return (
);
}
Object.assign(window, { Header, PageHead, CTAStrip, PillarDiagram, Footer, TierCard, TIERS });