{
 "showDemo": true,
 "_doc": "Contenu Brass (CMS /admin). Items \"demo\": true = FICTIFS. Retrait : python3 tools/demo-content.py remove",
 "schema": 2,
 "ecoute": {
  "kicker": {
   "fr": "Écoute",
   "en": "Listen"
  },
  "title": {
   "fr": "EP mis en avant",
   "en": "Featured EP"
  },
  "lead": {
   "fr": "EP fictif mis en avant : souffle collectif et lignes longues, comme une ouverture de salle.",
   "en": "Featured fictional EP: shared breath and long lines, like a hall opening."
  },
  "epLabel": {
   "fr": "EP · Laboratoire Brass",
   "en": "EP · Brass Lab"
  },
  "epTitle": {
   "fr": "Lignes de cuivre — Ouverture",
   "en": "Copper Lines — Opening"
  },
  "durationLabel": {
   "fr": "Durée",
   "en": "Duration"
  },
  "duration": "0:30",
  "cta": {
   "fr": "Écouter maintenant",
   "en": "Listen now"
  },
  "note": {
   "fr": "Extrait d’écoute ~30 s · répertoire inventé pour la vitrine.",
   "en": "Listening excerpt ~30 s · invented repertoire for the showcase."
  },
  "cover": "assets/media/brass-ep-cover-demo.webp",
  "coverAlt": {
   "fr": "Pochette fictive de l’EP Lignes de cuivre",
   "en": "Fictional cover for the EP Copper Lines"
  },
  "audioM4a": "assets/media/brass-ep-excerpt-demo.m4a",
  "audioWav": "assets/media/brass-ep-excerpt-demo.wav"
 },
 "carousel": {
  "title": {
   "fr": "Galerie",
   "en": "Gallery"
  },
  "lead": {
   "fr": "Identité visuelle Brass : logos et sceaux déjà présents dans le dossier assets.",
   "en": "Brass visual identity: logos and seals already in the assets folder."
  },
  "slides": [
   {
    "id": "slide-1",
    "img": "assets/door-brass.webp",
    "alt": {
     "fr": "Logo Brass or avec texte",
     "en": "Brass gold logo with text"
    },
    "caption": {
     "fr": "Identité Brass or — signature cuivrée",
     "en": "Brass gold identity — copper signature"
    },
    "demo": true
   },
   {
    "id": "slide-2",
    "img": "assets/logo-hero-merch.webp",
    "alt": {
     "fr": "Logo merch DZOTINÚ",
     "en": "DZOTINÚ merch logo"
    },
    "caption": {
     "fr": "Motif merch — écusson pour scène et atelier",
     "en": "Merch motif — crest for stage and workshop"
    },
    "demo": true
   },
   {
    "id": "slide-3",
    "img": "assets/svg/logo-or.svg",
    "alt": {
     "fr": "Sceau DZOTINÚ aux cercles",
     "en": "DZOTINÚ circle seal"
    },
    "caption": {
     "fr": "Sceau aux cercles — marque de passage",
     "en": "Circle seal — mark of passage"
    },
    "demo": true
   },
   {
    "id": "slide-4",
    "img": "assets/logo-hero-merch.webp",
    "alt": {
     "fr": "Écusson merch or",
     "en": "Gold merch crest"
    },
    "caption": {
     "fr": "Écusson or — pièce merch de vitrine",
     "en": "Gold crest — showcase merch piece"
    },
    "demo": true
   }
  ]
 },
 "audios": {
  "title": {
   "fr": "Audio",
   "en": "Audio"
  },
  "lead": {
   "fr": "Quatre extraits fictifs de section de cuivres — écoute courte pour la vitrine.",
   "en": "Four fictional brass-section excerpts — short listens for the showcase."
  },
  "items": [
   {
    "id": "tone-1",
    "label": {
     "fr": "Souffle bas — tenues d’ensemble",
     "en": "Low breath — ensemble long tones"
    },
    "m4a": "assets/media/brass-demo-tone-1.m4a",
    "wav": "assets/media/brass-demo-tone-1.wav",
    "demo": true
   },
   {
    "id": "tone-2",
    "label": {
     "fr": "Appel de pupitre — trompettes",
     "en": "Section call — trumpets"
    },
    "m4a": "assets/media/brass-demo-tone-2.m4a",
    "wav": "assets/media/brass-demo-tone-2.wav",
    "demo": true
   },
   {
    "id": "tone-3",
    "label": {
     "fr": "Réponse grave — trombones et tuba",
     "en": "Low answer — trombones and tuba"
    },
    "m4a": "assets/media/brass-demo-tone-3.m4a",
    "wav": "assets/media/brass-demo-tone-3.wav",
    "demo": true
   },
   {
    "id": "tone-4",
    "label": {
     "fr": "Tutti bref — fermeture de phrase",
     "en": "Brief tutti — phrase close"
    },
    "m4a": "assets/media/brass-demo-tone-4.m4a",
    "wav": "assets/media/brass-demo-tone-4.wav",
    "demo": true
   }
  ]
 },
 "videos": {
  "title": {
   "fr": "Vidéo",
   "en": "Video"
  },
  "lead": {
   "fr": "Trois génériques d’identité visuelle — logos Brass en mouvement.",
   "en": "Three visual-identity bumpers — Brass logos in motion."
  },
  "items": [
   {
    "id": "clip-1",
    "label": {
     "fr": "Générique Brass or — ouverture de soirée",
     "en": "Brass gold bumper — evening open"
    },
    "mp4": "assets/media/brass-demo-clip-1.mp4",
    "poster": "assets/door-brass.webp",
    "demo": true
   },
   {
    "id": "clip-2",
    "label": {
     "fr": "Générique merch — signature scene",
     "en": "Merch bumper — stage signature"
    },
    "mp4": "assets/media/brass-demo-clip-2.mp4",
    "poster": "assets/logo-hero-merch.webp",
    "demo": true
   },
   {
    "id": "clip-3",
    "label": {
     "fr": "Générique écusson — festival inventé Cuivre Nocturne",
     "en": "Crest bumper — invented Copper Night festival"
    },
    "mp4": "assets/media/brass-demo-clip-3.mp4",
    "poster": "assets/logo-hero-merch.webp",
    "demo": true
   }
  ]
 },
 "links": {
  "title": {
   "fr": "Liens",
   "en": "Links"
  },
  "lead": {
   "fr": "Portes du hub et repères publics utiles autour des cuivres et du kente.",
   "en": "Hub doors and useful public references around brass and kente."
  },
  "items": [
   {
    "id": "link-1",
    "label": {
     "fr": "Enseignement Brass",
     "en": "Brass education"
    },
    "url": "enseignement.html"
   },
   {
    "id": "link-2",
    "label": {
     "fr": "Fiche Atelier — souffle et phrasé",
     "en": "Workshop sheet — breath and phrasing"
    },
    "url": "atelier.html"
   },
   {
    "id": "link-3",
    "label": {
     "fr": "Projets Brass",
     "en": "Brass projects"
    },
    "url": "./#projets"
   },
   {
    "id": "link-4",
    "label": {
     "fr": "Albums & EP",
     "en": "Albums & EPs"
    },
    "url": "boutique.html"
   },
   {
    "id": "link-5",
    "label": {
     "fr": "Wikipedia — instrument de cuivre",
     "en": "Wikipedia — brass instrument"
    },
    "url": "https://en.wikipedia.org/wiki/Brass_instrument"
   },
   {
    "id": "link-6",
    "label": {
     "fr": "Wikipedia — tissu kente",
     "en": "Wikipedia — Kente cloth"
    },
    "url": "https://en.wikipedia.org/wiki/Kente_cloth"
   }
  ]
 },
 "merch": {
  "title": {
   "fr": "Merch",
   "en": "Merch"
  },
  "lead": {
   "fr": "Produits fictifs — aucun achat réel. Images du dossier assets.",
   "en": "Fictional products — no real purchase. Images from the assets folder."
  },
  "hint": {
   "fr": "Touchez une carte pour l’agrandir.",
   "en": "Tap a card to enlarge it."
  },
  "items": [
   {
    "id": "merch-1",
    "img": "assets/logo-hero-merch.webp",
    "alt": {
     "fr": "Écusson Brass brodé",
     "en": "Brass embroidered crest"
    },
    "title": {
     "fr": "Écusson Brass brodé",
     "en": "Brass embroidered crest"
    },
    "price": {
     "fr": "24 $ CAD",
     "en": "$24 CAD"
    },
    "desc": {
     "fr": "Écusson brodé or sur feutrine noire. Taille unique ~8 cm. Personnage de vitrine uniquement.",
     "en": "Gold embroidered crest on black felt. One size ~8 cm. Showcase piece only."
    },
    "demo": true
   },
   {
    "id": "merch-2",
    "img": "assets/logo-hero-merch.webp",
    "alt": {
     "fr": "Tee kente fond noir",
     "en": "Black kente tee"
    },
    "title": {
     "fr": "Tee kente fond noir",
     "en": "Kente tee on black"
    },
    "price": {
     "fr": "45 $ CAD",
     "en": "$45 CAD"
    },
    "desc": {
     "fr": "Coton jersey 180 g. Motif kente poitrine. Tailles S–XL. Contenu fictif.",
     "en": "180 g cotton jersey. Kente chest motif. Sizes S–XL. Fictional listing."
    },
    "demo": true
   },
   {
    "id": "merch-3",
    "img": "assets/logo-hero-merch.webp",
    "alt": {
     "fr": "Patch logo",
     "en": "Logo patch"
    },
    "title": {
     "fr": "Patch logo thermocollant",
     "en": "Iron-on logo patch"
    },
    "price": {
     "fr": "18 $ CAD",
     "en": "$18 CAD"
    },
    "desc": {
     "fr": "Patch thermocollant 7 cm. Polyester. Une unité par commande fictive.",
     "en": "7 cm iron-on patch. Polyester. One unit per fictional order."
    },
    "demo": true
   },
   {
    "id": "merch-4",
    "img": "assets/door-brass.webp",
    "alt": {
     "fr": "Affiche Brass A2",
     "en": "Brass A2 poster"
    },
    "title": {
     "fr": "Affiche Brass A2",
     "en": "Brass A2 poster"
    },
    "price": {
     "fr": "32 $ CAD",
     "en": "$32 CAD"
    },
    "desc": {
     "fr": "Affiche A2 papier mat 200 g. Identité Brass or. Livraison fictive.",
     "en": "A2 matte 200 g poster. Brass gold identity. Fictional shipping."
    },
    "demo": true
   },
   {
    "id": "merch-5",
    "img": "assets/svg/logo-or.svg",
    "alt": {
     "fr": "Casquette or",
     "en": "Gold cap"
    },
    "title": {
     "fr": "Casquette or logo",
     "en": "Gold logo cap"
    },
    "price": {
     "fr": "28 $ CAD",
     "en": "$28 CAD"
    },
    "desc": {
     "fr": "Casquette coton sergé, logo brodé or. Taille réglable. Vitrine seulement.",
     "en": "Cotton twill cap, gold embroidered logo. Adjustable. Showcase only."
    },
    "demo": true
   },
   {
    "id": "merch-6",
    "img": "assets/svg/logo-or.svg",
    "alt": {
     "fr": "Autocollant sceau",
     "en": "Seal sticker"
    },
    "title": {
     "fr": "Autocollant sceau (lot de 3)",
     "en": "Seal sticker (set of 3)"
    },
    "price": {
     "fr": "6 $ CAD",
     "en": "$6 CAD"
    },
    "desc": {
     "fr": "Vinyle mat, sceau aux cercles. Lot de 3. Produit fictif.",
     "en": "Matte vinyl, circle seal. Set of 3. Fictional product."
    },
    "demo": true
   },
   {
    "id": "merch-7",
    "img": "assets/door-heritage.webp",
    "alt": {
     "fr": "Tote cuivre",
     "en": "Copper tote"
    },
    "title": {
     "fr": "Tote cuivre",
     "en": "Copper tote"
    },
    "price": {
     "fr": "22 $ CAD",
     "en": "$22 CAD"
    },
    "desc": {
     "fr": "Tote coton 280 g, sérigraphie cuivre. Anses longues. Tailles uniques.",
     "en": "280 g cotton tote, copper print. Long handles. One size."
    },
    "demo": true
   },
   {
    "id": "merch-8",
    "img": "assets/door-brass.webp",
    "alt": {
     "fr": "Hoodie Brass",
     "en": "Brass hoodie"
    },
    "title": {
     "fr": "Hoodie Brass",
     "en": "Brass hoodie"
    },
    "price": {
     "fr": "65 $ CAD",
     "en": "$65 CAD"
    },
    "desc": {
     "fr": "Molleton 320 g, capuche doublée. Logo poitrine. Tailles S–XXL. Aucun stock réel.",
     "en": "320 g fleece, lined hood. Chest logo. Sizes S–XXL. No real stock."
    },
    "demo": true
   }
  ]
 },
 "projects": {
  "heading": {
   "fr": "Projets · sous-univers Brass (dont Nuit de cuivre)",
   "en": "Projects · Brass worlds (incl. Copper Night)"
  },
  "items": [
   {
    "id": "projet-1",
    "img": "assets/door-brass.webp",
    "title": {
     "fr": "Cuivre nocturne — démo",
     "en": "Midnight brass — demo"
    },
    "tag": {
     "fr": "Quintette · studio",
     "en": "Quintet · studio"
    },
    "description": {
     "fr": "Fiche projet fictive pour tester une documentation artistique complète.",
     "en": "Fictional project sheet for testing full artistic documentation."
    },
    "instruments": {
     "fr": "Trompette, bugle, trombone, cor, tuba, percussions.",
     "en": "Trumpet, flugelhorn, trombone, horn, tuba, percussion."
    },
    "players": {
     "fr": "Interprète A (test) : trompette et bugle ; B (test) : trombone ; C (test) : cor ; D (test) : tuba ; E (test) : percussions.",
     "en": "Performer A (test): trumpet and flugelhorn; B (test): trombone; C (test): horn; D (test): tuba; E (test): percussion."
    },
    "arranger": {
     "fr": "Arrangeur 1 — personnage fictif.",
     "en": "Arranger 1 — fictional person."
    },
    "year": {
     "fr": "2026 · scénario de démonstration.",
     "en": "2026 · demonstration scenario."
    },
    "producer": {
     "fr": "Studio Démo — producteur fictif, aucun enregistrement commercial.",
     "en": "Demo Studio — fictional producer, no commercial recording."
    },
    "credits": {
     "fr": "Composition : Auteur Test. Direction : Direction Test. Prise de son : Équipe Test. Montage, mixage et mastering : Studio Démo. Identité visuelle : logos DZOTINÚ existants. Aucun crédit ne désigne une collaboration réelle.",
     "en": "Composition: Test Writer. Direction: Test Director. Recording: Test Team. Editing, mixing and mastering: Demo Studio. Visual identity: existing DZOTINÚ logos. No credit indicates a real collaboration."
    },
    "demo": true
   },
   {
    "id": "projet-2",
    "img": "assets/svg/logo-or.svg",
    "title": {
     "fr": "Lignes en mouvement — démo",
     "en": "Moving lines — demo"
    },
    "tag": {
     "fr": "Octuor · scène",
     "en": "Octet · stage"
    },
    "description": {
     "fr": "Fiche projet fictive pour tester une documentation artistique complète.",
     "en": "Fictional project sheet for testing full artistic documentation."
    },
    "instruments": {
     "fr": "Trompette, bugle, trombone, cor, tuba, percussions.",
     "en": "Trumpet, flugelhorn, trombone, horn, tuba, percussion."
    },
    "players": {
     "fr": "Interprète A (test) : trompette et bugle ; B (test) : trombone ; C (test) : cor ; D (test) : tuba ; E (test) : percussions.",
     "en": "Performer A (test): trumpet and flugelhorn; B (test): trombone; C (test): horn; D (test): tuba; E (test): percussion."
    },
    "arranger": {
     "fr": "Arrangeur 2 — personnage fictif.",
     "en": "Arranger 2 — fictional person."
    },
    "year": {
     "fr": "2026 · scénario de démonstration.",
     "en": "2026 · demonstration scenario."
    },
    "producer": {
     "fr": "Studio Démo — producteur fictif, aucun enregistrement commercial.",
     "en": "Demo Studio — fictional producer, no commercial recording."
    },
    "credits": {
     "fr": "Composition : Auteur Test. Direction : Direction Test. Prise de son : Équipe Test. Montage, mixage et mastering : Studio Démo. Identité visuelle : logos DZOTINÚ existants. Aucun crédit ne désigne une collaboration réelle.",
     "en": "Composition: Test Writer. Direction: Test Director. Recording: Test Team. Editing, mixing and mastering: Demo Studio. Visual identity: existing DZOTINÚ logos. No credit indicates a real collaboration."
    },
    "demo": true
   },
   {
    "id": "projet-3",
    "img": "assets/svg/logo-or.svg",
    "title": {
     "fr": "Échos d’atelier — démo",
     "en": "Workshop echoes — demo"
    },
    "tag": {
     "fr": "Ensemble · pédagogie",
     "en": "Ensemble · education"
    },
    "description": {
     "fr": "Fiche projet fictive pour tester une documentation artistique complète.",
     "en": "Fictional project sheet for testing full artistic documentation."
    },
    "instruments": {
     "fr": "Trompette, bugle, trombone, cor, tuba, percussions.",
     "en": "Trumpet, flugelhorn, trombone, horn, tuba, percussion."
    },
    "players": {
     "fr": "Interprète A (test) : trompette et bugle ; B (test) : trombone ; C (test) : cor ; D (test) : tuba ; E (test) : percussions.",
     "en": "Performer A (test): trumpet and flugelhorn; B (test): trombone; C (test): horn; D (test): tuba; E (test): percussion."
    },
    "arranger": {
     "fr": "Arrangeur 3 — personnage fictif.",
     "en": "Arranger 3 — fictional person."
    },
    "year": {
     "fr": "2026 · scénario de démonstration.",
     "en": "2026 · demonstration scenario."
    },
    "producer": {
     "fr": "Studio Démo — producteur fictif, aucun enregistrement commercial.",
     "en": "Demo Studio — fictional producer, no commercial recording."
    },
    "credits": {
     "fr": "Composition : Auteur Test. Direction : Direction Test. Prise de son : Équipe Test. Montage, mixage et mastering : Studio Démo. Identité visuelle : logos DZOTINÚ existants. Aucun crédit ne désigne une collaboration réelle.",
     "en": "Composition: Test Writer. Direction: Test Director. Recording: Test Team. Editing, mixing and mastering: Demo Studio. Visual identity: existing DZOTINÚ logos. No credit indicates a real collaboration."
    },
    "demo": true
   },
   {
    "id": "nuit-1",
    "img": "assets/media/brass-ep-cover-demo.webp",
    "title": {
     "fr": "Résonance de la cuve",
     "en": "Vat Resonance"
    },
    "tag": {
     "fr": "Quintette · studio · fiction",
     "en": "Quintet · studio · fiction"
    },
    "universe": {
     "fr": "Nuit de cuivre",
     "en": "Copper Night"
    },
    "description": {
     "fr": "Fiche fictive du sous-univers « Nuit de cuivre » : une session nocturne autour d’une cuve de résonance, pour tester le gabarit complet.",
     "en": "Fictional sheet in the “Copper Night” sub-universe: a night session around a resonance vat, to exercise the full project template."
    },
    "instruments": {
     "fr": "Trompette en si♭, bugle, trombone ténor, cor d’harmonie, tuba.",
     "en": "B♭ trumpet, flugelhorn, tenor trombone, French horn, tuba."
    },
    "players": {
     "fr": "Mira Vale (fict.) : trompette ; Jonas Quill (fict.) : bugle ; Léa Ormond (fict.) : trombone ; Theo Brume (fict.) : cor ; Samir Holt (fict.) : tuba.",
     "en": "Mira Vale (fict.): trumpet; Jonas Quill (fict.): flugelhorn; Léa Ormond (fict.): trombone; Theo Brume (fict.): horn; Samir Holt (fict.): tuba."
    },
    "arranger": {
     "fr": "Noémie Cendre (personnage fictif) — arrangements.",
     "en": "Noémie Cendre (fictional) — arrangements."
    },
    "year": {
     "fr": "2025",
     "en": "2025"
    },
    "producer": {
     "fr": "Atelier Fume — producteur fictif.",
     "en": "Atelier Fume — fictional producer."
    },
    "composition": {
     "fr": "Élias Forge (fict.)",
     "en": "Élias Forge (fict.)"
    },
    "direction": {
     "fr": "Noémie Cendre (fict.)",
     "en": "Noémie Cendre (fict.)"
    },
    "recording": {
     "fr": "Équipe Cuve (fict.) — prise de son",
     "en": "Vat Crew (fict.) — recording"
    },
    "mix": {
     "fr": "Studio Lumen (fict.)",
     "en": "Lumen Studio (fict.)"
    },
    "mastering": {
     "fr": "Mastering Nord (fict.)",
     "en": "Nord Mastering (fict.)"
    },
    "credits": {
     "fr": "Composition : Élias Forge (fict.). Direction : Noémie Cendre (fict.). Prise de son : Équipe Cuve (fict.). Mix : Studio Lumen (fict.). Mastering : Mastering Nord (fict.). Visuel : assets DZOTINÚ existants.",
     "en": "Composition: Élias Forge (fict.). Direction: Noémie Cendre (fict.). Recording: Vat Crew (fict.). Mix: Lumen Studio (fict.). Mastering: Nord Mastering (fict.). Visual: existing DZOTINÚ assets."
    },
    "rights": {
     "fr": "© 2025 DZOTINÚ Brass (démonstration) — tous droits fictifs. Aucune œuvre réelle.",
     "en": "© 2025 DZOTINÚ Brass (demonstration) — all rights fictional. No real work."
    },
    "recordingPlace": {
     "fr": "Studio Atelier Fictif — Montréal (démo)",
     "en": "Fictional Workshop Studio — Montreal (demo)"
    },
    "story": {
     "fr": "Une nuit d’essai où les cuivres jouent dans et autour d’une cuve vide : le souffle devient architecture. Histoire inventée pour le test de gabarit.",
     "en": "A trial night where the brass plays in and around an empty vat: breath becomes architecture. Invented story for the template test."
    },
    "demo": true
   },
   {
    "id": "nuit-2",
    "img": "assets/svg/logo-or.svg",
    "title": {
     "fr": "Procession des embouchures",
     "en": "Mouthpiece Procession"
    },
    "tag": {
     "fr": "Octuor · scène · fiction",
     "en": "Octet · stage · fiction"
    },
    "universe": {
     "fr": "Nuit de cuivre",
     "en": "Copper Night"
    },
    "description": {
     "fr": "Fiche fictive : une marche lente d’embouchures sous lampadaires, pour valider crédits, droits et histoire du projet.",
     "en": "Fictional sheet: a slow march of mouthpieces under streetlights, to validate credits, rights and project story."
    },
    "instruments": {
     "fr": "Deux trompettes, un bugle, deux trombones, un cor, un euphonium, une caisse claire.",
     "en": "Two trumpets, one flugelhorn, two trombones, one horn, one euphonium, one snare drum."
    },
    "players": {
     "fr": "Ivy Caldeira (fict.) & Ronan Pike (fict.) : trompettes ; Nina Sol (fict.) : bugle ; Pax Dreher (fict.) & Oli Venn (fict.) : trombones ; Kara Moss (fict.) : cor ; Jules Fen (fict.) : euphonium ; Remy Ash (fict.) : caisse claire.",
     "en": "Ivy Caldeira (fict.) & Ronan Pike (fict.): trumpets; Nina Sol (fict.): flugelhorn; Pax Dreher (fict.) & Oli Venn (fict.): trombones; Kara Moss (fict.): horn; Jules Fen (fict.): euphonium; Remy Ash (fict.): snare."
    },
    "arranger": {
     "fr": "Pax Dreher (fict.) — arrangement de scène.",
     "en": "Pax Dreher (fict.) — stage arrangement."
    },
    "year": {
     "fr": "2024",
     "en": "2024"
    },
    "producer": {
     "fr": "Label Ombrelle (fict.)",
     "en": "Ombrelle Label (fict.)"
    },
    "composition": {
     "fr": "Collectif Embouchure (fict.)",
     "en": "Mouthpiece Collective (fict.)"
    },
    "direction": {
     "fr": "Kara Moss (fict.)",
     "en": "Kara Moss (fict.)"
    },
    "recording": {
     "fr": "Captation extérieure Démo (fict.)",
     "en": "Outdoor capture Demo (fict.)"
    },
    "mix": {
     "fr": "Mix Rue (fict.)",
     "en": "Street Mix (fict.)"
    },
    "mastering": {
     "fr": "Plaque Finale (fict.)",
     "en": "Final Plate (fict.)"
    },
    "credits": {
     "fr": "Composition : Collectif Embouchure (fict.). Direction : Kara Moss (fict.). Prise de son : Captation extérieure Démo (fict.). Mix : Mix Rue (fict.). Mastering : Plaque Finale (fict.).",
     "en": "Composition: Mouthpiece Collective (fict.). Direction: Kara Moss (fict.). Recording: Outdoor capture Demo (fict.). Mix: Street Mix (fict.). Mastering: Final Plate (fict.)."
    },
    "rights": {
     "fr": "© 2024 Label Ombrelle / DZOTINÚ Brass (fiction) — usage de démonstration uniquement.",
     "en": "© 2024 Ombrelle Label / DZOTINÚ Brass (fiction) — demonstration use only."
    },
    "recordingPlace": {
     "fr": "Cour intérieure fictive — Plateau, Montréal (démo)",
     "en": "Fictional courtyard — Plateau, Montreal (demo)"
    },
    "story": {
     "fr": "Huit musiciens fictifs défilent d’un lampadaire à l’autre ; chaque embouchure allume une phrase. Conte inventé pour le sous-univers Nuit de cuivre.",
     "en": "Eight fictional players walk from lamp to lamp; each mouthpiece lights a phrase. Invented tale for the Copper Night sub-universe."
    },
    "demo": true
   },
   {
    "id": "nuit-3",
    "img": "assets/svg/logo-or.svg",
    "title": {
     "fr": "Clairon sous les toits",
     "en": "Clarion Under the Roofs"
    },
    "tag": {
     "fr": "Duo · loft · fiction",
     "en": "Duo · loft · fiction"
    },
    "universe": {
     "fr": "Nuit de cuivre",
     "en": "Copper Night"
    },
    "description": {
     "fr": "Fiche fictive en duo : un clairon et un euphonium sous des combles, pour boucler le test du gabarit (droits, lieu, histoire).",
     "en": "Fictional duo sheet: clarion and euphonium under the eaves, to complete the template test (rights, place, story)."
    },
    "instruments": {
     "fr": "Clairon / trompette de cavalerie, euphonium.",
     "en": "Clarion / cavalry trumpet, euphonium."
    },
    "players": {
     "fr": "Aline Dusk (fict.) : clairon ; Mateo Wren (fict.) : euphonium.",
     "en": "Aline Dusk (fict.): clarion; Mateo Wren (fict.): euphonium."
    },
    "arranger": {
     "fr": "Mateo Wren (fict.) — réduction duo.",
     "en": "Mateo Wren (fict.) — duo reduction."
    },
    "year": {
     "fr": "2026",
     "en": "2026"
    },
    "producer": {
     "fr": "Toits & Cuivre (fict.)",
     "en": "Roofs & Brass (fict.)"
    },
    "composition": {
     "fr": "Aline Dusk (fict.)",
     "en": "Aline Dusk (fict.)"
    },
    "direction": {
     "fr": "Aline Dusk (fict.)",
     "en": "Aline Dusk (fict.)"
    },
    "recording": {
     "fr": "Prise combles (fict.)",
     "en": "Attic take (fict.)"
    },
    "mix": {
     "fr": "Grenier Mix (fict.)",
     "en": "Attic Mix (fict.)"
    },
    "mastering": {
     "fr": "Sceau Final (fict.)",
     "en": "Final Seal (fict.)"
    },
    "credits": {
     "fr": "Composition et direction : Aline Dusk (fict.). Prise de son : Prise combles (fict.). Mix : Grenier Mix (fict.). Mastering : Sceau Final (fict.). Visuel : sceau DZOTINÚ existant.",
     "en": "Composition and direction: Aline Dusk (fict.). Recording: Attic take (fict.). Mix: Attic Mix (fict.). Mastering: Final Seal (fict.). Visual: existing DZOTINÚ seal."
    },
    "rights": {
     "fr": "© 2026 Toits & Cuivre (fiction) — contenu de test, non commercial.",
     "en": "© 2026 Roofs & Brass (fiction) — test content, non-commercial."
    },
    "recordingPlace": {
     "fr": "Loft fictif sous toits — Mile End, Montréal (démo)",
     "en": "Fictional loft under roofs — Mile End, Montreal (demo)"
    },
    "story": {
     "fr": "Deux souffles fictifs se répondent entre poutres et lucarnes. Courte histoire inventée pour valider le champ « histoire du projet ».",
     "en": "Two fictional breaths answer each other between beams and skylights. Short invented story to validate the “project story” field."
    },
    "demo": true
   }
  ]
 },
 "shop": {
  "h1": {
   "fr": "Albums & EP",
   "en": "Albums & EPs"
  },
  "notice": {
   "fr": "Boutique fictive : prix en CAD, aucun paiement ni panier réel.",
   "en": "Fictional shop: prices in CAD, no real payment or cart."
  },
  "items": [
   {
    "id": "album-1",
    "kind": "album",
    "img": "assets/door-brass.webp",
    "title": {
     "fr": "Album · Horizons de cuivre",
     "en": "Album · Brass horizons"
    },
    "description": {
     "fr": "Album numérique fictif · 8 pistes inventées. Aucun fichier vendu.",
     "en": "Fictional digital album · 8 invented tracks. No files sold."
    },
    "price": {
     "fr": "20,00 CAD",
     "en": "20.00 CAD"
    },
    "cta": {
     "fr": "Réserver · démo",
     "en": "Reserve · demo"
    },
    "demo": true
   },
   {
    "id": "ep-1",
    "kind": "ep",
    "img": "assets/media/brass-ep-cover-demo.webp",
    "title": {
     "fr": "EP · Lignes de cuivre",
     "en": "EP · Copper Lines"
    },
    "description": {
     "fr": "EP numérique fictif · 4 pistes ; extrait ~30 s sur la vitrine.",
     "en": "Fictional digital EP · 4 tracks; ~30 s excerpt on the showcase."
    },
    "price": {
     "fr": "8,00 CAD",
     "en": "8.00 CAD"
    },
    "cta": {
     "fr": "Réserver · démo",
     "en": "Reserve · demo"
    },
    "demo": true
   },
   {
    "id": "single-1",
    "kind": "single",
    "img": "assets/svg/logo-or.svg",
    "title": {
     "fr": "Single · Souffle (test)",
     "en": "Single · Breath (test)"
    },
    "description": {
     "fr": "Single numérique test · 1 piste fictive. Aucun fichier vendu.",
     "en": "Test digital single · 1 fictional track. No file sold."
    },
    "price": {
     "fr": "1,50 CAD",
     "en": "CAD 1.50"
    },
    "cta": {
     "fr": "Acheter · démo",
     "en": "Buy · demo"
    },
    "demo": true
   }
  ],
  "confirm": {
   "fr": "Démo uniquement : aucun achat effectué, aucun montant débité.",
   "en": "Demo only: no purchase made, no amount charged."
  },
  "listen": {
   "fr": "Écouter l’extrait test →",
   "en": "Listen to the test excerpt →"
  }
 },
 "pages": {
  "artiste": {
   "h1": {
    "fr": "Artiste",
    "en": "Artist"
   },
   "img": "assets/door-brass.webp",
   "caption": {
    "fr": "Emplacement portrait — logo Brass existant (pas un portrait photo).",
    "en": "Portrait slot — existing Brass logo (not a photo portrait)."
   },
   "bioHeading": {
    "fr": "Biographie",
    "en": "Biography"
   },
   "bio": {
    "fr": "Artiste Démo explore les couleurs des cuivres, du petit ensemble aux créations collectives. Cette biographie est entièrement fictive ; elle sert uniquement à valider la mise en page.",
    "en": "Demo Artist explores brass colours, from small ensembles to collective creations. This biography is entirely fictional and only validates the layout."
   },
   "journeyHeading": {
    "fr": "Parcours",
    "en": "Path"
   },
   "steps": [
    {
     "id": "step-1",
     "text": {
      "fr": "2022 · Formation et premiers ateliers.",
      "en": "2022 · Training and first workshops."
     }
    },
    {
     "id": "step-2",
     "text": {
      "fr": "2024 · Recherche de timbres et laboratoire d’ensemble.",
      "en": "2024 · Timbre research and ensemble laboratory."
     }
    },
    {
     "id": "step-3",
     "text": {
      "fr": "2026 · Vitrine Brass et projets de démonstration.",
      "en": "2026 · Brass showcase and demonstration projects."
     }
    }
   ]
  },
  "presse": {
   "h1": {
    "fr": "Espace presse",
    "en": "Press room"
   },
   "kitHeading": {
    "fr": "Kit média",
    "en": "Media kit"
   },
   "kitNote": {
    "fr": "Dossier texte : bio fictive, présentation et crédits de démonstration.",
    "en": "Text pack: fictional bio, presentation and demonstration credits."
   },
   "downloads": [
    {
     "id": "kit-fr",
     "label": {
      "fr": "Télécharger le kit démo FR (.txt)",
      "en": "Download demo kit FR (.txt)"
     },
     "href": "assets/documents/brass-kit-media-demo-fr.txt"
    },
    {
     "id": "kit-en",
     "label": {
      "fr": "Télécharger le kit démo EN (.txt)",
      "en": "Download demo kit EN (.txt)"
     },
     "href": "assets/documents/brass-kit-media-demo-en.txt"
    }
   ],
   "photosHeading": {
    "fr": "Photothèque",
    "en": "Photo library"
   },
   "photosNote": {
    "fr": "Logos existants en emplacement photo — téléchargements de démonstration.",
    "en": "Existing logos as photo stand-ins — demonstration downloads."
   },
   "photos": [
    {
     "id": "photo-1",
     "img": "assets/door-brass.webp",
     "label": {
      "fr": "Télécharger le visuel 1",
      "en": "Download visual 1"
     }
    },
    {
     "id": "photo-2",
     "img": "assets/svg/logo-or.svg",
     "label": {
      "fr": "Télécharger le visuel 2",
      "en": "Download visual 2"
     }
    },
    {
     "id": "photo-3",
     "img": "assets/svg/logo-or.svg",
     "label": {
      "fr": "Télécharger le visuel 3",
      "en": "Download visual 3"
     }
    }
   ],
   "contactHeading": {
    "fr": "Contact presse",
    "en": "Press contact"
   },
   "contactNote": {
    "fr": "brass@dzotinu.ca · adresse de la vitrine. Contenu fictif, aucune agence réelle annoncée.",
    "en": "brass@dzotinu.ca · showcase address. Fictional content, no real agency announced."
   }
  },
  "collaborations": {
   "h1": {
    "fr": "Collaborations",
    "en": "Collaborations"
   },
   "sections": [
    {
     "id": "festivals",
     "heading": {
      "fr": "Festivals",
      "en": "Festivals"
     },
     "body": {
      "fr": "Scénario : concert d’ensemble et rencontre publique. Format test : 45 à 60 minutes, distribution à définir.",
      "en": "Scenario: ensemble concert and public conversation. Test format: 45–60 minutes; lineup to be defined."
     }
    },
    {
     "id": "labels",
     "heading": {
      "fr": "Labels",
      "en": "Labels"
     },
     "body": {
      "fr": "Scénario : EP collaboratif ou session studio. Direction artistique, droits et calendrier à discuter — aucun engagement.",
      "en": "Scenario: collaborative EP or studio session. Artistic direction, rights and schedule to discuss — no commitment."
     }
    },
    {
     "id": "composers",
     "heading": {
      "fr": "Compositeurs",
      "en": "Composers"
     },
     "body": {
      "fr": "Scénario : commande ou laboratoire d’écriture pour cuivres. Effectif, instrumentation et partition à préciser.",
      "en": "Scenario: commission or writing laboratory for brass. Ensemble size, instrumentation and score to define."
     }
    }
   ],
   "requestHeading": {
    "fr": "Proposer un projet",
    "en": "Propose a project"
   },
   "brief": {
    "fr": "Préparer : organisme, intention, lieu, dates, effectif et budget indicatif. Le bouton ouvre seulement votre logiciel de courriel ; aucun envoi automatique.",
    "en": "Prepare: organisation, intention, location, dates, ensemble size and indicative budget. The button only opens your email app; nothing is sent automatically."
   },
   "mailLabel": {
    "fr": "Parler d’un projet · courriel",
    "en": "Discuss a project · email"
   },
   "mailto": "brass@dzotinu.ca"
  },
  "enseignement": {
   "h1": {
    "fr": "Enseignement",
    "en": "Education"
   },
   "notice": {
    "fr": "Offres pédagogiques fictives : aucun cours réellement ouvert, aucun diplôme ni tarif annoncé.",
    "en": "Fictional education offers: no course is really open, no credential or price announced."
   },
   "courses": [
    {
     "id": "course1",
     "heading": {
      "fr": "Écoles · découvrir les cuivres",
      "en": "Schools · discover brass"
     },
     "body": {
      "fr": "Initiation de 60 min : souffle, écoute et rythme pour classes du primaire et du début secondaire.",
      "en": "60-minute introduction: breath, listening and rhythm for primary and early secondary classes."
     },
     "audience": {
      "fr": "Écoles · 8–12 ans · débutant · aucun prérequis",
      "en": "Schools · ages 8–12 · beginner · no prerequisites"
     },
     "duration": {
      "fr": "60 minutes",
      "en": "60 minutes"
     },
     "group": {
      "fr": "12 à 20 élèves · 20 places",
      "en": "12–20 students · 20 places"
     },
     "objectives": [
      {
       "fr": "Poser le souffle et l’embouchure",
       "en": "Settle breath and embouchure"
      },
      {
       "fr": "Nommer et reconnaître les cuivres",
       "en": "Name and recognise brass instruments"
      },
      {
       "fr": "Jouer un motif rythmique simple en groupe",
       "en": "Play a simple rhythmic motif as a group"
      }
     ],
     "outline": [
      {
       "fr": "Accueil et écoute d’un appel de cuivres",
       "en": "Welcome and a brass-call listening"
      },
      {
       "fr": "Souffle et buzz sans instrument",
       "en": "Breath and buzz without instruments"
      },
      {
       "fr": "Rotation courte sur embouchures fournies",
       "en": "Short rotation on provided mouthpieces"
      },
      {
       "fr": "Motif collectif et clôture",
       "en": "Group motif and close"
      }
     ],
     "materials": {
      "fr": "Embouchures et partition flash fournies ; instruments d’école bienvenus",
      "en": "Mouthpieces and flash score provided; school instruments welcome"
     },
     "facilitator": {
      "fr": "Ayo Mensah, corniste (personnage fictif)",
      "en": "Ayo Mensah, horn player (fictional)"
     },
     "place": {
      "fr": "Canada · salle de musique de l’école (avenue du Parc, Montréal) · en classe, tables déplacées",
      "en": "Canada · school music room (avenue du Parc, Montreal) · in class, tables moved"
     },
     "dates": {
      "fr": "Mercredi 18 mars 2026 · 10 h 30",
      "en": "Wednesday 18 March 2026 · 10:30"
     },
     "signup": {
      "fr": "Réservation école par courriel. Aucune session réelle ouverte.",
      "en": "School booking by email. No real session is open."
     },
     "mailto": "brass@dzotinu.ca"
    },
    {
     "id": "course2",
     "heading": {
      "fr": "Formations · arranger pour ensemble",
      "en": "Training · arranging for ensemble"
     },
     "body": {
      "fr": "Atelier de 3 h : tessitures, voicings et orchestration pour section de cuivres.",
      "en": "3-hour workshop: ranges, voicings and orchestration for a brass section."
     },
     "audience": {
      "fr": "Enseignants et arrangeurs · intermédiaire · lecture de partition",
      "en": "Teachers and arrangers · intermediate · score reading"
     },
     "duration": {
      "fr": "3 heures",
      "en": "3 hours"
     },
     "group": {
      "fr": "6 à 10 personnes · 10 places",
      "en": "6–10 people · 10 places"
     },
     "objectives": [
      {
       "fr": "Écrire pour tessitures réelles",
       "en": "Write for real ranges"
      },
      {
       "fr": "Construire un voicing de section",
       "en": "Build a section voicing"
      },
      {
       "fr": "Préparer une partition lisible en répétition",
       "en": "Prepare a rehearsal-ready score"
      }
     ],
     "outline": [
      {
       "fr": "Cartographie des tessitures",
       "en": "Range mapping"
      },
      {
       "fr": "Exercice de voicing à 4 voix",
       "en": "4-voice voicing drill"
      },
      {
       "fr": "Orchestration d’un motif donné",
       "en": "Orchestrating a given motif"
      },
      {
       "fr": "Lecture et retours croisés",
       "en": "Read-through and peer notes"
      }
     ],
     "materials": {
      "fr": "Partitions modèles et stubs MIDI fournis ; ordinateur personnel recommandé",
      "en": "Model scores and MIDI stubs provided; personal laptop recommended"
     },
     "facilitator": {
      "fr": "Sira Diallo, arrangeuse (personnage fictif)",
      "en": "Sira Diallo, arranger (fictional)"
     },
     "place": {
      "fr": "Canada · Maison de la culture Côte-des-Neiges, salle atelier · Montréal",
      "en": "Canada · Maison de la culture Côte-des-Neiges, workshop room · Montreal"
     },
     "dates": {
      "fr": "Samedi 11 avril 2026 · 13 h – 16 h",
      "en": "Saturday 11 April 2026 · 13:00–16:00"
     },
     "signup": {
      "fr": "Inscription individuelle par courriel. Contenu fictif.",
      "en": "Individual sign-up by email. Fictional content."
     },
     "mailto": "brass@dzotinu.ca"
    },
    {
     "id": "course3",
     "heading": {
      "fr": "Conservatoires · jouer ensemble",
      "en": "Conservatories · ensemble playing"
     },
     "body": {
      "fr": "Parcours en 3 séances : articulation, équilibre et restitution collective.",
      "en": "Pathway in 3 sessions: articulation, balance and group performance."
     },
     "audience": {
      "fr": "Conservatoire · 14–18 ans · intermédiaire",
      "en": "Conservatory · ages 14–18 · intermediate"
     },
     "duration": {
      "fr": "3 séances de 90 minutes",
      "en": "3 × 90-minute sessions"
     },
     "group": {
      "fr": "8 à 14 instrumentistes · 14 places",
      "en": "8–14 players · 14 places"
     },
     "objectives": [
      {
       "fr": "Unifier l’articulation de section",
       "en": "Unify section articulation"
      },
      {
       "fr": "Équilibrer les plans sonores",
       "en": "Balance dynamic layers"
      },
      {
       "fr": "Restituer un tutti court en public interne",
       "en": "Deliver a short tutti for an internal audience"
      }
     ],
     "outline": [
      {
       "fr": "Séance 1 — articulation et tenues",
       "en": "Session 1 — articulation and long tones"
      },
      {
       "fr": "Séance 2 — équilibre et écoute croisée",
       "en": "Session 2 — balance and cross-listening"
      },
      {
       "fr": "Séance 3 — tutti et restitution",
       "en": "Session 3 — tutti and run-through"
      }
     ],
     "materials": {
      "fr": "Partitions fournies ; instrument personnel requis",
      "en": "Scores provided; personal instrument required"
     },
     "facilitator": {
      "fr": "Nia Koffi, trompettiste (personnage fictif)",
      "en": "Nia Koffi, trumpeter (fictional)"
     },
     "place": {
      "fr": "Canada · Conservatoire fictif Plateau, salle 2B · rue Saint-Denis, Montréal · répétition en formation U",
      "en": "Canada · fictional Plateau conservatory, room 2B · rue Saint-Denis, Montreal · U-shaped rehearsal"
     },
     "dates": {
      "fr": "Jeudis 7, 14 et 21 mai 2026 · 18 h 30",
      "en": "Thursdays 7, 14 and 21 May 2026 · 18:30"
     },
     "signup": {
      "fr": "Via le secrétariat du conservatoire, copie à brass@dzotinu.ca. Aucun parcours réel ouvert.",
      "en": "Via the conservatory office, copy brass@dzotinu.ca. No real pathway is open."
     },
     "mailto": "brass@dzotinu.ca"
    },
    {
     "id": "atelier",
     "heading": {
      "fr": "Atelier",
      "en": "Workshop"
     },
     "body": {
      "fr": "Atelier de section de cuivres : souffle collectif, phrasé et écoute mutuelle. Fiche détaillée sur une page dédiée.",
      "en": "Brass-section workshop: shared breath, phrasing and listening. Full sheet on a dedicated page."
     },
     "href": "atelier.html",
     "linkLabel": {
      "fr": "Ouvrir la fiche Atelier",
      "en": "Open the Workshop sheet"
     }
    }
   ],
   "mailLabel": {
    "fr": "Discuter d’un atelier · courriel",
    "en": "Discuss a workshop · email"
   },
   "mailto": "brass@dzotinu.ca",
   "atelier": {
    "id": "atelier",
    "title": {
     "fr": "Atelier cuivres — souffle et phrasé",
     "en": "Brass workshop — breath and phrasing"
    },
    "description": {
     "fr": "Séance pratique fictive pour une section de cuivres : souffle, phrasé ensemble, écoute du groupe.",
     "en": "Fictional practical session for a brass section: breath, phrasing together, and listening as a group."
    },
    "audience": {
     "fr": "Secondaire · débutant–intermédiaire · sans prérequis",
     "en": "Secondary school · beginner–intermediate · no prerequisites"
    },
    "duration": {
     "fr": "90 minutes",
     "en": "90 minutes"
    },
    "group": {
     "fr": "8 à 12 personnes · 12 places",
     "en": "8–12 people · 12 places"
    },
    "objectives": [
     {
      "fr": "Contrôle du souffle",
      "en": "Breath control"
     },
     {
      "fr": "Phrasé collectif",
      "en": "Collective phrasing"
     },
     {
      "fr": "Écoute mutuelle",
      "en": "Listening to one another"
     }
    ],
    "outline": [
     {
      "fr": "Échauffement — longues tenues, lip slurs",
      "en": "Warm-up — long tones, lip slurs"
     },
     {
      "fr": "Travail de pupitre",
      "en": "Section work"
     },
     {
      "fr": "Tutti",
      "en": "Tutti"
     },
     {
      "fr": "Restitution",
      "en": "Run-through"
     }
    ],
    "materials": {
     "fr": "Fourni",
     "en": "Provided"
    },
    "facilitator": {
     "fr": "Nia Koffi, trompettiste (personnage fictif)",
     "en": "Nia Koffi, trumpeter (fictional)"
    },
    "place": {
     "fr": "Salle de répétition, Montréal — sur demande",
     "en": "Rehearsal room, Montreal — on request"
    },
    "dates": {
     "fr": "Sessions sur demande",
     "en": "Sessions on request"
    },
    "signup": {
     "fr": "Par courriel. Aucune session n’est ouverte pour de vrai.",
     "en": "By email. No session is actually open."
    },
    "mailto": "brass@dzotinu.ca"
   }
  }
 }
}