Pattern library · Internal reference
Design system
Every reusable pattern used across the Foundation Pilot, documented in one place. This page is the source of truth for future Foundation editors and the reference for adding new templates or components.
Color tokens
Foundation palette extracted from the existing brand: ocean cyan + deep navy + coral accent + warm cream. Contrast ratios verified against white surfaces; text use requires the listed ratio meeting WCAG 2.1 AA (4.5:1 normal text, 3:1 large text and graphical UI elements).
ocean-300
#40d9f1
bg + lg-text · Foundation cyan — logo fill, link/CTA on dark surfaces
ocean-500
#038cd9
4.6:1 · Secondary action, hover on cyan links
ocean-700
#0058a6
8.1:1 · Primary link color on light surfaces
ocean-900
#112337
14.2:1 · Header background, primary heading + body text
coral-300
#ff8e6c
decorative · CTA hover state
coral-400
#ff6b47
lg-text · Primary CTA background ("Donate", "Sign in")
coral-500
#ea6485
4.5:1 · Section eyebrows, accent labels
cream-50
#f7f4ee
bg-only · Soft panel background, alternate section fill
ink-700
#494949
7.9:1 · Body text
ink-500
#686e77
4.7:1 · Captions, muted UI text
Typography
Poppins for display headings and the Foundation wordmark; Lato for body text and UI labels. The type scale is fluid via responsive Tailwind utilities so headings shrink gracefully on phones without rebuilding the layout.
Display H1 — Poppins 48–72px
Display H2 — Poppins 36–48px
Display H3 — Poppins 24–32px
Body large — Lato 18px. The quick brown fox jumps over the lazy ocean.
Body — Lato 16px. The quick brown fox jumps over the lazy ocean.
Body small / muted — Lato 14px.
Eyebrow caps — Lato 12px, 0.18em tracked
Buttons
Coral-pill is the conversion CTA used on Donate, Sign in, Subscribe, Add to cart. Ocean-outline is the secondary action. Cream-on-navy ships on dark hero ribbons. Ghost link is the inline "Learn more →" treatment.
Tiles & cards
Three card variants ship across the Pilot: image-led tiles for blog/news/sanctuary/shop indexes; tier cards for membership + donor recognition; compact info cards for sidebars and metric callouts.
Sanctuary
Image tile · sanctuary, blog, news
Learn more →
Most popular
Sanctuary Steward
$25 /mo
- Tiered benefits list
- Free Impact Report
- Member RSVP access
Badges & pills
Pills handle category labels, tier markers, content-type tags, and inventory status. Two color families: cyan (informational, neutral) and coral (priority, attention).
Accordions
Native <details>/<summary> for
no-JS accessibility. Used on sanctuary "Things to do" sections
when item lists are long, and on FAQ-style content blocks.
How does my donation get attributed?
What's included at the Sanctuary Steward tier?
How do you handle accessibility?
Tabs
Pill-style tabs used on the Events index view-switcher and search-results section facets. Active tab gets the navy fill; inactive tabs sit in cream with ink-700 labels.
Section header pattern
Every long-form section starts with a coral tracked eyebrow, an H2 in Poppins, and an optional supporting paragraph. Used on the homepage, sanctuary detail, support index, get-involved, and the Strategic Plan/Impact Report pages.
Eyebrow caps
The section title goes here
A one- or two-sentence framing paragraph that orients the reader before the content blocks below begin.
Media display
Two media patterns: a 16:9 video embed wrapper (used on sanctuary detail and the Hudson Canyon briefing replay) and a photo-with-caption block.
Video embed — 16:9 with cream-on-coral play affordance.
Calls to action
Three CTA ribbon variants: dark-navy NextStepRibbon (program pages, blog detail), coral-on-navy hero CTA (donate + take action), and inline link rail (back to index navigation).
What's next?
Help protect America's marine sanctuaries
Your gift funds protection, science, and education across all 18 National Marine Sanctuaries.
Inline back-link pattern
Event card
Event detail uses a "key facts" strip (When / Where / Cost) above the fold and an event-card pattern on the events index and Related events rail.
When
June 9, 2026
7:00–8:30 PM ET
Where
Online — Zoom webinar
Captioned live
Cost
Free
218 of 300 seats remaining
Forms
Form inputs use rounded-md borders, ocean-500 focus rings,
and 2.5 grid-units of vertical padding. Required-field
treatment relies on native HTML required attribute
+ native browser validation. Used on contact, volunteer
signup, event registration, advocacy actions, and the magic-
link sign-in.
Alert & callout banners
Four callout variants: ocean info (Pilot demo disclaimers, accessibility notices), coral attention (multisite-collapse banners), error/warning (form validation), success (confirmation states).
Info / accessibility note
Live captioning available throughout. ASL interpretation can be requested with at least 7 days notice.
Header & footer
Global site header is dark-navy with the Foundation logo, primary nav, search, Account/Sign-in, and the Donate CTA. Footer is dark-navy with a newsletter signup ribbon at top, a 5-column site map, social icon row, and credibility/legal row at the bottom.
Accessibility scaffolding
Site-wide accessibility primitives that every page inherits.
- Skip-to-content link — first focusable element on every page, jumps the keyboard user past the global nav to the page
<main> - Floating accessibility widget — adjustable text size, link-underlining, motion preference, and high-contrast toggle
- Semantic landmarks — every page has one
<h1>, ordered heading hierarchy, and proper<nav>/<main>/<aside>/<footer>landmarks - Focus rings — 2px ocean-500 outline on every interactive element, visible on keyboard nav
- Reduced motion — every transition respects
prefers-reduced-motion - Form labels + autocomplete — every input has a visible
<label>and the rightautocompleteattribute for password-managers and mobile keyboards - Image alt text — required at the data layer; missing alt text fails the build
- Color contrast — every text/background pair in the palette is documented above with its WCAG ratio
Governance
How this design system evolves once the production engagement begins.
- The Foundation has read access to the Figma library; Simple Spark holds edit access during the six-week engagement
- Tokens (color, type, spacing, motion, breakpoints) live in Tailwind theme + CSS variables — single source of truth
- This page is the live design-system reference; engineers and designers read it before adding any new template or component
- New blocks emerging from discovery (e.g., a SmartSimple grants directory variant) are added to this library, not built one-off