Pilates · Café · Community

Move well.
Eat well.
Stay a while.

Root is a place to move and eat without having to choose between doing it properly and enjoying it. The classes are real. The food is made here. The people stay longer than they planned to, which is usually a good sign.

What we do

The reformer Pilates classes at Root are small — deliberately so. Sam keeps them to eight people because she'd rather teach eight people well than sixteen people adequately. The method is precise, the instructors know what they're doing, and you'll notice the difference in your body faster than you expect.

The cafe runs alongside the studio, not as an afterthought. Everything on the menu is made here. The sourdough is baked in-house. The eggs are properly poached. The coffee is taken seriously. It's the kind of place where you come in for a post-class flat white and find yourself still there an hour later, which we take as a compliment.

We're not trying to optimise you. We're not going to sell you a supplement stack or tell you that your morning routine needs an overhaul. Root exists for people who want to move well and eat well without it becoming a personality. You come in, you work hard, you sit down, you eat something good. That's the whole thing.

The community that has formed around Root is the part that's hardest to describe on a website. It tends to happen gradually — you recognise someone from Tuesday's class, you end up at the same table, you find out they work two streets away. It's the kind of connection that comes from sharing a physical space rather than a feed, which is rarer than it used to be and probably more valuable because of it.

Our café

Food that moves you

Everything on the menu is made here. The sourdough is baked in-house. The eggs are properly poached. The coffee is taken seriously. It's the kind of place where you come in for a post-class flat white and find yourself still there an hour later, which we take as a compliment.

Treatment A — big, tight

Move well, eat well, stay a while.

A place to move, eat and belong.

Treatment B — mid, open

Everything we serve, we make.
Everything we teach, we live.

Move with purpose. Eat with pleasure.

Move well, eat well, stay a while.

A place to move, eat and belong.

Typography

Display — Rockhill Sans Rough

Step 9 — h1 · 43–93px

Move well. Eat well.

Step 7 — h2 · 34–65px

Move well. Eat well.

Step 6 · 30–54px

Move well. Eat well.

Step 5 · 27–45px

Move well. Eat well.

Step 4 · 24–37px

Move well. Eat well.

Body — Inter variable

Body copy uses a fluid type scale from Step 0 (15–18px) upward. The scale is generated from design tokens using clamp() values, so everything scales smoothly across viewport sizes.

Measure is constrained to 66ch on prose elements. Longer text wraps cleanly without the lines becoming unreadably wide.

Good typography is invisible. You notice bad typography immediately.

  • Lists inherit spacing from the flow composition
  • Marker styles are controlled per list type
  • Nested lists work correctly

Grid

Auto-fill grid — items find their own minimum width (16rem).

Card one

A simple card demonstrating the grid composition.

Card two

A simple card demonstrating the grid composition.

Card three

A simple card demonstrating the grid composition.

Card four

A simple card demonstrating the grid composition.

Card five

A simple card demonstrating the grid composition.

Card six

A simple card demonstrating the grid composition.

50/50 grid.

Left

Switches to stacked below ~33rem.

Right

Both items share space equally.

Sidebar

Switcher

Item A — switches to stacked below 32rem
Item B

Reel

Reel item 1
Reel item 2
Reel item 3
Reel item 4
Reel item 5
Reel item 6
Reel item 7
Reel item 8

Buttons

Link button

Design tokens

Edit src/lib/design-tokens/*.json and run npm run tokens to regenerate all CSS custom properties.

Colour palette

Dark
Dark glare
Mid
Light
Primary

Spacing scale

XS — var(--space-xs)
S — var(--space-s)
M — var(--space-m)
L — var(--space-l)
XL — var(--space-xl)
2XL — var(--space-2xl)