// ContactPage.jsx — Minerva contact page, upgraded to the 2.2 design language. // Structure mirrors the live minervakrm.com/contact layout (hero → intro + form + get-in-touch → closing), // but the contact intake is reframed as "Start Diagnostic" and the right-hand panel // uses the dark-style design cue (navy surface, one accent + glow, spectrum top-rule, italic-serif accent word). // hex accent → soft glow rgba (~27% alpha), matching the brief's "46" shadow function contactGlow(hex) { const h = hex.replace('#',''); const r = parseInt(h.slice(0,2),16), g = parseInt(h.slice(2,4),16), b = parseInt(h.slice(4,6),16); return `rgba(${r},${g},${b},0.27)`; } // ---- HERO ---- function ContactHero() { return (
Start a diagnostic

Knowledge you can trust, for the people who count on it.

Tell us what you're up against. We'll map where your knowledge, risk, and context live, execute one working slice on your own work, and scope the path forward, so you see compliant, executable knowledge running across your teams, AI agents, and robots.

); } // ---- FORM FIELD ---- function Field({label, type='text', required, full, area, value, onChange, placeholder}) { const [focus, setFocus] = React.useState(false); const base = { width:'100%', boxSizing:'border-box', fontFamily:'inherit', fontSize:15, color:'var(--fg)', background:'#fff', border:'1px solid var(--border)', borderRadius:8, padding:'12px 14px', outline:'none', transition:'border-color .15s cubic-bezier(0.2,0.8,0.2,1), box-shadow .15s cubic-bezier(0.2,0.8,0.2,1)', ...(focus ? {borderColor:'var(--minerva-blue)', boxShadow:'0 0 0 3px rgba(28,77,161,0.18)'} : {}), }; return ( ); } // ---- FORM + GET-IN-TOUCH ---- function ContactBody({t}) { const accent = t.panelAccent || '#3FB1E5'; const [form, setForm] = React.useState({name:'', company:'', email:'', phone:'', message:''}); const [sent, setSent] = React.useState(false); const set = (k) => (e) => setForm(f => ({...f, [k]: e.target.value})); const submit = (e) => { e.preventDefault(); setSent(true); }; return (
{/* FORM CARD (light) */}
Your diagnostic intake

In research, development, and commercialization, Minerva turns your knowledge into results you can prove.

Share a few details and what you're working on.
We'll follow up to schedule your diagnostic.

{sent ? (

Thanks — your request is in.

A member of the Minerva team will reach out shortly to scope your diagnostic and next steps.

) : (
We typically respond within one business day.
)}
{/* GET IN TOUCH (navy, dark-style cue) */}
); } function ContactRow({label, accent, children}) { return (
{label}
{children}
); } // ---- CLOSING ---- function ContactClosing() { return (

Let's do great things together for the benefit of patients

Turning your knowledge into results you can prove, for the teams who make therapies and the patients who receive them. That is the Minerva Way.

); } Object.assign(window, { ContactHero, Field, ContactBody, ContactRow, ContactClosing });