# The right approach for endpoint security — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://bloom.security/
Website: Bloom
Section ID: c86e736d-b146-4084-a1cb-de8433ba858c
Status: deterministic evidence captured; editorial AI review pending

## Purpose

This is a process section on the Home page. Use the attached crop and measured browser facts to reconstruct its composition. Do not infer unmeasured source values.

## Layout

1440×891px root; flex

## Visual signature

editorial, illustrative, soft, minimal, 3d-art, sophisticated treatment at 1440×885px. The crop spans 3635–4520px of a 12560px page.

## Components

- Navigation Bar
- Hero
- Outline Button
- Primary Button
- Stat Block
- Feature Card
- Product UI
- Testimonial Card
- Footer
- Scrolling Feature Tabs
- Floating UI Collage

## Evidence note

The geometry, typography, colors, media, and animation parameters below come from saved HTML/CSS/browser evidence when present. Website-level roles are supplied separately. Editorial section judgment remains pending unless the MCP resolves this source ID to a promoted canonical record.

## Build blueprint v3.2

### Purpose and classification

- Canonical type: process
- Source type: process
- Structure: 1440×891px root; flex
- Layout: 1440×891px root; flex
- Styles: editorial, illustrative, soft, minimal, 3d-art, sophisticated
- Components: Navigation Bar, Hero, Outline Button, Primary Button, Stat Block, Feature Card, Product UI, Testimonial Card, Footer, Scrolling Feature Tabs, Floating UI Collage
- Purpose: process section from the Home page of Bloom.
- Visual signature: rgb(240, 233, 237) with 1440×891px root; flex. Inspect the crop for image and content hierarchy.

### Crop and composition

- Crop: 1440×885px; aspect ratio 1.627:1
- Page bounds: 3635–4520px of 12560px
- Guidance: Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

### Exact typography evidence

The sectionScale values were measured inside this crop. The siteRoles values explain how those faces function across the source website; they must not replace section measurements.

```json
{
  "sectionScale": [
    {
      "role": "section heading",
      "family": "Libre Baskerville",
      "stack": "\"Libre Baskerville\", \"Libre Baskerville Placeholder\", sans-serif",
      "size": "40px",
      "weight": "400",
      "lineHeight": "48px",
      "letterSpacing": "-1.2px",
      "sample": "Yesterday’s security tools are not built for the realities of today’s endpoint.",
      "element": "h2",
      "occurrences": 4,
      "sourceId": "font-2"
    },
    {
      "role": "body/supporting copy",
      "family": "DM Sans",
      "stack": "\"DM Sans\", \"DM Sans Placeholder\", sans-serif",
      "size": "16px",
      "weight": "400",
      "lineHeight": "25.6px",
      "letterSpacing": "2px",
      "sample": "The Challenge",
      "element": "p",
      "occurrences": 3,
      "sourceId": "font-10"
    },
    {
      "role": "card/subheading",
      "family": "DM Sans",
      "stack": "\"DM Sans\", \"DM Sans Placeholder\", sans-serif",
      "size": "22px",
      "weight": "500",
      "lineHeight": "26.4px",
      "letterSpacing": "-0.2px",
      "sample": "See",
      "element": "span",
      "occurrences": 4,
      "sourceId": "font-21"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "50px",
      "family": "Libre Baskerville",
      "source": "computed",
      "traits": "Regular",
      "weight": "500",
      "evidence": "font-6: computed CSS at 1440×1000; AI role: 50px Libre Baskerville used for the primary Hero H1.",
      "sampleId": "font-6",
      "confidence": 0.95,
      "lineHeight": "55px",
      "letterSpacing": "-2.5px"
    },
    {
      "role": "heading",
      "size": "40px",
      "family": "Libre Baskerville",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-2: computed CSS at 1440×1000; AI role: 40px Libre Baskerville used for major section headings.",
      "sampleId": "font-2",
      "confidence": 0.95,
      "lineHeight": "48px",
      "letterSpacing": "-1.2px"
    },
    {
      "role": "body",
      "size": "18px",
      "family": "DM Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-15: computed CSS at 1440×1000; AI role: 18px DM Sans used for body copy in the hero section.",
      "sampleId": "font-15",
      "confidence": 0.9,
      "lineHeight": "28.8px",
      "letterSpacing": "normal"
    }
  ]
}
```

### Exact color evidence

The section samples record where each computed value was used. Functional roles come from the website-level classifier and remain separate.

```json
{
  "sectionUsage": [
    {
      "value": "#1D1014",
      "cssValue": "rgba(28, 15, 20, 0.45)",
      "alpha": 0.45098039215686275,
      "appliedAs": [
        "text"
      ],
      "occurrences": 3,
      "sourceId": "color-8"
    },
    {
      "value": "#191919",
      "cssValue": "rgba(22, 26, 24, 0.12)",
      "alpha": 0.12156862745098039,
      "appliedAs": [
        "background"
      ],
      "occurrences": 4,
      "sourceId": "color-9"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#F0E9ED",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-1: computed rgb(240, 233, 237); AI role: Pale pink background (#F0E9ED) applied to the document body.",
      "sampleId": "color-1",
      "confidence": 0.95
    },
    {
      "hex": "#261116",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-2: computed rgb(38, 17, 22); AI role: Deep burgundy (#261116) used for primary text and headings.",
      "sampleId": "color-2",
      "confidence": 0.95
    },
    {
      "hex": "#DECCD1",
      "name": "surface",
      "role": "surface",
      "source": "computed",
      "evidence": "color-3: computed rgb(222, 204, 209); AI role: Muted pink (#DECCD1) used for background blocks and surfaces.",
      "sampleId": "color-3",
      "confidence": 0.85
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Medium radius (approx 8-16px) on product UI mockups and feature cards; fully rounded (pill) on buttons.",
  "density": "Low density, characterized by significant whitespace and large typography.",
  "evidence": "Visual observation of the hero button (pill, outline), floating UI mockups (rounded corners, soft shadows), and the ample space between the 'Challenge' and 'Capabilities' sections.",
  "borderStyle": "Mostly borderless relying on soft background contrasts, with thin (1px) solid borders on outline buttons and some UI elements.",
  "buttonStyle": "Pill-shaped with either a solid dark fill or an outline with a transparent fill, often accompanied by an arrow icon.",
  "cornerStyle": "Predominantly rounded, from soft rounded corners on UI cards to fully rounded, pill-shaped buttons.",
  "contentWidth": "Standard max-width container (around 1200px), often utilizing a 50/50 split for text and imagery.",
  "spacingRhythm": "Generous and airy, with large vertical padding (often 100px+) separating distinct content sections."
}
```

### Reconstruction specification

This is the implementation contract for the captured desktop viewport. Prefer section-specific facts here over general website descriptions.

- Root: 1440×891px; flex; padding {"top":"100px","right":"50px","bottom":"100px","left":"50px"}; gap 38px; background rgb(240, 233, 237); radius 0px.
- Observed gaps: 8, 20, 38px.
- Representative content widths: 1340, 1200, 1198, 285px.
- Layout containers: 7; cards/surfaces: 1; media elements: 1; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 3635,
      "bottom": 4520,
      "pageHeight": 12560
    }
  },
  "container": {
    "size": "1440×891px",
    "position": "x 0px, y 3630px",
    "display": "flex",
    "positionMode": "relative",
    "padding": {
      "top": "100px",
      "right": "50px",
      "bottom": "100px",
      "left": "50px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "38px",
    "columns": "not captured",
    "background": "rgb(240, 233, 237)",
    "radius": "0px",
    "border": "0px none rgb(0, 0, 0)",
    "shadow": "none",
    "overflow": "clip"
  },
  "spacing": {
    "observedGapsPx": [
      8,
      20,
      38
    ],
    "representativeContentWidthsPx": [
      1340,
      1200,
      1198,
      285
    ]
  },
  "columns": [
    {
      "element": "section · The SolutionThe right approach for endpoint securitySeeUnderstandFixPrevent",
      "size": "1440×891px",
      "position": "x 0px, y 3630px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "38px"
    },
    {
      "element": "section · SeeUnderstandFixPrevent",
      "size": "1200×570px",
      "position": "x 120px, y 3851px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "20px"
    },
    {
      "element": "nav · SeeUnderstandFixPrevent",
      "size": "1198×46px",
      "position": "x 121px, y 4373px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "20px"
    },
    {
      "element": "button · See",
      "size": "285×46px",
      "position": "x 121px, y 4373px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "8px"
    },
    {
      "element": "button · Understand",
      "size": "285×46px",
      "position": "x 426px, y 4373px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "8px"
    },
    {
      "element": "button · Fix",
      "size": "285×46px",
      "position": "x 730px, y 4373px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "8px"
    },
    {
      "element": "button · Prevent",
      "size": "285×46px",
      "position": "x 1035px, y 4373px",
      "display": "flex",
      "template": "not captured",
      "direction": "column",
      "gap": "8px"
    }
  ]
}
```

#### Cards and surfaces

```json
{
  "cards": [
    {
      "element": "section · SeeUnderstandFixPrevent",
      "size": "1200×570px",
      "position": "x 120px, y 3851px",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ],
      "radius": "10px",
      "border": "1px solid rgba(255, 255, 255, 0)",
      "shadow": "none",
      "background": "rgb(240, 233, 237)"
    }
  ],
  "surfaces": {
    "radii": [
      "10px"
    ],
    "borders": [
      "1px solid rgba(255, 255, 255, 0)"
    ],
    "shadows": []
  }
}
```

#### Media treatment

```json
[
  {
    "element": "video · video",
    "size": "1198×479px",
    "position": "x 121px, y 3852px",
    "aspectRatio": 2.5,
    "objectFit": "contain",
    "objectPosition": "50% 50%",
    "radius": "0px",
    "overflow": "clip",
    "source": "https://framerusercontent.com/assets/AVM2kwMMZ42q4hLRT73mSleGYA.mp4"
  }
]
```

#### Browser-exposed animation parameters

```json
[]
```

### Measured geometry, surfaces, media, and animation

These raw values come from the saved element map and computed styles. Empty arrays mean the fact was not captured; they are not permission to invent source values.

```json
{
  "schema": "little-details-section-measurements-v1",
  "source": "saved DOM/CSS element and animation maps",
  "capturedAt": "2026-10-21T03:44:00.368Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 3635,
    "bottom": 4520,
    "pageHeight": 12560
  },
  "root": {
    "id": "ld-496",
    "tag": "section",
    "role": null,
    "label": "The SolutionThe right approach for endpoint securitySeeUnderstandFixPrevent",
    "rect": {
      "x": 0,
      "y": 3630,
      "width": 1440,
      "height": 891
    },
    "display": "flex",
    "position": "relative",
    "padding": {
      "top": "100px",
      "right": "50px",
      "bottom": "100px",
      "left": "50px"
    },
    "margin": {
      "top": "0px",
      "right": "0px",
      "bottom": "0px",
      "left": "0px"
    },
    "gap": "38px",
    "columns": null,
    "background": "rgb(240, 233, 237)",
    "radius": "0px",
    "border": "0px none rgb(0, 0, 0)",
    "shadow": "none",
    "overflow": "clip"
  },
  "spacing": {
    "gapsPx": [
      8,
      20,
      38
    ],
    "representativeContentWidthsPx": [
      1340,
      1200,
      1198,
      285
    ]
  },
  "columns": [
    {
      "id": "ld-496",
      "tag": "section",
      "role": null,
      "label": "The SolutionThe right approach for endpoint securitySeeUnderstandFixPrevent",
      "rect": {
        "x": 0,
        "y": 3630,
        "width": 1440,
        "height": 891
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "38px"
    },
    {
      "id": "ld-503",
      "tag": "section",
      "role": null,
      "label": "SeeUnderstandFixPrevent",
      "rect": {
        "x": 120,
        "y": 3851,
        "width": 1200,
        "height": 570
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "20px"
    },
    {
      "id": "ld-507",
      "tag": "nav",
      "role": null,
      "label": "SeeUnderstandFixPrevent",
      "rect": {
        "x": 121,
        "y": 4373,
        "width": 1198,
        "height": 46
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "20px"
    },
    {
      "id": "ld-508",
      "tag": "button",
      "role": "button",
      "label": "See",
      "rect": {
        "x": 121,
        "y": 4373,
        "width": 285,
        "height": 46
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "8px"
    },
    {
      "id": "ld-512",
      "tag": "button",
      "role": "button",
      "label": "Understand",
      "rect": {
        "x": 426,
        "y": 4373,
        "width": 285,
        "height": 46
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "8px"
    },
    {
      "id": "ld-516",
      "tag": "button",
      "role": "button",
      "label": "Fix",
      "rect": {
        "x": 730,
        "y": 4373,
        "width": 285,
        "height": 46
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "8px"
    },
    {
      "id": "ld-520",
      "tag": "button",
      "role": "button",
      "label": "Prevent",
      "rect": {
        "x": 1035,
        "y": 4373,
        "width": 285,
        "height": 46
      },
      "display": "flex",
      "columns": null,
      "direction": "column",
      "gap": "8px"
    }
  ],
  "cards": [
    {
      "id": "ld-503",
      "tag": "section",
      "role": null,
      "label": "SeeUnderstandFixPrevent",
      "rect": {
        "x": 120,
        "y": 3851,
        "width": 1200,
        "height": 570
      },
      "radius": "10px",
      "border": "1px solid rgba(255, 255, 255, 0)",
      "shadow": "none",
      "background": "rgb(240, 233, 237)",
      "padding": [
        "0px",
        "0px",
        "0px",
        "0px"
      ]
    }
  ],
  "surfaces": {
    "radii": [
      "10px"
    ],
    "borders": [
      "1px solid rgba(255, 255, 255, 0)"
    ],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-506",
      "tag": "video",
      "role": null,
      "label": "video",
      "rect": {
        "x": 121,
        "y": 3852,
        "width": 1198,
        "height": 479
      },
      "aspectRatio": 2.5,
      "objectFit": "contain",
      "objectPosition": "50% 50%",
      "radius": "0px",
      "overflow": "clip",
      "media": {
        "src": "https://framerusercontent.com/assets/AVM2kwMMZ42q4hLRT73mSleGYA.mp4",
        "poster": "https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg",
        "duration": 14
      }
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 14,
    "cards": 1,
    "media": 1,
    "animations": 0
  },
  "limitations": [
    "Values describe the captured desktop viewport and may change at other breakpoints.",
    "Transforms, sticky layers, and virtualized content can make the inferred section root approximate.",
    "Animations include browser-exposed Web Animations API state; CSS or script motion that was inactive at capture time may be absent."
  ]
}
```

### Observed motion

No timestamped authored motion is attached. Use only restrained baseline transitions.

The browser animation records above are deterministic parameters captured from active browser animations. The timestamped observations describe what Gemini saw in the video. Treat them as complementary evidence. When either source is empty or they conflict, state the uncertainty instead of inventing timing or easing.

### Responsive contract

- Measured viewport: 1440px wide.
- Mobile/tablet values: not measured by this section evidence unless a separate capture is explicitly listed.
- Preserve hierarchy and sequence; collapse simultaneous columns only where needed, maintain media aspect ratios, and verify touch targets and text wrapping at target breakpoints.

### Structure versus visual skin

- Preserve: content hierarchy, layout relationships, section rhythm, interaction purpose.
- Adapt: brand colors, font family, copy, imagery, icons, decorative details.
- Rule: Preserve the observed design logic while creating original branding, copy, assets, and implementation details.

### Adaptation and dependencies

- Effort: Not assessed
- What transfers: Documented hierarchy and composition
- Dependencies: None recorded
- Guidance: Adapt the pattern to the new product and content.

### Evidence readiness

- Coverage: 7/7
- Can build: Yes
- Missing facts: timestamped authored motion
- Warning: Buildable with adaptations for these unsupported facts: timestamped authored motion.

### Agent implementation prompt

Create an original process section inspired by the design evidence titled “The right approach for endpoint security”.

Purpose: process section from the Home page of Bloom.

Structure: 1440×891px root; flex. Source layout label: 1440×891px root; flex. Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

Visual signature to preserve at the pattern level: rgb(240, 233, 237) with 1440×891px root; flex. Inspect the crop for image and content hierarchy.

Components: Navigation Bar, Hero, Outline Button, Primary Button, Stat Block, Feature Card, Product UI, Testimonial Card, Footer, Scrolling Feature Tabs, Floating UI Collage.

Style direction: editorial, illustrative, soft, minimal, 3d-art, sophisticated.

Observed crop: 1440×885px (1.627:1). Treat this as evidence of composition, not a mandatory output size.

Typography evidence: {"role":"display","size":"50px","family":"Libre Baskerville","source":"computed","traits":"Regular","weight":"500","evidence":"font-6: computed CSS at 1440×1000; AI role: 50px Libre Baskerville used for the primary Hero H1.","sampleId":"font-6","confidence":0.95,"lineHeight":"55px","letterSpacing":"-2.5px"} {"role":"heading","size":"40px","family":"Libre Baskerville","source":"computed","traits":"Regular","weight":"400","evidence":"font-2: computed CSS at 1440×1000; AI role: 40px Libre Baskerville used for major section headings.","sampleId":"font-2","confidence":0.95,"lineHeight":"48px","letterSpacing":"-1.2px"} {"role":"body","size":"18px","family":"DM Sans","source":"computed","traits":"Regular","weight":"400","evidence":"font-15: computed CSS at 1440×1000; AI role: 18px DM Sans used for body copy in the hero section.","sampleId":"font-15","confidence":0.9,"lineHeight":"28.8px","letterSpacing":"normal"}

Color evidence: {"hex":"#F0E9ED","name":"canvas","role":"canvas","source":"computed","evidence":"color-1: computed rgb(240, 233, 237); AI role: Pale pink background (#F0E9ED) applied to the document body.","sampleId":"color-1","confidence":0.95} {"hex":"#261116","name":"text","role":"text","source":"computed","evidence":"color-2: computed rgb(38, 17, 22); AI role: Deep burgundy (#261116) used for primary text and headings.","sampleId":"color-2","confidence":0.95} {"hex":"#DECCD1","name":"surface","role":"surface","source":"computed","evidence":"color-3: computed rgb(222, 204, 209); AI role: Muted pink (#DECCD1) used for background blocks and surfaces.","sampleId":"color-3","confidence":0.85}

Typography measured inside this section: {"id":"font-2","family":"Libre Baskerville","fontStack":"\"Libre Baskerville\", \"Libre Baskerville Placeholder\", sans-serif","weight":"400","size":"40px","lineHeight":"48px","letterSpacing":"-1.2px","traits":"Regular","count":4,"contexts":[{"tag":"h2","text":"Yesterday’s security tools are not built for the realities of today’s endpoint.","top":1011,"property":"font"},{"tag":"h2","text":"The right approach for endpoint security","top":3765,"property":"font"},{"tag":"h2","text":"A unified endpoint control plane","top":4666,"property":"font"}]} {"id":"font-10","family":"DM Sans","fontStack":"\"DM Sans\", \"DM Sans Placeholder\", sans-serif","weight":"400","size":"16px","lineHeight":"25.6px","letterSpacing":"2px","traits":"Regular","count":3,"contexts":[{"tag":"p","text":"The Challenge","top":975,"property":"font"},{"tag":"p","text":"The Solution","top":3730,"property":"font"},{"tag":"p","text":"Capabilities","top":4631,"property":"font"}]} {"id":"font-21","family":"DM Sans","fontStack":"\"DM Sans\", \"DM Sans Placeholder\", sans-serif","weight":"500","size":"22px","lineHeight":"26.4px","letterSpacing":"-0.2px","traits":"Regular","count":4,"contexts":[{"tag":"span","text":"See","top":4393,"property":"font"},{"tag":"span","text":"Understand","top":4393,"property":"font"},{"tag":"span","text":"Fix","top":4393,"property":"font"}]}

Colors measured inside this section: {"id":"color-8","hex":"#1D1014","alpha":0.45098039215686275,"cssValue":"rgba(28, 15, 20, 0.45)","count":3,"contexts":[{"tag":"span","text":"Understand","top":4393,"property":"text"}]} {"id":"color-9","hex":"#191919","alpha":0.12156862745098039,"cssValue":"rgba(22, 26, 24, 0.12)","count":4,"contexts":[{"tag":"div","text":"","top":4373,"property":"background"}]}

Exact section measurements from the saved element map: root {"rect":{"x":0,"y":3630,"width":1440,"height":891},"padding":{"top":"100px","right":"50px","bottom":"100px","left":"50px"},"gap":"38px","columns":null,"overflow":"clip"}; spacing {"gapsPx":[8,20,38],"representativeContentWidthsPx":[1340,1200,1198,285]}; surfaces {"radii":["10px"],"borders":["1px solid rgba(255, 255, 255, 0)"],"shadows":[]}; media [{"tag":"video","rect":{"x":121,"y":3852,"width":1198,"height":479},"aspectRatio":2.5,"objectFit":"contain","objectPosition":"50% 50%","radius":"0px"}]

Do not invent signature motion. Use only restrained baseline transitions if the product needs them.

Transfer the documented hierarchy and composition rather than source copy or assets.

No explicit dependencies were recorded.

Adapt the pattern to the new product and content.

Use new copy, imagery, branding, and implementation details. Do not reproduce the source website or its proprietary assets.
