vesta.json

{
  "name": "Vesta",
  "slug": "vesta",
  "domain": "https://www.vesta.com/",
  "sources": [
    "apollo_us_mid",
    "startups_gallery"
  ],
  "branding": {
    "colorScheme": "light",
    "fonts": [
      {
        "family": "Satoshi",
        "role": "body"
      },
      {
        "family": "Bricolage Grotesque",
        "role": "heading"
      },
      {
        "family": "IBM Plex Mono",
        "role": "monospace"
      }
    ],
    "colors": {
      "primary": "#4357FF",
      "secondary": "#CBD0FF",
      "accent": "#4357FF",
      "background": "#FFFFFF",
      "textPrimary": "#000000",
      "link": "#0000EE"
    },
    "typography": {
      "fontFamilies": {
        "primary": "Satoshi",
        "heading": "Bricolage Grotesque"
      },
      "fontStacks": {
        "heading": [
          "Bricolage Grotesque",
          "sans-serif"
        ],
        "body": [
          "Satoshi",
          "sans-serif"
        ],
        "paragraph": [
          "Satoshi",
          "sans-serif"
        ]
      },
      "fontSizes": {
        "h1": "70px",
        "h2": "38px",
        "body": "12.8px"
      }
    },
    "spacing": {
      "baseUnit": 4,
      "borderRadius": "8px"
    },
    "components": {
      "buttonPrimary": {
        "background": "#4357FF",
        "textColor": "#FFFFFF",
        "borderRadius": "8px",
        "borderRadiusCorners": {
          "topLeft": "8px",
          "topRight": "8px",
          "bottomRight": "8px",
          "bottomLeft": "8px"
        },
        "shadow": "rgba(67, 56, 202, 0.6) 0px 0px 0px 0px, rgba(49, 46, 129, 0.4) 0px 1px 3px 0px, rgb(129, 140, 248) 0px 1px 1px 0px inset"
      },
      "buttonSecondary": {
        "background": "#222222",
        "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%2274%22%20height%3D%2222%22%20viewBox%3D%220%200%2074%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-fc-idx%3D%220%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2675_16607)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3Cpath%20d%3D%22M21.3105%2017.9844H18.3428V21.9718H21.3105V17.9844Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M3.85144%2021.9729H0.891602L0.891602%209.36978L10.7762%20-0.0212402L12.9288%202.02785L3.85144%2010.6435L3.85144%2021.9729Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M9.66883%2021.973H6.70898L6.70898%2012.2892L15.0899%204.08496L17.2346%206.13405L9.66883%2013.5393L9.66883%2021.973Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M15.4931%2021.9725H12.5254V15.1685L19.4581%208.26172L21.6107%2010.3108L15.4931%2016.3948V21.9725Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M27.5537%209.125H29.6588L31.9856%2016.285H32.0251L34.336%209.125H36.4491L32.8244%2019.3388H31.1862L27.5537%209.125Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M38.7363%2015.0029C38.7363%2015.8257%2038.9658%2016.4507%2039.4248%2016.87C39.8522%2017.3052%2040.4141%2017.5188%2041.1026%2017.5188C41.9098%2017.5188%2042.63%2017.1865%2043.271%2016.5219L44.7114%2017.7957C43.6984%2018.9112%2042.5113%2019.4571%2041.1501%2019.4492C40.6278%2019.4492%2040.1213%2019.3701%2039.6227%2019.2119C39.3774%2019.1248%2039.132%2019.0141%2038.9025%2018.8638C38.6572%2018.7372%2038.4198%2018.5869%2038.2061%2018.4049C37.7866%2018.0251%2037.4463%2017.4951%2037.1852%2016.8147C36.9003%2016.158%2036.7578%2015.3036%2036.7578%2014.2592C36.7578%2013.2466%2036.8844%2012.4079%2037.1298%2011.7434C37.3751%2011.063%2037.6917%2010.525%2038.0795%2010.1294C38.4752%209.72591%2038.9183%209.44109%2039.4011%209.26704C39.8838%209.09299%2040.3587%208.99805%2040.8335%208.99805C41.9652%209.01387%2042.9228%209.39362%2043.6984%2010.1531C44.4898%2010.9206%2044.8934%2011.9807%2044.9092%2013.3178V15.0108H38.7363V15.0029ZM42.9149%2013.3098C42.8912%2012.5108%2042.6854%2011.9095%2042.2897%2011.4981C41.9098%2011.1104%2041.4192%2010.9126%2040.8177%2010.9126C40.2162%2010.9126%2039.7256%2011.1104%2039.3457%2011.4981C38.9737%2011.9095%2038.7601%2012.5108%2038.7284%2013.3098H42.9149Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M47.2043%2016.214C48.0115%2017.0843%2049.0562%2017.5273%2050.3382%2017.5273C50.9081%2017.5273%2051.3829%2017.4087%2051.7469%2017.1792C52.111%2016.9498%2052.293%2016.6254%2052.293%2016.214C52.293%2015.8501%2052.1822%2015.589%2051.9685%2015.4466C51.7469%2015.2963%2051.4462%2015.2172%2051.0822%2015.2013L49.3252%2015.0431C48.4943%2014.964%2047.8137%2014.6792%2047.2913%2014.1808C46.7532%2013.6981%2046.4841%2013.0178%2046.4683%2012.1475C46.4841%2011.0952%2046.8402%2010.312%2047.5446%209.78984C48.2331%209.26767%2049.1037%209.00659%2050.1562%209.00659C50.6152%209.00659%2051.0268%209.03824%2051.3829%209.09362C51.7469%209.15691%2052.0872%209.25185%2052.4038%209.37052C53.0132%209.62369%2053.5592%209.9718%2054.042%2010.399L52.8074%2011.8864C52.4275%2011.6016%2052.0239%2011.3642%2051.5966%2011.1823C51.1771%2011.0161%2050.6944%2010.937%2050.1483%2010.937C49.5231%2010.937%2049.0878%2011.0557%2048.8425%2011.2851C48.5813%2011.5146%2048.4547%2011.8073%2048.4547%2012.1712C48.4389%2012.4007%2048.5418%2012.5984%2048.7475%2012.7725C48.9375%2012.9624%2049.2778%2013.081%2049.7605%2013.1364L51.4066%2013.263C52.4355%2013.3421%2053.1794%2013.6665%2053.6384%2014.2282C54.0657%2014.782%2054.2794%2015.4782%2054.2794%2016.3248C54.2636%2017.3137%2053.8758%2018.0811%2053.1081%2018.6191C52.3484%2019.1729%2051.3671%2019.4499%2050.18%2019.4657C48.5655%2019.4657%2047.1093%2018.8565%2045.8193%2017.6381L47.2043%2016.214Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M56.3045%206.01562L58.2909%206.01563V9.12487H60.1269L59.7708%2010.6993H58.2909V16.6567C58.2751%2017.1709%2058.5125%2017.4241%2058.9952%2017.4162H59.7392L59.383%2019.3466H58.7024C58.006%2019.3466%2057.4362%2019.1251%2056.993%2018.682C56.534%2018.2548%2056.3045%2017.6377%2056.3045%2016.8307V10.7072H54.9512L55.3073%209.13278H56.3045V6.01562Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M66.8706%2018.4295H66.831C66.649%2018.7777%2066.3641%2019.0308%2065.9763%2019.197C65.5964%2019.371%2065.0662%2019.4501%2064.3935%2019.4501C63.2855%2019.4343%2062.4387%2019.1337%2061.8373%2018.5482C61.2121%2017.9707%2060.8955%2017.2349%2060.8955%2016.333C60.8955%2015.4706%2061.1725%2014.7665%2061.7186%2014.1969C62.2646%2013.6193%2063.0639%2013.3266%2064.1165%2013.3108H66.8706V12.2348C66.8864%2011.3329%2066.2058%2010.8898%2064.8367%2010.9215C64.3381%2010.9215%2063.9503%2010.9769%2063.6654%2011.0797C63.3647%2011.2063%2063.1352%2011.412%2062.9611%2011.7126L61.3941%2010.4784C62.1459%209.45784%2063.2618%208.96732%2064.7338%208.99106C65.9763%208.97523%2066.9735%209.22049%2067.7174%209.71892C68.4613%2010.2332%2068.8412%2011.1114%2068.8491%2012.3535V19.3315H66.8627V18.4295H66.8706ZM66.8706%2015.0038H64.4806C63.3251%2015.0276%2062.7474%2015.439%2062.7632%2016.238C62.7632%2016.5862%2062.9136%2016.8789%2063.2143%2017.1241C63.4992%2017.3931%2063.9741%2017.5276%2064.6388%2017.5276C65.4698%2017.5435%2066.0634%2017.4406%2066.4037%2017.2191C66.7123%2017.0055%2066.8706%2016.507%2066.8706%2015.7396V15.0038Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3CclipPath%20id%3D%22clip0_2675_16607%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3Crect%20width%3D%2273%22%20height%3D%2222%22%20fill%3D%22white%22%20transform%3D%22translate(0.545898)%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E",
      "favicon": "https://cdn.prod.website-files.com/659b0bff5243ed5b2c8a41a3/65dec6af16ba19f9b2f6c228_Favicon%2032x32.png",
      "ogImage": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507c8c_home%20hero%20image.png",
      "logoHref": "/"
    },
    "__llm_logo_reasoning": {
      "selectedIndex": 0,
      "reasoning": "Selected #0 because it is located in the header, links to the homepage, and matches the brand name 'Vesta' from the URL and page title.",
      "confidence": 0.9,
      "source": "llm"
    },
    "__llm_button_reasoning": {
      "primary": {
        "index": 1,
        "text": "Become a partnerBecome a partner",
        "reasoning": "Button #1 uses the vibrant brand color #4357FF, which aligns with the primary brand color and is likely intended to draw attention as the main call-to-action."
      },
      "secondary": {
        "index": 0,
        "text": "See demoSee demo",
        "reasoning": "Button #0 has a different background color (#222222) and serves as a secondary action with less emphasis compared to the primary button."
      },
      "confidence": 0.95
    },
    "personality": {
      "tone": "professional",
      "energy": "medium",
      "targetAudience": "financial and mortgage industry professionals"
    },
    "designSystem": {
      "framework": "custom",
      "componentLibrary": ""
    },
    "confidence": {
      "buttons": 0.95,
      "colors": 0.9,
      "overall": 0.925
    },
    "__llm_metadata": {
      "logoSelection": {
        "llmCalled": true,
        "llmSucceeded": true,
        "finalSource": "llm",
        "rawLogoSelection": {
          "selectedLogoIndex": 0,
          "selectedLogoReasoning": "Selected #0 because it is located in the header, links to the homepage, and matches the brand name 'Vesta' from the URL and page title.",
          "confidence": 0.9
        }
      },
      "buttonClassification": {
        "llmCalled": true,
        "llmSucceeded": true
      }
    }
  },
  "images": [
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/vesta/cbc6d739a1.webp",
      "alt": "Career",
      "source_url": "https://www.vesta.com/careers",
      "image_url": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/691b7ff22cbf4a4295efa3b9_143A9189-2%20(1).jpeg",
      "width": 6341,
      "height": 4171,
      "bytes": 3924694,
      "query": "site:vesta.com",
      "query_suffix": "site:vesta.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/vesta/298a21f336.webp",
      "alt": "Career",
      "source_url": "https://www.vesta.com/careers",
      "image_url": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507c8a_Grid.png",
      "width": 2880,
      "height": 1746,
      "bytes": 188528,
      "query": "site:vesta.com",
      "query_suffix": "site:vesta.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/vesta/4dd4740a50.webp",
      "alt": "Resources",
      "source_url": "https://www.vesta.com/resources",
      "image_url": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507be6/69156dbb868eaa922746114a_4.png",
      "width": 800,
      "height": 600,
      "bytes": 605468,
      "query": "site:vesta.com blog",
      "query_suffix": "site:vesta.com blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/vesta/fba8a4045b.webp",
      "alt": "About",
      "source_url": "https://www.vesta.com/about",
      "image_url": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507ca8_Offsite%20SF.png",
      "width": 1613,
      "height": 907,
      "bytes": 2130678,
      "query": "site:vesta.com",
      "query_suffix": "site:vesta.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/vesta/2415238297.webp",
      "alt": "About",
      "source_url": "https://www.vesta.com/about",
      "image_url": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507ca7_Team%20Photo%20Escape%20P%20500.png",
      "width": 896,
      "height": 1300,
      "bytes": 992763,
      "query": "site:vesta.com",
      "query_suffix": "site:vesta.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/vesta/3e9bba5ffb.webp",
      "alt": "Resources",
      "source_url": "https://www.vesta.com/resources",
      "image_url": "https://cdn.prod.website-files.com/65e8d2580d2875b2bb507be6/68be3e2d58e84cd8b56f1590_pnmc-linkedin.png",
      "width": 2400,
      "height": 1254,
      "bytes": 62739,
      "query": "site:vesta.com blog",
      "query_suffix": "site:vesta.com blog"
    }
  ],
  "font_resources": [
    {
      "family": "Satoshi",
      "google_fonts_url": "https://fonts.google.com/specimen/Satoshi"
    },
    {
      "family": "Bricolage Grotesque",
      "google_fonts_url": "https://fonts.google.com/specimen/Bricolage+Grotesque"
    }
  ],
  "google_fonts_css": "https://fonts.googleapis.com/css2?family=Satoshi&family=Bricolage+Grotesque&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/vesta",
  "agent_instructions": "You are designing or implementing in Vesta's brand identity.\n\n# Brand profile\n- Company: Vesta\n- Source: https://www.vesta.com/\n- Color scheme: light\n\n# Colors\n- primary: #4357FF\n- secondary: #CBD0FF\n- accent: #4357FF\n- background: #FFFFFF\n- textPrimary: #000000\n- link: #0000EE\n\n# Typography\n- primary: Satoshi — https://fonts.google.com/specimen/Satoshi\n- heading: Bricolage Grotesque — https://fonts.google.com/specimen/Bricolage+Grotesque\n\nLoad all fonts at once: \n\n# UI Components\n- buttonPrimary: background=#4357FF, textColor=#FFFFFF, borderRadius=8px, shadow=rgba(67, 56, 202, 0.6) 0px 0px 0px 0px, rgba(49, 46, 129, 0.4) 0px 1px 3px 0px, rgb(129, 140, 248) 0px 1px 1px 0px inset\n- buttonSecondary: background=#222222, textColor=#FFFFFF, borderRadius=8px, shadow=none\n\n# Brand voice\n- Tone: professional\n- Energy: medium\n- Audience: financial and mortgage industry 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/vesta.json",
  "page_markdown": "# Vesta Brand Identity\n\nA complete profile of **Vesta**'s visual system — colors, typography, components, and personality — extracted from https://www.vesta.com/. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/vesta\n- Machine-readable JSON: https://characterquilt.com/branding/vesta.json\n- Per-page llms.txt: https://characterquilt.com/branding/vesta/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #4357FF |\n| Accent | #4357FF |\n| Body Font | Satoshi |\n| Heading Font | Bricolage Grotesque |\n\n## Color Palette\n\n- primary: #4357FF\n- secondary: #CBD0FF\n- accent: #4357FF\n- background: #FFFFFF\n- textPrimary: #000000\n- link: #0000EE\n\n## Typography\n\n- primary: Satoshi — https://fonts.google.com/specimen/Satoshi\n- heading: Bricolage Grotesque — https://fonts.google.com/specimen/Bricolage+Grotesque\n\n## Visual Assets\n\n- Logo: data:image/svg+xml;utf8,%3Csvg%20width%3D%2274%22%20height%3D%2222%22%20viewBox%3D%220%200%2074%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-fc-idx%3D%220%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2675_16607)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3Cpath%20d%3D%22M21.3105%2017.9844H18.3428V21.9718H21.3105V17.9844Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M3.85144%2021.9729H0.891602L0.891602%209.36978L10.7762%20-0.0212402L12.9288%202.02785L3.85144%2010.6435L3.85144%2021.9729Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M9.66883%2021.973H6.70898L6.70898%2012.2892L15.0899%204.08496L17.2346%206.13405L9.66883%2013.5393L9.66883%2021.973Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M15.4931%2021.9725H12.5254V15.1685L19.4581%208.26172L21.6107%2010.3108L15.4931%2016.3948V21.9725Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M27.5537%209.125H29.6588L31.9856%2016.285H32.0251L34.336%209.125H36.4491L32.8244%2019.3388H31.1862L27.5537%209.125Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M38.7363%2015.0029C38.7363%2015.8257%2038.9658%2016.4507%2039.4248%2016.87C39.8522%2017.3052%2040.4141%2017.5188%2041.1026%2017.5188C41.9098%2017.5188%2042.63%2017.1865%2043.271%2016.5219L44.7114%2017.7957C43.6984%2018.9112%2042.5113%2019.4571%2041.1501%2019.4492C40.6278%2019.4492%2040.1213%2019.3701%2039.6227%2019.2119C39.3774%2019.1248%2039.132%2019.0141%2038.9025%2018.8638C38.6572%2018.7372%2038.4198%2018.5869%2038.2061%2018.4049C37.7866%2018.0251%2037.4463%2017.4951%2037.1852%2016.8147C36.9003%2016.158%2036.7578%2015.3036%2036.7578%2014.2592C36.7578%2013.2466%2036.8844%2012.4079%2037.1298%2011.7434C37.3751%2011.063%2037.6917%2010.525%2038.0795%2010.1294C38.4752%209.72591%2038.9183%209.44109%2039.4011%209.26704C39.8838%209.09299%2040.3587%208.99805%2040.8335%208.99805C41.9652%209.01387%2042.9228%209.39362%2043.6984%2010.1531C44.4898%2010.9206%2044.8934%2011.9807%2044.9092%2013.3178V15.0108H38.7363V15.0029ZM42.9149%2013.3098C42.8912%2012.5108%2042.6854%2011.9095%2042.2897%2011.4981C41.9098%2011.1104%2041.4192%2010.9126%2040.8177%2010.9126C40.2162%2010.9126%2039.7256%2011.1104%2039.3457%2011.4981C38.9737%2011.9095%2038.7601%2012.5108%2038.7284%2013.3098H42.9149Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M47.2043%2016.214C48.0115%2017.0843%2049.0562%2017.5273%2050.3382%2017.5273C50.9081%2017.5273%2051.3829%2017.4087%2051.7469%2017.1792C52.111%2016.9498%2052.293%2016.6254%2052.293%2016.214C52.293%2015.8501%2052.1822%2015.589%2051.9685%2015.4466C51.7469%2015.2963%2051.4462%2015.2172%2051.0822%2015.2013L49.3252%2015.0431C48.4943%2014.964%2047.8137%2014.6792%2047.2913%2014.1808C46.7532%2013.6981%2046.4841%2013.0178%2046.4683%2012.1475C46.4841%2011.0952%2046.8402%2010.312%2047.5446%209.78984C48.2331%209.26767%2049.1037%209.00659%2050.1562%209.00659C50.6152%209.00659%2051.0268%209.03824%2051.3829%209.09362C51.7469%209.15691%2052.0872%209.25185%2052.4038%209.37052C53.0132%209.62369%2053.5592%209.9718%2054.042%2010.399L52.8074%2011.8864C52.4275%2011.6016%2052.0239%2011.3642%2051.5966%2011.1823C51.1771%2011.0161%2050.6944%2010.937%2050.1483%2010.937C49.5231%2010.937%2049.0878%2011.0557%2048.8425%2011.2851C48.5813%2011.5146%2048.4547%2011.8073%2048.4547%2012.1712C48.4389%2012.4007%2048.5418%2012.5984%2048.7475%2012.7725C48.9375%2012.9624%2049.2778%2013.081%2049.7605%2013.1364L51.4066%2013.263C52.4355%2013.3421%2053.1794%2013.6665%2053.6384%2014.2282C54.0657%2014.782%2054.2794%2015.4782%2054.2794%2016.3248C54.2636%2017.3137%2053.8758%2018.0811%2053.1081%2018.6191C52.3484%2019.1729%2051.3671%2019.4499%2050.18%2019.4657C48.5655%2019.4657%2047.1093%2018.8565%2045.8193%2017.6381L47.2043%2016.214Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M56.3045%206.01562L58.2909%206.01563V9.12487H60.1269L59.7708%2010.6993H58.2909V16.6567C58.2751%2017.1709%2058.5125%2017.4241%2058.9952%2017.4162H59.7392L59.383%2019.3466H58.7024C58.006%2019.3466%2057.4362%2019.1251%2056.993%2018.682C56.534%2018.2548%2056.3045%2017.6377%2056.3045%2016.8307V10.7072H54.9512L55.3073%209.13278H56.3045V6.01562Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M66.8706%2018.4295H66.831C66.649%2018.7777%2066.3641%2019.0308%2065.9763%2019.197C65.5964%2019.371%2065.0662%2019.4501%2064.3935%2019.4501C63.2855%2019.4343%2062.4387%2019.1337%2061.8373%2018.5482C61.2121%2017.9707%2060.8955%2017.2349%2060.8955%2016.333C60.8955%2015.4706%2061.1725%2014.7665%2061.7186%2014.1969C62.2646%2013.6193%2063.0639%2013.3266%2064.1165%2013.3108H66.8706V12.2348C66.8864%2011.3329%2066.2058%2010.8898%2064.8367%2010.9215C64.3381%2010.9215%2063.9503%2010.9769%2063.6654%2011.0797C63.3647%2011.2063%2063.1352%2011.412%2062.9611%2011.7126L61.3941%2010.4784C62.1459%209.45784%2063.2618%208.96732%2064.7338%208.99106C65.9763%208.97523%2066.9735%209.22049%2067.7174%209.71892C68.4613%2010.2332%2068.8412%2011.1114%2068.8491%2012.3535V19.3315H66.8627V18.4295H66.8706ZM66.8706%2015.0038H64.4806C63.3251%2015.0276%2062.7474%2015.439%2062.7632%2016.238C62.7632%2016.5862%2062.9136%2016.8789%2063.2143%2017.1241C63.4992%2017.3931%2063.9741%2017.5276%2064.6388%2017.5276C65.4698%2017.5435%2066.0634%2017.4406%2066.4037%2017.2191C66.7123%2017.0055%2066.8706%2016.507%2066.8706%2015.7396V15.0038Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3CclipPath%20id%3D%22clip0_2675_16607%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3Crect%20width%3D%2273%22%20height%3D%2222%22%20fill%3D%22white%22%20transform%3D%22translate(0.545898)%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E\n- Favicon: https://cdn.prod.website-files.com/659b0bff5243ed5b2c8a41a3/65dec6af16ba19f9b2f6c228_Favicon%2032x32.png\n- Social card (og:image): https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507c8c_home%20hero%20image.png\n\n## UI Components\n\n- buttonPrimary: background=#4357FF, textColor=#FFFFFF, borderRadius=8px, shadow=rgba(67, 56, 202, 0.6) 0px 0px 0px 0px, rgba(49, 46, 129, 0.4) 0px 1px 3px 0px, rgb(129, 140, 248) 0px 1px 1px 0px inset\n- buttonSecondary: background=#222222, textColor=#FFFFFF, borderRadius=8px, shadow=none\n\n## Brand Personality\n\nTone: professional · Energy: medium · Audience: financial and mortgage industry professionals\n\n## Vesta Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **Career**\n  - Image: https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/691b7ff22cbf4a4295efa3b9_143A9189-2%20(1).jpeg\n  - Source: https://www.vesta.com/careers\n- **Career**\n  - Image: https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507c8a_Grid.png\n  - Source: https://www.vesta.com/careers\n- **Resources**\n  - Image: https://cdn.prod.website-files.com/65e8d2580d2875b2bb507be6/69156dbb868eaa922746114a_4.png\n  - Source: https://www.vesta.com/resources\n- **About**\n  - Image: https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507ca8_Offsite%20SF.png\n  - Source: https://www.vesta.com/about\n- **About**\n  - Image: https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507ca7_Team%20Photo%20Escape%20P%20500.png\n  - Source: https://www.vesta.com/about\n- **Resources**\n  - Image: https://cdn.prod.website-files.com/65e8d2580d2875b2bb507be6/68be3e2d58e84cd8b56f1590_pnmc-linkedin.png\n  - Source: https://www.vesta.com/resources\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\": \"Satoshi\",\n      \"role\": \"body\"\n    },\n    {\n      \"family\": \"Bricolage Grotesque\",\n      \"role\": \"heading\"\n    },\n    {\n      \"family\": \"IBM Plex Mono\",\n      \"role\": \"monospace\"\n    }\n  ],\n  \"colors\": {\n    \"primary\": \"#4357FF\",\n    \"secondary\": \"#CBD0FF\",\n    \"accent\": \"#4357FF\",\n    \"background\": \"#FFFFFF\",\n    \"textPrimary\": \"#000000\",\n    \"link\": \"#0000EE\"\n  },\n  \"typography\": {\n    \"fontFamilies\": {\n      \"primary\": \"Satoshi\",\n      \"heading\": \"Bricolage Grotesque\"\n    },\n    \"fontStacks\": {\n      \"heading\": [\n        \"Bricolage Grotesque\",\n        \"sans-serif\"\n      ],\n      \"body\": [\n        \"Satoshi\",\n        \"sans-serif\"\n      ],\n      \"paragraph\": [\n        \"Satoshi\",\n        \"sans-serif\"\n      ]\n    },\n    \"fontSizes\": {\n      \"h1\": \"70px\",\n      \"h2\": \"38px\",\n      \"body\": \"12.8px\"\n    }\n  },\n  \"spacing\": {\n    \"baseUnit\": 4,\n    \"borderRadius\": \"8px\"\n  },\n  \"components\": {\n    \"buttonPrimary\": {\n      \"background\": \"#4357FF\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderRadius\": \"8px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"8px\",\n        \"topRight\": \"8px\",\n        \"bottomRight\": \"8px\",\n        \"bottomLeft\": \"8px\"\n      },\n      \"shadow\": \"rgba(67, 56, 202, 0.6) 0px 0px 0px 0px, rgba(49, 46, 129, 0.4) 0px 1px 3px 0px, rgb(129, 140, 248) 0px 1px 1px 0px inset\"\n    },\n    \"buttonSecondary\": {\n      \"background\": \"#222222\",\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%2274%22%20height%3D%2222%22%20viewBox%3D%220%200%2074%2022%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20data-fc-idx%3D%220%22%3E%0A%3Cg%20clip-path%3D%22url(%23clip0_2675_16607)%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3Cpath%20d%3D%22M21.3105%2017.9844H18.3428V21.9718H21.3105V17.9844Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M3.85144%2021.9729H0.891602L0.891602%209.36978L10.7762%20-0.0212402L12.9288%202.02785L3.85144%2010.6435L3.85144%2021.9729Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M9.66883%2021.973H6.70898L6.70898%2012.2892L15.0899%204.08496L17.2346%206.13405L9.66883%2013.5393L9.66883%2021.973Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M15.4931%2021.9725H12.5254V15.1685L19.4581%208.26172L21.6107%2010.3108L15.4931%2016.3948V21.9725Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M27.5537%209.125H29.6588L31.9856%2016.285H32.0251L34.336%209.125H36.4491L32.8244%2019.3388H31.1862L27.5537%209.125Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M38.7363%2015.0029C38.7363%2015.8257%2038.9658%2016.4507%2039.4248%2016.87C39.8522%2017.3052%2040.4141%2017.5188%2041.1026%2017.5188C41.9098%2017.5188%2042.63%2017.1865%2043.271%2016.5219L44.7114%2017.7957C43.6984%2018.9112%2042.5113%2019.4571%2041.1501%2019.4492C40.6278%2019.4492%2040.1213%2019.3701%2039.6227%2019.2119C39.3774%2019.1248%2039.132%2019.0141%2038.9025%2018.8638C38.6572%2018.7372%2038.4198%2018.5869%2038.2061%2018.4049C37.7866%2018.0251%2037.4463%2017.4951%2037.1852%2016.8147C36.9003%2016.158%2036.7578%2015.3036%2036.7578%2014.2592C36.7578%2013.2466%2036.8844%2012.4079%2037.1298%2011.7434C37.3751%2011.063%2037.6917%2010.525%2038.0795%2010.1294C38.4752%209.72591%2038.9183%209.44109%2039.4011%209.26704C39.8838%209.09299%2040.3587%208.99805%2040.8335%208.99805C41.9652%209.01387%2042.9228%209.39362%2043.6984%2010.1531C44.4898%2010.9206%2044.8934%2011.9807%2044.9092%2013.3178V15.0108H38.7363V15.0029ZM42.9149%2013.3098C42.8912%2012.5108%2042.6854%2011.9095%2042.2897%2011.4981C41.9098%2011.1104%2041.4192%2010.9126%2040.8177%2010.9126C40.2162%2010.9126%2039.7256%2011.1104%2039.3457%2011.4981C38.9737%2011.9095%2038.7601%2012.5108%2038.7284%2013.3098H42.9149Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M47.2043%2016.214C48.0115%2017.0843%2049.0562%2017.5273%2050.3382%2017.5273C50.9081%2017.5273%2051.3829%2017.4087%2051.7469%2017.1792C52.111%2016.9498%2052.293%2016.6254%2052.293%2016.214C52.293%2015.8501%2052.1822%2015.589%2051.9685%2015.4466C51.7469%2015.2963%2051.4462%2015.2172%2051.0822%2015.2013L49.3252%2015.0431C48.4943%2014.964%2047.8137%2014.6792%2047.2913%2014.1808C46.7532%2013.6981%2046.4841%2013.0178%2046.4683%2012.1475C46.4841%2011.0952%2046.8402%2010.312%2047.5446%209.78984C48.2331%209.26767%2049.1037%209.00659%2050.1562%209.00659C50.6152%209.00659%2051.0268%209.03824%2051.3829%209.09362C51.7469%209.15691%2052.0872%209.25185%2052.4038%209.37052C53.0132%209.62369%2053.5592%209.9718%2054.042%2010.399L52.8074%2011.8864C52.4275%2011.6016%2052.0239%2011.3642%2051.5966%2011.1823C51.1771%2011.0161%2050.6944%2010.937%2050.1483%2010.937C49.5231%2010.937%2049.0878%2011.0557%2048.8425%2011.2851C48.5813%2011.5146%2048.4547%2011.8073%2048.4547%2012.1712C48.4389%2012.4007%2048.5418%2012.5984%2048.7475%2012.7725C48.9375%2012.9624%2049.2778%2013.081%2049.7605%2013.1364L51.4066%2013.263C52.4355%2013.3421%2053.1794%2013.6665%2053.6384%2014.2282C54.0657%2014.782%2054.2794%2015.4782%2054.2794%2016.3248C54.2636%2017.3137%2053.8758%2018.0811%2053.1081%2018.6191C52.3484%2019.1729%2051.3671%2019.4499%2050.18%2019.4657C48.5655%2019.4657%2047.1093%2018.8565%2045.8193%2017.6381L47.2043%2016.214Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M56.3045%206.01562L58.2909%206.01563V9.12487H60.1269L59.7708%2010.6993H58.2909V16.6567C58.2751%2017.1709%2058.5125%2017.4241%2058.9952%2017.4162H59.7392L59.383%2019.3466H58.7024C58.006%2019.3466%2057.4362%2019.1251%2056.993%2018.682C56.534%2018.2548%2056.3045%2017.6377%2056.3045%2016.8307V10.7072H54.9512L55.3073%209.13278H56.3045V6.01562Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3Cpath%20d%3D%22M66.8706%2018.4295H66.831C66.649%2018.7777%2066.3641%2019.0308%2065.9763%2019.197C65.5964%2019.371%2065.0662%2019.4501%2064.3935%2019.4501C63.2855%2019.4343%2062.4387%2019.1337%2061.8373%2018.5482C61.2121%2017.9707%2060.8955%2017.2349%2060.8955%2016.333C60.8955%2015.4706%2061.1725%2014.7665%2061.7186%2014.1969C62.2646%2013.6193%2063.0639%2013.3266%2064.1165%2013.3108H66.8706V12.2348C66.8864%2011.3329%2066.2058%2010.8898%2064.8367%2010.9215C64.3381%2010.9215%2063.9503%2010.9769%2063.6654%2011.0797C63.3647%2011.2063%2063.1352%2011.412%2062.9611%2011.7126L61.3941%2010.4784C62.1459%209.45784%2063.2618%208.96732%2064.7338%208.99106C65.9763%208.97523%2066.9735%209.22049%2067.7174%209.71892C68.4613%2010.2332%2068.8412%2011.1114%2068.8491%2012.3535V19.3315H66.8627V18.4295H66.8706ZM66.8706%2015.0038H64.4806C63.3251%2015.0276%2062.7474%2015.439%2062.7632%2016.238C62.7632%2016.5862%2062.9136%2016.8789%2063.2143%2017.1241C63.4992%2017.3931%2063.9741%2017.5276%2064.6388%2017.5276C65.4698%2017.5435%2066.0634%2017.4406%2066.4037%2017.2191C66.7123%2017.0055%2066.8706%2016.507%2066.8706%2015.7396V15.0038Z%22%20fill%3D%22black%22%20style%3D%22fill%3A%20rgb(0%2C%200%2C%200)%20!important%3B%22%2F%3E%0A%3C%2Fg%3E%0A%3Cdefs%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3CclipPath%20id%3D%22clip0_2675_16607%22%20style%3D%22fill%3A%20none%20!important%3B%22%3E%0A%3Crect%20width%3D%2273%22%20height%3D%2222%22%20fill%3D%22white%22%20transform%3D%22translate(0.545898)%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%2F%3E%0A%3C%2FclipPath%3E%0A%3C%2Fdefs%3E%0A%3C%2Fsvg%3E\",\n    \"favicon\": \"https://cdn.prod.website-files.com/659b0bff5243ed5b2c8a41a3/65dec6af16ba19f9b2f6c228_Favicon%2032x32.png\",\n    \"ogImage\": \"https://cdn.prod.website-files.com/65e8d2580d2875b2bb507bc7/65e8d2580d2875b2bb507c8c_home%20hero%20image.png\",\n    \"logoHref\": \"/\"\n  },\n  \"__llm_logo_reasoning\": {\n    \"selectedIndex\": 0,\n    \"reasoning\": \"Selected #0 because it is located in the header, links to the homepage, and matches the brand name 'Vesta' from the URL and page title.\",\n    \"confidence\": 0.9,\n    \"source\": \"llm\"\n  },\n  \"__llm_button_reasoning\": {\n    \"primary\": {\n      \"index\": 1,\n      \"text\": \"Become a partnerBecome a partner\",\n      \"reasoning\": \"Button #1 uses the vibrant brand color #4357FF, which aligns with the primary brand color and is likely intended to draw attention as the main call-to-action.\"\n    },\n    \"secondary\": {\n      \"index\": 0,\n      \"text\": \"See demoSee demo\",\n      \"reasoning\": \"Button #0 has a different background color (#222222) and serves as a secondary action with less emphasis compared to the primary button.\"\n    },\n    \"confidence\": 0.95\n  },\n  \"personality\": {\n    \"tone\": \"professional\",\n    \"energy\": \"medium\",\n    \"targetAudience\": \"financial and mortgage industry professionals\"\n  },\n  \"designSystem\": {\n    \"framework\": \"custom\",\n    \"componentLibrary\": \"\"\n  },\n  \"confidence\": {\n    \"buttons\": 0.95,\n    \"colors\": 0.9,\n    \"overall\": 0.925\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 located in the header, links to the homepage, and matches the brand name 'Vesta' from the URL and page title.\",\n        \"confidence\": 0.9\n      }\n    },\n    \"buttonClassification\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true\n    }\n  }\n}\n```\n"
}