{
  "trust_level": "claimed",
  "official_brand_source": false,
  "verification_method": null,
  "verified_domain": null,
  "verified_at": null,
  "verification_last_checked_at": null,
  "verification_expires_at": null,
  "status": "active",
  "customer_handle": "spindrift-1d96a1d0",
  "certification_status": "not_certified",
  "registry_certified": false,
  "certification": null,
  "brand_name": "Spindrift",
  "response_scope": "full_tree",
  "integrity": {
    "version": 2,
    "publication_id": "4d98d62553a3726a4d140c01503060ed27ff1718825e9628718b78153a9cc68f",
    "revision_id": "4bdd170e-1b58-4168-bd78-caa23497f3d4",
    "manifest_sha256": "249a7140c10cd87294837bd5ee9fe54cba187555d3814e97ad106f9b8a25c1d8",
    "manifest_signature": "Mr1itFZiL+DBQzzGNYaGkHThtSGItp6Jl2gJZBx7Ee1F2EoB33dt4J2YOKfossNiBYpKM8/wP+hDh2wsvONaDw==",
    "manifest_signature_kid": "v1"
  },
  "verified": null,
  "schema": "bcp-readable-package-v1",
  "integrity_scope": "publication_manifest",
  "representation": "Derived readable representation; verify signatures against the canonical source files.",
  "canonical_registry_url": "https://registry.brandcontextprotocol.dev/brands/spindrift-1d96a1d0",
  "html_url": "https://registry.encodedbrands.ai/brands/spindrift-1d96a1d0",
  "files": [
    {
      "path": "/.well-known/brand/visual.md",
      "content": "---\nbcp_version: \"1.1.1\"\nfile_type: visual\nparent: https://registry.brandcontextprotocol.dev/spindrift-1d96a1d0/.well-known/brand.md\nlast_updated: 2026-09-22\n---\n\n# Visual\n\n> **Public-source demonstration.** No public Spindrift brand-guidelines PDF was found. Color, type, and logo rules below were observed from drinkspindrift.com CSS and packaging photography (7 July 2026, checked 22 September 2026). They are not a published brand book and Spindrift has not approved them.\n\n## Observed cues\n\n```yaml\nobserved_cues:\n  ground: \"White cans and white page fields, with fruit as the color.\"\n  fruit_accents: \"Each flavor takes an accent from its fruit. Do not invent a per-flavor palette without sampling the current product art.\"\n  imagery: \"Real cans, real fruit, farms, and process. Current site photography first. Watercolor fruit on white is 2016 packaging heritage (PR Newswire, 28 July 2016).\"\n  packaging_language:\n    - \"real squeezed fruit\"\n    - \"proudly made the hard way™\"\n    - \"never from concentrate\"\n    - \"0g added sugar (sparkling water and SODA only)\"\n    - \"Non-UPF Verified (rolling onto SODA packaging from early 2026, sparkling water from late summer 2026)\"\n  feel: \"Premium natural packaged goods. Not neon seltzer, not luxury script.\"\n```\n\nThe brand's visual identity is preserved below as machine-readable tokens and practical usage rules.\n\n## Logo\n\n```yaml\nlogo:\n  primary:\n    description: Primary logo asset detected from customer-provided surfaces.\n    variants:\n      - format: svg\n        url: \"https://drinkspindrift.com/cdn/shop/t/23/assets/new-sticker-2025-v2.svg?v=109255732055727970161741035074\"\n        sha256: dd2c4041b0b032465afbcb6660ac73e06101dc9b2131854fefc4bf89d5d3595a\n        purpose: \"Fetched from the customer's published brand surface.\"\n```\n\n## Logo usage\n\n```yaml\nlogo_usage:\n  clear_space:\n    rule: Keep clear space around the logo at least equal to the height of its core mark.\n    machine_value:\n      unit: x-height\n      multiplier: 1.0\n  minimum_size:\n    digital_px: 24\n  approved_backgrounds:\n    - type: solid_color\n      color_token: surface\n      note: Default light surface when contrast is sufficient.\n    - type: solid_color\n      color_token: surface-inverse\n      note: Inverse surface when a light or reversed variant is available.\n  forbidden_backgrounds:\n    - type: gradient\n      note: Do not place the logo over decorative gradients unless brand guidelines explicitly allow it.\n    - type: patterned\n      note: Patterned backgrounds reduce legibility.\n  forbidden_modifications:\n    - stretch\n    - rotate\n    - recolor\n    - drop_shadow\n    - glow\n    - outline\n    - crop\n    - container_shape\n    - animate\n```\n\n## Color\n\n```yaml\ncolor:\n  tokens:\n    neutral_1:\n      hex: \"#000000\"\n      role: neutral\n      description: \"colors extracted from customer source material.\"\n    neutral_2:\n      hex: \"#EBEBEB\"\n      role: neutral\n      description: \"colors extracted from customer source material.\"\n    primary:\n      hex: \"#FFFFFF\"\n      role: primary\n      description: \"colors extracted from customer source material.\"\n    neutral_4:\n      hex: \"#57A823\"\n      role: neutral\n      description: \"colors extracted from customer source material.\"\n    surface:\n      hex: \"#215212\"\n      role: surface\n      description: \"colors extracted from customer source material.\"\n  approved_pairs:\n    []\n  forbidden_pairs:\n    - foreground: primary\n      background: surface\n      reason: Use only if contrast testing passes for the actual type size.\n```\n\n## Typography\n\n```yaml\ntypography:\n  families:\n    hco_gotham_ssm:\n      family: \"HCo Gotham SSm\"\n      fallback_stack: [\"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [400]\n      styles: [\"normal\"]\n      source: \"customer site extraction\"\n    gt_alpina:\n      family: \"GT Alpina\"\n      fallback_stack: [\"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [400]\n      styles: [\"normal\"]\n      source: \"customer site extraction\"\n    gtstandard_m:\n      family: GTStandard-M\n      fallback_stack: [\"Helvetica Neue\", \"Arial\", \"sans-serif\"]\n      weights: [400, 500, 700]\n      styles: [\"normal\"]\n      source: \"customer site extraction\"\n  roles:\n    display: hco_gotham_ssm\n    body: gt_alpina\n    ui: gt_alpina\n```\n\n## Layout and components\n\n```yaml\nelevation:\n  shadows:\n    - \"rgba(0, 0, 0, 0.24) 0px 1px 2px 0px\"\nspacing:\n  scale_px: [12, 24, 40, 56, 64]\ncomponents:\n  buttons:\n    - background: \"#ebebf0\"\n      color: \"#363638\"\n      radius_px: 9999\n      padding_px: [13, 22]\n      font_weight: 400\n    - background: \"transparent\"\n      color: \"#215212\"\n      radius_px: 9999\n      padding_px: [13, 22]\n      font_weight: 400\n    - background: \"transparent\"\n      color: \"#215212\"\n      radius_px: 0\n      padding_px: [0, 0]\n      font_weight: 400\nsource: Observed from the site's live CSS, not a declared design system. Verify against your canonical tokens.\n```\n\n## Imagery\n\n```yaml\nimagery:\n  photographic_style: |\n    Use concrete, brand-owned imagery when available. Avoid generic stock,\n    abstract AI motifs, and visuals that contradict the extracted identity.\n  illustration_style: |\n    Keep illustration subordinate to the brand system. Use only when it\n    clarifies the message better than photography or product evidence.\n  iconography_style: |\n    Follow the brand's existing mark, stroke, and geometry cues. Do not invent\n    decorative symbols without a human-approved precedent.\n  forbidden_treatments:\n    - generic AI iconography\n    - wellness stock imagery (yoga, gut-health, detox)\n    - an invented brand-guidelines document\n    - decorative gradients behind text\n    - stock business-meeting photography\n```\n",
      "signature": "cwpLdtCGrO/5Vy+afG9BFzE6LhuhC98buaqwKurhnKj4lpaiOg658Td4t0tUUsINBgVQEsJL02MWfCDEBgTsAw==",
      "sha256": "b5fa3d8259cc980c12a221c05df511cee17b53dd6a87f0a91ed7198b0bef473f",
      "kid": "v1",
      "content_type": "text/markdown; charset=utf-8",
      "html_url": "https://registry.encodedbrands.ai/brands/spindrift-1d96a1d0/files/visual",
      "json_url": "https://registry.encodedbrands.ai/brands/spindrift-1d96a1d0/files/visual/data.json",
      "source_url": "https://registry.encodedbrands.ai/brands/spindrift-1d96a1d0/source/visual.md",
      "canonical_source_url": "https://registry.brandcontextprotocol.dev/spindrift-1d96a1d0/.well-known/brand/visual.md"
    }
  ]
}
