{
  "$description": "Brand: Airbnb (airbnb@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette airbnb@1.0.0",
      "airbnb-rausch": {
        "$value": "#FF5A5F",
        "$type": "color",
        "$description": "Signature pink-red — the primary brand color. Verified hex from the simple-icons brand database citing airbnb.com.\n"
      },
      "airbnb-rausch-hover": {
        "$value": "#E94A4F",
        "$type": "color",
        "$description": "Authored hover / active state for Rausch."
      },
      "airbnb-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Canvas on light surfaces."
      },
      "airbnb-near-white": {
        "$value": "#F7F7F7",
        "$type": "color",
        "$description": "Authored panel surface for light mode."
      },
      "airbnb-text-primary": {
        "$value": "#222222",
        "$type": "color",
        "$description": "Authored body text on light backgrounds — the near-black tone Airbnb's marketing surfaces uniformly read as.\n"
      },
      "airbnb-text-secondary": {
        "$value": "#717171",
        "$type": "color",
        "$description": "Authored secondary text on light backgrounds."
      },
      "airbnb-text-tertiary": {
        "$value": "#B0B0B0",
        "$type": "color",
        "$description": "Authored tertiary / muted text."
      },
      "airbnb-divider": {
        "$value": "#EBEBEB",
        "$type": "color",
        "$description": "Authored hairline divider tone."
      },
      "airbnb-canvas-dark": {
        "$value": "#1A1A1A",
        "$type": "color",
        "$description": "Authored dark-mode canvas — Airbnb's primary product is light-first; this is an authored inversion."
      },
      "airbnb-surface-dark": {
        "$value": "#2B2B2B",
        "$type": "color",
        "$description": "Authored elevated surface on dark mode."
      },
      "airbnb-success": {
        "$value": "#008A05",
        "$type": "color",
        "$description": "Authored success accent — leans deep green, consistent with Airbnb's status indicators."
      },
      "airbnb-warning": {
        "$value": "#C13515",
        "$type": "color",
        "$description": "Authored warning accent — a deeper red used distinctly from Rausch for destructive context."
      },
      "airbnb-error": {
        "$value": "#C13515",
        "$type": "color",
        "$description": "Authored error accent — same deeper red."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Airbnb Cereal",
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Airbnb Cereal (airbnb-cereal@1.0.0)"
      },
      "weight": {
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Airbnb Cereal",
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Airbnb Cereal (airbnb-cereal@1.0.0)"
      },
      "weight": {
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "JetBrainsMono Nerd Font",
          "JetBrains Mono",
          "Fira Code",
          "Menlo",
          "Monaco",
          "Consolas",
          "Liberation Mono",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "colorChoice",
        "target": "logo.mark",
        "severity": "error",
        "rationale": "The Bélo mark is rendered in Rausch on light surfaces, in Rausch on dark surfaces where contrast permits, or in monochrome white/near-black variants. Recoloring Rausch into off-brand hues violates Airbnb's brand-use guidance.\n",
        "allowed": [
          "airbnb-rausch",
          "airbnb-white",
          "airbnb-text-primary"
        ],
        "forbidden": [
          "any-non-brand-color"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "The Bélo's reading depends on respect for its custom proportions and clearspace. Airbnb's press kit forbids stretching, rotating, or recoloring the mark.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "on-busy-photo",
          "inverted-without-variant",
          "placed-without-clearspace"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "WCAG 2.1 Level AA contrast minimum for body text. Airbnb Text Primary (#222222) on Airbnb White (#FFFFFF) clears AA comfortably.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "contrastRatio",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "Rausch (#FF5A5F) on white meets WCAG AA at large-text size; CTA buttons and primary affordances must clear 3:1.\n",
        "against": "background",
        "minRatio": 3,
        "standard": "WCAG-AA-large"
      },
      {
        "type": "variantSelection",
        "target": "logo",
        "severity": "error",
        "rationale": "On dark surfaces, use the Bélo in white. Do not invert the Rausch fill on the fly.\n",
        "when": {
          "backgroundColorScheme": "dark"
        },
        "use": "belo-light"
      },
      {
        "type": "variantSelection",
        "target": "logo",
        "severity": "error",
        "rationale": "On light surfaces, the Bélo renders in Rausch. The mark on the canonical airbnb.com surface is Rausch, not monochrome.\n",
        "when": {
          "backgroundColorScheme": "light"
        },
        "use": "belo-rausch"
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.identity",
        "severity": "error",
        "rationale": "Airbnb's brand-use guidance restricts use of the Bélo and Rausch in ways that imply affiliation, on competing-product surfaces, or on third-party merchandise without explicit license.\n",
        "forbiddenContexts": [
          "product-of-competitor",
          "merchandise",
          "endorsement-implication"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "Airbnb Cereal ships with discrete weights Light (300), Book (400), Medium (500), Semi-Bold (600), Bold (700), and Extra-Bold (800). Headlines on airbnb.com sit in the 500–800 band; lighter weights compromise the confident, warm-but-precise voice.\n",
        "allowed": [
          "500",
          "600",
          "700",
          "800"
        ]
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Airbnb-skinned surfaces must clear AA on body text.\n",
        "standard": "WCAG-AA",
        "criterion": "1.4.3"
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://news.airbnb.com/press-kit/",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "Airbnb and the Bélo (the Airbnb mark) are trademarks of Airbnb, Inc. Rausch (#FF5A5F) is verified via the simple-icons brand database, which cites airbnb.com as the source. Airbnb Cereal is a proprietary typeface commissioned from Dalton Maag for Airbnb.\n",
      "importedDate": "2026-05-17",
      "notes": "Airbnb's broader original Design Language System catalogues additional named colors (Babu, Arches, Hof, Foggy) in widely-cited secondary literature; those hex values are not currently surfaced in Airbnb's primary public press kit, so brand-atoms catalogues only verified Rausch plus authored neutral surfaces. The Cereal typeface is referenced here with a public-web fallback to Inter when the licensed file is unavailable (see fonts/airbnb-cereal/1.0.0/atom.yaml).\n"
    },
    "com.brand-atoms.references": {
      "palette": "airbnb@1.0.0",
      "fonts": {
        "heading": "airbnb-cereal@1.0.0",
        "body": "airbnb-cereal@1.0.0",
        "mono": "jetbrainsmono-nerdfont@1.0.0"
      }
    }
  }
}
