Lagoon Premium

FunToSee Island Ferry · redesign in exploration

Misty sea-white pages, white 28px cards, deep-sea ink and one sky-blue accent from the logo. Albert Sans set large and tight, Zoox-quiet. Native mobile: a floating dark action bar, pill steps and photo headers.

Foundations

Direction status: concept exploration (redesign requested 4 Nov 2026). Palette sampled from the FunToSee logo; rhythm after Zoox and a native rounded-card app. Spacing one-offs use the shared .mt-* / .mb-* utilities.

One sky accent, kept for the primary action and the current state

Sky blue from the logo fills the one primary pill, the current step chip and the selected option, always with deep-sea ink on top. A deeper sky is readable brand text (live times). Everything else is ink on mist and white.

Logo sky

Primary pill, current, selected

--brand-primary

Deep-sea ink

Type, links, the floating bar

--fg

Map art

Sea, land and the route line

--map-*

Text roles

Titles, values, labels--fg
Supporting body--fg-secondary
Meta, help, step counter--fg-muted
Placeholder--fg-placeholder
Disabled only--fg-disabled
Live time · 4:22 PM · 9 min--fg-brand-primary
Return saving −$60.00--success
Required *--danger
Text on an inverse surface--fg-inverse

Surfaces, borders and status

bg · mist page

bg-surface · cards

bg-subtle · fields

bar-bg · action bar

border · hairline

border-strong · controls

map-sea

map-land

success-bg

warning-bg

danger-bg

info-bg

Status colours never carry meaning alone: every notice has an icon and a title in words.

Explore the full palettes · 50–950

Raw ingredients. Components use semantic roles so colours adapt to light and dark.

Neutral · sea slate

50

100

200

300

400

500

600

700

800

900

950

Brand primary · logo sky

50

100

200

300

400

500

600

700

800

900

950

Brand sun · offers only

50

100

700

800

600 · promo-icon

promo-bg

promo-fg

Spacing, shape and elevation

16px page gutter on phones, 32px on desktop · cards pad 24/20 (28/32 from 768px) and stack 12px apart · fields and pills 56px, chips 52px, targets at least 44px.

1 / 4px
1-5 / 6px
2 / 8px
3 / 12px
3-5 / 14px
4 / 16px
6 / 24px
10 / 40px
12 / 48px
xs · 6
sm · 12 menu items
md · 16 fields
lg · 20 options, notices
xl · 28 cards, bar, photos
Shadow sm · chips
Shadow lg · floating bar

Motion: cards rise in once on arrival (420ms, expo ease-out, 40ms stagger); pills press to 98%; sheets rise; a changed time swaps in. Reduced motion removes all of it.

Typography

Albert Sans, a clean geometric grotesk that echoes the logo’s rounded wordmark. Titles medium and tightly tracked; body regular. Tabular figures everywhere.

Ramp
56 / 40 / 28 / 22 / 18 / 16 / 15 / 13 / 12

Letter spacing
−0.03em display · −0.015em titles · 0 body

Weights
400 / 500 / 600

Figures
Tabular

Large titles are Medium at −0.03em; card titles, buttons and chips Semibold; labels Medium; body and meta Regular.

Product text styles

3XL · 56px

Desktop large titles

Line height 59px · 1.05 · default medium · .text-3xl

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

2XL · 40px

Large titles (H1), phone

Line height 42px · 1.05 · default medium · .text-2xl

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

XL · 28px

Hero line

Line height 32px · 1.15 · default medium · .text-xl

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

LG · 22px

Card titles (H2), totals

Line height 27.5px · 1.25 · default semibold · .text-lg

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

BODY-LG · 18px

Summary titles, ETAs

Line height 24px · 1.333 · default semibold · .text-body-lg

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

MD · 16px

Body, inputs, option titles

Line height 23px · 1.45 · default regular · .text-md

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

UI · 15px

Labels, chips, supporting body

Line height 20px · 1.333 · default medium · .text-ui

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

SM · 13px

Meta, help, tags

Line height 19px · 1.45 · default regular · .text-sm

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

XS · 12px

Header meta line

Line height 16px · 1.333 · default regular · .text-xs

Regular · 400

4:30

Medium · 500

4:30

Semibold · 600

4:30

In use

Step 2 of 5

Flights & sailings

Your arrival

Scheduled arrival time in Saint Lucia

You land 75 min before the ferry’s last cast-off.

Like DL1970 — not your confirmation code.

Display sizes 4XL–8XL exist for the review hub only; product screens never use them.

Label

Presenter

12px · Semibold · 0.08em tracking · uppercase. Review chrome only; product headings carry their own weight.

Icons

Phosphor Regular: light, even strokes that read premium beside Albert Sans. Filled only for a confirmed or error state. 20px in chips, rows and notices; 16px inline with meta.

Regular · interface

Back
Open
Price breakdown
Resort search
Done / confirmed
Recommended / tight
Required / locked
Not compatible
Flight
Taxi leg
Ferry leg
When you land
Call driver
Lounge
Change date
Notifications
WhatsApp
Email
Card
Luggage
Location lost
Error
Info
Close
Add guest
Remove guest
Sign in
Guest

Fill · emphasis

Confirmed
Error
Info
Location

Button

One primary per screen: a 56px sky pill with ink text and an arrow when it moves you forward. Secondary actions are underlined ink links; outline pills hold a contained action such as Call.

Call

Disabled is a flat muted fill, not a faded sky, so it never reads as pressable. Pills press to 98% on tap.

Field

A 15px medium label above a 56px white field with a 16px radius and a mid-grey border that darkens on hover; focus adds the sky border and ring. Required is a red asterisk; help sits below in 13px.

Rodney Bay area · your ferry arrives at Rodney Bay Marina

Like DL1970 — not your confirmation code.

That looks like a confirmation code. Enter the flight number, like DL1970.

Selection controls

Native radios and checkboxes with 22px indicators: a thin 1.5px outline, and a deep-blue fill with a white tick or dot when chosen. Three layouts: filled option cards (seating), hairline rows (cover tiers, payment), pill tiles (contact type). Selected is a 2px brand ring on a sky tint.

Seating
Flight cover
Fast Track
Who is booking

Segmented & stepper

Segmented: a slim 48px mist track; the chosen option is a raised white pill in semibold ink (Round trip / Arrival / Departure). Stepper: 44px round filled buttons around a live count.

Trip type

Adults

Age 11+

1

Surface

White 28px cards on the mist page carry every section; hairlines only split rows inside a card. Cards never nest and never carry a border and a shadow.

Sandals Grande St. Lucian

Rodney Bay area · ferry to Rodney Bay Marina


Arrival

Fri, Jan 15

Departure

Fri, Jan 22

Subtle panel: route summaries and tips.

Raised: sheets and menus only.

Badge

A small tinted pill in the status colour. Words carry the meaning.

On time Times updated Save 20% Recommended Coming in the full build Tight connection Payment declined

Tabs

Available, but the product has two roots and no tabs. Use for panel switching only; form choices use the segmented radio group.

Fri, Jan 15 · DL1970

Alert

The fit check and the delay banner: tinted 20px panels without borders. Icon and title take the status colour; the body stays ink. A delay is information, so it uses info blue.

Good fit

You land 2 h 30 min before the ferry’s last cast-off. Plenty of time.

Fast Track recommended

You land 75 min before the ferry’s last cast-off. We’ll add Fast Track on the Extras step — you can remove it.

Fast Track is required due to scheduling

You land 55 min before the last cast-off. We’ve added Fast Track for everyone — or pick another date.

Not compatible

You land 15 min before the last cast-off — not enough to make it.

DL1970 now lands 4:10 PM (+25 min)

We’ve moved your airport taxi to about 4:25 PM and told your driver and Fast Track host — nothing for you to do.

Airport taxi → coastal ferry → resort taxi. Both taxis are included in your fare.

Dialog

Centered dialog for desktop confirmations. On mobile, the product uses sheets (see Mobile primitives).

Avatar

Not used in the concept. Kept for a driver photo if FTSI’s dispatch provides one.

MAME

Combobox

Product addition in css/product.css and js/product.js. The list shows before typing, grouped by area with its ferry port; typing filters by name, alias or area; the last option is always “My place isn’t listed”. Each option has a 56px photo and one line of facts (taxis, departure pickup); the not-listed option gets a sky tile with a plus. The active option has a mist fill and a sky edge; the selected one is semibold with a sky check. Below, the result row restates the port, taxis and pickup.

Sandals Grande St. LucianTaxi included · Pickup 10:45 AM
Sandals Regency La TocTaxi included · Pickup 11:00 AM
Sandals Halcyon BeachTaxi included · Pickup 11:15 AM
My place isn’t listedContinue with “sandals”. We’ll confirm your ferry port and pickup by email.

Flight variant

Delta DL 1970From Atlanta (ATL) · lands 3:45 PMFast Track recommended
JetBlue B6 1757From New York (JFK) · lands 5:05 PMNot compatible
Ferry to Rodney Bay MarinaRodney Bay area. Your resort taxi from the dock is included. Departure pickup 10:45 AM.
The ferry docks at ZoetryMarigot Bay Fuel Dock is on the resort’s grounds, so there’s no resort taxi.
We’ll confirm your ferry portOur team checks “Villa Mango” and emails your port and pickup time. You can book now; the sailing time is the same.

Product patterns

Compositions in css/product.css: the photo hero, the steps progress (desktop bar and mobile header) and the card stack. They are product-specific, built only from shared tokens.

A FunToSee ferry crossing turquoise water below the Pitons, Saint Lucia

From the airport to your resort, by sea.

  • Airport and resort taxis included
  • A coastal ferry up the west coast
  • We track your flight

Your arrival

Fri, Jan 15
Sails 4:30–5:00 PMArrives Rodney Bay Marina · taxis included

Mobile primitives

Native 56px header with a round back button and a blurred backdrop; the floating dark action bar (28px radius) with total, meta and the sky pill; sheets with a grab handle; 64px list rows. No bottom navigation: the product has two roots.

FunToSee Island Ferry2 guests · Round trip · Jan 15–22

Children

Age 4–10 · half price

0

Change date

Up to 10 days before travel

Sheets share dialog behaviour: focus stays inside, Escape closes, focus returns to the trigger. From 768px a sheet becomes a centered dialog.

Leave checkout?

Your choices are saved on this device. You can come back to pay later.

Price breakdown

Everything you’ll pay today.

Fares$600.00
Return saving−$60.00
Booking fee$26.95

Total$716.95

What’s covered

Full-screen sheets give long disclosures room on a phone.