// SiteChrome.jsx — unchanged sections of the Minerva homepage (per brief §0: do not restyle) // Header, Industries, ClientStrip, ClosingCTA, Footer const NAV_SERVICES = ['Product Development','Quality Improvement','Investigations','Knowledge Management','Risk Management','Visualizations','Digitalization']; const NAV_INDUSTRIES = ['Cell and Gene Therapy','Biotech and Vaccines','Medical Devices','Life Science Robots']; const NAV_ABOUT = ['About Minerva','Our Team']; // Pages that exist in this prototype get a real link; everything else stays a placeholder. const NAV_HREFS = { 'Quality Improvement': '/quality-improvement/', 'Start Diagnostic': '/start-a-diagnostic/', 'Start a Diagnostic': '/start-a-diagnostic/', 'Diagnostic': '/start-a-diagnostic/', 'Product Development': '/product-development/', 'Investigations': '/investigations/', 'Knowledge Management': '/knowledge-management/', 'Risk Management': '/risk-management/', 'Visualization': '/visualization/', 'Digitalization': '/digitalization/' }; function Header() { const [open, setOpen] = React.useState(null); return (
Minerva
); } function Dropdown({items}) { return (
{items.map(t=>( {t} ))}
); } // Grouped dropdown: titled sections (e.g. Execution Areas = Domains + Disciplines). function GroupedDropdown({groups}) { return (
{groups.map((g, gi)=>(
{g.title}
{g.items.map(t=>( {t} ))}
))}
); } // ============================================================================ // NavBar — two-tier brand navigation (per "Minerva Nav Bar - Handoff Spec"). // Tier 1: master brand bar (firm logo + KG/GI division switch + gold CTA), scrolls away. // Tier 2: division sub-bar, sticky; on Knowledge Governance it is the LIGHT / green theme, // with the KG box active and the GI box previewing the dark/sky theme. // Mounted on the Knowledge Governance home page; other interior pages keep
. // ============================================================================ const SPECTRUM_RULE = 'linear-gradient(90deg,#D51C29,#E0542A,#E0A230,#F2D12E,#8FBF3F,#069848,#1AA89A,#3FB1E5,#1C4DA1,#4A3BA8,#8B2CA8,#D20F8C)'; const GI_HOME_URL = '../..//compliant-ai-readiness/'; // General Intelligence (VISDI/Mingi) home in this project. const SPLASH_URL = '../..//home/'; // firm-level "one firm, two divisions" splash page. Both Minerva logos point here. const KG_HOME = '/knowledge-governance/'; const KG_SECTIONS = [ { id:'method', label:'The Method', href:'#foundation' }, { id:'capabilities', label:'Capabilities', href:'#capabilities' }, { id:'industries', label:'Industries', href:'#industries' }, { id:'clients', label:'Clients', href:'#clients' }, { id:'contact', label:'Contact', href:'#contact' }, ]; // Sub-nav: Domains and Disciplines are first-class nav dropdowns, followed by // Industries, About Minerva, Blog. const TIER2_MENU = [ { label:'Domains', items:['Product Development','Quality Improvement','Investigations'] }, { label:'Disciplines', items:['Visualization','Digitalization','Knowledge Management','Risk Management'] }, { label:'Industries', href:'/industries/' }, ]; function DivisionBox({label, href, active, theme, block, onClick}) { const gi = theme === 'gi'; const base = { display: block ? 'flex' : 'inline-flex', alignItems:'center', justifyContent: block ? 'center' : 'flex-start', gap:9, textDecoration:'none', width: block ? '100%' : 'auto', boxSizing:'border-box', padding:'10px 18px', borderRadius:'var(--radius-md)', fontSize:15, letterSpacing:'-0.01em', fontWeight: active ? 700 : 600, whiteSpace:'nowrap', transition:'box-shadow .2s cubic-bezier(0.2,0.8,0.2,1), border-color .2s cubic-bezier(0.2,0.8,0.2,1)', }; const themed = gi ? { background: active ? '#0A1426' : '#0E1A30', color:'#FFFFFF', border: active ? '1px solid #3FB1E5' : '1px solid rgba(63,177,229,0.45)', boxShadow: active ? '0 2px 14px rgba(63,177,229,0.30)' : 'none' } : { background:'#FFFFFF', color: active ? '#1C4DA1' : 'var(--ink-800)', border: active ? '1px solid #1C4DA1' : '1px solid var(--ink-300)', boxShadow: active ? '0 2px 14px rgba(28,77,161,0.20)' : 'none' }; const dot = gi ? '#3FB1E5' : '#1C4DA1'; return ( {active && } {label} ); } // Hamburger / close toggle. Visibility is class-driven (.nav-burger), never inline. function Burger({open, onClick}) { return ( ); } function GoldCTA({href, small}) { return ( Start a Diagnostic ); } // Small circular LinkedIn link — sits to the right of the gold CTA in the master bar. function LinkedInBtn() { return ( ); } function NavBar({sections = KG_SECTIONS, activeId = null, showPinnedCta = true}) { const [pinned, setPinned] = React.useState(false); const [open, setOpen] = React.useState(null); const [menuOpen, setMenuOpen] = React.useState(false); React.useEffect(() => { const onScroll = () => setPinned(window.scrollY > 60); onScroll(); window.addEventListener('scroll', onScroll, {passive:true}); return () => window.removeEventListener('scroll', onScroll); }, []); // Close the overlay if the viewport grows back to desktop (prevents a stuck menu on rotate/resize). React.useEffect(() => { const onResize = () => { if (window.innerWidth > 1024) setMenuOpen(false); }; window.addEventListener('resize', onResize); return () => window.removeEventListener('resize', onResize); }, []); // Lock body scroll while the overlay is open. React.useEffect(() => { document.body.style.overflow = menuOpen ? 'hidden' : ''; return () => { document.body.style.overflow = ''; }; }, [menuOpen]); const ctaHref = NAV_HREFS['Start Diagnostic'] || '#'; const closeMenu = () => setMenuOpen(false); return ( <> {/* ---- Tier 1 — master brand bar (scrolls away) ---- */}
Minerva
setMenuOpen(o => !o)}>
{/* ---- Tier 2 — division sub-bar (sticky, KG light/green theme) ---- */}
{pinned && ( <> Minerva )} Knowledge Governance
{pinned && setMenuOpen(o => !o)}>}
{/* ---- Mobile / tablet full-screen overlay (≤1024px) ---- */}
Minerva
Divisions
Start a Diagnostic
); } // ============================================================================ // KnowledgeExecutionNav — firm-level "Knowledge Execution" nav (matches the splash). // Same Tier-1 master bar as NavBar, but NEITHER division is active, and Tier 2 is the // umbrella "Knowledge Execution" bar with the firm-level About Minerva / Blog links. // Mounted on the About Minerva (/about-minerva/) and Blog pages. // ============================================================================ const SPECTRUM_VERTICAL_RULE = 'linear-gradient(180deg,#D51C29,#E0542A,#E0A230,#F2D12E,#8FBF3F,#069848,#1AA89A,#3FB1E5,#1C4DA1,#4A3BA8,#8B2CA8,#D20F8C)'; const KE_SUBLINKS = [ { label:'About Minerva', href:'/about-minerva/' }, { label:'Blog', href:'/blog/' }, ]; function KnowledgeExecutionNav() { const [pinned, setPinned] = React.useState(false); const [menuOpen, setMenuOpen] = React.useState(false); React.useEffect(() => { const onScroll = () => setPinned(window.scrollY > 60); onScroll(); window.addEventListener('scroll', onScroll, {passive:true}); return () => window.removeEventListener('scroll', onScroll); }, []); React.useEffect(() => { const onResize = () => { if (window.innerWidth > 1024) setMenuOpen(false); }; window.addEventListener('resize', onResize); return () => window.removeEventListener('resize', onResize); }, []); React.useEffect(() => { document.body.style.overflow = menuOpen ? 'hidden' : ''; return () => { document.body.style.overflow = ''; }; }, [menuOpen]); const ctaHref = NAV_HREFS['Start Diagnostic'] || '#'; const closeMenu = () => setMenuOpen(false); return ( <> {/* ---- Tier 1 — master brand bar (scrolls away) ---- */}
Minerva
setMenuOpen(o => !o)}>
{/* ---- Tier 2 — Knowledge Execution umbrella sub-bar (sticky) ---- */}
{pinned && ( <> Minerva )} Knowledge Execution
{pinned && setMenuOpen(o => !o)}>}
{/* ---- Mobile / tablet overlay (≤1024px) ---- */}
Minerva
Divisions
Start a Diagnostic
); } const INDUSTRIES = [ {t:'Cell and gene therapy', img:'dna-gene-editing.jpg', d:'Advanced therapy development and release.'}, {t:'Biotech and vaccines', img:'scientists-sample-analysis.jpg', d:'Manufacturing performance and risk.'}, {t:'Medical devices', img:'cleanroom-inspection.jpg', d:'Device development and commercialization.'}, {t:'Life science robots', img:'surgical-robot.jpg', cross:true, d:'Robotic and automated systems.'}, ]; const INDUSTRY_SLIDES = [ {t:'Cell and gene therapy', img:'dna-gene-editing.jpg'}, {t:'Biotech and vaccines', img:'scientists-sample-analysis.jpg'}, {t:'Medical devices', img:'cleanroom-inspection.jpg'}, {t:'Life science robots', img:'surgical-robot.jpg', cross:true}, ]; // §6 TRUST AND FIT (merged) — built for the way you are audited (Site Brief 02 v1.1). // Industries (white axis) and Situations (link to domain pages) kept visually distinct. const TRUST_INDUSTRIES = ['Cell and Gene Therapy', 'Biotech and Vaccines', 'Medical Devices', 'Life Science Robots']; const TRUST_SITUATIONS = [ {t:'Product Development', href:'/product-development/'}, {t:'Quality Improvement', href:'/quality-improvement/'}, {t:'Investigations', href:'/investigations/'}, ]; function TrustAndFit() { return (
Trust and fit

Built for the way you are audited.

Every piece of governed knowledge is verified by a qualified person and traceable to its source. It extends the same discipline you already trust for your data to the knowledge built on it. Every result is verified before it counts. The human stays in command.

Built for regulated work
{/* Industries — white axis */}

Industries

{TRUST_INDUSTRIES.map(t => ( {t} ))}
{/* Situations — link down to domain pages */}

Domains

{TRUST_SITUATIONS.map(s => ( {s.t} → ))}
); } // §6 THE PROOF — earned proof replaces the logo wall (KG Rebuild Spec v1.7). No logos. function Proof() { const strip = ['Since 2014', 'Regulated life sciences', 'Human in command']; return (
Proof

Twelve years. Clients who came for the visual language and stayed.

Once knowledge is visible, true, and traceable, work moves faster and results grow more reliable. That is why clients stay.

{strip.map((s, i) => ( {i > 0 && } {s} ))}
); } // §7 THE BRIDGE UP — styled as a dark navy AI box (matches the home "destination" card). function Handoff() { return (
The bridge up

The foundation AI runs on.

Governed knowledge is what makes AI safe to deploy in regulated work. When you are ready, the same foundation becomes executable, with results you can defend.

See Compliant AI Readiness →
); } // §8 THE CLOSE — Diagnostic defined (locked, same verbatim as Home close), gold CTA. function FinalCTA() { return (

Start with a Diagnostic.

The Diagnostic is how Minerva begins. We walk your process, see where your knowledge stands, and find the gaps and the openings. Then we build a working slice on your own knowledge with your team, the piece that delivers the most value for your objectives. You leave with a map, a working proof, and an ROI projection for the path forward.

Start a Diagnostic
); } // ============================================================================ // KeyTerms — GEO section: static, semantic
of the eight core terms. // Copy is verbatim from the Key Terms brief; the matching JSON-LD lives in the // page . Light theme to stay consistent with the rest of the KG page. // ============================================================================ const KEY_TERMS = [ {term:'Visual-Digital Knowledge™ (VDK)', def:'Knowledge made legible to people and machines at once, visual for humans, digital for AI, human-verified. Minerva’s core output.'}, {term:'The Minerva Way', def:'Minerva’s method for turning scattered data, documents, and expertise into compliant, executable knowledge for regulated life sciences.'}, {term:'Knowledge Execution Layer', def:'The compliant, AI-ready layer between fragmented life-sciences data and the humans, AI agents, and robots that act on it.'}, {term:'Executable Knowledge', def:'Knowledge structured to be acted on by a person, AI agent, or robot, not just stored or read.'}, {term:'Knowledge Management', def:'The human and process discipline Minerva was built on. It turns disconnected documents, data, and expertise into governed knowledge, and today is one element of the knowledge execution layer rather than the whole of what Minerva delivers.'}, {term:'Risk Management', def:'Reducing decision subjectivity through visual process mapping and structured risk assessment, aligned with ICH Q9(R1) and ISO 14971.'}, {term:'Context', def:'Engineered information that makes knowledge safe for AI agents and robots to act on; Minerva’s third element after Knowledge and Risk.'}, {term:'AI-Ready Knowledge', def:'Knowledge that is structured, governed, and human-verified so AI can use it reliably in regulated environments.'}, ]; function KeyTerms() { return (

Key Terms

{KEY_TERMS.map(t => (
{t.term}
: {t.def}
))}
); } // Unified footer IA — one model across every Minerva page (KG + Compliant AI Readiness + splash). // Paths here are relative to the KG pages folder (knowledge-governance/Homepage 2.2/): // KG pages are local; firm-level + CAIR pages sit two levels up. const FOOTER_COLS = [ { title:'Explore', links:[ ['Knowledge Execution', '../..//home/'], ['Knowledge Governance', '/knowledge-governance/'], ['Compliant AI Readiness', '../..//compliant-ai-readiness/'], ]}, { title:'Knowledge Governance', links:[ ['Product Development', '/product-development/'], ['Quality Improvement', '/quality-improvement/'], ['Investigations', '/investigations/'], ['Visualization', '/visualization/'], ['Digitalization', '/digitalization/'], ['Knowledge Management', '/knowledge-management/'], ['Risk Management', '/risk-management/'], ['Industries', '/industries/'], ]}, { title:'Compliant AI Readiness', links:[ ['The Method', '../..//method/'], ['Mingi', '../..//mingi/'], ['Products', '../..//products/'], ['By Function', '../..//by-function/'], ]}, { title:'The Firm', links:[ ['About Minerva', 'https://minervakrm.com'], ['Our Team', '/about-minerva/'], ['Blog', '/blog/'], ['Start a Diagnostic', '/start-a-diagnostic/'], ]}, ]; function Footer() { return (
Minerva Knowledge Management

5901 West Century Blvd 750
Los Angeles, CA 90045

info@minervakrm.com
{FOOTER_COLS.map(c => )}
© 2026 Minerva Knowledge Management LLC
); } function FooterCol({title, links}) { return (
{title}
    {links.map(([label, href]) =>
  • {label}
  • )}
); } Object.assign(window, { Header, NavBar, KnowledgeExecutionNav, DivisionBox, GoldCTA, Dropdown, GroupedDropdown, TrustAndFit, Proof, Handoff, FinalCTA, KeyTerms, Footer });