{
  "schema": "brand-kit@2",
  "palette": {
    "paper": "#FFFFFF",
    "surface": "#F4F5F6",
    "ink": "#15171A",
    "ink_muted": "#7C8B9A",
    "accent": "#30CF43",
    "on_accent": "#15171A",
    "hairline": "#CED4D9",
    "night": "#15171A",
    "on_night": "#FFFFFF",
    "note": "paper, accent, ink, ink_muted, night and hairline are the guide's five published colours. surface is our reading: the guide names no surface, so it uses Shade's gray-100 (--muted). on_accent is Dark Grey because white on Ghost Green is low contrast (about 2.2:1); Shade pairs green-500 with a black foreground (--state-success-foreground).",
    "prov": "published",
    "source": "https://docs.ghost.org/logos (Ghost colours)",
    "extras": [
      {
        "name": "Ghost Green",
        "hex": "#30CF43",
        "role": "The single brand accent: Sass $green, RGB 48, 207, 67. The guide's palette is light grounds and tinted greys accented with it",
        "prov": "published",
        "source": "https://docs.ghost.org/logos (Ghost colours)",
        "sass": "$green",
        "rgb": "48, 207, 67",
        "code_token": "--color-green-500 (Shade, identical value)"
      },
      {
        "name": "White",
        "hex": "#FFFFFF",
        "role": "Light background; the default ground the guide describes (RGB 255, 255, 255)",
        "prov": "published",
        "source": "https://docs.ghost.org/logos (Ghost colours)",
        "rgb": "255, 255, 255"
      },
      {
        "name": "Light Grey",
        "hex": "#CED4D9",
        "role": "Tinted grey, Sass $lightgrey (RGB 206, 212, 217). Light tinted-grey ground or rule",
        "prov": "published",
        "source": "https://docs.ghost.org/logos (Ghost colours)",
        "sass": "$lightgrey",
        "rgb": "206, 212, 217",
        "code_token": "--color-gray-400 (Shade, identical value)"
      },
      {
        "name": "Mid Grey",
        "hex": "#7C8B9A",
        "role": "Tinted grey, Sass $midgrey (RGB 124, 139, 154). Muted text; Shade uses this exact value as --text-secondary",
        "prov": "published",
        "source": "https://docs.ghost.org/logos (Ghost colours)",
        "sass": "$midgrey",
        "rgb": "124, 139, 154",
        "code_token": "--color-gray-700 / --text-secondary (Shade)"
      },
      {
        "name": "Dark Grey",
        "hex": "#15171A",
        "role": "Tinted near-black, Sass $darkgrey (RGB 21, 23, 26). Text and dark grounds; the light-logo panel on the guide; Shade --color-black and --primary",
        "prov": "published",
        "source": "https://docs.ghost.org/logos (Ghost colours)",
        "sass": "$darkgrey",
        "rgb": "21, 23, 26",
        "code_token": "--color-black / --foreground / --primary (Shade)",
        "site_use": "Homepage dashboard band ground and the theme-color meta (observed https://ghost.org/ (2026-10-30))"
      },
      {
        "name": "Gray 50 (UI)",
        "hex": "#FAFAFB",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: preview canvas, sidebar ground",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-50 oklch(98.54% 0.0013 286.4)"
      },
      {
        "name": "Gray 100 (UI)",
        "hex": "#F4F5F6",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: --muted, --accent, button and tab hover",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-100 oklch(96.97% 0.0017 247.8)"
      },
      {
        "name": "Gray 200 (UI)",
        "hex": "#EBEEF0",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: --border, --input, --secondary",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-200 oklch(94.74% 0.0042 236.5)"
      },
      {
        "name": "Gray 300 (UI)",
        "hex": "#DDE1E5",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: mixed with gray-200 for --border-default and --control-border",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-300 oklch(90.78% 0.007 247.9)"
      },
      {
        "name": "Gray 500 (UI)",
        "hex": "#AEB7C1",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: --border-strong",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-500 oklch(77.55% 0.0174 250.9)"
      },
      {
        "name": "Gray 600 (UI)",
        "hex": "#95A1AD",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: --ring, --focus-ring",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-600 oklch(70.33% 0.0223 248.1)"
      },
      {
        "name": "Gray 800 (UI)",
        "hex": "#626D79",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: darker tinted grey; base of the modal backdrop rgb(98 109 121 / 0.2)",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-800 oklch(52.97% 0.0232 250.6)"
      },
      {
        "name": "Gray 900 (UI)",
        "hex": "#394047",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: deep tinted grey",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-900 oklch(36.77% 0.0153 248.2)"
      },
      {
        "name": "Gray 950 (UI)",
        "hex": "#222427",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: near-black tinted grey",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-gray-950 oklch(25.95% 0.0063 258.4)"
      },
      {
        "name": "Ghost accent default (UI)",
        "hex": "#FF0095",
        "role": "Product UI token (Shade, Ghost Admin design system), not a marketing brand rule: fallback for --accent-color, the publication's own accent that each Ghost site owner sets. Not Ghost's brand color",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
        "token": "--color-ghostaccent: var(--accent-color, #ff0095)"
      },
      {
        "name": "Hero headline ink (observed)",
        "hex": "#112220",
        "role": "Homepage H1 'Turn your audience into a business.' text color: a green-tinted near-black, not #15171A",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Launch pill yellow (observed)",
        "hex": "#FEC137",
        "role": "Homepage 'Just launched: Ghost 6.0' pill fill, fully rounded. Campaign color, not in the published palette",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Black (observed)",
        "hex": "#000000",
        "role": "Statement paragraph, section H2/H3 on light, launch-button label, nav links at 70% (rgba(0,0,0,0.7)), dropdown titles",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Slate 500 (observed)",
        "hex": "#64748B",
        "role": "Eyebrows on light (Advanced creator tools, Run your business, Integrations, Built to last), Try Ghost CTA link, integrations link, dropdown icons",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Slate 900 (observed)",
        "hex": "#0F172A",
        "role": "Ground of the two navy feature bands (Easy site design, Grow your audiences)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Launch lime (observed)",
        "hex": "#D1FF19",
        "role": "Eyebrows on navy/dark, Explore Ghost themes link, Ghost alternatives footer link, Start publishing now button fill. Campaign accent of the homepage, not a guide colour",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Slate 300 (observed)",
        "hex": "#CBD5E1",
        "role": "Body/lead text on navy and dark grounds; status badge text",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Slate 200 (observed)",
        "hex": "#E2E8F0",
        "role": "Ground of the Advanced creator tools band and the half-height strip behind the hero dashboard",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Slate 700 (observed)",
        "hex": "#334155",
        "role": "Lead/body text on white and slate-200 grounds; status badge fill in footer",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Portal pink (observed)",
        "hex": "#F8B1E2",
        "role": "Ground of the signup-portal media panel in Grow your audiences",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Tooltip ink (observed)",
        "hex": "#18181B",
        "role": "Integration tile hover tooltip fill (opacity 0 at rest)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Tile border (observed)",
        "hex": "#E5E5E5",
        "role": "1px border of integration icon tiles",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Dark hairline (observed)",
        "hex": "#1F2937",
        "role": "1px rules between revenue and showcase rows on the dark band",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Slate 400 (observed)",
        "hex": "#94A3B8",
        "role": "Muted text on dark: showcase sub-taglines, footer links, legal links",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Gray 400 (observed)",
        "hex": "#9CA3AF",
        "role": "Showcase card category tags; muted part of the launch line",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Lime 300 (observed)",
        "hex": "#BEF264",
        "role": "Learn more button label on dark",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Lime 950 (observed)",
        "hex": "#1A2E05",
        "role": "Learn more button fill on dark",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Gray 500 (observed)",
        "hex": "#6B7280",
        "role": "Muted second sentence of the Built to last statement",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Strip dark (observed)",
        "hex": "#151719",
        "role": "108px (12vh) strip behind the bottom of the Built to last posts screenshot, joining it to the launch band",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Product panel edge",
        "hex": "#2C2E30",
        "role": "1px border of the Built to last product screenshot on dark",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30, pixel sample)"
      },
      {
        "name": "Product panel fill",
        "hex": "#101216",
        "role": "Ghost Admin dark panel fill inside product screenshots",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30, pixel sample)"
      },
      {
        "name": "ActiveCampaign tile fill",
        "hex": "#2862AE",
        "role": "third-party integration tile background (their brand colour, not Ghost's)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "Vimeo tile fill",
        "hex": "#1BB6EB",
        "role": "third-party integration tile background (their brand colour, not Ghost's)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      {
        "name": "YouTube tile fill",
        "hex": "#FF0000",
        "role": "third-party integration tile background (their brand colour, not Ghost's)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      }
    ]
  },
  "typography": {
    "display": {
      "family": "Inter",
      "weight": 700,
      "fallback_stack": "InterVariable, Inter, -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif",
      "real": "Inter (rsms) variable font at its display optical size: ghost.org loads InterVariable.woff2 and sets font-variation-settings \"opsz\" 32 on every heading, lead and eyebrow. That is Inter Display. SIL OFL 1.1",
      "license": "SIL OFL 1.1",
      "stand_in": false,
      "prov": "observed",
      "source": "https://ghost.org/ (2026-10-30)",
      "site": {
        "family_css": "InterVariable, sans-serif (computed on every element)",
        "opsz": "\"opsz\" 32 on: H1, statement, section H2/H3, leads and body paragraphs at 18px and up, eyebrows, CTA links, showcase names. NOT on: nav, nav CTA, launch pill, Learn more buttons, footer, tags (15px and under), which use the default automatic optical size",
        "weights": "700 headings, 600 CTAs/links/muted statement, 500 emphasis lines, 400 leads",
        "size_px": "96 H1 desktop (25.35 phone = 6.5vw); 72 revenue figure (48 phone); 48 statement and section H2 (24 phone); 36 feature H3 / showcase H2 / Built to last (24 phone)",
        "line_height": "1.0 at 96 and 72; 1.35 statement (64.8 at 48); 1.15 section H2 (55.2 at 48); 1.0 feature H3 (36 at 36)",
        "tracking": "-0.025em on H1, statement, section H2, feature H3 and Try CTA (-2.4px at 96, -1.2px at 48, -0.9px at 36, -0.6px at 24); normal on the dark-band H2s, revenue, showcase and launch lines; +0.1em (1.2px at 12) on uppercase eyebrows",
        "font_feature_settings": "\"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\"",
        "smoothing": "-webkit-font-smoothing: antialiased",
        "color": "#112220 on the H1 only; #000000 for other dark headings; #FFFFFF on dark",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "font_variation_settings": "\"opsz\" 32",
      "font_feature_settings": "\"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\"",
      "files_note": "InterVariable.woff2 here is byte-identical to https://ghost.org/fonts/InterVariable.woff2 (sha1 9ef5d7d2, 345,588 bytes); InterVariable-Italic.woff2 downloaded from ghost.org/fonts/ for the one italic word ('your'). Load both as @font-face { font-family: InterVariable; font-weight: 100 900 } and set font-variation-settings: \"opsz\" 32 on display roles. Equivalent static alternative if a builder cannot set opsz: InterDisplay-Bold.woff2 (700), InterDisplay-SemiBold.woff2 (600), InterDisplay-Medium.woff2 (500), InterDisplay-Regular.woff2 (400) in the same folder. ghost.org also declares @font-face families 'inter' and 'interdisplay' (static files) but no element uses them: document.fonts shows them unloaded; every computed font-family is 'InterVariable, sans-serif'",
      "rendered_note": "ghost.org serves InterVariable with font-display: optional; first visits (and the reference capture, 2026-10-30) render the system sans-serif, Helvetica on macOS. Measured: H1 line 1 is 840px wide live = Helvetica Bold 96px -2.4px; InterVariable gives 809px. Rebuilds match the first-visit render: use Helvetica and do not load InterVariable.",
      "steal_family": "Inter",
      "calibration_note": "Ghost renders Inter 4 as InterVariable.woff2 (self-hosted, SIL OFL 1.1); display roles add font-variation-settings \"opsz\" 32 (Inter Display); all text inherits font-feature-settings \"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\". ghost.org serves InterVariable with font-display: optional; first visits (and the reference capture, 2026-10-30) render the system sans-serif, Helvetica on macOS. Measured: H1 line 1 is 840px wide live = Helvetica Bold 96px -2.4px; InterVariable gives 809px. Rebuilds match the first-visit render: use Helvetica and do not load InterVariable."
    },
    "body": {
      "family": "Inter",
      "weight": 400,
      "fallback_stack": "InterVariable, Inter, -apple-system, BlinkMacSystemFont, \"Helvetica Neue\", Arial, sans-serif",
      "real": "Inter (rsms) variable font, text optical size; SIL OFL 1.1. Same file as display: InterVariable.woff2",
      "license": "SIL OFL 1.1",
      "stand_in": false,
      "prov": "observed",
      "source": "https://ghost.org/ (2026-10-30)",
      "site": {
        "weights": "500 nav and footer headings, 400 footer links and tags, 600 Learn more / pill, 400+600 nav CTA",
        "sizes_px": "15 nav/footer/tags, 14 nav CTA/legal/pill, 12 integration tooltips",
        "line_height": "1.5 (22.5 at 15, 21 at 14); 1.25 on footer column links (18.75 at 15)",
        "font_feature_settings": "\"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\"",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "font_feature_settings": "\"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\"",
      "font_variation_settings": "normal (automatic optical sizing; opsz follows font-size)",
      "files_note": "Body/UI roles (nav 15px/500, buttons 14-15px, footer 15px, legal 14px, tags 15px) use InterVariable with no opsz override. Static alternative: Inter-*.woff2 (text optical size).",
      "rendered_note": "ghost.org serves InterVariable with font-display: optional; first visits (and the reference capture, 2026-10-30) render the system sans-serif, Helvetica on macOS. Measured: H1 line 1 is 840px wide live = Helvetica Bold 96px -2.4px; InterVariable gives 809px. Rebuilds match the first-visit render: use Helvetica and do not load InterVariable.",
      "steal_family": "Inter",
      "calibration_note": "Ghost renders Inter 4 as InterVariable.woff2 (self-hosted, SIL OFL 1.1); display roles add font-variation-settings \"opsz\" 32 (Inter Display); all text inherits font-feature-settings \"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\". ghost.org serves InterVariable with font-display: optional; first visits (and the reference capture, 2026-10-30) render the system sans-serif, Helvetica on macOS. Measured: H1 line 1 is 840px wide live = Helvetica Bold 96px -2.4px; InterVariable gives 809px. Rebuilds match the first-visit render: use Helvetica and do not load InterVariable."
    },
    "calibration": "RENDERED FACE (observed 2026-10-30, by measurement): ghost.org declares InterVariable with font-display: optional, so on a first, uncached visit the browser keeps the system fallback for the whole page view. The reference homepage capture renders every line in the platform sans-serif (Helvetica on macOS): the H1 line 'Turn your audience' measures 840px wide (x 300-1140), exactly Helvetica Bold 96px at -2.4px tracking; InterVariable at the same settings measures 809px. To rebuild the homepage as first served, do NOT load InterVariable: set font-family: Helvetica, \"Helvetica Neue\", Arial, sans-serif on every role, keep every size, weight, line height and tracking in this spec unchanged, and drop font-variation-settings. Inter (InterVariable) remains the brand face a returning visitor sees once the font is cached. No stand-in calibration needed: the real files are open and local. ghost.org renders everything in InterVariable (identical file in the fonts folder). Display roles = InterVariable + font-variation-settings \"opsz\" 32 (= Inter Display); body/UI roles = InterVariable with automatic optical size (= Inter). All text inherits font-feature-settings \"calt\", \"cv10\", \"cv11\", \"liga\", \"ss01\", \"ss03\" from body (set on body, inherited by every element); keep them or several glyph shapes drift from the site. The guide names no typeface; Shade (product UI) uses Inter. Static fallbacks: InterDisplay-*.woff2 for display, Inter-*.woff2 for body."
  },
  "style": {
    "button_shape": "rounded",
    "button_note": "No button rule in the guide. Observed 2026-10-30 on ghost.org: 'Get Started — free' is a Dark Grey #15171A filled button with small radius and white SemiBold text; the launch pill is fully rounded. Shade (product UI) control radius is --radius-md 0.6rem, pills 9999px",
    "corners": "Not published for marketing. Shade product UI radii: xs 0.3rem, sm 0.4rem, md 0.6rem (controls, menus), lg 0.8rem (surfaces), xl 1.2rem, 2xl 1.6rem, 3xl 2.4rem, full for badges and pills",
    "shadow": "Shade product UI: --shadow 0 0 1px rgba(0,0,0,.05), 0 5px 18px rgba(0,0,0,.08); layered soft shadows up to xl",
    "linework": "Not published",
    "motion": "Not published for the brand. Shade product UI: durations 150/250/400ms, standard ease cubic-bezier(0.2,0,0,1), emphasized cubic-bezier(0.16,1,0.3,1)",
    "prov": "published",
    "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css"
  },
  "voice": {
    "tone": [
      "Plain",
      "Independent",
      "Candid",
      "Warm"
    ],
    "tone_prov": "inferred",
    "notes": [
      "Ghost publishes no voice guide. Tone words are our reading of ghost.org's own copy, labelled inferred.",
      "Short declarative lines with a full stop, even in headlines ('Turn your audience into a business.').",
      "Talks to the reader as 'you' and about the company as 'we'; benefits stated as ownership (your audience, your data, your revenue).",
      "Allows itself bluntness and humour: 'No investors. No bullshit.' (home) and 'drag & oops' (home).",
      "Proof by real numbers and named publications, including live public company metrics (about).",
      "British spelling on Ghost's own pages: 'organisation' (about), 'colours' (docs logos page).",
      "The trademark policy governs how anyone, Ghost included, writes the mark: exact form 'Ghost', never abbreviated, hyphenated or combined."
    ],
    "rules": [
      {
        "id": "mark-exact",
        "kind": "guidance",
        "text": "Write the mark exactly 'Ghost': never GHOST, GHost, Ghost-CMS, Ghost-platform or Ghost®Platform",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.5 How to display our marks)"
      },
      {
        "id": "mark-legend-symbol",
        "kind": "guidance",
        "text": "First or most prominent mention carries ® (Ghost®); the logo is Ghost Logo™",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.5 How to display our marks)",
        "scope": "Required of third parties using the marks; Ghost's own pages don't print it"
      },
      {
        "id": "mark-footer",
        "kind": "guidance",
        "text": "Third-party pages using the mark carry the footer notice 'Ghost is a trademark of Ghost Foundation - https://ghost.org'",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.5 How to display our marks)"
      },
      {
        "id": "trailing-descriptor",
        "kind": "prefer",
        "term": "[X] for Ghost",
        "over": [
          "Ghost [X]",
          "Ghost Hosting",
          "Ghost Analytics",
          "Ghost Toolkit"
        ],
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.2 Acceptable uses)",
        "scope": "Naming compatible third-party products and services"
      },
      {
        "id": "services-naming",
        "kind": "prefer",
        "term": "Support for Ghost software",
        "over": [
          "Ghost Support"
        ],
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.2 Acceptable uses)"
      },
      {
        "id": "no-variations",
        "kind": "avoid",
        "terms": [
          "MyGhost",
          "GhostConnector",
          "Ghost Cloud",
          "Managed Ghost",
          "Hosted Ghost",
          "Fantasma",
          "Geist",
          "Esprit"
        ],
        "instead": "a trailing descriptor ('for Ghost')",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.1 General guidelines)"
      },
      {
        "id": "no-translation",
        "kind": "guidance",
        "text": "Never translate 'Ghost' as a trademark; use the English mark in non-English content",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.5 How to display our marks)"
      },
      {
        "id": "publication-disclaimer",
        "kind": "guidance",
        "text": "Independent publications about Ghost carry a non-affiliation disclaimer and no logo on the cover",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.2 Acceptable uses)"
      },
      {
        "id": "no-endorsement",
        "kind": "guidance",
        "text": "Never imply Ghost Foundation endorsement, partnership or official status",
        "prov": "published",
        "source": "https://ghost.org/trademark/ (s.4 Prohibited uses)"
      },
      {
        "id": "spelling",
        "kind": "spelling",
        "value": "en-GB",
        "prov": "inferred",
        "source": "https://ghost.org/about/ ('organisation'); https://docs.ghost.org/logos (Ghost colours) ('colours')"
      },
      {
        "id": "headline-case",
        "kind": "headline_case",
        "value": "sentence",
        "prov": "inferred",
        "source": "https://ghost.org/ (2026-10-30): every homepage heading is sentence case"
      },
      {
        "id": "person",
        "kind": "person",
        "value": "we_you",
        "prov": "inferred",
        "source": "https://ghost.org/about/"
      }
    ],
    "approved": {
      "phrases": [
        "Turn your audience into a business.",
        "Escape the algorithm",
        "Your audience. Your data.",
        "0% fees",
        "No investors. No bullshit.",
        "Hosting for Ghost",
        "Ghost(Pro)"
      ],
      "words": [
        "independent",
        "open source",
        "publishers",
        "creators",
        "members",
        "newsletters"
      ]
    },
    "banned": [
      "GHOST",
      "GHost",
      "Ghost-CMS",
      "Ghost-platform",
      "Ghost®Platform",
      "MyGhost",
      "Ghost Cloud",
      "Managed Ghost",
      "Hosted Ghost",
      "Ghost Hosting",
      "Ghost Support"
    ],
    "banned_scope": "Trademark forms and third-party product names from the policy; not general vocabulary",
    "is_not": [
      [
        "Candid",
        "Crude"
      ],
      [
        "Independent",
        "Anti-business"
      ],
      [
        "Plain",
        "Bland"
      ],
      [
        "Warm",
        "Cute"
      ]
    ],
    "is_not_prov": "inferred",
    "prov": "published",
    "source": "https://ghost.org/trademark/ (s.5 How to display our marks)"
  },
  "spec": {
    "source": "https://docs.ghost.org/logos",
    "how": "Ghost's web-published guide (docs.ghost.org/logos and its raw .md), trademark policy v2.0 (14 Aug 2025), ghost.org marketing pages, and the open-source Shade design system (TryGhost/Ghost apps/shade at 866b27ea9a) for product UI tokens, fetched 2026-10-30",
    "provenance": "published",
    "motion": [
      {
        "name": "standard (product UI)",
        "easing": "cubic-bezier(0.2, 0, 0, 1)",
        "use": "Shade --ease-standard. Ghost Admin UI only; no brand motion is published",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css"
      },
      {
        "name": "emphasized (product UI)",
        "easing": "cubic-bezier(0.16, 1, 0.3, 1)",
        "use": "Shade --ease-emphasized. Ghost Admin UI only",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css"
      },
      {
        "name": "fast (product UI)",
        "duration_ms": 150,
        "use": "Shade --duration-fast; fade-in/out",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css"
      },
      {
        "name": "base (product UI)",
        "duration_ms": 250,
        "use": "Shade --duration-base; modal in",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css"
      },
      {
        "name": "slow (product UI)",
        "duration_ms": 400,
        "use": "Shade --duration-slow",
        "prov": "published",
        "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css"
      }
    ],
    "ui_tokens": {
      "scope": "Product UI (Ghost Admin, Shade). Not marketing brand rules; use for interface-like elements only",
      "rem_note": "Values are in rem as Shade writes them; Shade's own docs call 0.4rem the base spacing unit. Pixel equivalents depend on the root font size of the host app (our reading: Ghost Admin uses a 10px root, making 0.4rem = 4px; not verified here)",
      "spacing": "--spacing 0.4rem (base unit)",
      "radius": {
        "xs": "0.3rem",
        "sm": "0.4rem",
        "md": "0.6rem (controls, menus)",
        "lg": "0.8rem (surfaces)",
        "xl": "1.2rem",
        "2xl": "1.6rem",
        "3xl": "2.4rem",
        "full": "9999px (badges, pills)"
      },
      "control_height": "32px; 40px large",
      "tracking": "tightest -0.05em, tighter -0.025em, tight -0.01em, normal 0, wide 0.01em, wider 0.025em",
      "leading": "heading 1.35em, body 1.5em, supertight 1.1em",
      "text_ramp_rem": "2xs 1, xs 1.1, sm 1.2, base 1.3, md 1.4, lg 1.5, xl 1.7, 2xl 2.2, 3xl 2.8, 4xl 3.2, 5xl 4 (lh 1.15), 6xl 5.8, 7xl 7, 8xl 9.6, 9xl 12.8 (lh 1)",
      "breakpoints_px": [
        480,
        640,
        800,
        860,
        1024,
        1240,
        1320,
        1440,
        1600
      ],
      "containers_rem": "page 120, 7xl 132, prose 65ch",
      "semantic_colors": {
        "background": "#FFFFFF",
        "foreground": "#15171A",
        "muted": "#F4F5F6",
        "muted_foreground": "#7C8B9A",
        "border": "#EBEEF0",
        "primary": "#15171A",
        "primary_foreground": "#FFFFFF",
        "text_tertiary": "#CED4D9",
        "state_success": "#30CF43"
      },
      "prov": "published",
      "source": "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tailwind.theme.css",
      "also": [
        "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/theme-variables.css",
        "https://github.com/TryGhost/Ghost/blob/866b27ea9a8bdfc14ea1882d75845a2177d3855f/apps/shade/tokens.css"
      ]
    },
    "signature": [
      {
        "id": "orb",
        "name": "The orb",
        "where": "the logo's mark: beside the wordmark in the dark and light logos, alone as the orb logo (favicons, the guide's middle file, the app sidebar)",
        "spec": "a ring of translucent, ribbon-like strokes in black (on light) or white (on dark), drawn as layered fine lines; supplied as PNG files only (800x294 lockups, 400x400 orb). Use the supplied file, scaled only",
        "once": "one logo per surface",
        "dont": "redraw, recolor, add effects, distort, or combine it with another logo (only scaling is allowed)",
        "example": {
          "ground": "paper",
          "text": "ghost"
        },
        "prov": "published",
        "source": "https://docs.ghost.org/logos",
        "also": [
          "https://ghost.org/trademark/ (s.5 How to display our marks)"
        ]
      },
      {
        "id": "green-accent",
        "name": "Light and tinted grey, one green accent",
        "where": "every brand surface: the guide's palette in one line",
        "spec": "white grounds and blue-tinted greys (#CED4D9, #7C8B9A, #15171A) carry the page; Ghost Green #30CF43 is the only saturated colour and appears as an accent, not a ground",
        "dont": "flood a section in Ghost Green or add other saturated hues as brand colours",
        "example": {
          "ground": "paper",
          "text": "Turn your audience into a business.",
          "mark": "business.",
          "mark_style": "color",
          "mark_color": "#30CF43"
        },
        "prov": "published",
        "source": "https://docs.ghost.org/logos (Ghost colours)"
      },
      {
        "id": "dark-grey-panel",
        "name": "Dark Grey panel",
        "where": "the light logo's ground on the guide; the product dashboard band on the homepage",
        "spec": "a #15171A (Dark Grey) panel with white type and the white logo; on the guide it sits as a rounded card inside the page",
        "dont": "use pure #000000 for the dark ground: Ghost's black is the tinted Dark Grey",
        "example": {
          "ground": "night",
          "text": "ghost"
        },
        "prov": "published",
        "source": "https://docs.ghost.org/logos",
        "site_use": "Homepage product-screenshot band ground #15171A (observed https://ghost.org/ (2026-10-30))"
      }
    ],
    "page": {
      "source": "https://ghost.org/",
      "date": "2026-10-30",
      "prov": "observed",
      "voices": "Two voices. (1) Homepage voice, which any landing page follows: short sentence-case declaratives ending in a full stop (\"Turn your audience into a business.\", \"Publish by web & email newsletter.\", \"Native analytics.\"), plain benefit leads in second person, small UPPERCASE eyebrows naming the feature area, candid asides (\"No investors. No bullshit.\", \"Hello, new friends.\"), real numbers as proof ($100,000,000+, 10,603), CTA links that end in a long arrow \"→\". (2) The guide/trademark voice (docs.ghost.org/logos, ghost.org/trademark) is plain, rule-based and legal: it governs logo use, colour and naming, and stays law everywhere. Where they meet: the guide's one green (#30CF43) is the brand accent; the homepage's lime #D1FF19, launch-pill yellow #FEC137 and slate/navy grounds are how ghost.org currently applies the brand on the web, so use them on a landing page built from this anatomy and nowhere else.",
      "announcement": {
        "summary": "No announcement bar. The announcement is a yellow pill centred above the H1 inside the hero",
        "text": "Just launched: Ghost 6.0 →",
        "href": "/6/",
        "style": "fill #FEC137, text #000000 14px/21px 600, fully rounded (9999px), 230x39 desktop and phone, padding 8px 3px outer with the label padded inside; no hover colour change (transition 0.3s cubic-bezier(0.4,0,0.2,1))",
        "desktop": "x 605 y 238 (144px below the nav bottom), centred",
        "phone": "x 80 y 126, centred"
      },
      "nav": {
        "summary": "White bar, not sticky: logo left, four menu items left-aligned after it, Sign in text link and a dark Get Started — free button right. Two items (Product, Resources) open click/hover mega-panels",
        "ground": "#FFFFFF (var --header-bg #fff); position relative, scrolls away with the page (no sticky state)",
        "height": "94px desktop; 63px phone",
        "border": "none (no bottom hairline)",
        "logo": {
          "variant": "dark lockup: black orb + lowercase ghost wordmark (logo-black-1.webp)",
          "px": "109x40",
          "position": "desktop x 24 y 27; phone x 16 y 12",
          "file": "https://ghost.org/images/logos/logo-black-1.webp"
        },
        "links": {
          "count": 4,
          "labels": "Product (chevron), Explore, Resources (chevron), Pricing",
          "hrefs": "Product: menu; Explore: https://explore.ghost.org; Resources: menu; Pricing: /pricing/",
          "size": "15px/22.5px",
          "weight": 500,
          "color": "rgba(0,0,0,0.7) at rest, rgba(0,0,0,0.9) on hover (base #000000)",
          "alignment": "left group after the logo: x 173 (Product + 16px chevron, 76 wide), 289 Explore, 379 Resources (+chevron, 96 wide), 515 Pricing; ~40px between items",
          "chevron": "small chevron-down after Product and Resources, same colour as the label"
        },
        "actions": [
          "Sign in: text link 15px/500 rgba(0,0,0,0.7), hover 0.9, x 1187, href https://account.ghost.org/signin/",
          "Get Started — free: button #15171A, text #FFFFFF 14px/21px: \"Get Started\" 600 + \" — free\" 400, radius 6px, padding 8px 16px, 155x39 at x 1261 y 28, shadow 0 0 1px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.03); no hover change; href https://account.ghost.org/signup/"
        ],
        "dropdowns": {
          "Product": "panel x 51 y 90, 320 wide, white, padding 32px, radius 8px, ring 0 0 0 1px rgba(0,0,0,0.05), no drop shadow. One column of four items, 105px pitch; each: 20px slate #64748B line icon, title 18px/700 #000000, description 14px/400 rgba(0,0,0,0.7). Items: For Creators — \"YouTubers, bloggers, podcasters, musicians & artists\" (/creators/); For Publishers — \"Writers, journalists, local news and new media outlets\" (/publishers/); For Business — \"Modern brands & companies with ambitious content marketing\" (/business/); For Developers — \"Source code, documentation, guides and tutorials\" (https://docs.ghost.org/)",
          "Resources": "panel x 91 y 90, 672x440, same style, two columns (x 107 and 425, 322 wide), rows 101px pitch, in reading order: Marketplace — \"Professional themes, custom integrations and qualified experts\" (/marketplace/); Start here + NEW badge (10px/600 white on a pink pill; fill not measured, use #FF0095) — \"A huge library of guides, stories, interviews and tips for success\" (/resources/); Themes — \"Hundreds of beautifully designed publication templates\" (/themes/); Help center — \"Get help with product features and answers to common questions.\" (/help/); Integrations — \"Connect thousands of apps and services with your website\" (/integrations/); Product updates — \"All the latest changes and improvements to Ghost\" (/changelog/); Experts — \"Get help building your site from certified Ghost developers\" (/experts/); About us — \"Learn more about the people behind the platform (We're hiring!)\" (/about/)"
        },
        "sticky": "no: position relative, no scrolled state",
        "phone": {
          "shows": "logo left (109x40 at x 16), 36x36 hamburger button right (x 346 y 14); no CTA in the bar",
          "menu": "full-screen white sheet; top row logo + 36px close X on a light grey square (radius ~6px); then four rows For Creators / For Publishers / For Business / For Developers with green line icons (by eye; colour not measured) and phone-only descriptions: \"Join thousands of creators using Ghost to share their work\", \"The platform for independent publishers\", \"Content marketing for modern business\", \"Source code, documentation, guides and tutorials\" (titles 18px/700 #000000, descriptions 14px/400 rgba(0,0,0,0.7), ~80-100px pitch); a hairline; a 2-column link grid 15px/500 #000000 (x 16 and 211, 38px pitch): Explore, Pricing / Marketplace, Themes / Integrations, Resources / Help center, Product updates / Developers, About us; a hairline; full-width Get Started — free button (#15171A, radius 6px, ~342x39, inset 24px); centred \"Existing customer? Sign in\" 15px/500 rgba(0,0,0,0.7) with Sign in linked",
          "cta": "Not in the bar on phone; only inside the open menu"
        },
        "rendered_face": "Same as the hero: nav, buttons and pills render in the system sans-serif fallback (Helvetica) in the reference capture, not InterVariable."
      },
      "hero": {
        "summary": "White ground. Centred yellow launch pill, then a two-line centred 96px H1 in green-black #112220, then a full-width dark Ghost Admin dashboard panel with rounded top corners that sits half on white and half on a slate-200 strip and runs straight into the next band. No lead paragraph, no buttons in the hero",
        "desktop": "single centred column; pill y 238-277; H1 box x 300-1141 (841 wide) y 289-481, lines \"Turn your audience\" / \"into a business.\" at 96px line 96px; media wrapper margin-top 8vmin (72px): dark panel x 24 y 553, 1392x850, background #15171A, radius 16px 16px 0 0, overflow hidden, z above a #E2E8F0 strip that fills the lower half of the wrapper (y 978-1403, full bleed 1440); the panel bottom is flush with the strip bottom at y 1403 where the white statement band begins",
        "phone": "pill y 126 (230x39 centred); H1 25.35px (6.5vw) line 25.35px tracking -0.634px, centred, two lines y 176-229, box 222 wide; dashboard poster 358x219 at x 16 y 258, radius 8px top; #E2E8F0 strip y 367-477 behind its lower half",
        "at_rest": "Static state = the desktop element image listed in media: dashboard with 13,041 / 3,207 / 9,834 and the \"New paid member signup / Just now\" toast visible top right; the pill and H1 are static",
        "media": {
          "what": "Ghost Admin dashboard (dark). Desktop: a live DOM render in an iframe (/renders/dashboard.<hash>.html, aspect 1688/1031, pointer-events none) that animates counters and a toast. Phone (<640px): a static poster image in <picture>. No video, no canvas",
          "image_desktop": "https://ghost.org/ (DOM-built dashboard iframe; no media file at desktop)",
          "image_desktop_note": "Element screenshot of the DOM-built iframe at rest (no media file at desktop)",
          "image_phone": "https://ghost.org/renders/posters/dashboard-1170.2a834c7d0bab2afeac8cc059efa36f9c2d62fef454fa98c2665e0bdf830e3876.webp",
          "image_phone_note": "The site's own poster file (1170x714). Its chart is the \"Total members\" variant with tooltip 13,041; desktop shows \"Paid members\" with tooltip 3,719. Use the desktop element image at 1440, the poster at 390",
          "resting_values": "Total members 13,041 (+4%), Paid members 3,207 (+1%), Free members 9,834 (+8%); sidebar Members badge 13,041; chart tooltip 9 Apr, 2022 / 3,719 Paid members; MRR $21,819 (+3.8%); Engagement 68% (last 30 days), 36% (last 7 days), 9,863 Newsletter subscribers; Recent posts: Subscription business metrics explained for publishers 12,984 sends 76%; How to create a valuable offer that converts 11,701 sends 92%; date axis 19 Mar, 2022 - 19 Apr, 2022; Past 30 days selector",
          "animation_only": "Toast \"New paid member signup / Just now\" slides in at top right; Total members then ticks to 13,042 and Paid members to 3,208 (animation only, never print these). The toast is part of the at-rest desktop screenshot, the incremented numbers are not"
        },
        "type": "H1 InterVariable opsz 32, 96px/96px 700, tracking -2.4px, #112220, centred, sentence case with full stop",
        "cta": "none in the hero (the first CTA is the Try Ghost link under the statement)",
        "proof": "the dashboard numbers are the proof; no logos",
        "rendered_face": "RENDERED FACE (observed 2026-10-30, by measurement): ghost.org declares InterVariable with font-display: optional, so on a first, uncached visit the browser keeps the system fallback for the whole page view. The reference homepage capture renders every line in the platform sans-serif (Helvetica on macOS): the H1 line 'Turn your audience' measures 840px wide (x 300-1140), exactly Helvetica Bold 96px at -2.4px tracking; InterVariable at the same settings measures 809px. To rebuild the homepage as first served, do NOT load InterVariable: set font-family: Helvetica, \"Helvetica Neue\", Arial, sans-serif on every role, keep every size, weight, line height and tracking in this spec unchanged, and drop font-variation-settings. Inter (InterVariable) remains the brand face a returning visitor sees once the font is cached."
      },
      "sections": [
        {
          "name": "Statement",
          "summary": "White band: one large bold paragraph describing Ghost, then a big slate arrow link",
          "ground": "#FFFFFF",
          "desktop": "y 1403-2024 (621px); padding 11vmin top (99px) / 12vmin bottom (108px), 24px sides; paragraph x 24, max width 1152px, 48px/64.8px 700 tracking -1.2px #000000, 5 lines; link 36px/54px 600 tracking -0.9px #64748B at y 1862 (36px below the paragraph): \"Try Ghost completely free for 14 days →\" (href https://account.ghost.org/signup/), no underline at rest or hover",
          "phone": "y 477-901; padding 42.9/16/46.8; paragraph 24px/32.4px 700 -0.6px, 358 wide, 8 lines; link 20px/30px 600 -0.5px, wraps so the → falls to line 2",
          "anatomy": [
            "Left-aligned, not centred, despite the centred hero above",
            "Copy: \"Ghost is a powerful app for professional publishers to create, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.\"",
            "No eyebrow, no image",
            "Line breaks at 1440 (Helvetica fallback, 48px/64.8px 700, -1.2px, max-width 1152px): 5 lines; line right edges x 1139, 1114, 1017, 1108, 714; line 1 ends 'publishers', line 3 ends 'a'",
            "Phone link: 'Try Ghost completely free for 14 days' fills line 1 and the arrow '→' alone on line 2; no max-width on the link (full 358px column)"
          ],
          "components": [
            "text_link_cta_light"
          ]
        },
        {
          "name": "Easy site design",
          "summary": "Navy band: text column left, a white Site design product panel bleeding off the right edge, then a 5-column staggered masonry wall of theme screenshots clipped at the band bottom",
          "ground": "#0F172A",
          "desktop": "y 2024-3749 (1725px), padding 0 24px; 12-col grid gap 8vmin: text column x 24 w 538 (eyebrow y 2206, H2 y 2242, paragraphs y 2431/2527/2659, link y 2755); panel x 634 y 2072, 1280x853, #FFFFFF, radius 16px, runs past x 1440 and is clipped; theme wall y 3005-3749: 5 columns 266px wide at x 24/306/587/869/1150 (gap ~16px), 3-4 images per column with 16px vertical gaps, column tops staggered (y 3043, 3005, 3136, 3091, 3133), images square-cornered, last row cut off by the band edge",
          "phone": "y 901-2149; text stack (eyebrow 12px, H2 24px/36px, paragraphs 20px/30px, link 20px/30px 600); themes poster 390x260 at x 16 y 1562 (bleeds off the right edge, radius 8px); theme wall: exactly 4 columns of 81px thumbnails at x 16/109/201/294, staggered, running into and clipped by the band bottom",
          "anatomy": [
            "Eyebrow \"Easy site design\" 12px/12px 700 uppercase +1.2px #D1FF19",
            "H2 \"Complete control over your website and branding.\" 48px/55.2px 700 #FFFFFF, \"your\" in italic",
            "3 paragraphs 24px/36px 400 #CBD5E1, 24px apart: \"Launch a custom website and tweak the design settings to perfectly match your brand and style.\" / \"Go even further with hundreds of custom themes in our marketplace, or build your own completely custom design from scratch.\" / \"Your unique brand sits front and center, while Ghost runs things in the background.\"",
            "Link \"Explore Ghost themes →\" 24px/36px 600 #D1FF19 to /themes/, underline on hover",
            "Panel media: Site design settings UI (Accent color, Theme Light/Dark, Publication logo, Header Full-width, Font style Elegant serif) beside a \"The Headliner\" theme preview; desktop is a DOM render, use the poster/element image",
            "17 theme thumbnails (assets theme-gallery-*.webp)",
            "Phone paragraphs: 20px/30px 400 #CBD5E1, each with margin-top 24px (y 1081, 1195, 1339 at 390; heights 90/120/90); the link follows 24px below the last",
            "Phone theme wall: exactly 4 columns (never 5) of 81px-wide thumbnails at x 16 / 109 / 201 / 294 (about 12px gaps), heights 45-50px each, square corners, ~12px vertical gaps, column tops staggered; the wall runs down to the band's bottom edge and is clipped there by the next band (no empty navy below the last row)",
            "Theme wall implementation: give the wall container a fixed height that ends exactly at the band's bottom edge with overflow hidden, and put more thumbnails in each column than fit (6+ per column), so the last row is always cut by the band edge, desktop and phone"
          ],
          "components": [
            "text_link_lime_on_dark",
            "product_panel",
            "eyebrow"
          ]
        },
        {
          "name": "Advanced creator tools",
          "summary": "Slate-200 band: eyebrow, H2, lead, a full-width white editor panel, then two alternating image/text feature rows",
          "ground": "#E2E8F0",
          "desktop": "y 3748-6333 (2585px), padding 8vmin (72px) / 24px; eyebrow y 3820, H2 48px/55.2px 700 -1.2px #000000 y 3848, lead 24px/36px #334155 max 768 y 3928; editor panel x 24 y 4152, 1392x813, #FFFFFF, radius 16px, shadow 0 0 1px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.03); row 1: image 549x549 at x 24 y 5044, text at x 733 w 576 (H3 y 5237); row 2 reversed: text x 131 w 576 (H3 y 5825), image x 868 y 5633; text vertically centred on the image",
          "phone": "y 2149-4052; padding 31.2/16; H2 24px/24px -0.6px; lead 20px/30px; editor poster 358x209 radius 8px; each row stacks image (358x358) above text, both rows image-first; H3 24px/24px -0.6px; body 20px/30px",
          "anatomy": [
            "Eyebrow \"Advanced creator tools\" 12px 700 uppercase +1.2px #64748B",
            "H2 \"Publish by web & email newsletter.\"",
            "Lead: \"An editor built from the ground-up for professionals. Calm by design, with advanced workflows by default. No more suffering through clumsy toolbars or drag & oops. Immerse yourself in the story with an interface that's invisible until you need it, and powerful when you do.\"",
            "Editor panel: Ghost editor with post \"How to make music with a single analog monosynth\" (DOM render on desktop; poster editor-poster-1170.webp)",
            "Feature H3 36px/36px 700 -0.9px #000000, body 24px/36px #334155: \"Rich media & dynamic cards.\" / \"Modern publishing requires more than just words. Expand your story with image galleries, gifs, video, audio, products, info boxes, accordion toggles, downloadable files, bookmarks, and so much more.\"; \"Newsletters built-in.\" / \"Deliver posts by email newsletter to your audience, so they'll be in the loop whenever something new goes live. Segment your audience and send multiple different newsletters based on preference.\"",
            "Feature images are flat illustrations on a faint lighter square (feature-rich-media.webp, feature-newsletters.webp, 816x816)",
            "Editor panel top is 84px below the lead's last line box (lead ends y 4068, panel y 4152 at 1440); use a desktop-resolution image: editor-desktop-rest-2x.png (2784x1626, the resting first frame: title at top, cursor near 'Add feature image'), never the 1170 poster at desktop"
          ],
          "components": [
            "eyebrow",
            "product_panel",
            "feature_row"
          ]
        },
        {
          "name": "Grow your audiences",
          "summary": "Navy band: a big pink portal-signup panel left, text column right",
          "ground": "#0F172A",
          "desktop": "y 6333-7277 (944px), padding 72px/24px; pink panel x 24 y 6405, 797x800, #F8B1E2, radius 16px, holding a centred Ghost Portal animation; text column x 857 w 559: eyebrow y 6546, H2 48px/55.2px -1.2px #FFFFFF y 6582, three paragraphs 24px/36px #CBD5E1, closing line 24px/36px 500 #FFFFFF",
          "phone": "y 4053-5135; panel first (358x434 at x 16, radius 8px), then text; H2 24px/30px -0.6px; paragraphs 20px/30px",
          "anatomy": [
            "Eyebrow \"Grow your audiences\" #D1FF19",
            "H2 \"Transform those clicks into contacts.\"",
            "Paragraphs: \"Until now, building an indie publication with memberships and subscriptions has been difficult and complicated.\" / \"Ghost makes it easy, with native signup forms that turn anonymous views into logged-in members.\" / \"Allow people to sign up for free, or purchase a paid subscription to support your work across monthly and yearly premium tiers.\"",
            "Closing line \"Hello, new friends.\" 500 white",
            "Panel at rest: a purple pill (colour is inside the image) \"Subscribe\" button with person icon centred on the pink and a cursor; it then loops through a Sign up card and a sign-in email (animation only). Use portal-poster-1078.webp / portal-subscribe-element-2x.png"
          ],
          "components": [
            "eyebrow",
            "product_panel"
          ]
        },
        {
          "name": "Run your business",
          "summary": "White band: eyebrow, H2, lead, a wide members-table panel, then two alternating feature rows",
          "ground": "#FFFFFF",
          "desktop": "y 7277-9839 (2562px), padding 72px/24px; eyebrow y 7349, H2 y 7377, lead 24px/36px #334155 max 768 y 7457; members panel (white card with soft shadow, radius ~8px inside the image) full container width ~1392 below the lead; row 1: image 549x549 at x 24 y 8550, text x 733 (H3 \"Native analytics.\" y 8742); row 2: text x 131 (H3 \"Offers & promotions.\" y 9331), image x 868 y 9139",
          "phone": "y 5135-6832; members poster 358x216 at y 5403; rows image-first",
          "anatomy": [
            "Eyebrow \"Run your business\" #64748B",
            "H2 \"Manage your memberships.\"",
            "Lead \"See who's signing up, who's paying, and what they're reading, so you can get a better understanding of your core audience.\"",
            "Members panel at rest (members-poster-1170.webp): table header \"2,784 MEMBERS / STATUS / EMAILS OPENED / OPEN RATE\"; rows Carla Stanton (Paid member – Gold tier, 11, 92%), Cooper Korsgaard (Free member, 24, 87%), Tiana Aminoff (Paid – Silver, 39), Charlie Westervelt (Paid – Bronze, 73) ... plus a Jamie Larson member card (132 received, 129 opened, 97% open rate; newsletters Weekly roundup off, Daily newsletter on, Specials on). Rows fading in one by one on desktop is animation only",
            "\"Native analytics.\" / \"Understand what's working. Detailed engagement analytics for your audience so you can understand what content is getting the most attention, and who your biggest fans are.\"",
            "\"Offers & promotions.\" / \"Entice new subscribers with offers and promotions to grow your business. Run a 30% discount for your first 100 subscribers, an 80%-off Black Friday sale, or a special promotion for a live event.\""
          ],
          "components": [
            "eyebrow",
            "feature_row",
            "product_panel"
          ]
        },
        {
          "name": "Integrations",
          "summary": "White band: a cloud of app-icon tiles in staggered columns across (and past) the full width, centred eyebrow, H2, body and link underneath",
          "ground": "#FFFFFF",
          "desktop": "y 9839-10413 (574px), padding 0 24px 90px; icon tiles in columns at ~145px pitch from x -407 to 1777 (only x 0-1440 visible, overflow clipped), 1-2 tiles per column, column tops stepping in an arc (y 9811-10291); tiles white with 1px #E5E5E5 border, radius 24px, shadow 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1); tile sizes 54-96px; hover tooltip (12px white on #18181B, radius 8px, padding 8px 12px) is opacity 0 at rest. Static, not a marquee (positions identical 3s apart). Text centred, 672 wide at x 384: eyebrow (h2) y 10087, H2 y 10123, body y 10179, link y 10293",
          "phone": "y 6832-7423; a single row of ~4 visible tiles above the text, clipped both sides; H2 36px/32.4px -0.9px on two lines; body 20px/25px; link 20px/30px",
          "anatomy": [
            "Visible desktop icons left to right: Discord, Spotify, Ulysses, ActiveCampaign, Twitter, Zapier, Stripe, Slack, Instagram, Facebook, iA Writer, YouTube, Feedly, Google Analytics (off-canvas also GeckoBoard, Discourse, Imgur, MailChimp, Pinterest, HelpScout, Buffer, Unsplash, AirTable, Vimeo, GitHub, Netlify, Let's Encrypt, Plausible, ChartMogul, Cove, Udesly, Giphy, Intercom, Tally)",
            "Eyebrow \"Integrations\" 12px 700 uppercase +1.2px #64748B",
            "H2 \"Works with everything.\" 36px/32.4px 700 -0.9px #000000",
            "Body 24px/30px #334155: \"Social, referral programs, push notifications, social sharing, payment gateways, A/B testing, desktop editors, mobile apps, comments, recommendations.\" + bold \"Yes.\"",
            "Link \"Explore the integrations library →\" 20px/30px 600 #64748B to /integrations/, underline on hover",
            "Every tile is a 96x96 box (border-box), 1px #E5E5E5 border, radius 24px, the shadow above, columns at a 144px pitch (x 24, 168, 312, 456, 600, 744, 888, 1032, 1176, 1320 visible). Artwork is normalised by per-tile padding, measured 2026-10-30: padding 0 (art fills 94x94, full-bleed app icons): Discord, Twitter, Zapier, Instagram, Facebook, Feedly, Pinterest, GitHub, Netlify, Udesly, Intercom, Geckoboard, Imgur; 8px with fill #2862AE: ActiveCampaign; 12px: Spotify (70x70); 12px fill #1BB6EB: Vimeo; 8px fill #FF0000: YouTube (svg); 16px (62x62 art): Ulysses, Slack, iA Writer, Discourse, Mailchimp, HelpScout, Plausible, Cove, Tally; 20px (54x54): Google Analytics, Buffer, ChartMogul; 24px: Giphy, Unsplash; Stripe svg fills the tile. Tile background is transparent unless a fill is listed (the white comes from the page)"
          ],
          "components": [
            "integration_tile",
            "text_link_cta_light"
          ]
        },
        {
          "name": "Revenue and showcase",
          "summary": "Dark Grey band: centred revenue proof figure, then three showcase rows (Publishers, Creators, Businesses), each a label, a two-line tagline, a lime Learn more button and four photo cards",
          "ground": "#15171A",
          "desktop": "y 10413-12376 (1962px), padding 5vmin (45px) top, 24px sides; revenue block centred: graph icon 77x58 at y 10506, figure y 10556, sub y 10644 (512 wide), 80px padding then 1px #1F2937 bottom rule. Showcase rows start y 10865 / 11353 / 11841 (488px pitch): H2 36px/36px 700 #FFFFFF at x 24 (324 wide column); tagline at x 380: line 1 24px/30px 500 #FFFFFF, line 2 24px/30px 400 #94A3B8; Learn more button right-aligned x 1283 (133x39). Cards 40px below (mt-10): 4 cards x 24/380/736/1092, each image 324x201 radius 8px object-fit fill (whole image, no crop), caption row 14px below: name 18px/18px 600 #FFFFFF left, category 15px/22.5px 400 #9CA3AF right; row ends with 64px padding and a 1px #1F2937 bottom rule (not after Businesses)",
          "phone": "revenue figure 48px/48px, sub 20px/25px; each showcase row: H2 24px/24px, taglines 18px/22.5px, Learn more below them; cards in a horizontal snap-scroll row (overflow-x auto, scroll-snap x mandatory, gap 32px), cards 304x189 at x 16/352/689/1025 so one card plus a sliver of the next shows",
          "anatomy": [
            "Revenue: \"$100,000,000+\" 72px/72px 700 #FFFFFF; \"Revenue earned each year by publications running on Ghost, with 0% payment fees.\" 24px/30px #CBD5E1 with \"0%\" 500 #FFFFFF",
            "Publishers — \"A newsletter is just the start\" / \"Build your own independent media business\" — Learn more → /publishers: 404 Media (Technology), Tangle (Politics), Platformer (Technology), The Lever (Politics)",
            "Creators — \"Escape the algorithm\" / \"Your audience, brand, and revenue – owned entirely by you\" — /creators: Gone With The Wynns (Travel), Creator Science (Business), DESK Magazine (Design), Jeff Su (Productivity)",
            "Businesses — \"Content marketing you can measure\" / \"Turn clicks into contacts with native lead gen & analytics\" — /business: YCombinator (Business), Kickstarter (Business), Buffer (Business), Unsplash (Culture)",
            "Card images carry the publication's own logo over a photo or brand colour (showcase-*.webp, 618x384)",
            "Card images: object-fit fill (the default), never cover: the whole 618x384 file shows, scaled to 324x201 (same 1.61 ratio), no crop or zoom; radius 8px",
            "Phone band y 7491-9349 (about 1858px): revenue block 7491-7729 (238), Publishers row 7769-8237 (468), Creators row 8277-8768 (491), Businesses row 8807-9329 (522), measured top-level boxes at 390 on 2026-10-30"
          ],
          "components": [
            "learn_more_on_dark",
            "showcase_card"
          ]
        },
        {
          "name": "Built to last",
          "summary": "White band: eyebrow, a two-tone 36px statement, a bold kicker, then a full-width dark Posts screenshot whose bottom sinks into the dark launch band",
          "ground": "#FFFFFF (with a #151719 strip behind the screenshot bottom)",
          "desktop": "y 12376-13545 (1169px), padding 72px/24px; eyebrow y 12448; statement 36px/45px max 600 wide, 4 lines y 12484; kicker y 12690; screenshot x 24 y 12773, 1392x772, radius 16px; a 108px (12vh) #151719 strip y 13437-13545 behind its bottom edge",
          "phone": "statement 24px/30px; kicker 24px/30px 700; screenshot 358x200 radius 8px",
          "anatomy": [
            "Eyebrow \"Built to last\" 12px/12px 600 uppercase +1.2px #64748B",
            "Statement: \"A product you can depend on.\" 700 #000000 + \" Ghost is open source, independent, and funded 100% by its users.\" 600 #6B7280",
            "Kicker \"No investors. No bullshit.\" 36px/45px 700 #000000, 24px below",
            "Screenshot: Ghost Admin Posts list (built-to-last-posts.png, 1440x796) with the green New post button",
            "Statement markup: one paragraph, bold black sentence 'A product you can depend on.' then a <br>, so the grey sentence always starts on a new line; container max-width 600px desktop / 400px phone; desktop 36px/45px: line 1 is the bold sentence alone (600 wide), the grey sentence follows on 3 lines",
            "Screenshot frame: 1px solid #2C2E30 border (observed by pixel, 2026-10-30) with radius 16px, visible along the bottom edge where the panel overlaps the #151719 strip; the panel fill near the edge is #101216",
            "Phone band y 9349-9830 (481px) at 390, measured 2026-10-30"
          ],
          "components": [
            "eyebrow",
            "product_panel"
          ]
        },
        {
          "name": "Launch CTA",
          "summary": "Dark Grey band, everything centred: lime eyebrow, two-tone 48px line with a live-looking count, a white 48px kicker and a lime button",
          "ground": "#15171A",
          "desktop": "y 13545-14152 (607px), padding 14vmin (126px) top; eyebrow y 13671; line y 13710 (2 lines, 819 wide); kicker y 13844; button 271x62 at x 584 y 13964 (visible gap 65px below the kicker line box; CSS margin-top 40px)",
          "phone": "eyebrow 12px/12px 600 +1.2px; line 24px/30px on 3 lines; kicker 24px/30px; button same 271x62 centred",
          "anatomy": [
            "Eyebrow \"Launch your big idea\" 15px/15px 600 uppercase +1.5px #D1FF19",
            "Line \"Last week, 10,603 brand new publications got started with Ghost.\" 48px/55.2px 600 #9CA3AF with \"10,603\" 700 #FFFFFF; 10,603 is the printed resting value",
            "Kicker \"Today, it's your turn.\" 48px/55.2px 700 #FFFFFF",
            "Button \"Start publishing now →\" fill #D1FF19, text #000000 20px/30px 600, radius 8px, padding 16px 24px, href https://account.ghost.org/signup/",
            "Phone band y 9830-10245 (415px) at 390, measured 2026-10-30; button 65px below the kicker's line box (the earlier '40px margin top' is the CSS margin; the visible gap is 65px)"
          ],
          "components": [
            "button_primary_lime_on_dark"
          ]
        }
      ],
      "footer": {
        "summary": "Dark Grey footer continuing the launch band (no rule between): light logo + four top links, five link columns, then a bottom row with three badge logos left and legal links right",
        "ground": "#15171A",
        "anatomy": [
          "y 14152-14761 (609px), padding 0 24px",
          "Row 1 (y 14188): light logo 109x40 at x 24 (ghost-logo-light.webp); links About (/about/), Explore (/explore/), Careers (https://careers.ghost.org/), Resources (https://ghost.org/resources/) 15px/22.5px 500 #FFFFFF starting x 149",
          "Columns (heading y 14302; x 24, 310, 595, 881, 1166; 250 wide; headings 15px 500 #FFFFFF; links 15px/18.75px 400 #94A3B8, padding 8px 0, 35px pitch, hover #FFFFFF):",
          "Product: Creator platform (/), Theme marketplace (/marketplace/), Integrations (/integrations/), Experts (/experts/), Ghost for news (/news/)",
          "Developers: How to install Ghost (https://docs.ghost.org/install/), Core concepts (https://docs.ghost.org/), Ghost hosting (/pricing/), API documentation (https://docs.ghost.org/content-api/), Security overview (https://docs.ghost.org/security/), Source code (https://github.com/TryGhost/Ghost)",
          "Resources: Ghost tutorials (/tutorials/), Resources (/resources/), Ghost reviews (/love/), Open Subscription Platforms (https://opensubscriptionplatforms.com)",
          "Comparisons: Ghost vs Substack (/vs/substack/), Ghost vs BeeHiiv (/vs/beehiiv/), Ghost vs WordPress (/vs/wordpress/), Ghost vs Medium (/vs/medium/), Ghost vs Patreon (/vs/patreon/), Ghost alternatives → (/alternatives/, in #D1FF19)",
          "Support: Help center (/help/), Community forum (https://forum.ghost.org/), Status (https://status.ghost.org/) followed by a badge \"99.9%\" 12px/18px 600 #CBD5E1 on #334155, radius 4px, padding 0 4px, with a small up-triangle",
          "Bottom row (y ~14650): badges left: Non-Profit Foundation (indie.svg 89x34 at x 24), Open Source (opensource.svg 89x34 at x 161), Carbon Neutral (carbonneutral.svg 102x41 at x 298), all white line art",
          "Legal right-aligned: Terms (/terms/), Privacy (/privacy/), Contact (/contact/), \"Ghost Foundation © 2026\" (/) — 14px/21px 400 #94A3B8, padding 0 8px, hover #FFFFFF",
          "No address or phone number is printed on the homepage",
          "Phone footer starts y 10245 at 390; page ends 10397 (measured 2026-10-30)"
        ],
        "phone": "Only row 1 and the badges: four top links About, Explore, Careers, Resources centred in one row (14px/21px 500 #FFFFFF, y 10202), then the three badges in one row (x 16 / 147 / 279, y 10270); the logo, the five columns and the legal links are hidden at 390. Page ends at 10397px (measured page height at 390, 2026-10-30)",
        "rendered_face": "Footer text renders in the system sans-serif fallback (Helvetica) in the reference capture."
      },
      "dark_ground": {
        "secondary_button": "Learn more → : fill #1A2E05, text #BEF264 15px/22.5px 600, radius 8px, padding 8px 16px, 133x39",
        "link": "#D1FF19 600 with →, underline on hover (Explore Ghost themes, Ghost alternatives)",
        "muted_text": "#CBD5E1 for paragraphs on navy/dark; #94A3B8 for secondary lines and footer links; #9CA3AF for tags",
        "hairline": "#1F2937 1px",
        "logo_variant": "light lockup (white orb + white ghost wordmark), ghost-logo-light.webp 109x40",
        "primary_button": "Start publishing now: #D1FF19 fill, #000000 text, radius 8px"
      }
    },
    "bands": [
      {
        "label": "Navigation",
        "ground": "#FFFFFF",
        "content": "logo, Product, Explore, Resources, Pricing, Sign in, Get Started — free",
        "desktop": "94px, not sticky, no border",
        "phone": "63px: logo + hamburger",
        "anatomy": [
          "Product and Resources open white mega-panels with ring rgba(0,0,0,0.05), radius 8px"
        ]
      },
      {
        "label": "Hero",
        "ground": "#FFFFFF",
        "content": "yellow launch pill, 96px centred H1, dark dashboard panel",
        "desktop": "y 94-1403; pill y 238, H1 y 289, panel 1392x850 at y 553 radius 16px top",
        "phone": "y 63-477; H1 25.35px; poster 358x219",
        "anatomy": [
          "Dashboard numbers at rest 13,041 / 3,207 / 9,834; increments are animation only",
          "Slate strip fills the lower half behind the panel",
          "Ground #FFFFFF; the bottom of the band behind the dashboard is a #E2E8F0 strip"
        ]
      },
      {
        "label": "Statement",
        "ground": "#FFFFFF",
        "content": "48px bold paragraph, 36px slate Try link",
        "desktop": "621px, left-aligned, max 1152",
        "phone": "424px, 24px paragraph",
        "anatomy": [
          "No eyebrow, no image",
          "Copy: \"Ghost is a powerful app for professional publishers to create, share, and grow a business around their content. It comes with modern tools to build a website, publish content, send newsletters & offer paid subscriptions to members.\"",
          "Line breaks at 1440 (Helvetica fallback, 48px/64.8px 700, -1.2px, max-width 1152px): 5 lines; line right edges x 1139, 1114, 1017, 1108, 714; line 1 ends 'publishers', line 3 ends 'a'",
          "Phone link: 'Try Ghost completely free for 14 days' fills line 1 and the arrow '→' alone on line 2; no max-width on the link (full 358px column)"
        ]
      },
      {
        "label": "Easy site design",
        "ground": "#0F172A",
        "content": "eyebrow, H2, 3 paras, lime link; Site design panel bleeding right; theme masonry wall",
        "desktop": "1725px",
        "phone": "1248px",
        "anatomy": [
          "5-col staggered thumbnails clipped at the band bottom",
          "17 theme thumbnails (assets theme-gallery-*.webp)",
          "Phone paragraphs: 20px/30px 400 #CBD5E1, each with margin-top 24px (y 1081, 1195, 1339 at 390; heights 90/120/90); the link follows 24px below the last",
          "Phone theme wall: exactly 4 columns (never 5) of 81px-wide thumbnails at x 16 / 109 / 201 / 294 (about 12px gaps), heights 45-50px each, square corners, ~12px vertical gaps, column tops staggered; the wall runs down to the band's bottom edge and is clipped there by the next band (no empty navy below the last row)",
          "Theme wall implementation: give the wall container a fixed height that ends exactly at the band's bottom edge with overflow hidden, and put more thumbnails in each column than fit (6+ per column), so the last row is always cut by the band edge, desktop and phone"
        ]
      },
      {
        "label": "Advanced creator tools",
        "ground": "#E2E8F0",
        "content": "eyebrow, H2, lead, editor panel, 2 feature rows",
        "desktop": "2585px, rows alternate image left/right",
        "phone": "1903px, image-first stacks",
        "anatomy": [
          "Feature images 549x549; text column 576 wide",
          "Editor panel: Ghost editor with post \"How to make music with a single analog monosynth\" (DOM render on desktop; poster editor-poster-1170.webp)",
          "Feature H3 36px/36px 700 -0.9px #000000, body 24px/36px #334155: \"Rich media & dynamic cards.\" / \"Modern publishing requires more than just words. Expand your story with image galleries, gifs, video, audio, products, info boxes, accordion toggles, downloadable files, bookmarks, and so much more.\"; \"Newsletters built-in.\" / \"Deliver posts by email newsletter to your audience, so they'll be in the loop whenever something new goes live. Segment your audience and send multiple different newsletters based on preference.\"",
          "Feature images are flat illustrations on a faint lighter square (feature-rich-media.webp, feature-newsletters.webp, 816x816)",
          "Editor panel top is 84px below the lead's last line box (lead ends y 4068, panel y 4152 at 1440); use a desktop-resolution image: editor-desktop-rest-2x.png (2784x1626, the resting first frame: title at top, cursor near 'Add feature image'), never the 1170 poster at desktop"
        ]
      },
      {
        "label": "Grow your audiences",
        "ground": "#0F172A",
        "content": "pink portal panel left, text right",
        "desktop": "944px; panel 797x800 #F8B1E2 radius 16px",
        "phone": "1082px, panel first",
        "anatomy": [
          "Portal at rest = purple Subscribe pill",
          "Paragraphs: \"Until now, building an indie publication with memberships and subscriptions has been difficult and complicated.\" / \"Ghost makes it easy, with native signup forms that turn anonymous views into logged-in members.\" / \"Allow people to sign up for free, or purchase a paid subscription to support your work across monthly and yearly premium tiers.\"",
          "Closing line \"Hello, new friends.\" 500 white",
          "Panel at rest: a purple pill (colour is inside the image) \"Subscribe\" button with person icon centred on the pink and a cursor; it then loops through a Sign up card and a sign-in email (animation only). Use portal-poster-1078.webp / portal-subscribe-element-2x.png"
        ]
      },
      {
        "label": "Run your business",
        "ground": "#FFFFFF",
        "content": "eyebrow, H2, lead, members table, 2 feature rows",
        "desktop": "2562px",
        "phone": "1697px",
        "anatomy": [
          "Members table 2,784 MEMBERS",
          "Members panel at rest (members-poster-1170.webp): table header \"2,784 MEMBERS / STATUS / EMAILS OPENED / OPEN RATE\"; rows Carla Stanton (Paid member – Gold tier, 11, 92%), Cooper Korsgaard (Free member, 24, 87%), Tiana Aminoff (Paid – Silver, 39), Charlie Westervelt (Paid – Bronze, 73) ... plus a Jamie Larson member card (132 received, 129 opened, 97% open rate; newsletters Weekly roundup off, Daily newsletter on, Specials on). Rows fading in one by one on desktop is animation only",
          "\"Native analytics.\" / \"Understand what's working. Detailed engagement analytics for your audience so you can understand what content is getting the most attention, and who your biggest fans are.\"",
          "\"Offers & promotions.\" / \"Entice new subscribers with offers and promotions to grow your business. Run a 30% discount for your first 100 subscribers, an 80%-off Black Friday sale, or a special promotion for a live event.\""
        ]
      },
      {
        "label": "Integrations",
        "ground": "#FFFFFF",
        "content": "icon tile cloud + centred text and link",
        "desktop": "574px, tiles radius 24px",
        "phone": "591px",
        "anatomy": [
          "Static, overflow clipped; tooltips hover-only",
          "H2 \"Works with everything.\" 36px/32.4px 700 -0.9px #000000",
          "Body 24px/30px #334155: \"Social, referral programs, push notifications, social sharing, payment gateways, A/B testing, desktop editors, mobile apps, comments, recommendations.\" + bold \"Yes.\"",
          "Link \"Explore the integrations library →\" 20px/30px 600 #64748B to /integrations/, underline on hover",
          "Every tile is a 96x96 box (border-box), 1px #E5E5E5 border, radius 24px, the shadow above, columns at a 144px pitch (x 24, 168, 312, 456, 600, 744, 888, 1032, 1176, 1320 visible). Artwork is normalised by per-tile padding, measured 2026-10-30: padding 0 (art fills 94x94, full-bleed app icons): Discord, Twitter, Zapier, Instagram, Facebook, Feedly, Pinterest, GitHub, Netlify, Udesly, Intercom, Geckoboard, Imgur; 8px with fill #2862AE: ActiveCampaign; 12px: Spotify (70x70); 12px fill #1BB6EB: Vimeo; 8px fill #FF0000: YouTube (svg); 16px (62x62 art): Ulysses, Slack, iA Writer, Discourse, Mailchimp, HelpScout, Plausible, Cove, Tally; 20px (54x54): Google Analytics, Buffer, ChartMogul; 24px: Giphy, Unsplash; Stripe svg fills the tile. Tile background is transparent unless a fill is listed (the white comes from the page)"
        ]
      },
      {
        "label": "Revenue and showcase",
        "ground": "#15171A",
        "content": "$100,000,000+, 3 showcase rows of 4 cards",
        "desktop": "1962px, 488px row pitch",
        "phone": "snap-scroll card rows, 304x189 cards",
        "anatomy": [
          "1px #1F2937 rules between rows",
          "Lime-on-olive Learn more buttons",
          "Businesses — \"Content marketing you can measure\" / \"Turn clicks into contacts with native lead gen & analytics\" — /business: YCombinator (Business), Kickstarter (Business), Buffer (Business), Unsplash (Culture)",
          "Card images carry the publication's own logo over a photo or brand colour (showcase-*.webp, 618x384)",
          "Card images: object-fit fill (the default), never cover: the whole 618x384 file shows, scaled to 324x201 (same 1.61 ratio), no crop or zoom; radius 8px",
          "Phone band y 7491-9349 (about 1858px): revenue block 7491-7729 (238), Publishers row 7769-8237 (468), Creators row 8277-8768 (491), Businesses row 8807-9329 (522), measured top-level boxes at 390 on 2026-10-30"
        ]
      },
      {
        "label": "Built to last",
        "ground": "#FFFFFF",
        "content": "eyebrow, two-tone statement, kicker, Posts screenshot",
        "desktop": "1169px; screenshot 1392x772 radius 16px",
        "phone": "screenshot 358x200",
        "anatomy": [
          "#151719 108px strip behind the screenshot bottom",
          "Screenshot: Ghost Admin Posts list (built-to-last-posts.png, 1440x796) with the green New post button",
          "Statement markup: one paragraph, bold black sentence 'A product you can depend on.' then a <br>, so the grey sentence always starts on a new line; container max-width 600px desktop / 400px phone; desktop 36px/45px: line 1 is the bold sentence alone (600 wide), the grey sentence follows on 3 lines",
          "Screenshot frame: 1px solid #2C2E30 border (observed by pixel, 2026-10-30) with radius 16px, visible along the bottom edge where the panel overlaps the #151719 strip; the panel fill near the edge is #101216",
          "Phone band y 9349-9830 (481px) at 390, measured 2026-10-30"
        ]
      },
      {
        "label": "Launch CTA",
        "ground": "#15171A",
        "content": "lime eyebrow, 10,603 line, kicker, lime button",
        "desktop": "607px centred",
        "phone": "24px type, same button",
        "anatomy": [
          "Runs into the footer with no rule",
          "Line \"Last week, 10,603 brand new publications got started with Ghost.\" 48px/55.2px 600 #9CA3AF with \"10,603\" 700 #FFFFFF; 10,603 is the printed resting value",
          "Kicker \"Today, it's your turn.\" 48px/55.2px 700 #FFFFFF",
          "Button \"Start publishing now →\" fill #D1FF19, text #000000 20px/30px 600, radius 8px, padding 16px 24px, href https://account.ghost.org/signup/",
          "Phone band y 9830-10245 (415px) at 390, measured 2026-10-30; button 65px below the kicker's line box (the earlier '40px margin top' is the CSS margin; the visible gap is 65px)"
        ]
      },
      {
        "label": "Footer",
        "ground": "#15171A",
        "content": "light logo, 4 top links, 5 columns, badges, legal",
        "desktop": "609px",
        "phone": "top links + badges only",
        "anatomy": [
          "Ghost Foundation © 2026"
        ]
      }
    ],
    "layout": {
      "page_margin": {
        "desktop": 24,
        "phone": 16
      },
      "section_padding": {
        "desktop": 72,
        "phone": 31.2
      },
      "container_max": 1392,
      "hero_text_max": 841,
      "columns": 12,
      "columns_phone": 1,
      "gutter": 72,
      "gutter_phone": 16,
      "card_gap": 32,
      "nav_height": 94,
      "note": "Measured on https://ghost.org/ at 1440x900 and 390x844 (2026-10-30). Vertical spacing is in vmin (Tailwind arbitrary values): hero top 16vmin, media gap 8vmin, statement 11vmin/12vmin, feature bands py 8vmin, revenue py 5vmin, launch py 14vmin; at 1440x900 1vmin = 9px, at 390x844 1vmin = 3.9px. Content spans x 24-1416 (1392px, px-6) on desktop, x 16-374 (358px, px-4) on phone. Two-column feature bands use a 12-col grid with an 8vmin (72px) gap; text columns 538-576px; feature images 549px. Showcase cards 4 x 324px with 32px gaps. Panels radius 16px desktop / 8px phone. Nav 94px desktop, 63px phone.",
      "prov": "observed",
      "source": "https://ghost.org/ (2026-10-30)"
    },
    "type": [
      {
        "role": "Hero H1",
        "id": "display-xl",
        "face": "Inter",
        "size": {
          "desktop": 96,
          "phone": 25.35
        },
        "line_height": 1,
        "tracking_px": -2.4,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "tracking_phone_px": -0.634,
        "note": "#112220, centred; phone size is 6.5vw"
      },
      {
        "role": "Revenue figure",
        "id": "display-l",
        "face": "Inter",
        "size": {
          "desktop": 72,
          "phone": 48
        },
        "line_height": 1,
        "tracking_px": 0,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "#FFFFFF centred"
      },
      {
        "role": "Statement paragraph",
        "id": "statement",
        "face": "Inter",
        "size": {
          "desktop": 48,
          "phone": 24
        },
        "line_height": 1.35,
        "tracking_px": -1.2,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "tracking_phone_px": -0.6,
        "note": "#000000; phone line 32.4px"
      },
      {
        "role": "Section H2",
        "id": "h2",
        "face": "Inter",
        "size": {
          "desktop": 48,
          "phone": 24
        },
        "line_height": 1.15,
        "tracking_px": -1.2,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "tracking_phone_px": -0.6,
        "note": "55.2px line; phone 24px/24px (Transform: 24/30); dark-band H2 (Complete control) has tracking 0 and phone line 36px"
      },
      {
        "role": "Launch line",
        "id": "launch",
        "face": "Inter",
        "size": {
          "desktop": 48,
          "phone": 24
        },
        "line_height": 1.15,
        "tracking_px": 0,
        "weight": 600,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "#9CA3AF with 700 #FFFFFF spans; phone line 30px"
      },
      {
        "role": "Try CTA link",
        "id": "cta-xl",
        "face": "Inter",
        "size": {
          "desktop": 36,
          "phone": 20
        },
        "line_height": 1.5,
        "tracking_px": -0.9,
        "weight": 600,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "tracking_phone_px": -0.5,
        "note": "#64748B"
      },
      {
        "role": "Feature H3",
        "id": "h3",
        "face": "Inter",
        "size": {
          "desktop": 36,
          "phone": 24
        },
        "line_height": 1,
        "tracking_px": -0.9,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "tracking_phone_px": -0.6,
        "note": "#000000"
      },
      {
        "role": "Works with everything",
        "id": "h2-center",
        "face": "Inter",
        "size": {
          "desktop": 36,
          "phone": 36
        },
        "line_height": 0.9,
        "tracking_px": -0.9,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "32.4px line, centred"
      },
      {
        "role": "Showcase H2 / Built to last statement",
        "id": "h2-dark",
        "face": "Inter",
        "size": {
          "desktop": 36,
          "phone": 24
        },
        "line_height": 1,
        "tracking_px": 0,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "Built to last uses line 45px (1.25) and 600 #6B7280 for the second sentence; phone 24/30"
      },
      {
        "role": "Lead / feature body",
        "id": "lead",
        "face": "Inter",
        "size": {
          "desktop": 24,
          "phone": 20
        },
        "line_height": 1.5,
        "tracking_px": 0,
        "weight": 400,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "36px line (30 on phone); #334155 on light, #CBD5E1 on dark; integration/revenue copy uses 30px line (25 on phone)"
      },
      {
        "role": "Showcase tagline",
        "id": "tagline",
        "face": "Inter",
        "size": {
          "desktop": 24,
          "phone": 18
        },
        "line_height": 1.25,
        "tracking_px": 0,
        "weight": 500,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "line 1 500 #FFFFFF, line 2 400 #94A3B8; phone 18/22.5"
      },
      {
        "role": "Lime/slate link CTA",
        "id": "cta-l",
        "face": "Inter",
        "size": {
          "desktop": 24,
          "phone": 20
        },
        "line_height": 1.5,
        "tracking_px": 0,
        "weight": 600,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "Explore Ghost themes #D1FF19; integrations link 20/30"
      },
      {
        "role": "Button large",
        "id": "button-l",
        "face": "Inter",
        "size": {
          "desktop": 20,
          "phone": 20
        },
        "line_height": 1.5,
        "tracking_px": 0,
        "weight": 600,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "Start publishing now"
      },
      {
        "role": "Showcase card name",
        "id": "card-title",
        "face": "Inter",
        "size": {
          "desktop": 18,
          "phone": 18
        },
        "line_height": 1,
        "tracking_px": 0,
        "weight": 600,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "#FFFFFF"
      },
      {
        "role": "Eyebrow",
        "id": "eyebrow",
        "face": "Inter",
        "size": {
          "desktop": 12,
          "phone": 12
        },
        "line_height": 1,
        "tracking_px": 1.2,
        "weight": 700,
        "opsz": "\"opsz\" 32",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "uppercase; #64748B on light, #D1FF19 on dark; Built to last 600; Launch your big idea 15px/15px 600 +1.5px (12px on phone)"
      },
      {
        "role": "Nav / footer top link",
        "id": "nav",
        "face": "Inter",
        "size": {
          "desktop": 15,
          "phone": 15
        },
        "line_height": 1.5,
        "tracking_px": 0,
        "weight": 500,
        "opsz": "auto",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "rgba(0,0,0,0.7) on white; phone footer 14px"
      },
      {
        "role": "Learn more / tag",
        "id": "ui",
        "face": "Inter",
        "size": {
          "desktop": 15,
          "phone": 15
        },
        "line_height": 1.5,
        "tracking_px": 0,
        "weight": 600,
        "opsz": "auto",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "Learn more 600 #BEF264; card tags 400 #9CA3AF"
      },
      {
        "role": "Footer column link",
        "id": "footer",
        "face": "Inter",
        "size": {
          "desktop": 15,
          "phone": 15
        },
        "line_height": 1.25,
        "tracking_px": 0,
        "weight": 400,
        "opsz": "auto",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "#94A3B8, 8px vertical padding"
      },
      {
        "role": "Nav button / pill / legal",
        "id": "ui-s",
        "face": "Inter",
        "size": {
          "desktop": 14,
          "phone": 14
        },
        "line_height": 1.5,
        "tracking_px": 0,
        "weight": 600,
        "opsz": "auto",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "Get Started 600 + \" — free\" 400; pill 600; legal 400 #94A3B8"
      },
      {
        "role": "Dropdown title / description",
        "id": "menu",
        "face": "Inter",
        "size": {
          "desktop": 18,
          "phone": 18
        },
        "line_height": 1.25,
        "tracking_px": 0,
        "weight": 700,
        "opsz": "auto",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "note": "description 14px/400 rgba(0,0,0,0.7)"
      }
    ],
    "components": {
      "button_primary_on_light": {
        "fill": "#15171A",
        "text": "#FFFFFF",
        "radius": 6,
        "padding": "8px 16px",
        "height": 39,
        "padding_x": 16,
        "font_size": 14,
        "weight": 600,
        "face": "body",
        "text_style": "14px/21px: \"Get Started\" 600 + \" — free\" 400",
        "shadow": "0 0 1px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.03)",
        "example": "Get Started — free (nav, 155x39; phone menu full width)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "fill": "#15171A (no change)",
              "transition": "all"
            },
            "prov": "observed"
          }
        }
      },
      "launch_pill": {
        "fill": "#FEC137",
        "text": "#000000",
        "radius": "pill",
        "padding": "8px 3px (outer), label inset",
        "height": 39,
        "font_size": 14,
        "weight": 600,
        "face": "body",
        "text_style": "14px/21px 600, ends with →",
        "example": "Just launched: Ghost 6.0 → (230x39)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "fill": "#FEC137 (no change)",
              "transition": "0.3s cubic-bezier(0.4,0,0.2,1)"
            },
            "prov": "observed"
          }
        }
      },
      "button_primary_lime_on_dark": {
        "fill": "#D1FF19",
        "text": "#000000",
        "radius": 8,
        "padding": "16px 24px",
        "height": 62,
        "padding_x": 24,
        "font_size": 20,
        "weight": 600,
        "face": "display",
        "text_style": "20px/30px 600 opsz 32, ends with →",
        "example": "Start publishing now → (271x62)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "fill": "#D1FF19 (no change)"
            },
            "prov": "observed"
          }
        }
      },
      "learn_more_on_dark": {
        "fill": "#1A2E05",
        "text": "#BEF264",
        "radius": 8,
        "padding": "8px 16px",
        "height": 39,
        "padding_x": 16,
        "font_size": 15,
        "weight": 600,
        "face": "body",
        "text_style": "15px/22.5px 600, \"Learn more →\"",
        "example": "Learn more → (133x39)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "text_link_cta_light": {
        "fill": "none",
        "text": "#64748B",
        "decoration": "none at rest",
        "text_style": "36px/54px 600 -0.9px (Try Ghost) or 20px/30px 600 (integrations), ends with →",
        "example": "Try Ghost completely free for 14 days →",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "text_decoration": "underline on the integrations link; none on Try Ghost"
            },
            "prov": "observed"
          }
        }
      },
      "text_link_lime_on_dark": {
        "fill": "none",
        "text": "#D1FF19",
        "text_style": "24px/36px 600, ends with →",
        "example": "Explore Ghost themes →",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "text_decoration": "underline"
            },
            "prov": "observed"
          }
        }
      },
      "nav_link": {
        "text": "rgba(0,0,0,0.7)",
        "text_style": "15px/22.5px 500",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "text": "rgba(0,0,0,0.9)"
            },
            "prov": "observed"
          }
        }
      },
      "footer_link": {
        "text": "#94A3B8",
        "text_style": "15px/18.75px 400, padding 8px 0",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "text": "#FFFFFF"
            },
            "prov": "observed"
          }
        }
      },
      "eyebrow": {
        "text": "#64748B on light / #D1FF19 on dark",
        "text_style": "12px/12px 700 uppercase, tracking 1.2px, opsz 32",
        "gap_below": "24px to the H2",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "product_panel": {
        "fill": "#15171A (dashboard, posts) or #FFFFFF (site design, editor, members)",
        "radius": 16,
        "shadow": "0 0 1px rgba(0,0,0,0.1), 0 2px 6px rgba(0,0,0,0.03) on white panels",
        "media": "Ghost Admin UI as image; desktop site uses DOM renders in iframes, phone uses posters",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "radius_note": "16px desktop, 8px phone (hero: top corners only)"
      },
      "feature_row": {
        "media": "549x549 square illustration",
        "text": "H3 36/36 700 + body 24/36 #334155, column 576 wide, vertically centred",
        "layout": "alternates image left (text x 733) then text left (x 131, image x 868)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "integration_tile": {
        "fill": "#FFFFFF",
        "border": "1px solid #E5E5E5",
        "radius": 24,
        "shadow": "0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1)",
        "size": "54-96px, app icon fills it",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)",
        "states": {
          "hover": {
            "measured": {
              "tooltip": "12px/12px white on #18181B, radius 8px, padding 8px 12px, opacity 0 -> 1"
            },
            "prov": "observed"
          }
        }
      },
      "showcase_card": {
        "media": "324x201 image, radius 8px, cover",
        "caption": "name 18px 600 #FFFFFF left, category 15px 400 #9CA3AF right, 14px below the image",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "dropdown_panel": {
        "fill": "#FFFFFF",
        "radius": 8,
        "ring": "0 0 0 1px rgba(0,0,0,0.05)",
        "padding": "32px",
        "item": "20px #64748B line icon + title 18px 700 #000000 + description 14px 400 rgba(0,0,0,0.7)",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      },
      "status_badge": {
        "fill": "#334155",
        "text": "#CBD5E1",
        "radius": 4,
        "padding": "0 4px",
        "text_style": "12px/18px 600 with an up-triangle",
        "example": "99.9%",
        "prov": "observed",
        "source": "https://ghost.org/ (2026-10-30)"
      }
    }
  },
  "system": {
    "fixed": [
      "The orb and lowercase wordmark, scaled only",
      "The exact mark 'Ghost'",
      "Light grounds and tinted greys with one Ghost Green",
      "Dark Grey #15171A, never pure black",
      "Inter"
    ],
    "flex": "How dark the page goes: from all-white with a green accent to Dark Grey product panels. The guide sets no level.",
    "traits": [
      {
        "is": "Independent",
        "not": "Anti-business",
        "text": "Non-profit and investor-free, yet built to make publishers money (paraphrase of about and home).",
        "source": "https://ghost.org/about/",
        "prov": "inferred"
      },
      {
        "is": "Candid",
        "not": "Crude",
        "text": "Blunt lines and public finances, used sparingly.",
        "source": "https://ghost.org/",
        "prov": "inferred"
      },
      {
        "is": "Plain",
        "not": "Bland",
        "text": "Short sentences and real numbers instead of adjectives.",
        "source": "https://ghost.org/",
        "prov": "inferred"
      },
      {
        "is": "Warm",
        "not": "Cute",
        "text": "'Hello, new friends.' and the team roster with flags; the product stays calm.",
        "source": "https://ghost.org/",
        "prov": "inferred"
      }
    ]
  },
  "formats": [
    {
      "format": "Landing page",
      "level": 2,
      "must": "Build it the way ghost.org is built (kit.spec.page): white 94px nav with the dark lockup and a #15171A Get Started — free button; centred 96px InterVariable opsz-32 700 H1 in #112220 with a full stop, a yellow launch pill above it; one dark product panel; bands alternating white, slate #E2E8F0, navy #0F172A and Dark Grey #15171A; UPPERCASE 12px eyebrows; real publications with their own numbers; a centred lime launch CTA on Dark Grey running into the footer. Homepage voice: sentence-case declaratives ending in a full stop, CTA links ending in →",
      "flex": "which feature bands and how many; the pill text; showcase rows"
    },
    {
      "format": "Deck",
      "level": 2,
      "must": "White slides, dark logo in a corner, Inter Bold headlines, tinted greys, one green accent",
      "flex": "Dark Grey title slide with the light logo"
    },
    {
      "format": "Proposal page",
      "level": 1,
      "must": "White ground, Dark Grey text, printed numbers only, Dark Grey CTA",
      "flex": "one green accent"
    },
    {
      "format": "Email",
      "level": 1,
      "must": "White, Dark Grey type, one Dark Grey button",
      "flex": "green link or highlight"
    },
    {
      "format": "Social post",
      "level": 3,
      "must": "Dark Grey or white ground, Inter Bold line, orb or logo",
      "flex": "a real publication's number as the hero"
    },
    {
      "format": "Third-party page using the mark",
      "level": 0,
      "must": "Ghost® on first mention, footer trademark notice, '[X] for Ghost' naming, no logo without licence",
      "flex": "none"
    }
  ],
  "checks": [
    {
      "name": "Logo hidden",
      "text": "Cover the orb. It should still read as Ghost: white and tinted greys, one green, Dark Grey not black, Inter Bold sentence case with full stops, real numbers."
    },
    {
      "name": "Mark check",
      "text": "Search the copy for every 'Ghost': exact form, no prefix naming, no translated mark."
    }
  ],
  "make_it_yours": {
    "note": "Everything above transfers. These are Ghost's own and must be replaced with yours: name and logo, purpose, positioning, messaging pillars, proof, taglines and boilerplate.",
    "replace": [
      "identity",
      "purpose",
      "positioning",
      "messaging.pillars",
      "messaging.proof_points",
      "messaging.taglines",
      "messaging.boilerplate"
    ],
    "reference": {
      "purpose": {
        "mission": {
          "text": "Create the best open source tools for independent journalists and writers, and have a real impact on the future of online media (paraphrase).",
          "prov": "published",
          "source": "https://ghost.org/about/"
        },
        "story": {
          "text": "Founded in April 2013 by John O'Nolan and Hannah Wolfe, Ghost is a non-profit foundation that builds a free open source core and funds it with a managed service, Ghost(Pro). Its constitution says it can never be bought or sold, it reinvests all revenue, publishes live company metrics, and has been fully remote since 2013.",
          "prov": "observed",
          "source": "https://ghost.org/about/",
          "source_note": "2026-10-30",
          "paraphrase": true
        },
        "values": [
          {
            "name": "Freedom",
            "means": "Create as much freedom in the world as possible; the core principle behind everything they do (paraphrase).",
            "prov": "published",
            "source": "https://ghost.org/about/"
          },
          {
            "name": "Transparency",
            "means": "Transparent and accountable as a public organisation; live financial data for all to see (paraphrase).",
            "prov": "published",
            "source": "https://ghost.org/about/"
          },
          {
            "name": "Independence",
            "means": "True to users rather than shareholders or investors; funded 100% by its users (paraphrase).",
            "prov": "published",
            "source": "https://ghost.org/about/"
          },
          {
            "name": "Sustainability",
            "means": "A self-sufficient open source model: revenue hires developers, better software attracts users (paraphrase).",
            "prov": "published",
            "source": "https://ghost.org/about/"
          }
        ],
        "values_note": "The about page states these beliefs; Ghost does not publish them as a named values list."
      },
      "positioning": {
        "statement": {
          "text": "A powerful app for professional publishers to create, share and grow a business around their content (paraphrase of the homepage lead).",
          "prov": "observed",
          "source": "https://ghost.org/",
          "source_note": "2026-10-30"
        },
        "category": {
          "text": "Open source publishing platform; 'the platform for independent publishers'",
          "prov": "observed",
          "source": "https://ghost.org/business/",
          "also": [
            "https://ghost.org/publishers/"
          ]
        },
        "audience": {
          "text": "Creators (YouTubers, bloggers, podcasters, musicians, artists), publishers (writers, journalists, local news, new media) and businesses doing content marketing; developers for the source code.",
          "prov": "observed",
          "source": "https://ghost.org/",
          "source_note": "2026-10-30, Product menu"
        },
        "problem": {
          "text": "Platforms and algorithms decide who sees your work, and membership systems typically take 10-30% of revenue (paraphrase).",
          "prov": "observed",
          "source": "https://ghost.org/creators/"
        },
        "promise": {
          "text": "Own your audience, brand and revenue: website, newsletters and paid memberships in one place with 0% payment fees.",
          "prov": "observed",
          "source": "https://ghost.org/creators/",
          "also": [
            "https://ghost.org/"
          ]
        },
        "differentiators": [
          {
            "text": "Open source, and run by a non-profit foundation that can never be bought or sold.",
            "prov": "observed",
            "source": "https://ghost.org/about/"
          },
          {
            "text": "0% payment fees via the publisher's own Stripe account.",
            "prov": "observed",
            "source": "https://ghost.org/creators/"
          },
          {
            "text": "Newsletters, memberships, analytics and SEO built in, no plugins.",
            "prov": "observed",
            "source": "https://ghost.org/business/"
          },
          {
            "text": "All company metrics public, as a live feed.",
            "prov": "observed",
            "source": "https://ghost.org/about/"
          }
        ],
        "alternatives": [
          {
            "text": "Substack, beehiiv, WordPress, Medium and Patreon (the footer's comparison pages).",
            "prov": "observed",
            "source": "https://ghost.org/"
          },
          {
            "text": "Membership systems that take 10-30% of revenue.",
            "prov": "observed",
            "source": "https://ghost.org/creators/"
          }
        ]
      },
      "messaging": {
        "taglines": [
          {
            "text": "Turn your audience into a business.",
            "prov": "observed",
            "source": "https://ghost.org/",
            "source_note": "2026-10-30",
            "where": "Homepage H1"
          },
          {
            "text": "The platform for independent publishers.",
            "prov": "observed",
            "source": "https://ghost.org/publishers/",
            "source_note": "2026-10-30",
            "where": "Publishers page H1"
          },
          {
            "text": "Escape the algorithm",
            "prov": "observed",
            "source": "https://ghost.org/",
            "source_note": "2026-10-30",
            "where": "Creators band on the homepage"
          },
          {
            "text": "Content marketing for modern business.",
            "prov": "observed",
            "source": "https://ghost.org/business/",
            "source_note": "2026-10-30",
            "where": "Business page H1"
          },
          {
            "text": "Launch your big idea",
            "prov": "observed",
            "source": "https://ghost.org/",
            "source_note": "2026-10-30",
            "where": "Closing CTA band on every ghost.org page"
          }
        ],
        "attributes": [
          "independent",
          "open source",
          "owned",
          "sustainable"
        ],
        "key_messages": [],
        "boilerplate": {
          "text": "Ghost is an open source, independent publishing platform run by a non-profit foundation. Professional publishers, creators and businesses use it to build a website, publish, send newsletters and sell paid subscriptions, keeping their audience, data and revenue with 0% payment fees.",
          "prov": "observed",
          "source": "https://ghost.org/",
          "source_note": "2026-10-30",
          "paraphrase": true,
          "also": [
            "https://ghost.org/about/",
            "https://ghost.org/creators/"
          ]
        },
        "pillars": [
          {
            "name": "Own your audience",
            "claim": "Your audience, brand, data and revenue belong to you, not to a platform or an algorithm.",
            "prov": "inferred",
            "source": "https://ghost.org/creators/",
            "why": "Repeated across home, creators and publishers ('Your audience. Your data.'); not published as a named pillar.",
            "proof": [
              "p-fees",
              "p-pubs"
            ]
          },
          {
            "name": "A business, not just a newsletter",
            "claim": "Website, newsletters, memberships and paid subscriptions in one place, built to earn recurring revenue.",
            "prov": "inferred",
            "source": "https://ghost.org/",
            "why": "The homepage H1 and 'A newsletter is just the start'.",
            "proof": [
              "p-revenue",
              "p-pubs",
              "p-weekly"
            ]
          },
          {
            "name": "Built to last",
            "claim": "Open source, independent and funded by its users; a non-profit that can never be sold.",
            "prov": "inferred",
            "source": "https://ghost.org/about/",
            "why": "Homepage 'Built to last' band and the about page.",
            "proof": [
              "p-foundation",
              "p-arr",
              "p-installs",
              "p-stars"
            ]
          }
        ],
        "proof_points": [
          {
            "id": "p-revenue",
            "kind": "stat",
            "text": "$100,000,000+ revenue earned each year by publications running on Ghost, with 0% payment fees.",
            "source": "https://ghost.org/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-weekly",
            "kind": "stat",
            "text": "Last week, 10,603 brand new publications got started with Ghost.",
            "source": "https://ghost.org/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-installs",
            "kind": "stat",
            "text": "100,000,000+ Ghost installs to date.",
            "source": "https://ghost.org/about/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-arr",
            "kind": "stat",
            "text": "ARR $11,164,787; 30,504 active customers; 2.68% net churn (live public metrics).",
            "source": "https://ghost.org/about/",
            "prov": "observed",
            "date": "2026-10-30",
            "note": "Live feed: changes daily; re-read before use"
          },
          {
            "id": "p-stars",
            "kind": "stat",
            "text": "55,579 GitHub stars; 9B requests/month.",
            "source": "https://ghost.org/about/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-fees",
            "kind": "stat",
            "text": "0% payment fees: Ghost connects to the publisher's own Stripe account (Stripe ~2.9%).",
            "source": "https://ghost.org/creators/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-speed",
            "kind": "stat",
            "text": "Under load, serves 19 requests in the time WordPress serves 1 ('1900% faster').",
            "source": "https://ghost.org/business/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-pubs",
            "kind": "customer",
            "text": "404 Media 123K members; Tangle $281K MRR; Platformer 197K members; The Lever 149K members.",
            "source": "https://ghost.org/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-team",
            "kind": "other",
            "text": "Fully remote since 2013; 5 continents, 16 nationalities, 15 languages.",
            "source": "https://ghost.org/about/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-foundation",
            "kind": "other",
            "text": "Non-profit foundation; constitution says it can never be bought or sold; 100% of revenue reinvested.",
            "source": "https://ghost.org/about/",
            "prov": "observed",
            "date": "2026-10-30"
          },
          {
            "id": "p-business",
            "kind": "customer",
            "text": "Businesses publishing on Ghost include Unsplash, DuckDuckGo, Kickstarter, Mozilla, Cloudflare and Duolingo.",
            "source": "https://ghost.org/business/",
            "prov": "observed",
            "date": "2026-10-30"
          }
        ],
        "claim_boundaries": [
          {
            "text": "Use only numbers Ghost prints; the about-page metrics are a live feed, so date them.",
            "prov": "inferred",
            "source": "https://ghost.org/about/"
          },
          {
            "text": "Never imply Ghost Foundation endorses, partners with or certifies a product or service.",
            "prov": "published",
            "source": "https://ghost.org/trademark/ (s.4 Prohibited uses)"
          },
          {
            "text": "A modified version can't be called Ghost; say it is derived from Ghost's source code.",
            "prov": "published",
            "source": "https://ghost.org/trademark/ (s.2 Acceptable uses)"
          }
        ]
      }
    }
  }
}