// Spread definitions for Sofia & Lucas — A Wedding Story
// Each spread = two facing pages (left + right).
// Photos referenced by number → remote URLs (the supplied 41 images).

const PHOTOS_SL = [
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a07d2747625ad8abcc7.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0754d7dff212d2a300.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0754d7dff212d2a2fc.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a07d2747625ad8abcb4.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a07e05851175c87e273.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0754d7dff212d2a2f1.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a07e05851175c87e269.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0654d7dff212d2a2cd.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a06d2747625ad8abca6.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a06e05851175c87e253.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a06d2747625ad8abca4.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a06e05851175c87e251.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0660ad4b061938487f.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a05d2747625ad8abc88.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a05e05851175c87e225.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a05d2747625ad8abc7d.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a05e05851175c87e222.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0560ad4b0619384867.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0554d7dff212d2a2af.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a040397b3655e6c625f.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a040397b3655e6c625c.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a040397b3655e6c625d.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a04e05851175c87e1fb.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a04e05851175c87e1f1.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a03d2747625ad8abc1e.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a030397b3655e6c6248.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0360ad4b0619384845.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a030397b3655e6c6249.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0360ad4b0619384843.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a020397b3655e6c6206.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a02d2747625ad8abbe3.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a02e05851175c87e1b1.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a02d2747625ad8abbe2.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0260ad4b0619384808.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0260ad4b0619384807.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a01e05851175c87e1a1.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0154d7dff212d2a20d.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a01d2747625ad8abbae.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a01d2747625ad8abbaf.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a0160ad4b06193847ed.png',
  'https://assets.cdn.filesafe.space/BdTJ01Xs0apORbIrBlPB/media/6a151a01e05851175c87e1a2.png',
];

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

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

  {
    kind: 'title',
    label: '01 Title',
    left: { type: 'blank' },
    right: {
      type: 'title-page',
      monogram: 'S & L',
      title: 'Sofia & Lucas',
      subtitle: 'A Wedding Story',
      date: 'The Fourteenth of June  ·  Two Thousand Twenty-Six',
      place: 'A Quiet Garden  ·  Late Spring',
    },
  },

  {
    kind: 'dedication',
    label: '02 Prologue',
    left: {
      type: 'prologue',
      script: 'a beginning',
      body: [
        'They wanted something quiet. Linen, soft light, a handful of people who really knew them. Nothing to perform — only a day to mean what it said.',
        'They found a garden at the edge of a small town, and they made a wedding the colour of the morning: blush, almond, pale rose, the kind of pink you only notice once you are looking for it. They built it in whispers, and every whisper meant the same thing.',
      ],
    },
    right: { type: 'photo-full', photo: 1, caption: 'A morning the colour of a held breath.' },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPTER I — GETTING READY
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 1,
    label: '03 Chapter I',
    numeral: 'I',
    name: 'Getting Ready',
    epigraph: '“The bouquet arrived before the bride did, and waited patiently on the sill like a small pink rumour.”',
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '04 Morning',
    left: {
      type: 'text-block',
      script: 'morning',
      heading: 'A Room Full of Pale Things',
      body: [
        'Sofia woke early and refused to admit it. Lucas, somewhere on the other side of the house, was already dressed and already, charmingly, nervous.',
        'Her sister brought tea in two cups. The dress, on its hanger, swung very slowly in the breeze from the open window — as if the day itself were rehearsing.',
      ],
    },
    right: { type: 'photo-full', photo: 2 },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '05 The dress',
    left: { type: 'photo-full', photo: 3 },
    right: { type: 'photo-full', photo: 4 },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '06 Details',
    left: { type: 'mosaic-2', photos: [5, 6] },
    right: {
      type: 'text-block',
      script: 'small things',
      heading: 'Soft Pink, Almost White',
      body: [
        'A ribbon, untied and then tied again. A row of slim glasses, waiting. Earrings on a saucer. The kind of small, almost-ceremonial objects that gather around a wedding morning as if drawn by gravity.',
        'A single peony, already losing one petal. A folded note on a writing desk, addressed in pencil. The small accidental still-lifes of getting ready.',
      ],
    },
  },

  {
    kind: 'photo-spread',
    chapter: 1,
    label: '07 The look',
    left: { type: 'photo-full', photo: 7 },
    right: { type: 'photo-full', photo: 8 },
  },

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

  // ─────────────────────────────────────────────────────────────
  // CHAPTER II — THE CEREMONY
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 2,
    label: '09 Chapter II',
    numeral: 'II',
    name: 'The Ceremony',
    epigraph: '“They said yes under a soft sky, in a small clearing, in front of everyone who had ever loved them.”',
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '10 Walking',
    left: {
      type: 'text-block',
      script: 'the walk',
      heading: 'Down a Path of Pale Petals',
      body: [
        'A short aisle, lined on either side with white folding chairs. Tall grasses on the edge of the lawn moving in a wind too gentle to feel.',
        'Sofia took her father’s arm and pretended, very briefly, not to be crying. The guests stood. Somebody, somewhere, exhaled. A song they had chosen months ago began, and meant exactly what they had hoped it would.',
      ],
    },
    right: { type: 'photo-full', photo: 13 },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '11 Aisle',
    left: { type: 'photo-full', photo: 14 },
    right: { type: 'photo-full', photo: 15 },
  },

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '12 The vow',
    left: { type: 'mosaic-2', photos: [16, 17] },
    right: {
      type: 'text-block',
      script: 'the vow',
      heading: 'A Promise, in a Quiet Voice',
      body: [
        'They had written their vows together one night, and apart on another, and together again, until neither of them was quite sure which lines were whose.',
        'Lucas said her name first, and then forgot the next sentence, and then remembered it. Sofia laughed, the small laugh she keeps for the people she loves most, and answered with one careful word and a long, steady look.',
      ],
    },
  },

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

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

  {
    kind: 'photo-spread',
    chapter: 2,
    label: '15 First kiss',
    left: { type: 'photo-full', photo: 24 },
    right: {
      type: 'text-block',
      script: 'and then',
      heading: 'And Then the Garden Cheered',
      body: [
        'The applause came in small waves, the way applause always does outdoors. Confetti — pink, ivory, the colour of a peach in a market — floated for a long, surprised moment in the air.',
        'A child in the front row clapped a half-beat late and then a half-beat early and then, all at once, exactly on time. He turned to his mother for confirmation. She nodded. He clapped harder.',
      ],
    },
  },

  // ─────────────────────────────────────────────────────────────
  // CHAPTER III — PORTRAITS
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 3,
    label: '16 Chapter III',
    numeral: 'III',
    name: 'Just the Two of Us',
    epigraph: '“They borrowed a quiet hour from the wedding and spent it on each other, in a soft pink corner of the afternoon.”',
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '17 Apart',
    left: {
      type: 'text-block',
      script: 'afterwards',
      heading: 'An Hour, Borrowed Back',
      body: [
        'The photographer walked them away from the house, past the long table, past the bar already half set, and into a corner of the garden the guests had not yet found.',
        'Lucas said something nobody else heard. Sofia rested her forehead briefly on his shoulder — the kind of pause that is not a pause at all, only a private way of saying yes again. The camera, doing its job, kept its respectful distance.',
      ],
    },
    right: { type: 'photo-full', photo: 25 },
  },

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '18 Light',
    left: { type: 'photo-full', photo: 26 },
    right: { type: 'photo-full', photo: 27 },
  },

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

  {
    kind: 'photo-spread',
    chapter: 3,
    label: '20 People',
    left: { type: 'photo-full', photo: 32 },
    right: {
      type: 'text-block',
      script: 'their people',
      heading: 'Her People, His People, the New People',
      body: [
        'A maid of honour in a long, slow-falling dress. A best man with a folded speech in his jacket pocket that he had practiced, very seriously, in the hotel mirror that morning.',
        'A grandmother in pearls, who has been quietly crying since the ceremony. A small niece in a flower crown gone slightly sideways, asking — for the third time — whether she is allowed to keep the petals.',
      ],
    },
  },

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

  // ─────────────────────────────────────────────────────────────
  // CHAPTER IV — THE RECEPTION
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 4,
    label: '22 Chapter IV',
    numeral: 'IV',
    name: 'The Long Table',
    epigraph: '“The table was the colour of the morning, and so was everything on it, and so were the people around it, in a way.”',
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '23 Speeches',
    left: { type: 'photo-full', photo: 37 },
    right: {
      type: 'text-block',
      script: 'the toast',
      heading: 'Speeches, in Order of Tears',
      body: [
        'Her sister went first — short, funny, and devastating in the last line, in the way only a sister can manage. The best man followed, with two jokes that landed and one that, gracefully, he chose to skip.',
        'Sofia’s mother went last. She held the microphone in both hands, looked at her daughter, and spoke for three quiet minutes about a small girl who used to braid her own hair badly and is now, somehow, this woman in a long pale dress.',
      ],
    },
  },

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

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '25 Dinner',
    left: { type: 'photo-full', photo: 41 },
    right: { type: 'photo-full', photo: 1 },
  },

  {
    kind: 'photo-spread',
    chapter: 4,
    label: '26 Faces',
    left: { type: 'mosaic-3-stack', photos: [2, 3, 4] },
    right: {
      type: 'text-block',
      script: 'the small things',
      heading: 'The Small, Particular Wonders',
      body: [
        'A row of tea lights, lit very slowly by the same waiter, each from the flame of the one before. A grandfather in a soft pink tie, dancing — briefly, beautifully — with a granddaughter standing on his shoes.',
        'A jar of jam wrapped in linen as a favour, with a small handwritten card. A glass of wine on a stone wall, left half-full and never quite found again.',
      ],
    },
  },

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

  // ─────────────────────────────────────────────────────────────
  // CHAPTER V — INTO THE EVENING
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'chapter-opener',
    chapter: 5,
    label: '28 Chapter V',
    numeral: 'V',
    name: 'Into the Evening',
    epigraph: '“The light went pink, and then peach, and then almost nothing at all — and that was when the music finally started.”',
  },

  {
    kind: 'photo-spread',
    chapter: 5,
    label: '29 First dance',
    left: {
      type: 'text-block',
      script: 'their song',
      heading: 'Their Song',
      body: [
        'It was nothing famous. A slow song they had once played in a kitchen at three in the morning, in the first apartment they ever lived in together, when neither of them had any furniture and somehow it had still felt like home.',
        'Lucas put a hand on the small of her back. Sofia rested her cheek against his collar. The rest of the garden — kindly, and without being asked — looked elsewhere for the duration of a verse and a chorus.',
      ],
    },
    right: { type: 'photo-full', photo: 7 },
  },

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

  {
    kind: 'photo-spread',
    chapter: 5,
    label: '31 Late',
    left: { type: 'mosaic-2', photos: [10, 11] },
    right: {
      type: 'text-block',
      script: 'and so',
      heading: 'And So',
      body: [
        'At some hour none of them could later agree on, the last song ended and was not replaced. The candles on the long table had burned down to a soft, smoke-coloured silence.',
        'Sofia and Lucas walked back through the garden the same way they had walked down it, a lifetime ago, that afternoon. A door closed quietly 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 Final',
    left: { type: 'photo-full', photo: 12 },
    right: { type: 'photo-full', photo: 13 },
  },

  // ─────────────────────────────────────────────────────────────
  // BACK MATTER
  // ─────────────────────────────────────────────────────────────
  {
    kind: 'signature',
    label: '33 Signatures',
  },

  {
    kind: 'colophon',
    label: '34 Colophon',
    left: {
      type: 'text-block',
      script: 'with love',
      heading: 'A Note',
      body: [
        'This album was made for Sofia and Lucas — and for every person who travelled, in any direction, to stand among the pale flowers on the day.',
        'May you turn its 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 garden. Remember the light. Remember each other.',
      ],
      align: 'center',
    },
    right: { type: 'monogram-page', text: 'S & L' },
  },

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

window.SPREADS = SPREADS_SL;
window.photoPath = pSL;
