Bushbrook

Design system

Bushbrook brand & CI

The single reference for how Bushbrook looks, reads, and behaves on the web — for the public site, customer accounts, emails, and any partner touchpoints. Keep everything warm, local, and consistent.

About Bushbrook

Bushbrook is a community leisure hub in Christon Bank — a place to eat, play, gather, learn and belong.

EAT • PLAY • GATHER • LEARN • BELONG

Bushbrook is a community leisure hub in Christon Bank — restaurant, padel, fitness, play school, events, and venue hire under one roof. It is not a single-use venue or a corporate resort. The brand should feel like a modern village hall, farm-style café, and garden gathering space: warm, natural, calm, local, and family-friendly.

Five pillars

Pillar What it means on the site
Eat Restaurant on the verandah — table requests
Play Padel courts — book while signed in
Gather Events, venue hire, community
Learn Fitness, wellness, play school
Belong Directory, news, neighbours

A day at Bushbrook

Copy and layout should reflect how people actually use the place: play school in the morning, coffee on the verandah, yoga or padel mid-morning, lunch with family, an afternoon event, evening celebrations. Show the flow of life, not isolated silos.

What every touchpoint should achieve

  • Explain — visitors understand what Bushbrook is and what they can do here.
  • Book easily — mobile-first paths; WhatsApp always available as an alternate.
  • Feel trustworthy — warmth, real imagery, community presence, honest booking status.

Do

  • Warm, natural, calm, local, family-friendly
  • Indoor–outdoor, garden, verandah, wood & brick
  • Generous whitespace on cream backgrounds
  • Mobile-first; 44px minimum touch targets
  • Short, neighbourly copy — you and we

Avoid

  • Corporate luxury, “premium venue”, cold polish
  • Glassmorphism, heavy animation, dark slick UI
  • Stock luxury hospitality or generic gym imagery
  • Over-marketed sales language and jargon
  • Sharp corners and stark pure-white pages

Tone of voice

Write like a neighbour explaining the place — simple, human, and local. Use short sentences. Name Christon Bank where it helps trust and search.

Write like this

“Whether you are booking a table, a padel court, or a morning yoga class — welcome home to Bushbrook. Tell us about dietary needs when you book; we will confirm your table by email.”

Not like this

“Experience our premium lifestyle destination. Reserve your exclusive dining experience today and elevate your leisure journey.”

  • Booking messages must say pending confirmation until staff confirm — never imply a booking is final on submit.
  • Natural SEO phrases: community leisure hub, Christon Bank, padel, play school, venue hire — never stuffed or salesy.

Logo system

Horizontal lockup

Bushbrook horizontal logo

Header, admin panel, auth (mobile)

Stacked lockup

Bushbrook stacked logo

Footer, favicon (on cream)

Horizontal on olive

Auth sidebar only — invert treatment, no other recolouring

  • Do not stretch, recolour, or add effects except the documented inverse-on-olive treatment.
  • Minimum clear space: height of the “B” in the wordmark on all sides.
  • Web: PNG or SVG with transparency; favicon uses stacked lockup on #F5EBE0.
  • Botanical line art from the brand pack may appear as subtle section dividers when available.

Colour palette

Cream

#F5EBE0

Tailwind: cream

Page background, favicon background, text on terracotta buttons

Olive

#4A5D23

Tailwind: olive

Headings, body text, secondary buttons, browser theme

Terracotta

#B57133

Tailwind: terracotta

Tagline, primary CTAs, accents

Stone wash

#F5F5F4

Tailwind: stone-100

Alternate section backgrounds

WhatsApp

#3d6b52

WhatsApp buttons only — hover #345c47

Booking status only: pending (amber), confirmed (green), cancelled (red). Do not use these as brand colours.

Typography

Display · Cinzel

Your place to gather

Page titles — class .section-heading

Body · DM Sans

Relaxed dining on the verandah at Bushbrook. Book a table for families, friends, and celebrations in Christon Bank.

Body, forms, navigation, buttons

Tagline track

EAT • PLAY • GATHER • LEARN • BELONG

Class .tagline-track — uppercase, letter-spacing, terracotta

Load Cinzel 400/600/700 and DM Sans 400–700 with display=swap. Form inputs at 16px minimum on mobile.

Layout & spacing

  • Container: .page-container — max 72rem, horizontal padding 1rem.
  • Sections: py-12 md:py-16; heroes py-10 sm:py-12 md:py-20.
  • Grids: single column on mobile, then sm / md / lg as needed.
  • Radius: rounded-lg on controls; rounded-2xl on cards.
  • Borders: border-olive/10; light shadows only.
  • Forms: narrow max-w-xl; marketing content max-w-6xl.

Buttons & CTAs

Minimum height 44px. Stack full-width on mobile with .stack-buttons.

WhatsApp us
.btn-primary
Terracotta — main actions
.btn-secondary
Olive outline — secondary paths
.btn-whatsapp
Muted green — WhatsApp only

Form components

Use these classes on every public form. Wrap groups in .form-card. Two-column rows: grid gap-5 sm:grid-cols-2. Party sizes: grid-cols-2 sm:grid-cols-3.

.form-label · .form-label-optional
.form-input · .form-select · .form-textarea
.form-checkbox · .form-radio
.form-hint · .form-error
.form-card

Reference form (display only).

South African format preferred; used for booking confirmations.

Court preference

Please enter a valid email address.

Auth form (Breeze)

  • Example validation message.

UI components

Cards

Eat

Form card

Frosted white panel on cream — forms and focused content.

Belong

Listing card

Directory, blog, events — terracotta border on hover.

Status badges

Pending Confirmed Cancelled

Filter pills

Active Inactive

Accent lists

  • Family-friendly seating indoors and on the verandah
  • Dietary notes captured when you book online

Imagery & photography

Photography should feel like a warm South African countryside hub: natural light, wood and brick, verandah dining, garden and playground, families and friends together — relaxed, never corporate. No logos or text baked into images.

Avoid: luxury hotels, neon nightlife, empty fine-dining plates, generic gyms, over-smoothed AI faces, non-local architecture.

Marketing placeholders: public/images/generated/ · Tenant and blog images: uploaded in admin.

Example hero — golden hour verandah and garden

Email & notifications

  • Same warm, local voice as the website.
  • Clear subject lines — e.g. “Your table request at Bushbrook”.
  • State pending confirmation for restaurant and padel until staff confirm.
  • Include booking reference, date, party details, and a link to My bookings when applicable.

Platform notes

Frontend stack

Tailwind CSS only. All public and customer-facing UI is built with Tailwind utilities and Bushbrook component classes (.btn-primary, .form-input, etc.).

Do not use Bootstrap — no Bootstrap package, imports, or class names (row, col-*, btn btn-*, form-control, etc.). Filament admin uses its own styles; keep it separate from the marketing site.

Visual and copy rules above apply across the public site, customer accounts, and staff admin. Product constraints that affect brand in UI:

  • Bookings — all start as pending; staff confirm in admin. Restaurant is request-only (no public slot picker).
  • WhatsAppwa.me links and floating button; muted green is reserved for WhatsApp CTAs only.
  • Admin — Filament at /admin; primary olive #4A5D23, accent terracotta #B57133, horizontal logo.
  • Privacy — consent checkbox on enquiry forms; policy at /privacy.

Developer reference

What Where
Brand configconfig/bushbrook.php
Colours & fontstailwind.config.js
Component classesresources/css/app.css
Styling ruleTailwind only — no Bootstrap (.cursorrules)
Agent guidelines.ai/guidelines/bushbrook.md · .cursorrules
Logospublic/images/brand/
WhatsApp us