This record is managed by an account, but domain control has not been proven.
visual.md
---
bcp_version: "0.8"
file_type: visual
parent: https://registry.brandcontextprotocol.dev/portal-fd28054d/.well-known/brand.md
last_updated: 2026-09-15
---
# Visual
The brand's visual identity is preserved below as machine-readable tokens and practical usage rules.
## Logo
```yaml
logo:
primary:
description: Primary logo asset detected from customer-provided surfaces.
variants:
- format: svg
url: "https://portal-brand.com/cdn/shop/files/portal_black_logo.svg?v=1740259913&width=400"
sha256: 918617e2d5e52a87e3172b0b2e073195e772cac049057d773556c4543c6259f0
purpose: "Fetched from the customer's published brand surface."
```
## Logo usage
```yaml
logo_usage:
clear_space:
rule: Keep clear space around the logo at least equal to the height of its core mark.
machine_value:
unit: x-height
multiplier: 1.0
minimum_size:
digital_px: 24
approved_backgrounds:
- type: solid_color
color_token: surface
note: Default light surface when contrast is sufficient.
- type: solid_color
color_token: surface-inverse
note: Inverse surface when a light or reversed variant is available.
forbidden_backgrounds:
- type: gradient
note: Do not place the logo over decorative gradients unless brand guidelines explicitly allow it.
- type: patterned
note: Patterned backgrounds reduce legibility.
forbidden_modifications:
- stretch
- rotate
- recolor
- drop_shadow
- glow
- outline
- crop
- container_shape
- animate
```
## Color
```yaml
color:
tokens:
surface:
hex: "#C5BBAE"
role: surface
description: "colors extracted from customer source material."
neutral_2:
hex: "#27272A"
role: neutral
description: "colors extracted from customer source material."
neutral_3:
hex: "#0071CE"
role: neutral
description: "colors extracted from customer source material."
neutral_4:
hex: "#EB001B"
role: neutral
description: "colors extracted from customer source material."
neutral_5:
hex: "#F79E1B"
role: neutral
description: "colors extracted from customer source material."
accent:
hex: "#000000"
role: primary
description: "accent extracted from customer source material."
text:
hex: "#4B3D33"
role: text
description: "text extracted from customer source material."
approved_pairs:
- foreground: text
background: surface
context: Default body text.
forbidden_pairs:
- foreground: accent
background: surface
reason: Use only if contrast testing passes for the actual type size.
```
## Typography
```yaml
typography:
families:
sf_mono:
family: "SF Mono"
fallback_stack: ["Menlo", "Consolas", "monospace"]
weights: [400, 500, 700]
styles: ["normal"]
source: "customer site extraction"
portal_hh:
family: "Portal HH"
fallback_stack: ["Helvetica Neue", "Arial", "sans-serif"]
weights: [400, 700]
styles: ["normal"]
source: "customer site extraction"
roles:
display: portal_hh
body: portal_hh
ui: portal_hh
mono: sf_mono
code: sf_mono
```
## Layout and components
```yaml
elevation:
shadows:
- "rgba(28, 28, 28, 0.15) 0px 2px 10px 0px"
spacing:
scale_px: [10, 20, 28, 48, 64]
components:
buttons:
- background: "#bbb1a4"
color: "#4b3d33"
radius_px: 13
padding_px: [10, 13]
font_weight: 400
- background: "transparent"
color: "#1c1c1c"
radius_px: 13
padding_px: [10, 13]
font_weight: 400
- background: "transparent"
color: "#4b3d33"
radius_px: 0
padding_px: [0, 0]
font_weight: 400
source: Observed from the site's live CSS, not a declared design system. Verify against your canonical tokens.
```
## Imagery
```yaml
imagery:
photographic_style: |
Use concrete, brand-owned imagery when available. Avoid generic stock,
abstract AI motifs, and visuals that contradict the extracted identity.
illustration_style: |
Keep illustration subordinate to the brand system. Use only when it
clarifies the message better than photography or product evidence.
iconography_style: |
Follow the brand's existing mark, stroke, and geometry cues. Do not invent
decorative symbols without a human-approved precedent.
forbidden_treatments:
- generic AI iconography
- decorative gradients behind text
- stock business-meeting photography
```