// Shared content & data
const CONTENT = {
  tagline: "A biology that remembers, reasons, and rewrites itself.",
  manifesto: "We are building the instruments of a living science.",
  manifestoLong:
    "Eidosoma is a biotech research company studying how intelligence emerges in cells, tissues, and organisms — and how AI can become a genuine collaborator in that search. We build continuously-running AI scientists, publish papers that keep updating themselves, and run our own computational lab exploring bioelectricity, regeneration, and artificial life.",

  consulting: {
    headline: "Integrate AI into your research, without losing the scientist.",
    body:
      "We help R&D teams continuously integrate and scale AI across their research processes — from a single lab protocol to an organisation-wide research substrate. Under the hood, we orchestrate an ensemble of frontier models from OpenAI, Anthropic, and Google, using each where it is strongest across reasoning, coding, and synthesis. The deliverable is never a dashboard. It is a working AI scientist, owned by you, tuned to your questions.",
    offerings: [
      { label: "Discovery sprint", body: "Two-week embedded engagement. We map your research workflow, identify 3–5 high-leverage automation points, and ship a working prototype." },
      { label: "Custom AI scientist", body: "A bespoke AI scientist built from Eidosoma modules. Source code is your IP. Tuned to your domain, your data, your lab." },
      { label: "Ongoing support", body: "Monthly model updates, experiment telemetry, and on-call AI research engineers. Your scientist improves while you sleep." },
    ],
  },

  lab: {
    headline: "A laboratory that never closes.",
    body: "Eidosoma Lab runs computational biological research 24 hours a day. Our AI scientists design, execute, and re-analyse thousands of experiments a week — feeding back into three interlocking research directions.",
    areas: [
      {
        title: "Bioelectricity & collective intelligence of cells",
        body: "Cells talk to each other through many channels — chemical signalling, mechanical forces, and, strikingly, bioelectricity. Building on the work of Michael Levin and others, we model these signals as a substrate for distributed cognition — how a collection of cells 'decides' the shape of a limb, an organ, or a tumour.",
        q: "If a cell collective is solving a problem, can we read it, and can we answer back?",
      },
      {
        title: "Regenerative medicine & cancer",
        body: "Regeneration and cancer are two tails of the same distribution — tissues losing or regaining the ability to agree on what they are. We search for bioelectric and molecular interventions that nudge a system back toward its target morphology.",
        q: "What is the shortest message that can convince a tumour to rejoin the body?",
      },
      {
        title: "ALife at the intersection of AI and biology",
        body: "We grow open-ended populations of simulated organisms, protocells, and neural substrates — testing how agency, memory, and morphology co-evolve, and what the strongest candidates can teach us about the origins of mind.",
        q: "What does a minimum viable mind look like, and can we cultivate one?",
      },
    ],
  },

  aiScientist: {
    headline: "An AI scientist. Not a chatbot with a lab coat.",
    body:
      "Eidosoma AI Scientists are always-on research agents that scale the work of the humans they work for. They read the literature for you, propose hypotheses, write and run hundreds of computational experiments in parallel, and surface the few that matter — letting a small team operate at the scale of a large one, without losing the agency, taste, or judgement of the scientists they serve.",
    bullets: [
      "Scales your output — one scientist running experiments at the pace of dozens, and growing",
      "Entirely owned: every line of code is your intellectual property",
      "Designed to empower — not replace — human scientists; your ideas, your taste, your direction",
      "Dynamic papers that issue updates and re-open for new experiments",
      "Runs continuously; hands you mornings-worth of findings each day",
    ],
  },

  modules: [
    {
      n: "01",
      title: "Collective Intelligence Processor",
      summary: "Daily large-scale web & literature sweep for every active project.",
      body:
        "The CIP reads the internet the way a lab reads coffee: every morning, in large quantities. It crawls preprints, patents, GitHub commits, conference schedules, patient registries, and lab-notebook blogs — then filters, cross-references, and rewrites findings as context for your ongoing projects. Novelty, surprise, and contradiction are prioritised over volume.",
      tags: ["retrieval", "scoring", "context-window streaming", "arxiv · biorxiv · patents"],
    },
    {
      n: "02",
      title: "Experiment Coding Manager",
      summary: "Runs a team of AI coders that build and execute computational experiments.",
      body:
        "The ECM decomposes a research question into runnable experiments, spawns a team of specialised AI coders, reviews their pull requests, and orchestrates execution on the cluster. It keeps a full experiment graph — every run, every parameter, every negative result — so that nothing is ever re-discovered by accident.",
      tags: ["multi-agent", "code-review", "reproducibility", "experiment graph"],
    },
    {
      n: "03",
      title: "Evolution Engine",
      summary: "Optimisation through genetic algorithms and open-endedness — MAP-Elites, NSLC, quality-diversity.",
      body:
        "Good science rarely comes from climbing the steepest gradient. The Evolution Engine maintains a living archive of diverse candidates — models, protocols, organisms, hypotheses — and keeps exploring the space of what has not yet been tried. Underneath: MAP-Elites, novelty search, and open-ended divergence.",
      tags: ["MAP-Elites", "novelty-search", "open-endedness", "quality-diversity"],
    },
  ],

  paper: {
    title: "Closed-loop bioelectric patterning restores limb-segment identity in axolotl blastemas",
    authors: "Eidosoma AI Scientist · Model Δ-ax-0412 · in collaboration with R. Bjarnason",
    status: "Dynamic paper · v12.4 · still open for experiments",
    abstract:
      "We report that a closed-loop controller, reading surface bioelectric gradients and responding with targeted ion-channel perturbations, is sufficient to rescue segmental identity in axolotl forelimb blastemas following a targeted identity ablation. The controller was discovered through open-ended search over 18,400 simulated regenerative trajectories and validated against three wet-lab replicates.",
    updates: [
      { t: "6m ago", text: "v12.4 — Added a control arm requested by the Peer-Review Adversary. Effect size survives." },
      { t: "3h ago", text: "New replicate completed in collaborator lab (Kyoto). Consistent with figure 4." },
      { t: "yesterday", text: "v12.3 — Rewrote discussion to include two papers surfaced overnight by the CIP." },
      { t: "2 days ago", text: "Reader re-opened experiment 3.2 with modified voltage schedule. Results pending." },
    ],
  },

  news: [
    { date: "Apr 2026", title: "Eidosoma founded in Reykjavík", tag: "Company" },
    { date: "Apr 2026", title: "First dynamic paper issued — axolotl blastemas", tag: "Research" },
    { date: "Mar 2026", title: "AI Scientist v1 ships to two design-partner labs", tag: "Product" },
    { date: "Mar 2026", title: "Evolution Engine reaches 2M candidate-hours / month", tag: "Lab" },
  ],

  founder: {
    name: "Robert Bjarnason",
    role: "Founder — AI & Collective Intelligence",
    bio:
      "Robert has spent three decades at the intersection of AI, ALife, and collective intelligence — designing systems that help groups of humans, and now groups of cells, think better together. Eidosoma is his answer to a question he has been carrying for years: what would a biology laboratory look like if it were run by a collective mind that never slept?",
    location: "Reykjavík, Iceland",
  },
};

window.CONTENT = CONTENT;
