cta.midcentury-half-sun · Half sun

A cta pattern from Mid-Century Modern, 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.midcentury-half-sun". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A full-bleed orange band with a cream half-sun rising from the bottom of 1–4; the headline (step 5) and a secondary button sit on 6–12.
Slots
headline, cta
Grid areas
sun 1-4 · text 6-12 (12-column grid, 1-based inclusive spans)
Tokens
bg #F3E9D6 · text #2B231B · heading #2B231B · accent #C9552A · accent2 #0099BE · League Spartan / Jost · radius 20px · space unit 8px (full list in design/tokens.json)
Section
background accent · full-bleed · vertical padding step 10

Pattern notes

  • A full-bleed orange (`accent`) band: a cream (`bg`) half-sun rises from the bottom edge of 1–4; the headline (step 6, heaviest weight, `onAccent`, max 16 ch) and a large secondary pill button sit on 6–12.

Have a hard thing to explain?

Start a project
Layout tree (as in design/layout.json)
{
  "pattern": "cta.midcentury-half-sun",
  "kind": "cta",
  "grid": {
    "sun": "1-4",
    "text": "6-12"
  },
  "slots": [
    "headline",
    "cta"
  ],
  "bg": "accent",
  "bleed": true,
  "tree": {
    "el": "grid",
    "gap": 3,
    "align": "end",
    "children": [
      {
        "el": "shape",
        "span": "1-4",
        "mobile": "hide",
        "alignSelf": "end",
        "kind": "half-circle",
        "size": "xl",
        "fill": "bg"
      },
      {
        "el": "box",
        "span": "6-12",
        "alignSelf": "center",
        "gap": 4,
        "children": [
          {
            "el": "text",
            "color": "onAccent",
            "slot": "headline",
            "role": "h2",
            "step": 6,
            "tracking": "tight",
            "leading": "tight",
            "maxCh": 16
          },
          {
            "el": "button",
            "slot": "cta",
            "variant": "secondary",
            "size": "lg",
            "arrow": true
          }
        ]
      }
    ]
  }
}
Component example: reference/cta.midcentury-half-sun.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>cta.midcentury-half-sun — Mid-Century Modern</title>
<link rel="stylesheet" href="base.css">
<style>
  .band { background: var(--accent); color: var(--on-accent); padding: calc(var(--unit) * 10) 0 0; overflow: hidden; }
  .band .grid { align-items: end; }
  .sun { grid-column: 1 / 5; aspect-ratio: 2 / 1; border-radius: 999px 999px 0 0; background: var(--on-accent); }
  .text { grid-column: 6 / 13; display: grid; gap: calc(var(--unit) * 4); justify-items: start; align-self: center; padding-bottom: calc(var(--unit) * 10); }
  .text h2 { color: var(--on-accent); font-size: var(--step-6); max-width: 16ch; }
  .text .btn { background: transparent; color: var(--on-accent); box-shadow: inset 0 0 0 2px var(--on-accent); }
  @media (max-width: 640px) { .sun { display: none; } .text h2 { font-size: var(--step-3); } }
</style>
</head>
<body>
<section class="band">
  <div class="wrap grid">
    <span class="sun" aria-hidden="true"></span>
    <div class="text"><h2>Come and sit in every chair.</h2><a class="btn" href="#visit">Book a showroom visit →</a></div>
  </div>
</section>
</body>
</html>

Other patterns in this design

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