Interface inventory · 10 August 2026

Every button, in one room.

A code-led audit of native buttons, button-like links, shared components and specialist controls across the public site, product tools and admin surfaces.

523source files scanned
331button/control call sites
137static treatments
8dedicated button components

00

Audit coverage

Repeated implementations and language variants are consolidated into visual families; specialist states remain visible.
Core marketing

Homepage, content indexes, pre-footer, sidebars

Campaign system

Landing-page and homepage campaign slices

Content controls

Filters, tags, carousels, pagination and load-more

Forms & modals

Forms, search, Brain Bank and cookie settings

Product tools

AI diagnostic, careers and admin surfaces

Navigation

Desktop, mobile, dropdown, search and back-to-top

01

Screenshot reference set

The five supplied examples, recreated at audit scale with their original context and emphasis.

Teal feature CTA

Success stories / case studies

Orange campaign CTA

Campaign and work-with-us sections

Newsletter submit

Editorial subscribe form

Compact teal CTA

Contact overlays and hero actions

Large orange CTA

Dark closing banners

02

Core action families

The recurring marketing and campaign treatments, shown with the classes and components currently used in production.

Primary / teal

Homepage, resources, forms, sidebars

Campaign / orange

Landing-page slice system

Dark filled

Content indexes and media pages

Teal outline

Case studies and featured insights

White ghost

Pre-footer on dark surface

Navigation contact

Desktop and mobile global navigation

Shared primary component

ButtonPrimary default

Shared primary outline

ButtonPrimary outline + compact props

03

Text and editorial actions

Actions that sit inside reading flows and trade a container for underline, sweep or arrow affordances.

Inline sign-in link

AI diagnostic and account flows

04

Discovery and content controls

Filters, tags, pagination and browse controls used across editorial indexes and cards.

Filter pills

Our team and columnists

Large category pill

Case-study filters

Topic chip

Case studies, briefs and Brain Bank

Load more

Index pagination

Pagination

Previous, current and next states

Carousel controls

Slider previous and next

05

Forms and state coverage

Progressive forms, product-tool actions and the states a consolidated component must support.

Previous step

Multi-step form secondary action

Outlined option

Form choice button

Product primary

AI diagnostic full-width action

Disabled

Unavailable primary action

Loading

Async submit state

Destructive

Admin delete and reset actions

06

Utility and navigation controls

Compact controls whose visible icon and invisible hit area both matter.

Search trigger

Global navigation

Modal close

Search, share and dialogs

Copy URL

Brain Bank share menu

Brain Bank action

Save and share utility bar

Dropdown trigger

Desktop navigation

Back to top

Long-form global utility

07

Cookie and admin sub-systems

These surfaces deliberately diverge today; they are included so consolidation decisions account for them.

We use cookies to improve your experience.

Cookie preference actions

Localized consent banner

Careers admin actions

Internal dashboard system

08

Findings and consolidation priorities

The audit identifies system-level work; it does not alter existing production buttons.
P1

The system is highly fragmented

The scan found 137 static treatment recipes across 331 button/control call sites. Many differ only by padding, radius, font size, or arrow implementation.

P1

Small icon controls miss the 44px target

Several search, copy, share and carousel controls render at 20–30px. Increase the clickable area while keeping the visible icon compact.

P1

Focus states are not consistently authored

Hover behavior is common, but a visible focus-visible treatment is not part of every recipe. Keyboard users can lose their location.

P2

Button semantics need a shared default

Shared button components do not consistently set type="button". Inside a form, an untyped button submits by default.

P2

Type and shape drift across surfaces

Labels range from 9px to 16px and use square, 2px, 6px, 8px, 12px and pill radii. The campaign, cookie and product-tool systems read as separate brands.

P3

Arrow language is inconsistent

The code mixes Font Awesome, inline SVG, CSS arrows and different spacing. One shared trailing-icon slot would align weight, size and motion.

Recommended component model

Intentprimary · secondary · campaign · destructive · quietSizesmall · medium · largeShapesquare · rounded · pill · iconStatedefault · hover · focus · loading · disabled