// Margaux & Antoine — Un Mariage
// Documentary-style wedding album at a French chateau.
// Each spread = two facing pages (left + right).

const PHOTOS_MA = [
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15235154d7dff212d34482.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a1523510397b3655e6d065b.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a1523500397b3655e6d0652.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234fd2747625ad8b5fd0.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152350d2747625ad8b6004.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152350e05851175c888916.png', // chateau
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234fd2747625ad8b5fb9.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234fd2747625ad8b5fcb.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234e54d7dff212d34448.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234f54d7dff212d34458.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234e54d7dff212d3443a.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234e54d7dff212d34431.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234ed2747625ad8b5f7a.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234de05851175c8888bc.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234d0397b3655e6d05e6.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234dd2747625ad8b5f63.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234d0397b3655e6d05e2.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234d60ad4b061938eb88.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234d0397b3655e6d05c4.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234c60ad4b061938eb7a.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234c54d7dff212d343de.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234cd2747625ad8b5f2f.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234c0397b3655e6d05ae.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234c54d7dff212d343cc.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234c54d7dff212d343ce.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234b54d7dff212d343ca.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234b54d7dff212d343c8.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234b60ad4b061938eb66.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234b0397b3655e6d05a0.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234a0397b3655e6d056b.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234b60ad4b061938eb60.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234ae05851175c888840.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234ad2747625ad8b5eeb.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234ad2747625ad8b5ee1.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234a60ad4b061938eb5a.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234a54d7dff212d34388.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234960ad4b061938eb42.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a1523490397b3655e6d053a.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234960ad4b061938eb43.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234954d7dff212d34371.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234954d7dff212d34370.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152349d2747625ad8b5eb8.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a15234854d7dff212d34348.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a1523480397b3655e6d0522.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152348d2747625ad8b5e8d.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152348e05851175c8887fc.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152348d2747625ad8b5e91.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a152348d2747625ad8b5e8e.png',
];

// Modulo so any index safely maps to a photo
const pMA = (n) => PHOTOS_MA[((n - 1) % PHOTOS_MA.length + PHOTOS_MA.length) % PHOTOS_MA.length];

const SPREADS_MA = [
  // ─────────────────────────────────────────────────────────────
  // FRONT MATTER
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'front-cover',
    label: '00 Cover',
  },

  {
    kind: 'title',
    label: '01 Title',
    left: { type: 'blank' },
    right: {
      type: 'title-page',
      monogram: 'M · & · A',
      title: 'Margaux & Antoine',
      subtitle: 'Un Mariage au Château',
      date: 'Le Sept Septembre  ·  Deux Mille Vingt-Six',
      place: 'Château de Vaillac  ·  Lot, France',
    },
  },

  {
    kind: 'dedication',
    label: '02 Prologue',
    left: {
      type: 'prologue',
      eyebrow: 'Prologue',
      script: 'Un jour, raconté tel quel',
      body: [
        'No staging. No second takes. A documentary of one September day at a stone chateau in the Lot — the kind of house that has watched a hundred late summers come and go, and one wedding more.',
        'The light came in honey-coloured through the tall windows. The vines outside were already turning. Margaux and Antoine had asked for nothing rehearsed, only that we follow the day as it actually happened, and write it down exactly that way.',
      ],
    },
    right: { type: 'photo-full', photo: 6, caption: 'Château de Vaillac · 07h42' },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPITRE I — LE MATIN
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 1,
    label: '03 Chapitre I',
    numeral: 'I',
    name: 'Le Matin',
    nameEn: 'morning',
    epigraph: '« Le café était déjà fait quand la lumière est arrivée par la fenêtre du nord. »',
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '04 Lever',
    left: {
      type: 'text-block',
      script: 'Réveil',
      heading: 'Une Maison Qui S\'Éveille',
      body: [
        'Margaux woke at six and went barefoot down a stone staircase she had only known for thirty-six hours. The kitchen smelled of coffee and warm bread, and her sister was already there, in a sweatshirt, reading aloud the weather forecast as if it were a prayer.',
        'Antoine, on the other side of the courtyard, had been up since five. He kept saying he was not nervous. He kept checking his watch.',
      ],
    },
    right: { type: 'photo-full', photo: 1 },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '05 La robe',
    left: { type: 'photo-full', photo: 2 },
    right: { type: 'photo-full', photo: 3 },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '06 Détails',
    left: { type: 'photo-full', photo: 4 },
    right: { type: 'photo-full', photo: 5 },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '07 Préparation',
    left: { type: 'photo-full', photo: 7 },
    right: { type: 'photo-full', photo: 8 },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '08 Les proches',
    left: { type: 'mosaic-3-stack', photos: [9, 10, 11] },
    right: { type: 'photo-full', photo: 12 },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPITRE II — LA CÉRÉMONIE
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 2,
    label: '09 Chapitre II',
    numeral: 'II',
    name: 'La Cérémonie',
    nameEn: 'the ceremony',
    epigraph: '« Ils ont dit oui sous un tilleul de trois cents ans, devant tout le monde, et personne n\'a pleuré pendant les vœux — seulement avant, et après. »',
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '10 La marche',
    left: {
      type: 'text-block',
      script: 'La marche',
      heading: 'Une Allée de Gravier Blanc',
      body: [
        'A short aisle of raked gravel, lined with wooden folding chairs borrowed from the village hall. The first row was for parents; the second, complicated.',
        'Margaux took her father\'s arm at the chapel door and walked at a pace neither of them had agreed on in advance. She was looking only at Antoine. He, for his part, had forgotten how to hold his own hands.',
      ],
    },
    right: { type: 'photo-full', photo: 13 },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '11 L\'arrivée',
    left: { type: 'photo-full', photo: 14 },
    right: { type: 'photo-full', photo: 15 },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '12 Les vœux',
    left: { type: 'mosaic-2', photos: [16, 17] },
    right: {
      type: 'text-block',
      script: 'Les vœux',
      heading: 'À Voix Basse, en Deux Langues',
      body: [
        'They had written their vows in both French and English, because that is how they had met — at a wedding in Bordeaux six years earlier, Antoine speaking careful, careful English to a woman who answered him in careful, careful French.',
        'Antoine spoke first. He read from a folded card and did not look up. Margaux, when her turn came, did not unfold her card at all — she had memorised it on the train down from Paris and recited it now to the chestnut leaves above their heads.',
      ],
    },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '13 Les anneaux',
    left: { type: 'photo-full', photo: 18 },
    right: { type: 'photo-full', photo: 19 },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '14 Ensemble',
    left: { type: 'mosaic-3-stack', photos: [20, 21, 22] },
    right: { type: 'photo-full', photo: 23 },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '15 Le baiser',
    left: { type: 'photo-full', photo: 24 },
    right: {
      type: 'text-block',
      script: 'Et puis',
      heading: 'Et Puis La Cour S\'Est Mise à Crier',
      body: [
        'The applause came up suddenly and from all directions, the way applause does outdoors, with no walls to give it back. A child in the second row — Antoine\'s nephew Léo, in a tie too big for him — clapped half a beat early, looked alarmed, then clapped harder.',
        'Lavender petals, thrown by hand. Bells from the village church, two kilometres away, which someone had asked the curé to ring at exactly that hour. A small dog, somewhere, barking with conviction.',
      ],
    },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPITRE III — À DEUX
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 3,
    label: '16 Chapitre III',
    numeral: 'III',
    name: 'À Deux',
    nameEn: 'just the two of us',
    epigraph: '« Nous avons emprunté une heure à la fête, et nous l\'avons dépensée dans une rangée de vignes. »',
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '17 L\'écart',
    left: {
      type: 'text-block',
      script: 'Pause',
      heading: 'Une Heure, Volée à la Journée',
      body: [
        'After the ceremony, before the dinner, we walked them out of the courtyard and down a path between two rows of vines that were three weeks from harvest. The guests stayed back. The chateau, behind us, sounded like a party already.',
        'Antoine took off his jacket and put it over her shoulders, although it was warm. Margaux rested her forehead briefly on his collarbone — the kind of pause that is not a pause, only a private way of saying yes again. We stood far back, and let them be.',
      ],
    },
    right: { type: 'photo-full', photo: 25 },
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '18 La lumière',
    left: { type: 'photo-full', photo: 26 },
    right: { type: 'photo-full', photo: 27 },
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '19 Portraits',
    left: { type: 'mosaic-2', photos: [28, 29] },
    right: { type: 'mosaic-2', photos: [30, 31] },
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '20 Leurs gens',
    left: { type: 'photo-full', photo: 32 },
    right: {
      type: 'text-block',
      script: 'Leurs gens',
      heading: 'Sa Famille, Sa Famille, et Maintenant Une',
      body: [
        'Her mother, in a dove-grey suit, who has not stopped touching her daughter\'s shoulder since the ceremony ended. His father, the only man in a bow tie, refilling everyone\'s glasses without being asked.',
        'A cousin who flew in from Montréal that morning, still in jet-lagged half-light. A small niece in a flower crown gone slightly sideways, asking — for the third time — whether the petals on the ground are hers to keep.',
      ],
    },
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '21 Groupes',
    left: { type: 'mosaic-3-stack', photos: [33, 34, 35] },
    right: { type: 'photo-full', photo: 36 },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPITRE IV — LE GRAND REPAS
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 4,
    label: '22 Chapitre IV',
    numeral: 'IV',
    name: 'Le Grand Repas',
    nameEn: 'the long table',
    epigraph: '« Une seule table, quatre-vingts couverts, et trois cents ans de pierre comme plafond. »',
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '23 Les discours',
    left: { type: 'photo-full', photo: 37 },
    right: {
      type: 'text-block',
      script: 'Les discours',
      heading: 'Quatre Discours, Trois Tomberont Bien',
      body: [
        'Margaux\'s brother went first — three minutes, two jokes, one quiet sentence at the end that made the room go still. Antoine\'s best man followed, in English, with a story about a snowboarding trip that nobody had been promised would stay clean and which, in the end, did not.',
        'The bride\'s mother went third, holding the microphone with both hands. She spoke for four minutes about a small girl who used to refuse to wear dresses and is now, somehow, this woman in a long ivory one. Antoine\'s father went last, briefly, in his best English: « To Margaux. We are very lucky. »',
      ],
    },
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '24 La table',
    left: { type: 'mosaic-2', photos: [38, 39] },
    right: { type: 'photo-full', photo: 40 },
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '25 Le dîner',
    left: { type: 'photo-full', photo: 41 },
    right: { type: 'photo-full', photo: 1 },
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '26 Petits riens',
    left: { type: 'mosaic-3-stack', photos: [2, 3, 4] },
    right: {
      type: 'text-block',
      script: 'Petits riens',
      heading: 'Les Choses Que La Mémoire Garde',
      body: [
        'A row of candles, lit slowly by the same waiter, each one from the flame of the one before. A grandfather in a navy suit dancing — briefly, beautifully — with a granddaughter standing on his shoes.',
        'A bottle of Cahors left half-finished on the stone wall, never quite found again. A linen napkin with someone\'s phone number written on it in pencil. A guest sleeping, sitting up, against a column at one in the morning.',
      ],
    },
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '27 Le soir',
    left: { type: 'photo-full', photo: 5 },
    right: { type: 'photo-full', photo: 6 },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPITRE V — LA NUIT TOMBÉE
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 5,
    label: '28 Chapitre V',
    numeral: 'V',
    name: 'La Nuit Tombée',
    nameEn: 'into the evening',
    epigraph: '« La lumière est devenue ambrée, puis presque rien — et c\'est à ce moment-là que la musique a vraiment commencé. »',
  },

  {
    kind: 'photo-spread',
    chapter: 5,
    label: '29 Première danse',
    left: {
      type: 'text-block',
      script: 'Leur chanson',
      heading: 'La Première Danse',
      body: [
        'It was a song you have probably never heard. A French ballad from 1973, a little out of fashion, that Antoine\'s mother used to play in the car on the long August drives down from Paris when he was seven years old.',
        'He held a hand at the small of her back. She rested her cheek against his collar and closed her eyes. The eighty-odd guests, kindly and without anyone asking, looked elsewhere for the duration of a verse and a chorus.',
      ],
    },
    right: { type: 'photo-full', photo: 7 },
  },

  {
    kind: 'photo-spread',
    chapter: 5,
    label: '30 La piste',
    left: { type: 'photo-full', photo: 8 },
    right: { type: 'photo-full', photo: 9 },
  },

  {
    kind: 'photo-spread',
    chapter: 5,
    label: '31 Tard',
    left: { type: 'mosaic-2', photos: [10, 11] },
    right: {
      type: 'text-block',
      script: 'Tard',
      heading: 'Et Voilà',
      body: [
        'At some hour none of them could later agree on — half past two, maybe three — the last song ended and was not replaced. The candles on the long table had burned down to short, smoke-coloured stumps. Someone had taken off their shoes.',
        'Margaux and Antoine walked back across the courtyard the way they had walked across it that afternoon, a lifetime ago. A heavy oak door closed behind them. The story did not end. It only paused — to begin, very softly, its long second chapter.',
      ],
    },
  },

  {
    kind: 'photo-spread',
    chapter: 5,
    label: '32 Dernière',
    left: { type: 'photo-full', photo: 12 },
    right: { type: 'photo-full', photo: 13 },
  },

  // ─────────────────────────────────────────────────────────────
  // BACK MATTER
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'signature',
    label: '33 Livre d\'or',
  },

  {
    kind: 'colophon',
    label: '34 Colophon',
    left: {
      type: 'text-block',
      script: 'Avec tout notre amour',
      heading: 'Un Mot',
      body: [
        'This album was made for Margaux and Antoine — and for every person who came down to the Lot, by car, by train, from Paris, from London, from Montréal, to stand in the courtyard on the day.',
        'May you turn these pages slowly, on quiet evenings, in winters far from here, when one of you misses the other and the other is only in the next room. Remember the stone. Remember the light. Remember each other.',
      ],
      align: 'center',
    },
    right: { type: 'monogram-page', text: 'M & A' },
  },

  {
    kind: 'back-cover',
    label: '35 Back Cover',
  },
];

window.SPREADS = SPREADS_MA;
window.photoPath = pMA;
