# Newsletter and Link Footer — Section Design Reference

Schema: Design Details SECTION.md v3.2
Source: https://www.blacksmith.sh/
Website: Blacksmith
Section ID: 336a2b6a-d8a4-464d-91fa-967097b14510
Design Details page: https://designdetails.io/sections/blacksmith-sh--home--ai-336a2b6a-d8a4-464d-91fa-967097b14510
Status: deterministic evidence captured; editorial AI review pending

## Purpose

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

## Layout

captured layout

## Visual signature

brutalist, minimal, retro, corporate, technical-utility, architectural-grid treatment at 1440×674px. The crop spans 8342–9016px of a 9016px page.

## Components

- Announcement Bar
- Navigation Bar
- Hero
- Logo Strip
- Feature Collection
- Product UI
- Testimonial Card
- Comparison Table
- Stat Block
- Primary Button
- Outline Button
- Footer
- Grid Framed Content Layout
- Marquee Ticker

## 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: footer
- Source type: footer
- Structure: captured layout
- Layout: captured layout
- Styles: brutalist, minimal, retro, corporate, technical-utility, architectural-grid
- Components: Announcement Bar, Navigation Bar, Hero, Logo Strip, Feature Collection, Product UI, Testimonial Card, Comparison Table, Stat Block, Primary Button, Outline Button, Footer, Grid Framed Content Layout, Marquee Ticker
- Purpose: footer section from the Home page of Blacksmith.
- Visual signature: Captured visual surface with captured layout. Inspect the crop for image and content hierarchy.

### Crop and composition

- Crop: 1440×674px; aspect ratio 2.136:1
- Page bounds: 8342–9016px of 9016px
- 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": "UI/supporting text",
      "family": "IBM Plex Sans",
      "stack": "\"IBM Plex Sans\", sans-serif",
      "size": "14px",
      "weight": "400",
      "lineHeight": "16px",
      "letterSpacing": "normal",
      "sample": "No credit card required.",
      "element": "div",
      "occurrences": 3,
      "sourceId": "font-11"
    }
  ],
  "siteRoles": [
    {
      "role": "display",
      "size": "64px",
      "family": "IBM Plex Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "500",
      "evidence": "font-4: computed CSS at 1440×1000; AI role: Used for massive statistical numbers (90M+, 200K+) with a large size (64px) and tight letter-spacing.",
      "sampleId": "font-4",
      "confidence": 0.95,
      "lineHeight": "72px",
      "letterSpacing": "-4px"
    },
    {
      "role": "heading",
      "size": "40px",
      "family": "IBM Plex Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "500",
      "evidence": "font-5: computed CSS at 1440×1000; AI role: Used for primary section headings (40px), like 'The fastest way to run your GitHub Actions'.",
      "sampleId": "font-5",
      "confidence": 0.9,
      "lineHeight": "46px",
      "letterSpacing": "-2.5px"
    },
    {
      "role": "body",
      "size": "16px",
      "family": "IBM Plex Sans",
      "source": "computed",
      "traits": "Regular",
      "weight": "400",
      "evidence": "font-8: computed CSS at 1440×1000; AI role: Standard 16px sans-serif used for descriptive paragraphs and general text content.",
      "sampleId": "font-8",
      "confidence": 0.9,
      "lineHeight": "20px",
      "letterSpacing": "normal"
    },
    {
      "role": "mono",
      "size": "14px",
      "family": "IBM Plex Mono",
      "source": "computed",
      "traits": "uppercase",
      "weight": "500",
      "evidence": "font-6: computed CSS at 1440×1000; AI role: Uppercase monospace font used extensively for labels, buttons, and navigation, providing a technical feel.",
      "sampleId": "font-6",
      "confidence": 0.95,
      "lineHeight": "16px",
      "letterSpacing": "0.5px"
    }
  ]
}
```

### 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": "#FFFFFF",
      "cssValue": "rgb(255, 255, 255)",
      "alpha": 1,
      "appliedAs": [
        "background"
      ],
      "occurrences": 1,
      "sourceId": "color-7"
    },
    {
      "value": "#767676",
      "cssValue": "rgb(118, 118, 118)",
      "alpha": 1,
      "appliedAs": [
        "border"
      ],
      "occurrences": 4,
      "sourceId": "color-8"
    }
  ],
  "functionalPalette": [
    {
      "hex": "#F0FB29",
      "name": "accent",
      "role": "accent",
      "source": "computed",
      "evidence": "color-1: computed rgb(240, 251, 41); AI role: Vibrant neon yellow (#F0FB29) used heavily for prominent sections, buttons, and highlighting key elements.",
      "sampleId": "color-1",
      "confidence": 0.95
    },
    {
      "hex": "#202020",
      "name": "text",
      "role": "text",
      "source": "computed",
      "evidence": "color-3: computed rgb(32, 32, 32); AI role: Dark grey/black (#202020) is the primary color for most text, ensuring high contrast against light backgrounds.",
      "sampleId": "color-3",
      "confidence": 0.95
    },
    {
      "hex": "#202020",
      "name": "border",
      "role": "border",
      "source": "computed",
      "evidence": "color-3: computed rgb(32, 32, 32); AI role: The same dark color (#202020) is frequently used for structural borders and lines throughout the design.",
      "sampleId": "color-3",
      "confidence": 0.9
    },
    {
      "hex": "#F5F5F5",
      "name": "canvas",
      "role": "canvas",
      "source": "computed",
      "evidence": "color-2: computed rgb(245, 245, 245); AI role: Light grey (#F5F5F5) serves as the base background for many sections, creating a neutral backdrop.",
      "sampleId": "color-2",
      "confidence": 0.85
    }
  ]
}
```

### Design tokens

```json
{
  "radius": "Rounding is reserved for specific interactive elements like buttons (pill-shaped) and specific UI abstractions (like the 'Powered by Blacksmith' badge).",
  "density": "The overall density is low, leaning towards minimalism, allowing the typography and high-contrast elements to stand out.",
  "evidence": "Visual inspection of the crops reveals the consistent use of borders to define layout (architectural grid), pill buttons (TRY FOR FREE), and distinct background color shifts to mark new sections.",
  "borderStyle": "Extensive use of thin (1px), solid, dark borders to delineate grid structures, sections, and form elements.",
  "buttonStyle": "Pill-shaped buttons; primary buttons are solid dark fills, while secondary are outlined.",
  "cornerStyle": "Predominantly sharp, square corners on major layout blocks and tables, reinforcing the structured, brutalist feel.",
  "contentWidth": "Content is generally constrained within a centered column, though specific elements (like the marquee or full-width color blocks) span the entire viewport.",
  "spacingRhythm": "Generous vertical spacing between major sections, with tighter, uniform padding inside grid-based components."
}
```

### Reconstruction specification

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

- Root container was not deterministically isolated.
- Representative content widths: 640, 639px.
- Layout containers: 1; cards/surfaces: 3; media elements: 3; browser animations: 0.

#### Container, grid, and spacing

```json
{
  "viewport": {
    "width": 1440,
    "captureBounds": {
      "top": 8342,
      "bottom": 9016,
      "pageHeight": 9016
    }
  },
  "container": null,
  "spacing": {
    "observedGapsPx": [],
    "representativeContentWidthsPx": [
      640,
      639
    ]
  },
  "columns": [
    {
      "element": "input · form_field w-input",
      "size": "640×88px",
      "position": "x 64px, y 8498px",
      "display": "flex",
      "template": "not captured",
      "direction": "row",
      "gap": "normal"
    }
  ]
}
```

#### Cards and surfaces

```json
{
  "cards": [
    {
      "element": "input · form_field w-input",
      "size": "640×88px",
      "position": "x 64px, y 8498px",
      "padding": [
        "32px",
        "32px",
        "32px",
        "32px"
      ],
      "radius": "0px",
      "border": "1px solid rgb(32, 32, 32)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)"
    },
    {
      "element": "a · social_block-2 border-right is_yellow dotted w-inline-block",
      "size": "214×214px",
      "position": "x 64px, y 8706px",
      "padding": [
        "32px",
        "32px",
        "32px",
        "32px"
      ],
      "radius": "0px",
      "border": "not captured",
      "shadow": "none",
      "background": "rgb(240, 251, 41)"
    },
    {
      "element": "a · social_block-2 is_yellow dotted tight w-inline-block",
      "size": "214×214px",
      "position": "x 493px, y 8706px",
      "padding": [
        "32px",
        "32px",
        "32px",
        "32px"
      ],
      "radius": "0px",
      "border": "1px solid rgb(32, 32, 32)",
      "shadow": "none",
      "background": "rgb(240, 251, 41)"
    }
  ],
  "surfaces": {
    "radii": [
      "2px"
    ],
    "borders": [
      "1px solid rgb(32, 32, 32)",
      "2px inset rgb(118, 118, 118)"
    ],
    "shadows": []
  }
}
```

#### Media treatment

```json
[
  {
    "element": "img · icon-twitter",
    "size": "40×40px",
    "position": "x 152px, y 8793px",
    "aspectRatio": 1,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "2px",
    "overflow": "hidden",
    "source": "https://www.blacksmith.sh/webflow/assets/68a0a626475f4368777c9b2c_icon-twitter.svg"
  },
  {
    "element": "img · icon-linkedin",
    "size": "40×40px",
    "position": "x 366px, y 8793px",
    "aspectRatio": 1,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "2px",
    "overflow": "hidden",
    "source": "https://www.blacksmith.sh/webflow/assets/68a0a626475f4368777c9b2d_icon-linkedin.svg"
  },
  {
    "element": "img · icon-youtube",
    "size": "40×40px",
    "position": "x 580px, y 8793px",
    "aspectRatio": 1,
    "objectFit": "cover",
    "objectPosition": "50% 50%",
    "radius": "2px",
    "overflow": "hidden",
    "source": "https://www.blacksmith.sh/webflow/assets/68a0a626475f4368777c9b2e_icon-youtube.svg"
  }
]
```

#### 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-23T18:15:12.458Z",
  "viewportWidth": 1440,
  "bounds": {
    "top": 8342,
    "bottom": 9016,
    "pageHeight": 9016
  },
  "root": null,
  "spacing": {
    "gapsPx": [],
    "representativeContentWidthsPx": [
      640,
      639
    ]
  },
  "columns": [
    {
      "id": "ld-667",
      "tag": "input",
      "role": null,
      "label": "form_field w-input",
      "rect": {
        "x": 64,
        "y": 8498,
        "width": 640,
        "height": 88
      },
      "display": "flex",
      "columns": null,
      "direction": "row",
      "gap": "normal"
    }
  ],
  "cards": [
    {
      "id": "ld-667",
      "tag": "input",
      "role": null,
      "label": "form_field w-input",
      "rect": {
        "x": 64,
        "y": 8498,
        "width": 640,
        "height": 88
      },
      "radius": "0px",
      "border": "1px solid rgb(32, 32, 32)",
      "shadow": "none",
      "background": "rgba(0, 0, 0, 0)",
      "padding": [
        "32px",
        "32px",
        "32px",
        "32px"
      ]
    },
    {
      "id": "ld-708",
      "tag": "a",
      "role": null,
      "label": "social_block-2 border-right is_yellow dotted w-inline-block",
      "rect": {
        "x": 64,
        "y": 8706,
        "width": 214,
        "height": 214
      },
      "radius": "0px",
      "border": "",
      "shadow": "none",
      "background": "rgb(240, 251, 41)",
      "padding": [
        "32px",
        "32px",
        "32px",
        "32px"
      ]
    },
    {
      "id": "ld-712",
      "tag": "a",
      "role": null,
      "label": "social_block-2 is_yellow dotted tight w-inline-block",
      "rect": {
        "x": 493,
        "y": 8706,
        "width": 214,
        "height": 214
      },
      "radius": "0px",
      "border": "1px solid rgb(32, 32, 32)",
      "shadow": "none",
      "background": "rgb(240, 251, 41)",
      "padding": [
        "32px",
        "32px",
        "32px",
        "32px"
      ]
    }
  ],
  "surfaces": {
    "radii": [
      "2px"
    ],
    "borders": [
      "1px solid rgb(32, 32, 32)",
      "2px inset rgb(118, 118, 118)"
    ],
    "shadows": []
  },
  "media": [
    {
      "id": "ld-709",
      "tag": "img",
      "role": null,
      "label": "icon-twitter",
      "rect": {
        "x": 152,
        "y": 8793,
        "width": 40,
        "height": 40
      },
      "aspectRatio": 1,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "2px",
      "overflow": "hidden",
      "media": {
        "src": "https://www.blacksmith.sh/webflow/assets/68a0a626475f4368777c9b2c_icon-twitter.svg",
        "naturalWidth": 41,
        "naturalHeight": 41,
        "alt": ""
      }
    },
    {
      "id": "ld-711",
      "tag": "img",
      "role": null,
      "label": "icon-linkedin",
      "rect": {
        "x": 366,
        "y": 8793,
        "width": 40,
        "height": 40
      },
      "aspectRatio": 1,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "2px",
      "overflow": "hidden",
      "media": {
        "src": "https://www.blacksmith.sh/webflow/assets/68a0a626475f4368777c9b2d_icon-linkedin.svg",
        "naturalWidth": 41,
        "naturalHeight": 41,
        "alt": ""
      }
    },
    {
      "id": "ld-713",
      "tag": "img",
      "role": null,
      "label": "icon-youtube",
      "rect": {
        "x": 580,
        "y": 8793,
        "width": 40,
        "height": 40
      },
      "aspectRatio": 1,
      "objectFit": "cover",
      "objectPosition": "50% 50%",
      "radius": "2px",
      "overflow": "hidden",
      "media": {
        "src": "https://www.blacksmith.sh/webflow/assets/68a0a626475f4368777c9b2e_icon-youtube.svg",
        "naturalWidth": 41,
        "naturalHeight": 41,
        "alt": ""
      }
    }
  ],
  "animations": [],
  "coverage": {
    "elementsInSection": 28,
    "cards": 3,
    "media": 3,
    "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 footer section inspired by the design evidence titled “Newsletter and Link Footer”.

Purpose: footer section from the Home page of Blacksmith.

Structure: captured layout. Source layout label: captured layout. Preserve the documented hierarchy and relationships; exact measurements were not deterministically captured.

Visual signature to preserve at the pattern level: Captured visual surface with captured layout. Inspect the crop for image and content hierarchy.

Components: Announcement Bar, Navigation Bar, Hero, Logo Strip, Feature Collection, Product UI, Testimonial Card, Comparison Table, Stat Block, Primary Button, Outline Button, Footer, Grid Framed Content Layout, Marquee Ticker.

Style direction: brutalist, minimal, retro, corporate, technical-utility, architectural-grid.

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

Typography evidence: {"role":"display","size":"64px","family":"IBM Plex Sans","source":"computed","traits":"Regular","weight":"500","evidence":"font-4: computed CSS at 1440×1000; AI role: Used for massive statistical numbers (90M+, 200K+) with a large size (64px) and tight letter-spacing.","sampleId":"font-4","confidence":0.95,"lineHeight":"72px","letterSpacing":"-4px"} {"role":"heading","size":"40px","family":"IBM Plex Sans","source":"computed","traits":"Regular","weight":"500","evidence":"font-5: computed CSS at 1440×1000; AI role: Used for primary section headings (40px), like 'The fastest way to run your GitHub Actions'.","sampleId":"font-5","confidence":0.9,"lineHeight":"46px","letterSpacing":"-2.5px"} {"role":"body","size":"16px","family":"IBM Plex Sans","source":"computed","traits":"Regular","weight":"400","evidence":"font-8: computed CSS at 1440×1000; AI role: Standard 16px sans-serif used for descriptive paragraphs and general text content.","sampleId":"font-8","confidence":0.9,"lineHeight":"20px","letterSpacing":"normal"} {"role":"mono","size":"14px","family":"IBM Plex Mono","source":"computed","traits":"uppercase","weight":"500","evidence":"font-6: computed CSS at 1440×1000; AI role: Uppercase monospace font used extensively for labels, buttons, and navigation, providing a technical feel.","sampleId":"font-6","confidence":0.95,"lineHeight":"16px","letterSpacing":"0.5px"}

Color evidence: {"hex":"#F0FB29","name":"accent","role":"accent","source":"computed","evidence":"color-1: computed rgb(240, 251, 41); AI role: Vibrant neon yellow (#F0FB29) used heavily for prominent sections, buttons, and highlighting key elements.","sampleId":"color-1","confidence":0.95} {"hex":"#202020","name":"text","role":"text","source":"computed","evidence":"color-3: computed rgb(32, 32, 32); AI role: Dark grey/black (#202020) is the primary color for most text, ensuring high contrast against light backgrounds.","sampleId":"color-3","confidence":0.95} {"hex":"#202020","name":"border","role":"border","source":"computed","evidence":"color-3: computed rgb(32, 32, 32); AI role: The same dark color (#202020) is frequently used for structural borders and lines throughout the design.","sampleId":"color-3","confidence":0.9} {"hex":"#F5F5F5","name":"canvas","role":"canvas","source":"computed","evidence":"color-2: computed rgb(245, 245, 245); AI role: Light grey (#F5F5F5) serves as the base background for many sections, creating a neutral backdrop.","sampleId":"color-2","confidence":0.85}

Typography measured inside this section: {"id":"font-11","family":"IBM Plex Sans","fontStack":"\"IBM Plex Sans\", sans-serif","weight":"400","size":"14px","lineHeight":"16px","letterSpacing":"normal","traits":"Regular","count":3,"contexts":[{"tag":"div","text":"No credit card required.","top":639,"property":"font"},{"tag":"div","text":"© 2026 Blacksmith Software Inc","top":8904,"property":"font"},{"tag":"strong","text":"2026","top":8903,"property":"font"}]}

Colors measured inside this section: {"id":"color-7","hex":"#FFFFFF","alpha":1,"cssValue":"rgb(255, 255, 255)","count":1,"contexts":[{"tag":"input","text":"","top":8606,"property":"background"}]} {"id":"color-8","hex":"#767676","alpha":1,"cssValue":"rgb(118, 118, 118)","count":4,"contexts":[{"tag":"input","text":"","top":8606,"property":"border"}]}

Exact section measurements from the saved element map: spacing {"gapsPx":[],"representativeContentWidthsPx":[640,639]}; surfaces {"radii":["2px"],"borders":["1px solid rgb(32, 32, 32)","2px inset rgb(118, 118, 118)"],"shadows":[]}; media [{"tag":"img","rect":{"x":152,"y":8793,"width":40,"height":40},"aspectRatio":1,"objectFit":"cover","objectPosition":"50% 50%","radius":"2px"},{"tag":"img","rect":{"x":366,"y":8793,"width":40,"height":40},"aspectRatio":1,"objectFit":"cover","objectPosition":"50% 50%","radius":"2px"},{"tag":"img","rect":{"x":580,"y":8793,"width":40,"height":40},"aspectRatio":1,"objectFit":"cover","objectPosition":"50% 50%","radius":"2px"}]

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.
