cta.constructivist-agit-band · Agit band

A cta pattern from Constructivist, drawn alone below with this design's tokens and sample copy. Used in this design on: home page, section 7. Give the section root data-pattern="cta.constructivist-agit-band". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A full-bleed red band: the call in capitals at step 6 on 1–9, tilted −6°; a black circle on 10–12; a large secondary button square on 1–4.
Slots
headline, body, cta
Grid areas
headline 1-9 · circle 10-12 · cta 1-4 (12-column grid, 1-based inclusive spans)
Tokens
bg #EFE6D2 · text #16130F · heading #16130F · accent #C8102E · accent2 #FF7777 · Anton / Barlow Semi Condensed · radius 0px · space unit 8px (full list in design/tokens.json)
Section
background accent · full-bleed · vertical padding step 10

Pattern notes

  • A full-bleed red band (`bg: accent`): the call in capitals at step 6 on 1–9, rotated −6°, in `onAccent`; a black circle on 10–12. Below, square to the grid with a wide row gap (step 8) so the tilted call never touches it: a lead-size line in `onAccent` on 1–5 and a large secondary button on 6–9.

Have a hard thing to explain?

Each engagement starts with a two-week audit: interviews with customers, sales and the people who build the product. The brief writes itself after that.

Start a project
Layout tree (as in design/layout.json)
{
  "pattern": "cta.constructivist-agit-band",
  "kind": "cta",
  "grid": {
    "headline": "1-9",
    "circle": "10-12",
    "cta": "1-4"
  },
  "slots": [
    "headline",
    "body",
    "cta"
  ],
  "bg": "accent",
  "bleed": true,
  "tree": {
    "el": "grid",
    "gap": 2,
    "rowGap": 8,
    "align": "center",
    "children": [
      {
        "el": "text",
        "span": "1-9",
        "rowSpan": "1-1",
        "color": "onAccent",
        "slot": "headline",
        "role": "display",
        "step": 6,
        "transform": "uppercase",
        "tracking": "tight",
        "leading": "tight",
        "maxCh": 20,
        "rotate": -6
      },
      {
        "el": "shape",
        "span": "10-12",
        "rowSpan": "1-2",
        "mobile": "hide",
        "kind": "circle",
        "size": "lg",
        "fill": "heading"
      },
      {
        "el": "text",
        "span": "1-5",
        "rowSpan": "2-2",
        "color": "onAccent",
        "slot": "body",
        "role": "lead",
        "maxCh": 44
      },
      {
        "el": "button",
        "span": "6-9",
        "rowSpan": "2-2",
        "alignSelf": "center",
        "slot": "cta",
        "variant": "secondary",
        "size": "lg",
        "arrow": true
      }
    ]
  }
}
Component example: reference/cta.constructivist-agit-band.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>cta.constructivist-agit-band — Constructivist</title>
<link rel="stylesheet" href="base.css">
<style>
  .band { background: var(--red); color: var(--on-red); padding: calc(var(--unit) * 8) 0; overflow: hidden; }
  .band .grid { align-items: center; row-gap: calc(var(--unit) * 4); }
  .band h2 { grid-column: 1 / 10; grid-row: 1; font-size: var(--step-5); transform: rotate(-6deg); transform-origin: left; max-width: 16ch; }
  .band .circle { grid-column: 10 / 13; grid-row: 1 / 3; width: 100%; aspect-ratio: 1; border-radius: 50%; background: var(--ink); }
  .band .btn { grid-column: 1 / 5; grid-row: 2; justify-self: start; }
  @media (max-width: 640px) { .band .circle { display: none; } .band h2 { font-size: var(--step-3); } }
</style>
</head>
<body>
<section class="band">
  <div class="wrap grid">
    <h2>Join the crew on day one</h2>
    <span class="circle" aria-hidden="true"></span>
    <a class="btn secondary" href="#crew">Volunteer →</a>
  </div>
</section>
</body>
</html>

Other patterns in this design

Whole design · Spec bundle (JSON) · On the style page