Diamond Equity Investments · Chicago

Brand templates

24 blocks, three lanes, two registers. Every block is token-filled, order-independent and stackable, so a document runs to whatever length the content needs.

Specimen content. Every name, address, figure, photograph and phone number on this page is invented for layout proof. None of it is a fact about Diamond Equity Investments and none of it may ship.

Canonical
github.com/melockhart/diamond-equity-investments · packages/brand-templates
Brand kit
diamond-equity › chicago
Lanes
web · email · print
Registers
paper · company

The rules that bind every block

  1. The diamond is LOCKED artwork. Size and position only — never redraw, trace, recolour, filter, mask or animate it.
  2. One accent, #1863dc. Red was removed from this brand deliberately; never reintroduce it.
  3. No capsule or pill tags. Statuses are a dot plus a word.
  4. No blurred text, no glow text, no gradient blobs, no shadow-glows.
  5. The paper/company radius fork is deliberate. Do not harmonise it.
  6. Email images must be absolute https:// URLs. An unfilled image slot renders the photo-pending hatch, not a broken icon.
  7. Every email send must end with core-footer carrying the slug-based /email-unsubscribe URL.

Worked examples

Core — the eight every lane needs

core-bleed

full-bleed image, optional caption.

required
image_alt image_url
optional
caption

web + print · paper

Photo pending

Specimen caption · South Side, Chicago

web + print · company

Photo pending

Specimen caption · South Side, Chicago

email · paper

Photo pending

Specimen caption · South Side, Chicago

Template source
<!-- BLOCK core-bleed — full-bleed image, optional caption.
     Slots: image_url, image_alt, caption -->
<section class="de-block de-block--flush de-bleed">
  <img class="de-bleed__img" src="{{image_url}}" alt="{{image_alt}}">
  {{#caption}}<p class="de-bleed__cap">{{caption}}</p>{{/caption}}
</section>
Content JSON for this specimen
{
  "block": "core-bleed",
  "data": {
    "image_url": "assets/photo-pending.svg",
    "image_alt": "Photo pending",
    "caption": "Specimen caption · South Side, Chicago"
  }
}

core-cta

the ask. Set inverse:true to run it on the ink ground.

required
headline primary_label primary_url secondary_url
optional
body inverse kicker secondary_label

web + print · paper

One address is all we need

Get your cash offer.

No obligation, and no salesperson calling you for six months afterwards.

web + print · company

One address is all we need

Get your cash offer.

No obligation, and no salesperson calling you for six months afterwards.

email · paper

One address is all we need

Get your cash offer.

No obligation, and no salesperson calling you for six months afterwards.

Get cash offer
Template source
<!-- BLOCK core-cta — the ask. Set inverse:true to run it on the ink ground.
     Slots: inverse, kicker, headline, body, primary_label, primary_url,
            secondary_label, secondary_url -->
<section class="de-block de-cta{{#inverse}} de-block--inverse{{/inverse}}">
  <div class="de-shell de-shell--narrow">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    <h2 class="de-h2">{{headline}}</h2>
    {{#body}}<p class="de-body de-lead de-cta__body">{{body}}</p>{{/body}}
    <div class="de-cta__actions">
      <a class="de-btn" href="{{primary_url}}">{{primary_label}}</a>
      {{#secondary_label}}<a class="de-btn de-btn--ghost" href="{{secondary_url}}">{{secondary_label}}</a>{{/secondary_label}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "core-cta",
  "data": {
    "inverse": true,
    "kicker": "One address is all we need",
    "headline": "Get your cash offer.",
    "body": "No obligation, and no salesperson calling you for six months afterwards.",
    "primary_label": "Get cash offer",
    "primary_url": "#"
  }
}

core-hero

the opening statement.

required
headline image_alt primary_url secondary_url
optional
image_url kicker primary_label secondary_label subhead

web + print · paper

We buy houses · Chicago

Just sell it as is.

No repairs. No showings. No commission. We walk it once, put a number in writing, and you pick the closing date.

web + print · company

We buy houses · Chicago

Just sell it as is.

No repairs. No showings. No commission. We walk it once, put a number in writing, and you pick the closing date.

email · paper

We buy houses · Chicago

Just sell it as is.

No repairs. No showings. No commission. We walk it once, put a number in writing, and you pick the closing date.

Get cash offer
Template source
<!-- BLOCK core-hero — the opening statement.
     Slots: kicker, headline, subhead, primary_label, primary_url,
            secondary_label, secondary_url, image_url, image_alt -->
<section class="de-block de-hero">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    <h1 class="de-h1">{{headline}}</h1>
    {{#subhead}}<p class="de-body de-lead de-hero__sub">{{subhead}}</p>{{/subhead}}
    {{#primary_label}}
    <div class="de-hero__actions">
      <a class="de-btn" href="{{primary_url}}">{{primary_label}}</a>
      {{#secondary_label}}<a class="de-btn de-btn--ghost" href="{{secondary_url}}">{{secondary_label}}</a>{{/secondary_label}}
    </div>
    {{/primary_label}}
    {{#image_url}}
    <div class="de-hero__art">
      <img class="de-img de-img--wide" src="{{image_url}}" alt="{{image_alt}}">
    </div>
    {{/image_url}}
  </div>
</section>
Content JSON for this specimen
{
  "block": "core-hero",
  "data": {
    "kicker": "We buy houses · Chicago",
    "headline": "Just sell it as is.",
    "subhead": "No repairs. No showings. No commission. We walk it once, put a number in writing, and you pick the closing date.",
    "primary_label": "Get cash offer",
    "primary_url": "#",
    "secondary_label": "How it works",
    "secondary_url": "#"
  }
}

core-masthead

logo bar. THE DIAMOND IS LOCKED ARTWORK. logo_url is sized and positioned here and nowhere else: never filter it, mask it, recolour it, or swap it for a redrawn mark. Slots: logo_url, home_url, brand_name, brand_where, aside

required
brand_name home_url logo_url
optional
aside brand_where

web + print · paper

web + print · company

email · paper

Template source
<!-- BLOCK core-masthead — logo bar.
     THE DIAMOND IS LOCKED ARTWORK. logo_url is sized and positioned here and
     nowhere else: never filter it, mask it, recolour it, or swap it for a
     redrawn mark. Slots: logo_url, home_url, brand_name, brand_where, aside -->
<section class="de-block de-block--flush">
  <div class="de-shell" style="padding-inline: var(--gutter);">
    <header class="de-masthead">
      <a class="de-masthead__lockup" href="{{home_url}}">
        <img class="de-masthead__gem" src="{{logo_url}}" alt="{{brand_name}}" width="34">
        <span>
          <span class="de-masthead__name">{{brand_name}}</span>
          {{#brand_where}}<span class="de-masthead__where">{{brand_where}}</span>{{/brand_where}}
        </span>
      </a>
      {{#aside}}<span class="de-masthead__aside">{{aside}}</span>{{/aside}}
    </header>
  </div>
</section>
Content JSON for this specimen
{
  "block": "core-masthead",
  "data": {
    "logo_url": "assets/dei-diamond.png",
    "home_url": "#",
    "brand_name": "Diamond Equity Investments",
    "brand_where": "Chicago",
    "aside": "(000) 000-0000"
  }
}

core-prose

headline plus body copy. The workhorse; repeat freely.

optional
headline kicker
list of strings
paragraphs[]

web + print · paper

Why direct

The condition is not the problem.

Fire damage, a tenant who will not leave, a roof that failed two winters ago, an estate nobody has time to sort — none of it changes whether we buy.

You are not fixing anything and you are not cleaning anything.

web + print · company

Why direct

The condition is not the problem.

Fire damage, a tenant who will not leave, a roof that failed two winters ago, an estate nobody has time to sort — none of it changes whether we buy.

You are not fixing anything and you are not cleaning anything.

email · paper

Why direct

The condition is not the problem.

Fire damage, a tenant who will not leave, a roof that failed two winters ago, an estate nobody has time to sort — none of it changes whether we buy.

You are not fixing anything and you are not cleaning anything.

Template source
<!-- BLOCK core-prose — headline plus body copy. The workhorse; repeat freely.
     Slots: kicker, headline, paragraphs[] (array of strings) -->
<section class="de-block de-prose">
  <div class="de-shell de-shell--narrow">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <div class="de-prose__body">
      {{#paragraphs}}<p class="de-body">{{.}}</p>{{/paragraphs}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "core-prose",
  "data": {
    "kicker": "Why direct",
    "headline": "The condition is not the problem.",
    "paragraphs": [
      "Fire damage, a tenant who will not leave, a roof that failed two winters ago, an estate nobody has time to sort — none of it changes whether we buy.",
      "You are not fixing anything and you are not cleaning anything."
    ]
  }
}

core-rule

the torn deckled edge. Set plain:true for a hairline.

optional
plain

web + print · paper

web + print · company

email · paper

 
Template source
<!-- BLOCK core-rule — the torn deckled edge. Set plain:true for a hairline.
     Slots: plain -->
<section class="de-block de-block--flush de-rule{{#plain}} de-rule--plain{{/plain}}">
  <div class="de-shell" style="padding-inline: var(--gutter);">
    <div class="de-rule__torn" role="separator"></div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "core-rule",
  "data": {}
}

core-split

image beside text. Set flip:true to put the image right.

required
cta_url headline image_alt image_url
optional
cta_label flip kicker
list of strings
paragraphs[]

web + print · paper

Photo pending

Any condition

Take what you want. Leave the rest.

We are the buyer, not a middleman shopping your address around.

See how it works

web + print · company

Photo pending

Any condition

Take what you want. Leave the rest.

We are the buyer, not a middleman shopping your address around.

See how it works

email · paper

Photo pending

Any condition

Take what you want. Leave the rest.

We are the buyer, not a middleman shopping your address around.

See how it works

Template source
<!-- BLOCK core-split — image beside text. Set flip:true to put the image right.
     Slots: flip, kicker, headline, paragraphs[], cta_label, cta_url,
            image_url, image_alt -->
<section class="de-block de-split{{#flip}} de-split--flip{{/flip}}">
  <div class="de-shell">
    <div class="de-split__grid">
      <div class="de-split__media">
        <img class="de-img de-img--square" src="{{image_url}}" alt="{{image_alt}}">
      </div>
      <div class="de-split__copy">
        {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
        <h2 class="de-h2">{{headline}}</h2>
        {{#paragraphs}}<p class="de-body">{{.}}</p>{{/paragraphs}}
        {{#cta_label}}<p style="margin-top: var(--sp-5);"><a class="de-btn de-btn--ghost" href="{{cta_url}}">{{cta_label}}</a></p>{{/cta_label}}
      </div>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "core-split",
  "data": {
    "kicker": "Any condition",
    "headline": "Take what you want. Leave the rest.",
    "paragraphs": [
      "We are the buyer, not a middleman shopping your address around."
    ],
    "cta_label": "See how it works",
    "cta_url": "#",
    "image_url": "assets/photo-pending.svg",
    "image_alt": "Photo pending"
  }
}

Deal — the direct-buyer blocks

deal-beforeafter

the renovation pair. Two photos, two labels, no slider: it must read the same in an email and on paper.

required
after_alt after_label after_url before_alt before_label before_url
optional
body headline kicker

web + print · paper

What we do after

The house gets its second life

What happens next is our cost and our problem.

Before
The day we bought it
After
The day it relisted

web + print · company

What we do after

The house gets its second life

What happens next is our cost and our problem.

Before
The day we bought it
After
The day it relisted

email · paper

What we do after

The house gets its second life

What happens next is our cost and our problem.

Before

The day we bought it

After

The day it relisted

Template source
<!-- BLOCK deal-beforeafter — the renovation pair. Two photos, two labels, no
     slider: it must read the same in an email and on paper.
     Slots: kicker, headline, body, before_url, before_alt, before_label,
            after_url, after_alt, after_label -->
<section class="de-block de-ba">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    {{#body}}<p class="de-body">{{body}}</p>{{/body}}
    <div class="de-ba__pair" style="margin-top: var(--sp-6);">
      <figure style="margin:0;">
        <img class="de-img de-img--wide" src="{{before_url}}" alt="{{before_alt}}">
        <figcaption class="de-ba__label">{{before_label}}</figcaption>
      </figure>
      <figure style="margin:0;">
        <img class="de-img de-img--wide" src="{{after_url}}" alt="{{after_alt}}">
        <figcaption class="de-ba__label">{{after_label}}</figcaption>
      </figure>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "deal-beforeafter",
  "data": {
    "kicker": "What we do after",
    "headline": "The house gets its second life",
    "body": "What happens next is our cost and our problem.",
    "before_url": "assets/photo-pending.svg",
    "before_alt": "Before",
    "before_label": "The day we bought it",
    "after_url": "assets/photo-pending.svg",
    "after_alt": "After",
    "after_label": "The day it relisted"
  }
}

deal-breakdown

the cash-offer maths, line by line. The numbers are the design; do not decorate them.

required
col_amount col_label total_amount total_label
optional
headline kicker note
repeats
lines[]amount label

web + print · paper

The maths

What you keep

LineAmount
Offer price$212,000
Agent commission$0
Closing costs (we cover)$0
Repairs required$0
Net to you at closing$212,000

Specimen figures.

web + print · company

The maths

What you keep

LineAmount
Offer price$212,000
Agent commission$0
Closing costs (we cover)$0
Repairs required$0
Net to you at closing$212,000

Specimen figures.

email · paper

The maths

What you keep

Line Amount
Offer price $212,000
Agent commission $0
Closing costs (we cover) $0
Repairs required $0
Net to you at closing $212,000

Specimen figures.

Template source
<!-- BLOCK deal-breakdown — the cash-offer maths, line by line. The numbers are
     the design; do not decorate them.
     Slots: kicker, headline, note, col_label, col_amount,
            lines[] {label, amount}, total_label, total_amount -->
<section class="de-block de-breakdown">
  <div class="de-shell de-shell--narrow">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <table class="de-breakdown__table">
      <thead>
        <tr><th scope="col">{{col_label}}</th><th scope="col">{{col_amount}}</th></tr>
      </thead>
      <tbody>
        {{#lines}}<tr><td>{{label}}</td><td class="de-num">{{amount}}</td></tr>{{/lines}}
        <tr class="de-breakdown__total"><td>{{total_label}}</td><td class="de-num">{{total_amount}}</td></tr>
      </tbody>
    </table>
    {{#note}}<p class="de-meta" style="margin-top: var(--sp-5);">{{note}}</p>{{/note}}
  </div>
</section>
Content JSON for this specimen
{
  "block": "deal-breakdown",
  "data": {
    "kicker": "The maths",
    "headline": "What you keep",
    "col_label": "Line",
    "col_amount": "Amount",
    "lines": [
      {
        "label": "Offer price",
        "amount": "$212,000"
      },
      {
        "label": "Agent commission",
        "amount": "$0"
      },
      {
        "label": "Closing costs (we cover)",
        "amount": "$0"
      },
      {
        "label": "Repairs required",
        "amount": "$0"
      }
    ],
    "total_label": "Net to you at closing",
    "total_amount": "$212,000",
    "note": "Specimen figures."
  }
}

deal-neighborhood

the map or street photo beside the local numbers.

required
image_alt image_url
optional
body headline kicker
repeats
rows[]label value

web + print · paper

Context

What the block is doing

Map pending

Specimen comparables — pull real figures from current Cook County records.

  • Median sale, 0.5 mi, 90 days$000,000
  • Days on market, median00
  • Active listings, 0.5 mi00

web + print · company

Context

What the block is doing

Map pending

Specimen comparables — pull real figures from current Cook County records.

  • Median sale, 0.5 mi, 90 days$000,000
  • Days on market, median00
  • Active listings, 0.5 mi00

email · paper

Context

What the block is doing

Map pending

Specimen comparables — pull real figures from current Cook County records.

Median sale, 0.5 mi, 90 days $000,000
Days on market, median 00
Active listings, 0.5 mi 00
Template source
<!-- BLOCK deal-neighborhood — the map or street photo beside the local numbers.
     Slots: kicker, headline, body, image_url, image_alt,
            rows[] {label, value} -->
<section class="de-block de-hood">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <div class="de-hood__grid" style="margin-top: var(--sp-6);">
      <img class="de-img de-img--wide" src="{{image_url}}" alt="{{image_alt}}">
      <div>
        {{#body}}<p class="de-body">{{body}}</p>{{/body}}
        <ul class="de-hood__list">
          {{#rows}}<li><span class="de-meta">{{label}}</span><b>{{value}}</b></li>{{/rows}}
        </ul>
      </div>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "deal-neighborhood",
  "data": {
    "kicker": "Context",
    "headline": "What the block is doing",
    "body": "Specimen comparables — pull real figures from current Cook County records.",
    "image_url": "assets/photo-pending.svg",
    "image_alt": "Map pending",
    "rows": [
      {
        "label": "Median sale, 0.5 mi, 90 days",
        "value": "$000,000"
      },
      {
        "label": "Days on market, median",
        "value": "00"
      },
      {
        "label": "Active listings, 0.5 mi",
        "value": "00"
      }
    ]
  }
}

deal-property

one address, its photo and its facts. Repeat the block, or pass properties[] to the grid variant, for any number of homes.

optional
headline kicker
repeats
properties[]address city facts[] image_alt image_url
repeats
properties[].facts[]label value

web + print · paper

Recently bought

Cook County, last quarter

Photo pending

4412 S Wabash Ave

Chicago, IL 60653

Beds
3
Baths
1.5
Sq ft
1,420
Photo pending

1907 N Kedzie Ave

Chicago, IL 60647

Beds
4
Baths
2
Sq ft
1,980
Photo pending

8123 S Marshfield

Chicago, IL 60620

Beds
3
Baths
1
Sq ft
1,150

web + print · company

Recently bought

Cook County, last quarter

Photo pending

4412 S Wabash Ave

Chicago, IL 60653

Beds
3
Baths
1.5
Sq ft
1,420
Photo pending

1907 N Kedzie Ave

Chicago, IL 60647

Beds
4
Baths
2
Sq ft
1,980
Photo pending

8123 S Marshfield

Chicago, IL 60620

Beds
3
Baths
1
Sq ft
1,150

email · paper

Recently bought

Cook County, last quarter

Photo pending

4412 S Wabash Ave

Chicago, IL 60653

Beds 3 Baths 1.5 Sq ft 1,420
Photo pending

1907 N Kedzie Ave

Chicago, IL 60647

Beds 4 Baths 2 Sq ft 1,980
Photo pending

8123 S Marshfield

Chicago, IL 60620

Beds 3 Baths 1 Sq ft 1,150
Template source
<!-- BLOCK deal-property — one address, its photo and its facts. Repeat the
     block, or pass properties[] to the grid variant, for any number of homes.
     Slots: kicker, headline, properties[] {image_url, image_alt, address,
            city, facts[] {label, value}} -->
<section class="de-block de-property">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <div class="de-grid de-grid--3">
      {{#properties}}
      <article class="de-frame de-property__card">
        <img class="de-img de-img--wide" src="{{image_url}}" alt="{{image_alt}}" style="border-radius:0;">
        <div class="de-property__body">
          <h3 class="de-property__addr">{{address}}</h3>
          <p class="de-property__city">{{city}}</p>
          <dl class="de-property__facts">
            {{#facts}}
            <div class="de-property__fact"><dt>{{label}}</dt><dd>{{value}}</dd></div>
            {{/facts}}
          </dl>
        </div>
      </article>
      {{/properties}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "deal-property",
  "data": {
    "kicker": "Recently bought",
    "headline": "Cook County, last quarter",
    "properties": [
      {
        "image_url": "assets/photo-pending.svg",
        "image_alt": "Photo pending",
        "address": "4412 S Wabash Ave",
        "city": "Chicago, IL 60653",
        "facts": [
          {
            "label": "Beds",
            "value": "3"
          },
          {
            "label": "Baths",
            "value": "1.5"
          },
          {
            "label": "Sq ft",
            "value": "1,420"
          }
        ]
      },
      {
        "image_url": "assets/photo-pending.svg",
        "image_alt": "Photo pending",
        "address": "1907 N Kedzie Ave",
        "city": "Chicago, IL 60647",
        "facts": [
          {
            "label": "Beds",
            "value": "4"
          },
          {
            "label": "Baths",
            "value": "2"
          },
          {
            "label": "Sq ft",
            "value": "1,980"
          }
        ]
      },
      {
        "image_url": "assets/photo-pending.svg",
        "image_alt": "Photo pending",
        "address": "8123 S Marshfield",
        "city": "Chicago, IL 60620",
        "facts": [
          {
            "label": "Beds",
            "value": "3"
          },
          {
            "label": "Baths",
            "value": "1"
          },
          {
            "label": "Sq ft",
            "value": "1,150"
          }
        ]
      }
    ]
  }
}

deal-status

the direct-buyer lifecycle: Just Bought, Under Contract, Renovation Complete, Just Listed, Just Sold. A DOT PLUS A WORD. Never a pill or capsule — that is a design law. Each step's `state` is one of: past | done | now | next

optional
headline kicker note
repeats
steps[]label state

web + print · paper

Where this stands

4412 S Wabash

Just bought Under contract Renovation complete Just listed Just sold

The direct-buyer lifecycle, not the brokerage one.

web + print · company

Where this stands

4412 S Wabash

Just bought Under contract Renovation complete Just listed Just sold

The direct-buyer lifecycle, not the brokerage one.

email · paper

Where this stands

4412 S Wabash

  Just bought   Under contract   Renovation complete   Just listed   Just sold

The direct-buyer lifecycle, not the brokerage one.

Template source
<!-- BLOCK deal-status — the direct-buyer lifecycle: Just Bought, Under
     Contract, Renovation Complete, Just Listed, Just Sold.
     A DOT PLUS A WORD. Never a pill or capsule — that is a design law.
     Each step's `state` is one of: past | done | now | next
     Slots: kicker, headline, steps[] {label, state}, note -->
<section class="de-block de-block--tight">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h3 de-h-flat" style="margin-bottom: var(--sp-5);">{{headline}}</h2>{{/headline}}
    <div class="de-status">
      {{#steps}}
      <span class="de-status__item" data-state="{{state}}">
        <span class="de-status__dot"></span>{{label}}
      </span>
      {{/steps}}
    </div>
    {{#note}}<p class="de-meta" style="margin-top: var(--sp-5);">{{note}}</p>{{/note}}
  </div>
</section>
Content JSON for this specimen
{
  "block": "deal-status",
  "data": {
    "kicker": "Where this stands",
    "headline": "4412 S Wabash",
    "steps": [
      {
        "label": "Just bought",
        "state": "done"
      },
      {
        "label": "Under contract",
        "state": "done"
      },
      {
        "label": "Renovation complete",
        "state": "now"
      },
      {
        "label": "Just listed",
        "state": "next"
      },
      {
        "label": "Just sold",
        "state": "next"
      }
    ],
    "note": "The direct-buyer lifecycle, not the brokerage one."
  }
}

Long-form — the blocks that let a document run long

long-columns

two-column body copy. Collapses to one on narrow screens and in email. Use for anything over ~400 words.

optional
headline kicker
list of strings
paragraphs[]

web + print · paper

Background

Selling as is, in Cook County

Specimen body copy standing in for a long explanatory passage. It exists to prove that two columns hold their measure and that paragraphs do not break across the gutter.

A second paragraph, so the column balance is visible.

A third, because a two-column block with two paragraphs is not a real test of anything.

A fourth, closing the passage out.

web + print · company

Background

Selling as is, in Cook County

Specimen body copy standing in for a long explanatory passage. It exists to prove that two columns hold their measure and that paragraphs do not break across the gutter.

A second paragraph, so the column balance is visible.

A third, because a two-column block with two paragraphs is not a real test of anything.

A fourth, closing the passage out.

email · paper

Background

Selling as is, in Cook County

Specimen body copy standing in for a long explanatory passage. It exists to prove that two columns hold their measure and that paragraphs do not break across the gutter.

A second paragraph, so the column balance is visible.

A third, because a two-column block with two paragraphs is not a real test of anything.

A fourth, closing the passage out.

Template source
<!-- BLOCK long-columns — two-column body copy. Collapses to one on narrow
     screens and in email. Use for anything over ~400 words.
     Slots: kicker, headline, paragraphs[] -->
<section class="de-block de-columns">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <div class="de-columns__body">
      {{#paragraphs}}<p class="de-body">{{.}}</p>{{/paragraphs}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "long-columns",
  "data": {
    "kicker": "Background",
    "headline": "Selling as is, in Cook County",
    "paragraphs": [
      "Specimen body copy standing in for a long explanatory passage. It exists to prove that two columns hold their measure and that paragraphs do not break across the gutter.",
      "A second paragraph, so the column balance is visible.",
      "A third, because a two-column block with two paragraphs is not a real test of anything.",
      "A fourth, closing the passage out."
    ]
  }
}

long-faq

static markup, deliberately. No <details>, no JS: it must render identically in a browser, an email client and on paper.

optional
headline kicker
repeats
items[]a q

web + print · paper

Questions

The ones we actually get asked

Do I pay anything?

No commission and no closing costs on our side. Specimen answer.

What if there are tenants?

We buy occupied. You do not have to be the one to have that conversation.

How fast can this close?

As fast as title clears, or as slow as you need.

web + print · company

Questions

The ones we actually get asked

Do I pay anything?

No commission and no closing costs on our side. Specimen answer.

What if there are tenants?

We buy occupied. You do not have to be the one to have that conversation.

How fast can this close?

As fast as title clears, or as slow as you need.

email · paper

Questions

The ones we actually get asked

Do I pay anything?

No commission and no closing costs on our side. Specimen answer.

What if there are tenants?

We buy occupied. You do not have to be the one to have that conversation.

How fast can this close?

As fast as title clears, or as slow as you need.

Template source
<!-- BLOCK long-faq — static markup, deliberately. No <details>, no JS: it must
     render identically in a browser, an email client and on paper.
     Slots: kicker, headline, items[] {q, a} -->
<section class="de-block">
  <div class="de-shell de-shell--narrow">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <div class="de-faq__list" style="margin-top: var(--sp-6);">
      {{#items}}
      <div class="de-faq__item">
        <h3 class="de-faq__q">{{q}}</h3>
        <p class="de-faq__a">{{a}}</p>
      </div>
      {{/items}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "long-faq",
  "data": {
    "kicker": "Questions",
    "headline": "The ones we actually get asked",
    "items": [
      {
        "q": "Do I pay anything?",
        "a": "No commission and no closing costs on our side. Specimen answer."
      },
      {
        "q": "What if there are tenants?",
        "a": "We buy occupied. You do not have to be the one to have that conversation."
      },
      {
        "q": "How fast can this close?",
        "a": "As fast as title clears, or as slow as you need."
      }
    ]
  }
}

long-pagebreak

invisible on screen, a hard break on paper. Print lane only; harmless anywhere else. No slots.

web + print · paper

web + print · company

email · paper

This block emits nothing on the email lane, by design.

Template source
<!-- BLOCK long-pagebreak — invisible on screen, a hard break on paper. Print
     lane only; harmless anywhere else. No slots. -->
<div class="de-pagebreak" aria-hidden="true"></div>
Content JSON for this specimen
{
  "block": "long-pagebreak",
  "data": {}
}

long-quote

the pull quote. One per page; it stops being a pull quote when there are two. Slots: quote, attribution

required
quote
optional
attribution

web + print · paper

Specimen pull quote. One per page — a second one stops it being a pull quote.

Specimen attribution

web + print · company

Specimen pull quote. One per page — a second one stops it being a pull quote.

Specimen attribution

email · paper

 

Specimen pull quote. One per page — a second one stops it being a pull quote.

Specimen attribution

Template source
<!-- BLOCK long-quote — the pull quote. One per page; it stops being a pull
     quote when there are two. Slots: quote, attribution -->
<section class="de-block de-block--tight">
  <div class="de-shell de-shell--narrow">
    <blockquote class="de-quote">
      <p>{{quote}}</p>
      {{#attribution}}<cite>{{attribution}}</cite>{{/attribution}}
    </blockquote>
  </div>
</section>
Content JSON for this specimen
{
  "block": "long-quote",
  "data": {
    "quote": "Specimen pull quote. One per page — a second one stops it being a pull quote.",
    "attribution": "Specimen attribution"
  }
}

long-signature

closes a letter or an offer sheet.

required
name signature_alt
optional
date signature_url title

web + print · paper


Acquisition Manager · Diamond Equity Investments · Chicago · Specimen date

web + print · company


Acquisition Manager · Diamond Equity Investments · Chicago · Specimen date

email · paper

 

Acquisition Manager · Diamond Equity Investments · Chicago · Specimen date

Template source
<!-- BLOCK long-signature — closes a letter or an offer sheet.
     Slots: signature_url, signature_alt, name, title, date -->
<section class="de-block de-block--tight">
  <div class="de-shell de-shell--narrow">
    <div class="de-signature">
      {{#signature_url}}<img class="de-signature__mark" src="{{signature_url}}" alt="{{signature_alt}}">{{/signature_url}}
      <hr class="de-signature__rule">
      <p class="de-signature__who" style="margin:0;">{{name}}{{#title}} · {{title}}{{/title}}{{#date}} · {{date}}{{/date}}</p>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "long-signature",
  "data": {
    "name": "Acquisition Manager",
    "title": "Diamond Equity Investments · Chicago",
    "date": "Specimen date"
  }
}

long-steps

the numbered process. Counters are CSS-generated, so adding or removing a step never leaves a stale number behind.

optional
headline kicker
repeats
steps[]body title

web + print · paper

How it works

Three steps, then it is done

  1. Tell us the address

    One form or one phone call. We do the research ourselves.

  2. We walk it once

    Twenty minutes, one visit. No staging, no open house.

  3. You pick the date

    Written offer, no obligation. Say yes and you choose the closing day.

web + print · company

How it works

Three steps, then it is done

  1. Tell us the address

    One form or one phone call. We do the research ourselves.

  2. We walk it once

    Twenty minutes, one visit. No staging, no open house.

  3. You pick the date

    Written offer, no obligation. Say yes and you choose the closing day.

email · paper

How it works

Three steps, then it is done

01

Tell us the address

One form or one phone call. We do the research ourselves.

02

We walk it once

Twenty minutes, one visit. No staging, no open house.

03

You pick the date

Written offer, no obligation. Say yes and you choose the closing day.

Template source
<!-- BLOCK long-steps — the numbered process. Counters are CSS-generated, so
     adding or removing a step never leaves a stale number behind.
     Slots: kicker, headline, steps[] {title, body} -->
<section class="de-block">
  <div class="de-shell de-shell--narrow">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <ol class="de-steps__list" style="margin-top: var(--sp-6);">
      {{#steps}}
      <li>
        <div>
          <h3 class="de-h3 de-h-flat" style="font-size:1rem; margin-bottom: var(--sp-2);">{{title}}</h3>
          <p class="de-body de-meta" style="margin:0;">{{body}}</p>
        </div>
      </li>
      {{/steps}}
    </ol>
  </div>
</section>
Content JSON for this specimen
{
  "block": "long-steps",
  "data": {
    "kicker": "How it works",
    "headline": "Three steps, then it is done",
    "steps": [
      {
        "title": "Tell us the address",
        "body": "One form or one phone call. We do the research ourselves."
      },
      {
        "title": "We walk it once",
        "body": "Twenty minutes, one visit. No staging, no open house."
      },
      {
        "title": "You pick the date",
        "body": "Written offer, no obligation. Say yes and you choose the closing day."
      }
    ]
  }
}

Trust — the proof blocks

trust-guarantee

the promise, on its own slip of paper. The seal is an edged label, not a capsule tag.

required
headline
optional
seal signoff
list of strings
paragraphs[]

web + print · paper

In writing

The number we say is the number you get.

No renegotiation on the courthouse steps. No inspection contingency invented late to shave the price.

Specimen copy — real guarantee language must be reviewed before publication.

Diamond Equity Investments · Chicago

web + print · company

In writing

The number we say is the number you get.

No renegotiation on the courthouse steps. No inspection contingency invented late to shave the price.

Specimen copy — real guarantee language must be reviewed before publication.

Diamond Equity Investments · Chicago

email · paper

In writing

The number we say is the number you get.

No renegotiation on the courthouse steps. No inspection contingency invented late to shave the price.

Specimen copy — real guarantee language must be reviewed before publication.

Diamond Equity Investments · Chicago

Template source
<!-- BLOCK trust-guarantee — the promise, on its own slip of paper.
     The seal is an edged label, not a capsule tag.
     Slots: seal, headline, paragraphs[], signoff -->
<section class="de-block">
  <div class="de-shell de-shell--narrow">
    <div class="de-guarantee__slip">
      {{#seal}}<span class="de-guarantee__seal">{{seal}}</span>{{/seal}}
      <h2 class="de-h2">{{headline}}</h2>
      {{#paragraphs}}<p class="de-body">{{.}}</p>{{/paragraphs}}
      {{#signoff}}<p class="de-meta" style="margin-top: var(--sp-5);">{{signoff}}</p>{{/signoff}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "trust-guarantee",
  "data": {
    "seal": "In writing",
    "headline": "The number we say is the number you get.",
    "paragraphs": [
      "No renegotiation on the courthouse steps. No inspection contingency invented late to shave the price.",
      "Specimen copy — real guarantee language must be reviewed before publication."
    ],
    "signoff": "Diamond Equity Investments · Chicago"
  }
}

trust-manager

the acquisition manager. A named person with a real direct number; this block is the reason a seller calls back.

required
cta_url name photo_alt photo_url role
optional
bio cta_label email kicker phone

web + print · paper

Your acquisition manager

Portrait pending

Acquisition Manager

Diamond Equity Investments · Chicago

One person owns your file start to finish. Specimen record.

Book a walkthrough

web + print · company

Your acquisition manager

Portrait pending

Acquisition Manager

Diamond Equity Investments · Chicago

One person owns your file start to finish. Specimen record.

Book a walkthrough

email · paper

Your acquisition manager

Portrait pending

Acquisition Manager

Diamond Equity Investments · Chicago

One person owns your file start to finish. Specimen record.

(000) 000-0000

chicago@example.com

Template source
<!-- BLOCK trust-manager — the acquisition manager. A named person with a real
     direct number; this block is the reason a seller calls back.
     Slots: kicker, photo_url, photo_alt, name, role, bio, phone, email,
            cta_label, cta_url -->
<section class="de-block de-manager">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    <div class="de-manager__grid">
      <img class="de-img de-manager__photo de-img--square" src="{{photo_url}}" alt="{{photo_alt}}">
      <div>
        <h3 class="de-h3" style="margin-bottom: var(--sp-1);">{{name}}</h3>
        <p class="de-manager__role">{{role}}</p>
        {{#bio}}<p class="de-body" style="margin-top: var(--sp-4);">{{bio}}</p>{{/bio}}
        <ul class="de-manager__contact">
          {{#phone}}<li><a href="tel:{{phone}}">{{phone}}</a></li>{{/phone}}
          {{#email}}<li><a href="mailto:{{email}}">{{email}}</a></li>{{/email}}
        </ul>
        {{#cta_label}}<p style="margin-top: var(--sp-5);"><a class="de-btn de-btn--ghost" href="{{cta_url}}">{{cta_label}}</a></p>{{/cta_label}}
      </div>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "trust-manager",
  "data": {
    "kicker": "Your acquisition manager",
    "photo_url": "assets/photo-pending.svg",
    "photo_alt": "Portrait pending",
    "name": "Acquisition Manager",
    "role": "Diamond Equity Investments · Chicago",
    "bio": "One person owns your file start to finish. Specimen record.",
    "phone": "(000) 000-0000",
    "email": "chicago@example.com",
    "cta_label": "Book a walkthrough",
    "cta_url": "#"
  }
}

trust-rating

the score line. `stars` is literal text (e.g. ★★★★★) so it survives email clients that strip everything clever.

required
count score source stars

web + print · paper

4.9 000 reviews · Specimen source

web + print · company

4.9 000 reviews · Specimen source

email · paper

★★★★★ 4.9 000 reviews · Specimen source
Template source
<!-- BLOCK trust-rating — the score line. `stars` is literal text (e.g. ★★★★★)
     so it survives email clients that strip everything clever.
     Slots: stars, score, source, count -->
<section class="de-block de-block--tight">
  <div class="de-shell">
    <div class="de-rating">
      <span class="de-rating__stars" aria-hidden="true">{{stars}}</span>
      <span class="de-rating__score de-num">{{score}}</span>
      <span class="de-meta">{{count}} · {{source}}</span>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "trust-rating",
  "data": {
    "stars": "★★★★★",
    "score": "4.9",
    "source": "Specimen source",
    "count": "000 reviews"
  }
}

trust-stats

the proof numbers. Three or four; more reads as noise.

optional
headline kicker
repeats
stats[]label number

web + print · paper

The record

000 Houses bought in Cook County
00 Average days to close
$0.0M Paid to Chicago sellers

web + print · company

The record

000 Houses bought in Cook County
00 Average days to close
$0.0M Paid to Chicago sellers

email · paper

The record

000 Houses bought in Cook County 00 Average days to close $0.0M Paid to Chicago sellers
Template source
<!-- BLOCK trust-stats — the proof numbers. Three or four; more reads as noise.
     Slots: kicker, headline, stats[] {number, label} -->
<section class="de-block">
  <div class="de-shell">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    {{#headline}}<h2 class="de-h2">{{headline}}</h2>{{/headline}}
    <div class="de-grid de-grid--3" style="margin-top: var(--sp-6);">
      {{#stats}}
      <div class="de-stats__item">
        <span class="de-stats__n de-num">{{number}}</span>
        <span class="de-stats__k">{{label}}</span>
      </div>
      {{/stats}}
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "trust-stats",
  "data": {
    "kicker": "The record",
    "stats": [
      {
        "number": "000",
        "label": "Houses bought in Cook County"
      },
      {
        "number": "00",
        "label": "Average days to close"
      },
      {
        "number": "$0.0M",
        "label": "Paid to Chicago sellers"
      }
    ]
  }
}

trust-testimonial

a seller in their own words. Repeat for more.

required
name photo_alt quote
optional
detail kicker photo_url

web + print · paper

A seller, in their own words

Portrait pending

Specimen quote. Replace with a real, attributable seller testimonial before this goes anywhere public.

Seller name · Specimen · Chicago

web + print · company

A seller, in their own words

Portrait pending

Specimen quote. Replace with a real, attributable seller testimonial before this goes anywhere public.

Seller name · Specimen · Chicago

email · paper

A seller, in their own words

Portrait pending

Specimen quote. Replace with a real, attributable seller testimonial before this goes anywhere public.

Seller name · Specimen · Chicago

Template source
<!-- BLOCK trust-testimonial — a seller in their own words. Repeat for more.
     Slots: kicker, quote, name, detail, photo_url, photo_alt -->
<section class="de-block de-testimonial">
  <div class="de-shell de-shell--narrow">
    {{#kicker}}<p class="de-kicker">{{kicker}}</p>{{/kicker}}
    <div class="de-testimonial__grid">
      {{#photo_url}}<img class="de-img de-testimonial__photo" src="{{photo_url}}" alt="{{photo_alt}}">{{/photo_url}}
      <blockquote style="margin:0;">
        <p class="de-testimonial__quote">{{quote}}</p>
        <p class="de-testimonial__who">{{name}}{{#detail}} · {{detail}}{{/detail}}</p>
      </blockquote>
    </div>
  </div>
</section>
Content JSON for this specimen
{
  "block": "trust-testimonial",
  "data": {
    "kicker": "A seller, in their own words",
    "quote": "Specimen quote. Replace with a real, attributable seller testimonial before this goes anywhere public.",
    "name": "Seller name",
    "detail": "Specimen · Chicago",
    "photo_url": "assets/photo-pending.svg",
    "photo_alt": "Portrait pending"
  }
}