/* Per-archetype landing page — shared template. * Reads window.PARTNER_SLUG, pulls data from window.PARTNER_DATA[slug], * renders hero, why-yes, peptide stack, talk track, event explainer, * earnings calculator, what-you-get section, FAQ, and apply CTA. */ const ArchetypePage = () => { const data = window.PARTNER_CURRENT(); const Header = window.Header; const Footer = window.Footer; const PartnerCalculator = window.PartnerCalculator; if (!data) { return (
Partner archetype not found.
); } const accent = data.accent; const accentSoft = data.accentSoft; return (
{/* HERO */}
{data.eyebrow}

{data.headline}

{data.subhead}

Industry
{data.industryStat}
Why this works
{data.demoNote}
{/* WHY YES */}
★ WHY YOU SAY YES

Built for the venue you actually run.

{data.whyYesBullets.map((bullet, i) => (
{String(i + 1).padStart(2, "0")}
{bullet}
))}
{/* PEPTIDE STACK */}
★ THE STACK

Peptides matched to your members.

Curated for {data.label.toLowerCase()}. Foundation peptides are FDA Cat 1 + established Rx (sermorelin, TRT, GLP-1, NAD+ oral). The Cat-2-pending peptides (BPC-157, GHK-Cu injectable) clip on after PCAC's July 2026 ruling.

{data.peptideStack.map((p, i) => (
{String(i + 1).padStart(2, "0")}
{p.name}
{p.note}
{p.slug && ( Read deep-dive → )}
))}
{/* TALK TRACK */}
★ THE CONVERSATION

{data.talkTrack.heading}

{data.talkTrack.lines.map((line, i) => (
{i + 1} {line}
))}

We provide the full script library — what to say, what NEVER to say, how to redirect medical questions to the MD. Quiz-based 90-minute certification, free, self-paced.

{/* PEPTIDE DAY EVENT */}
★ THE CATALYST

{data.eventName}

{data.pepDayHook}

{data.eventBlurb}

6 hrs
MD on-site
24
Consult slots
40-50%
Convert to subscription
Free
We bring MD + signage + booking
{/* EARNINGS CALCULATOR */}
{/* WHAT YOU GET */}
★ WHAT YOU GET

A complete partner enablement system.

Your venue is a brand. We make you look like one. Every piece below ships on Day 1.

{[ { title: "Your unique referral link + QR code pack", desc: "peptides.cynthiaconcierge.com/p/[your-slug]. QR codes printable in 5 sizes. Every patient tagged to your venue forever.", icon: "★" }, { title: "Co-branded landing page", desc: "Your logo, your photo, your colors — on a page that converts. Hosted by us. You don't touch infrastructure.", icon: "✦" }, { title: "The Content Library", desc: "Peptide reference cards, dosing guides, sales scripts by archetype, FAQ + objection handlers, compliance cheat sheets, Peptide Day playbook.", icon: "✿" }, { title: "The Campaign Library", desc: "12 pre-written email templates, 30 SMS templates, 50 social posts, 4 in-venue printable posters. Editable. Branded with your logo + your link.", icon: "✪" }, { title: "One-click 'send to my list'", desc: "Connect Mailchimp / Klaviyo / Constant Contact / Mindbody / Square. We compose the blast. You hit send. FTC disclosure auto-appended.", icon: "❖" }, { title: "Real-time dashboard", desc: "Clicks, consults booked, subscribers, MRR, leaderboard rank. Updated in real time. Tier-progress bar shows your path to higher retainer.", icon: "✷" }, { title: "Superstar Peptides partner success system", desc: "Texts you weekly with what to share, what's converting, when your next event ships. Like having a sales-enablement team on retainer.", icon: "✺" }, { title: "Monthly office hours + Slack community", desc: "Live Q&A with our medical director. Slack room for partners trading wins, scripts, and event playbooks.", icon: "✯" }, ].map((item, i) => (
{item.icon}
{item.title}
{item.desc}
))}
{/* NUTSHELL */}
★ THE BOTTOM LINE

{data.nutshell.title}

    {data.nutshell.bullets.map((b, i) => (
  • {b}
  • ))}
{/* FAQ */}
★ FAQ

Real questions, real answers.

{data.faq.map((item, i) => ( ))}
{/* FINAL CTA */}

Ready to be a Certified Partner?

5-minute application. 15-minute discovery call. 90-min cert. Live in under 30 days.

Apply now →
Questions first? Email partners@cynthiaconcierge.com
); }; const FAQItem = ({ q, a, accent }) => { const [open, setOpen] = React.useState(false); return (
{open &&
{a}
}
); }; ReactDOM.createRoot(document.getElementById("root")).render();