/* PCS marketing site — interior page kit. Reusable section components composed from the design system + icons. Exposes window.PCSKit. Load after home-parts.jsx. */ (function () { const K = (window.PCSKit = window.PCSKit || {}); const CALENDLY = (window.PCSHome && window.PCSHome.CALENDLY) || "https://calendly.com/propertyclinicsolutions/free-consultation"; const RISK = "Your home may be repossessed if you do not keep up repayments on your mortgage."; K.RISK = RISK; const MAX = 1200; function cta(c) { if (!c) return null; const { Button } = window.PCSDesignSystem_269f6d; const { Icon } = window.PCSIcons; const ext = c.external !== false && /^https?:/.test(c.href || CALENDLY); return ( ); } K.cta = cta; function Eyebrow({ children, color = "var(--pcs-blue)" }) { return {children}; } K.Eyebrow = Eyebrow; /* ---- Page hero ---- */ function PageHero({ eyebrow, title, sub, primary, secondary, compliance, photo, accent = "var(--pcs-blue)" }) { const { Icon } = window.PCSIcons; const { Photo } = window.PCSHome; const lines = Array.isArray(compliance) ? compliance : compliance ? [compliance] : []; return (
{eyebrow}

{title}

{sub &&

{sub}

}
{cta(primary)} {secondary && cta({ ...secondary, variant: secondary.variant || "outline", iconName: secondary.iconName })}
{lines.map((l, i) => (

{l}

))}
{photo && (
{photo.badge && (
{photo.badge.title}
{photo.badge.sub}
)}
)}
); } K.PageHero = PageHero; /* ---- Trust strip ---- */ function TrustStrip({ items }) { const { Icon } = window.PCSIcons; return (
{items.map((t) => ( {t} ))}
); } K.TrustStrip = TrustStrip; function Head({ eyebrow, title, lead, accent = "var(--pcs-blue)", dark, max = 720 }) { return (
{eyebrow}

{title}

{lead &&

{lead}

}
); } K.Head = Head; /* ---- Editorial prose ---- */ function Prose({ eyebrow, title, paras = [], accent, bg = "#fff" }) { return (
{eyebrow}

{title}

{paras.map((p, i) =>

{p}

)}
); } K.Prose = Prose; /* ---- Icon cards (key facts / how we help / values) ---- */ function IconCards({ eyebrow, title, lead, items, columns = 3, accent = "var(--pcs-blue)", bg = "var(--surface-page)", dark, card = true, note }) { const { Icon } = window.PCSIcons; return (
{items.map((it, i) => (
{it.icon && ( )}

{it.title}

{it.body}

))}
{note &&

{note}

}
); } K.IconCards = IconCards; /* ---- Service cards (linked, with optional bullets) ---- */ function ServiceCards({ eyebrow, title, lead, items, accent = "var(--pcs-blue)", bg = "#fff" }) { const { Icon } = window.PCSIcons; const toneBg = { blue: "var(--pcs-blue-tint)", emerald: "var(--pcs-emerald-tint)", gold: "var(--pcs-gold-tint)" }; const toneFg = { blue: "var(--pcs-blue)", emerald: "var(--pcs-emerald)", gold: "#8a6310" }; return (
{items.map((it, i) => (

{it.title}

{it.body}

{it.bullets && (
    {it.bullets.map((b, j) => (
  • {b}
  • ))}
)} {it.link && ( {it.link} )}
))}
); } K.ServiceCards = ServiceCards; /* ---- Numbered timeline (3, 4, or 6 steps) ---- */ function Timeline({ eyebrow, title, lead, steps, cta: ctaObj, accent = "var(--pcs-blue)", bg = "var(--surface-page)" }) { const { Icon } = window.PCSIcons; const n = steps.length; const cols = n <= 3 ? n : n === 4 ? 4 : 3; return (
{cols === n && (
)} {steps.map((s, i) => (
{s.icon ? : (i + 1)}
Step {i + 1}

{s.title}

{s.body}

))}
{ctaObj &&
{cta(ctaObj)}
}
); } K.Timeline = Timeline; /* ---- Comparison / generic table ---- */ function TableBlock({ eyebrow, title, lead, head, rows, accent = "var(--pcs-blue)", bg = "#fff" }) { return (
{head.map((h, i) => )}{rows.map((r, i) => {r.map((c, j) => )})}
{h}
{c}
); } K.TableBlock = TableBlock; /* ---- Stat band (dark) ---- */ function StatBand({ eyebrow, title, items, bg = "var(--pcs-ink)" }) { return (
{title && }
{items.map((it, i) => (
{window.PCSHome.CountUp ? : it.value}
{it.label}
))}
); } K.StatBand = StatBand; /* ---- List block (limitations / bullets with intro + outro) ---- */ function ListBlock({ eyebrow, title, intro, items, outro, accent = "var(--pcs-blue)", bg = "var(--surface-page)", icon = "check" }) { const { Icon } = window.PCSIcons; return (
{outro &&

{outro}

}
); } K.ListBlock = ListBlock; /* ---- Split feature (text + image) ---- */ function Split({ eyebrow, title, paras = [], bullets, photo, reverse, cta: ctaObj, accent = "var(--pcs-blue)", bg = "#fff" }) { const { Icon } = window.PCSIcons; const { Photo } = window.PCSHome; const text = (
{eyebrow}

{title}

{paras.map((p, i) =>

{p}

)} {bullets && (
{bullets.map((b, i) => (
{b}
))}
)} {ctaObj &&
{cta(ctaObj)}
}
); const img = ; return (
{reverse ? <>{img}{text} : <>{text}{img}}
); } K.Split = Split; /* ---- FAQ accordion ---- */ function FAQ({ eyebrow, title, items, accent = "var(--pcs-blue)", bg = "var(--surface-page)" }) { const { Icon } = window.PCSIcons; return (
{items.map(([q, a], i) => (
{q}

{a}

))}
); } K.FAQ = FAQ; /* ---- Final CTA band ---- */ function CTABand({ eyebrow, title, body, primary }) { const { Icon } = window.PCSIcons; return (
{eyebrow}

{title}

{body &&

{body}

}
{cta({ ...primary, variant: "secondary" })}
); } K.CTABand = CTABand; /* ---- Legal / policy page ---- */ function Legal({ eyebrow, title, updated, intro, sections }) { return (
{eyebrow}

{title}

{updated &&

Last updated: {updated}

}
{intro &&

{intro}

} {sections.map((sec, i) => (
{sec.h &&

{sec.h}

} {(sec.paras || []).map((p, j) =>

{p}

)} {sec.list && (
    {sec.list.map((li, j) => { const item = Array.isArray(li) ? li : [li, null]; return (
  • {item[1] ? <>{item[0]}. {item[1]} : item[0]}
  • ); })}
)} {sec.table && (
2 ? 640 : 480, font: "400 14.5px/1.55 var(--font-sans)" }}> {sec.table.head.map((h, k) => ( ))} {sec.table.rows.map((row, r) => ( {row.map((cell, c) => { const lines = Array.isArray(cell) ? cell : [cell]; return ( ); })} ))}
{h}
{lines.map((ln, li) =>
{ln}
)}
)}
))}
); } K.Legal = Legal; /* ---- Page shell + boot ---- */ function Page({ children }) { const { Header, Footer, CookieBanner, NewsletterPopup } = window.PCSHome; return (
{children}