{
  "_readme": "Registry of every showcase page on this deployment. This file DRIVES the portfolio hub: `node public/portfolio/build.mjs` bakes it into index.html (cards, filter pills, stats, JSON-LD ItemList) between REGISTRY:* markers. Keep it presentation-free so a future Site Control CMS can supersede it without a page redesign — the page only needs something that emits this same shape.",
  "site_base": "https://static-sites-2e5.pages.dev",
  "tag_labels": {
    "dark-cinematic": "Dark & cinematic",
    "light-editorial": "Light & editorial",
    "webgl": "WebGL shader",
    "particle-morph": "Particle morph",
    "scroll-story": "Scroll story",
    "svg-illustration": "SVG illustration",
    "calm-motion": "Calm motion",
    "kinetic-type": "Kinetic type",
    "template-built": "Template-built",
    "client-pitch": "Client pitch",
    "react-ssg": "React SSG",
    "photo-cinematic": "Photo-cinematic",
    "audio-reactive": "Audio-reactive"
  },
  "filters": [
    { "id": "all", "label": "All" },
    { "id": "dark-cinematic", "label": "Dark & cinematic" },
    { "id": "light-editorial", "label": "Light & editorial" },
    { "id": "webgl", "label": "WebGL & particles" },
    { "id": "svg-illustration", "label": "SVG illustration" },
    { "id": "photo-cinematic", "label": "Photo-cinematic" },
    { "id": "kinetic-type", "label": "Kinetic type" },
    { "id": "template-built", "label": "Template-built" },
    { "id": "client-pitch", "label": "Client pitch" }
  ],
  "pages": [
    {
      "id": "la-carniceria",
      "number": "01",
      "title": "La Carnicería Parrilla",
      "url": "/la-carniceria",
      "guide": null,
      "brand": "La Carnicería",
      "fictional": false,
      "date": "2026-02-27",
      "tags": ["client-pitch", "scroll-story", "react-ssg"],
      "signature": "the original",
      "thumb": "thumbs/la-carniceria.webp",
      "thumbAlt": "Screenshot of the La Carnicería Parrilla landing page — dark restaurant hero with glowing typography",
      "blurb": "The page that started this studio: a cinematic restaurant pitch in prerendered React with a GSAP scroll story, later joined by the sitemap, analytics, and SSG baseline every page here now inherits."
    },
    {
      "id": "stf-technology",
      "number": "02",
      "title": "SAVE THE FROGS! Technology",
      "url": "/stf-technology/",
      "guide": "/stf-technology/guide/",
      "brand": "SAVE THE FROGS!",
      "fictional": false,
      "date": "2026-07-12",
      "tags": ["dark-cinematic", "webgl", "particle-morph", "scroll-story"],
      "signature": "shader pond · frog morph",
      "thumb": "thumbs/stf-technology.webp",
      "thumbAlt": "Screenshot of the SAVE THE FROGS! Technology page — 'We build the technology that saves frogs' over a bioluminescent green shader pond",
      "blurb": "A hand-written WebGL pond — caustics, fireflies, cursor ripple — under a scroll story about the conservation tech stack, ending in ~3,200 particles that reassemble a frog into the SAVE THE FROGS! wordmark."
    },
    {
      "id": "web-craft",
      "number": "03",
      "title": "Zero2Webmaster Web Craft",
      "url": "/web-craft/",
      "guide": "/web-craft/guide/",
      "brand": "Zero2Webmaster",
      "fictional": false,
      "date": "2026-07-14",
      "tags": ["dark-cinematic", "webgl", "particle-morph", "scroll-story"],
      "signature": "self-demonstrating pitch",
      "thumb": "thumbs/web-craft.webp",
      "thumbAlt": "Screenshot of the Zero2Webmaster Web Craft page — 'This is what a modern website feels like' over a green aurora shader",
      "blurb": "The pitch that proves itself as you read it: an aurora shader, a 0 → Zero2Webmaster particle morph, real business stats, and a speed pill that reports how fast the page loaded on your own visit."
    },
    {
      "id": "sample-a",
      "number": "04",
      "title": "Ursa Observatory — Starter Sample A",
      "url": "/cinematic-starter/sample-a/",
      "guide": "/cinematic-starter/guide/",
      "brand": "Ursa Observatory",
      "fictional": true,
      "date": "2026-07-14",
      "tags": ["dark-cinematic", "webgl", "particle-morph", "template-built"],
      "signature": "one config → dark indigo",
      "thumb": "thumbs/sample-a.webp",
      "thumbAlt": "Screenshot of the Ursa Observatory sample page — dark indigo hero with an aurora shader",
      "blurb": "Built by the Cinematic Starter template engine from a single JSON config: dark indigo palette, aurora shader, and a moon-to-wordmark particle morph — no hand-written page code at all."
    },
    {
      "id": "sample-b",
      "number": "05",
      "title": "Quill & Meadow — Starter Sample B",
      "url": "/cinematic-starter/sample-b/",
      "guide": "/cinematic-starter/guide/",
      "brand": "Quill & Meadow",
      "fictional": true,
      "date": "2026-07-14",
      "tags": ["light-editorial", "kinetic-type", "template-built"],
      "signature": "same engine, opposite mood",
      "thumb": "thumbs/sample-b.webp",
      "thumbAlt": "Screenshot of the Quill & Meadow sample page — cream paper hero with large serif editorial type",
      "blurb": "The same template engine as Sample A with a different config: cream paper, serif editorial type, and a kinetic-type set-piece — proof that one engine can swing between opposite moods."
    },
    {
      "id": "stf-field-guide",
      "number": "06",
      "title": "The Amphibian Field Journal",
      "url": "/stf-field-guide/",
      "guide": "/stf-field-guide/guide/",
      "brand": "SAVE THE FROGS!",
      "fictional": false,
      "date": "2026-07-15",
      "tags": ["light-editorial", "svg-illustration", "calm-motion"],
      "signature": "drawn in code",
      "thumb": "thumbs/stf-field-guide.webp",
      "thumbAlt": "Screenshot of the Amphibian Field Journal — ivory paper with hand-drawn-style SVG amphibians and serif type",
      "blurb": "A naturalist's field journal on ivory paper: every amphibian is drawn in SVG through one shared roughen filter, and a wetland root network grows across the canvas as you scroll. No shader, no particles — deliberate calm."
    },
    {
      "id": "aharon",
      "number": "07",
      "title": "Aharon Wheels Bolsta — World Music",
      "url": "/aharon/",
      "guide": "/aharon/guide/",
      "brand": "Aharon Wheels Bolsta",
      "fictional": false,
      "date": "2026-07-15",
      "tags": ["photo-cinematic", "audio-reactive", "light-editorial", "client-pitch"],
      "signature": "duotone fold · teentaal wheel",
      "thumb": "thumbs/aharon.webp",
      "thumbAlt": "Screenshot of the Aharon Wheels Bolsta page — a sepia photograph of the artist playing handpan dissolving into cream paper beside his name in large serif type",
      "blurb": "How we help musicians: a magazine split fold built from the artist's own sepia photography, real recordings behind click-to-play facades, and a sixteen-beat teentaal wheel that synthesizes its own tabla strokes in the browser."
    }
  ]
}
