# Borrissol Espai Creatiu ## Docs - [Borrissol: Astro 6 textile workshop site architecture](https://constanza101-borrissol-28.mintlify.app/introduction.md): Borrissol Espai Creatiu is a multilingual Astro 6 website for a textile workshop studio in Mataró. Covers the stack, key features, and project goals. - [Get started with Borrissol in 5 minutes](https://constanza101-borrissol-28.mintlify.app/quickstart.md): Clone the Borrissol repo, install dependencies, and run the local dev server in under five minutes. Covers Node version, .npmrc, and first steps. - [Borrissol project structure and file layout](https://constanza101-borrissol-28.mintlify.app/project-structure.md): Directory layout, routing conventions, component categories, and file responsibilities for the Borrissol Astro 6 codebase. - [Multilingual i18n routing and translations in Borrissol](https://constanza101-borrissol-28.mintlify.app/core-concepts/i18n.md): How Borrissol handles Catalan, Spanish, English, and French with Astro's i18n routing, a single translation catalog, hreflang tags, and 301 redirects. - [Token-based design system: colors, type, and utility classes](https://constanza101-borrissol-28.mintlify.app/core-concepts/design-system.md): Borrissol's CSS custom-property design system: color tokens, typography scale, spacing, border radius, buttons, and utility classes defined in theme.css. - [SEO, structured data, and Open Graph metadata in Borrissol](https://constanza101-borrissol-28.mintlify.app/core-concepts/seo.md): How Borrissol achieves Lighthouse SEO 100: JSON-LD schemas, Open Graph, hreflang, sitemap config, canonical URLs, and the central site.ts config. - [Google Analytics 4 with Consent Mode v2 in Borrissol](https://constanza101-borrissol-28.mintlify.app/core-concepts/analytics.md): How Borrissol implements GA4 with Consent Mode v2 Advanced: cookieless default, cookie banner, localStorage persistence, and denied-state modeling. - [Tufting landing page: formats, pricing & CourseSchema](https://constanza101-borrissol-28.mintlify.app/workshops/tufting.md): Documents the /tufting landing: four formats (Pelusa 78€, Floc 108€, Vellut 158€, Pelut 181€), group options, and JSON-LD implementation. - [Punch needle landing page: technique & booking guide](https://constanza101-borrissol-28.mintlify.app/workshops/punch-needle.md): Documents the /punch-needle landing: aguja mágica technique, what participants create (tote bags, cushions), TikTok band, and WhatsApp CTAs. - [Felting landing page: feltre agullat technique & booking](https://constanza101-borrissol-28.mintlify.app/workshops/felting.md): Documents the /felting landing: feltre agullat (fieltro agujado) technique, FeltreLanding.astro component, Borla cross-link, and WhatsApp CTAs. - [Loom landing page: telar weaving technique & booking](https://constanza101-borrissol-28.mintlify.app/workshops/loom.md): Documents the /loom landing: telar (Spanish) / teler (Catalan) weaving technique, LoomLanding.astro component, Borla cross-link, and WhatsApp CTAs. - [Group workshop formats: Pelussetes, Team Building & Borla](https://constanza101-borrissol-28.mintlify.app/workshops/group-formats.md): Overview of Borrissol's three group formats: Pelussetes (68€/person, events), Team Building (68€/person, corporate), and Borla (65€/month, drop-in). - [Corporate tufting team building workshop at Borrissol](https://constanza101-borrissol-28.mintlify.app/workshops/team-building.md): The team-building landing (/team-building) targets corporate groups: 2h tufting sessions, from 68€/person, materials included, no experience required. - [Summer Textile Lab in Mataró · Creative course, 12+](https://constanza101-borrissol-28.mintlify.app/workshops/summer-lab.md): Borrissol's Summer Textile Lab landing: one week, all four textile techniques, ages 12+, small groups, materials included, in Mataró. - [Borla: monthly drop-in textile workshop at Borrissol](https://constanza101-borrissol-28.mintlify.app/workshops/borla.md): Borla is Borrissol's monthly textile workshop: drop-in sessions for needle felting, punch needle, and loom weaving at your own pace in Mataró. - [Home page sections and landing page architecture](https://constanza101-borrissol-28.mintlify.app/site/home.md): The Borrissol home page is a single-page landing with 10 sections: hero, offers, workshops, process, testimonials, press strip, about, FAQ, CTA, and footer. - [Gallery page: honeycomb photo grid implementation](https://constanza101-borrissol-28.mintlify.app/site/gallery.md): The /gallery page displays a honeycomb tap-to-reveal photo grid of Borrissol workshop creations, served in all 4 languages. - [Press page: media coverage grid and articles](https://constanza101-borrissol-28.mintlify.app/site/press.md): The /press page displays Borrissol media coverage including La Vanguardia and MataróTV, served in all 4 languages with localized copy. - [Blog: Keystatic CMS content and routing](https://constanza101-borrissol-28.mintlify.app/site/blog.md): The Borrissol blog is Catalan-only, powered by Keystatic CMS with Astro Content Collections. Covers post routing, slug structure, and author workflow. - [Borrissol configuration reference: Astro, site, and config](https://constanza101-borrissol-28.mintlify.app/dev/configuration.md): Reference for astro.config.mjs, src/config/site.ts, and src/config.ts — the config files controlling routing, SEO, redirects, and integrations. - [Keystatic CMS: Git-backed blog setup and author workflow](https://constanza101-borrissol-28.mintlify.app/dev/cms-keystatic.md): How Keystatic powers the Borrissol blog: local vs cloud storage, blog collection schema, author workflow for publishing posts, and deploy considerations. - [Netlify deployment: Borrissol build config and cost control](https://constanza101-borrissol-28.mintlify.app/dev/deployment.md): How Borrissol deploys to Netlify: build configuration, Node version pinning, bot-trap redirects, credit model, and cost control best practices. - [Testing strategy: Playwright E2E and Vitest unit tests](https://constanza101-borrissol-28.mintlify.app/dev/testing.md): Borrissol uses Playwright for E2E tests (navigation, WhatsApp links, language switcher, carousel) and Vitest for unit tests. Commands and scope explained. - [Performance optimization: Core Web Vitals and asset pipeline](https://constanza101-borrissol-28.mintlify.app/dev/performance.md): How Borrissol achieves Lighthouse Performance 99: Astro asset pipeline, AVIF/WebP images, self-hosted fonts, lazy loading, and Core Web Vitals targets. - [Accessibility implementation: WCAG, ARIA, and keyboard nav](https://constanza101-borrissol-28.mintlify.app/dev/accessibility.md): How Borrissol achieves Lighthouse Accessibility 97: skip link, ARIA labels, heading hierarchy, touch targets, focus-visible outlines, and reduced-motion.