Wrack Line · Toast build sheet

Concept: a dinner-only oyster bar and seafood restaurant in Portland, Maine, built around a nautical chart. View the site mock. Assets are in img/ next to this page and are regenerated by bake.py. Concept design by Coursed. No Code Block on this site.

Layout: editorial, photo-first, dark. The whole page sits on sea-ink except one bone section (the raw bar prices). The rhythm is a full-width photo band (Media module, edge to edge) followed by a centered Text module with a very large Caslon heading and one or two lines of copy. There are no image-beside-text rows.

Signature idea: depth contours, soundings (the small italic depth numbers on a chart) and graduated chart bars along the top and bottom edges, all baked over every photo band and the hero. The oyster list is a full-width tide-table image with a tide curve and a salinity scale for each farm. None of it is CSS.

Fonts

RoleFontSource
Primary (headings, menu item names, logo)Libre Caslon Text, Regular 400Google Fonts, OFL. Upload fonts/LibreCaslonText.ttf (variable; if the editor rejects variable fonts, download the static Regular from fonts.google.com/specimen/Libre+Caslon+Text).
Secondary (body, nav, buttons, prices)IBM Plex Sans Condensed, Regular + Medium + SemiBoldGoogle Fonts, OFL. Upload fonts/IBMPlexSansCondensed-Regular.ttf (and SemiBold if a bold slot exists).

Headings in sentence case. No all-caps, no letter-spacing. The italic Caslon used for soundings only appears inside images.

Colors

SettingHexUse
Brand#D1166EChart magenta. Primary buttons, mobile CTA, review stars. Nothing else.
Background#0D1B26Sea-ink. The whole site.
Surface#172A38A step lighter than the background. Toast Tables widget, testimonial cards.
Text#EEF1EFBone white.
Icon#D1166E
Border#EEF1EFHairlines, outline buttons.
Per-module override#EEF1EF bg / #0D1B26 textOnly the Menu Group module (#6).

Corner radius 0 everywhere. Primary button = solid brand. Secondary = outline in the text color. Headings: Caslon, 140px desktop / 56px phone for H2, the hero H1 as large as the editor allows (240px in the mock), all centered.

Nav, banner, footer

ItemSettings
BannersNone on desktop. No promo bar.
NavOverlaid ON, transparent, sticky OFF, cart OFF. Logo logo-bone.png. Links: Raw bar (anchor), Shuck Night (anchor), Wine list (PDF page), Gift cards (Gift Cards page). Primary CTA Reserve → Reservations anchor.
Mobile CTA bannerOn, "Reserve a table" → Reservations.
FooterToast default. Logo logo-bone.png, address and hours from Toast data, Instagram + Facebook, links: Menu, Wine list, Gift cards, Reservations. Footer text: "Concept design by Coursed".
Other pagesMenu page (Toast-generated). PDF page "Wine list". Gift Cards page (reached from the nav and footer only, no homepage row). No online ordering.

Homepage modules, top to bottom

#ModuleSettingsAssetsCopy
1WelcomeBackground image, tallest height, no extra dim (darkening is baked). Text box CENTER, box color none. Heading only, no body text. 1 button.hero.jpg 1920×1080H1: Wrack Line
Button: RESERVE A TABLE (solid → Reservations)
2ReservationsToast Tables, centered, module bg = Background. Anchor: reservenoneH: Book a table
Dinner Tuesday to Sunday from five. The raw bar seats are kept for walk-ins.
3Media (image)Full width, zero top/bottom spacingband-harbor.jpg 2400×1200Alt: A lobster boat in fog on Casco Bay
4TextCentered, large heading. Anchor: rawnoneH: Raw bar
Six Maine oysters most nights, shucked to order and served on crushed ice.
5Media (image)Full width, zero spacingtide-table.jpg 2400×2000 (six farms, water, salinity scale, tide curve)Alt text carries the full farm list (see index.html).
6Menu GroupModule bg #EEF1EF, text #0D1B26 (the one light section). List layout, no item images, POS group "Raw Bar", group title centerednone (POS)Group title: By the piece. Maine oysters 3.75 ea, Littleneck clams 2.75 ea, Half dozen shucker's pick 22, Shrimp cocktail 19, Lobster cocktail 31, Low tide for two 98.
7Media (image)Full width, zero spacingband-dinner.jpgAlt: Seared scallops on asparagus
8TextCenterednoneH: Dinner
Scallops, hake, and a lobster plate that changes with the boats. The menu turns over most weeks.
Button: SEE THE MENU (outline → Menu page)
9Media (image)Full width, zero spacingband-shuck.jpgAlt: Unshucked oysters and lemons in a basket
10EventsModule bg = Background, heading + description centered. Anchor: shuck. 3 events (max 10)event-dec.jpg, event-jan.jpg, event-feb.jpg 900×600 (date block baked)H: Shuck Night
First Monday of the month. Oysters are $1.50 until they run out, and the shuckers will teach you.
Events: Shuck Night, Mon Dec 7 2026 / Mon Jan 4 2027 / Mon Feb 1 2027, 5 to 9 pm, walk-in only.
11Media (image)Full width, zero spacingband-wine.jpgAlt: A glass of white wine at the bar
12TextCentered. Anchor: winenoneH: Wine list
Mostly white, mostly from near cold water. Muscadet, Chablis, Galician albariño, and a lot of grower Champagne.
Button: OPEN THE LIST (PDF) (outline → PDF page)
13TestimonialsModule bg = Background, cards = Surface (#172A38), auto-pull Google 4 to 5 stars, max 6none (needs Google Business Profile linked)H: Reviews. No typed quotes.
14TextCentered, small top spacingnoneH: Find us
118 Commercial Street, Portland, Maine / (207) 555-0137 · Tuesday to Sunday, 5 to 10 pm
Buttons: DIRECTIONS (solid → Google Maps), CALL (outline → tel:2075550137)

Code Block

None. Everything chart-like is baked into images, so it also works in CA/UK/IE/AU where Code Block is not available.

Unverified in editor

Upkeep

Photo credits

All from Wikimedia Commons. Cropped, color-graded and overlaid with the chart in bake.py.

Used inPhotoAuthorLicense
hero.jpg, event-feb.jpgBluff oysters on iceGeorge PollardCC BY-SA 4.0
band-harbor.jpgAugust 2009, lobster boat in Casco Bay, MaineU.S. EPAPublic domain
band-dinner.jpgPan seared scallops with grilled asparagusWiki.cullinCC0
band-shuck.jpgOysters lemons basketNikodem NijakiCC BY-SA 3.0
band-wine.jpgCelebrating with a glass of white wine in a lively bar settingShixart1985CC BY 2.0
event-dec.jpgOysters on the half shell, raw (cropped to the platter)User:YoudontsmellbadCC BY-SA 1.0
event-jan.jpgOysters served on icesanjay_achCC BY 4.0

For a real client, swap in the restaurant's own photography. The grade and chart overlay in bake.py apply to any photo.