contact.desktop-mail-compose · Desktop mail compose

A contact pattern from Desktop OS, drawn alone below with this design's tokens and sample copy. Used in this design on: contact page, section 1. Give the section root data-pattern="contact.desktop-mail-compose". A guide only: DESIGN.md and tokens.json are the source of truth.

Rule
A new-message window on 1–8 with the title, a line and the name / email / message form; on 9–12 two raised info panels (email, phone + hours) above a pixel mascot.
Slots
caption, date, title, body, contact, sectionLabel, email, phone, hours, image
Grid areas
compose 1-8 · info 9-12 (12-column grid, 1-based inclusive spans)
Tokens
bg #E3E5DA · text #272921 · heading #121309 · accent #EDA12F · accent2 #55A9FF · Onest / Onest · radius 8px · space unit 4px (full list in design/tokens.json)

Pattern notes

  • A new-message window on 1–8 (title bar, h2 at step 5, muted line, name / email / message form). On 9–12 two raised surface panels — a mono label over the email at h4, then the phone at 600 over the hours — above a 4:3 pixel mascot (hidden on phones).

Corvid Robotics — identity

Apr 3, 2026

Start a conversation

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.

Name
Your name
Email
you@example.com
Message
Tell us a little about your project…
Send message

Contact

hello@northfold.com

+351 21 340 5512

Studio open Mon–Thu, 9:30–18:00

Layout tree (as in design/layout.json)
{
  "pattern": "contact.desktop-mail-compose",
  "kind": "contact",
  "grid": {
    "compose": "1-8",
    "info": "9-12"
  },
  "slots": [
    "caption",
    "date",
    "title",
    "body",
    "contact",
    "sectionLabel",
    "email",
    "phone",
    "hours",
    "image"
  ],
  "tree": {
    "el": "grid",
    "gap": 6,
    "align": "start",
    "children": [
      {
        "el": "box",
        "span": "1-8",
        "bg": "surface",
        "gap": 0,
        "pad": 0,
        "children": [
          {
            "el": "box",
            "dir": "row",
            "gap": 3,
            "pad": [
              2,
              4
            ],
            "align": "center",
            "justify": "between",
            "border": "bottom",
            "children": [
              {
                "el": "text",
                "color": "heading",
                "slot": "caption",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "mobile": "hide",
                "color": "textMuted",
                "slot": "date",
                "role": "label",
                "font": "mono"
              }
            ]
          },
          {
            "el": "box",
            "gap": 5,
            "pad": [
              8,
              8
            ],
            "children": [
              {
                "el": "text",
                "slot": "title",
                "role": "h2",
                "step": 5,
                "weight": 700,
                "tracking": "tight",
                "leading": "tight"
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "body",
                "role": "body",
                "maxCh": 56
              },
              {
                "el": "form",
                "slot": "contact",
                "fields": [
                  "name",
                  "email",
                  "message"
                ]
              }
            ]
          }
        ]
      },
      {
        "el": "box",
        "span": "9-12",
        "gap": 4,
        "children": [
          {
            "el": "box",
            "bg": "surface",
            "gap": 1,
            "pad": [
              5,
              5
            ],
            "children": [
              {
                "el": "text",
                "color": "textMuted",
                "slot": "sectionLabel",
                "role": "label",
                "font": "mono"
              },
              {
                "el": "text",
                "slot": "email",
                "role": "h4",
                "weight": 700
              }
            ]
          },
          {
            "el": "box",
            "bg": "surface",
            "gap": 1,
            "pad": [
              5,
              5
            ],
            "children": [
              {
                "el": "text",
                "slot": "phone",
                "role": "body",
                "weight": 600
              },
              {
                "el": "text",
                "color": "textMuted",
                "slot": "hours",
                "role": "small"
              }
            ]
          },
          {
            "el": "media",
            "mobile": "hide",
            "slot": "image",
            "aspect": "4/3",
            "treatment": "pixel",
            "frame": "none"
          }
        ]
      }
    ]
  }
}

Other patterns in this design

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