Skip to content
. */ .menu-intro { display: grid; gap: var(--space-5); } .menu-grid { display: grid; gap: var(--space-7); grid-template-columns: 1fr; } .menu-block__title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-3); margin-bottom: var(--space-4); border-bottom: 2px solid var(--color-secondary); } .menu-block__title h3 { margin: 0; color: var(--color-secondary-dark); } .menu-block__kicker { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); white-space: nowrap; } .menu-list { margin: 0; display: grid; gap: var(--space-4); } .menu-item dt { display: flex; align-items: baseline; gap: var(--space-3); font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--color-text); } .menu-item dt::after { content: ""; flex: 1 1 auto; border-bottom: 1px dotted var(--color-border); transform: translateY(-0.25rem); } .menu-item dd { margin: var(--space-1) 0 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-relaxed); } .menu-price { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-primary); white-space: nowrap; } .menu-tags { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); } .menu-tag { display: inline-block; padding: 0.15rem 0.55rem; border: 1px solid var(--color-secondary-light); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-secondary-dark); background-color: rgba(74, 93, 58, 0.08); } .menu-media { background-color: var(--color-surface-alt); background-image: linear-gradient(135deg, var(--color-secondary-light), var(--color-accent)); background-size: cover; background-position: center; } .menu-media--greens { background-image: linear-gradient(140deg, var(--color-secondary-dark), var(--color-secondary-light)); } .menu-media--gold { background-image: linear-gradient(140deg, var(--color-accent-dark), var(--color-primary-light)); } .menu-note { border-left: 4px solid var(--color-secondary); background-color: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-xs); } .menu-note h2 { margin-top: 0; } .menu-cta { background-color: var(--color-surface-alt); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-7); text-align: center; } @media (min-width: 48rem) { .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-7); } } Skip to content
. */ .menu-intro { display: grid; gap: var(--space-5); } .menu-grid { display: grid; gap: var(--space-7); grid-template-columns: 1fr; } .menu-block__title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-3); margin-bottom: var(--space-4); border-bottom: 2px solid var(--color-secondary); } .menu-block__title h3 { margin: 0; color: var(--color-secondary-dark); } .menu-block__kicker { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); white-space: nowrap; } .menu-list { margin: 0; display: grid; gap: var(--space-4); } .menu-item dt { display: flex; align-items: baseline; gap: var(--space-3); font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--color-text); } .menu-item dt::after { content: ""; flex: 1 1 auto; border-bottom: 1px dotted var(--color-border); transform: translateY(-0.25rem); } .menu-item dd { margin: var(--space-1) 0 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-relaxed); } .menu-price { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-primary); white-space: nowrap; } .menu-tags { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); } .menu-tag { display: inline-block; padding: 0.15rem 0.55rem; border: 1px solid var(--color-secondary-light); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-secondary-dark); background-color: rgba(74, 93, 58, 0.08); } .menu-media { background-color: var(--color-surface-alt); background-image: linear-gradient(135deg, var(--color-secondary-light), var(--color-accent)); background-size: cover; background-position: center; } .menu-media--greens { background-image: linear-gradient(140deg, var(--color-secondary-dark), var(--color-secondary-light)); } .menu-media--gold { background-image: linear-gradient(140deg, var(--color-accent-dark), var(--color-primary-light)); } .menu-note { border-left: 4px solid var(--color-secondary); background-color: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-xs); } .menu-note h2 { margin-top: 0; } .menu-cta { background-color: var(--color-surface-alt); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-7); text-align: center; } @media (min-width: 48rem) { .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-7); } } Skip to content
. */ .menu-intro { display: grid; gap: var(--space-5); } .menu-grid { display: grid; gap: var(--space-7); grid-template-columns: 1fr; } .menu-block__title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-3); margin-bottom: var(--space-4); border-bottom: 2px solid var(--color-secondary); } .menu-block__title h3 { margin: 0; color: var(--color-secondary-dark); } .menu-block__kicker { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); white-space: nowrap; } .menu-list { margin: 0; display: grid; gap: var(--space-4); } .menu-item dt { display: flex; align-items: baseline; gap: var(--space-3); font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--color-text); } .menu-item dt::after { content: ""; flex: 1 1 auto; border-bottom: 1px dotted var(--color-border); transform: translateY(-0.25rem); } .menu-item dd { margin: var(--space-1) 0 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-relaxed); } .menu-price { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-primary); white-space: nowrap; } .menu-tags { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); } .menu-tag { display: inline-block; padding: 0.15rem 0.55rem; border: 1px solid var(--color-secondary-light); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-secondary-dark); background-color: rgba(74, 93, 58, 0.08); } .menu-media { background-color: var(--color-surface-alt); background-image: linear-gradient(135deg, var(--color-secondary-light), var(--color-accent)); background-size: cover; background-position: center; } .menu-media--greens { background-image: linear-gradient(140deg, var(--color-secondary-dark), var(--color-secondary-light)); } .menu-media--gold { background-image: linear-gradient(140deg, var(--color-accent-dark), var(--color-primary-light)); } .menu-note { border-left: 4px solid var(--color-secondary); background-color: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-xs); } .menu-note h2 { margin-top: 0; } .menu-cta { background-color: var(--color-surface-alt); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-7); text-align: center; } @media (min-width: 48rem) { .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-7); } } Skip to content
. */ .menu-intro { display: grid; gap: var(--space-5); } .menu-grid { display: grid; gap: var(--space-7); grid-template-columns: 1fr; } .menu-block__title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); padding-bottom: var(--space-3); margin-bottom: var(--space-4); border-bottom: 2px solid var(--color-secondary); } .menu-block__title h3 { margin: 0; color: var(--color-secondary-dark); } .menu-block__kicker { font-family: var(--font-sans); font-size: var(--text-xs); font-weight: var(--weight-semibold); letter-spacing: var(--tracking-wide); text-transform: uppercase; color: var(--color-text-muted); white-space: nowrap; } .menu-list { margin: 0; display: grid; gap: var(--space-4); } .menu-item dt { display: flex; align-items: baseline; gap: var(--space-3); font-family: var(--font-display); font-size: var(--text-lg); font-weight: var(--weight-bold); color: var(--color-text); } .menu-item dt::after { content: ""; flex: 1 1 auto; border-bottom: 1px dotted var(--color-border); transform: translateY(-0.25rem); } .menu-item dd { margin: var(--space-1) 0 0; color: var(--color-text-muted); font-size: var(--text-sm); line-height: var(--leading-relaxed); } .menu-price { font-family: var(--font-sans); font-size: var(--text-base); font-weight: var(--weight-semibold); color: var(--color-primary); white-space: nowrap; } .menu-tags { display: inline-flex; flex-wrap: wrap; gap: var(--space-2); margin-top: var(--space-2); } .menu-tag { display: inline-block; padding: 0.15rem 0.55rem; border: 1px solid var(--color-secondary-light); border-radius: var(--radius-pill); font-size: var(--text-xs); font-weight: var(--weight-medium); color: var(--color-secondary-dark); background-color: rgba(74, 93, 58, 0.08); } .menu-media { background-color: var(--color-surface-alt); background-image: linear-gradient(135deg, var(--color-secondary-light), var(--color-accent)); background-size: cover; background-position: center; } .menu-media--greens { background-image: linear-gradient(140deg, var(--color-secondary-dark), var(--color-secondary-light)); } .menu-media--gold { background-image: linear-gradient(140deg, var(--color-accent-dark), var(--color-primary-light)); } .menu-note { border-left: 4px solid var(--color-secondary); background-color: var(--color-surface); border-radius: var(--radius-md); padding: var(--space-5); box-shadow: var(--shadow-xs); } .menu-note h2 { margin-top: 0; } .menu-cta { background-color: var(--color-surface-alt); border: 1px solid var(--color-border); border-radius: var(--radius-xl); padding: var(--space-7); text-align: center; } @media (min-width: 48rem) { .menu-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-8) var(--space-7); } } Skip to content

Seasonal · Family style · Local

The 22b menu

Our kitchen cooks with the rhythm of the seasons. Every week we build the menu around what our growers, fishers and neighbours bring in — simple, generous plates made to be shared around a family table.

Signature dishes

Two plates our guests keep coming back for

What's on the table

The menu changes with the seasons and the market. Prices are indicative; ask the team about the day's specials.