Curtle

Made slowly in Sri Lanka.

Phase 1 · Foundation

The design system, proved on one page.

Every token, control and motion primitive the site is built from. The contrast figures below are measured from styles/tokens.css when this page is built, so they cannot drift from the values components actually use.

Type scale

  • display-xlFraunces 300 · 4.5rem / 1.05 / -0.02em · hero only

    Nothing here was made in a hurry.

  • display-lFraunces 300 · 3rem / 1.12 / -0.015em

    Nothing here was made in a hurry.

  • display-mFraunces 300 · 2rem / 1.2 / -0.01em

    Nothing here was made in a hurry.

  • display-sFraunces 300 · 1.5rem / 1.3

    Nothing here was made in a hurry.

  • body-lKarla 300 · 1.125rem / 1.75

    Nothing here was made in a hurry.

  • bodyKarla 300 · 1rem / 1.7

    Nothing here was made in a hurry.

  • body-sKarla 400 · 0.875rem / 1.6

    Nothing here was made in a hurry.

  • metaKarla 400 · 0.6875rem / 1.4 / 0.16em · uppercase

    Nothing here was made in a hurry.

  • wordmark — Fraunces 300 · 0.16em · used nowhere else

    Curtle

Colour

The brief’s palette

  • --deep-shell#0d3b3eDark surfaces, footer, nav on scroll
  • --shell-mid#14514fHovers, borders on dark
  • --bentota-sand#efe4d0The page background. Our "white"
  • --sand-deep#e2d3b8Decorative dividers, card edges
  • --temple-gold#d8af5cRules, seals, focus rings. Never small type on sand
  • --reef-coral#e07a5fSale tags, low stock. Once per screen
  • --shallow-water#7fa8a0Captions on dark
  • --ink#171614Body text. Not pure black
  • --ink-soft#4a463fSecondary text
  • --paper#f7f1e6Raised cards on sand

Added to meet AA

Six additions, each fixing a measured failure rather than expanding the palette. Gold on sand is 1.63:1 — it fails body text and the 3:1 large-text floor alike, so gold type on a light ground needed a darker cut. Gold on --deep-shell was always fine at 5.96:1.

  • --temple-gold-ink#7a5518Gold as TYPE on light ground
  • --reef-coral-ink#a83a1eError copy on light ground
  • --reef-coral-light#f09b82Error copy on dark ground
  • --deep-shell-raised#10464aRaised cards in dark mode
  • --sand-shadow#8a7f66Interactive borders (WCAG 1.4.11)
  • --shallow-water-light#8fb6aeCaptions on raised dark cards
Light theme — measured from styles/tokens.css at build
PairMeasuredRequired
Body text on the page14.36:1 pass4.5:1
Secondary text7.45:1 pass4.5:1
Gold type on the page5.31:1 pass4.5:1
Error copy5.07:1 pass4.5:1
Body text on a card16.09:1 pass4.5:1
Text on a dark band9.74:1 pass4.5:1
Captions on a dark band4.68:1 pass4.5:1
Gold type on a dark band5.96:1 pass4.5:1
Control borders3.14:1 pass3:1
Focus ring edge14.36:1 pass3:1
Dark theme — measured from styles/tokens.css at build
PairMeasuredRequired
Body text on the page9.74:1 pass4.5:1
Secondary text5.53:1 pass4.5:1
Gold type on the page5.96:1 pass4.5:1
Error copy5.67:1 pass4.5:1
Body text on a card8.35:1 pass4.5:1
Text on a dark band14.36:1 pass4.5:1
Captions on a dark band7.45:1 pass4.5:1
Gold type on a dark band5.31:1 pass4.5:1
Control borders4.68:1 pass3:1
Focus ring edge9.74:1 pass3:1

The mark

Drawn from the sandakada pahana, the carved moonstone at the entrance of Sri Lankan temples. A turtle shell to a visitor; heritage to anyone who knows the island.

Curtlefull · dark
shell · dark
monogram · dark
Curtlefull · light
shell · light
monogram · light

Controls

Buttons say what happens. Tab to any of these — the focus ring is a gold band wrapped in a dark edge, because gold alone is invisible on sand.

Meet the makers
Read the story

That card was declined. Try another, or pay with PayPal.

Optional in Sri Lanka.

Materials & dimensions
Handloom cotton, vegetable-dyed. 180 × 42 cm. 340 g.
Care
Cold hand wash, dry in shade. The dye softens for the first few washes — that is the indigo settling, not fading.
Shipping
Ships from Colombo. Estimated 7–14 days to North America. Import duties are set by your country and collected on delivery.

Motion

Durations 120 / 240 / 400 / 700 / 1200ms, three curves, 60ms stagger capped at eight. Reveals fire once at 15% visibility and never re-run on scroll-up. Turn on Reduce Motion and everything below lands in its final state instantly.

This heading revealed on scroll.

  • CollectionShoreline
  • CollectionDeepwater
  • CollectionHatchling
  • CollectionNumbered