Stack
Key features
4-language i18n
Catalan (default, no prefix), Spanish
/es, English /en, and French /fr — all driven by a single [lang] dynamic route with zero duplicated page files. All copy lives in src/i18n/ui.ts.Token-based design system
Full token set in
src/styles/theme.css covering colors, spacing, typography, radius, borders, and icons. Monochromatic 5-step palette with a utility-class layer for consistent type rendering.SEO & structured data
JSON-LD
LocalBusiness + FAQPage schemas, Open Graph + Twitter Card tags, AggregateRating, canonical URLs, hreflang in both <head> and sitemap XML, and a social-bot robots.txt allowlist.Analytics & consent
Google Analytics 4 with Consent Mode v2 Advanced — GA loads on every visit in cookieless mode by default; cookies are only granted after explicit user consent via a custom banner persisted in
localStorage.Workshop landing pages
Per-technique landing pages (tufting, punch needle, felting, loom weaving) composed from shared section components, fully translated across all four languages.
Keystatic CMS
Git-backed CMS at
/keystatic. Posts are MDX files in src/content/blog/, authored by Belén in Catalan. Auth is handled via Keystatic Cloud; public page reads are fully static.Lighthouse scores
Scores measured on mobile with Lighthouse: Performance 99 · Accessibility 97 · Best Practices 100 · SEO 100.Core Web Vitals (mobile): FCP 1.5 s · LCP 1.8 s · TBT 30 ms · CLS 0.
Studio information
Node version requirement
The project requires Node ≥ 22.12.0, as mandated by Astro 6. This version is pinned innetlify.toml (NODE_VERSION = "22.12.0") and in package.json ("engines": { "node": ">=22.12.0" }). Running an older Node version will cause the build to fail.