{
  "schema": "brand-kit@2",
  "palette": {
    "paper": "#FFFFFF",
    "surface": "#F9F9F9",
    "ink": "#212529",
    "ink_muted": "#6F6F6F",
    "accent": "#326CE5",
    "on_accent": "#FFFFFF",
    "night": "#303030",
    "on_night": "#FFFFFF",
    "extras": [
      {
        "name": "Kubernetes Blue",
        "hex": "#326CE5",
        "role": "The one official color: the heptagon behind the helm, and the blue wordmark in the all-blue and white-text lockups. Pantone 285 C preferred for print; #326CE5 for digital. No proportions published",
        "prov": "published",
        "source": "https://github.com/kubernetes/kubernetes/blob/master/logo/colors.md",
        "site_use": "Site $primary, link color, nav hover/active, announcement button fill (observed https://kubernetes.io/ (2026-10-30))"
      },
      {
        "name": "White",
        "hex": "#FFFFFF",
        "role": "The helm wheel and the heptagon outline in every color lockup; the white and white-text lockup fills",
        "prov": "published",
        "source": "https://github.com/cncf/artwork/tree/main/projects/kubernetes",
        "site_use": "Page ground, text on the blue announcement band and dark bands (observed https://kubernetes.io/ (2026-10-30))"
      },
      {
        "name": "Black (wordmark)",
        "hex": "#000000",
        "role": "Wordmark in the full-color lockup (unstyled SVG paths render black) and the black one-color lockups",
        "prov": "observed",
        "source": "cncf/artwork kubernetes-horizontal-color.svg (2026-10-30)"
      },
      {
        "name": "Body ink",
        "hex": "#212529",
        "role": "Body and section-heading text on white (Bootstrap body color)",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Secondary grey",
        "hex": "#495057",
        "role": "Site $secondary: the KubeCon events band ground; Watch Video button text",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss; https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Light grey",
        "hex": "#F9F9F9",
        "role": "Site $light-grey: Kubernetes Features section ground",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss; https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Medium-light grey",
        "hex": "#6F6F6F",
        "role": "Site $medium-light-grey: muted text",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss"
      },
      {
        "name": "Medium grey",
        "hex": "#4C4C4C",
        "role": "Site $medium-grey",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss"
      },
      {
        "name": "Dark grey",
        "hex": "#303030",
        "role": "Site $dark-grey and dark-mode ground 1",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss"
      },
      {
        "name": "Dark-mode ground 2",
        "hex": "#4F4F4F",
        "role": "Site $dark-bg-color-2",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss"
      },
      {
        "name": "Dark-mode link blue",
        "hex": "#3371E3",
        "role": "Site $dark-text-color-2: blue text on dark mode",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _variables_project.scss"
      },
      {
        "name": "Feature card blue",
        "hex": "#DAEAF9",
        "role": "Site $feature: the light-blue feature cards on the homepage and feature-gate boxes",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _base.scss; https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Announcement navy",
        "hex": "#113E82",
        "role": "KubeCon announcement band ground at the top of the homepage",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Video ground",
        "hex": "#13110F",
        "role": "Video band ground, matched to the video still",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Footer ground",
        "hex": "#403F4C",
        "role": "Footer as rendered (#202020 plus a texture image, darkened in CSS)",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "Footer base",
        "hex": "#202020",
        "role": "Footer background-color under the texture image",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _custom.scss"
      },
      {
        "name": "Footer text",
        "hex": "#E9E9E9",
        "role": "Copyright and licence lines in the footer",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "name": "CTA blue",
        "hex": "#0662EE",
        "role": "Community-page CTA buttons and some link highlights",
        "prov": "observed",
        "source": "https://github.com/kubernetes/website/tree/main/assets/scss _custom.scss"
      },
      {
        "name": "Illustration blue",
        "hex": "#316CE6",
        "role": "Main fill of the homepage illustrations (flower, scalable, blocks, suitcase); a hair off the official #326CE5",
        "prov": "observed",
        "source": "https://kubernetes.io/_common-resources/images/ (2026-10-30)"
      },
      {
        "name": "Illustration teal",
        "hex": "#09C1D1",
        "role": "Second fill of the homepage illustrations (also #08C1D1 and #1FBDCE)",
        "prov": "observed",
        "source": "https://kubernetes.io/_common-resources/images/ (2026-10-30)"
      },
      {
        "name": "Illustration pale teal",
        "hex": "#C9E9EC",
        "role": "Tint fills and circles in the homepage illustrations (also #C8E8EB, #D9EFF1)",
        "prov": "observed",
        "source": "https://kubernetes.io/_common-resources/images/ (2026-10-30)"
      },
      {
        "name": "Illustration navy",
        "hex": "#466BB2",
        "role": "Node label in the flower illustration",
        "prov": "observed",
        "source": "https://kubernetes.io/_common-resources/images/flower.svg (2026-10-30)"
      },
      {
        "name": "Illustration charcoal",
        "hex": "#414141",
        "role": "Stacked-container fills in the flower illustration",
        "prov": "observed",
        "source": "https://kubernetes.io/_common-resources/images/flower.svg (2026-10-30)"
      },
      {
        "name": "Hover blue",
        "hex": "#1A53CA",
        "role": "Hide this notice button hover fill (Bootstrap shade of #326CE5)",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      },
      {
        "name": "Input / scrolled-nav grey",
        "hex": "#DEE2E6",
        "role": "Search input border; nav link colour once the nav is scrolled dark",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      },
      {
        "name": "Focus ring blue",
        "hex": "#84A7EF",
        "role": "Search field focus ring, 0 0 0 2px",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      },
      {
        "name": "Focus border",
        "hex": "#F5F8FE",
        "role": "Search field border on focus",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      },
      {
        "name": "CNCF blue",
        "hex": "#0086FF",
        "role": "CNCF logo mark (footer-adjacent CNCF strip); not a Kubernetes color",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      },
      {
        "name": "CNCF light blue",
        "hex": "#93EAFF",
        "role": "CNCF logo mark highlight; not a Kubernetes color",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      },
      {
        "name": "Footer rendered",
        "hex": "#1E1E24",
        "role": "What the footer reads as: #403F4C under a 52.5% to 50% black gradient plus texture.png",
        "prov": "observed",
        "source": "https://kubernetes.io/ (observed 2026-10-30, Playwright 1440x900 and 390x844, light theme)"
      }
    ],
    "note": "Only #326CE5 (and Pantone 285 C) is published. Every other role is the website's, read from kubernetes/website SCSS and the rendered homepage on 2026-10-30."
  },
  "typography": {
    "display": {
      "family": "Open Sans",
      "weight": 500,
      "line_height": 1.2,
      "tracking": 0,
      "fallback_stack": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
      "real": "Open Sans (open, SIL OFL 1.1; loaded from Google Fonts at 300, 400, 700 with italics)",
      "stand_in": false,
      "prov": "observed",
      "source": "https://kubernetes.io/ (2026-10-30)",
      "site": {
        "weights": "declared 500 on h1, section H4s, features heading and card titles, but only 300/400/700 load from Google Fonts so they render at 400 (measured equal widths); 700 on the events band h2 and nav links",
        "size_px": "h1 hero about 28 phone; section heads 21.6 desktop / 20.6 phone; band title 32; card titles 20.8",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      }
    },
    "body": {
      "family": "Open Sans",
      "weight": 400,
      "line_height": 1.5,
      "tracking": 0,
      "scale": 1,
      "fallback_stack": "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif",
      "real": "Open Sans",
      "stand_in": false,
      "prov": "observed",
      "source": "https://kubernetes.io/ (2026-10-30)",
      "site": {
        "sizes_px": "14 homepage body (line 21), 16 buttons, 24 event list",
        "color": "#212529 on white, #FFFFFF on dark bands",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      }
    },
    "mono": {
      "family": "Roboto Mono",
      "weight": 400,
      "fallback_stack": "SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace",
      "real": "No web font: the site uses the system monospace stack (SFMono-Regular, Menlo, Monaco, Consolas...)",
      "stand_in": true,
      "prov": "observed",
      "source": "https://github.com/kubernetes/website/tree/main/assets/scss (compiled main.css --bs-font-monospace)"
    },
    "calibration": "No type rules are published. The site is Docsy (Hugo) on Bootstrap 5: Open Sans body font via Google Fonts, Bootstrap heading scale. Values here are observed, not brand law."
  },
  "style": {
    "button_shape": "rounded",
    "button_note": "Observed only: 6px radius blue #326CE5 button (Hide this notice), 8px radius white Watch Video button; nothing published",
    "corners": "6-8px on buttons, rounded feature cards; observed",
    "linework": "flat fills, no strokes, in illustrations; observed",
    "motion": "not published",
    "prov": "observed",
    "source": "https://kubernetes.io/ (2026-10-30)"
  },
  "voice": {
    "tone": [
      "Direct",
      "Precise",
      "Neutral",
      "Inclusive"
    ],
    "notes": [
      "Kubernetes' published voice is a documentation voice: SIG Docs' style guide, which calls itself guidelines, not rules.",
      "Write for a reader who may speak English as a second language: no idioms, no Latin, no 'just' or 'simply'.",
      "Vendor-neutral: the project speaks as itself ('Kubernetes provides...'), not as a company ('we provide...').",
      "Precision is the voice: API kinds in UpperCamelCase, code in code style, values in plain text.",
      "The homepage copy is older and looser than the style guide (it uses 'easily' and 'effortlessly'); new copy follows the guide."
    ],
    "rules": [
      {
        "id": "spelling",
        "kind": "spelling",
        "value": "en-US",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "headline-case",
        "kind": "headline_case",
        "value": "sentence",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "note": "Sentence case for headings in the page body; title case for page titles in front matter"
      },
      {
        "id": "you",
        "kind": "guidance",
        "text": "Address the reader as \"you\"; avoid \"we\" (the reader can't tell if they're included)",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "present",
        "kind": "guidance",
        "text": "Present tense (\"This command starts a proxy\"), unless the meaning needs another",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "active",
        "kind": "guidance",
        "text": "Active voice, unless it makes the sentence awkward",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "direct",
        "kind": "guidance",
        "text": "Simple, direct language: \"To create\", not \"In order to create\"; no \"please\"",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "no-latin",
        "kind": "prefer",
        "term": "for example / that is",
        "over": [
          "e.g.",
          "i.e."
        ],
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "note": "etc. is allowed"
      },
      {
        "id": "no-idioms",
        "kind": "prefer",
        "term": "internally / create",
        "over": [
          "under the hood",
          "turn up"
        ],
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "note": "Many readers speak English as a second language"
      },
      {
        "id": "no-assumed-ease",
        "kind": "avoid",
        "terms": [
          "just",
          "simply",
          "easy",
          "easily",
          "simple"
        ],
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "no-dated",
        "kind": "avoid",
        "terms": [
          "currently",
          "new"
        ],
        "instead": "a version number (\"In version 1.4\")",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "no-future",
        "kind": "guidance",
        "text": "No promises or hints about the future, except announced deprecations",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "k8s",
        "kind": "prefer",
        "term": "K8s",
        "over": [
          "K8S",
          "K8"
        ],
        "prov": "published",
        "source": "https://github.com/cncf/foundation/blob/main/style-guide.md"
      },
      {
        "id": "cloud-native",
        "kind": "prefer",
        "term": "cloud native",
        "over": [
          "cloud-native",
          "Cloud Native"
        ],
        "prov": "published",
        "source": "https://github.com/cncf/foundation/blob/main/style-guide.md"
      },
      {
        "id": "open-source",
        "kind": "prefer",
        "term": "open source",
        "over": [
          "open-source",
          "Open Source"
        ],
        "prov": "published",
        "source": "https://github.com/cncf/foundation/blob/main/style-guide.md"
      },
      {
        "id": "on-prem",
        "kind": "prefer",
        "term": "on-premises / on-prem",
        "over": [
          "on-premise"
        ],
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "capitalize",
        "kind": "guidance",
        "text": "Kubernetes is always capitalized (a proper noun)",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "api-kinds",
        "kind": "guidance",
        "text": "API kinds in UpperCamelCase, never split and never in code style (a ConfigMap, a PodTemplateList)",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "code-style",
        "kind": "guidance",
        "text": "Code style for commands, tools, components, fields, files and paths (`kubectl`, `replicas`, `kube-system`)",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "bold-ui",
        "kind": "guidance",
        "text": "Bold for UI elements; italics to introduce a new term",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "quote-punct",
        "kind": "guidance",
        "text": "Punctuation outside quotes (international standard)",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "links",
        "kind": "guidance",
        "text": "Link text that says where it goes; never \"click here\"",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "paragraphs",
        "kind": "guidance",
        "text": "Paragraphs under six sentences",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/"
      },
      {
        "id": "tm-adjective",
        "kind": "guidance",
        "text": "Use the mark as an adjective with a generic noun, never plural or possessive",
        "prov": "published",
        "source": "https://www.linuxfoundation.org/legal/trademark-usage"
      },
      {
        "id": "compat",
        "kind": "guidance",
        "text": "Third parties say \"<product> for Kubernetes\" or \"compatible with Kubernetes\", never \"Kubernetes <product>\"",
        "prov": "published",
        "source": "https://www.linuxfoundation.org/legal/trademark-usage"
      }
    ],
    "approved": {
      "phrases": [
        "Production-Grade Container Orchestration",
        "open source system",
        "cloud native",
        "Run K8s anywhere",
        "Planet scale",
        "Never outgrow"
      ],
      "words": [
        "K8s",
        "cloud native",
        "open source",
        "on-premises",
        "SIG Docs"
      ]
    },
    "banned": [
      "just",
      "simply",
      "easy",
      "easily",
      "simple",
      "please",
      "currently",
      "new",
      "e.g.",
      "i.e.",
      "under the hood",
      "K8S",
      "K8",
      "cloud-native",
      "open-source",
      "on-premise",
      "we (for the project)",
      "click here"
    ],
    "is_not": [
      [
        "Direct",
        "Curt"
      ],
      [
        "Precise",
        "Pedantic"
      ],
      [
        "Neutral",
        "Promotional"
      ],
      [
        "Inclusive",
        "Assuming expertise"
      ]
    ],
    "prov": "published",
    "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
    "also": [
      "https://github.com/cncf/foundation/blob/main/style-guide.md",
      "https://www.linuxfoundation.org/legal/trademark-usage"
    ]
  },
  "spec": {
    "source": "https://kubernetes.io/",
    "how": "Playwright computed styles at 1440 and 390, observed 2026-10-30",
    "provenance": "published",
    "signature": [
      {
        "id": "helm-heptagon",
        "name": "The helm in a blue heptagon",
        "where": "Every lockup, the favicon, the nav logo, the KubeCon mark, the features-section icon",
        "spec": "A white seven-spoke ship's wheel on a Kubernetes Blue #326CE5 heptagon with a white outline. Use the official SVG from cncf/artwork; never redraw. The seven spokes are an observed detail of the file, not a published rule",
        "dont": "change its colors, design elements or proportions (the Linux Foundation's own three incorrect examples use this icon)",
        "prov": "published",
        "source": "https://www.linuxfoundation.org/legal/trademark-usage",
        "example": {
          "ground": "paper",
          "text": "kubernetes",
          "ink": "accent"
        }
      },
      {
        "id": "one-blue",
        "name": "One blue, everything else neutral",
        "where": "Site links, buttons, nav hover, illustrations, the logo",
        "spec": "#326CE5 is the only brand color; the site pairs it with white, Bootstrap greys and dark bands, plus teal #09C1D1 and pale teal #C9E9EC inside illustrations only",
        "dont": "introduce a second brand hue for text or buttons",
        "prov": "inferred",
        "source": "https://github.com/kubernetes/kubernetes/blob/master/logo/colors.md",
        "example": {
          "ground": "paper",
          "text": "Run K8s anywhere",
          "ink": "accent"
        }
      },
      {
        "id": "flat-iso-illustration",
        "name": "Flat blue-teal technical illustrations",
        "where": "Homepage feature blocks (flower, scalable, blocks, suitcase)",
        "spec": "Flat geometric shapes in Illustration blue #316CE6 and teal #09C1D1 with pale-teal tints; containers as squares and stacks, no outlines, no gradients, no people",
        "dont": "use photography or gradients in their place",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "id": "code-in-prose",
        "name": "Code style inside the sentence",
        "where": "Docs and any technical copy",
        "spec": "API kinds in UpperCamelCase plain text (ConfigMap), tools and fields in code style (`kubectl`, `replicas`), commands without the $ prompt",
        "dont": "put API kinds in backticks or split them into words",
        "prov": "published",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "example": {
          "ground": "paper",
          "text": "The `kubectl run` command creates a Pod."
        }
      }
    ],
    "page": {
      "source": "https://kubernetes.io/",
      "date": "2026-10-30",
      "prov": "observed",
      "voices": "Two voices. The homepage (and so any landing page built from this spec) is plain institutional product description: one-sentence definition (\"Kubernetes, also known as K8s, is an open source system for ...\"), short sentence-case feature heads (\"Planet scale\", \"Never outgrow\"), factual card bodies, no taglines, no exclamation marks except inside the time-bound KubeCon announcement (\"Buy your ticket now!\"). The guide voice (SIG Docs style guide: you, present tense, UpperCamelCase API kinds, code style for commands) governs docs pages. A landing page follows the homepage voice and this anatomy. The brand law (official helm/heptagon lockups unaltered, #326CE5 as the only brand blue) holds everywhere; where the site applies Bootstrap greys and a navy #113E82 announcement ground, that is how the site applies the brand on the web, not a second brand color for other formats. The feature-card titles and bodies below are product facts: use them verbatim. SETTLED for a rebuild of this homepage: reproduce every homepage line verbatim, including 'easy management', 'easily', 'effortlessly', 'a simple command', 'in order to', 'We are a CNCF graduated project' and the footer's 'please see'. The docs word rules (no easy/simple/we/please) apply to NEW copy only and are not a reason to edit the homepage's own text. Line counts in the anatomy assume the verbatim text.",
      "announcement": {
        "summary": "Full-width navy band that sits UNDER the fixed nav (transparent at the top of the page) and fills the top of the page (y 0-285 desktop, 0-447 phone). Left: underlined event title link, one-paragraph invite with an underlined ticket link, a blue \"Hide this notice\" button. Right: white KubeCon | CloudNativeCon North America 2026 lockup image. Time-bound: KubeCon + CloudNativeCon North America 2026, observed 2026-10-30; reproduce it exactly as captured.",
        "ground": "#113E82 flat, no image",
        "copy_verbatim": {
          "title": "KubeCon + CloudNativeCon North America 2026",
          "body": "Join us for four days of incredible opportunities to collaborate, learn and share with the cloud native community.",
          "link": "Buy your ticket now! 9 - 12 November | Salt Lake City, Utah",
          "button": "Hide this notice",
          "href": "https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/register/ (title and ticket link share it)"
        },
        "desktop": "band 1440x285. Content box max-width 1072px centred (x 184-1256), padding 128px top (64px nav + 64px) and 32px bottom. Title h4 link 21.6px/25.92px Open Sans weight 500 (renders 400) #FFFFFF underlined at y 128 (w 486). Body p 14px/21px #FFFFFF at y 162-204: line 1 the invite sentence, line 2 the underlined ticket link (w 384). Button at x 184 y 220, 156x33. Lockup image 163x100 floated right, top-aligned with the title (x 1093-1256, y 128-228)",
        "phone": "band 390x447. Content box x 39-351 (312px), padding 32px top under the 64px nav (title starts y 96). The 163x100 lockup floats right at x 188 y 96, so the title wraps \"KubeCon +\" on the left beside it, then \"CloudNativeCon North America / 2026\" below (title block y 96-246, 20.6px/24.75px). Body p y 254-359 (5 lines). Button x 39 y 375, 156x33",
        "resting_state": "Visible at load. \"Hide this notice\" removes the band (dismissal remembered by the site). Build the visible state."
      },
      "nav": {
        "summary": "Fixed 64px bar at the top of the page (position fixed, top 0). At the top it is transparent, so it reads as the navy #113E82 of the announcement beneath it: horizontal kubernetes lockup (blue #326CE5 heptagon, white helm, white wordmark) at left, eight right-hand items (six links, Versions and English dropdowns, #FFFFFF 14px/700) plus a theme toggle. Once the page scrolls it fades (0.3s) to #212529 with a 0 1px 2px #495057 shadow, links #DEE2E6 and the wordmark letters #326CE5. Phone: lockup centred, hamburger right.",
        "ground": "At the top of the page: transparent over #113E82. Scrolled: #212529 with box-shadow 0 1px 2px #495057 (0.3s fade).",
        "height": "64px (padding 8px 0), position fixed, top 0, z-index 32",
        "border": "none at rest; scrolled only the 0 1px 2px #495057 shadow",
        "logo": {
          "variant": "horizontal lockup inline SVG: #326CE5 heptagon, #FFFFFF helm, #FFFFFF wordmark at the top of the page; the wordmark letters turn #326CE5 once scrolled",
          "px": "146x38",
          "position": "desktop x 10, y 13; phone centred x 122, y 13",
          "file": "inline <svg> in .navbar-brand on https://kubernetes.io/ (same artwork as https://raw.githubusercontent.com/cncf/artwork/main/projects/kubernetes/horizontal/white-text/)"
        },
        "links": {
          "count": 8,
          "labels": "Documentation, Kubernetes Blog, Training, Careers, Partners, Community, Versions (dropdown caret), English (dropdown caret); then theme toggle (sun icon + caret, title \"Toggle theme (auto)\")",
          "hrefs": "/docs/home/, /blog/, /training/, /careers/, /partners/, /community/",
          "size": "14px/21px",
          "weight": 700,
          "color": "#FFFFFF at the top of the page; #DEE2E6 once scrolled; hover #326CE5, no underline",
          "alignment": "right-aligned group starting x 396; item x 396, 553, 716, 822, 923, 1032, 1161, 1281, toggle 1390 (42x38); each item padding 8px, 32px between items",
          "dropdowns": "Versions: Release Information, v1.37, v1.36, v1.35, v1.34, v1.33. English: বাংলা (Bengali), 中文 (Chinese), Français (French), Deutsch (German), हिन्दी (Hindi), Bahasa Indonesia (Indonesian), Italiano (Italian), 日本語 (Japanese), 한국어 (Korean), فارسی (Persian), Polski (Polish), Português (Portuguese), Русский (Russian), Español (Spanish), Українська (Ukrainian), Tiếng Việt (Vietnamese). Theme: Light, Dark, Auto"
        },
        "actions": [
          "Theme toggle: sun glyph + caret, #FFFFFF, 42x38 at x 1390, radius 6px",
          "No CTA button and no search in the nav at 1440 (search lives in its own band below the announcement)"
        ],
        "sticky": "position fixed, top 0, z-index 32, on every width; the announcement band carries 64px top padding on phone so its content starts below the bar",
        "phone": {
          "shows": "lockup 146x38 centred (x 122 y 13); hamburger button 54x46 at x 318 y 12: Font Awesome bars 32px #FFFFFF, padding 6px 12px, radius 6px, background linear-gradient(rgba(255,255,255,0.15), transparent), inset highlight 0 1px 0 rgba(255,255,255,0.15)",
          "menu": "full-width white (#FFFFFF) push sheet over an rgba(0,0,0,0.4) overlay: close X 32px #212529 top right; rows at 20px/400 #326CE5, 45px pitch, x 20, 1px light-grey hairline between rows: Documentation, Kubernetes Blog, Training, Careers, Partners, Community, Versions (caret) with its six entries listed open, English (caret) with the 16 languages listed open, then Light, Dark, Auto",
          "cta": "none"
        },
        "at_rest": "At the top of the page (observed 2026-10-30): a 64px bar at y 0-64, transparent over the #113E82 announcement, white wordmark and white links. The #212529 ground, shadow, #DEE2E6 links and blue wordmark are the scrolled state."
      },
      "hero": {
        "summary": "There is no desktop hero at rest. While the announcement shows, the h1 band (section.header-hero, \"Production-Grade Container Orchestration\" on #303030 with texture.png) is display:none at 1440, so the page goes nav/announcement -> search -> flower illustration. On phone the h1 band IS visible between the announcement and the search.",
        "desktop": {
          "column_split": "none: single centred column",
          "vertical_anchors": "announcement 0-285 occupies the hero slot; search band 285-361; first illustration top y 421",
          "text_max_width": "n/a",
          "media": "none in the hero slot; the first media is flower.svg in the overview",
          "cta_size": "n/a (only button above the fold is Hide this notice 156x33)"
        },
        "phone": {
          "order": "nav over announcement (0-447), h1 band (447-600), search (600-676), flower",
          "alignment": "h1 centred",
          "sizes": "band 390x153, padding 32px top 24px bottom; h1 27.85px/33.42px weight 500 (renders 400) #FFFFFF, 2 lines \"Production-Grade Container / Orchestration\", box x 10-380, y 479-546"
        },
        "at_rest": "desktop: announcement visible, h1 band hidden. phone: both visible. No animation.",
        "media": "phone h1 band ground #303030 with background-image texture.png (1920x698, faint grey network dots and lines, auto size, top-left)",
        "type": "h1 Open Sans 500-declared (renders 400), white, centred",
        "cta": "none in the hero",
        "proof": "none"
      },
      "sections": [
        {
          "name": "Search",
          "summary": "White band holding one pill search field",
          "ground": "#FFFFFF",
          "desktop": "band y 285-361 (76px, padding 19.2px). Field 936x38 at x 252 (container 960 centred); wrapper radius 20px with a 1px solid #495057 outline; 16px magnifier glyph rgba(33,37,41,0.75) at x 264; placeholder \"Search this site\" 16px #212529 at 75%, text starts x 285",
          "phone": "band y 600-676; field 304x38 at x 43",
          "anatomy": [
            "one input, no button; magnifier inside at left 12px",
            "focus: border #F5F8FE, box-shadow 0 0 0 2px #84A7EF, 0.15s"
          ],
          "components": [
            "search field"
          ]
        },
        {
          "name": "Overview: flower + definition",
          "summary": "Centred flower.svg diagram above two left-aligned body paragraphs",
          "ground": "#FFFFFF",
          "desktop": "section padding 60px 20px; content column max-width 1200 (x 120-1320). Image 491x179 centred (x 475, y 421). p1 at y 620 (14px/21px #212529, one line), p2 at y 657 (two lines, full 1200 width), 16px between paragraphs",
          "phone": "column x 20-370. Image scales to 350x128 at y 736; p1 y 884 (3 lines), p2 y 963 (6 lines)",
          "anatomy": [
            "p1 verbatim: \"Kubernetes, also known as K8s, is an open source system for automating deployment, scaling, and management of containerized applications.\" (\"Kubernetes\" is a #326CE5 link to /docs/concepts/overview/)",
            "p2 verbatim: \"It groups containers that make up an application into logical units for easy management and discovery. Kubernetes builds upon 15 years of experience of running production workloads at Google, combined with best-of-breed ideas and practices from the community.\" (\"15 years of experience of running production workloads at Google\" links to https://queue.acm.org/detail.cfm?id=2898444)",
            "body text is left-aligned under a centred image; links #326CE5, no underline at rest, underline on hover"
          ],
          "components": [
            "body link"
          ]
        },
        {
          "name": "Overview: three feature rows",
          "summary": "Three stacked rows, each a centred 160px flat illustration, then a left-aligned H4 and a 14px paragraph",
          "ground": "#FFFFFF",
          "desktop": "rows start y 759, 1051, 1343 (60px between rows). Icons 160 wide centred (x 640): scalable 160x157, blocks 160x157, suitcase 160x139. Visible H4 text 20px below the icon bottom (Planet scale text ~y 936), paragraph 8px below the H4 (y 970), left edge x 120, full 1200 width",
          "phone": "rows y 1149, 1482, 1836; icon 160 centred x 115; H4 20.6px at y 1326 / 1659 / 1995 followed by a visible blue \"#\" self-link (18.6px #326CE5); paragraphs wrap to 3-4 lines",
          "anatomy": [
            "Row 1: scalable.svg, H4 \"Planet scale\", p \"Designed on the same principles that allow Google to run billions of containers a week, Kubernetes can scale without increasing your operations team.\"",
            "Row 2: blocks.svg, H4 \"Never outgrow\", p \"Whether testing locally or running a global enterprise, Kubernetes flexibility grows with you to deliver your applications consistently and easily no matter how complex your need is.\"",
            "Row 3: suitcase.svg, H4 \"Run K8s anywhere\", p \"Kubernetes is open source giving you the freedom to take advantage of on-premises, hybrid, or public cloud infrastructure, letting you effortlessly move workloads to where it matters to you.\" then p \"To download Kubernetes, visit the download section.\" (\"download\" links /releases/download/)",
            "H4 21.6px/25.92px weight 500 (renders 400) #212529, left; heading self-link \"#\" hidden on desktop until hover, always visible on phone",
            "no cards, no columns: one centred image over left text, repeated"
          ],
          "components": [
            "section heading with self-link"
          ]
        },
        {
          "name": "Video band",
          "summary": "Dark band with a large white Watch Video button at left and a video-thumbnail image at right; the yellow title and presenter names are pixels in the image, not live text",
          "ground": "#13110F",
          "desktop": "band y 1735-2119 (384px). Background image video_banner_homepage_XNZvGHlpJ_4.jpeg (1922x1072) at background-size auto 100% (renders 688x384), position 65% 50% (x 489-1177), no-repeat over #13110F. Content row padding 0 864px 0 144px; button 224x134 at x 248 y 1911 (bottom-aligned, ~74px above band bottom)",
          "phone": "display:none: the whole band is hidden at 390. Do not build it on phone.",
          "anatomy": [
            "Watch Video button: #FFFFFF fill, radius 8px, padding 24px, 28.8px/43.2px Open Sans 400 #495057, text centred and wrapping to \"▶ Watch / Video\" (::before content \"▶︎ \")",
            "hover: text #326CE5, 0.15s",
            "image text (title \"The Absolute Beginner's Guide to Cloud Native\" in yellow rounded face, presenters \"Kyle Penfound, Solutions Engineer, Dagger\" and \"Cortney Nickerson, Head of Community, Nirmata\", CNCF University Europe badge) is baked into the JPEG: use the file, never re-typeset it",
            "the band's h2 and byline exist in the DOM but are visibility:hidden"
          ],
          "components": [
            "Watch Video button"
          ]
        },
        {
          "name": "Upcoming KubeCon events",
          "summary": "Grey band with a centred bold white heading and two centred bulleted event lines",
          "ground": "#495057",
          "desktop": "band y 2119-2437 (318px). h2 32px/38.4px weight 700 #FFFFFF centred, padding 32px 16px (text ~y 2183). Event rows at y 2273 and 2345, each padding 8px 0 + margin 8px; each line 24px/36px #FFFFFF centred: \"• \" + bold 700 underlined place name + 400 detail",
          "phone": "band y 2268-2673 (405px); h2 24.71px/29.65px 700 in 3 lines (153px tall including its 32px 16px padding) (x 20-371); event lines stay 24px, North America wraps to 2 lines",
          "anatomy": [
            "h2 verbatim: \"Attend upcoming KubeCon + CloudNativeCon events\"",
            "row 1: \"• Japan (Yokohama, Jul 28–30)\" -> https://events.linuxfoundation.org/kubecon-cloudnativecon-japan/",
            "row 2: \"• North America (Salt Lake City, Nov 9–12)\" -> https://events.linuxfoundation.org/kubecon-cloudnativecon-north-america/",
            "whole line is the link; bold place names carry the underline; hover underlines the whole line",
            "time-bound: reproduce as captured 2026-10-30"
          ],
          "components": [
            "event link"
          ]
        },
        {
          "name": "Kubernetes Features",
          "summary": "Light-grey section: blue helm wheel icon, blue centred heading, then a 2-column grid of 11 pale-blue cards (last card centred alone)",
          "ground": "#F9F9F9",
          "desktop": "section y 2437-3751, padding 140px top 32px bottom. wheel.svg as background-image 60px wide, centred, top 60px (y 2497-2557). Heading y 2577, 32px/38.4px weight 500 (renders 400) #326CE5 centred. Grid starts y 2644 (margin-top 28.8px): flex-wrap, centred, cards 472px wide with 20px column gap (x 238 and 730) and 20px row gap; row 1 y 2644 h 223; row 2 y 2887 h 151; row 3 y 3057 h 175; row 4 y 3252 h 175; row 5 y 3446 h 127; row 6 (single, centred x 484) y 3592 h 127. Each row's two cards share the taller height",
          "phone": "heading 24.71px; single column of 312px cards at x 39 from y 2872, 19-20px apart, heights 323, 251, 199, 227, 247, 175, 223, 151, 151, 127, 151",
          "anatomy": [
            "card: #DAEAF9 fill, radius 8px, padding 16px 16px 19.2px, no border, no shadow, no hover change",
            "card title: h3 20.8px weight 500 (renders 400), centred, a #326CE5 link (underline on hover), 16px below it the body",
            "card body: 16px/24px #212529 left-aligned",
            "titles link: card 1 to /docs/concepts/workloads/controllers/deployment/, card 2 to /docs/concepts/services-networking/service/, the rest to their concept pages",
            "cards verbatim, in order:",
            "1. Automated rollouts and rollbacks: Kubernetes progressively rolls out changes to your application or its configuration, while monitoring application health to ensure it doesn't kill all your instances at the same time. If something goes wrong, Kubernetes will rollback the change for you. Take advantage of a growing ecosystem of deployment solutions.",
            "2. Service discovery and load balancing: No need to modify your application to use an unfamiliar service discovery mechanism. Kubernetes gives Pods their own IP addresses and a single DNS name for a set of Pods, and can load-balance across them.",
            "3. Storage orchestration: Automatically mount the storage system of your choice, whether from local storage, a public cloud provider, or a network storage system such as iSCSI or NFS.",
            "4. Secret and configuration management: Deploy and update Secrets and application configuration without rebuilding your image and without exposing Secrets in your stack configuration.",
            "5. Automatic bin packing: Automatically places containers based on their resource requirements and other constraints, while not sacrificing availability. Mix critical and best-effort workloads in order to drive up utilization and save even more resources.",
            "6. Batch execution: In addition to services, Kubernetes can manage your batch and CI workloads, replacing containers that fail, if desired.",
            "7. Self-healing: Kubernetes restarts containers that crash, replaces entire Pods where needed, reattaches storage in response to wider failures, and can integrate with node autoscalers to self-heal even at the node level.",
            "8. Horizontal scaling: Scale your application up and down with a simple command, with a UI, or automatically based on CPU usage.",
            "9. Vertical scaling: Automatically adjust resource requests and limits based on actual usage patterns.",
            "10. IPv4/IPv6 dual-stack: Allocation of IPv4 and IPv6 addresses to Pods and Services",
            "11. Designed for extensibility: Add features to your Kubernetes cluster without changing upstream source code.",
            "Card box-sizing border-box: 472.44px wide at 1440 (content width 440.44px after 16px side padding); 312px at 390 (content 280px). With Open Sans 16px/24px, card 1's body sets in exactly 6 lines at 1440 (144px) and the card is 223px: 16 top + 28 title + 16 gap + 144 + 19.2 bottom. Never 7 lines.",
            "Card title line-height: 28px at 20.8px (CSS 'normal' in Open Sans = 1.346). Set it explicitly to 28px, not 1.2 and not 'normal' with a fallback font."
          ],
          "components": [
            "feature card"
          ]
        },
        {
          "name": "CNCF graduated",
          "summary": "White strip: one centred line and the CNCF logo",
          "ground": "#FFFFFF",
          "desktop": "y 3752-3942 (190px), padding 30px. p 19.2px/28.8px 400 #212529 centred at y 3782: \"We are a CNCF graduated project\" with \"CNCF\" an underlined #212529 link to https://cncf.io/. Logo 364x69 centred at y 3842",
          "phone": "y 5323-5542; line wraps to 2 lines (y 5353-5411); logo 364x69 at x 13 y 5442",
          "anatomy": [
            "CNCF logo full colour: #0086FF and #93EAFF mark, black wordmark \"CLOUD NATIVE / COMPUTING FOUNDATION\"",
            "no button"
          ],
          "components": []
        }
      ],
      "footer": {
        "summary": "Dark textured footer, three columns: social icons left, three centred legal lines, community icons right",
        "ground": "#403F4C under linear-gradient(rgba(0,0,0,0.525), rgba(0,0,0,0.5)) plus texture.png, so it renders about #1E1E24 with faint network lines",
        "anatomy": [
          "desktop y 3942-4170 (228px), padding 48px 16px; columns 352 / 704 / 352 (col-sm-3 / col-sm-6 / col-sm-3)",
          "left icon row (x 36-257, y 3992, 24px Font Awesome glyphs #FFFFFF, ~16px apart), in order: YouTube (https://youtube.com/kubernetescommunity), Forum envelope (https://discuss.kubernetes.io/), Server Fault stack-overflow glyph (https://serverfault.com/questions/tagged/kubernetes), LinkedIn (https://www.linkedin.com/company/kubernetes/), Bluesky (https://bsky.app/profile/kubernetes.io), X (formerly Twitter) (https://x.com/kubernetesio)",
          "right icon row, right-aligned (x 1261-1404): Contributor website laptop-code (https://k8s.dev/), GitHub (https://github.com/kubernetes/kubernetes), Slack (https://slack.k8s.io/), Events Calendar calendar-days (https://calendar.google.com/calendar/embed?src=calendar%40kubernetes.io)",
          "centre column text 14px/21px #E9E9E9 centred, 680px wide (x 380-1060), 16px between paragraphs:",
          "line 1 verbatim: \"© 2026 The Kubernetes Authors | Documentation Distributed under CC BY 4.0\" (\"CC BY 4.0\" link #FFFFFF to https://git.k8s.io/website/LICENSE)",
          "line 2 verbatim: \"© 2026 Copyright © Kubernetes a Series of LF Projects, LLC. For website terms of use, trademark policy and other project policies please see https://lfprojects.org/policies/\" (URL is a #FFFFFF link), wraps to 2 lines",
          "line 3 verbatim: \"ICP license: 京ICP备17074266号-3\"",
          "no address, no phone number, no footer link columns",
          "icon hover: underline only (no colour change)"
        ],
        "phone": "y 5542-5917 (375px). Same three columns kept side by side: left icons stacked vertically (6 icons, 21.6px, ~42px pitch, x 36), centre text column 215px wide (x 88-303) with the three lines wrapping to 3/6/2 lines, right icons stacked vertically right-aligned (4 icons, x ~334)"
      },
      "dark_ground": {
        "secondary_button": "Watch Video: #FFFFFF fill, #495057 text, radius 8px (hover text #326CE5). On navy: Hide this notice #326CE5 fill, #FFFFFF text, radius 6px (hover #1A53CA)",
        "link": "#FFFFFF, underlined (announcement, events) or plain white (footer links)",
        "muted_text": "#E9E9E9 (footer)",
        "hairline": "none: no rules or dividers on any dark ground",
        "logo_variant": "nav at the top of the page, on navy: white-text horizontal lockup (#326CE5 heptagon, white helm, white wordmark); scrolled, on #212529, the wordmark letters turn #326CE5. KubeCon/CNCF event lockup all-white on navy"
      }
    },
    "bands": [
      {
        "label": "Nav (overlay)",
        "ground": "#113E82",
        "content": "lockup left, 6 links + Versions + English + theme toggle right",
        "desktop": "64px fixed at top 0, transparent over the navy announcement; links 14px/700 #FFFFFF from x 396; white wordmark",
        "phone": "64px fixed at top 0; lockup centred with white wordmark, hamburger 54x46 right",
        "anatomy": [
          "ground is transparent: it reads as the #113E82 announcement beneath it",
          "no CTA",
          "no hairline or shadow at the top of the page",
          "scrolled: #212529 + shadow 0 1px 2px #495057, links #DEE2E6, wordmark letters #326CE5"
        ]
      },
      {
        "label": "Announcement",
        "ground": "#113E82",
        "content": "KubeCon NA 2026 title link, invite + ticket link, Hide this notice, event lockup right",
        "desktop": "0-285, content 1072 centred, padding 128/32",
        "phone": "0-447, content 312 at x 39, lockup floats right beside title",
        "anatomy": [
          "time-bound, reproduce as captured 2026-10-30"
        ]
      },
      {
        "label": "Phone h1 band",
        "ground": "#303030",
        "content": "\"Production-Grade Container Orchestration\"",
        "desktop": "hidden (display:none) while the announcement shows",
        "phone": "447-600, 27.85px white centred",
        "anatomy": [
          "phone only",
          "ground as observed: #303030 + texture.png"
        ]
      },
      {
        "label": "Search",
        "ground": "#FFFFFF",
        "content": "pill search field \"Search this site\"",
        "desktop": "285-361, field 936x38 radius 20 outline 1px #495057",
        "phone": "600-676, field 304x38",
        "anatomy": [
          "magnifier inside left"
        ]
      },
      {
        "label": "Overview",
        "ground": "#FFFFFF",
        "content": "flower.svg + 2 paragraphs; 3 rows of 160px icon + H4 + paragraph",
        "desktop": "361-1735, column 1200 at x 120, images centred, text left",
        "phone": "676-2268, column x 20-370",
        "anatomy": [
          "14px/21px #212529 body",
          "H4 21.6px weight 500 (renders 400)"
        ]
      },
      {
        "label": "Video",
        "ground": "photo-dark",
        "content": "Watch Video white button left, thumbnail image right",
        "desktop": "1735-2119 (384), image auto 100% at 65% 50%",
        "phone": "hidden",
        "anatomy": [
          "title text is in the image",
          "ground as observed: #13110F + video_banner JPEG"
        ]
      },
      {
        "label": "Upcoming events",
        "ground": "#495057",
        "content": "h2 + 2 bulleted event links",
        "desktop": "2119-2437, h2 32px/700, lines 24px",
        "phone": "2268-2673",
        "anatomy": [
          "centred white"
        ]
      },
      {
        "label": "Kubernetes Features",
        "ground": "#F9F9F9",
        "content": "wheel icon, blue heading, 11 #DAEAF9 cards",
        "desktop": "2437-3751, 2 x 472 cards, 20px gaps, last centred",
        "phone": "2673-5322, 1 x 312 cards",
        "anatomy": [
          "card radius 8, blue centred title, left body 16px"
        ]
      },
      {
        "label": "CNCF",
        "ground": "#FFFFFF",
        "content": "\"We are a CNCF graduated project\" + CNCF logo 364x69",
        "desktop": "3752-3942",
        "phone": "5323-5542",
        "anatomy": [
          "centred"
        ]
      },
      {
        "label": "Footer",
        "ground": "#202020",
        "content": "6 icons | 3 legal lines | 4 icons",
        "desktop": "3942-4170, padding 48 16",
        "phone": "5542-5917, icons stack vertically in side columns",
        "anatomy": [
          "14px #E9E9E9 centred legal lines",
          "ground as observed: #403F4C + 52% black gradient + texture (renders ~#1E1E24)"
        ]
      }
    ],
    "layout": {
      "page_margin": {
        "desktop": 120,
        "phone": 20
      },
      "section_padding": {
        "desktop": 60,
        "phone": 60
      },
      "container_max": 1200,
      "hero_text_max": 1200,
      "columns": 2,
      "columns_phone": 1,
      "gutter": 20,
      "gutter_phone": 20,
      "card_gap": 20,
      "nav_height": 64,
      "note": "page_width: 1440 desktop measured; page height 4170 desktop, 5917 phone | content_max: 1200px column (x 120-1320 at 1440) for overview, features and CNCF, with 20px side padding on the section; announcement 1072px max centred; search container 960px | gutters: desktop: content is centred max-width, so margins are (viewport-1200)/2 = 120px at 1440. phone: 20px gutters (x 20-370); announcement and feature cards 39px gutters (312px wide); search field 43px | section_spacing: overview section padding 60px top/bottom; 60px between overview rows; features padding 140px top (wheel icon in it) 32px bottom; CNCF padding 30px; events h2 padding 32px; footer padding 48px | grid: single column everywhere except the features grid: 2 x 472px cards, 20px gap, centred, odd last card centred; footer 3 columns 25/50/25 | alignment: images, section titles, event lines, CNCF line and footer legal lines centred; overview body and H4s and card bodies left-aligned | radius: buttons 6px (Hide this notice) and 8px (Watch Video); feature cards 8px; search field 20px pill | shadows: none on content; only the scrolled nav has 0 1px 2px #495057 | phone: overview keeps 60px top/bottom padding and 60px between rows (the last row also carries the 60px bottom margin); features 140px top / 32px bottom on both widths",
      "prov": "observed",
      "source": "https://kubernetes.io/ (2026-10-30)"
    },
    "type": [
      {
        "role": "Features heading (H2 in blue)",
        "id": "h2",
        "face": "Open Sans",
        "size": {
          "desktop": 32,
          "phone": 24.71
        },
        "line_height": 1.2,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "note": "declared 500 but only 300/400/700 load, renders 400; #326CE5 centred"
      },
      {
        "role": "Events band H2 (white, bold)",
        "id": "h2-bold",
        "face": "Open Sans",
        "size": {
          "desktop": 32,
          "phone": 24.71
        },
        "line_height": 1.2,
        "weight": 700,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "role": "Phone hero H1 (phone only)",
        "id": "h1-phone",
        "face": "Open Sans",
        "size": {
          "desktop": 27.85,
          "phone": 27.85
        },
        "line_height": 1.2,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "note": "phone only; white"
      },
      {
        "role": "Announcement title / section H4",
        "id": "h4",
        "face": "Open Sans",
        "size": {
          "desktop": 21.6,
          "phone": 20.6
        },
        "line_height": 1.2,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "note": "declared 500, renders 400"
      },
      {
        "role": "Feature card title",
        "id": "card-title",
        "face": "Open Sans",
        "size": {
          "desktop": 20.8,
          "phone": 20.8
        },
        "line_height": 1.346,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "note": "#326CE5 link, centred; renders 28px tall per line (Open Sans 'normal' line-height); 2 lines = 56px on phone"
      },
      {
        "role": "CNCF line",
        "id": "lead",
        "face": "Open Sans",
        "size": {
          "desktop": 19.2,
          "phone": 19.2
        },
        "line_height": 1.5,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "role": "Event lines",
        "id": "event",
        "face": "Open Sans",
        "size": {
          "desktop": 24,
          "phone": 24
        },
        "line_height": 1.5,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "note": "place name 700 underlined"
      },
      {
        "role": "Feature card body",
        "id": "body",
        "face": "Open Sans",
        "size": {
          "desktop": 16,
          "phone": 16
        },
        "line_height": 1.5,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "role": "Overview body / announcement body / footer legal",
        "id": "small",
        "face": "Open Sans",
        "size": {
          "desktop": 14,
          "phone": 14
        },
        "line_height": 1.5,
        "weight": 400,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      {
        "role": "Nav link",
        "id": "nav",
        "face": "Open Sans",
        "size": {
          "desktop": 14,
          "phone": 14
        },
        "line_height": 1.5,
        "weight": 700,
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      }
    ],
    "components": {
      "button_primary": {
        "fill": "#326CE5",
        "text": "#FFFFFF",
        "radius": 6,
        "height": 33,
        "padding_x": 20,
        "font_size": 16,
        "weight": 400,
        "face": "body",
        "example": "Hide this notice (156x33) in the announcement band",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "states": {
          "hover": {
            "prov": "observed",
            "css": {
              "background-color": "#1A53CA"
            }
          }
        }
      },
      "button_video": {
        "fill": "#FFFFFF",
        "text": "#495057",
        "radius": 8,
        "height": 134,
        "padding_x": 24,
        "font_size": 28.8,
        "weight": 400,
        "face": "body",
        "example": "Watch Video, 224x134, text wraps to two lines, '▶ ' glyph before it; desktop only",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "states": {
          "hover": {
            "prov": "observed",
            "css": {
              "color": "#326CE5",
              "transition": "color 0.15s"
            }
          }
        }
      },
      "detail_primary_button_hide_this_notice": {
        "name": "Primary button (Hide this notice)",
        "anatomy": "#326CE5 fill, #FFFFFF 16px/20.8px Open Sans 400, padding 6px 20px, radius 6px, no border, 156x33",
        "states": {
          "hover": "fill #1A53CA",
          "focus": "browser default"
        },
        "where": "announcement",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "detail_watch_video_button": {
        "name": "Watch Video button",
        "anatomy": "#FFFFFF fill, #495057 28.8px/43.2px 400, padding 24px, radius 8px, 224x134 (wraps to 2 lines), ::before \"▶︎ \"",
        "states": {
          "hover": "text #326CE5, transition 0.15s"
        },
        "where": "video band (desktop only)",
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "search_field": {
        "name": "Search field",
        "anatomy": "pill: wrapper radius 20px, outline 1px solid #495057, white fill; magnifier 16px rgba(33,37,41,0.75) inset 12px; placeholder \"Search this site\" 16px; height 38px",
        "states": {
          "focus": "border #F5F8FE + 0 0 0 2px #84A7EF ring, 0.15s ease-in-out"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "feature_card": {
        "name": "Feature card",
        "anatomy": "#DAEAF9, radius 8px, padding 16px 16px 19.2px, 472px desktop / 312px phone; centred #326CE5 20.8px title link, 16px gap, left 16px/24px #212529 body",
        "states": {
          "hover": "none on the card; title link underlines"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)",
        "fill": "#DAEAF9",
        "radius": 8,
        "padding": "16px 16px 19.2px",
        "width": "472px desktop, 312px phone"
      },
      "body_link": {
        "name": "Body link",
        "anatomy": "#326CE5, no underline",
        "states": {
          "hover": "underline, same colour"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "nav_link": {
        "name": "Nav link",
        "anatomy": "14px/700 #FFFFFF, padding 8px",
        "states": {
          "hover": "#326CE5",
          "scrolled": "#DEE2E6"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "event_link_dark_ground": {
        "name": "Event link (dark ground)",
        "anatomy": "24px #FFFFFF line, bold underlined place name",
        "states": {
          "hover": "whole line underlined"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "social_icon": {
        "name": "Social icon",
        "anatomy": "Font Awesome 24px #FFFFFF glyph link with title attribute",
        "states": {
          "hover": "underline only"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "hamburger_phone": {
        "name": "Hamburger (phone)",
        "anatomy": "54x46, FA bars 32px #FFFFFF, padding 6px 12px, radius 6px, gradient rgba(255,255,255,0.15) to transparent, inset 0 1px 0 rgba(255,255,255,0.15)",
        "states": {
          "open": "white full-width sheet, X close"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      },
      "heading_self-link": {
        "name": "Heading self-link",
        "anatomy": "\"#\" after H4, #326CE5 18.6-19.4px",
        "states": {
          "desktop": "hidden until heading hover",
          "phone": "always visible"
        },
        "prov": "observed",
        "source": "https://kubernetes.io/ (2026-10-30)"
      }
    },
    "type_notes": {
      "faces": "Open Sans only, loaded from Google Fonts by @import in main.css (https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,700,700i&display=swap), not self-hosted. Only 300/400/700 (+italics) load, so every weight-500 heading renders at 400: measured \"Kubernetes Features\" at 32px is 309.97px wide as declared 500, 309.97px in 400 and 332.98px in 700. Builders: load Open Sans 400 and 700 from Google Fonts and set headings at 400. No stand-in or calibration is needed; the real face is open (SIL OFL). Icons are Font Awesome 6 (free solid + brands).",
      "case": "sentence case throughout except proper names (Kubernetes Features, KubeCon + CloudNativeCon); no uppercase eyebrows, no letter-spacing",
      "desktop_raw": [
        {
          "role": "announcement title / section H4",
          "size": "21.6px",
          "line": "25.92px",
          "weight": "500 declared, renders 400",
          "color": "#FFFFFF on navy, #212529 on white"
        },
        {
          "role": "features heading",
          "size": "32px",
          "line": "38.4px",
          "weight": "500 declared, renders 400",
          "color": "#326CE5",
          "align": "center"
        },
        {
          "role": "events band h2",
          "size": "32px",
          "line": "38.4px",
          "weight": 700,
          "color": "#FFFFFF",
          "align": "center"
        },
        {
          "role": "feature card title",
          "size": "20.8px",
          "line": "normal",
          "weight": "500 declared, renders 400",
          "color": "#326CE5 (link)",
          "align": "center"
        },
        {
          "role": "feature card body",
          "size": "16px",
          "line": "24px",
          "weight": 400,
          "color": "#212529"
        },
        {
          "role": "overview body / announcement body",
          "size": "14px",
          "line": "21px",
          "weight": 400,
          "color": "#212529 / #FFFFFF"
        },
        {
          "role": "event lines",
          "size": "24px",
          "line": "36px",
          "weight": "400, place name 700",
          "color": "#FFFFFF"
        },
        {
          "role": "Watch Video button",
          "size": "28.8px",
          "line": "43.2px",
          "weight": 400,
          "color": "#495057"
        },
        {
          "role": "CNCF line",
          "size": "19.2px",
          "line": "28.8px",
          "weight": 400,
          "color": "#212529"
        },
        {
          "role": "nav link",
          "size": "14px",
          "line": "21px",
          "weight": 700,
          "color": "#FFFFFF"
        },
        {
          "role": "button (Hide this notice), search input",
          "size": "16px",
          "line": "20.8px / 24px",
          "weight": 400
        },
        {
          "role": "footer legal",
          "size": "14px",
          "line": "21px",
          "weight": 400,
          "color": "#E9E9E9"
        }
      ],
      "phone_raw": [
        {
          "role": "phone h1",
          "size": "27.85px",
          "line": "33.42px",
          "weight": "500 declared, renders 400",
          "color": "#FFFFFF"
        },
        {
          "role": "announcement title / H4",
          "size": "20.6px",
          "line": "24.75px"
        },
        {
          "role": "features heading / events h2",
          "size": "24.71px",
          "line": "29.65px",
          "weight": "500 (renders 400) / 700"
        },
        {
          "role": "card title, card body, overview body, event lines, CNCF line, footer",
          "size": "unchanged from desktop (20.8 / 16 / 14 / 24 / 19.2 / 14)"
        },
        {
          "role": "mobile menu rows",
          "size": "20px",
          "weight": 400,
          "color": "#326CE5"
        }
      ],
      "prov": "observed",
      "source": "https://kubernetes.io/ (2026-10-30)"
    },
    "breakpoints": {
      "phone_max": 767,
      "note": "observed 2026-10-30 by resizing: at <=767px the nav links collapse to the hamburger, the 'Production-Grade Container Orchestration' h1 band appears, the video band hides and cards go single-column; at >=768 the desktop nav shows. Type steps (32 -> 24.71px h2) scale fluidly between 600 and 1200.",
      "prov": "observed",
      "source": "https://kubernetes.io/ (2026-10-30)"
    }
  },
  "system": {
    "fixed": [
      "The helm in the blue heptagon, from the official files only",
      "Kubernetes Blue #326CE5 / Pantone 285 C",
      "Kubernetes capitalized; K8s as the abbreviation",
      "You, present tense, plain words"
    ],
    "flex": "Everything visual beyond the logo and the blue: the site's greys, layout, illustration and type are conventions, not rules, and non-commercial uses (t-shirts, stickers) may even modify the mark.",
    "traits": [
      {
        "is": "Direct",
        "not": "Curt",
        "text": "Simple, direct language; no please, no in order to (paraphrase).",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "prov": "inferred"
      },
      {
        "is": "Precise",
        "not": "Pedantic",
        "text": "Exact names for API kinds and fields; guidelines, not rules, use judgment (paraphrase).",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "prov": "inferred"
      },
      {
        "is": "Neutral",
        "not": "Promotional",
        "text": "The project speaks, not a company; nothing implies endorsement (paraphrase).",
        "source": "https://www.linuxfoundation.org/legal/trademark-usage",
        "prov": "inferred"
      },
      {
        "is": "Inclusive",
        "not": "Assuming expertise",
        "text": "No idioms for second-language readers; no just or simply (paraphrase).",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "prov": "inferred"
      },
      {
        "is": "Durable",
        "not": "Trendy",
        "text": "No currently or new; use version numbers (paraphrase).",
        "source": "https://kubernetes.io/docs/contribute/style/style-guide/",
        "prov": "inferred"
      }
    ]
  },
  "formats": [
    {
      "format": "Landing page",
      "level": 2,
      "must": "Build it the way kubernetes.io is built (kit.spec.page): a fixed 64px nav, transparent over a navy #113E82 announcement band at the top (#212529 once scrolled), with the white-text horizontal lockup, a pill search, flat blue-teal illustrations centred over left-aligned 14px Open Sans copy on white, the #F9F9F9 feature grid of #DAEAF9 cards, a textured dark footer. Plain institutional homepage voice",
      "flex": "which sections; whether a navy announcement band runs; how many feature cards"
    },
    {
      "format": "Docs page",
      "level": 1,
      "must": "Sentence-case headings, you and present tense, UpperCamelCase API kinds, code style for commands, Note/Caution/Warning callouts",
      "flex": "length and depth"
    },
    {
      "format": "Deck",
      "level": 2,
      "must": "Official lockup, white or dark grounds, Kubernetes Blue as the only accent, Open Sans",
      "flex": "illustrations; one blue title slide"
    },
    {
      "format": "Social post",
      "level": 3,
      "must": "Icon or horizontal lockup unaltered, one blue, plain line in K8s naming",
      "flex": "blue ground with the white lockup"
    },
    {
      "format": "Third-party product page",
      "level": 1,
      "must": "\"<product> for Kubernetes\" naming, trademark notice, your own brand more prominent",
      "flex": "none on the mark"
    },
    {
      "format": "Swag",
      "level": 4,
      "must": "Non-commercial only if the mark is modified",
      "flex": "playful variations of the helm"
    }
  ],
  "checks": [
    {
      "name": "Logo hidden",
      "text": "Cover the helm. If the page is just white, blue links and Open Sans, it reads as any docs site; the illustrations and the plain, exact copy are what's left of Kubernetes."
    },
    {
      "name": "Copy lint",
      "text": "For NEW copy: search for just, simply, easy, please, currently, new, e.g., i.e., K8S, cloud-native and open-source, and cut each. A rebuild of the existing homepage keeps its own lines verbatim."
    },
    {
      "name": "Endorsement",
      "text": "Does anything imply the Linux Foundation, CNCF or Kubernetes endorses a product? Rewrite as '<product> for Kubernetes'."
    }
  ],
  "examples": [
    {
      "chapter": "voice",
      "do": {
        "ground": "paper",
        "text": "Run the container."
      },
      "do_caption": "Plain verb, no assumed ease (the guide's own example).",
      "dont": {
        "ground": "paper",
        "text": "Simply run the container."
      },
      "dont_caption": "'Simply' assumes a level of understanding."
    },
    {
      "chapter": "rules",
      "do": {
        "ground": "paper",
        "text": "Run K8s anywhere"
      },
      "do_caption": "K8s, the CNCF-preferred abbreviation.",
      "dont": {
        "ground": "paper",
        "text": "Run K8S anywhere"
      },
      "dont_caption": "K8S gets the capitalization wrong."
    },
    {
      "chapter": "color",
      "do": {
        "ground": "paper",
        "text": "Kubernetes Features",
        "ink": "accent"
      },
      "do_caption": "Kubernetes Blue on white, as the site uses it.",
      "dont": {
        "ground": "paper",
        "text": "Kubernetes Features",
        "ink": "#09C1D1"
      },
      "dont_caption": "Teal is an illustration fill, not a type color."
    }
  ],
  "make_it_yours": {
    "note": "Everything above transfers. These are Kubernetes'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": {
          "label": "Stated job",
          "text": "Automate deployment, scaling and management of containerized applications (paraphrase of the homepage definition; no mission statement is published).",
          "prov": "inferred",
          "source": "https://kubernetes.io/"
        },
        "story": {
          "text": "The name is Greek for helmsman or pilot, which is why the mark is a ship's wheel. Google open sourced Kubernetes in 2014 on 15 years of running production workloads (Borg); it is now a graduated CNCF project under the Linux Foundation, written and maintained by the Kubernetes Authors and its SIGs.",
          "prov": "published",
          "source": "https://kubernetes.io/docs/concepts/overview/",
          "paraphrase": true,
          "also": [
            "https://github.com/cncf/foundation/blob/main/style-guide.md",
            "https://kubernetes.io/ (2026-10-30)"
          ]
        }
      },
      "positioning": {
        "statement": {
          "text": "A portable, extensible, open source platform for managing containerized workloads and services, with declarative configuration and automation (paraphrase).",
          "prov": "published",
          "source": "https://kubernetes.io/docs/concepts/overview/"
        },
        "category": {
          "text": "Container orchestration",
          "prov": "published",
          "source": "https://kubernetes.io/"
        },
        "audience": {
          "text": "Teams running containerized applications in production, from local testing to global enterprises, and the platform builders who extend it (paraphrase of homepage and overview).",
          "prov": "inferred",
          "source": "https://kubernetes.io/"
        },
        "problem": {
          "text": "Containers in production must be managed so nothing goes down: when one fails, another must start (paraphrase).",
          "prov": "published",
          "source": "https://kubernetes.io/docs/concepts/overview/"
        },
        "promise": {
          "text": "A framework to run distributed systems resiliently: scaling, failover and deployment patterns handled for you (paraphrase).",
          "prov": "published",
          "source": "https://kubernetes.io/docs/concepts/overview/"
        },
        "differentiators": [
          {
            "text": "Open source and vendor-neutral, governed in the open under the CNCF.",
            "prov": "published",
            "source": "https://kubernetes.io/"
          },
          {
            "text": "Runs anywhere: on-premises, hybrid or public cloud.",
            "prov": "published",
            "source": "https://kubernetes.io/"
          },
          {
            "text": "Extensible without changing upstream code.",
            "prov": "published",
            "source": "https://kubernetes.io/docs/concepts/overview/"
          },
          {
            "text": "Google-scale lineage: 15 years of production experience.",
            "prov": "published",
            "source": "https://kubernetes.io/docs/concepts/overview/"
          }
        ],
        "alternatives": [
          {
            "text": "Traditional all-inclusive PaaS systems (the overview names what Kubernetes is not).",
            "prov": "published",
            "source": "https://kubernetes.io/docs/concepts/overview/"
          }
        ]
      },
      "messaging": {
        "taglines": [
          {
            "text": "Production-Grade Container Orchestration",
            "prov": "published",
            "source": "https://kubernetes.io/",
            "where": "Homepage h1 and page title (content/en/_index.html in kubernetes/website)"
          },
          {
            "text": "Automated container deployment, scaling, and management",
            "prov": "published",
            "source": "https://kubernetes.io/",
            "where": "Homepage abstract"
          }
        ],
        "attributes": [
          "open source",
          "portable",
          "extensible",
          "production-grade"
        ],
        "key_messages": [
          "Planet scale",
          "Never outgrow",
          "Run K8s anywhere"
        ],
        "boilerplate": {
          "text": "Kubernetes, also known as K8s, is an open source system that automates deploying, scaling and managing containerized applications. It groups an application's containers into logical units for management and discovery, and builds on 15 years of running production workloads at Google plus the community's best ideas.",
          "prov": "published",
          "source": "https://kubernetes.io/",
          "paraphrase": true,
          "also": [
            "https://kubernetes.io/docs/concepts/overview/"
          ]
        },
        "pillars": [
          {
            "name": "Planet scale",
            "claim": "Built on the principles Google uses to run billions of containers a week; scales without a bigger ops team (paraphrase).",
            "prov": "published",
            "source": "https://kubernetes.io/",
            "proof": [
              "p-google",
              "p-billions"
            ]
          },
          {
            "name": "Never outgrow",
            "claim": "From a laptop test to a global enterprise, it grows with the application (paraphrase).",
            "prov": "published",
            "source": "https://kubernetes.io/",
            "proof": [
              "p-features"
            ]
          },
          {
            "name": "Run K8s anywhere",
            "claim": "Open source, so workloads run on-premises, hybrid or public cloud and move where needed (paraphrase).",
            "prov": "published",
            "source": "https://kubernetes.io/",
            "proof": [
              "p-cncf",
              "p-oss"
            ]
          }
        ],
        "proof_points": [
          {
            "id": "p-google",
            "kind": "history",
            "text": "Builds on 15 years of Google's experience running production workloads.",
            "source": "https://kubernetes.io/docs/concepts/overview/",
            "prov": "published"
          },
          {
            "id": "p-billions",
            "kind": "stat",
            "text": "Google runs billions of containers a week on the same principles.",
            "source": "https://kubernetes.io/",
            "prov": "published"
          },
          {
            "id": "p-oss",
            "kind": "history",
            "text": "Google open sourced the project in 2014.",
            "source": "https://kubernetes.io/docs/concepts/overview/",
            "prov": "published"
          },
          {
            "id": "p-cncf",
            "kind": "status",
            "text": "A CNCF graduated project.",
            "source": "https://kubernetes.io/ (2026-10-30)",
            "prov": "observed"
          },
          {
            "id": "p-features",
            "kind": "capability",
            "text": "Self-healing, automated rollouts and rollbacks, service discovery, storage orchestration, bin packing, horizontal scaling, IPv4/IPv6 dual-stack, extensibility.",
            "source": "https://kubernetes.io/docs/concepts/overview/",
            "prov": "published"
          }
        ],
        "claim_boundaries": [
          {
            "text": "Not a traditional, all-inclusive PaaS: it gives building blocks and keeps logging, monitoring and CI/CD optional and pluggable (paraphrase).",
            "prov": "published",
            "source": "https://kubernetes.io/docs/concepts/overview/"
          },
          {
            "text": "Nothing may imply that the Linux Foundation or Kubernetes sponsors or endorses a product.",
            "prov": "published",
            "source": "https://www.linuxfoundation.org/legal/trademark-usage"
          }
        ]
      }
    }
  }
}