/* splash-shared.jsx — Minerva Splash (brand root) — nav, footer, helpers
Blends the classic minervakrm.com light system with the VISDI dark system.
Depends on visdi-shared.jsx (Eyebrow, EyebrowMark, Icon, Arrow, WheelMark, CircuitSVG). */
/* Stage colors on LIGHT backgrounds — brief §5: Diagnose/Know=GOLD · Connect=BLUE · Operate=GREEN */
const SPLASH_STAGE = {
diagnose: { color:"#E0A230", text:"#A9761C", bg:"rgba(224,162,48,0.10)", border:"rgba(224,162,48,0.38)" },
connect: { color:"#1C4DA1", text:"#1C4DA1", bg:"rgba(28,77,161,0.07)", border:"rgba(28,77,161,0.30)" },
operate: { color:"#069348", text:"#067A3E", bg:"rgba(6,147,72,0.08)", border:"rgba(6,147,72,0.32)" },
};
const SPLASH_LINKS = {
governance: "/knowledge-governance/", /* Door A — new in-project KG home */
mgi: "/general-intelligence/", /* Door B — /visdi */
diagnostic: "/general-intelligence/visdi-diagnostic.html", /* shared front door — /diagnostic */
};
/* The 12-step Minerva spectrum as a CSS gradient string (for thin rules) */
const SPECTRUM_GRADIENT = "linear-gradient(90deg,#D51C29,#E0542A,#E0A230,#F2D12E,#8FBF3F,#069848,#1AA89A,#3FB1E5,#1C4DA1,#4A3BA8,#8B2CA8,#D20F8C)";
/* Actor + misc icons not present in the shared set (Lucide paths) */
const SPLASH_ICONS = {
user: [
);
}
/* Splash master brand bar — the persistent two-tier nav, Tier 1 (firm layer).
White, frosted, with a spectrum hairline seam. The two divisions render as
theme-preview boxes (white box = Knowledge Governance's light site · dark navy
box = General Intelligence's dark site). On the splash root no division is
active, so neither box shows a "you are here" dot and there is no sub-bar. */
function SplashNav() {
const [menuOpen, setMenuOpen] = React.useState(false);
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 divBtn = ({ href, label, kind, block = false }) => {
const box = kind === "gi"
? { background:"#0E1A30", color:"#FFFFFF", border:"1px solid rgba(63,177,229,0.45)", boxShadow:"none" }
: { background:"#FFFFFF", color:"var(--ink-800)", border:"1px solid var(--ink-300)", boxShadow:"0 1px 2px rgba(15,26,46,0.06)" };
return (
setMenuOpen(false) : undefined} style={{
display: block ? "flex" : "inline-flex", alignItems:"center",
justifyContent: block ? "center" : "flex-start", gap:9, cursor:"pointer",
fontFamily:"var(--wix-text)", fontSize:15, fontWeight:600, letterSpacing:"-0.01em", whiteSpace:"nowrap",
padding: block ? "14px 18px" : "10px 18px", borderRadius:"var(--radius-md)",
width: block ? "100%" : "auto", boxSizing:"border-box",
background:box.background, color:box.color, border:box.border, boxShadow:box.boxShadow }}>
{label}
);
};
const burger = (color) => (
);
return (
);
}
/* Light-section head: classic pattern — eyebrow → heading → lead */
function SectionHead({ eyebrow, eyebrowColor = "var(--minerva-blue)", title, lead, center = true, dark = false, maxWidth = 720, leadMaxWidth = 640, leadNoWrap = false }) {
return (
{lead}
}