{
  "name": "FightCamp",
  "slug": "fightcamp",
  "domain": "http://joinfightcamp.com",
  "sources": [
    "yc"
  ],
  "branding": {
    "colorScheme": "light",
    "fonts": [
      {
        "family": "Trebuchet MS",
        "role": "body"
      },
      {
        "family": "Graphik-Regular",
        "role": "body"
      },
      {
        "family": "Graphik-Medium",
        "role": "heading"
      },
      {
        "family": "New-Grotesk-Square-FOUR",
        "role": "display"
      }
    ],
    "colors": {
      "primary": "#B12626",
      "secondary": "#003366",
      "accent": "#B12626",
      "background": "#FFF9F9",
      "textPrimary": "#000000",
      "link": "#0E1C3C"
    },
    "typography": {
      "fontFamilies": {
        "primary": "Trebuchet MS",
        "heading": "Graphik-Medium"
      },
      "fontStacks": {
        "heading": [
          "New-Grotesk-Square-FOUR",
          "impact",
          "charcoal",
          "sans-serif"
        ],
        "body": [
          "Graphik-Regular",
          "Trebuchet MS",
          "helvetica",
          "sans-serif"
        ],
        "paragraph": [
          "Graphik-Medium",
          "Trebuchet MS",
          "helvetica",
          "sans-serif"
        ]
      },
      "fontSizes": {
        "h1": "72px",
        "h2": "32px",
        "body": "14px"
      }
    },
    "spacing": {
      "baseUnit": 4,
      "borderRadius": "8px"
    },
    "components": {
      "input": {
        "background": "transparent",
        "textColor": "#FFFFFF",
        "borderColor": "#75777D",
        "borderRadius": "8px",
        "borderRadiusCorners": {
          "topLeft": "8px",
          "topRight": "8px",
          "bottomRight": "8px",
          "bottomLeft": "8px"
        },
        "shadow": "none"
      },
      "buttonPrimary": {
        "background": "#B12626",
        "textColor": "#FFFFFF",
        "borderColor": "#B12626",
        "borderRadius": "16px",
        "borderRadiusCorners": {
          "topLeft": "16px",
          "topRight": "16px",
          "bottomRight": "16px",
          "bottomLeft": "16px"
        },
        "shadow": "none"
      },
      "buttonSecondary": {
        "background": "#0E1C3C",
        "textColor": "#FFFFFF",
        "borderColor": "#0E1C3C",
        "borderRadius": "16px",
        "borderRadiusCorners": {
          "topLeft": "16px",
          "topRight": "16px",
          "bottomRight": "16px",
          "bottomLeft": "16px"
        },
        "shadow": "none"
      }
    },
    "images": {
      "logo": "data:image/svg+xml;utf8,%3Csvg%20class%3D%22svg-inline--fa%20fa-logo%20the-navigation-bar__logo-icon%20the-navigation-bar__logo-icon--theme-dark%22%20style%3D%22%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20data-prefix%3D%22fc%22%20data-icon%3D%22logo%22%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2074%2067%22%20data-v-948ffc51%3D%22%22%20data-fc-idx%3D%220%22%3E%3Cpath%20class%3D%22%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%20fill%3D%22currentColor%22%20d%3D%22M15.7562%2027.9739H12.0364V6.29038H21.3207V9.52628H15.7562V15.6654H20.0808V18.9013H15.7562V27.9739Z%26%2310%3BM18.266%2052.6212H21.8043V55.4337C21.8695%2056.137%2021.7789%2056.8461%2021.5391%2057.5105C21.2992%2058.1749%2020.9159%2058.7783%2020.4164%2059.2778C19.917%2059.7773%2019.3136%2060.1606%2018.6492%2060.4004C17.9849%2060.6403%2017.2758%2060.7308%2016.5725%2060.6656C15.8608%2060.7364%2015.1422%2060.6525%2014.466%2060.4195C13.7899%2060.1866%2013.172%2059.8102%2012.6549%2059.3161C12.1378%2058.822%2011.7339%2058.2219%2011.4704%2057.557C11.207%2056.8921%2011.0904%2056.1781%2011.1288%2055.4639V43.7603C11.0904%2043.0461%2011.207%2042.3321%2011.4704%2041.6672C11.7339%2041.0023%2012.1378%2040.4022%2012.6549%2039.9081C13.172%2039.414%2013.7899%2039.0376%2014.466%2038.8047C15.1422%2038.5718%2015.8608%2038.4878%2016.5725%2038.5586C17.2758%2038.4934%2017.9849%2038.584%2018.6492%2038.8239C19.3136%2039.0638%2019.917%2039.447%2020.4164%2039.9465C20.9159%2040.446%2021.2992%2041.0493%2021.5391%2041.7137C21.7789%2042.3781%2021.8695%2043.0872%2021.8043%2043.7905V46.1796H18.266V43.7603C18.266%2042.732%2017.8124%2041.8247%2016.5725%2041.8247C15.3326%2041.8247%2014.8789%2042.732%2014.8789%2043.7603V55.6152C14.8789%2056.6132%2015.3326%2057.5506%2016.5725%2057.5506C17.8124%2057.5506%2018.266%2056.6132%2018.266%2055.6152V52.6212Z%26%2310%3BM26.6434%206.29038H22.9236V27.9739H26.6434V6.29038Z%26%2310%3BM45.5145%2018.8711V27.9739H41.7947V6.29038H45.5145V15.6654H48.8411V6.29038H52.5608V27.9739H48.8411V18.8711H45.5145Z%26%2310%3BM60.9983%2027.9739H57.3088V9.52628H53.9822V6.29038H64.3552V9.52628H60.9983V27.9739Z%26%2310%3BM74.3047%200H0V1.54235H74.3047V0Z%26%2310%3BM39.6474%2023.0142C39.7174%2023.72%2039.6302%2024.4324%2039.3925%2025.1006C39.1548%2025.7687%2038.7723%2026.376%2038.2723%2026.8789C37.7722%2027.3819%2037.1671%2027.7679%2036.5003%2028.0095C35.8335%2028.2511%2035.1215%2028.3422%2034.4154%2028.2763C33.6998%2028.3471%2032.9773%2028.2624%2032.2975%2028.0279C31.6177%2027.7934%2030.9965%2027.4147%2030.4766%2026.9178C29.9567%2026.4209%2029.5504%2025.8176%2029.2855%2025.149C29.0205%2024.4805%2028.9032%2023.7625%2028.9416%2023.0444V11.2198C28.9078%2010.5041%2029.0285%209.78959%2029.2955%209.12475C29.5624%208.4599%2029.9692%207.86039%2030.4886%207.36687C31.0079%206.87335%2031.6275%206.49745%2032.3051%206.26473C32.9827%206.03201%2033.7024%205.94785%2034.4154%206.01813C35.1188%205.95291%2035.828%206.0435%2036.4923%206.28337C37.1567%206.52324%2037.7601%206.90653%2038.2595%207.406C38.759%207.90547%2039.1423%208.50881%2039.3822%209.1732C39.622%209.83758%2039.7126%2010.5467%2039.6474%2011.25V13.8508H36.1695V11.2198C36.1695%2010.1915%2035.7159%209.28432%2034.476%209.28432C33.236%209.28432%2032.7521%2010.1915%2032.7521%2011.2198V23.0444C32.7521%2024.0726%2033.236%2025.0101%2034.476%2025.0101C35.7159%2025.0101%2036.1695%2024.0726%2036.1695%2023.0444V18.871H34.3248V15.8468H39.7078L39.6474%2023.0142Z%26%2310%3BM57.3389%2060.3631H53.6192V38.6796H58.6998C59.4589%2038.6365%2060.2181%2038.7584%2060.9255%2039.0369C61.6329%2039.3154%2062.2716%2039.7438%2062.7976%2040.2928C63.3235%2040.8417%2063.7243%2041.4981%2063.9723%2042.2168C64.2203%2042.9354%2064.3097%2043.6994%2064.2342%2044.4559V45.9377C64.3091%2046.6955%2064.2197%2047.4605%2063.9719%2048.1806C63.7241%2048.9006%2063.3237%2049.5588%2062.7983%2050.11C62.2729%2050.6612%2061.6349%2051.0925%2060.9276%2051.3746C60.2202%2051.6566%2059.4604%2051.7827%2058.6998%2051.7442H57.3389V60.3631ZM57.3389%2048.5083H58.4578C59.7885%2048.5083%2060.5446%2047.5405%2060.5446%2045.9377V44.486C60.5446%2042.8832%2059.7885%2041.9155%2058.4578%2041.9155H57.3389V48.5083Z%26%2310%3BM34.3551%2060.3631H30.605L30.0304%2056.4317H26.7644L26.1898%2060.3631H22.6816L26.0687%2038.6796H30.9681L34.3551%2060.3631ZM28.3067%2044.3046L27.0364%2053.6797H29.5466L28.3671%2044.3046H28.3067Z%26%2310%3BM39.4356%2060.3934H35.8971V38.6796H41.0383L43.4576%2052.5304L45.8771%2038.6796H51.0181V60.3934H47.4799V54.345C47.4799%2051.3208%2047.7218%2047.4498%2047.873%2044.3953L45.0605%2060.5144H42.0363L39.2541%2044.3953C39.2541%2047.4195%2039.5565%2051.0788%2039.5565%2054.345L39.4356%2060.3934Z%26%2310%3BM74.3047%2032.5707H0V34.1131H74.3047V32.5707Z%26%2310%3BM74.3047%2064.9599H0V66.5023H74.3047V64.9599Z%22%2F%3E%3C%2Fsvg%3E",
      "favicon": "https://joinfightcamp.com/favicon.ico",
      "ogImage": "https://cdn.joinfightcamp.com/images/og/fc-og-2025.jpg",
      "logoHref": "/"
    },
    "__llm_logo_reasoning": {
      "selectedIndex": 0,
      "reasoning": "Selected #0 because it is visible, located in the header, and links to the homepage, which are strong indicators of the main brand logo.",
      "confidence": 0.9,
      "source": "llm"
    },
    "__llm_button_reasoning": {
      "primary": {
        "index": 2,
        "text": "Start Training",
        "reasoning": "Button #2 ('Start Training') is the primary CTA due to its action-oriented text and vibrant brand color (#B12626), which aligns with the site's focus on initiating workouts."
      },
      "secondary": {
        "index": 4,
        "text": "Boxing",
        "reasoning": "Button #4 ('Boxing') is selected as secondary because it has a different background color (#0E1C3C) and serves as a category selector, complementing the primary action."
      },
      "confidence": 0.95
    },
    "personality": {
      "tone": "bold",
      "energy": "high",
      "targetAudience": "fitness enthusiasts"
    },
    "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 visible, located in the header, and links to the homepage, which are strong indicators of the main brand logo.",
          "confidence": 0.9
        }
      },
      "buttonClassification": {
        "llmCalled": true,
        "llmSucceeded": true
      }
    }
  },
  "images": [
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/fightcamp/0e83e5332d.webp",
      "alt": "FightCamp | The Results",
      "source_url": "https://joinfightcamp.com/the-results?srsltid=AfmBOorpPW6SRmK6F4PJZ3FKuD2gkrttzTaL3dIZsh0Ddt91QIGvliQw",
      "image_url": "https://a.storyblok.com/f/152150/3883x5824/5ee7ff6785/better_balance_posture_v2.jpg/m/3072x0/filters:format(jpeg)",
      "width": 3072,
      "height": 4608,
      "bytes": 1725406,
      "query": "site:joinfightcamp.com",
      "query_suffix": "site:joinfightcamp.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/fightcamp/c0909bfbdd.webp",
      "alt": "FightCamp | Blog",
      "source_url": "https://blog.joinfightcamp.com/",
      "image_url": "https://img2.storyblok.com/300x272/filters:focal(null):format(png)/f/115220/600x544/7fb4282d13/wearfightcamp_20220307_blog_ad_3.png",
      "width": 300,
      "height": 272,
      "bytes": 59979,
      "query": "site:joinfightcamp.com blog",
      "query_suffix": "site:joinfightcamp.com blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/fightcamp/39b967b13b.webp",
      "alt": "Partner Offer | FightCamp",
      "source_url": "https://joinfightcamp.com/partner-offer/?srsltid=AfmBOop_t83pGZ8-LhomFu2YX0XjvjxMV5rNLeHvKwHlxfk_e59ss12N",
      "image_url": "https://a.storyblok.com/f/152150/8256x6192/359f7a99cb/james-punch.jpg/m/3072x3072/filters:format(jpeg)",
      "width": 3072,
      "height": 3072,
      "bytes": 757081,
      "query": "site:joinfightcamp.com",
      "query_suffix": "site:joinfightcamp.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/fightcamp/3bfbb7cf6c.webp",
      "alt": "FightCamp | Blog",
      "source_url": "https://blog.joinfightcamp.com/",
      "image_url": "https://img2.storyblok.com/500x208/filters:focal():format(jpeg)/f/115220/1200x500/f5e51fb29e/blog-header-1.jpg",
      "width": 500,
      "height": 208,
      "bytes": 34658,
      "query": "site:joinfightcamp.com blog",
      "query_suffix": "site:joinfightcamp.com blog"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/fightcamp/4e4553fa93.webp",
      "alt": "10 Minute Tabata HIIT Workout - No Equipment Needed",
      "source_url": "https://legacy-blog.joinfightcamp.com/blogs/boxing-workouts-drills/10-minute-tabata-hiit-workout-no-equipment-needed",
      "image_url": "https://cdn.shopify.com/s/files/1/2510/5836/files/10_Minute_Tabata_Workout.jpg?v=1624903060",
      "width": 4800,
      "height": 2700,
      "bytes": 575401,
      "query": "site:joinfightcamp.com",
      "query_suffix": "site:joinfightcamp.com"
    },
    {
      "file": "https://e4p9rs3sldnmtboz.public.blob.vercel-storage.com/fightcamp/bab49278b5.webp",
      "alt": "FightCamp | Blog",
      "source_url": "https://blog.joinfightcamp.com/",
      "image_url": "https://img2.storyblok.com/500x208/filters:focal():format(png)/f/115220/1200x500/3cf6520bc6/blog-post-hero_-strike-output.png",
      "width": 500,
      "height": 208,
      "bytes": 153136,
      "query": "site:joinfightcamp.com blog",
      "query_suffix": "site:joinfightcamp.com blog"
    }
  ],
  "font_resources": [
    {
      "family": "Trebuchet MS",
      "google_fonts_url": "https://fonts.google.com/specimen/Trebuchet+MS"
    },
    {
      "family": "Graphik-Medium",
      "google_fonts_url": "https://fonts.google.com/specimen/Graphik-Medium"
    }
  ],
  "google_fonts_css": "https://fonts.googleapis.com/css2?family=Trebuchet+MS&family=Graphik-Medium&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/fightcamp",
  "agent_instructions": "You are designing or implementing in FightCamp's brand identity.\n\n# Brand profile\n- Company: FightCamp\n- Source: http://joinfightcamp.com\n- Color scheme: light\n\n# Colors\n- primary: #B12626\n- secondary: #003366\n- accent: #B12626\n- background: #FFF9F9\n- textPrimary: #000000\n- link: #0E1C3C\n\n# Typography\n- primary: Trebuchet MS — https://fonts.google.com/specimen/Trebuchet+MS\n- heading: Graphik-Medium — https://fonts.google.com/specimen/Graphik-Medium\n\nLoad all fonts at once: <link rel=\"stylesheet\" href=\"https://fonts.googleapis.com/css2?family=Trebuchet+MS&family=Graphik-Medium&display=swap\">\n\n# UI Components\n- input: background=transparent, textColor=#FFFFFF, borderColor=#75777D, borderRadius=8px, shadow=none\n- buttonPrimary: background=#B12626, textColor=#FFFFFF, borderColor=#B12626, borderRadius=16px, shadow=none\n- buttonSecondary: background=#0E1C3C, textColor=#FFFFFF, borderColor=#0E1C3C, borderRadius=16px, shadow=none\n\n# Brand voice\n- Tone: bold\n- Energy: high\n- Audience: fitness enthusiasts\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/fightcamp.json",
  "page_markdown": "# FightCamp Brand Identity\n\nA complete profile of **FightCamp**'s visual system — colors, typography, components, and personality — extracted from http://joinfightcamp.com. Built for designers, agents, and AI tools.\n\n- Page: https://characterquilt.com/branding/fightcamp\n- Machine-readable JSON: https://characterquilt.com/branding/fightcamp.json\n- Per-page llms.txt: https://characterquilt.com/branding/fightcamp/llms.txt\n\n## Quick Facts\n\n| Field | Value |\n|---|---|\n| Primary | #B12626 |\n| Accent | #B12626 |\n| Body Font | Trebuchet MS |\n| Heading Font | Graphik-Medium |\n\n## Color Palette\n\n- primary: #B12626\n- secondary: #003366\n- accent: #B12626\n- background: #FFF9F9\n- textPrimary: #000000\n- link: #0E1C3C\n\n## Typography\n\n- primary: Trebuchet MS — https://fonts.google.com/specimen/Trebuchet+MS\n- heading: Graphik-Medium — https://fonts.google.com/specimen/Graphik-Medium\n\n## Visual Assets\n\n- Logo: data:image/svg+xml;utf8,%3Csvg%20class%3D%22svg-inline--fa%20fa-logo%20the-navigation-bar__logo-icon%20the-navigation-bar__logo-icon--theme-dark%22%20style%3D%22%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20data-prefix%3D%22fc%22%20data-icon%3D%22logo%22%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2074%2067%22%20data-v-948ffc51%3D%22%22%20data-fc-idx%3D%220%22%3E%3Cpath%20class%3D%22%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%20fill%3D%22currentColor%22%20d%3D%22M15.7562%2027.9739H12.0364V6.29038H21.3207V9.52628H15.7562V15.6654H20.0808V18.9013H15.7562V27.9739Z%26%2310%3BM18.266%2052.6212H21.8043V55.4337C21.8695%2056.137%2021.7789%2056.8461%2021.5391%2057.5105C21.2992%2058.1749%2020.9159%2058.7783%2020.4164%2059.2778C19.917%2059.7773%2019.3136%2060.1606%2018.6492%2060.4004C17.9849%2060.6403%2017.2758%2060.7308%2016.5725%2060.6656C15.8608%2060.7364%2015.1422%2060.6525%2014.466%2060.4195C13.7899%2060.1866%2013.172%2059.8102%2012.6549%2059.3161C12.1378%2058.822%2011.7339%2058.2219%2011.4704%2057.557C11.207%2056.8921%2011.0904%2056.1781%2011.1288%2055.4639V43.7603C11.0904%2043.0461%2011.207%2042.3321%2011.4704%2041.6672C11.7339%2041.0023%2012.1378%2040.4022%2012.6549%2039.9081C13.172%2039.414%2013.7899%2039.0376%2014.466%2038.8047C15.1422%2038.5718%2015.8608%2038.4878%2016.5725%2038.5586C17.2758%2038.4934%2017.9849%2038.584%2018.6492%2038.8239C19.3136%2039.0638%2019.917%2039.447%2020.4164%2039.9465C20.9159%2040.446%2021.2992%2041.0493%2021.5391%2041.7137C21.7789%2042.3781%2021.8695%2043.0872%2021.8043%2043.7905V46.1796H18.266V43.7603C18.266%2042.732%2017.8124%2041.8247%2016.5725%2041.8247C15.3326%2041.8247%2014.8789%2042.732%2014.8789%2043.7603V55.6152C14.8789%2056.6132%2015.3326%2057.5506%2016.5725%2057.5506C17.8124%2057.5506%2018.266%2056.6132%2018.266%2055.6152V52.6212Z%26%2310%3BM26.6434%206.29038H22.9236V27.9739H26.6434V6.29038Z%26%2310%3BM45.5145%2018.8711V27.9739H41.7947V6.29038H45.5145V15.6654H48.8411V6.29038H52.5608V27.9739H48.8411V18.8711H45.5145Z%26%2310%3BM60.9983%2027.9739H57.3088V9.52628H53.9822V6.29038H64.3552V9.52628H60.9983V27.9739Z%26%2310%3BM74.3047%200H0V1.54235H74.3047V0Z%26%2310%3BM39.6474%2023.0142C39.7174%2023.72%2039.6302%2024.4324%2039.3925%2025.1006C39.1548%2025.7687%2038.7723%2026.376%2038.2723%2026.8789C37.7722%2027.3819%2037.1671%2027.7679%2036.5003%2028.0095C35.8335%2028.2511%2035.1215%2028.3422%2034.4154%2028.2763C33.6998%2028.3471%2032.9773%2028.2624%2032.2975%2028.0279C31.6177%2027.7934%2030.9965%2027.4147%2030.4766%2026.9178C29.9567%2026.4209%2029.5504%2025.8176%2029.2855%2025.149C29.0205%2024.4805%2028.9032%2023.7625%2028.9416%2023.0444V11.2198C28.9078%2010.5041%2029.0285%209.78959%2029.2955%209.12475C29.5624%208.4599%2029.9692%207.86039%2030.4886%207.36687C31.0079%206.87335%2031.6275%206.49745%2032.3051%206.26473C32.9827%206.03201%2033.7024%205.94785%2034.4154%206.01813C35.1188%205.95291%2035.828%206.0435%2036.4923%206.28337C37.1567%206.52324%2037.7601%206.90653%2038.2595%207.406C38.759%207.90547%2039.1423%208.50881%2039.3822%209.1732C39.622%209.83758%2039.7126%2010.5467%2039.6474%2011.25V13.8508H36.1695V11.2198C36.1695%2010.1915%2035.7159%209.28432%2034.476%209.28432C33.236%209.28432%2032.7521%2010.1915%2032.7521%2011.2198V23.0444C32.7521%2024.0726%2033.236%2025.0101%2034.476%2025.0101C35.7159%2025.0101%2036.1695%2024.0726%2036.1695%2023.0444V18.871H34.3248V15.8468H39.7078L39.6474%2023.0142Z%26%2310%3BM57.3389%2060.3631H53.6192V38.6796H58.6998C59.4589%2038.6365%2060.2181%2038.7584%2060.9255%2039.0369C61.6329%2039.3154%2062.2716%2039.7438%2062.7976%2040.2928C63.3235%2040.8417%2063.7243%2041.4981%2063.9723%2042.2168C64.2203%2042.9354%2064.3097%2043.6994%2064.2342%2044.4559V45.9377C64.3091%2046.6955%2064.2197%2047.4605%2063.9719%2048.1806C63.7241%2048.9006%2063.3237%2049.5588%2062.7983%2050.11C62.2729%2050.6612%2061.6349%2051.0925%2060.9276%2051.3746C60.2202%2051.6566%2059.4604%2051.7827%2058.6998%2051.7442H57.3389V60.3631ZM57.3389%2048.5083H58.4578C59.7885%2048.5083%2060.5446%2047.5405%2060.5446%2045.9377V44.486C60.5446%2042.8832%2059.7885%2041.9155%2058.4578%2041.9155H57.3389V48.5083Z%26%2310%3BM34.3551%2060.3631H30.605L30.0304%2056.4317H26.7644L26.1898%2060.3631H22.6816L26.0687%2038.6796H30.9681L34.3551%2060.3631ZM28.3067%2044.3046L27.0364%2053.6797H29.5466L28.3671%2044.3046H28.3067Z%26%2310%3BM39.4356%2060.3934H35.8971V38.6796H41.0383L43.4576%2052.5304L45.8771%2038.6796H51.0181V60.3934H47.4799V54.345C47.4799%2051.3208%2047.7218%2047.4498%2047.873%2044.3953L45.0605%2060.5144H42.0363L39.2541%2044.3953C39.2541%2047.4195%2039.5565%2051.0788%2039.5565%2054.345L39.4356%2060.3934Z%26%2310%3BM74.3047%2032.5707H0V34.1131H74.3047V32.5707Z%26%2310%3BM74.3047%2064.9599H0V66.5023H74.3047V64.9599Z%22%2F%3E%3C%2Fsvg%3E\n- Favicon: https://joinfightcamp.com/favicon.ico\n- Social card (og:image): https://cdn.joinfightcamp.com/images/og/fc-og-2025.jpg\n\n## UI Components\n\n- input: background=transparent, textColor=#FFFFFF, borderColor=#75777D, borderRadius=8px, shadow=none\n- buttonPrimary: background=#B12626, textColor=#FFFFFF, borderColor=#B12626, borderRadius=16px, shadow=none\n- buttonSecondary: background=#0E1C3C, textColor=#FFFFFF, borderColor=#0E1C3C, borderRadius=16px, shadow=none\n\n## Brand Personality\n\nTone: bold · Energy: high · Audience: fitness enthusiasts\n\n## FightCamp Brand in the Wild\n\nReal-world brand assets — ads, campaigns, marketing materials.\n\n- **FightCamp | The Results**\n  - Image: https://a.storyblok.com/f/152150/3883x5824/5ee7ff6785/better_balance_posture_v2.jpg/m/3072x0/filters:format(jpeg)\n  - Source: https://joinfightcamp.com/the-results?srsltid=AfmBOorpPW6SRmK6F4PJZ3FKuD2gkrttzTaL3dIZsh0Ddt91QIGvliQw\n- **FightCamp | Blog**\n  - Image: https://img2.storyblok.com/300x272/filters:focal(null):format(png)/f/115220/600x544/7fb4282d13/wearfightcamp_20220307_blog_ad_3.png\n  - Source: https://blog.joinfightcamp.com/\n- **Partner Offer | FightCamp**\n  - Image: https://a.storyblok.com/f/152150/8256x6192/359f7a99cb/james-punch.jpg/m/3072x3072/filters:format(jpeg)\n  - Source: https://joinfightcamp.com/partner-offer/?srsltid=AfmBOop_t83pGZ8-LhomFu2YX0XjvjxMV5rNLeHvKwHlxfk_e59ss12N\n- **FightCamp | Blog**\n  - Image: https://img2.storyblok.com/500x208/filters:focal():format(jpeg)/f/115220/1200x500/f5e51fb29e/blog-header-1.jpg\n  - Source: https://blog.joinfightcamp.com/\n- **10 Minute Tabata HIIT Workout - No Equipment Needed**\n  - Image: https://cdn.shopify.com/s/files/1/2510/5836/files/10_Minute_Tabata_Workout.jpg?v=1624903060\n  - Source: https://legacy-blog.joinfightcamp.com/blogs/boxing-workouts-drills/10-minute-tabata-hiit-workout-no-equipment-needed\n- **FightCamp | Blog**\n  - Image: https://img2.storyblok.com/500x208/filters:focal():format(png)/f/115220/1200x500/3cf6520bc6/blog-post-hero_-strike-output.png\n  - Source: https://blog.joinfightcamp.com/\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\": \"Trebuchet MS\",\n      \"role\": \"body\"\n    },\n    {\n      \"family\": \"Graphik-Regular\",\n      \"role\": \"body\"\n    },\n    {\n      \"family\": \"Graphik-Medium\",\n      \"role\": \"heading\"\n    },\n    {\n      \"family\": \"New-Grotesk-Square-FOUR\",\n      \"role\": \"display\"\n    }\n  ],\n  \"colors\": {\n    \"primary\": \"#B12626\",\n    \"secondary\": \"#003366\",\n    \"accent\": \"#B12626\",\n    \"background\": \"#FFF9F9\",\n    \"textPrimary\": \"#000000\",\n    \"link\": \"#0E1C3C\"\n  },\n  \"typography\": {\n    \"fontFamilies\": {\n      \"primary\": \"Trebuchet MS\",\n      \"heading\": \"Graphik-Medium\"\n    },\n    \"fontStacks\": {\n      \"heading\": [\n        \"New-Grotesk-Square-FOUR\",\n        \"impact\",\n        \"charcoal\",\n        \"sans-serif\"\n      ],\n      \"body\": [\n        \"Graphik-Regular\",\n        \"Trebuchet MS\",\n        \"helvetica\",\n        \"sans-serif\"\n      ],\n      \"paragraph\": [\n        \"Graphik-Medium\",\n        \"Trebuchet MS\",\n        \"helvetica\",\n        \"sans-serif\"\n      ]\n    },\n    \"fontSizes\": {\n      \"h1\": \"72px\",\n      \"h2\": \"32px\",\n      \"body\": \"14px\"\n    }\n  },\n  \"spacing\": {\n    \"baseUnit\": 4,\n    \"borderRadius\": \"8px\"\n  },\n  \"components\": {\n    \"input\": {\n      \"background\": \"transparent\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderColor\": \"#75777D\",\n      \"borderRadius\": \"8px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"8px\",\n        \"topRight\": \"8px\",\n        \"bottomRight\": \"8px\",\n        \"bottomLeft\": \"8px\"\n      },\n      \"shadow\": \"none\"\n    },\n    \"buttonPrimary\": {\n      \"background\": \"#B12626\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderColor\": \"#B12626\",\n      \"borderRadius\": \"16px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"16px\",\n        \"topRight\": \"16px\",\n        \"bottomRight\": \"16px\",\n        \"bottomLeft\": \"16px\"\n      },\n      \"shadow\": \"none\"\n    },\n    \"buttonSecondary\": {\n      \"background\": \"#0E1C3C\",\n      \"textColor\": \"#FFFFFF\",\n      \"borderColor\": \"#0E1C3C\",\n      \"borderRadius\": \"16px\",\n      \"borderRadiusCorners\": {\n        \"topLeft\": \"16px\",\n        \"topRight\": \"16px\",\n        \"bottomRight\": \"16px\",\n        \"bottomLeft\": \"16px\"\n      },\n      \"shadow\": \"none\"\n    }\n  },\n  \"images\": {\n    \"logo\": \"data:image/svg+xml;utf8,%3Csvg%20class%3D%22svg-inline--fa%20fa-logo%20the-navigation-bar__logo-icon%20the-navigation-bar__logo-icon--theme-dark%22%20style%3D%22%22%20aria-hidden%3D%22true%22%20focusable%3D%22false%22%20data-prefix%3D%22fc%22%20data-icon%3D%22logo%22%20role%3D%22img%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2074%2067%22%20data-v-948ffc51%3D%22%22%20data-fc-idx%3D%220%22%3E%3Cpath%20class%3D%22%22%20style%3D%22fill%3A%20rgb(255%2C%20255%2C%20255)%20!important%3B%22%20fill%3D%22currentColor%22%20d%3D%22M15.7562%2027.9739H12.0364V6.29038H21.3207V9.52628H15.7562V15.6654H20.0808V18.9013H15.7562V27.9739Z%26%2310%3BM18.266%2052.6212H21.8043V55.4337C21.8695%2056.137%2021.7789%2056.8461%2021.5391%2057.5105C21.2992%2058.1749%2020.9159%2058.7783%2020.4164%2059.2778C19.917%2059.7773%2019.3136%2060.1606%2018.6492%2060.4004C17.9849%2060.6403%2017.2758%2060.7308%2016.5725%2060.6656C15.8608%2060.7364%2015.1422%2060.6525%2014.466%2060.4195C13.7899%2060.1866%2013.172%2059.8102%2012.6549%2059.3161C12.1378%2058.822%2011.7339%2058.2219%2011.4704%2057.557C11.207%2056.8921%2011.0904%2056.1781%2011.1288%2055.4639V43.7603C11.0904%2043.0461%2011.207%2042.3321%2011.4704%2041.6672C11.7339%2041.0023%2012.1378%2040.4022%2012.6549%2039.9081C13.172%2039.414%2013.7899%2039.0376%2014.466%2038.8047C15.1422%2038.5718%2015.8608%2038.4878%2016.5725%2038.5586C17.2758%2038.4934%2017.9849%2038.584%2018.6492%2038.8239C19.3136%2039.0638%2019.917%2039.447%2020.4164%2039.9465C20.9159%2040.446%2021.2992%2041.0493%2021.5391%2041.7137C21.7789%2042.3781%2021.8695%2043.0872%2021.8043%2043.7905V46.1796H18.266V43.7603C18.266%2042.732%2017.8124%2041.8247%2016.5725%2041.8247C15.3326%2041.8247%2014.8789%2042.732%2014.8789%2043.7603V55.6152C14.8789%2056.6132%2015.3326%2057.5506%2016.5725%2057.5506C17.8124%2057.5506%2018.266%2056.6132%2018.266%2055.6152V52.6212Z%26%2310%3BM26.6434%206.29038H22.9236V27.9739H26.6434V6.29038Z%26%2310%3BM45.5145%2018.8711V27.9739H41.7947V6.29038H45.5145V15.6654H48.8411V6.29038H52.5608V27.9739H48.8411V18.8711H45.5145Z%26%2310%3BM60.9983%2027.9739H57.3088V9.52628H53.9822V6.29038H64.3552V9.52628H60.9983V27.9739Z%26%2310%3BM74.3047%200H0V1.54235H74.3047V0Z%26%2310%3BM39.6474%2023.0142C39.7174%2023.72%2039.6302%2024.4324%2039.3925%2025.1006C39.1548%2025.7687%2038.7723%2026.376%2038.2723%2026.8789C37.7722%2027.3819%2037.1671%2027.7679%2036.5003%2028.0095C35.8335%2028.2511%2035.1215%2028.3422%2034.4154%2028.2763C33.6998%2028.3471%2032.9773%2028.2624%2032.2975%2028.0279C31.6177%2027.7934%2030.9965%2027.4147%2030.4766%2026.9178C29.9567%2026.4209%2029.5504%2025.8176%2029.2855%2025.149C29.0205%2024.4805%2028.9032%2023.7625%2028.9416%2023.0444V11.2198C28.9078%2010.5041%2029.0285%209.78959%2029.2955%209.12475C29.5624%208.4599%2029.9692%207.86039%2030.4886%207.36687C31.0079%206.87335%2031.6275%206.49745%2032.3051%206.26473C32.9827%206.03201%2033.7024%205.94785%2034.4154%206.01813C35.1188%205.95291%2035.828%206.0435%2036.4923%206.28337C37.1567%206.52324%2037.7601%206.90653%2038.2595%207.406C38.759%207.90547%2039.1423%208.50881%2039.3822%209.1732C39.622%209.83758%2039.7126%2010.5467%2039.6474%2011.25V13.8508H36.1695V11.2198C36.1695%2010.1915%2035.7159%209.28432%2034.476%209.28432C33.236%209.28432%2032.7521%2010.1915%2032.7521%2011.2198V23.0444C32.7521%2024.0726%2033.236%2025.0101%2034.476%2025.0101C35.7159%2025.0101%2036.1695%2024.0726%2036.1695%2023.0444V18.871H34.3248V15.8468H39.7078L39.6474%2023.0142Z%26%2310%3BM57.3389%2060.3631H53.6192V38.6796H58.6998C59.4589%2038.6365%2060.2181%2038.7584%2060.9255%2039.0369C61.6329%2039.3154%2062.2716%2039.7438%2062.7976%2040.2928C63.3235%2040.8417%2063.7243%2041.4981%2063.9723%2042.2168C64.2203%2042.9354%2064.3097%2043.6994%2064.2342%2044.4559V45.9377C64.3091%2046.6955%2064.2197%2047.4605%2063.9719%2048.1806C63.7241%2048.9006%2063.3237%2049.5588%2062.7983%2050.11C62.2729%2050.6612%2061.6349%2051.0925%2060.9276%2051.3746C60.2202%2051.6566%2059.4604%2051.7827%2058.6998%2051.7442H57.3389V60.3631ZM57.3389%2048.5083H58.4578C59.7885%2048.5083%2060.5446%2047.5405%2060.5446%2045.9377V44.486C60.5446%2042.8832%2059.7885%2041.9155%2058.4578%2041.9155H57.3389V48.5083Z%26%2310%3BM34.3551%2060.3631H30.605L30.0304%2056.4317H26.7644L26.1898%2060.3631H22.6816L26.0687%2038.6796H30.9681L34.3551%2060.3631ZM28.3067%2044.3046L27.0364%2053.6797H29.5466L28.3671%2044.3046H28.3067Z%26%2310%3BM39.4356%2060.3934H35.8971V38.6796H41.0383L43.4576%2052.5304L45.8771%2038.6796H51.0181V60.3934H47.4799V54.345C47.4799%2051.3208%2047.7218%2047.4498%2047.873%2044.3953L45.0605%2060.5144H42.0363L39.2541%2044.3953C39.2541%2047.4195%2039.5565%2051.0788%2039.5565%2054.345L39.4356%2060.3934Z%26%2310%3BM74.3047%2032.5707H0V34.1131H74.3047V32.5707Z%26%2310%3BM74.3047%2064.9599H0V66.5023H74.3047V64.9599Z%22%2F%3E%3C%2Fsvg%3E\",\n    \"favicon\": \"https://joinfightcamp.com/favicon.ico\",\n    \"ogImage\": \"https://cdn.joinfightcamp.com/images/og/fc-og-2025.jpg\",\n    \"logoHref\": \"/\"\n  },\n  \"__llm_logo_reasoning\": {\n    \"selectedIndex\": 0,\n    \"reasoning\": \"Selected #0 because it is visible, located in the header, and links to the homepage, which are strong indicators of the main brand logo.\",\n    \"confidence\": 0.9,\n    \"source\": \"llm\"\n  },\n  \"__llm_button_reasoning\": {\n    \"primary\": {\n      \"index\": 2,\n      \"text\": \"Start Training\",\n      \"reasoning\": \"Button #2 ('Start Training') is the primary CTA due to its action-oriented text and vibrant brand color (#B12626), which aligns with the site's focus on initiating workouts.\"\n    },\n    \"secondary\": {\n      \"index\": 4,\n      \"text\": \"Boxing\",\n      \"reasoning\": \"Button #4 ('Boxing') is selected as secondary because it has a different background color (#0E1C3C) and serves as a category selector, complementing the primary action.\"\n    },\n    \"confidence\": 0.95\n  },\n  \"personality\": {\n    \"tone\": \"bold\",\n    \"energy\": \"high\",\n    \"targetAudience\": \"fitness enthusiasts\"\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 visible, located in the header, and links to the homepage, which are strong indicators of the main brand logo.\",\n        \"confidence\": 0.9\n      }\n    },\n    \"buttonClassification\": {\n      \"llmCalled\": true,\n      \"llmSucceeded\": true\n    }\n  }\n}\n```\n"
}