const CATEGORIES = [
  { id: "all",           name: "All",               count: 18 },
  { id: "hubspot",       name: "HubSpot",           count: 8 },
  { id: "development",   name: "Development",     count: 3 },
  { id: "addons",        name: "Add-ons",           count: 5 },
  { id: "custom",        name: "Custom & Retainer", count: 2 },
];

const PRODUCTS = [
  { id:"hs-onb-sales", cat:"hubspot", num:"H1a", name:"HubSpot Sales Onboarding", category:"HubSpot", price:2500,
    duration:"3 weeks", badge:"pop", featured:true,
    image:"assets/products/hubspot-onboarding-thumb.png?v=2",
    imageWide:"assets/products/hubspot-onboarding-wide.png?v=2",
    desc:"Launch a clean Sales Hub setup in 21 days.",
    tagline:"We configure your pipelines, properties, sequences, lead routing, forecasting, dashboards, and rep training using the same best-practice setup we use for SaaS and services teams.",
    supporting:"Fixed scope. Senior-led. Built so your reps can actually use HubSpot from day one.",
    priceLabel:"Fixed-price Sales Hub setup · one-time",
    ctaPrimary:"Reserve cohort spot",
    ctaSecondary:"Request custom scope",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Your spot reserves implementation capacity. Final scope is confirmed in a short SOW before kickoff. If your needs fall outside this package, we'll recommend the right add-on or custom scope.",
    tiers:[
      { id:"essential", name:"Essential", tag:"Clean foundation", price:2500,
        desc:"For small teams that need a clean Sales Hub foundation.",
        bullets:["1 deal pipeline with clean stages and weighted probability","Up to 8 sales-specific custom properties","Email + calendar connection walkthrough","1 meeting link setup","Up to 2 email templates","1 sales dashboard","1 live training session","Handoff doc","Timeline: 2 weeks"],
        scope:[
          "1 deal pipeline with clean stages, weighted probability, and basic required fields",
          "Up to 8 sales-specific custom properties",
          "Email and calendar connection walkthrough",
          "1 meeting link setup",
          "Up to 2 email templates configured in HubSpot",
          "1 sales dashboard with pipeline overview",
          "1 live training session",
          "Handoff doc",
        ],
        excluded:["Sequences","Lead routing","SLA timers","Slack alerts","Forecasting","Playbooks","Multiple dashboards","Custom automation"],
        duration:"2 weeks",
        specs:{ timeline:"2 weeks", deliverables:"3 deliverables", team:"1 senior operator", support:"Email support", sow:"Within 24 hours", updates:"Weekly progress updates" },
        deliverables:["Sales pipeline setup","Basic sales dashboard","Training + handoff doc"] },
      { id:"pro", name:"Pro", tag:"Most teams pick this", price:4900, badge:true,
        desc:"For growing sales teams that need pipeline, automation, reporting, and rep enablement.",
        bullets:["Everything in Essential","Up to 2 deal pipelines","Up to 20 sales-specific custom properties","Up to 4 sequences + 6 email templates + 2 playbooks","1 lead routing model: round-robin or territory-based","Basic SLA timers and Slack alerts","Forecasting: weighted pipeline + 1 forecast view","Up to 4 sales dashboards","Up to 2 live training sessions + Loom walkthroughs","Handoff doc","Timeline: 4 weeks"],
        scope:[
          "Everything in Essential",
          "Up to 2 deal pipelines with stages, stage gates, required fields, and weighted probability",
          "Up to 20 sales-specific custom properties for qualification, source, handoff, and reporting",
          "Up to 4 sequences, 6 email templates, and 2 playbooks configured from your existing messaging or our starter templates",
          "1 lead routing model: round-robin or territory-based",
          "Basic SLA timers and Slack alerts, subject to your HubSpot + Slack connection",
          "Forecasting setup: weighted pipeline + 1 custom forecast view",
          "Up to 4 sales dashboards: pipeline, activity, rep scorecard, and forecast",
          "Up to 2 live training sessions",
          "Loom walkthroughs for the configured setup",
          "Handoff doc",
        ],
        duration:"4 weeks",
        specs:{ timeline:"4 weeks", deliverables:"4 deliverables", team:"1 senior operator", support:"Async Slack support", sow:"Within 24 hours", updates:"Weekly progress updates" },
        deliverables:["Sales pipeline and property setup","Sequences, templates, routing, and automation","Sales dashboards and forecasting","Training, Loom walkthroughs, and handoff doc"] },
      { id:"enterprise", name:"Enterprise", tag:"Complex sales teams", price:8500,
        desc:"For complex sales teams with multiple teams, pipelines, routing needs, or stakeholder groups.",
        bullets:["Everything in Pro","Up to 3 deal pipelines","Up to 35 sales-specific custom properties","Up to 6 sequences + 10 email templates + 4 playbooks","Up to 2 lead routing models with expanded SLA logic","Team-based pipeline/ownership config + permissions","Forecasting with up to 2 forecast views","Up to 6 sales dashboards","Up to 3 training sessions + stakeholder handoff","Loom walkthroughs + handoff doc","Timeline: 6 weeks"],
        scope:[
          "Everything in Pro",
          "Up to 3 deal pipelines with stages, stage gates, required fields, and weighted probability",
          "Up to 35 sales-specific custom properties for qualification, source, handoff, reporting, and team-specific fields",
          "Up to 6 sequences, 10 email templates, and 4 playbooks configured from your existing messaging or our starter templates",
          "Up to 2 lead routing models with expanded SLA logic and Slack alerts",
          "Team-based pipeline or ownership configuration using standard HubSpot teams and permissions",
          "Forecasting setup with up to 2 custom forecast views",
          "Up to 6 sales dashboards: pipeline, activity, rep scorecard, forecast, team performance, and manager view",
          "Up to 3 live training sessions plus stakeholder handoff session",
          "Loom walkthroughs for the full configured setup",
          "Handoff doc",
        ],
        excluded:["Advanced permission architecture","Complex partitioning","Business unit architecture","Multi-portal architecture","Custom governance design"],
        duration:"6 weeks",
        specs:{ timeline:"6 weeks", deliverables:"5 deliverables", team:"1 senior operator", support:"Async Slack support", sow:"Within 24 hours", updates:"Weekly progress updates", extra:"Stakeholder handoff session" },
        deliverables:["Multi-pipeline sales architecture","Properties, permissions, teams, and routing setup","Sequences, templates, playbooks, and automation","Dashboards, forecasting, and QA","Training, stakeholder handoff, Loom walkthroughs, and handoff doc"] },
    ],
    pillars:[
      { i:"layers", t:"Pipelines & properties", d:"Configure your sales process with clean deal stages, required fields, weighted probability, and sales-specific properties." },
      { i:"refresh", t:"Workflows & automation", d:"Set up practical sales automation like lead routing, task creation, SLA timers, and internal alerts." },
      { i:"mail", t:"Sequences & enablement", d:"Configure sequences, email templates, playbooks, meeting links, and training assets so reps know what to do next." },
      { i:"chart", t:"Reporting & forecasting", d:"Create dashboards and forecast views your team can trust before handoff." },
    ],
    scope:[
      "Everything in Essential",
      "Up to 2 deal pipelines with stages, stage gates, required fields, and weighted probability",
      "Up to 20 sales-specific custom properties for qualification, source, handoff, and reporting",
      "Up to 4 sequences, 6 email templates, and 2 playbooks configured from your existing messaging or our starter templates",
      "1 lead routing model: round-robin or territory-based",
      "Basic SLA timers and Slack alerts, subject to your HubSpot + Slack connection",
      "Forecasting setup: weighted pipeline + 1 custom forecast view",
      "Up to 4 sales dashboards: pipeline, activity, rep scorecard, and forecast",
      "Up to 2 live training sessions",
      "Loom walkthroughs for the configured setup",
      "Handoff doc",
    ],
    scopeLabel:"What's included in the Pro plan",
    notIncluded:{
      intro:"This package is designed to launch a clean Sales Hub setup. The following items are not included by default, but can be added as custom scope if needed.",
      items:["Full data migration or CRM cleanup","Salesforce-to-HubSpot migration","Custom integrations or API development","Custom objects","CPQ or advanced quote customization","Advanced permission architecture","Complex multi-region routing","Copywriting from scratch for all sequences","Full sales playbook creation from zero","Ongoing HubSpot admin support after launch","Paid HubSpot subscription fees","Advanced attribution reporting","RevOps strategy workshops beyond the onboarding scope"],
    },
    bestFit:{
      good:["You already have or are buying HubSpot Sales Hub","You want a clean pipeline and sales process setup","Your team needs sequences, routing, dashboards, and training","You want implementation done for you, not just advice","You want a fixed price and clear scope before kickoff"],
      bad:["You need a large CRM migration first","Your sales process is not defined at all","You need custom integrations before using HubSpot","You need a full RevOps redesign","You want ongoing admin support instead of a fixed onboarding project"],
    },
    overview:"The same Sales Hub setup our best clients use to launch clean pipelines, practical automation, rep enablement, forecasting, and sales reporting.\n\nYou get a fixed-scope engagement, led by a senior HubSpot operator, with a hand-rolled SOW before kickoff. We use a proven framework, then calibrate it to your sales motion and stack.\n\nThis is a setup and onboarding package, not an open-ended RevOps retainer. The goal is to get your team live in HubSpot with a system they can actually use.",
    processSteps:[
      { title:"Scope", body:"We review your current sales process, HubSpot plan, team structure, and goals. Then we confirm the final scope in a short SOW." },
      { title:"Configure", body:"We configure your pipeline, properties, sales tools, sequences, routing, dashboards, and forecasting setup based on the selected plan." },
      { title:"QA", body:"We test the setup before handoff, including deal flow, required fields, routing logic, dashboards, and key rep workflows." },
      { title:"Train", body:"We run live training sessions, record Loom walkthroughs, and provide a handoff doc so your team knows how to use the setup." },
      { title:"Launch", body:"Your team starts using the new Sales Hub setup. If you added Slack support, we stay available for post-launch questions." },
    ],
    productFaq:[
      { q:"Do we need to already have HubSpot Sales Hub?", a:"This package assumes you already have HubSpot Sales Hub or are ready to purchase it. HubSpot subscription fees are not included in the onboarding price. If you need support buying HubSpot Sales Hub, we are happy to help. As HubSpot Solutions Partners, we know how to negotiate with HubSpot to get the best price possible for your setup." },
      { q:"Is data migration included?", a:"No. Light field mapping and structure planning are included, but full data migration, CRM cleanup, deduplication, or Salesforce migration are not included by default. These can be added as custom scope." },
      { q:"Do you write the sales emails and sequences from scratch?", a:"Not by default. We configure sequences and templates using your existing messaging or our starter templates. Full copywriting from scratch can be added as custom scope." },
      { q:"Can you customize this for our sales process?", a:"Yes, within the limits of the selected plan. We calibrate the setup to your sales motion, but this is still a fixed-scope onboarding package, not an unlimited RevOps strategy engagement." },
      { q:"What happens before we pay?", a:"You reserve the cohort spot and we prepare a short SOW. You only move forward once the scope is clear." },
      { q:"What if we need more than the listed limits?", a:"We can add extra scope to the SOW or recommend the Enterprise plan if your needs are more complex." },
      { q:"Is this only for SaaS companies?", a:"No. It works especially well for SaaS and B2B services teams, but any sales-led company using HubSpot Sales Hub can use this package." },
      { q:"What HubSpot plan do we need?", a:"Essential works best for simple Sales Hub Starter or Pro setups. Pro and Enterprise are best for Sales Hub Pro or Enterprise customers because they often require sequences, automation, forecasting, routing, and deeper reporting." },
    ],
    addonsOverride:[
      { id:"rush", name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on your final SOW and team responsiveness.", price:1200 },
      { id:"sup", name:"30-day Slack support", sub:"Async Slack support for questions, small clarifications, and post-launch guidance for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before onboarding so we can identify CRM, lifecycle, automation, reporting, and data quality issues before implementation.", price:2400 },
    ],
  },
  { id:"hs-onb-mktg", cat:"hubspot", num:"H1b", name:"HubSpot Marketing Onboarding", category:"HubSpot", price:3600,
    duration:"3 weeks", featured:true,
    image:"assets/products/hubspot-marketing-onboarding-thumb.png",
    desc:"Stand up Marketing Hub the right way in 21 days.",
    tagline:"We configure your sending domain, email templates, forms, smart lists, landing pages, lifecycle workflows, campaign tracking, and marketing dashboards using the same best-practice setup we use for SaaS and services teams.",
    supporting:"Fixed scope. Senior-led. Built so your marketers can run demand gen without filing a dev ticket from week one.",
    priceLabel:"Fixed-price Marketing Hub setup · one-time",
    ctaPrimary:"Reserve cohort spot",
    ctaSecondary:"Request custom scope",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Your spot reserves implementation capacity. Final scope is confirmed in a short SOW before kickoff. If your needs fall outside this package, we'll recommend the right add-on or custom scope.",
    tiers:[
      { id:"essential", name:"Essential", tag:"Clean foundation", price:3600,
        desc:"For small marketing teams that need a clean Marketing Hub foundation.",
        bullets:["Sending domain + email authentication","2 branded email templates","2 conversion-optimized forms","1 landing page template on HubSpot CMS","1 lifecycle workflow","1 marketing dashboard","1 live training session","Handoff doc","Timeline: 3 weeks"],
        scope:[
          "Sending domain setup with SPF/DKIM, compliance footer, and 1 subscription type",
          "2 branded email templates built in HubSpot",
          "2 conversion-optimized forms with basic field mapping",
          "1 landing page template on HubSpot CMS (brand-matched)",
          "1 lifecycle workflow (e.g. MQL transition or basic nurture entry)",
          "1 marketing dashboard with traffic, conversion, and email health basics",
          "1 live training session for marketers",
          "Handoff doc",
        ],
        excluded:["Multiple landing page templates","Smart lists","Multi-step nurtures","Campaign tracking taxonomy","Attribution reporting","Paid-ads sync","A/B testing","Cookie consent setup"],
        duration:"3 weeks",
        specs:{ timeline:"3 weeks", deliverables:"3 deliverables", team:"1 senior operator", support:"Email support", sow:"Within 24 hours", updates:"Weekly progress updates" },
        deliverables:["Email + forms foundation","Branded landing page template","Training + handoff doc"] },
      { id:"pro", name:"Pro", tag:"Most teams pick this", price:6900, badge:true,
        desc:"For growing marketing teams that need email, forms, lifecycle automation, campaigns, and reporting wired together.",
        bullets:["Everything in Essential","Up to 4 email templates","Up to 4 conversion forms + progressive profiling","Up to 2 landing page templates","Up to 10 smart lists","Up to 6 marketing workflows","Campaign tracking + UTM standards","Up to 4 marketing dashboards","Up to 2 live trainings + Loom library","Handoff doc","Timeline: 5 weeks"],
        scope:[
          "Everything in Essential",
          "Sending domain setup, brand-matched master template, and up to 4 reusable email templates",
          "Up to 4 conversion-optimized forms with progressive profiling rules",
          "Up to 2 landing page templates on HubSpot CMS (brand-matched)",
          "Up to 10 smart lists for segmentation and suppression",
          "Up to 6 marketing workflows: nurture triggers, lifecycle transitions, and list management",
          "Campaign tracking setup: UTM standards, HubSpot campaigns tool, and source reporting",
          "Up to 4 marketing dashboards: traffic, conversion, email health, and campaign ROI",
          "Up to 2 live training sessions for marketers",
          "Loom walkthroughs for the configured setup",
          "Handoff doc",
        ],
        duration:"5 weeks",
        specs:{ timeline:"5 weeks", deliverables:"4 deliverables", team:"1 senior operator", support:"Async Slack support", sow:"Within 24 hours", updates:"Weekly progress updates" },
        deliverables:["Email, forms, and LP foundation","Smart lists and lifecycle workflows","Campaign tracking and ROI dashboards","Training, Loom library, and handoff doc"] },
      { id:"enterprise", name:"Enterprise", tag:"Multi-brand marketing teams", price:11500,
        desc:"For multi-brand or multi-team marketing orgs that need campaigns, advanced workflows, and reporting across regions or product lines.",
        bullets:["Everything in Pro","Up to 8 email templates","Up to 8 conversion forms","Up to 4 landing page templates","Up to 20 smart lists","Up to 12 marketing workflows","Multi-brand campaign architecture","Up to 8 marketing dashboards","Up to 3 trainings + stakeholder handoff","Loom walkthroughs + handoff doc","Timeline: 7 weeks"],
        scope:[
          "Everything in Pro",
          "Up to 8 branded email templates with reusable modules",
          "Up to 8 conversion-optimized forms with progressive profiling and routing logic",
          "Up to 4 landing page templates on HubSpot CMS for multiple brands or campaigns",
          "Up to 20 smart lists for segmentation, suppression, and lifecycle reporting",
          "Up to 12 marketing workflows: nurture, lifecycle, list management, internal alerts, and routing",
          "Multi-brand or multi-region campaign architecture using the HubSpot campaigns tool with shared UTM taxonomy",
          "Up to 8 marketing dashboards: traffic, conversion, email health, campaign ROI, funnel velocity, and team views",
          "Up to 3 live training sessions plus stakeholder handoff session",
          "Loom walkthroughs for the full configured setup",
          "Handoff doc",
        ],
        excluded:["Custom HubSpot CMS theme build from scratch","Full creative redesign of brand system","Paid media management","Multi-portal architecture","Custom attribution model implementation"],
        duration:"7 weeks",
        specs:{ timeline:"7 weeks", deliverables:"5 deliverables", team:"1 senior operator", support:"Async Slack support", sow:"Within 24 hours", updates:"Weekly progress updates", extra:"Stakeholder handoff session" },
        deliverables:["Multi-brand email + LP architecture","Forms, smart lists, and workflows","Campaign tracking and multi-team dashboards","QA across templates and workflows","Training, stakeholder handoff, Loom walkthroughs, and handoff doc"] },
    ],
    pillars:[
      { i:"mail",    t:"Email & forms",          d:"Sending domain, branded templates, subscription types, compliance, and conversion-optimized forms with progressive profiling." },
      { i:"layers",  t:"Lists & segmentation",   d:"Smart lists, suppression rules, and lifecycle alignment so segmentation actually holds up over time." },
      { i:"refresh", t:"Workflows & nurture",    d:"Nurture, lifecycle, and list-management workflows so marketing automation runs without manual cleanup." },
      { i:"chart",   t:"Campaigns & reporting",  d:"UTM standards, the HubSpot campaigns tool, and dashboards that show traffic, conversion, email health, and ROI." },
    ],
    scope:[
      "Everything in Essential",
      "Sending domain setup, brand-matched master template, and up to 4 reusable email templates",
      "Up to 4 conversion-optimized forms with progressive profiling rules",
      "Up to 2 landing page templates on HubSpot CMS (brand-matched)",
      "Up to 10 smart lists for segmentation and suppression",
      "Up to 6 marketing workflows: nurture triggers, lifecycle transitions, and list management",
      "Campaign tracking setup: UTM standards, HubSpot campaigns tool, and source reporting",
      "Up to 4 marketing dashboards: traffic, conversion, email health, and campaign ROI",
      "Up to 2 live training sessions for marketers",
      "Loom walkthroughs for the configured setup",
      "Handoff doc",
    ],
    scopeLabel:"What's included in the Pro plan",
    notIncluded:{
      intro:"This package is designed to launch a clean Marketing Hub setup. The following items are not included by default, but can be added as custom scope if needed.",
      items:["Full creative or brand system redesign","Custom HubSpot CMS theme build from scratch","Full historic data migration","Paid media management or ad buying","Copywriting for nurtures or landing pages from scratch","Advanced multi-touch attribution model implementation","ABM tiering or 1:1 ABM playbooks","Cookie consent / GDPR banner implementation","Custom integrations or API development","Multi-portal architecture","Ongoing marketing admin support after launch","Paid HubSpot subscription fees","RevOps strategy workshops beyond the onboarding scope"],
    },
    bestFit:{
      good:["You already have or are buying HubSpot Marketing Hub","You want clean email, forms, lists, LPs, workflows, and dashboards from day one","Your team needs marketers to run campaigns without a dev ticket","You want implementation done for you, not just advice","You want a fixed price and clear scope before kickoff"],
      bad:["You need a full brand or creative redesign first","You need paid media buying or ad management","You need a custom HubSpot CMS theme built from scratch","You need a full multi-touch attribution model designed before launch","You want ongoing admin support instead of a fixed onboarding project"],
    },
    overview:"The same Marketing Hub setup our best clients use to launch clean email, forms, landing pages, lifecycle workflows, campaign tracking, and marketing reporting.\n\nYou get a fixed-scope engagement, led by a senior HubSpot operator, with a hand-rolled SOW before kickoff. We use a proven framework, then calibrate it to your demand-gen motion and stack.\n\nThis is a setup and onboarding package, not an open-ended demand-gen retainer. The goal is to get your marketers live in HubSpot with a system they can actually run.",
    processSteps:[
      { title:"Scope",     body:"We review your current marketing setup, HubSpot plan, brand assets, and goals. Then we confirm the final scope in a short SOW." },
      { title:"Configure", body:"We configure your sending domain, templates, forms, landing pages, smart lists, lifecycle workflows, campaign tracking, and dashboards based on the selected plan." },
      { title:"QA",        body:"We test the setup before handoff: email rendering, form submissions, list logic, workflow triggers, and dashboard data accuracy." },
      { title:"Train",     body:"We run live training sessions, record Loom walkthroughs, and provide a handoff doc so your marketers know how to use the setup." },
      { title:"Launch",    body:"Your team starts running campaigns in the new Marketing Hub setup. If you added Slack support, we stay available for post-launch questions." },
    ],
    productFaq:[
      { q:"Do we need to already have HubSpot Marketing Hub?", a:"This package assumes you already have HubSpot Marketing Hub or are ready to purchase it. HubSpot subscription fees are not included in the onboarding price. As HubSpot Solutions Partners, we can help you negotiate the right plan for your setup." },
      { q:"Is data migration included?", a:"No. Light field mapping and structure planning are included, but full historic contact, list, or campaign migration is not included by default. These can be added as custom scope." },
      { q:"Do you write the email and landing page copy from scratch?", a:"Not by default. We use your existing messaging or our starter templates and adapt them to your brand. Full copywriting from scratch can be added as custom scope." },
      { q:"Can you customize this for our brand?", a:"Yes, within the limits of the selected plan. We brand-match templates to your existing identity, but this is not a brand-system redesign or custom CMS theme build." },
      { q:"What happens before we pay?", a:"You reserve the cohort spot and we prepare a short SOW. You only move forward once the scope is clear." },
      { q:"What if we need more than the listed limits?", a:"We can add extra scope to the SOW or recommend the Enterprise plan if your needs are more complex — multi-brand, multi-region, or ABM-heavy." },
      { q:"Is this only for SaaS companies?", a:"No. It works especially well for SaaS, B2B services, and education, but any marketing team using HubSpot Marketing Hub can use this package." },
      { q:"What HubSpot plan do we need?", a:"Essential works best for Marketing Hub Starter setups. Pro and Enterprise are best for Marketing Hub Pro or Enterprise customers because they need automation, campaigns, smart lists, and advanced reporting." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on your final SOW and team responsiveness.", price:1200 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for questions, small clarifications, and post-launch guidance for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before onboarding so we can identify CRM, lifecycle, automation, reporting, and data quality issues before implementation.", price:2400 },
    ],
  },
  { id:"hs-onb-svc", cat:"hubspot", num:"H1c", name:"HubSpot Service Onboarding", category:"HubSpot", price:2800,
    duration:"2 weeks", featured:true,
    image:"assets/products/hubspot-service-onboarding-thumb.png",
    desc:"Launch a clean Service Hub setup in 14 days.",
    tagline:"We configure your ticket pipelines, support inbox, knowledge base, surveys, SLAs, service workflows, and dashboards using the same best-practice setup we use for SaaS and services teams.",
    supporting:"Fixed scope. Senior-led. Built so your CS team can run support and report on retention from day one.",
    priceLabel:"Fixed-price Service Hub setup · one-time",
    ctaPrimary:"Reserve cohort spot",
    ctaSecondary:"Request custom scope",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Your spot reserves implementation capacity. Final scope is confirmed in a short SOW before kickoff. If your needs fall outside this package, we'll recommend the right add-on or custom scope.",
    tiers:[
      { id:"essential", name:"Essential", tag:"Clean foundation", price:2800,
        desc:"For small CS teams that need a clean Service Hub foundation.",
        bullets:["1 ticket pipeline with basic statuses","Basic support inbox routing","4 response templates","4 starter KB articles","1 CSAT survey","1 service workflow","1 service dashboard","1 live training session","Handoff doc","Timeline: 2 weeks"],
        scope:[
          "1 ticket pipeline with statuses and basic required fields",
          "Support inbox setup: basic routing and auto-assign",
          "Up to 4 response templates",
          "Knowledge base: structure and 4 starter articles",
          "1 CSAT survey wired into the CRM",
          "1 service workflow (ticket routing or follow-up)",
          "1 service dashboard with workload and SLA overview",
          "1 live training session for CS reps",
          "Handoff doc",
        ],
        excluded:["Multiple ticket pipelines","SLA timers + escalation workflows","Multi-survey strategy (NPS + CSAT + custom)","Multiple dashboards","Channel integrations beyond email","Custom automation"],
        duration:"2 weeks",
        specs:{ timeline:"2 weeks", deliverables:"3 deliverables", team:"1 senior operator", support:"Email support", sow:"Within 24 hours", updates:"Weekly progress updates" },
        deliverables:["Ticket pipeline + inbox setup","Knowledge base + CSAT","Training + handoff doc"] },
      { id:"pro", name:"Pro", tag:"Most teams pick this", price:5400, badge:true,
        desc:"For growing CS teams that need ticketing, SLA timers, knowledge base, surveys, automation, and reporting wired together.",
        bullets:["Everything in Essential","Up to 2 ticket pipelines","SLA timers + auto-assignment","Up to 8 response templates","KB with 8 starter articles + categories","Up to 2 feedback surveys (CSAT, NPS, or custom)","Up to 3 service workflows","Up to 3 service dashboards","1 live training session + Loom walkthroughs","Handoff doc","Timeline: 4 weeks"],
        scope:[
          "Everything in Essential",
          "Up to 2 ticket pipelines with statuses, SLA timers, and auto-assignment rules",
          "Support inbox setup: routing, auto-assign, and up to 8 response templates",
          "Knowledge base: structure, categories, and up to 8 starter articles",
          "Up to 2 feedback surveys (CSAT, NPS, or custom) wired into the CRM",
          "Up to 3 service workflows: ticket routing, escalation, and follow-up",
          "Up to 3 service dashboards: workload, SLA compliance, and CSAT",
          "Up to 1 live training session for CS reps",
          "Loom walkthroughs for the configured setup",
          "Handoff doc",
        ],
        duration:"4 weeks",
        specs:{ timeline:"4 weeks", deliverables:"4 deliverables", team:"1 senior operator", support:"Async Slack support", sow:"Within 24 hours", updates:"Weekly progress updates" },
        deliverables:["Ticket pipelines + inbox","Knowledge base + surveys","Service workflows + dashboards","Training, Loom walkthroughs, and handoff doc"] },
      { id:"enterprise", name:"Enterprise", tag:"Multi-team CS orgs", price:9200,
        desc:"For multi-team CS orgs that need multiple pipelines, advanced SLAs, multi-channel support, and reporting across teams.",
        bullets:["Everything in Pro","Up to 3 ticket pipelines","Advanced SLA + escalation logic","Up to 16 response templates","KB with 16 starter articles + multi-category architecture","Up to 4 feedback surveys","Up to 6 service workflows","Team-based ownership + permissions","Up to 6 service dashboards","Up to 3 trainings + stakeholder handoff","Loom walkthroughs + handoff doc","Timeline: 6 weeks"],
        scope:[
          "Everything in Pro",
          "Up to 3 ticket pipelines with statuses, SLA timers, and auto-assignment rules",
          "Advanced SLA logic with escalation workflows and Slack alerts",
          "Support inbox setup with up to 16 response templates and routing across teams",
          "Knowledge base: structure, multi-category architecture, and up to 16 starter articles",
          "Up to 4 feedback surveys (CSAT, NPS, or custom) wired into the CRM",
          "Up to 6 service workflows: routing, escalation, follow-up, internal alerts, and customer notifications",
          "Team-based pipeline or ownership configuration using standard HubSpot teams and permissions",
          "Up to 6 service dashboards: workload, SLA compliance, CSAT, agent performance, channel breakdown, and manager views",
          "Up to 3 live training sessions plus stakeholder handoff session",
          "Loom walkthroughs for the full configured setup",
          "Handoff doc",
        ],
        excluded:["Custom chatbot or LLM design","Advanced multi-portal architecture","Custom integrations or API development","Custom helpdesk theme on the customer portal","Workforce management tooling integration"],
        duration:"6 weeks",
        specs:{ timeline:"6 weeks", deliverables:"5 deliverables", team:"1 senior operator", support:"Async Slack support", sow:"Within 24 hours", updates:"Weekly progress updates", extra:"Stakeholder handoff session" },
        deliverables:["Multi-pipeline service architecture","SLA, escalation, and inbox setup","Knowledge base + surveys across categories","Service workflows + multi-team dashboards","Training, stakeholder handoff, Loom walkthroughs, and handoff doc"] },
    ],
    pillars:[
      { i:"layers",  t:"Ticket pipelines",        d:"Configure ticket pipelines with statuses, SLA timers, and auto-assignment rules so requests don't fall through the cracks." },
      { i:"mail",    t:"Inbox & templates",       d:"Support inbox routing, auto-assign, and reusable response templates so reps reply faster with brand-consistent language." },
      { i:"shield",  t:"Knowledge & feedback",    d:"Structured knowledge base and CSAT/NPS surveys wired into the CRM so insights show up where they're useful." },
      { i:"chart",   t:"Reporting & QA",          d:"Service dashboards for workload, SLA compliance, and CSAT so CS leadership can manage to outcomes." },
    ],
    scope:[
      "Everything in Essential",
      "Up to 2 ticket pipelines with statuses, SLA timers, and auto-assignment rules",
      "Support inbox setup: routing, auto-assign, and up to 8 response templates",
      "Knowledge base: structure, categories, and up to 8 starter articles",
      "Up to 2 feedback surveys (CSAT, NPS, or custom) wired into the CRM",
      "Up to 3 service workflows: ticket routing, escalation, and follow-up",
      "Up to 3 service dashboards: workload, SLA compliance, and CSAT",
      "Up to 1 live training session for CS reps",
      "Loom walkthroughs for the configured setup",
      "Handoff doc",
    ],
    scopeLabel:"What's included in the Pro plan",
    notIncluded:{
      intro:"This package is designed to launch a clean Service Hub setup. The following items are not included by default, but can be added as custom scope if needed.",
      items:["Full ticket data migration from another helpdesk","Custom HubSpot CMS theme for the customer portal","Custom chatbot or LLM design (see AI Knowledge Chatbot)","Custom integrations or API development","Multi-portal architecture","Workforce management tool integration","Telephony / voice integration beyond HubSpot native","Ongoing service admin support after launch","Paid HubSpot subscription fees","Advanced custom report formulas beyond standard HubSpot reporting","RevOps strategy workshops beyond the onboarding scope"],
    },
    bestFit:{
      good:["You already have or are buying HubSpot Service Hub","You want a clean ticketing, SLA, and knowledge-base foundation","Your CS team needs surveys, dashboards, and training","You want implementation done for you, not just advice","You want a fixed price and clear scope before kickoff"],
      bad:["You need to migrate from Zendesk, Intercom, or Freshdesk first","You need a custom chatbot or LLM agent before launch","You need telephony or voice integration beyond HubSpot native","You want ongoing CS admin support instead of a fixed onboarding project","Your support process is not defined at all"],
    },
    overview:"The same Service Hub setup our best clients use to launch clean ticketing, SLAs, knowledge bases, surveys, and service reporting.\n\nYou get a fixed-scope engagement, led by a senior HubSpot operator, with a hand-rolled SOW before kickoff. We use a proven framework, then calibrate it to your CS motion and stack.\n\nThis is a setup and onboarding package, not an open-ended CS retainer. The goal is to get your team live in HubSpot with a system they can actually use.",
    processSteps:[
      { title:"Scope",     body:"We review your current support process, HubSpot plan, team structure, and goals. Then we confirm the final scope in a short SOW." },
      { title:"Configure", body:"We configure your ticket pipelines, inbox, response templates, knowledge base, surveys, service workflows, and dashboards based on the selected plan." },
      { title:"QA",        body:"We test the setup before handoff: ticket flow, SLA timers, routing logic, survey delivery, and dashboard data accuracy." },
      { title:"Train",     body:"We run live training sessions, record Loom walkthroughs, and provide a handoff doc so your CS team knows how to use the setup." },
      { title:"Launch",    body:"Your team starts handling support tickets in the new Service Hub setup. If you added Slack support, we stay available for post-launch questions." },
    ],
    productFaq:[
      { q:"Do we need to already have HubSpot Service Hub?", a:"This package assumes you already have HubSpot Service Hub or are ready to purchase it. HubSpot subscription fees are not included in the onboarding price. As HubSpot Solutions Partners, we can help you negotiate the right plan for your setup." },
      { q:"Is data migration from our current helpdesk included?", a:"No. Migrating tickets, knowledge base articles, or contacts from Zendesk, Intercom, Freshdesk, or another helpdesk is not included by default. These can be added as custom scope." },
      { q:"Do you write the response templates and KB articles from scratch?", a:"Not by default. We configure templates and seed articles using your existing content or our starter templates. Full copywriting from scratch can be added as custom scope." },
      { q:"Can you build us a chatbot?", a:"Not as part of this package. We can configure HubSpot's native chat widget. For an LLM-powered chatbot trained on your KB, see our AI Knowledge Chatbot service." },
      { q:"What happens before we pay?", a:"You reserve the cohort spot and we prepare a short SOW. You only move forward once the scope is clear." },
      { q:"What if we need more than the listed limits?", a:"We can add extra scope to the SOW or recommend the Enterprise plan if your needs are more complex — multiple pipelines, multi-team, or multi-region." },
      { q:"Is this only for SaaS companies?", a:"No. It works especially well for SaaS and B2B services, but any team using HubSpot Service Hub can use this package." },
      { q:"What HubSpot plan do we need?", a:"Essential works best for Service Hub Starter setups. Pro and Enterprise are best for Service Hub Pro or Enterprise customers because they need SLA timers, automation, advanced surveys, and deeper reporting." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on your final SOW and team responsiveness.", price:1200 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for questions, small clarifications, and post-launch guidance for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before onboarding so we can identify CRM, lifecycle, automation, reporting, and data quality issues before implementation.", price:2400 },
    ],
  },
  { id:"hs-migrate", cat:"hubspot", num:"H2", name:"CRM Migration", category:"HubSpot", price:6200, hidden:true,
    duration:"3 weeks",
    image:"assets/products/crm-migration-thumb.png",
    imageWide:"assets/products/crm-migration-wide.png",
    desc:"Move off Salesforce, Pipedrive, Close, or spreadsheets without losing a record. Clean property mapping, zero downtime, full team enablement on day one.",
    scope:[
      "Source-system audit + property mapping doc you sign off on",
      "Data import: contacts, companies, deals, tickets & activities (record volume confirmed in the SOW)",
      "Up to 3 pipelines & stage migration with deal history preserved",
      "Up to 5 integrations re-wired (Slack, calendar, calling, etc.)",
      "Cutover plan, dry-run and same-day go-live",
      "Post-migration QA + up to 1 enablement session",
    ] },
  { id:"hs-audit", cat:"hubspot", num:"H3", name:"HubSpot Health Audit", category:"HubSpot", price:2400,
    duration:"2 weeks", badge:"new", featured:true,
    image:"assets/products/hubspot-audit-thumb.png",
    imageWide:"assets/products/hubspot-audit-wide.png",
    desc:"Find $15–30k of hidden waste in your portal and walk away with a fix plan.",
    tagline:"A written audit that quantifies the waste in your HubSpot portal and gives you a quarter-by-quarter plan to fix it — effort and $-impact on every line.",
    supporting:"Fixed price. Senior-led. Audit credit applied to any follow-on service.",
    priceLabel:"Fixed-price portal audit · one-time",
    ctaPrimary:"Reserve audit slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"If we don't surface meaningful issues, we'll tell you straight. Your audit credit applies to any follow-on service.",
    pillars:[
      { i:"chart",   t:"Hidden waste, quantified",  d:"A $-impact estimate for every broken workflow, decaying property, and unused asset we find — typically $15–30k of recoverable spend per portal." },
      { i:"shield",  t:"A portal you can trust",    d:"Orphans, loops, duplicates, and broken dashboards called out and prioritized so your team stops second-guessing the data." },
      { i:"layers",  t:"30 / 60 / 90 fix plan",     d:"Effort × impact for every issue so the next quarter of HubSpot investment compounds instead of patching the same problems." },
      { i:"refresh", t:"Credit toward the fix",     d:"Your audit fee is credited against any follow-on service. You're never paying twice for the same work." },
    ],
    scope:[
      "60+ point review of pipelines, properties, workflows, dashboards, and integrations",
      "Workflow forensics: orphans, loops, duplicates, and errors flagged",
      "Data-quality scorecard: duplicates, decay, missing fields, and seat-utilization",
      "Adoption check: rep usage, sequence health, and queue load",
      "Written findings deck with $-impact estimates and recommended priority",
      "30 / 60 / 90-day fix plan + audit credit applied to any follow-on service",
    ],
    notIncluded:{
      intro:"This is an audit, not implementation. The following remediation work is not included by default — but we'll scope it (and apply your audit credit) if you want us to ship the fixes.",
      items:["Implementation of the recommended fixes","Full data cleanup or CRM migration","Workflow rebuilds beyond the report","Custom dashboard builds","Integration setup or fixes","Custom property restructure beyond the recommendations","Training or enablement sessions","Ongoing admin support after the audit"],
    },
    bestFit:{
      good:["Your portal has been live 12+ months and has drifted","Your team doesn't fully trust HubSpot dashboards anymore","You suspect workflows are double-firing or silently broken","You're about to invest in a bigger HubSpot project and want a clean baseline","You inherited a portal and need to know what's actually in there"],
      bad:["You set HubSpot up last quarter and it's still clean","You want us to fix the issues during the audit (book the audit + a follow-on service)","You need a CRM migration first","You only want a one-call review — the audit is a written deliverable"],
    },
    overview:"Most HubSpot portals quietly accumulate broken workflows, decaying data, and dashboards no one trusts. The Health Audit puts a number on that waste and gives you a sequenced plan to fix it — so the next quarter of HubSpot investment compounds instead of patching the same problems.\n\nFixed-scope, senior-led, written deliverable. Audit credit applied to any follow-on service.",
    processSteps:[
      { title:"Scope",  body:"30-minute kickoff to confirm portal access, scope, and the 3 questions you want answered most." },
      { title:"Audit",  body:"Two-week async review: 60+ point sweep of pipelines, workflows, properties, dashboards, and data quality." },
      { title:"Report", body:"60-minute walkthrough of the findings deck and the 30/60/90 fix plan — you leave with a roadmap any operator can execute." },
    ],
    productFaq:[
      { q:"What's the actual deliverable?", a:"A written findings deck with $-impact estimates per issue, plus a 30/60/90-day fix plan. Every line has an estimated effort, recommended priority, and rough cost to fix." },
      { q:"What if we want you to fix the issues you find?", a:"Most clients do. We scope the fixes as a follow-on service (existing SKU or custom), and your $2,400 audit fee is credited against it." },
      { q:"How much access do you need?", a:"Read-only HubSpot Super Admin for the audit period. We don't need access to your data warehouse, billing, or anything outside HubSpot." },
      { q:"Will this disrupt our team?", a:"No. The audit is read-only and asynchronous. One 30-minute kickoff and one 60-minute findings walkthrough — that's it." },
      { q:"Do you really find $15–30k of waste?", a:"In 9 of 10 portals we audit, yes. Most of it sits in unused HubSpot seats, duplicates inflating contact-based pricing, and workflows that haven't been touched in 18 months." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery",                sub:"Cut the timeline by approximately 25%, depending on portal complexity and your team's responsiveness.", price:600 },
      { id:"exec",  name:"Executive findings walkthrough", sub:"Additional 60-min presentation of the findings to your CEO / CRO with stakeholder Q&A.", price:400 },
      { id:"sup",   name:"30-day Slack support",          sub:"Async Slack support for clarifications and follow-up questions for 30 days after the report is delivered.", price:600 },
    ],
  },
  { id:"hs-sales", cat:"hubspot", num:"H4", name:"Sales Hub Buildout", category:"HubSpot", price:5400, hidden:true,
    duration:"3 weeks",
    image:"assets/products/sales-hub-thumb.png",
    imageWide:"assets/products/sales-hub-wide.png",
    desc:"The same Sales Hub setup our scaling clients use to forecast within 5%: sequences, playbooks, deal stages, rep handoff. Reps actually log in.",
    scope:[
      "Up to 2 deal pipelines + stage gates with required-field automation",
      "Up to 4 sequences, 6 email templates & 3 playbooks tuned to your motion",
      "Forecasting setup: weighted pipeline + 1 custom forecast view",
      "Lead routing (round-robin or weighted), SLA timers & Slack alerts",
      "Rep training (up to 2 sessions) + 1 manager dashboard pack",
      "30 days of post-launch tuning",
    ] },
  { id:"hs-service", cat:"hubspot", num:"H5", name:"Service Hub Setup", category:"HubSpot", price:3800, hidden:true,
    duration:"2 weeks",
    image:"assets/products/service-hub-thumb.png",
    imageWide:"assets/products/service-hub-wide.png",
    desc:"Stand up a CS motion you can report on: ticketing, KB, SLAs, and CSAT — wired into your CRM data so retention shows up on the dashboard.",
    scope:[
      "Up to 2 ticket pipelines with statuses & SLA timers",
      "Support inbox: routing, auto-assign + up to 10 response templates",
      "Knowledge base setup with up to 10 starter articles + categories",
      "Up to 3 survey workflows (CSAT, NPS or custom) wired into the CRM",
      "1 CS dashboard pack: workload, SLA, CSAT, retention",
      "Rep training (up to 1 session) + handover doc",
    ] },

  { id:"lc-scoring", cat:"hubspot", num:"L1", name:"Lead Scoring System", category:"HubSpot", price:3200,
    duration:"2 weeks", badge:"pop", featured:true,
    image:"assets/products/lead-scoring-thumb.png",
    imageWide:"assets/products/lead-scoring-wide.png",
    desc:"A lead score reps actually trust, so the right leads get worked first.",
    tagline:"A scoring model built on your real ICP and closed-won data — surfaced where reps already work, and tuned every quarter so it keeps earning trust.",
    supporting:"Fixed price. Senior-led. End the 'is this lead good?' debate with one canonical score.",
    priceLabel:"Fixed-price scoring system · one-time",
    ctaPrimary:"Reserve build slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Final scoring model is calibrated to your portal during build. If your data can't support what you want, we'll surface that in the SOW before kickoff.",
    pillars:[
      { i:"zap",     t:"A score reps trust",     d:"Two scoring models (fit + engagement) built on real CRM, product, and behavior signals — not a generic plug-in template." },
      { i:"layers",  t:"Right leads, first",     d:"Score-driven routing workflows so high-fit leads land on the right rep within minutes — and low-fit leads don't waste anyone's day." },
      { i:"chart",   t:"Visible to leadership",  d:"A scorecard dashboard showing lead quality by source, campaign, and rep — marketing and sales finally argue with the same data." },
      { i:"refresh", t:"Stays sharp quarterly",  d:"A tuning playbook your ops team can use to re-calibrate scoring against fresh closed-won data, without us in the loop." },
    ],
    scope:[
      "ICP definition workshop (1 session) + scoring criteria doc you sign off on",
      "Up to 2 scoring models (lead-fit + engagement) built in HubSpot",
      "Up to 5 score-driven workflows: routing, alerts, and lifecycle changes",
      "Rep + SDR scorecard dashboard",
      "A/B test of 2 scoring versions over 4 weeks post-launch",
      "Quarterly tuning playbook handed off to your team",
    ],
    notIncluded:{
      intro:"This builds a working scoring system you can run independently. The following are not included by default but can be added as custom scope.",
      items:["Custom property restructure beyond what scoring requires","Full CRM migration or data cleanup","Predictive AI scoring (third-party tool)","6sense / Bombora / intent-data integration","Custom routing tools beyond HubSpot native","Ongoing scoring administration after handoff","Multi-region or multi-team routing models","Marketing automation beyond score-driven workflows"],
    },
    bestFit:{
      good:["You have Marketing Hub Pro or Enterprise","Your sales team complains the SDRs hand them junk","You can articulate roughly what 'good' looks like (ICP)","You have at least 6 months of HubSpot data and some closed-won deals","You want one canonical score, not five competing definitions"],
      bad:["You don't have closed-won data yet (nothing to tune against)","Your sales team won't act on a score even if we build one","You need predictive AI scoring (we'd recommend a third-party tool)","You need intent-data integration as part of scoring","You're on Marketing Hub Starter (scoring isn't available)"],
    },
    overview:"Most lead scores fail because they're built from a template, ignored by reps, and never re-tuned. This service ships a model calibrated to your ICP and real closed-won data, surfaced where reps already work, and re-tuned every quarter — so the score keeps earning trust instead of losing it.\n\nFixed-scope, senior-led, with a handoff playbook your ops team can run on their own.",
    processSteps:[
      { title:"Scope",  body:"ICP workshop + scoring criteria doc you sign off on before any HubSpot work begins." },
      { title:"Build",  body:"Two scoring models, score-driven workflows, and the scorecard dashboard configured in HubSpot." },
      { title:"Tune",   body:"4-week A/B test post-launch, handoff session, and a quarterly tuning playbook for your team." },
    ],
    productFaq:[
      { q:"Do we need Marketing Hub Pro or Enterprise?", a:"Yes — HubSpot scoring properties require Pro or Enterprise on Marketing Hub. We confirm this in scoping." },
      { q:"What if we don't have a clear ICP yet?", a:"The ICP workshop is part of the engagement. We bring a framework, your team brings the data — together we land on a working ICP doc that drives the scoring model." },
      { q:"How much closed-won data do we need?", a:"At least 6 months and roughly 50 closed-won deals to find signal. Less than that, we'll still build the model — but expect more aggressive re-tuning in the first quarter." },
      { q:"What if our reps ignore the score?", a:"We design the routing rules so the highest-scoring leads land on reps automatically. Rep adoption is built into the workflow, not left to discipline." },
      { q:"Can you integrate intent data (6sense, Bombora, etc.)?", a:"Not included by default — but if you already pay for one, we can scope adding it to the model as custom scope." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on data availability and team responsiveness.", price:800 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for prompt tuning and clarifications for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before build so we can identify any data-quality issues that could undermine scoring.", price:2400 },
    ],
  },
  { id:"lc-stages", cat:"hubspot", num:"L2", name:"Lifecycle Stages", category:"HubSpot", price:2800,
    duration:"2 weeks",
    image:"assets/products/lifecycle-stages-thumb.png",
    imageWide:"assets/products/lifecycle-stages-wide.png",
    desc:"One canonical funnel marketing and sales finally agree on.",
    tagline:"Aligned lifecycle stages, automated transitions, and an MQL → SQL SLA — so leadership sees one funnel number instead of three.",
    supporting:"Fixed price. Senior-led. End the lifecycle debate before your next QBR.",
    priceLabel:"Fixed-price lifecycle setup · one-time",
    ctaPrimary:"Reserve build slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"The hardest part of this engagement is getting marketing and sales to agree on definitions. We facilitate the workshop and walk out with a signed-off lifecycle doc — but the agreement has to happen.",
    pillars:[
      { i:"chart",   t:"One funnel, agreed",        d:"Up to 7 lifecycle stages defined and signed off by both marketing and sales — one funnel chart in every leadership meeting." },
      { i:"refresh", t:"Automated transitions",     d:"Stage-transition workflows that move contacts based on rules you set, not based on a marketer remembering to update a field." },
      { i:"shield",  t:"MQL → SQL SLA",             d:"A response-time agreement between marketing handoff and sales acceptance, with alerts so handoffs don't sit cold for days." },
      { i:"layers",  t:"Reports that match",        d:"Funnel reports for stage conversion, velocity, and leakage that both teams trust and read the same way." },
    ],
    scope:[
      "Up to 7 lifecycle stages agreed across marketing + sales (joint workshop)",
      "Up to 6 stage-transition workflows (auto + manual triggers)",
      "Funnel reports: stage conversion, velocity, and leakage",
      "Response-time SLA between MQL → SQL → Opportunity with alerts",
      "One-time cleanup of historical contacts + bulk re-stage",
      "Documentation + 1 joint enablement session for marketing + sales",
    ],
    notIncluded:{
      intro:"This operationalizes lifecycle stages in HubSpot. The following are not included by default.",
      items:["Lead scoring model (see Lead Scoring System)","Full CRM data migration","Custom property restructure beyond lifecycle","Multi-region or multi-business-unit lifecycle architecture","Attribution model implementation","Sales process redesign (lifecycle is not the same as sales deal stages)","Ongoing lifecycle admin after handoff","Paid HubSpot subscription fees"],
    },
    bestFit:{
      good:["Your marketing and sales teams cite different funnel numbers","Your CRO can't get a single source-of-truth dashboard","Leads sit in 'MQL' for weeks because no one defines what closes the stage","You have enough volume to make automation worth it (~500+ contacts / month)","You want one canonical funnel, not three competing ones"],
      bad:["You're a 2-person team running 20 deals a month (overkill)","Marketing and sales don't agree they should use the same funnel — we can't fix that","Your CRM is so messy lifecycle stages would inherit the chaos (start with Health Audit)","You need lead scoring first (run scoring → then this)"],
    },
    overview:"Lifecycle stages should be the simplest thing in HubSpot. They almost never are — marketing tracks one funnel, sales tracks another, and the CRO sees a third number on every dashboard.\n\nThis service ends that. You get one canonical funnel signed off by both teams, automated transitions, an MQL → SQL SLA, and clean funnel reporting — so your team finally has one number to manage to.",
    processSteps:[
      { title:"Align",   body:"Joint marketing-sales workshop to agree on lifecycle definitions — the only painful part of this." },
      { title:"Build",   body:"Stages, transition workflows, SLA timers, and funnel dashboards configured in HubSpot." },
      { title:"Cleanup", body:"One-time historical contact re-staging + joint handoff session for both teams." },
    ],
    productFaq:[
      { q:"What if marketing and sales can't agree on the lifecycle?", a:"The workshop is structured to force the agreement before any HubSpot work begins. We facilitate the debate and walk out with a written, signed-off lifecycle doc." },
      { q:"Will this break our existing reports?", a:"It replaces them — and that's the point. We migrate historical contacts to the new stages and rebuild the funnel reports so there's no transition gap." },
      { q:"Do we need lead scoring first?", a:"Not required. Lifecycle stages work without scoring. But scoring + lifecycle together is the strongest combo — see the Lead Scoring System." },
      { q:"How is this different from sales deal stages?", a:"Lifecycle stages (Subscriber → Lead → MQL → SQL → Opportunity → Customer) describe the contact's journey. Deal pipeline stages describe deal progression. We configure lifecycle here, not deal stages." },
      { q:"What's the MQL → SQL SLA?", a:"A response-time agreement between marketing and sales. When marketing transitions a contact to SQL, sales has a defined window (e.g. 24 hours) to accept or reject. Alerts fire if the SLA breaches." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on workshop scheduling and team responsiveness.", price:700 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for stage-definition clarifications and follow-up questions for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before build so lifecycle stages aren't inheriting underlying data issues.", price:2400 },
    ],
  },
  { id:"lc-attr", cat:"hubspot", num:"L3", name:"Attribution Dashboard", category:"HubSpot", price:3600,
    duration:"3 weeks",
    image:"assets/products/attribution-thumb.png",
    imageWide:"assets/products/attribution-wide.png",
    desc:"Know what's actually driving pipeline — every dollar with a job title.",
    tagline:"Multi-touch attribution your CFO can defend — HubSpot + GA4 + paid sources stitched into one dashboard, with pipeline and revenue attached to channel, campaign, and content.",
    supporting:"Fixed price. Senior-led. Built so 'where does our pipeline come from?' has one answer, not three.",
    priceLabel:"Fixed-price attribution dashboard · one-time",
    ctaPrimary:"Reserve build slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Quality of the dashboard depends on UTM hygiene. If your tracking is broken, we'll surface that in scoping and add cleanup to the SOW so the math holds up.",
    pillars:[
      { i:"chart",   t:"Pipeline by channel",     d:"Pipeline $ and revenue $ attributed to every channel, campaign, and content piece — not just MQL counts." },
      { i:"layers",  t:"One source of truth",     d:"HubSpot, GA4, and your paid sources stitched into a single view. No more 'paid says X, HubSpot says Y'." },
      { i:"zap",     t:"Defensible to the CFO",   d:"A multi-touch model (you pick first / last / linear / U-shape) with the math written down — so when finance pushes back, you have an answer." },
      { i:"refresh", t:"UTM governance",          d:"A tagging standard your team will actually follow, documented so net-new campaigns don't break the reporting." },
    ],
    scope:[
      "1 multi-touch attribution model (first / last / linear / U-shape) — you pick in scoping",
      "HubSpot + GA4 + up to 3 paid sources stitched into one view",
      "Channel, campaign, and content-level reporting",
      "Pipeline + revenue $ attribution by channel",
      "Up to 2 executive dashboards (weekly + monthly)",
      "UTM standards + tagging governance doc your team can run with",
    ],
    notIncluded:{
      intro:"This is a working attribution dashboard, not a custom data-warehouse build. The following are not included.",
      items:["Custom data warehouse pipeline (Snowflake, BigQuery, etc.)","Predictive or AI-driven attribution","Ad platform direct integrations beyond HubSpot's native ones","Customer Data Platform implementation","Full marketing analytics retainer","B2C / e-commerce attribution","Offline attribution (events, direct mail) — custom scope","Backfill of historical UTM data beyond 12 months"],
    },
    bestFit:{
      good:["You spend $20k+/mo on demand gen and can't explain the ROI cleanly","You have at least 6 months of clean HubSpot tracking","You use HubSpot + GA4 + 1–3 paid channels","You want one dashboard for leadership, not five tabs","Your CRO or CFO is pressuring marketing for revenue attribution"],
      bad:["Your UTM tracking is broken or absent (we can fix it, but expect longer timeline)","You want predictive AI attribution","You need a custom data warehouse pipeline","Your sales process is mostly offline (events, direct mail dominate)","You're a 5-person team without enough volume for multi-touch math"],
    },
    overview:"Most attribution dashboards are either too simple (HubSpot's default first-touch) or built on an $80k stack you don't need yet. This service ships the dashboard that answers your CFO's question — pipeline and revenue attributed to channel, campaign, and content, with a defensible multi-touch model and UTM governance.\n\nFixed-scope, senior-led, no warehouse required.",
    processSteps:[
      { title:"Scope",  body:"We pick the attribution model (first / last / linear / U-shape) and confirm the channels in scope." },
      { title:"Build",  body:"HubSpot + GA4 + paid sources stitched into 2 executive dashboards, with UTM standards documented." },
      { title:"Handoff", body:"Walkthrough with marketing + leadership, plus the tagging governance doc so the reporting holds up." },
    ],
    productFaq:[
      { q:"Which attribution model is right for us?", a:"Depends on your sales cycle. Short (under 30 days)? Last-touch. Long, multi-stakeholder? U-shape or linear. We recommend in scoping based on your data." },
      { q:"Do you need access to our ad platforms?", a:"We connect via HubSpot's native ads integration where possible (Google, LinkedIn, Facebook). For others, we use the source / UTM data already flowing into HubSpot." },
      { q:"What if our UTM tracking is broken?", a:"We'll surface that in scoping and add cleanup to the SOW. Most teams have at least some UTM chaos — it's normal." },
      { q:"Will this work without GA4?", a:"Yes, but you lose visibility into pre-form behavior (page views, content engagement). GA4 is strongly recommended." },
      { q:"Why not a custom data warehouse build?", a:"Because most teams don't need one yet. This dashboard answers the 'what's driving pipeline' question without a 6-month warehouse project. If you outgrow it, the UTM standards transfer cleanly to a warehouse build later." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on UTM hygiene and channel availability.", price:900 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for dashboard tweaks and follow-up reporting questions for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before build to surface tracking and data-quality issues that could affect attribution.", price:2400 },
    ],
  },

  { id:"ca-email", cat:"hubspot", num:"C1", name:"Email Nurture Series", category:"HubSpot", price:3200,
    duration:"3 weeks", badge:"pop", featured:true,
    image:"assets/products/email-nurture-thumb.png",
    imageWide:"assets/products/email-nurture-wide.png",
    desc:"A 5-touch nurture that gets 2.4× the reply rate of in-house attempts.",
    tagline:"A 5-email nurture written like a human, not a template — copy, design, automation, and A/B tests shipped together, averaging 2.4× the reply rate of in-house attempts.",
    supporting:"Fixed price. Senior-led. Copy by people who've shipped nurtures for 50+ B2B teams.",
    priceLabel:"Fixed-price nurture build · one-time",
    ctaPrimary:"Reserve build slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Copy quality depends on the segment workshop. If we can't identify a sharp enough buyer segment to write to, we'll surface that in scoping before kickoff.",
    pillars:[
      { i:"mail",    t:"Copy that gets replies",  d:"5 emails written for your real buyers (we run the segment workshop), not generic personas — averaging 2.4× the reply rate of in-house attempts." },
      { i:"layers",  t:"Smart, not blasted",      d:"A workflow with branching and suppression rules so contacts only get what's relevant — and unsubscribe rates stay low." },
      { i:"zap",     t:"A/B tests pre-loaded",    d:"2 A/B tests live from day one (subject line + CTA), so you start learning what works on your audience immediately." },
      { i:"chart",   t:"Measured in week 4",      d:"A live reporting dashboard plus a 4-week launch report with concrete optimization recs — not vanity metrics." },
    ],
    scope:[
      "Segment + persona workshop (1 session) + messaging brief you sign off on",
      "Up to 5 emails written, designed, and built in HubSpot",
      "1 workflow with branching + suppression rules",
      "Up to 2 A/B tests pre-loaded (subject line + CTA)",
      "1 reporting dashboard wired up",
      "4-week launch report with concrete optimization recs",
    ],
    notIncluded:{
      intro:"This is a 5-email nurture for one segment. The following are not included by default.",
      items:["Multi-segment nurture campaigns (each is a separate engagement)","Cold outbound prospecting sequences (different motion, different deliverability rules)","Landing pages or lead magnets (see Landing Page System)","Email design beyond brand-matched templates","Translation or localization","Account-based marketing 1:1 plays","Cookie consent / GDPR banner implementation","Paid ad copy or creative"],
    },
    bestFit:{
      good:["You have at least 500 leads in HubSpot you're not nurturing today","Your in-house nurture has plateaued or never launched","You know roughly who your buyer is (we sharpen it)","You have HubSpot Marketing Hub Starter or higher","You want copy from someone who's shipped for similar businesses"],
      bad:["You don't have HubSpot Marketing Hub","You want cold outbound prospecting (different beast — see Sales Onboarding)","Your audience is so niche that 'best practice' wouldn't apply","You need 12 nurtures across 12 segments (we'd quote that as custom)","You want SDR sequences specifically (see Sales Onboarding)"],
    },
    overview:"Most in-house nurtures are written by committee, designed by template, and report on open rates instead of replies. This service ships a 5-touch nurture written for your real buyers, with deliverability, branching, and reporting wired correctly — averaging 2.4× the reply rate we typically see from in-house attempts.\n\nFixed-scope, senior-led, with a launch report so you actually know what worked.",
    processSteps:[
      { title:"Scope",  body:"1-hour segment + persona workshop, then a written messaging brief you sign off on." },
      { title:"Build",  body:"5 emails written, designed, and built in HubSpot with the workflow, branching, and A/B tests wired." },
      { title:"Launch", body:"We launch with you, then send a 4-week report with concrete optimization recs." },
    ],
    productFaq:[
      { q:"Do you write all 5 emails from scratch?", a:"Yes. Copy is included — we don't ask you to provide first drafts. We use the segment workshop output, your brand voice, and 2.4× the in-house reply rate as our quality bar." },
      { q:"Whose voice does it sound like?", a:"Yours. We adapt to your existing brand voice (we look at your homepage, recent emails, founder LinkedIn). The goal is 'sounds like one of your people wrote it', not 'sounds like an agency'." },
      { q:"How many contacts can be enrolled?", a:"Unlimited from us — there's no per-contact pricing. HubSpot's own marketing contact limits apply based on your plan." },
      { q:"Can we add more segments later?", a:"Yes — each additional segment is a separate, smaller engagement since we already know your voice and stack." },
      { q:"Will it stay sharp after handoff?", a:"The 2 A/B tests run for 4 weeks post-launch. After that, your team has the framework to keep iterating. We can also be retained for ongoing optimization (see Custom Hours)." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on workshop scheduling and approval speed.", price:800 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for nurture tweaks, copy clarifications, and follow-up questions for 30 days post-launch.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before build to surface deliverability, list-hygiene, or workflow issues that could undermine the nurture.", price:2400 },
    ],
  },
  { id:"ca-launch", cat:"hubspot", num:"C2", name:"Product Launch Kit", category:"HubSpot", price:5800, hidden:true,
    duration:"4 weeks", featured:true,
    image:"assets/products/product-launch-thumb.png",
    imageWide:"assets/products/product-launch-wide.png",
    desc:"Ship a real launch, not a press release. Landing page, 3 emails, 2 blog posts, 8 social graphics, press kit, and a paid set — calibrated for the way modern teams launch.",
    scope:[
      "1 launch landing page on HubSpot CMS",
      "Up to 3 launch emails + 2 nurture follow-ups",
      "Up to 2 blog posts (announce + deep-dive)",
      "Up to 8 social graphics + 1 video script",
      "Press kit: messaging doc, 1-pager & FAQ",
      "Paid set: up to 4 ad variants for LinkedIn or Google",
      "Day-of launch checklist + week-1 results report",
    ] },

  { id:"w-lp", cat:"development", num:"W1", name:"Landing Page System", category:"Development", price:4200,
    duration:"3 weeks", badge:"new", featured:true,
    image:"assets/products/landing-page-thumb.png",
    imageWide:"assets/products/landing-page-wide.png",
    desc:"Marketers ship landing pages in hours, not weeks — no more dev tickets.",
    tagline:"A modular landing-page system on HubSpot CMS — 6 brand-locked sections marketers can drag-and-drop into a new page in an afternoon, with forms and A/B testing wired correctly.",
    supporting:"Fixed price. Senior-led. Built so 'we need a landing page by Friday' stops being a fire drill.",
    priceLabel:"Fixed-price LP system · one-time",
    ctaPrimary:"Reserve build slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Final design is brand-matched to your existing identity. If your brand system isn't documented yet, we'll surface that in scoping — we don't redesign the brand inside this scope.",
    pillars:[
      { i:"code",    t:"Modular sections",     d:"6 reusable page sections (hero, social proof, features, comparison, FAQ, CTA) marketers drag-and-drop in HubSpot CMS." },
      { i:"shield",  t:"Brand-locked",         d:"Colors, type, spacing, and components locked at the system level — so non-designers can't accidentally break the brand." },
      { i:"layers",  t:"Form library",         d:"4 conversion-optimized forms with field validation, progressive profiling, and HubSpot wiring already configured." },
      { i:"zap",     t:"A/B + heatmaps",       d:"Testing framework and heatmap integration (Hotjar or Clarity) pre-wired, so every new page generates real learning." },
    ],
    scope:[
      "Up to 6 modular page sections built in HubSpot CMS",
      "Brand-locked design system: colors, type, and reusable components",
      "Mobile-first templates with dark / light variants",
      "Form library: up to 4 conversion-optimized forms with progressive profiling",
      "A/B test framework + heatmap setup (Hotjar or Clarity)",
      "Marketer training (1 session) + Loom guides",
    ],
    notIncluded:{
      intro:"This builds a working landing-page system on HubSpot CMS. The following are not included by default.",
      items:["Full brand-system redesign","Custom HubSpot CMS theme built from scratch","Hand-coded one-off landing pages (this is a reusable system)","Copywriting for individual landing pages after handoff","Paid ad creative or landing-page-specific ad copy","SEO content strategy beyond on-page basics","Migration of legacy landing pages","Cookie consent / GDPR banner implementation"],
    },
    bestFit:{
      good:["Your marketing team has to file a dev ticket every time they need a landing page","You're on HubSpot Marketing Hub Pro / Enterprise + HubSpot CMS","You have an existing brand identity (we match it, we don't redesign it)","You're shipping 2+ new landing pages every quarter","You want one system marketers run, not 50 bespoke pages"],
      bad:["You don't have HubSpot CMS (this requires it)","You need a custom CMS theme built from scratch","You only need a single one-off landing page (overkill)","Your brand identity isn't defined yet","You want hand-coded React landing pages (different stack, different service)"],
    },
    overview:"Most landing pages are one-offs that take 2 weeks of design + dev for a 6-week campaign. This service flips that: marketers get a kit of brand-locked modular sections they can assemble in hours, with forms and tracking wired correctly out of the box.\n\nFixed-scope, senior-led, on HubSpot CMS — so the work compounds across every campaign that follows.",
    processSteps:[
      { title:"Scope",  body:"We review your brand system, current landing pages, and the campaign types you ship most often." },
      { title:"Build",  body:"6 modular sections + 4 forms + A/B + heatmap framework configured on HubSpot CMS, brand-matched." },
      { title:"Train",  body:"1 marketer training session + Loom guides — we watch a marketer build a page before we hand off." },
    ],
    productFaq:[
      { q:"Do we need HubSpot CMS?", a:"Yes. The modular section system is built on HubSpot CMS. We don't currently ship this for Webflow, WordPress, or other CMSs." },
      { q:"Will it look like our brand?", a:"Yes — we match your existing brand identity (colors, type, components). This is not a brand redesign. If your brand isn't documented, we'll flag it in scoping." },
      { q:"Can marketers really ship pages alone after handoff?", a:"Yes — the training is structured around that. We watch a marketer build a page in the training session before we sign off." },
      { q:"What if we want a custom page that doesn't fit the modules?", a:"You add it as a one-off (we can quote). But the goal is 80%+ of pages fit the modules so 'custom' is the exception." },
      { q:"Do we need to redesign our existing pages?", a:"Not as part of this service. Existing pages stay as-is; new campaign pages use the new system. Migration can be added as custom scope." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on brand-asset availability and team responsiveness.", price:1000 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for new-page questions and CMS tweaks for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before build to surface CMS, form, or tracking issues that could affect the new system.", price:2400 },
    ],
  },
  { id:"w-site", cat:"development", num:"W2", name:"Marketing Site Refresh", category:"Development", price:12000,
    duration:"6 weeks",
    image:"assets/products/site-refresh-thumb.png",
    imageWide:"assets/products/site-refresh-wide.png",
    desc:"A production-grade marketing site in 6 weeks — strategy through launch, end-to-end.",
    tagline:"A 15-page marketing site refresh on HubSpot CMS — strategy, copy, design, dev, SEO, and tracking shipped together, with redirects and rankings preserved.",
    supporting:"Fixed price. Senior-led. One team for the whole engagement — no 4-vendor handoff hell.",
    priceLabel:"Fixed-price site refresh · one-time",
    ctaPrimary:"Reserve project slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Quality of SEO preservation depends on clean redirect mapping. We test in staging before cutover, but legacy site shape affects how much rank survives.",
    pillars:[
      { i:"search",  t:"SEO-preserved",          d:"Up to 50 301-redirects mapped and tested before cutover, so the rankings you've built don't disappear at launch." },
      { i:"code",    t:"Editable by marketers",  d:"Reusable HubSpot CMS modules so your team can update copy, swap sections, and ship new pages without a dev ticket." },
      { i:"chart",   t:"Wired for conversion",   d:"GA4 + HubSpot tracking, form conversion goals, and a launch dashboard configured from day one — not three months in." },
      { i:"shield",  t:"Discovery-led",          d:"Up to 3 user interviews + analytics review before any design work, so the new site is built on what your buyers actually need." },
    ],
    scope:[
      "Discovery: up to 3 user interviews + analytics review",
      "Sitemap, IA, and wireframes for up to 15 pages",
      "Copy for the pages in scope (home, product, pricing, about, blog)",
      "Design system + responsive layouts",
      "Build on HubSpot CMS with reusable modules",
      "Migration: up to 50 301-redirects + SEO preservation",
      "GA4 + HubSpot tracking + 1 launch dashboard",
    ],
    notIncluded:{
      intro:"This is a full marketing site refresh on HubSpot CMS, up to 15 pages. The following are not included by default.",
      items:["E-commerce / cart functionality","Hand-coded React or custom-framework build (this is HubSpot CMS)","Multi-language or localization beyond English","Brand identity redesign (logo, color, type system)","Custom illustrations or photography (we use your assets or stock)","Pages beyond the 15 in scope (custom)","Ongoing content marketing or blog production","Paid media management"],
    },
    bestFit:{
      good:["You're on (or moving to) HubSpot CMS","Your current site is 2+ years old and conversion is suffering","You want a real refresh, not a logo swap","You have brand assets but don't have time to coordinate 4 vendors","You want one team for strategy, copy, design, and dev"],
      bad:["You need e-commerce (we don't do carts in this scope)","You want a hand-coded React or Webflow site","You need a brand identity redesign first","You only need 1–2 pages refreshed (use Landing Page System or Custom Hours)","You have 30+ pages to refresh (we'd quote that as a larger custom engagement)"],
    },
    overview:"Most marketing site refreshes drag on for 9+ months across 4 vendors and ship with broken tracking and lost rankings. This is the alternative: one senior team, fixed scope, 6 weeks, end-to-end on HubSpot CMS — discovery, copy, design, dev, redirects, and tracking shipped together.\n\nUp to 15 pages, 50 redirects, GA4 + HubSpot tracking, launch dashboard. Built so marketers can run it after handoff.",
    processSteps:[
      { title:"Discovery", body:"Up to 3 user interviews, analytics review, sitemap, IA, and wireframes you sign off on before design starts." },
      { title:"Build",     body:"Copy, design, and HubSpot CMS implementation with reusable modules across all 15 pages." },
      { title:"Launch",    body:"50-redirect cutover, GA4 + HubSpot tracking, launch dashboard, and a marketer handoff session." },
    ],
    productFaq:[
      { q:"Will our SEO rankings survive the launch?", a:"That's the point of the 50-redirect mapping and SEO preservation work. We test redirects in staging, run a crawl post-launch, and submit the updated sitemap to Search Console." },
      { q:"Who writes the copy?", a:"We do. Copy for the pages in scope (home, product, pricing, about, blog) is included. We use the discovery interviews and your messaging to write, then iterate with you." },
      { q:"What if we need more than 15 pages?", a:"We quote additional pages as custom scope, typically $400–$800 per page depending on complexity." },
      { q:"Do we need HubSpot CMS specifically?", a:"Yes. This service is built around HubSpot CMS so your marketing team can maintain it natively. If you're on a different CMS, we'd quote it as custom (and recommend HubSpot CMS for the long-term win)." },
      { q:"How is this $12k when other agencies quote $80k?", a:"Because we don't do brand redesigns, custom photography, or 6 rounds of design revisions. Fixed scope, fixed price, 6 weeks, senior operators only." },
      { q:"What about ongoing maintenance?", a:"Handoff training + Loom library so your team can run it. For ongoing work, see Custom Hours or Monthly Retainer." },
    ],
    addonsOverride:[
      { id:"rush",  name:"Rush delivery", sub:"Cut the timeline by approximately 25%, depending on copy approval and stakeholder availability.", price:2400 },
      { id:"sup",   name:"30-day Slack support", sub:"Async Slack support for post-launch tweaks, copy edits, and CMS questions for 30 days after handoff.", price:600 },
      { id:"audit", name:"HubSpot Health Audit", sub:"Add a 60-point portal audit before build to surface CMS, form, and tracking issues that could affect the refresh.", price:2400 },
    ],
  },

  /* ============ AI services (LLMs + agents wired into HubSpot) ============ */
  { id:"ai-sales", cat:"hubspot", num:"AI1", name:"AI Sales Copilot", category:"HubSpot", price:5400, hidden:true,
    duration:"3 weeks", badge:"new", featured:true,
    image:"assets/products/ai-sales-copilot-thumb.png",
    imageWide:"assets/products/ai-sales-copilot-wide.png",
    desc:"Give every rep a senior strategist on tap. LLM-powered email drafting, meeting prep, deal coaching and next-best-action — surfaced inside HubSpot, fed by your real CRM and product data.",
    scope:[
      "Provider setup: GPT-4 / Claude / Gemini (or your existing LLM contract) with cost guardrails",
      "Up to 8 prompt templates: cold email, follow-up, recap, deal coaching, objection handling, etc.",
      "HubSpot integration: copilot opens from any contact, deal or company record",
      "Pre-meeting briefs auto-generated from CRM history + last-touch context",
      "Deal-stage coaching workflow: AI flags stuck / risky deals weekly to Slack",
      "Adoption playbook + 1 live training session + Loom library",
      "30 days of prompt tuning post-launch (real rep usage → sharper outputs)",
    ] },
  { id:"ai-leads", cat:"hubspot", num:"AI2", name:"AI Lead Qualifier & Enrichment", category:"HubSpot", price:3800, hidden:true,
    duration:"2 weeks", badge:"pop", featured:true,
    image:"assets/products/ai-lead-qualifier-thumb.png",
    imageWide:"assets/products/ai-lead-qualifier-wide.png",
    desc:"Stop manually researching every form fill. LLMs enrich, summarize, and score every inbound lead within seconds — so reps only see the ones worth a call, with the context they need to open well.",
    scope:[
      "Inbound trigger workflow on form submit + manual contact import",
      "Enrichment: company size, industry, tech stack, funding (your data provider or web scrape)",
      "1-paragraph LLM summary of the lead written to a custom HubSpot property",
      "ICP-fit score (0–100) + qualitative reasoning, also written to a property",
      "Routing rules: hot leads → SDR Slack, low-fit → nurture, junk → archived",
      "Cost cap + monthly usage dashboard so spend never surprises you",
      "Up to 1 enablement session + handoff doc for SDR & ops teams",
    ] },
  { id:"ai-chat", cat:"hubspot", num:"AI3", name:"AI Knowledge Chatbot", category:"HubSpot", price:4800, hidden:true,
    duration:"3 weeks",
    image:"assets/products/ai-knowledge-chatbot-thumb.png",
    imageWide:"assets/products/ai-knowledge-chatbot-wide.png",
    desc:"Deflect 30–60% of repetitive support tickets. A GPT/Claude-powered chatbot trained on your KB, docs, and past tickets — embedded in your Service Hub portal, with a safe handoff to a human when it's unsure.",
    scope:[
      "Ingest: knowledge base + up to 200 docs / past tickets into a vector store",
      "Chat widget embedded on your site or HubSpot Service portal",
      "Source citations on every answer (no hallucinated links)",
      "Confidence threshold + safe handoff to a Service Hub ticket when unsure",
      "PII redaction + content-safety filter pre-baked",
      "1 dashboard: deflection rate, top intents, low-confidence questions",
      "Monthly re-index workflow + 30 days of post-launch tuning",
    ] },
  { id:"ai-breeze", cat:"hubspot", num:"AI4", name:"HubSpot Breeze Setup", category:"HubSpot", price:2400, hidden:true,
    duration:"2 weeks", badge:"new",
    image:"assets/products/ai-breeze-setup-thumb.png",
    imageWide:"assets/products/ai-breeze-setup-wide.png",
    desc:"You're already paying for HubSpot's native AI — let's make it earn its keep. Configure Breeze AI agents, Copilot, and the content assistant the right way, with prompts and guardrails tuned to your team.",
    scope:[
      "Breeze AI: Prospecting, Customer & Knowledge Base agents configured for your portal",
      "Copilot: rep-specific prompts + safe data scopes per role",
      "Content assistant: brand voice + reusable prompt library (up to 10 prompts)",
      "AI workflow actions: 3 production workflows (e.g. summarize, classify, route)",
      "Adoption pack: short Loom per feature + 1 live training session",
      "Quarterly re-tune playbook handed to your ops team",
    ] },
  { id:"ai-mcp", cat:"hubspot", num:"AI5", name:"AI Agent / MCP Integration", category:"HubSpot", price:6400, hidden:true,
    duration:"4 weeks",
    image:"assets/products/ai-mcp-integration-thumb.png",
    imageWide:"assets/products/ai-mcp-integration-wide.png",
    desc:"Connect Claude, ChatGPT, Cursor or your own agent directly to HubSpot and the internal tools your team already uses. We design and ship a custom MCP server with the right scopes, audit logs, and rate limits — production-grade from day one.",
    scope:[
      "Use-case workshop: pick the 3–5 highest-leverage agent actions",
      "MCP server scaffold (TypeScript) deployed on Vercel or your infra",
      "HubSpot tool surface: contacts, deals, companies, notes, workflows (read + write, scoped)",
      "Up to 2 internal-tool integrations (Slack, Linear, Postgres, S3, etc.)",
      "Auth model: per-user OAuth + per-tool scopes + structured audit log",
      "Rate limits, cost caps, and a kill-switch wired in by default",
      "Handoff: repo, deployment guide, observability dashboard + 1 enablement session",
    ] },

  /* ============ Add-ons (small, fixed-scope fixes) ============ */
  { id:"a-dupes", cat:"addons", num:"A1", name:"Duplicate Cleanup", category:"Add-on", price:600,
    image:"assets/products/duplicate-cleanup-thumb.png",
    imageWide:"assets/products/duplicate-cleanup-wide.png",
    duration:"1 week", simple:true,
    desc:"Kill the duplicate contact and company chaos in your portal. We dedupe, merge, and lock down the rules so it doesn't come back next quarter.",
    scope:[
      "Audit of duplicate contacts, companies & deals (up to 50k records)",
      "Match-rule tuning (email, domain, fuzzy name)",
      "Bulk merge with up to 5 priority rules to preserve property data",
      "1 deduplication workflow to prevent net-new dupes",
      "Before / after report + handover doc",
    ] },
  { id:"a-wf-fix", cat:"addons", num:"A2", name:"Workflow Fix Pack", category:"Add-on", price:800,
    image:"assets/products/workflow-fix-thumb.png",
    imageWide:"assets/products/workflow-fix-wide.png",
    duration:"1 week", badge:"pop", simple:true,
    desc:"Your workflows are firing the wrong way (or not firing at all). We diagnose, fix, and document the top broken automations in your portal.",
    scope:[
      "Forensics on up to 15 workflows (errors, loops, orphans)",
      "Fix the top 5 workflows or rebuild from scratch if needed",
      "Re-enroll affected contacts safely with audit log",
      "Slack-alert layer on critical workflows",
      "Before / after error report + Loom walkthrough",
    ] },
  { id:"a-props", cat:"addons", num:"A3", name:"Property Cleanup", category:"Add-on", price:600,
    image:"assets/products/property-cleanup-thumb.png",
    imageWide:"assets/products/property-cleanup-wide.png",
    duration:"1 week", simple:true,
    desc:"Custom properties have multiplied like rabbits. We archive what nobody uses, rename what's confusing, and lock the new naming standard.",
    scope:[
      "Audit of all custom properties on contacts, companies, deals & tickets",
      "Archive plan: unused / dead / duplicated properties",
      "Rename + group up to 30 properties to a clean taxonomy",
      "Property governance doc (naming, ownership, lifecycle)",
      "1 enablement Loom for the team",
    ] },
  { id:"a-train", cat:"addons", num:"A4", name:"Live Training Session", category:"Add-on", price:500,
    image:"assets/products/team-training-thumb.png",
    imageWide:"assets/products/live-training-wide.png",
    duration:"1 day", simple:true,
    desc:"A focused 90-minute live working session for your team — sales reps, marketers, ops, or admins. Pick the topic, we run it on your portal with your data.",
    scope:[
      "1 pre-session intake call (30 min)",
      "90-minute live session on Zoom or in person (HubSpot, RevOps or CRM topic)",
      "Tailored to your portal, your data, your team",
      "Recording + slides + cheat sheet handed over",
      "7-day Slack follow-up window for questions",
    ] },
  { id:"a-int", cat:"development", num:"A5", name:"Third-Party Integration", category:"Development", price:1200,
    image:"assets/products/integration-thumb.png",
    imageWide:"assets/products/integration-setup-wide.png",
    duration:"1 week", simple:true,
    desc:"Connect HubSpot to the third-party tool you use. Field-mapped, QA'd, live in a week.",
    tagline:"One integration between HubSpot and the third-party tool your team already uses — Slack, Stripe, Calendly, Zapier, Make, Segment, or a custom webhook — scoped, mapped, and QA'd by a senior operator.",
    supporting:"Fixed price. Senior-led. Live in 5 business days, not 3 calls and 2 weeks of back-and-forth.",
    priceLabel:"Fixed-price integration · one-time",
    ctaPrimary:"Reserve build slot",
    ctaSecondary:"Talk to a senior operator",
    ctaNote:"No payment until you approve the SOW.",
    riskNote:"Final scope is confirmed in a short SOW. If the integration is more complex than expected (custom API, multi-system, heavy data transformation), we'll surface that and quote it correctly.",
    pillars:[
      { i:"zap",     t:"One integration, done right", d:"Native, Zapier, Make, n8n, or custom webhook — whichever fits the tool, configured by a senior operator." },
      { i:"layers",  t:"Field-mapped both ways",      d:"Up to 10 field mappings in each direction, with error handling and retry logic where the platform supports it." },
      { i:"shield",  t:"QA'd before go-live",         d:"Tested in sandbox or with a controlled dataset before we flip the switch — not learned in production." },
    ],
    scope:[
      "Scoping call to confirm fields, triggers, and edge cases",
      "1 native or middleware integration (Zapier / Make / n8n) configured — or a custom webhook",
      "Up to 10 field mappings in each direction",
      "Error-handling + retry logic where the platform supports it",
      "QA in sandbox + go-live + handover doc",
    ],
    notIncluded:{
      intro:"This is a one-week, single-integration setup. The following are not included.",
      items:["Custom API development from scratch","Ongoing integration monitoring or admin","Multi-system integrations (3+ tools — quote separately)","Data backfill from before integration goes live","Third-party tool subscriptions (you keep those)","HubSpot MCP server build (see AI Agent / MCP Integration)","Complex field-by-field data transformation","Re-architecture of your HubSpot data model"],
    },
    bestFit:{
      good:["You know which tool you want connected to HubSpot","You can give us API access (you keep your subscriptions)","You want it done right in one week, not 3 calls and 2 weeks of back-and-forth","The integration uses a native HubSpot connector or a common middleware tool"],
      bad:["You need a custom API built from scratch (custom scope)","You need 3+ tools connected at once","You don't know which tool you want yet (start with a scoping call, not this service)","The integration requires data transformations beyond simple field mapping"],
    },
    overview:"Most HubSpot integrations are either trivial (Zapier in an hour) or a custom project. This service is for the middle ground — the integration that needs a senior operator to scope correctly, map fields properly, handle the error cases, and QA before go-live.\n\nOne week, one integration, one fixed price.",
    processSteps:[
      { title:"Scope",      body:"30-minute call to confirm fields, triggers, and edge cases." },
      { title:"Build",      body:"Configure the integration (native / Zapier / Make / n8n / webhook), map fields, and wire error handling." },
      { title:"QA + go-live", body:"Test in sandbox, deploy, and hand off with a written doc you can return to later." },
    ],
    productFaq:[
      { q:"Which tools do you support?", a:"Anything HubSpot has a native integration with, anything Zapier / Make / n8n can connect, and most custom webhooks. Mention the specific tool in scoping and we'll confirm in the SOW." },
      { q:"What about a custom API integration?", a:"Outside this SKU. Custom API work between HubSpot and another system is quoted separately — typically $4–8k depending on complexity." },
      { q:"Do you keep our Zapier / Make subscription?", a:"You keep all third-party tool subscriptions in your account. We use them under your account and hand back access at the end." },
      { q:"What if the integration breaks later?", a:"The handover doc explains how it's configured. For ongoing monitoring or maintenance, see Custom Hours or Monthly Retainer." },
    ],
    addonsOverride:[
      { id:"pair",  name:"Pair a second integration", sub:"Add a second simple integration in the same engagement (same week, shared scoping call).", price:900 },
      { id:"sup",   name:"30-day Slack support",      sub:"Async Slack support for clarifications and small follow-ups for 30 days after go-live.", price:400 },
      { id:"audit", name:"HubSpot Health Audit",      sub:"Add a 60-point portal audit before build so the integration isn't inheriting underlying portal issues.", price:2400 },
    ],
  },
  { id:"a-dash", cat:"addons", num:"A6", name:"Custom Dashboard Build", category:"Add-on", price:900,
    image:"assets/products/custom-dashboard-thumb.png",
    imageWide:"assets/products/custom-dashboard-wide.png",
    duration:"1 week", simple:true,
    desc:"A reporting dashboard your CEO actually opens — built in HubSpot from the metrics you ship on. Up to 10 reports, wired to the data you already have.",
    scope:[
      "Metric scoping workshop (1 session)",
      "1 dashboard with up to 10 reports (custom or saved)",
      "Up to 3 custom report formulas (e.g. weighted pipeline, blended CAC)",
      "Filters + saved views for sales / marketing / leadership",
      "Loom walkthrough + 1 enablement session",
    ] },

  /* ============ Custom work + Monthly retainer ============ */
  /* Pricing model: senior operator base rate $150/hr.
     Hours Package = one-off, project-shaped, premium flexibility (≥ $150/hr).
     Monthly Retainer = ongoing, embedded, discounted commitment rate (< $150/hr). */
  { id:"x-hours", cat:"custom", num:"X1", name:"Custom Hours Package", category:"Custom", price:1750,
    image:"assets/products/custom-hours-thumb.png",
    imageWide:"assets/products/custom-hours-wide.png",
    duration:"flex", badge:"new",
    desc:"A pre-paid block of senior operator hours for a defined project — a launch, a migration, a quarter of optimization. Burn them down on your schedule, no monthly commitment.",
    scope:[
      "Senior operator (8+ years HubSpot / RevOps), on a project basis",
      "Async via Slack + working sessions you schedule when you need them",
      "Weekly written burndown so you always see remaining hours",
      "Hours valid for 90 days from purchase · roll over up to 25%",
      "One-time payment · no monthly commitment, cancel concept doesn't apply",
    ],
    tiers: [
      { id: "h10", name: "10 hours",  tag: "Quick project",       price: 1750,
        bullets:["10 senior operator hours","Async-first, sessions on request","Use within 90 days","SOW in 24h","Effective rate $175 / hr"] },
      { id: "h25", name: "25 hours",  tag: "Most teams pick this", price: 3750, badge: true,
        bullets:["Everything in 10h","+ 25 senior operator hours","+ Bi-weekly review call","+ Roll over up to 25% unused","Effective rate $150 / hr"] },
      { id: "h50", name: "50 hours",  tag: "Multi-project",       price: 6750,
        bullets:["Everything in 25h","+ 50 senior operator hours","+ Lightweight roadmap + priority queue","+ QBR at hour 40","Effective rate $135 / hr"] },
    ] },
  { id:"x-retainer", cat:"custom", num:"X2", name:"Monthly Retainer", category:"Retainer", price:1400,
    image:"assets/products/monthly-retainer-thumb.png",
    imageWide:"assets/products/monthly-retainer-wide.png",
    duration:"monthly", badge:"pop",
    desc:"A senior operator embedded with your team every month — standing weekly session, dedicated Slack, sprint planning, monthly review. Better hourly rate in exchange for the ongoing commitment. Minimum 2-month engagement.",
    scope:[
      "Dedicated senior operator (8+ years HubSpot / RevOps), embedded in your team",
      "Dedicated Slack channel · same-day response (business hours)",
      "Standing weekly working session + monthly written review",
      "Sprint board you prioritize each week · scale plan up or down month to month",
      "Minimum 2-month engagement · cancel any time after that with 30 days' notice",
    ],
    tiers: [
      { id: "lite",  name: "Lite · 10h/mo",   tag: "Async ops support",     price: 1400,
        bullets:["10 senior operator hours / month","Dedicated Slack channel","Weekly check-in (30 min)","Monthly written review","Effective rate $140 / hr"] },
      { id: "growth", name: "Growth · 25h/mo", tag: "Most teams pick this", price: 3000, badge: true,
        bullets:["Everything in Lite","+ 25 senior hours / month","+ Standing weekly working session","+ Sprint planning every 2 weeks","Effective rate $120 / hr"] },
      { id: "pro",   name: "Pro · 50h/mo",     tag: "Embedded operator",    price: 5500,
        bullets:["Everything in Growth","+ 50 senior hours / month","+ Embedded in your standups","+ Quarterly roadmap workshop","Effective rate $110 / hr"] },
    ] },
];

/* ============ Bundles ============
   Each bundle is built from real catalog products at their real prices
   (so the discount math is honest — see `regular` = sum of item prices).
   `items` are objects { name, price } so cards can show what's included
   and the original line-item value the bundle replaces. */
const BUNDLES = [
  { id:"foundations", name:"Foundations", price:5400, regular:6400, featured:false,
    color:"#FF7A29", icon:"rocket",
    eyebrow:"// FOR FIRST-TIME ADMINS",
    sub:"Stand up HubSpot the way the best teams do — clean from day one, no legacy junk to undo later.",
    bestFor:"Founders, ops leads, and first-time admins setting up their HubSpot portal.",
    items:[
      { name:"HubSpot Sales Onboarding", price:2500 },
      { name:"Lifecycle Stages",         price:2800 },
      { name:"Property Cleanup",         price:600  },
      { name:"Live Training Session",    price:500  },
    ],
    bonus:["30-day Slack support window after launch","Free 30-min discovery + same-day SOW"] },

  { id:"growth", name:"Growth", price:12000, regular:14500, featured:true,
    color:"#3B69FF", icon:"chart",
    eyebrow:"// FOR GROWING TEAMS",
    sub:"Compound pipeline this quarter — onboarding plus the demand-gen system that turns leads into revenue.",
    bestFor:"Growing teams scaling demand gen who need scoring, nurture, and attribution wired together.",
    items:[
      { name:"HubSpot Marketing Onboarding", price:3600 },
      { name:"Lead Scoring System",      price:3200 },
      { name:"Email Nurture Series",     price:3200 },
      { name:"Attribution Dashboard",    price:3600 },
      { name:"Custom Dashboard Build",   price:900  },
    ],
    bonus:["30-day Slack support window","Quarterly review session at 90 days"] },

  { id:"replatform", name:"Replatform", price:9000, regular:10700, featured:false,
    color:"#0E8A4F", icon:"refresh",
    eyebrow:"// FOR TEAMS SWITCHING CRM",
    sub:"Move to HubSpot painlessly — migration, cleanup, and stage mapping shipped together with zero downtime.",
    bestFor:"Teams migrating off Salesforce, Pipedrive, Close, Zoho, or a homegrown CRM.",
    items:[
      { name:"CRM Migration",            price:6200 },
      { name:"Lifecycle Stages",         price:2800 },
      { name:"Duplicate Cleanup",        price:600  },
      { name:"Property Cleanup",         price:600  },
      { name:"Live Training Session",    price:500  },
    ],
    bonus:["30-day Slack support window","Zero-downtime cutover plan + rollback playbook"] },

  { id:"scale", name:"Scale", price:23000, regular:32000, featured:false,
    color:"#7C5CFC", icon:"layers",
    eyebrow:"// FOR MULTI-TEAM REVOPS",
    sub:"End-to-end revenue ops — sales, service, and marketing wired into one system, with attribution your CRO trusts.",
    bestFor:"Multi-team operators running revenue across sales, customer success, and marketing.",
    items:[
      { name:"HubSpot Sales Onboarding",     price:2500 },
      { name:"HubSpot Marketing Onboarding", price:3600 },
      { name:"Sales Hub Buildout",       price:5400 },
      { name:"Service Hub Setup",        price:3800 },
      { name:"Lead Scoring System",      price:3200 },
      { name:"Email Nurture Series",     price:3200 },
      { name:"Attribution Dashboard",    price:3600 },
      { name:"Product Launch Kit",       price:5800 },
      { name:"Custom Dashboard Build",   price:900  },
    ],
    bonus:["30-day dedicated Slack channel","1 month of Lite Retainer included ($1,400)"] },
];

const ADDONS = [
  { id:"rush",  name:"Rush delivery",          sub:"Cut timeline by ~25%",        price: 1200 },
  { id:"sup",   name:"Priority Slack support", sub:"30 days after handoff",       price: 600  },
  { id:"audit", name:"HubSpot Health Audit",   sub:"Add a 60+ point portal audit", price: 2400 },
];

const LOGOS = [
  { name: "CopilotKit", src: "https://vestalhub.com/hubfs/copilotkit.svg" },
  { name: "Maven AGI",  src: "https://vestalhub.com/hubfs/mavenagi.webp" },
  { name: "Kindsight",  src: "https://vestalhub.com/hubfs/kindsight-logo.svg" },
  { name: "Catio",      src: "https://vestalhub.com/hubfs/catio.svg" },
  { name: "Teem",       src: "https://vestalhub.com/hubfs/teem.png" },
  { name: "PLY",        src: "https://vestalhub.com/hubfs/ply.jpg" },
];

const FAQ = [
  { q: "Why fixed-scope HubSpot services?", a: "Because your problem isn't unique. After working with 100+ companies across SaaS, MSPs, agencies, real estate, services, e-commerce, finance and nonprofits, we've seen the same patterns over and over — the right pipeline shape, the right scoring inputs, the right nurture cadence. Fixed scope means you skip the discovery theater and buy the formula directly. Same outcome, fraction of the time, fraction of the cost." },
  { q: "What if I need something not in the shop?", a: "Tell us what you're trying to ship. We scope custom engagements for any team with specific problems — same senior operators, same fixed-price model, scoped to your problem. Most custom SOWs go out within 48 hours. Just hit “Talk about custom work” at the bottom of the page." },
  { q: "How does buying a service actually work?", a: "Pick what you need, check out, and we send a Statement of Work within 24 hours detailing exact deliverables and timeline. You don't pay until you sign the SOW, so checkout is really a reservation — zero commitment until the scope is confirmed in writing." },
  { q: "Is this really fixed price with no change orders?", a: "Yes. Every service has a fixed price for a fixed, published scope. If you need more, you add another service or an add-on. We'd rather tell you ‘that's a different SKU’ than surprise you with a change order two weeks in." },
  { q: "Who actually does the work?", a: "A senior consultant — typically someone with 8+ years in HubSpot and revenue operations — owns your engagement end-to-end. No account managers handing you off. No juniors learning on your portal. One operator, one Slack channel." },
  { q: "What if we already have HubSpot set up?", a: "Start with the Health Audit. In two weeks we'll tell you exactly what's working, what's broken, and what's costing you money. Most audits find $15–30k of waste in existing portals. The audit credit applies to any follow-on service." },
  { q: "How fast can you start?", a: "New projects start within 7–14 days. We run small cohorts every two weeks so a senior operator is always available. Rush delivery (+$1,200) cuts timelines by ~25%." },
  { q: "Do you work with non-HubSpot stacks?", a: "Our HubSpot catalog includes lifecycle, campaign, web, and AI services — all wired for HubSpot when that's your CRM. If you're on another stack and want to migrate, start with CRM Migration or talk to us about custom scope." },
];

const REVIEWS = [
  {
    id: "copilotkit",
    slot: "stack",
    text: "Wonderful GTM partner! We developed an advanced intent-signals-based lead system — this has reduced our close times and increased our ACV. <b>We have doubled in size month over month.</b>",
    name: "Travis Murdock",
    role: "Head of GTM",
    company: "CopilotKit",
    badge: "Seed",
    metric: "2× MoM growth · Intent-based leads",
    avatar: "https://vestalhub.com/hubfs/copilotkit_testimonial.webp",
    logo: "https://vestalhub.com/hubfs/copilotkit.svg",
  },
  {
    id: "mavenagi",
    slot: "stack",
    text: "Working with Vestal Hub has been game changing. Their <b>speed to value is incredible</b>! Their engagement model via Slack and weekly planning supports both ad-hoc tactical changes and larger project implementations.",
    name: "Erin Parker",
    role: "Head of Revenue Operations",
    company: "Maven AGI",
    badge: "Series B",
    metric: "Series B · Speed to value",
    avatar: "https://vestalhub.com/hubfs/mavenagi_testimonial.webp",
    logo: "https://vestalhub.com/hubfs/mavenagi.webp",
  },
  {
    id: "kindsight",
    slot: "stack",
    text: "Vestal Hub are top notch, no nonsense and an excellent implementation partner. The landing pages they helped me create may be the <b>best value for money</b> I've had as a Demand Gen Leader this year.",
    name: "Mike Ellis",
    role: "Director of Demand Generation",
    company: "Kindsight",
    badge: "Acquired",
    metric: "Acquired · Best LP value",
    avatar: "https://vestalhub.com/hubfs/kind_testimonial.webp",
    logo: "https://vestalhub.com/hubfs/kindsight-logo.svg",
  },
  {
    id: "blng",
    slot: "micro",
    text: "We've been working with Vestal Hub on our HubSpot setup for months and they have been a <b>genuine partner throughout</b>. From CRM migration to custom workflows and lead routing, they bring both deep platform knowledge and real business sense. Would not hesitate to recommend Vestal Hub to anyone serious about getting HubSpot right.",
    name: "Valerie Leblond",
    role: "CEO",
    company: "BLNG AI",
    badge: "Seed",
    metric: "HubSpot Onboarding",
    avatar: "https://ui-avatars.com/api/?name=V+L&background=3B69FF&color=fff&size=200&bold=true",
  },
  {
    id: "catio",
    slot: "stack",
    text: "<b>Better Sales Pipeline Management, Sales Reporting, and sequenced emails</b> based on customer profiles — and much more beyond.",
    name: "Boris Bogatin",
    role: "Co-founder & CEO",
    company: "Catio",
    badge: "Seed",
    metric: "Pipeline · reporting · sequences",
    avatar: "https://vestalhub.com/hubfs/katio_testimonial.webp",
    logo: "https://vestalhub.com/hubfs/catio.svg",
  },
  {
    id: "ssr",
    slot: "micro",
    text: "There's nothing Vestal Hub can't do. They've helped us setup countless integrations between our HubSpot CRM and our clients' varying CRMs.",
    name: "Jennifer Sales",
    role: "CRO",
    company: "SelectSoftware Reviews",
    badge: "Bootstrapped",
    metric: "Cross-CRM integrations",
    avatar: "https://vestalhub.com/hubfs/selectsoftware-reviews-testimonial.jpeg",
    logo: "https://vestalhub.com/hubfs/select%20software%20reviews.avif",
  },
  {
    id: "talentcaddy",
    slot: "micro",
    text: "Working with Vestal Hub has helped to grow my HubSpot knowledge. Their knowledge of how to set up the system for a first time user has been valuable… If you are looking for someone to help you set up automations and APIs in HubSpot, <b>this is your agency</b>.",
    name: "Jake Webb",
    role: "Founder",
    company: "Talentcaddy",
    badge: "Bootstrapped",
    metric: "Automations & APIs",
    avatar: "https://vestalhub.com/hubfs/talentcaddy-testimonial.jpeg",
    logo: "https://vestalhub.com/hubfs/Asset-18Talentcaddy-logo.svg",
  },
];

const TESTIMONIALS = REVIEWS;

/* ------------ Category page meta ------------ */
const CATEGORY_META = {
  hubspot: {
    id: "hubspot",
    name: "HubSpot",
    icon: "layers",
    image: "assets/categories/cat-hubspot.png",
    eyebrow: "// HUBSPOT IMPLEMENTATION & OPTIMIZATION",
    hero: "Stand up HubSpot the way the best teams do.",
    sub: "Onboarding, migration, audits, lifecycle, nurture, attribution, campaigns, AI copilots, and advanced HubSpot ops — fixed-scope plays from 50+ portals across SaaS, agencies, services, finance, and more.",
    color: "#FF7A29",
    benefits: [
      { i: "rocket",  t: "Live in 28 days",            d: "Standardized config means no months-long discovery — we ship the same proven shape every time." },
      { i: "shield",  t: "Audit-grade reliability",    d: "Every workflow QA'd before handoff. Dashboards your CRO actually trusts." },
      { i: "user",    t: "Reps actually log in",       d: "Live training + Loom library. Adoption is built into the rollout, not an afterthought." },
    ],
    fitFor: "Best for teams on HubSpot — onboarding, migration, lifecycle, campaigns, AI, attribution, and the operational work around a live portal.",
    bundleId: "foundations",
    faqIds: [0, 5, 7],
  },
  development: {
    id: "development",
    name: "Development",
    icon: "code",
    image: "assets/categories/cat-web.png",
    eyebrow: "// DEVELOPMENT · WEB · THIRD-PARTY INTEGRATIONS",
    hero: "Ship web experiences and integrations your team can run.",
    sub: "HubSpot CMS landing systems, full marketing-site refreshes, and third-party integrations — wired to GA4, HubSpot, and the middleware your stack already uses.",
    color: "#0E8A4F",
    benefits: [
      { i: "layers",  t: "Modular, not bespoke",       d: "Page sections marketers can swap and reorder. Integrations mapped field-by-field with error handling." },
      { i: "search",  t: "SEO + Core Web Vitals tuned", d: "On-page SEO, schema, redirects, performance. Built right the first time." },
      { i: "chart",   t: "Conversion-focused",         d: "Wired to GA4 + HubSpot. Dashboards on day one — not three months in." },
    ],
    fitFor: "Best for teams that need CMS work, a site refresh, or a clean HubSpot ↔ third-party integration without a long agency runway.",
    bundleId: "scale",
    faqIds: [0, 3, 7],
  },
  addons: {
    id: "addons",
    name: "Add-ons",
    icon: "plus",
    image: "assets/categories/cat-addons.png",
    eyebrow: "// SMALL FIXES · BIG RELIEF",
    hero: "Small services that punch way above their price.",
    sub: "Five fixed-scope add-ons for the work that's bugging you right now — duplicate cleanup, workflow fixes, custom dashboards, training, and property hygiene.",
    color: "#22C55E",
    benefits: [
      { i: "zap",     t: "Live in days",          d: "Most add-ons ship in a week. Some in a day. No discovery theater." },
      { i: "shield",  t: "Fixed price, tiny SOW", d: "1-page SOW, fixed scope, in-and-out. No retainer required to access a senior." },
      { i: "refresh", t: "Bundle with anything",  d: "Stack add-ons with any service or retainer. Save the audit-credit equivalent." },
    ],
    fitFor: "Best for teams who already have HubSpot up and just need a senior operator to fix one specific thing — fast.",
    bundleId: "replatform",
    faqIds: [0, 4, 6],
  },
  custom: {
    id: "custom",
    name: "Custom & Retainer",
    icon: "refresh",
    image: "assets/categories/cat-custom.png",
    eyebrow: "// HOURS PACKAGES · MONTHLY RETAINERS",
    hero: "When you need a senior on tap, not a project.",
    sub: "Two ways to work with us beyond the catalog: a flexible block of hours for ad-hoc work, or a monthly retainer that embeds a senior operator with your team.",
    color: "#7C5CFC",
    benefits: [
      { i: "user",    t: "One senior operator",      d: "Same person every week. 8+ years in HubSpot and revenue ops. No juniors, no rotating account managers." },
      { i: "chat",    t: "Slack-first delivery",     d: "Shared channel, same-day responses in business hours, weekly working sessions. Async by default." },
      { i: "shield",  t: "No annual lock-in",        d: "Hour packs valid 90 days. Retainers have a 2-month minimum, then cancel with 30 days' notice. We earn the renewal." },
    ],
    fitFor: "Best for teams whose work doesn't fit a fixed SOW: ongoing optimization, internal projects, escalations, or backfilling a missing ops hire.",
    bundleId: "growth",
    faqIds: [0, 1, 6],
  },
};

/* ------------ PDP helpers ------------ */

/* Engagement tiers offered on every product (the "Color: Timber" equivalent).
   `mult` is applied to the product's base price, `weeksDelta` to its duration. */
const TIERS = [
  { id: "essential", name: "Essential", tag: "Published scope", mult: 1.0,
    bullets: ["Fixed scope, fixed deliverables", "1 senior operator", "Slack channel during build", "SOW in 24 hours"] },
  { id: "pro", name: "Pro", tag: "Most teams pick this", mult: 1.4, badge: true,
    bullets: ["Everything in Essential", "+ Extended scope (2× depth)", "+ 30 days post-launch support", "+ Weekly strategy review"] },
  { id: "enterprise", name: "Enterprise", tag: "Multi-team rollout", mult: 2.0,
    bullets: ["Everything in Pro", "+ Multi-team rollout & training", "+ 30-day support & dedicated Slack", "+ QBR + roadmap session"] },
];

/* Deliverables shown in the "What you get" grid, keyed by category. */
const DELIVERABLES = {
  hubspot: [
    { i: "layers",  t: "Pipelines & properties",   d: "ICP-aligned deal stages, custom properties, lifecycle mapping." },
    { i: "refresh", t: "Workflows & automation",   d: "Lead routing, scoring, lifecycle, campaigns, and handoff workflows — all wired in." },
    { i: "user",    t: "Team enablement",          d: "Live training for reps, SDRs and ops. Loom library you keep." },
    { i: "shield",  t: "Reporting & QA",           d: "Dashboards your CRO trusts. QA pass on every workflow before handoff." },
  ],
  development: [
    { i: "code",    t: "Page templates",           d: "Modular sections marketers can ship without dev tickets." },
    { i: "layers",  t: "CMS modules",              d: "Reusable HubSpot CMS modules, fully editable, brand-locked." },
    { i: "search",  t: "SEO foundations",          d: "On-page SEO, schema, redirects, and Core Web Vitals tuned." },
    { i: "zap",     t: "Third-party integrations", d: "Native or middleware integrations — mapped fields, error handling, go-live QA." },
    { i: "chart",   t: "Analytics & tracking",     d: "GA4 + HubSpot conversion tracking wired and dashboarded." },
  ],
  addons: [
    { i: "zap",     t: "Senior on day one",        d: "No onboarding, no discovery week — a senior operator starts the moment the SOW is signed." },
    { i: "refresh", t: "Tight, scoped fix",        d: "1-page SOW, fixed deliverables, fixed price. In and out without dragging on." },
    { i: "shield",  t: "QA + handover",            d: "Every fix is QA'd in your portal and handed back with a Loom + before/after report." },
    { i: "chat",    t: "7-day Slack window",       d: "Lightweight Slack support after handoff so questions don't go cold." },
  ],
  custom: [
    { i: "user",    t: "Embedded operator",        d: "One senior consultant — same person every week. Becomes part of your team's rhythm." },
    { i: "chat",    t: "Slack + working sessions", d: "Async-first via Slack, plus a recurring live working session each week." },
    { i: "chart",   t: "Burndown reporting",       d: "Hour packs and retainers come with a weekly burndown so you always see what's left." },
    { i: "refresh", t: "Flexible commitment",      d: "Retainers have a 2-month minimum, then cancel with 30 days' notice. Hour packs are use-or-rollover." },
  ],
};

/* Map each product to the real client review whose voice / topic fits the service.
   The PDP renders the actual quote from that real client — we never put words
   in their mouths. To extend, add a real review to REVIEWS first, then map here. */
const OUTCOMES = {
  "hs-onb-sales": "catio",     // pipeline, reporting, sequences
  "hs-onb-mktg":  "copilotkit", // GTM partner across sales + marketing
  "hs-onb-svc":   "mavenagi",  // speed to value, service setup
  "hs-migrate": "mavenagi",    // speed to value
  "hs-audit":   "mavenagi",    // speed to value
  "hs-sales":   "catio",       // sales pipeline + reporting
  "hs-service": "mavenagi",    // Slack + weekly engagement model
  "lc-scoring": "copilotkit",  // intent-signals lead system
  "lc-stages":  "catio",       // pipeline mgmt across funnel
  "lc-attr":    "copilotkit",  // intent-signals → lower close times, higher ACV
  "ca-email":   "catio",       // sequenced emails based on customer profiles
  "ca-launch":  "copilotkit",  // GTM partner across sales + marketing motions
  "w-lp":       "kindsight",   // best landing-page value
  "w-site":     "kindsight",   // best landing-page value
  "ai-sales":   "catio",       // sequenced emails, sales reporting
  "ai-leads":   "copilotkit",  // intent-signals lead system
  "ai-chat":    "mavenagi",    // speed to value, AI / agent space
  "ai-breeze":  "mavenagi",    // weekly engagement + tactical
  "ai-mcp":     "talentcaddy", // automations + APIs
  "a-dupes":    "mavenagi",    // generic RevOps cleanup
  "a-wf-fix":   "talentcaddy", // automations & APIs
  "a-props":    "mavenagi",    // RevOps hygiene
  "a-train":    "mavenagi",    // weekly planning + tactical changes
  "a-int":      "ssr",         // integrations between HubSpot CRMs
  "a-dash":     "catio",       // sales reporting
  "x-hours":    "mavenagi",    // ad-hoc tactical + larger projects
  "x-retainer": "mavenagi",    // Slack + weekly planning engagement model
};

Object.assign(window, { CATEGORIES, PRODUCTS, BUNDLES, ADDONS, LOGOS, FAQ, TESTIMONIALS, REVIEWS, TIERS, DELIVERABLES, OUTCOMES, CATEGORY_META });
