// Article.jsx — Verigo Global: article detail page (reads ?id=X from URL) const { V: AV, MAXW: AMW, FONT: AFT } = window; const CAT_COLORS = { Strategy:'#4B4FD9', 'CMMC 2.0':'#E8622A', 'SOC 2':'#4B4FD9', HITRUST:'#E8622A', 'ISO 27001':'#4B4FD9', 'Risk Management':'#6B7280', 'NIST CSF':'#6B7280', 'Cross-framework':'#3F1E68' }; const STD_TK = { soc2:'soc2', iso27001:'iso27001', cmmc:'cmmc', hitrust:'hitrust', nist:'nist' }; const ArticlePage = ({ onNav }) => { const params = new URLSearchParams(window.location.search); const id = params.get('id') || 'a1'; const article = (window.ARTICLES_FULL || []).find(a => a.id === id); if (!article) return (

Article not found

onNav('resources')} style={{ marginTop:24 }}>Back to Resources
); const catColor = CAT_COLORS[article.cat] || AV.purple; const others = (window.ARTICLES_FULL || []).filter(a => a.id !== id).slice(0, 3); return (
{/* Hero */}
{/* Breadcrumb */}
/ / Article
{article.cat} {article.date} {article.read} read

{article.title}

{article.excerpt}

{/* Key Takeaways */}
Key takeaways
{(article.keyTakeaways || []).map((t, i) => (
{i+1}

{t}

))}
{/* Body sections */}
{(article.sections || []).map((sec, i) => (

{sec.heading}

{sec.body.split('\n\n').map((para, j) => (

{para}

))}
))}
{/* Related resources */} {(article.relatedToolkit || article.relatedStandard) && (
Related resources
{article.relatedToolkit && ( )} {article.relatedStandard && ( )}
)}
{/* CTA */}
Ready to act on this?

Have a practitioner walk through your specific situation.

onNav('contact')}>Start a Conversation {article.relatedToolkit && onNav('toolkit:' + article.relatedToolkit)}>Explore the toolkit}
{/* More articles */} {others.length > 0 && (
More articles
{others.map(a => { const cc = CAT_COLORS[a.cat] || AV.purple; return (
{ e.currentTarget.style.borderColor=AV.purple; e.currentTarget.style.boxShadow='0 6px 20px rgba(0,0,0,0.07)'; }} onMouseLeave={e=>{ e.currentTarget.style.borderColor=AV.g200; e.currentTarget.style.boxShadow='none'; }} onClick={()=>{ window.location.href='Article.html?id='+a.id; }}>
{a.cat} {a.read}

{a.title}

{a.date}
); })}
)}
); }; Object.assign(window, { ArticlePage });