Color
primary
#000000
on-primary
#ffffff
ink
#000000
canvas
#ffffff
inverse-canvas
#000000
inverse-ink
#ffffff
on-inverse-soft
#ffffff
hairline
#e6e6e6
hairline-soft
#f1f1f1
surface-soft
#f7f7f5
block-lime
#dceeb1
block-lilac
#c5b0f4
block-cream
#f4ecd6
block-pink
#efd4d4
block-mint
#c8e6cd
block-coral
#f3c9b6
block-navy
#1f1d3d
accent-magenta
#ff3d8b
semantic-success
#1ea64a
overlay-scrim
#000000
Typography
- sans
- figmaSans, Inter, "SF Pro Display", system-ui, Helvetica, sans-serif
- mono
- figmaMono, "JetBrains Mono", "SF Mono", Menlo, monospace
Display
display-xl
86px / 1 · 340 · -1.72px
display-xl
display-lg
64px / 1.1 · 340 · -0.96px
display-lg
headline
26px / 1.35 · 540 · -0.26px
headline
subhead
26px / 1.35 · 340 · -0.26px
subhead
card-title
24px / 1.45 · 700 · 0
card-title
Text
body-lg
20px / 1.4 · 330 · -0.14px
body-lg
body
18px / 1.45 · 320 · -0.26px
body
body-sm
16px / 1.45 · 330 · -0.14px
body-sm
link
20px / 1.4 · 480 · -0.1px
link
button
20px / 1.4 · 480 · -0.1px
button
Labels
eyebrow
18px / 1.3 · 400 · 0.54px
eyebrow
caption
12px / 1 · 400 · 0.6px
caption
Spacing
space-hair
1px
space-xxs
4px
space-xs
8px
space-sm
12px
space-md
16px
space-lg
24px
space-xl
32px
space-xxl
48px
space-section
96px
space-footer
64px
Radius
radius-xs
2px
radius-sm
6px
radius-md
8px
radius-lg
24px
radius-xl
32px
radius-pill
50px
radius-full
9999px
Elevation
shadow-none
none
shadow-soft
0 4px 16px rgba(0,0,0,0.06)
Components
Buttons
Buttons are pills: the black primary, the white secondary, a plain text hit target, the selected-state pricing tab, a single promo magenta, and 40px circular icon buttons.
- Do use
fgm-btn--primary(primaryfill,on-primarylabel,radius-pill,button20px at 480) for the one primary action in a viewport, and pair it withfgm-btn--secondary(canvasfill,inklabel, no border). The pair is the brand signature. - Do make the selected pricing tab the same black surface as the primary:
fgm-btn--tab.is-selected, never a coloured tab. - Do use
fgm-btn--magenta(accent-magenta) once per page, inside an already coloured panel. Itson-primarylabel is 3.34:1, kept exact from the source. - Do make icon buttons circles, 40px (
size-icon-button),surface-softon light grounds andon-inverse-softat about 16% on dark ones. - Don't square a button off; the source says square buttons read as a different brand.
- Don't put two black primaries in one viewport.
- Don't expect a pressed or hover fill: the source documents none.
- Secondary needs a ground to show: it is white on white, so it reads on a coloured block or a
surface-softarea.
- Do use
Cards
Cards are mostly absent: the page is carried by oversized pastel colour blocks with 24px corners and 48px padding, with hairline pricing cards, soft tiles, a promo banner and a checkmark list around them.
- Do choose one colour block per story section from the
block-*family, atradius-lg(24px) withspace-xxl(48px) padding, aheadlinetitle and asubheadparagraph. - Do set
inkon light blocks andinverse-inkonblock-navy. - Do give pricing cards
canvas, a 1pxhairlineandradius-lg, with acard-titleandspace-lg(24px) padding. - Do use
surface-softwithradius-md(8px) for template cards (space-mdpadding) and tiles (space-lgpadding). - Do keep the promo banner on
block-lilacwithradius-mdand a magenta button on the right. - Do show a comparison checkmark as a 16px glyph in
semantic-success. - Don't add a shadow to a colour block; the colour is the depth.
- Don't put more than one colour block in a single viewport.
- Do choose one colour block per story section from the
Inputs
Inputs are 8px-radius fields on white with a 1px hairline and an 18px value, with a focus ring rather than a fill change.
- Do set a text-input on
canvaswithinktext inbody(18px),radius-md, padding 12px 14px and a 1pxhairlineborder. - Do keep the same surface on focus and draw a ring. The source gives no ring colour or width; the preview uses a 2px
inkring, 21.00:1 against the field. - Do give contact-form inputs a 48px minimum height (
size-input-height) and set labels inbody-lg. - Don't change the fill on focus.
- Don't expect error or validation styling: the source documents none. The
hairlinefield border is 1.25:1 against white, below 3:1; kept exact.
- Do set a text-input on
Navigation
Navigation is a 56px white bar with the wordmark, text links and the secondary and primary pill pair, a thin black marquee strip beneath it, and a white footer with a display-size wordmark and mono uppercase columns.
- Do keep the bar at
size-nav-height(56px) oncanvaswithbody-smtext and the pair of pills on the right. - Do keep the marquee strip at
size-marquee-height(36px) oninverse-canvaswithinverse-inktext; the source scrolls customer logos through it (the preview is static text). - Do set footer column heads and small links in
caption(mono, uppercase), oncanvas, withspace-footerbyspace-xlpadding. - Do collapse the links into a hamburger overlay below 960px, keeping the two pills on the bar above 560px.
- Don't add a border or shadow to the bar.
- Do keep the bar at