{
/* ============================================================
Content Stack Lab - Services Page (DB-backed)
============================================================ */
const { useEffect } = React;
const NS = window.ContentStackLabDesignSystem_cbb53c;
const { Button } = NS;
const D = window.CSL || {};
const A = window.CSLAdmin || {};
const CheckIcon = () => (
);
const slug = (text) => String(text || "service").toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-|-$/g, "");
const renderBulletText = (text) => {
const parts = [];
const pattern = /\[([^\]]*)\]\(([^)]+)\)/g;
let last = 0, match, idx = 0;
while ((match = pattern.exec(text)) !== null) {
if (match.index > last) parts.push(text.slice(last, match.index));
parts.push({match[1]});
last = pattern.lastIndex;
}
if (last < text.length) parts.push(text.slice(last));
return parts;
};
const hero = A.heroes && A.heroes.services ? A.heroes.services : null;
const services = D.servicePages && Array.isArray(D.servicePages.landing) ? D.servicePages.landing : (Array.isArray(D.services) ? D.services : []);
function ServicesHero() {
return (
{hero && hero.subheading ? hero.subheading : "Senior growth support for B2B tech brands that need clarity, momentum, and execution."}
{service.tagline}
} {service.body && } }>{ctaText}Not Sure Where to Start?
{cta.heading ?{cta.subheading}
: null}