{
  "name": "ProductLed",
  "version": "2.1",
  "updated": "2026-09-18",
  "url": "https://productled.com",
  "brandkit": "https://productled.com/brand",
  "license": "Free to use. No attribution required. Do not modify the marks.",
  "naming": {
    "companyName": "ProductLed",
    "spellingRules": "Capital P, capital L, one word, no space, no hyphen. Never PRODUCTLED, productled, Product-Led, or PL.",
    "spoken": "product led",
    "logo": "Mark and wordmark together, 9px apart, mark first. The default.",
    "wordmark": "The word ProductLed with its yellow period. The only form allowed in body copy.",
    "mark": "The Market Ascent pyramid alone. Favicons, app icons, avatars, tabs.",
    "summit": "The yellow triangle at the top of the mark. Level five, Crusader. Always yellow.",
    "period": "The yellow full stop. Lives in the wordmark, and closes a headline. Nothing else.",
    "minimumLogoWidth": "100px",
    "minimumMarkHeight": "16px",
    "clearSpace": "The height of the P on all sides."
  },
  "vocabulary": {
    "use": {
      "ProductLed Assessment": "The free product.",
      "the ProductLed Agent": "The AI that reads the funnel.",
      "Full ProductLed Assessment": "The paid growth plan.",
      "Implementation": "The service.",
      "ProductLed Operators": "The humans who deliver it.",
      "product-led growth": "The public keyword and the go-to-market motion.",
      "a product-led business": "What we build with a client. The outcome."
    },
    "avoid": [
      "implementers",
      "consultants",
      "coaches",
      "the bot",
      "drives organic pipeline",
      "world-class",
      "revolutionary",
      "the best"
    ],
    "mechanics": [
      "No em dashes.",
      "No emoji.",
      "Sentence case everywhere.",
      "Arrows (→) are welcome.",
      "Short sentences. Periods over commas.",
      "No superlatives. State the claim once."
    ]
  },
  "boilerplate": {
    "oneLine": "ProductLed helps SaaS companies build products that sell themselves.",
    "fifty": "ProductLed helps SaaS companies build products that sell themselves. It starts with a free assessment that scores your product on nine components and names the bottleneck holding back self-serve revenue. From there a ProductLed Operator can build the growth plan, or run the work with your team.",
    "founderBio": "Wes Bush is the founder of ProductLed and the author of Product-Led Growth and The Product-Led Playbook, read by more than 150,000 people.",
    "anchorLine": "The best products are meant to be experienced, not explained.",
    "slogan": "Generosity wins.",
    "approvedStats": [
      "400+ SaaS companies",
      "$1B+ in self-serve revenue",
      "150,000+ books read",
      "60,202 weekly readers",
      "97 of 100 buyers would rather try than talk to sales (independent survey, ProductLed, 2026)"
    ]
  },
  "color": {
    "surfaces": {
      "page": "#08090A",
      "panel": "#0E0F11",
      "float": "#16181B"
    },
    "text": {
      "primary": {
        "value": "#F7F8F8",
        "contrastOnPage": 18.73,
        "use": "Headlines and anything that matters. Any size."
      },
      "body": {
        "value": "#8A8F98",
        "contrastOnPage": 6.13,
        "use": "Body copy and every label, caption, kicker, byline and piece of fine print. Any size."
      },
      "quiet": {
        "value": "#62666D",
        "contrastOnPage": 3.45,
        "use": "Large quiet figures only, 24px and up. Never a label."
      },
      "disabled": {
        "value": "#494D53",
        "contrastOnPage": 2.34,
        "use": "Never text. Disabled states and marks nobody has to read."
      },
      "decoration": {
        "value": "#33363B",
        "contrastOnPage": 1.64,
        "use": "Never text. Decorative rules and dividers."
      },
      "note": "Measured against #08090A with the WCAG formula. Only primary and body carry text below 24px."
    },
    "accent": {
      "yellow": "#F3CA07",
      "textOnYellow": "#08090A",
      "jobs": [
        "The terminal period",
        "Mono kickers",
        "Status and bottleneck signals",
        "Headshot plates and the rank-one numeral",
        "The 2px pull-quote rule",
        "Thin 3px progress fills"
      ],
      "never": [
        "A page or section fill",
        "A resting button",
        "A highlight marker",
        "Twice in one viewport",
        "Under white text"
      ],
      "rule": "One accent per viewport."
    },
    "hairlines": {
      "row": "rgba(255,255,255,0.05)",
      "section": "rgba(255,255,255,0.06)",
      "card": "rgba(255,255,255,0.08)",
      "outlineButton": "rgba(255,255,255,0.12)"
    },
    "signals": {
      "strong": "#5FA36B",
      "average": "#F3CA07",
      "fixFirst": "#D98A45",
      "next": "#62666D",
      "note": "Desaturated on purpose. No pure red."
    },
    "lightPlate": {
      "surface": "#FFFFFF",
      "surfaceAlt": "#F6F6F4",
      "text": "#08090A",
      "line": "#C9C9C3",
      "use": "Inside product mocks and print only."
    }
  },
  "type": {
    "display": {
      "family": "Geist",
      "maxWeight": 500,
      "tracking": {
        "84px": "-0.036em",
        "64px": "-0.032em",
        "52px": "-0.032em",
        "32px": "-0.022em"
      }
    },
    "body": {
      "family": "Geist",
      "size": "15.5px",
      "lineHeight": 1.7,
      "measure": "460 to 620px"
    },
    "mono": {
      "family": "Geist Mono",
      "sizes": {
        "words": "12px",
        "oneOrTwoWords": "11px",
        "oneWord": "10.5px",
        "numeralsOnly": "9.5px"
      },
      "tracking": {
        "phrase": "0.06em",
        "shortLabel": "0.12em",
        "kickerOneWord": "0.14em"
      }
    },
    "retired": [
      "Montserrat",
      "Source Sans 3"
    ],
    "source": "https://vercel.com/font"
  },
  "layout": {
    "container": "1120px",
    "edgePadding": "24px",
    "sectionRhythm": [
      "96px",
      "104px",
      "120px"
    ],
    "navHeight": "56px"
  },
  "geometry": {
    "radii": {
      "chip": "5-9px",
      "button": "8-11px",
      "card": "12-16px",
      "shell": "18px",
      "disc": "50%"
    },
    "never": "A pill. 999px is retired.",
    "elevation": "#16181B with 0 12px 32px rgba(0,0,0,0.45). One float only."
  },
  "motion": {
    "easing": "cubic-bezier(0.16, 1, 0.3, 1)",
    "durations": {
      "color": "160ms",
      "border": "200ms",
      "panel": "320ms",
      "pageEnter": "240ms"
    },
    "rule": "Elements change value, not size. No scale, spring, overshoot or parallax.",
    "logoClimb": {
      "loop": "6s",
      "levels": [
        {
          "level": 1,
          "name": "Commodity",
          "lightsAt": "0.18s"
        },
        {
          "level": 2,
          "name": "Contender",
          "lightsAt": "0.72s"
        },
        {
          "level": 3,
          "name": "Cusp",
          "lightsAt": "1.26s"
        },
        {
          "level": 4,
          "name": "Chosen",
          "lightsAt": "1.80s"
        },
        {
          "level": 5,
          "name": "Crusader",
          "lightsAt": "2.34s",
          "glow": "drop-shadow(0 0 18px rgba(243,202,7,0.9))"
        }
      ],
      "hold": "to 4.32s",
      "clear": "by 4.56s",
      "reducedMotion": "No animation. The canonical mark, always.",
      "css": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8b6e2631c2d98f85408d_ascent-logo.css"
    }
  },
  "marketAscent": [
    {
      "level": 1,
      "name": "Commodity",
      "goal": "Build something differentiated"
    },
    {
      "level": 2,
      "name": "Contender",
      "goal": "Build a product that sells itself"
    },
    {
      "level": 3,
      "name": "Cusp",
      "goal": "Build a business that runs itself"
    },
    {
      "level": 4,
      "name": "Chosen",
      "goal": "Become the obvious choice"
    },
    {
      "level": 5,
      "name": "Crusader",
      "goal": "Give away what you sold, own the markets next to yours"
    }
  ],
  "assets": {
    "wordmarkOnDark": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aa32ebff149ddaa21dbe862_logo-white.png",
    "wordmarkOnLight": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8023f13951a6b6cc69d9_logo-black.png",
    "markOnDark": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8023fc96469179b12a07_mark-ascent-white.svg",
    "markOnLight": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8b6f2f0bea86eb706d60_mark-ascent-black.svg",
    "markCurrentColor": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8b6f0048a43de80217d5_mark-ascent.svg",
    "tileDark": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad80230ebea54f22f28e60_icon-tile-dark.svg",
    "tileLight": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8b6fba78bac1e2f1e929_icon-tile-light.svg"
  },
  "docs": {
    "designSystemMarkdown": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8b6e9da80fa1385b0eef_productled-design-system.md",
    "colorTokensCss": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8f7ef4bf5e08d556b0e9_productled-tokens-colors.css",
    "logoClimbCss": "https://cdn.prod.website-files.com/6357526c0b897b08f455b7db/6aad8b6e2631c2d98f85408d_ascent-logo.css"
  }
}
