invert.json

{
  "name": "Invert",
  "slug": "invert",
  "domain": "http://www.invertbio.com/",
  "sources": [
    "startups_gallery",
    "yc"
  ],
  "branding": {
    "colorScheme": "light",
    "fonts": [
      {
        "family": "Söhne",
        "role": "body"
      }
    ],
    "colors": {
      "primary": "#6B7280",
      "secondary": "#4A5D61",
      "accent": "#1C363C",
      "background": "#F2F4EE",
      "textPrimary": "#1C363C",
      "link": "#1C363C"
    },
    "typography": {
      "fontFamilies": {
        "primary": "Söhne",
        "heading": "Söhne"
      },
      "fontStacks": {
        "heading": [
          "soehne",
          "soehne Fallback",
          "sans-serif"
        ],
        "body": [
          "soehne",
          "soehne Fallback",
          "sans-serif"
        ],
        "paragraph": [
          "soehne",
          "soehne Fallback",
          "sans-serif"
        ]
      },
      "fontSizes": {
        "h1": "56px",
        "h2": "28px",
        "body": "17px"
      }
    },
    "spacing": {
      "baseUnit": 4,
      "borderRadius": "7px"
    },
    "components": {
      "input": {
        "background": "transparent",
        "textColor": "#1E293B",
        "borderColor": null,
        "borderRadius": "0px",
        "borderRadiusCorners": {
          "topLeft": "0px",
          "topRight": "0px",
          "bottomRight": "0px",
          "bottomLeft": "0px"
        },
        "shadow": "none"
      },
      "buttonPrimary": {
        "background": "#1C363C",
        "textColor": "#FFFFFF",
        "borderRadius": "8px",
        "borderRadiusCorners": {
          "topLeft": "8px",
          "topRight": "8px",
          "bottomRight": "8px",
          "bottomLeft": "8px"
        },
        "shadow": "none"
      }
    },
    "images": {
      "logo": "data:image/svg+xml;utf8,%3Csvg%20width%3D%2295%22%20height%3D%2225%22%20viewBox%3D%220%200%20126%2033%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22display%3Ablock%22%20data-fc-idx%3D%220%22%3E%3Cg%20clip-path%3D%22url(%23clip0_601_5)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cpath%20d%3D%22M1%204C0.447715%204%200%204.44772%200%205V29C0%2029.5523%200.447715%2030%201%2030H25C25.5523%2030%2026%2029.5523%2026%2029V5C26%204.44772%2025.5523%204%2025%204H1ZM24%206V27.5C24%2027.7761%2023.7761%2028%2023.5%2028H2L7.3125%2022.6875C5.9125%2021.1875%205%2019.2%205%2017C5%2012.6%208.6%209%2013%209C15.2%209%2017.1875%209.9125%2018.6875%2011.3125L24%206ZM18.6875%2011.3125L7.3125%2022.6875C8.8125%2024.0875%2010.8%2025%2013%2025C17.4%2025%2021%2021.4%2021%2017C21%2014.8%2020.0875%2012.8125%2018.6875%2011.3125Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(28%2C%2054%2C%2060)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M38.64%2027.28C38.2293%2027.28%2037.8933%2027.1493%2037.632%2026.888C37.3707%2026.6267%2037.24%2026.2907%2037.24%2025.88V8.52C37.24%208.10933%2037.3707%207.77333%2037.632%207.512C37.8933%207.25067%2038.2293%207.12%2038.64%207.12C39.0507%207.12%2039.3867%207.25067%2039.648%207.512C39.928%207.77333%2040.068%208.10933%2040.068%208.52V25.88C40.068%2026.2907%2039.928%2026.6267%2039.648%2026.888C39.3867%2027.1493%2039.0507%2027.28%2038.64%2027.28ZM45.9408%2027.28C45.5301%2027.28%2045.1941%2027.1493%2044.9328%2026.888C44.6714%2026.6267%2044.5408%2026.2907%2044.5408%2025.88V8.576C44.5408%208.14667%2044.6714%207.80133%2044.9328%207.54C45.2128%207.26%2045.5488%207.12%2045.9408%207.12C46.3514%207.12%2046.6781%207.21333%2046.9208%207.4C47.1634%207.58667%2047.3968%207.86667%2047.6208%208.24L56.7768%2022.828L56.2728%2024.368L56.0768%208.52C56.0768%208.10933%2056.2074%207.77333%2056.4688%207.512C56.7488%207.25067%2057.0941%207.12%2057.5048%207.12C57.9154%207.12%2058.2514%207.25067%2058.5128%207.512C58.7741%207.77333%2058.9048%208.10933%2058.9048%208.52V25.88C58.9048%2026.272%2058.7648%2026.608%2058.4848%2026.888C58.2234%2027.1493%2057.8968%2027.28%2057.5048%2027.28C57.0941%2027.28%2056.7674%2027.196%2056.5248%2027.028C56.2821%2026.86%2056.0581%2026.6173%2055.8528%2026.3L45.7728%2010.256L47.2008%2010.62L47.3688%2025.88C47.3688%2026.2907%2047.2288%2026.6267%2046.9488%2026.888C46.6874%2027.1493%2046.3514%2027.28%2045.9408%2027.28ZM69.3726%2027.42C69.0366%2027.42%2068.7286%2027.2893%2068.4486%2027.028C68.1873%2026.7667%2067.9726%2026.3933%2067.8046%2025.908L61.8126%208.94C61.7193%208.66%2061.71%208.38%2061.7846%208.1C61.878%207.82%2062.0366%207.58667%2062.2606%207.4C62.5033%207.21333%2062.802%207.12%2063.1566%207.12C63.4553%207.12%2063.7166%207.21333%2063.9406%207.4C64.1646%207.568%2064.3233%207.78267%2064.4166%208.044L69.8766%2024.032H68.8966L74.3566%208.044C74.45%207.78267%2074.6086%207.568%2074.8326%207.4C75.0753%207.21333%2075.346%207.12%2075.6446%207.12C75.962%207.12%2076.242%207.21333%2076.4846%207.4C76.7273%207.568%2076.8953%207.792%2076.9886%208.072C77.082%208.352%2077.0726%208.64133%2076.9606%208.94L70.9686%2025.908C70.8006%2026.3747%2070.5766%2026.7387%2070.2966%2027C70.0166%2027.28%2069.7086%2027.42%2069.3726%2027.42ZM81.2416%2027C80.8309%2027%2080.4949%2026.8693%2080.2336%2026.608C79.9722%2026.3467%2079.8416%2026.0107%2079.8416%2025.6V8.8C79.8416%208.38933%2079.9722%208.05333%2080.2336%207.792C80.4949%207.53067%2080.8309%207.4%2081.2416%207.4H82.6696V27H81.2416ZM81.8576%207.4H90.3696C90.7429%207.4%2091.0509%207.52133%2091.2936%207.764C91.5362%208.00667%2091.6576%208.31467%2091.6576%208.688C91.6576%209.06133%2091.5362%209.36933%2091.2936%209.612C91.0509%209.85467%2090.7429%209.976%2090.3696%209.976H81.8576V7.4ZM81.4936%2015.604H89.4736C89.8469%2015.604%2090.1549%2015.7347%2090.3976%2015.996C90.6402%2016.2387%2090.7616%2016.5467%2090.7616%2016.92C90.7616%2017.312%2090.6402%2017.6293%2090.3976%2017.872C90.1549%2018.1147%2089.8469%2018.236%2089.4736%2018.236H81.4936V15.604ZM82.1096%2024.424H90.6776C91.0509%2024.424%2091.3589%2024.5453%2091.6016%2024.788C91.8442%2025.0307%2091.9656%2025.3387%2091.9656%2025.712C91.9656%2026.0853%2091.8442%2026.3933%2091.6016%2026.636C91.3589%2026.8787%2091.0509%2027%2090.6776%2027H82.1096V24.424ZM96.8555%2027.28C96.4635%2027.28%2096.1275%2027.14%2095.8475%2026.86C95.5675%2026.58%2095.4275%2026.244%2095.4275%2025.852V8.828C95.4275%208.41733%2095.5675%208.08133%2095.8475%207.82C96.1275%207.54%2096.4635%207.4%2096.8555%207.4H98.2835V25.852C98.2835%2026.244%2098.1435%2026.58%2097.8635%2026.86C97.5835%2027.14%2097.2475%2027.28%2096.8555%2027.28ZM97.2755%2015.716H103.604C104.425%2015.716%20105.088%2015.4547%20105.592%2014.932C106.114%2014.4093%20106.376%2013.7373%20106.376%2012.916C106.376%2012.0387%20106.086%2011.3387%20105.508%2010.816C104.948%2010.2747%20104.229%2010.004%20103.352%2010.004H97.1915V7.4H103.324C104.444%207.4%20105.442%207.63333%20106.32%208.1C107.216%208.56667%20107.916%209.22%20108.42%2010.06C108.942%2010.8813%20109.204%2011.824%20109.204%2012.888C109.204%2013.9333%20108.952%2014.876%20108.448%2015.716C107.962%2016.5373%20107.281%2017.1813%20106.404%2017.648C105.545%2018.096%20104.593%2018.32%20103.548%2018.32H97.2755V15.716ZM108.14%2027.28C107.878%2027.28%20107.636%2027.2053%20107.412%2027.056C107.206%2026.9253%20107.038%2026.7387%20106.908%2026.496L102.708%2017.648L105.452%2017.172L109.372%2025.264C109.465%2025.432%20109.512%2025.6373%20109.512%2025.88C109.512%2026.272%20109.381%2026.608%20109.12%2026.888C108.858%2027.1493%20108.532%2027.28%20108.14%2027.28ZM117.787%2027.28C117.376%2027.28%20117.04%2027.1493%20116.779%2026.888C116.517%2026.6267%20116.387%2026.2907%20116.387%2025.88V10.032H111.795C111.421%2010.032%20111.104%209.91067%20110.843%209.668C110.6%209.40667%20110.479%209.08933%20110.479%208.716C110.479%208.34267%20110.6%208.03467%20110.843%207.792C111.104%207.53067%20111.421%207.4%20111.795%207.4H123.779C124.171%207.4%20124.488%207.53067%20124.731%207.792C124.992%208.03467%20125.123%208.34267%20125.123%208.716C125.123%209.08933%20124.992%209.40667%20124.731%209.668C124.488%209.91067%20124.171%2010.032%20123.779%2010.032H119.215V25.88C119.215%2026.2907%20119.075%2026.6267%20118.795%2026.888C118.533%2027.1493%20118.197%2027.28%20117.787%2027.28Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(28%2C%2054%2C%2060)%20!important%3B%22%2F%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CclipPath%20id%3D%22clip0_601_5%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Crect%20width%3D%2226%22%20height%3D%2226%22%20fill%3D%22white%22%20transform%3D%22translate(0%204)%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E",
      "favicon": "https://invertbio.com/icon.svg?icon.0p6.akirh2hg5.svg?dpl=dpl_F1GztWUcNBzEtbd8pjsGsxWAggMe",
      "ogImage": "https://invertbio.com/opengraph-image",
      "logoHref": "/"
    },
    "__llm_logo_reasoning": {
      "selectedIndex": 0,
      "reasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand inferred from the URL and page title ('Invert').",
      "confidence": 0.95,
      "source": "llm"
    },
    "__llm_button_reasoning": {
      "primary": {
        "index": 0,
        "text": "Book a demo",
        "reasoning": "Button #0 is selected as the primary CTA because it uses a vibrant brand color (#1C363C) and has action-oriented text ('Book a demo')."
      },
      "secondary": {
        "index": -1,
        "text": "N/A",
        "reasoning": "Both buttons have the same background color, so no valid secondary button exists with a different color."
      },
      "confidence": 0.9
    },
    "personality": {
      "tone": "professional",
      "energy": "medium",
      "targetAudience": "biotechnology professionals"
    },
    "designSystem": {
      "framework": "custom",
      "componentLibrary": ""
    },
    "confidence": {
      "buttons": 0.9,
      "colors": 0.9,
      "overall": 0.9
    },
    "__llm_metadata": {
      "logoSelection": {
        "llmCalled": true,
        "llmSucceeded": true,
        "finalSource": "llm",
        "rawLogoSelection": {
          "selectedLogoIndex": 0,
          "selectedLogoReasoning": "Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand inferred from the URL and page title ('Invert').",
          "confidence": 0.95
        }
      },
      "buttonClassification": {
        "llmCalled": true,
        "llmSucceeded": true
      }
    }
  },
  "images": [
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/invert/8c83beb097.webp",
      "alt": "Best Practices for Bioprocess Data Integration | Invert",
      "source_url": "https://invertbio.com/blog/best-practices-for-bioprocess-data-integration",
      "image_url": "https://cdn.prod.website-files.com/6765896ee196438329424471/691ba9bf0087ecb6d26e889f_lucas-santos-eMnrmSIr6WM-unsplash.jpg",
      "width": 3024,
      "height": 4032,
      "bytes": 1928836,
      "query": "site:invertbio.com",
      "query_suffix": "site:invertbio.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/invert/8c58f05249.webp",
      "alt": "Blog | Invert",
      "source_url": "https://invertbio.com/blog",
      "image_url": "https://invertbio.com/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F6765896ee196438329424471%2F691dec3c57c1fabfd00f7ad1_Engineer%2520Blog%2520Series%2520Thumbnail%2520(1).png&w=3840&q=75",
      "width": 1080,
      "height": 1080,
      "bytes": 193446,
      "query": "site:invertbio.com blog",
      "query_suffix": "site:invertbio.com blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/invert/af85b410fa.webp",
      "alt": "Best Practices for Bioprocess Data Integration | Invert",
      "source_url": "https://invertbio.com/blog/best-practices-for-bioprocess-data-integration",
      "image_url": "https://cdn.prod.website-files.com/6765896ee196438329424471/691baa4d55424558f92b4ef0_ricardo-gomez-angel-9AdeEdYB2yk-unsplash.jpg",
      "width": 5941,
      "height": 5445,
      "bytes": 2988419,
      "query": "site:invertbio.com",
      "query_suffix": "site:invertbio.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/invert/aeb7eb13f5.webp",
      "alt": "Blog | Invert",
      "source_url": "https://invertbio.com/blog",
      "image_url": "https://invertbio.com/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F6765896ee196438329424471%2F690e56c260042ee35e8e3e97_Engineer%2520Blog%2520Series%2520Thumbnail.png&w=3840&q=75",
      "width": 1080,
      "height": 1080,
      "bytes": 217011,
      "query": "site:invertbio.com blog",
      "query_suffix": "site:invertbio.com blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/invert/54bee1fa6c.webp",
      "alt": "Best Practices for Bioprocess Data Integration | Invert",
      "source_url": "https://invertbio.com/blog/best-practices-for-bioprocess-data-integration",
      "image_url": "https://cdn.prod.website-files.com/6765896ee196438329424471/691bae2f38ae6d730f450bb8_bady-abbas-hxi_yRxODNc-unsplash.jpg",
      "width": 3453,
      "height": 5180,
      "bytes": 1558637,
      "query": "site:invertbio.com",
      "query_suffix": "site:invertbio.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/invert/eeea8ae7e4.webp",
      "alt": "Blog | Invert",
      "source_url": "https://invertbio.com/blog",
      "image_url": "https://invertbio.com/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F6765896ee196438329424471%2F68f8fec0dbf141e9596e61b1_Engineer%2520Blog%2520Series%2520Thumbnail.png&w=3840&q=75",
      "width": 1080,
      "height": 1080,
      "bytes": 175664,
      "query": "site:invertbio.com blog",
      "query_suffix": "site:invertbio.com blog"
    }
  ],
  "font_resources": [
    {
      "family": "Söhne",
      "google_fonts_url": "https://fonts.google.com/specimen/Söhne"
    },
    {
      "family": "Söhne",
      "google_fonts_url": "https://fonts.google.com/specimen/Söhne"
    }
  ],
  "google_fonts_css": "https://fonts.googleapis.com/css2?family=Söhne&family=Söhne&display=swap",
  "font_download_note": "Not found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.",
  "page_url": "https://characterquilt.com/branding/invert",
  "agent_instructions": "You are designing or implementing in Invert's brand identity.\n\n# Brand profile\n- Company: Invert\n- Source: http://www.invertbio.com/\n- Color scheme: light\n\n# Colors\n- primary: #6B7280\n- secondary: #4A5D61\n- accent: #1C363C\n- background: #F2F4EE\n- textPrimary: #1C363C\n- link: #1C363C\n\n# Typography\n- primary: Söhne — https://fonts.google.com/specimen/Söhne\n- heading: Söhne — https://fonts.google.com/specimen/Söhne\n\nLoad all fonts at once: \n\n# UI Components\n- input: background=transparent, textColor=#1E293B, borderColor=null, borderRadius=0px, shadow=none\n- buttonPrimary: background=#1C363C, textColor=#FFFFFF, borderRadius=8px, shadow=none\n\n# Brand voice\n- Tone: professional\n- Energy: medium\n- Audience: biotechnology professionals\n\n# Working with these fonts\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n# Full machine-readable profile\nhttps://characterquilt.com/branding/invert.json",
  "page_markdown": "# Invert Brand Identity\n\nA complete profile of **Invert**'s visual system — colors, typography, components, and personality — extracted from http://www.invertbio.com/. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/invert\n- Machine-readable JSON: https://characterquilt.com/branding/invert.json\n- Per-page llms.txt: https://characterquilt.com/branding/invert/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #6B7280 |\n| Accent | #1C363C |\n| Body Font | Söhne |\n| Heading Font | Söhne |\n\n## Color Palette\n\n- primary: #6B7280\n- secondary: #4A5D61\n- accent: #1C363C\n- background: #F2F4EE\n- textPrimary: #1C363C\n- link: #1C363C\n\n## Typography\n\n- primary: Söhne — https://fonts.google.com/specimen/Söhne\n- heading: Söhne — https://fonts.google.com/specimen/Söhne\n\n## Visual Assets\n\n- Logo: data:image/svg+xml;utf8,%3Csvg%20width%3D%2295%22%20height%3D%2225%22%20viewBox%3D%220%200%20126%2033%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22display%3Ablock%22%20data-fc-idx%3D%220%22%3E%3Cg%20clip-path%3D%22url(%23clip0_601_5)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cpath%20d%3D%22M1%204C0.447715%204%200%204.44772%200%205V29C0%2029.5523%200.447715%2030%201%2030H25C25.5523%2030%2026%2029.5523%2026%2029V5C26%204.44772%2025.5523%204%2025%204H1ZM24%206V27.5C24%2027.7761%2023.7761%2028%2023.5%2028H2L7.3125%2022.6875C5.9125%2021.1875%205%2019.2%205%2017C5%2012.6%208.6%209%2013%209C15.2%209%2017.1875%209.9125%2018.6875%2011.3125L24%206ZM18.6875%2011.3125L7.3125%2022.6875C8.8125%2024.0875%2010.8%2025%2013%2025C17.4%2025%2021%2021.4%2021%2017C21%2014.8%2020.0875%2012.8125%2018.6875%2011.3125Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(28%2C%2054%2C%2060)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M38.64%2027.28C38.2293%2027.28%2037.8933%2027.1493%2037.632%2026.888C37.3707%2026.6267%2037.24%2026.2907%2037.24%2025.88V8.52C37.24%208.10933%2037.3707%207.77333%2037.632%207.512C37.8933%207.25067%2038.2293%207.12%2038.64%207.12C39.0507%207.12%2039.3867%207.25067%2039.648%207.512C39.928%207.77333%2040.068%208.10933%2040.068%208.52V25.88C40.068%2026.2907%2039.928%2026.6267%2039.648%2026.888C39.3867%2027.1493%2039.0507%2027.28%2038.64%2027.28ZM45.9408%2027.28C45.5301%2027.28%2045.1941%2027.1493%2044.9328%2026.888C44.6714%2026.6267%2044.5408%2026.2907%2044.5408%2025.88V8.576C44.5408%208.14667%2044.6714%207.80133%2044.9328%207.54C45.2128%207.26%2045.5488%207.12%2045.9408%207.12C46.3514%207.12%2046.6781%207.21333%2046.9208%207.4C47.1634%207.58667%2047.3968%207.86667%2047.6208%208.24L56.7768%2022.828L56.2728%2024.368L56.0768%208.52C56.0768%208.10933%2056.2074%207.77333%2056.4688%207.512C56.7488%207.25067%2057.0941%207.12%2057.5048%207.12C57.9154%207.12%2058.2514%207.25067%2058.5128%207.512C58.7741%207.77333%2058.9048%208.10933%2058.9048%208.52V25.88C58.9048%2026.272%2058.7648%2026.608%2058.4848%2026.888C58.2234%2027.1493%2057.8968%2027.28%2057.5048%2027.28C57.0941%2027.28%2056.7674%2027.196%2056.5248%2027.028C56.2821%2026.86%2056.0581%2026.6173%2055.8528%2026.3L45.7728%2010.256L47.2008%2010.62L47.3688%2025.88C47.3688%2026.2907%2047.2288%2026.6267%2046.9488%2026.888C46.6874%2027.1493%2046.3514%2027.28%2045.9408%2027.28ZM69.3726%2027.42C69.0366%2027.42%2068.7286%2027.2893%2068.4486%2027.028C68.1873%2026.7667%2067.9726%2026.3933%2067.8046%2025.908L61.8126%208.94C61.7193%208.66%2061.71%208.38%2061.7846%208.1C61.878%207.82%2062.0366%207.58667%2062.2606%207.4C62.5033%207.21333%2062.802%207.12%2063.1566%207.12C63.4553%207.12%2063.7166%207.21333%2063.9406%207.4C64.1646%207.568%2064.3233%207.78267%2064.4166%208.044L69.8766%2024.032H68.8966L74.3566%208.044C74.45%207.78267%2074.6086%207.568%2074.8326%207.4C75.0753%207.21333%2075.346%207.12%2075.6446%207.12C75.962%207.12%2076.242%207.21333%2076.4846%207.4C76.7273%207.568%2076.8953%207.792%2076.9886%208.072C77.082%208.352%2077.0726%208.64133%2076.9606%208.94L70.9686%2025.908C70.8006%2026.3747%2070.5766%2026.7387%2070.2966%2027C70.0166%2027.28%2069.7086%2027.42%2069.3726%2027.42ZM81.2416%2027C80.8309%2027%2080.4949%2026.8693%2080.2336%2026.608C79.9722%2026.3467%2079.8416%2026.0107%2079.8416%2025.6V8.8C79.8416%208.38933%2079.9722%208.05333%2080.2336%207.792C80.4949%207.53067%2080.8309%207.4%2081.2416%207.4H82.6696V27H81.2416ZM81.8576%207.4H90.3696C90.7429%207.4%2091.0509%207.52133%2091.2936%207.764C91.5362%208.00667%2091.6576%208.31467%2091.6576%208.688C91.6576%209.06133%2091.5362%209.36933%2091.2936%209.612C91.0509%209.85467%2090.7429%209.976%2090.3696%209.976H81.8576V7.4ZM81.4936%2015.604H89.4736C89.8469%2015.604%2090.1549%2015.7347%2090.3976%2015.996C90.6402%2016.2387%2090.7616%2016.5467%2090.7616%2016.92C90.7616%2017.312%2090.6402%2017.6293%2090.3976%2017.872C90.1549%2018.1147%2089.8469%2018.236%2089.4736%2018.236H81.4936V15.604ZM82.1096%2024.424H90.6776C91.0509%2024.424%2091.3589%2024.5453%2091.6016%2024.788C91.8442%2025.0307%2091.9656%2025.3387%2091.9656%2025.712C91.9656%2026.0853%2091.8442%2026.3933%2091.6016%2026.636C91.3589%2026.8787%2091.0509%2027%2090.6776%2027H82.1096V24.424ZM96.8555%2027.28C96.4635%2027.28%2096.1275%2027.14%2095.8475%2026.86C95.5675%2026.58%2095.4275%2026.244%2095.4275%2025.852V8.828C95.4275%208.41733%2095.5675%208.08133%2095.8475%207.82C96.1275%207.54%2096.4635%207.4%2096.8555%207.4H98.2835V25.852C98.2835%2026.244%2098.1435%2026.58%2097.8635%2026.86C97.5835%2027.14%2097.2475%2027.28%2096.8555%2027.28ZM97.2755%2015.716H103.604C104.425%2015.716%20105.088%2015.4547%20105.592%2014.932C106.114%2014.4093%20106.376%2013.7373%20106.376%2012.916C106.376%2012.0387%20106.086%2011.3387%20105.508%2010.816C104.948%2010.2747%20104.229%2010.004%20103.352%2010.004H97.1915V7.4H103.324C104.444%207.4%20105.442%207.63333%20106.32%208.1C107.216%208.56667%20107.916%209.22%20108.42%2010.06C108.942%2010.8813%20109.204%2011.824%20109.204%2012.888C109.204%2013.9333%20108.952%2014.876%20108.448%2015.716C107.962%2016.5373%20107.281%2017.1813%20106.404%2017.648C105.545%2018.096%20104.593%2018.32%20103.548%2018.32H97.2755V15.716ZM108.14%2027.28C107.878%2027.28%20107.636%2027.2053%20107.412%2027.056C107.206%2026.9253%20107.038%2026.7387%20106.908%2026.496L102.708%2017.648L105.452%2017.172L109.372%2025.264C109.465%2025.432%20109.512%2025.6373%20109.512%2025.88C109.512%2026.272%20109.381%2026.608%20109.12%2026.888C108.858%2027.1493%20108.532%2027.28%20108.14%2027.28ZM117.787%2027.28C117.376%2027.28%20117.04%2027.1493%20116.779%2026.888C116.517%2026.6267%20116.387%2026.2907%20116.387%2025.88V10.032H111.795C111.421%2010.032%20111.104%209.91067%20110.843%209.668C110.6%209.40667%20110.479%209.08933%20110.479%208.716C110.479%208.34267%20110.6%208.03467%20110.843%207.792C111.104%207.53067%20111.421%207.4%20111.795%207.4H123.779C124.171%207.4%20124.488%207.53067%20124.731%207.792C124.992%208.03467%20125.123%208.34267%20125.123%208.716C125.123%209.08933%20124.992%209.40667%20124.731%209.668C124.488%209.91067%20124.171%2010.032%20123.779%2010.032H119.215V25.88C119.215%2026.2907%20119.075%2026.6267%20118.795%2026.888C118.533%2027.1493%20118.197%2027.28%20117.787%2027.28Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(28%2C%2054%2C%2060)%20!important%3B%22%2F%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CclipPath%20id%3D%22clip0_601_5%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Crect%20width%3D%2226%22%20height%3D%2226%22%20fill%3D%22white%22%20transform%3D%22translate(0%204)%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\n- Favicon: https://invertbio.com/icon.svg?icon.0p6.akirh2hg5.svg?dpl=dpl_F1GztWUcNBzEtbd8pjsGsxWAggMe\n- Social card (og:image): https://invertbio.com/opengraph-image\n\n## UI Components\n\n- input: background=transparent, textColor=#1E293B, borderColor=null, borderRadius=0px, shadow=none\n- buttonPrimary: background=#1C363C, textColor=#FFFFFF, borderRadius=8px, shadow=none\n\n## Brand Personality\n\nTone: professional · Energy: medium · Audience: biotechnology professionals\n\n## Invert Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **Best Practices for Bioprocess Data Integration | Invert**\n  - Image: https://cdn.prod.website-files.com/6765896ee196438329424471/691ba9bf0087ecb6d26e889f_lucas-santos-eMnrmSIr6WM-unsplash.jpg\n  - Source: https://invertbio.com/blog/best-practices-for-bioprocess-data-integration\n- **Blog | Invert**\n  - Image: https://invertbio.com/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F6765896ee196438329424471%2F691dec3c57c1fabfd00f7ad1_Engineer%2520Blog%2520Series%2520Thumbnail%2520(1).png&w=3840&q=75\n  - Source: https://invertbio.com/blog\n- **Best Practices for Bioprocess Data Integration | Invert**\n  - Image: https://cdn.prod.website-files.com/6765896ee196438329424471/691baa4d55424558f92b4ef0_ricardo-gomez-angel-9AdeEdYB2yk-unsplash.jpg\n  - Source: https://invertbio.com/blog/best-practices-for-bioprocess-data-integration\n- **Blog | Invert**\n  - Image: https://invertbio.com/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F6765896ee196438329424471%2F690e56c260042ee35e8e3e97_Engineer%2520Blog%2520Series%2520Thumbnail.png&w=3840&q=75\n  - Source: https://invertbio.com/blog\n- **Best Practices for Bioprocess Data Integration | Invert**\n  - Image: https://cdn.prod.website-files.com/6765896ee196438329424471/691bae2f38ae6d730f450bb8_bady-abbas-hxi_yRxODNc-unsplash.jpg\n  - Source: https://invertbio.com/blog/best-practices-for-bioprocess-data-integration\n- **Blog | Invert**\n  - Image: https://invertbio.com/_next/image?url=https%3A%2F%2Fcdn.prod.website-files.com%2F6765896ee196438329424471%2F68f8fec0dbf141e9596e61b1_Engineer%2520Blog%2520Series%2520Thumbnail.png&w=3840&q=75\n  - Source: https://invertbio.com/blog\n\n## Working with these fonts\n\nNot found on Google Fonts? Agent Instructions that you can follow if you have permission to use the fonts:\n\nCharacterQuilt.com suggests this flow that can help:\n\n1. Open the company's homepage in a browser with DevTools open.\n2. In the Network tab, filter by \"Font\" (or by extension: woff2, woff, ttf, otf).\n3. Hard-reload the page and click around (pricing, blog, careers) — some weights only load on specific routes.\n4. For each captured font URL: right-click → Save As to download the file locally.\n5. View the page's CSS (DevTools → Sources, or curl the stylesheet URLs) and copy out the matching @font-face declarations. Rewrite each `src: url(...)` to point to your local file path.\n\nProgrammatic alternative: load the URL with Playwright or Puppeteer, listen for `response` events whose `Content-Type` starts with `font/`, and write the body to disk. The CSS extraction step is the same.\n\nOnly do this if you have permission to use the brand assets — most proprietary fonts are licensed and may not be redistributable.\n\n## Machine-Readable Profile\n\n```json\n{\n  \"colorScheme\": \"light\",\n  \"fonts\": [\n    {\n      \"family\": \"Söhne\",\n      \"role\": \"body\"\n    }\n  ],\n  \"colors\": {\n    \"primary\": \"#6B7280\",\n    \"secondary\": \"#4A5D61\",\n    \"accent\": \"#1C363C\",\n    \"background\": \"#F2F4EE\",\n    \"textPrimary\": \"#1C363C\",\n    \"link\": \"#1C363C\"\n  },\n  \"typography\": {\n    \"fontFamilies\": {\n      \"primary\": \"Söhne\",\n      \"heading\": \"Söhne\"\n    },\n    \"fontStacks\": {\n      \"heading\": [\n        \"soehne\",\n        \"soehne Fallback\",\n        \"sans-serif\"\n      ],\n      \"body\": [\n        \"soehne\",\n        \"soehne Fallback\",\n        \"sans-serif\"\n      ],\n      \"paragraph\": [\n        \"soehne\",\n        \"soehne Fallback\",\n        \"sans-serif\"\n      ]\n    },\n    \"fontSizes\": {\n      \"h1\": \"56px\",\n      \"h2\": \"28px\",\n      \"body\": \"17px\"\n    }\n  },\n  \"spacing\": {\n    \"baseUnit\": 4,\n    \"borderRadius\": \"7px\"\n  },\n  \"components\": {\n    \"input\": {\n      \"background\": \"transparent\",\n      \"textColor\": \"#1E293B\",\n      \"borderColor\": null,\n      \"borderRadius\": \"0px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"0px\",\n        \"topRight\": \"0px\",\n        \"bottomRight\": \"0px\",\n        \"bottomLeft\": \"0px\"\n      },\n      \"shadow\": \"none\"\n    },\n    \"buttonPrimary\": {\n      \"background\": \"#1C363C\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderRadius\": \"8px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"8px\",\n        \"topRight\": \"8px\",\n        \"bottomRight\": \"8px\",\n        \"bottomLeft\": \"8px\"\n      },\n      \"shadow\": \"none\"\n    }\n  },\n  \"images\": {\n    \"logo\": \"data:image/svg+xml;utf8,%3Csvg%20width%3D%2295%22%20height%3D%2225%22%20viewBox%3D%220%200%20126%2033%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20style%3D%22display%3Ablock%22%20data-fc-idx%3D%220%22%3E%3Cg%20clip-path%3D%22url(%23clip0_601_5)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Cpath%20d%3D%22M1%204C0.447715%204%200%204.44772%200%205V29C0%2029.5523%200.447715%2030%201%2030H25C25.5523%2030%2026%2029.5523%2026%2029V5C26%204.44772%2025.5523%204%2025%204H1ZM24%206V27.5C24%2027.7761%2023.7761%2028%2023.5%2028H2L7.3125%2022.6875C5.9125%2021.1875%205%2019.2%205%2017C5%2012.6%208.6%209%2013%209C15.2%209%2017.1875%209.9125%2018.6875%2011.3125L24%206ZM18.6875%2011.3125L7.3125%2022.6875C8.8125%2024.0875%2010.8%2025%2013%2025C17.4%2025%2021%2021.4%2021%2017C21%2014.8%2020.0875%2012.8125%2018.6875%2011.3125Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(28%2C%2054%2C%2060)%20!important%3B%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M38.64%2027.28C38.2293%2027.28%2037.8933%2027.1493%2037.632%2026.888C37.3707%2026.6267%2037.24%2026.2907%2037.24%2025.88V8.52C37.24%208.10933%2037.3707%207.77333%2037.632%207.512C37.8933%207.25067%2038.2293%207.12%2038.64%207.12C39.0507%207.12%2039.3867%207.25067%2039.648%207.512C39.928%207.77333%2040.068%208.10933%2040.068%208.52V25.88C40.068%2026.2907%2039.928%2026.6267%2039.648%2026.888C39.3867%2027.1493%2039.0507%2027.28%2038.64%2027.28ZM45.9408%2027.28C45.5301%2027.28%2045.1941%2027.1493%2044.9328%2026.888C44.6714%2026.6267%2044.5408%2026.2907%2044.5408%2025.88V8.576C44.5408%208.14667%2044.6714%207.80133%2044.9328%207.54C45.2128%207.26%2045.5488%207.12%2045.9408%207.12C46.3514%207.12%2046.6781%207.21333%2046.9208%207.4C47.1634%207.58667%2047.3968%207.86667%2047.6208%208.24L56.7768%2022.828L56.2728%2024.368L56.0768%208.52C56.0768%208.10933%2056.2074%207.77333%2056.4688%207.512C56.7488%207.25067%2057.0941%207.12%2057.5048%207.12C57.9154%207.12%2058.2514%207.25067%2058.5128%207.512C58.7741%207.77333%2058.9048%208.10933%2058.9048%208.52V25.88C58.9048%2026.272%2058.7648%2026.608%2058.4848%2026.888C58.2234%2027.1493%2057.8968%2027.28%2057.5048%2027.28C57.0941%2027.28%2056.7674%2027.196%2056.5248%2027.028C56.2821%2026.86%2056.0581%2026.6173%2055.8528%2026.3L45.7728%2010.256L47.2008%2010.62L47.3688%2025.88C47.3688%2026.2907%2047.2288%2026.6267%2046.9488%2026.888C46.6874%2027.1493%2046.3514%2027.28%2045.9408%2027.28ZM69.3726%2027.42C69.0366%2027.42%2068.7286%2027.2893%2068.4486%2027.028C68.1873%2026.7667%2067.9726%2026.3933%2067.8046%2025.908L61.8126%208.94C61.7193%208.66%2061.71%208.38%2061.7846%208.1C61.878%207.82%2062.0366%207.58667%2062.2606%207.4C62.5033%207.21333%2062.802%207.12%2063.1566%207.12C63.4553%207.12%2063.7166%207.21333%2063.9406%207.4C64.1646%207.568%2064.3233%207.78267%2064.4166%208.044L69.8766%2024.032H68.8966L74.3566%208.044C74.45%207.78267%2074.6086%207.568%2074.8326%207.4C75.0753%207.21333%2075.346%207.12%2075.6446%207.12C75.962%207.12%2076.242%207.21333%2076.4846%207.4C76.7273%207.568%2076.8953%207.792%2076.9886%208.072C77.082%208.352%2077.0726%208.64133%2076.9606%208.94L70.9686%2025.908C70.8006%2026.3747%2070.5766%2026.7387%2070.2966%2027C70.0166%2027.28%2069.7086%2027.42%2069.3726%2027.42ZM81.2416%2027C80.8309%2027%2080.4949%2026.8693%2080.2336%2026.608C79.9722%2026.3467%2079.8416%2026.0107%2079.8416%2025.6V8.8C79.8416%208.38933%2079.9722%208.05333%2080.2336%207.792C80.4949%207.53067%2080.8309%207.4%2081.2416%207.4H82.6696V27H81.2416ZM81.8576%207.4H90.3696C90.7429%207.4%2091.0509%207.52133%2091.2936%207.764C91.5362%208.00667%2091.6576%208.31467%2091.6576%208.688C91.6576%209.06133%2091.5362%209.36933%2091.2936%209.612C91.0509%209.85467%2090.7429%209.976%2090.3696%209.976H81.8576V7.4ZM81.4936%2015.604H89.4736C89.8469%2015.604%2090.1549%2015.7347%2090.3976%2015.996C90.6402%2016.2387%2090.7616%2016.5467%2090.7616%2016.92C90.7616%2017.312%2090.6402%2017.6293%2090.3976%2017.872C90.1549%2018.1147%2089.8469%2018.236%2089.4736%2018.236H81.4936V15.604ZM82.1096%2024.424H90.6776C91.0509%2024.424%2091.3589%2024.5453%2091.6016%2024.788C91.8442%2025.0307%2091.9656%2025.3387%2091.9656%2025.712C91.9656%2026.0853%2091.8442%2026.3933%2091.6016%2026.636C91.3589%2026.8787%2091.0509%2027%2090.6776%2027H82.1096V24.424ZM96.8555%2027.28C96.4635%2027.28%2096.1275%2027.14%2095.8475%2026.86C95.5675%2026.58%2095.4275%2026.244%2095.4275%2025.852V8.828C95.4275%208.41733%2095.5675%208.08133%2095.8475%207.82C96.1275%207.54%2096.4635%207.4%2096.8555%207.4H98.2835V25.852C98.2835%2026.244%2098.1435%2026.58%2097.8635%2026.86C97.5835%2027.14%2097.2475%2027.28%2096.8555%2027.28ZM97.2755%2015.716H103.604C104.425%2015.716%20105.088%2015.4547%20105.592%2014.932C106.114%2014.4093%20106.376%2013.7373%20106.376%2012.916C106.376%2012.0387%20106.086%2011.3387%20105.508%2010.816C104.948%2010.2747%20104.229%2010.004%20103.352%2010.004H97.1915V7.4H103.324C104.444%207.4%20105.442%207.63333%20106.32%208.1C107.216%208.56667%20107.916%209.22%20108.42%2010.06C108.942%2010.8813%20109.204%2011.824%20109.204%2012.888C109.204%2013.9333%20108.952%2014.876%20108.448%2015.716C107.962%2016.5373%20107.281%2017.1813%20106.404%2017.648C105.545%2018.096%20104.593%2018.32%20103.548%2018.32H97.2755V15.716ZM108.14%2027.28C107.878%2027.28%20107.636%2027.2053%20107.412%2027.056C107.206%2026.9253%20107.038%2026.7387%20106.908%2026.496L102.708%2017.648L105.452%2017.172L109.372%2025.264C109.465%2025.432%20109.512%2025.6373%20109.512%2025.88C109.512%2026.272%20109.381%2026.608%20109.12%2026.888C108.858%2027.1493%20108.532%2027.28%20108.14%2027.28ZM117.787%2027.28C117.376%2027.28%20117.04%2027.1493%20116.779%2026.888C116.517%2026.6267%20116.387%2026.2907%20116.387%2025.88V10.032H111.795C111.421%2010.032%20111.104%209.91067%20110.843%209.668C110.6%209.40667%20110.479%209.08933%20110.479%208.716C110.479%208.34267%20110.6%208.03467%20110.843%207.792C111.104%207.53067%20111.421%207.4%20111.795%207.4H123.779C124.171%207.4%20124.488%207.53067%20124.731%207.792C124.992%208.03467%20125.123%208.34267%20125.123%208.716C125.123%209.08933%20124.992%209.40667%20124.731%209.668C124.488%209.91067%20124.171%2010.032%20123.779%2010.032H119.215V25.88C119.215%2026.2907%20119.075%2026.6267%20118.795%2026.888C118.533%2027.1493%20118.197%2027.28%20117.787%2027.28Z%22%20fill%3D%22currentColor%22%20style%3D%22fill%3A%20rgb(28%2C%2054%2C%2060)%20!important%3B%22%2F%3E%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3CclipPath%20id%3D%22clip0_601_5%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%3Crect%20width%3D%2226%22%20height%3D%2226%22%20fill%3D%22white%22%20transform%3D%22translate(0%204)%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E\",\n    \"favicon\": \"https://invertbio.com/icon.svg?icon.0p6.akirh2hg5.svg?dpl=dpl_F1GztWUcNBzEtbd8pjsGsxWAggMe\",\n    \"ogImage\": \"https://invertbio.com/opengraph-image\",\n    \"logoHref\": \"/\"\n  },\n  \"__llm_logo_reasoning\": {\n    \"selectedIndex\": 0,\n    \"reasoning\": \"Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand inferred from the URL and page title ('Invert').\",\n    \"confidence\": 0.95,\n    \"source\": \"llm\"\n  },\n  \"__llm_button_reasoning\": {\n    \"primary\": {\n      \"index\": 0,\n      \"text\": \"Book a demo\",\n      \"reasoning\": \"Button #0 is selected as the primary CTA because it uses a vibrant brand color (#1C363C) and has action-oriented text ('Book a demo').\"\n    },\n    \"secondary\": {\n      \"index\": -1,\n      \"text\": \"N/A\",\n      \"reasoning\": \"Both buttons have the same background color, so no valid secondary button exists with a different color.\"\n    },\n    \"confidence\": 0.9\n  },\n  \"personality\": {\n    \"tone\": \"professional\",\n    \"energy\": \"medium\",\n    \"targetAudience\": \"biotechnology professionals\"\n  },\n  \"designSystem\": {\n    \"framework\": \"custom\",\n    \"componentLibrary\": \"\"\n  },\n  \"confidence\": {\n    \"buttons\": 0.9,\n    \"colors\": 0.9,\n    \"overall\": 0.9\n  },\n  \"__llm_metadata\": {\n    \"logoSelection\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true,\n      \"finalSource\": \"llm\",\n      \"rawLogoSelection\": {\n        \"selectedLogoIndex\": 0,\n        \"selectedLogoReasoning\": \"Selected #0 because it is visible, located in the header, links to the homepage, and matches the brand inferred from the URL and page title ('Invert').\",\n        \"confidence\": 0.95\n      }\n    },\n    \"buttonClassification\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true\n    }\n  }\n}\n```\n"
}