/* Nicecard demo — "Verdure" (青绿线稿) invitation style. Everything is scoped under .nci--verdure,
   .nci-cover--verdure and .nci-float--verdure so the other styles are untouched; new classes use the
   vrd- prefix. The page is a size container and every measurement is in cqw, so the letter keeps its
   proportions in the 372px phone frame, the 390px editor canvas and a 390px phone.
   One ink for the drawings and another for the words. Every drawing, rule and frame is a light leaf
   green (--vrd-line, #8fb07c — decorative only, never a word); every word is a deeper garden green that
   clears 4.5:1 on the cream stock: --vrd-ink #41593a is 7.3:1 and --vrd-ink-2 #5b7350 is 4.9:1. The
   smallest type on the page is max(10px, 2.5cqw). */

/* ═════════════ MATERIALS — the one swap point ═════════════
   Every botanical drawing the page uses from the owner's coming material kit is named here and only
   here; the rules below paint .vrd-mat elements through these properties alone. Each value is a full
   mask-layer list (the art is black ink on transparency, tinted --vrd-line through the mask), with its
   aspect ratio beside it and, for the oval, the opening a photograph sits in.
   Interim values are drawn in code (the SVGs inline below) until the kit arrives. To swap one in,
   replace the value with the file, e.g.
     --vrd-bot-frame-oval: url(assets/line/bot-frame-oval.webp) center / 100% 100% no-repeat;
   and set its -r ratio (and, for the oval, its hole insets) to the new drawing's own.
     --vrd-bot-frame-oval  → assets/line/bot-frame-oval.webp  (floral oval wreath frame; interim = SVG olive wreath)
                              story photo, the countdown, the closing photo
     --vrd-bot-corner      → assets/line/bot-corner.webp      (corner flower cluster, drawn for the bottom-left corner)
                              the cover print's foot, the letter's and the reply's lower corners
     --vrd-bot-garland     → assets/line/bot-garland.webp     (horizontal floral garland divider)
     --vrd-bot-sprig       → assets/line/bot-sprig.webp       (lily of the valley) cover, specimen, venue
     --vrd-bot-butterfly   → assets/line/bot-butterfly.webp   cover, notebook, notes
     --vrd-paper-grain     — no kit file; the stock's fibre stays a CSS noise tile.
   Deliberately no bot-frame-arch: the arched window with columns and a bow is Bleu Toile's cover. This
   cover is a plain low-arched print drawn in CSS (.vrd-print), dressed with the corner, the sprig and
   the butterfly.
   The line kit's existing pieces (bouquet, rings, candles, cake, couple-walking, couple-arch,
   wedding-attire, sparkles, frame-scalloped) come in through NC.inv.Ink and are not materials. */
.nci--verdure,
.nci-cover--verdure {
  /* ↓ interim drawings — generated; replace each value with its kit file (see the list above) */
  --vrd-bot-frame-oval: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 400'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M171.5 375.3A124 176 0 0 1 122.1 30.5M143.5 377.8C135 378.9 126.6 369.8 122.5 359.7C132.1 360.9 141.4 368.8 143.5 377.8M140.9 375.7Q133 368.8 126.7 363.3M143.5 377.8C141 384.1 132.5 386.3 124.6 384C129 378.1 137 374.7 143.5 377.8M141.2 378.5Q134.1 380.9 128.4 382.8M130.1 375.7C126.3 384.2 114.4 389.5 102.9 387.5C109.3 379.4 120.7 372.6 130.1 375.7M126.8 377Q116.5 381.6 108.3 385.2M130.1 375.7C123 377.2 116 370.9 113.4 362.5C121.2 362.9 129.1 368.1 130.1 375.7M128.1 374.1Q121.8 369.1 116.7 365.1M115.7 371.1C107.3 369.7 102 358.8 101.1 348C109.8 351.9 116.3 362 115.7 371.1M113.9 368.4Q108.3 359.6 104 352.6M103.1 364.9C97.3 370.9 85.6 371.7 76.5 366.5C84.4 361.7 96.2 359.4 103.1 364.9M99.9 365Q89.8 365.7 81.8 366.2M90.4 356.4C82.4 352.8 79.6 340.7 81.4 329.8C89.1 335.8 93.3 347.4 90.4 356.4M89.3 353.2Q85.8 343.1 83.2 335.1M90.4 356.4C85.4 361.1 76.6 359.6 70.3 354.1C76.8 350.6 85.7 350.8 90.4 356.4M88 356.1Q80.4 355.2 74.4 354.6M90.4 356.4L87 358.5M84.6 364A3.4 4.8 -122.1 1 0 81 358.3A3.4 4.8 -122.1 1 0 84.6 364M79.8 347C72.8 352.3 60.5 351.3 51.8 344.4C60.8 340.6 73.3 340.2 79.8 347M76.4 346.6Q65.8 345.7 57.4 345M79.8 347C73.3 344.6 70.9 336 73.1 327.9C79.2 332.3 82.8 340.4 79.8 347M79 344.7Q76.4 337.5 74.5 331.7M68.7 334.9C62.8 329.7 63.7 318.5 68.2 309.6C73.2 316.9 73.6 328 68.7 334.9M68.6 331.9Q68.4 322.3 68.3 314.7M57.6 319.4C50.7 322.5 40.5 319.2 34.5 311.6C42.9 310.2 53.6 312.3 57.6 319.4M54.9 318.4Q46.1 315.5 39.1 313.2M49.5 305.1C45.2 298.8 48.7 288.4 55.1 281.1C58 289.1 55.8 299.8 49.5 305.1M50.1 302.2Q52.2 293.1 54 285.9M41 285.9C32.6 287.3 22.7 280.6 18.4 270.7C27.9 271.6 38.6 277.1 41 285.9M38.3 284Q29.7 278.3 22.9 273.8M41 285.9C36.6 280.9 38.3 272.5 43.9 266.5C47.1 273 46.6 281.6 41 285.9M41.3 283.6Q42.4 276.2 43.3 270.4M41 285.9L44 283.3M45.6 277.4A3.4 4.8 49.1 1 0 50 282.6A3.4 4.8 49.1 1 0 45.6 277.4M34.4 265.6C30.4 258.2 35.3 247.3 43 240.2C45.3 249.3 41.8 260.5 34.4 265.6M35.3 262.5Q38.7 252.9 41.3 245.3M34.4 265.6L30.4 265.2M25.1 268.2A3.4 4.8 -85.3 1 0 25.7 261.4A3.4 4.8 -85.3 1 0 25.1 268.2M29.9 245.9C21.5 245.9 13 237.7 10.4 227.4C19.5 229.7 29 236.9 29.9 245.9M27.6 243.6Q20.2 236.6 14.3 231.1M27 224.5C25.6 217.2 32.5 209.2 41 205.1C40.5 213.4 34.6 222.1 27 224.5M28.6 222.1Q34 214.8 38.2 209M26 203C18.8 201.2 13.3 192.3 13.2 183C20.5 186.9 27.1 195.1 26 203M24.5 200.5Q19.6 192.9 15.8 187M26 203C23.3 197.8 26.6 191 32.5 187.2C33.9 193.3 31.6 200.5 26 203M26.8 201.1Q29.3 195.1 31.2 190.3M26.5 185.7C25.7 178.7 32.7 171.7 41 168.4C40 176.2 33.9 184.1 26.5 185.7M28.2 183.6Q33.8 177.1 38.1 171.9M26.5 185.7C21.2 184.2 18.7 177.5 19.9 170.9C25.1 173.9 28.5 180.2 26.5 185.7M25.7 183.9Q23.2 178.3 21.3 173.8M26.5 185.7L22.9 184.1M16.9 185.2A3.4 4.8 -66.3 1 0 19.7 179A3.4 4.8 -66.3 1 0 16.9 185.2M28.5 167C22.2 164.9 17.8 156.7 18.4 148.3C24.6 152.3 30 160.1 28.5 167M27.3 164.7Q23.5 157.6 20.4 152.1M31.5 150.4C32.4 142.7 41.6 136.9 51.3 135.6C48.1 143.7 39.7 150.5 31.5 150.4M33.8 148.6Q41.4 143 47.3 138.6M36 132.7C29.4 129.4 26 119.6 27.9 110.4C34.2 115.8 38.7 125.2 36 132.7M35.1 130Q32 121.5 29.5 114.9M42.3 114.9C44 108.8 52.3 105.3 60.3 105.5C56.7 111.6 48.9 116.1 42.3 114.9M44.4 113.7Q51.3 110.2 56.7 107.4M48.9 100.1C43.7 96.9 41.9 88.6 44.1 81.3C48.8 86.2 51.7 94.3 48.9 100.1M48.3 97.9Q46.5 90.7 45.1 85.1M58.5 83.3C61.2 77.7 69.7 75.6 77.4 77.2C72.9 82.5 64.7 85.6 58.5 83.3M60.7 82.5Q67.9 80.2 73.6 78.4M58.5 83.3C55 79.8 55.9 73.6 59.6 69C62.3 73.5 62.3 79.9 58.5 83.3M58.6 81.6Q59 76.2 59.4 71.9M67.1 71.2C62.3 66.5 62.4 57 66.6 49.6C70.5 56.1 71.5 65.5 67.1 71.2M67 68.6Q66.9 60.4 66.7 53.9M67.1 71.2C68.8 66.2 75.3 64.1 81.6 65.6C78.4 70.4 72.2 73.3 67.1 71.2M68.8 70.5Q74.3 68.4 78.7 66.8M79.1 57.6C82 52.3 90.3 50.4 97.7 52.2C93.1 57.2 85.1 60 79.1 57.6M81.3 56.9Q88.4 54.9 94 53.3M79.1 57.6C77 53.4 79.7 47.9 84.5 44.8C85.6 49.8 83.7 55.6 79.1 57.6M79.8 56Q81.8 51.2 83.5 47.3M90.1 47.9C87.4 42 90.8 33.6 97.1 28.4C98.4 35.5 96.1 44.3 90.1 47.9M91 45.5Q93.6 38.2 95.7 32.3M102.6 39.4C106.9 35 115.7 35.4 122.5 39.3C116.6 42.9 107.8 43.5 102.6 39.4M105 39.4Q112.5 39.4 118.5 39.3M114.6 33.3C113.5 28.1 117.9 22 123.9 19C123.7 24.9 120 31.6 114.6 33.3M115.7 31.6Q119.3 26.1 122 21.8M122.1 30.5C124.2 27 130.1 25.3 135.4 26.2C132.1 29.6 126.4 31.8 122.1 30.5M123.7 30Q128.8 28.3 132.7 27M128.5 375.3A124 176 0 0 0 177.9 30.5M156.5 377.8C157.6 368.5 167.4 359.6 179.1 358C175.4 367.8 166.5 377.9 156.5 377.8M159.3 375.5Q167.8 367.9 174.6 361.9M156.5 377.8C163.2 374.7 171.6 379.3 176 387C168.2 388.3 159.3 385 156.5 377.8M158.8 378.9Q166.3 382.4 172.1 385.1M170.2 375.6C178.5 371.3 190.4 377.2 198.3 385.9C188.2 388.3 175.8 383.9 170.2 375.6M173.6 376.8Q184.3 380.7 192.7 383.9M182.1 372C180.7 362.9 187.9 352 198.6 347.5C197.5 357.7 191.6 369.5 182.1 372M184.1 369.1Q190.4 359.8 195.2 352.4M182.1 372C187.4 367.1 196.6 368.8 203.2 374.7C196.3 378.3 186.9 377.9 182.1 372M184.6 372.3Q192.6 373.4 199 374.2M194.8 366.1C201.7 361.2 213.1 364.9 221.4 371.8C212.6 375.2 200.9 372.8 194.8 366.1M198 366.7Q208.1 368.9 216 370.6M206.4 358.7C203.3 350.8 207.4 339.6 216 333.2C217.3 342.6 214.5 354.5 206.4 358.7M207.7 355.7Q211.3 346 214.1 338.3M206.4 358.7C210.5 353.4 219.1 353.4 226 357.7C220.4 362.1 211.8 363.3 206.4 358.7M208.8 358.6Q216.2 358.2 222.1 357.9M218.6 348.6C223.6 341.7 235.8 341.5 245.9 345.4C238.5 351.6 226.6 353.2 218.6 348.6M221.9 348.1Q232.2 347 240.4 346.1M218.6 348.6C214.8 343 217.7 334.8 224 329.6C226.4 336.4 224.7 345 218.6 348.6M219.3 346.3Q221.3 339.1 222.9 333.4M218.6 348.6L217 344.9M211.9 341.7A3.4 4.8 -23.3 1 0 218.2 339A3.4 4.8 -23.3 1 0 211.9 341.7M230.6 335.7C225.7 328.3 227.6 315.8 235.1 307.4C238.4 316.8 238 329.6 230.6 335.7M231.2 332.3Q232.9 321.6 234.2 313.1M241 321.6C244.3 314.8 255 312.8 264.5 314.8C258.9 321.3 248.6 324.4 241 321.6M243.8 320.7Q252.7 318.1 259.8 316.2M249.1 307.7C243.3 302.7 241.9 291.9 246.2 283.1C251.2 290.1 253.8 300.9 249.1 307.7M248.9 304.7Q247.7 295.4 246.7 288M249.1 307.7C250.4 301.8 257.5 298.4 264.9 299.3C261.9 305.1 255.3 309.4 249.1 307.7M251 306.7Q257 303.5 261.7 301M256.8 291.5C258.4 284.1 268.2 279.6 277.8 279.2C274 286.8 264.9 292.4 256.8 291.5M259.3 290Q267.3 285.3 273.6 281.7M262.8 275.1C256.4 271.5 253.2 261.7 255.5 252.8C261.5 258.4 265.9 267.9 262.8 275.1M262 272.4Q259.2 263.9 257 257.2M267.2 259.3C268 251.4 277.5 245.3 287.4 243.7C284.4 252.1 275.7 259.2 267.2 259.3M269.6 257.4Q277.3 251.5 283.4 246.9M270.9 241.2C263.9 239.3 258.6 230.7 258.7 221.6C265.7 225.5 272.1 233.6 270.9 241.2M269.5 238.8Q264.8 231.4 261.1 225.5M270.9 241.2L274.8 240.5M279.1 236.2A3.4 4.8 79.1 1 0 280.4 242.9A3.4 4.8 79.1 1 0 279.1 236.2M273.2 221.5C272.6 214.3 280.2 207.2 288.9 204.1C287.6 212.2 280.9 220 273.2 221.5M275.1 219.4Q281 212.8 285.8 207.6M273.2 221.5L269.6 219.8M263.6 220.9A3.4 4.8 -65.5 1 0 266.5 214.7A3.4 4.8 -65.5 1 0 263.6 220.9M274 201.5C266.1 200.5 259.2 191.8 257.9 181.8C266.1 185.1 274.2 193 274 201.5M272.1 199.1Q266 191.7 261.1 185.8M274 201.5L277.8 200.1M281.3 195.2A3.4 4.8 69.9 1 0 283.6 201.6A3.4 4.8 69.9 1 0 281.3 195.2M273.3 183.7C271.7 176.2 278.6 167.9 287.2 163.6C286.8 172.1 281.1 181.1 273.3 183.7M274.9 181.2Q280.2 173.6 284.4 167.6M273.3 183.7C267.4 183.1 263.3 176.5 263.3 169.2C269.3 171.5 274.3 177.4 273.3 183.7M272.1 181.9Q268.3 176.5 265.3 172.1M271.2 165C264.4 164.7 257.7 157.7 255.9 149.2C263.2 151.4 270.8 157.7 271.2 165M269.4 163.1Q263.6 157.1 258.9 152.4M271.2 165C268.1 160.6 270.2 153.9 275.2 149.6C277.2 155.1 276.1 162 271.2 165M271.7 163.2Q273.2 157.3 274.4 152.7M267.2 144.4C264 137.4 268.8 127.6 276.3 121.5C277.8 130 274.2 140.2 267.2 144.4M268.2 141.6Q271.7 132.9 274.5 126.1M262.1 126.9C254.8 127.8 246.6 121.4 243.1 112.7C251.3 113.7 260.3 119.2 262.1 126.9M259.9 125.2Q252.6 119.8 246.9 115.5M254.8 107.9C251.7 102.6 254.6 94.5 260 89C262 95.6 260 104 254.8 107.9M255.4 105.6Q257.4 98.4 259 92.8M254.8 107.9C250 108.7 245.5 104.4 244 98.8C249.1 99.2 254.2 102.8 254.8 107.9M253.5 106.8Q249.4 103.3 246.1 100.6M246.2 91C239.6 93.7 230.4 89.6 225 82.4C232.9 81.3 242.6 84.2 246.2 91M243.7 89.9Q235.6 86.7 229.2 84.1M246.2 91C241.5 88 240.9 80.7 244 74.6C248.1 79.1 249.7 86.2 246.2 91M245.9 89Q245.1 82.8 244.4 77.9M238.4 78.6C233.9 74.1 234.7 65.1 238.9 58.2C242.5 64.3 242.8 73.3 238.4 78.6M238.5 76.2Q238.6 68.4 238.8 62.3M229 66.3C224.2 69.5 216.2 67.6 210.8 62.7C216.9 60.6 225.1 61.5 229 66.3M226.8 65.9Q219.9 64.5 214.5 63.5M229 66.3C224.8 64.6 223.3 58.9 224.9 53.7C228.8 56.6 231.1 62 229 66.3M228.5 64.8Q226.9 60 225.7 56.2M218.2 55C212.4 51.6 210.6 42.3 212.9 34.1C218.3 39.4 221.1 48.4 218.2 55M217.5 52.5Q215.5 44.6 214 38.3M218.2 55C214.1 58.4 207.5 56.8 202.9 52.2C208.1 49.8 214.9 50.5 218.2 55M216.4 54.7Q210.6 53.6 206 52.8M206.3 45.2C201.9 49 193.7 48.1 187.7 43.9C193.5 41 201.8 40.9 206.3 45.2M204.1 45Q197 44.5 191.4 44.2M195.2 38.1C189.6 36.1 186.5 28.5 187.1 21.1C192.6 24.7 196.6 32 195.2 38.1M194.2 36.1Q191.2 29.6 188.7 24.5M183.6 32.6C180.5 36.6 173.3 37.3 167.3 34.7C171.8 31.2 178.9 29.7 183.6 32.6M181.6 32.8Q175.4 33.7 170.6 34.3M177.9 30.5C174.1 32.1 168.3 30 164.6 26.2C169.3 25.4 175.2 26.9 177.9 30.5M176.3 30Q171.2 28.3 167.3 27M150 377C140 363 124 371 134 380C140 385 146 381 150 377M150 377C160 363 176 371 166 380C160 385 154 381 150 377M149 378C144 387 146 393 138 397M151 378C155 386 159 391 157 398M147.6 377A2.4 2 0 1 0 152.4 377A2.4 2 0 1 0 147.6 377'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  --vrd-bot-frame-oval-r: 300 / 400;
  --vrd-bot-corner: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.6 186L13.7 181L14.8 176L15.9 171L16.9 166L17.8 161L18.3 156L18.7 151L18.7 146L18.5 141L18.1 136L17.4 131L16.6 126L15.6 121L14.7 116L13.8 111L13 106L12.4 101L12 96L11.9 91L12.1 86L12.5 81L13.2 76L14.1 71L15.1 66L16.2 61L17.4 56L18.5 51L19.4 46L20.2 41L20.8 36L21.1 31M22 191.5L27 191.5L32 191.2L37 190.7L42 189.8L47 188.8L52 187.7L57 186.5L62 185.5L67 184.5L72 183.8L77 183.4L82 183.2L87 183.4L92 183.8L97 184.5L102 185.4L107 186.3L112 187.3L117 188.1L122 188.8L127 189.2L132 189.4L137 189.2L142 188.8L147 188L152 187.1L157 186L162 184.8L167 183.7L172 182.7M16.9 166C16.7 160.1 23.7 155.3 30.9 153.2C29.5 159.7 23.2 165.2 16.9 166M18.5 164.4Q23.9 159.6 28.1 155.8M18.7 151C13 150.4 7.3 144.8 6.5 137.7C12.4 139.9 18.9 144.9 18.7 151M17.3 149.3Q12.6 144.3 8.9 140.3M18.1 136C17.3 130.6 23.4 125.7 29.8 123.3C29.1 129.4 23.8 134.8 18.1 136M19.4 134.4Q23.9 129.6 27.5 125.9M15.6 121C10.5 122 4 118.7 1.5 112.6C7.3 113 14.3 115.6 15.6 121M14 119.9Q8.6 116.8 4.3 114.3M13 106C12.1 101.1 17.7 96.7 23.5 94.5C23.1 100 18.2 104.9 13 106M14.2 104.6Q18.2 100.2 21.4 96.8M11.9 91C7.1 91.1 1.9 87.2 0.7 81.4C5.8 82.6 11.7 85.9 11.9 91M10.6 89.8Q6.4 86.2 3 83.4M13.2 76C13.7 71.5 19.7 69.4 25.3 69.3C23.5 73.9 18 76.6 13.2 76M14.6 75.1Q19.2 72.6 22.9 70.6M16.2 61C12 60.2 8.1 55.9 8.3 50.6C12.6 52.6 17.1 56.5 16.2 61M15.4 59.7Q12.3 55.8 9.9 52.7M19.4 46C19.7 41.9 25 40.1 30 39.9C28.6 44.1 23.7 46.5 19.4 46M20.6 45.2Q24.7 42.9 27.9 41.1M21.1 31C18.7 28.4 19.3 23.6 21.8 20C23.6 23.4 23.7 28.3 21.1 31M21.2 29.7Q21.4 25.5 21.6 22.2M42 189.8C41.5 183.9 46.1 177 53.2 174.6C52.1 181.2 48.2 188.7 42 189.8M43.4 188.1Q47.7 182.3 51 177.7M57 186.5C62.5 185 68.4 190.6 71.8 196.8C65.5 197 59.1 192.3 57 186.5M58.8 187.7Q64.4 191.6 68.8 194.8M72 183.8C72.1 178.4 76.9 172.5 83.6 171.2C82 177 77.8 183.6 72 183.8M73.5 182.4Q77.9 177.6 81.3 173.7M87 183.4C92.2 182.8 96.5 188.7 98.5 194.9C92.8 194.1 87.9 188.9 87 183.4M88.4 184.7Q92.8 189.1 96.2 192.6M102 185.4C103.2 180.6 108.7 176.4 114.9 176.9C112.2 181.7 107.2 186.6 102 185.4M103.6 184.5Q108.5 181.2 112.3 178.6M117 188.1C121.7 187.8 125.1 193.5 126.4 199.2C121.3 198.2 117.4 193.2 117 188.1M118.2 189.4Q121.8 193.6 124.5 197M132 189.4C131.8 184.9 135.3 179.9 140.7 178.9C139.7 183.7 136.8 189.2 132 189.4M133.1 188.2Q136.4 184.2 139 180.9M147 188C151 186.6 155.1 190.8 157.4 195.5C152.8 195.9 148.4 192.3 147 188M148.3 188.8Q152.2 191.7 155.3 194M162 184.8C161.3 180.8 163.8 176.1 168.5 174.8C168.1 179.1 166.2 184.3 162 184.8M162.9 183.7Q165.3 179.8 167.2 176.8M172 182.7C173.9 179.8 178.7 179 182.8 180.5C180 183.2 175.3 184.5 172 182.7M173.3 182.4Q177.4 181.6 180.6 181M28.3 167.5A2.7 2.4 0 1 1 32.8 168.9M33.9 166.1A5.1 4.5 0 0 1 24.9 169.6M26.9 172.7A6.9 6 0 0 1 37 165.8M39.2 169.4Q42.3 178.9 29.3 176.2M31.3 175.9Q21.7 181.4 20.7 170M21.6 171.5Q12.6 165.4 24.9 161M23.5 162.2Q27.5 152.9 36.2 161.7M34.4 160.9Q45.9 161.3 38.9 171.1M55.2 175.2A1.8 1.6 0 1 1 57.3 177.3M59 176A3.4 3 0 0 1 52.5 175.5M52.4 177.8A4.6 4 0 0 1 60.9 176.7M60.7 179.4Q58.9 185.8 52.4 180.6M53.7 180.9Q46 181.4 49.8 174.5M49.8 175.6Q47 169.5 55.8 170.5M54.5 170.8Q60.4 166.6 62 174.1M61.3 173.2Q67.8 176.7 59.9 180.3M22 139.1A1.6 1.4 0 1 1 22 141.5M24.1 141.5A3.1 2.7 0 0 1 19.9 137.9M18.3 139.4A4.1 3.6 0 0 1 24.9 143M23 144.7Q17.3 148.2 16.5 141.4M17.1 142.3Q11.5 138.7 18.8 135.9M18 136.7Q20.2 131 25.5 136.1M24.4 135.7Q31.4 135.7 27.4 141.7M27.5 140.7Q29.6 146.3 21.8 145M50 149.3C55.7 147.8 54.5 154.7 49.6 151.3M49.3 151.7C52.5 156.7 45.5 157.7 47.3 152M46.8 151.7C43 156.3 40 150 45.9 149.9M46 149.4C40.4 147.2 45.5 142.4 47.4 148M48 147.9C48.3 142 54.5 145.2 49.8 148.8M46.9 150A1.12 1.12 0 1 0 49.1 150A1.12 1.12 0 1 0 46.9 150M73.5 160.3C77.6 161.4 74.4 165.2 72.5 161.4M72.2 161.5C72.4 165.7 67.7 163.9 70.8 161M70.6 160.6C66.7 162.1 67 157.1 70.7 159.2M71 158.9C68.3 155.6 73.2 154.4 72.4 158.5M72.7 158.7C75.1 155.1 77.7 159.4 73.5 159.9M71.2 160A0.8 0.8 0 1 0 72.8 160A0.8 0.8 0 1 0 71.2 160M33 128.5A3 4.4 -10 1 0 39 127.5A3 4.4 -10 1 0 33 128.5M83 173.2A3 4.2 70 1 0 85 178.8A3 4.2 70 1 0 83 173.2M38 160C35.9 153.2 39.4 144.1 47.3 139.9C47.6 147.8 45.2 157.5 38 160M39.2 157.7Q42.7 150 45.4 143.9M44 170C46.5 164 55.6 163.3 63.5 165C59.2 170.8 50.5 172.5 44 170M46.3 169.3Q53.7 167.4 59.6 166.1'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  --vrd-bot-corner-r: 1 / 1;
  --vrd-bot-garland: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 60'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M212 30L217 31L222 31.9L227 32.7L232 33.5L237 34.1L242 34.6L247 34.9L252 35L257 34.9L262 34.7L267 34.3L272 33.7L277 33L282 32.2L287 31.3L292 30.3L297 29.4L302 28.4L307 27.5L312 26.8L317 26.1L322 25.6L327 25.2L332 25L337 25L342 25.2L347 25.6L352 26.1L357 26.8L362 27.5L367 28.4L372 29.4L377 30.3L382 31.3L387 32.2L392 33M222 31.9C227 31.4 231.1 37.1 232.8 43.1C227.4 42.3 222.7 37.2 222 31.9M223.4 33.2Q227.5 37.5 230.7 40.9M232 33.5C233.1 28.7 238.5 24.6 244.6 25C242.1 29.7 237.1 34.5 232 33.5M233.5 32.5Q238.3 29.3 242 26.6M230.6 40.1A2.4 3.2 7.1 1 0 235.4 40.7A2.4 3.2 7.1 1 0 230.6 40.1M242 34.6C246.7 33.8 250.8 39.1 252.7 44.7C247.5 44.2 242.9 39.6 242 34.6M243.3 35.7Q247.4 39.6 250.6 42.7M252 35C252.4 30.3 256.9 25.9 262.6 25.4C260.9 30.2 256.9 35.4 252 35M253.3 33.9Q257.4 30.3 260.5 27.3M262 34.7C266.4 33.6 270.6 38.3 272.7 43.5C267.8 43.4 263.1 39.4 262 34.7M263.3 35.7Q267.4 39 270.6 41.8M272 33.7C271.5 29.3 274.8 24.3 280.1 22.9C279.4 27.7 276.7 33.2 272 33.7M273 32.5Q276.1 28.4 278.4 25.1M272.4 40.5A2.4 3.2 -8.1 1 0 277.2 39.8A2.4 3.2 -8.1 1 0 272.4 40.5M282 32.2C285.9 30.4 290.5 34 293.4 38.4C288.8 39.3 283.9 36.3 282 32.2M283.4 32.8Q287.7 35.3 291.1 37.2M283.4 22.7C287.5 21.6 286.7 26.5 283.2 24.1M282.9 24.4C285.2 28 280.2 28.6 281.5 24.6M281.1 24.4C278.4 27.7 276.3 23.2 280.5 23.1M280.6 22.7C276.6 21.2 280.2 17.7 281.6 21.7M282 21.7C282.2 17.4 286.6 19.8 283.3 22.3M281.2 23.2A0.8 0.8 0 1 0 282.8 23.2A0.8 0.8 0 1 0 281.2 23.2M292 30.3C291.9 26.1 295.2 21.7 300.3 20.8C299.3 25.3 296.4 30.3 292 30.3M293.1 29.2Q296.2 25.6 298.6 22.7M302 28.4C305.6 26.6 310 30 312.7 34.2C308.4 35.1 303.8 32.3 302 28.4M303.3 29Q307.4 31.2 310.6 33M312 26.8C311.4 22.9 314.1 18.4 318.7 17.1C318.3 21.4 316.1 26.3 312 26.8M312.9 25.7Q315.4 22 317.3 19M312.4 33.5A2.4 3.2 -7.6 1 0 317.1 32.9A2.4 3.2 -7.6 1 0 312.4 33.5M322 25.6C325.6 24.3 329.2 28 331.2 32.2C327.1 32.6 323.2 29.4 322 25.6M323.1 26.3Q326.6 28.8 329.3 30.9M332 25C332.1 21.3 335.2 17.6 339.7 17.3C338.6 21.1 335.9 25.4 332 25M333 24.2Q335.9 21.2 338.1 18.8M342 25.2C345.5 24.7 347.9 28.8 348.9 33C345.1 32.6 342.3 29 342 25.2M342.9 26.1Q345.5 29.1 347.5 31.5M352 26.1C352.8 22.7 356.4 20 360.4 20.7C358.7 23.9 355.4 27.3 352 26.1M353 25.5Q356.2 23.4 358.7 21.8M350.6 32.7A2.4 3.2 7.6 1 0 355.3 33.3A2.4 3.2 7.6 1 0 350.6 32.7M362 27.5C365.3 27.1 367.3 31.1 368 35C364.5 34.5 362.1 31 362 27.5M362.8 28.4Q365.1 31.2 366.8 33.5M372 29.4C372.6 26.2 375.6 23.5 379.4 24C378 27.1 375.2 30.3 372 29.4M372.9 28.8Q375.7 26.7 377.9 25.1M382 31.3C385 30.8 386.9 34.4 387.6 38C384.3 37.7 382.1 34.5 382 31.3M382.7 32Q384.8 34.6 386.4 36.7M392 33C394.3 31.2 398.2 32.1 400.9 34.4C397.9 35.7 394 35.3 392 33M393.1 33.2Q396.4 33.7 399.1 34.2M188 30L183 29L178 28.1L173 27.3L168 26.5L163 25.9L158 25.4L153 25.1L148 25L143 25.1L138 25.3L133 25.7L128 26.3L123 27L118 27.8L113 28.7L108 29.7L103 30.6L98 31.6L93 32.5L88 33.2L83 33.9L78 34.4L73 34.8L68 35L63 35L58 34.8L53 34.4L48 33.9L43 33.2L38 32.5L33 31.6L28 30.6L23 29.7L18 28.7L13 27.8L8 27M178 28.1C173 28.6 168.9 22.9 167.2 16.8C172.7 17.7 177.3 22.8 178 28.1M176.7 26.8Q172.6 22.5 169.4 19.1M168 26.5C166.7 31.3 161.1 35 155 34.4C157.8 29.7 162.9 25.2 168 26.5M166.4 27.4Q161.5 30.4 157.6 32.8M169.4 19.9A2.4 3.2 -172.9 1 0 164.6 19.3A2.4 3.2 -172.9 1 0 169.4 19.9M158 25.4C153.3 26.2 149.1 21.1 147.1 15.5C152.4 15.9 157.1 20.4 158 25.4M156.6 24.3Q152.5 20.5 149.3 17.4M148 25C147.5 29.6 142.9 34 137.1 34.3C139 29.5 143.1 24.5 148 25M146.6 26.1Q142.5 29.6 139.3 32.5M138 25.3C133.7 26.9 129.1 22.7 126.3 17.8C131.3 17.3 136.3 20.8 138 25.3M136.6 24.5Q132.1 21.6 128.7 19.2M128 26.3C128.6 30.7 125.4 35.7 120.2 37.2C120.8 32.4 123.3 26.9 128 26.3M127 27.6Q124 31.7 121.8 35.1M127.6 19.5A2.4 3.2 171.9 1 0 122.8 20.2A2.4 3.2 171.9 1 0 127.6 19.5M118 27.8C113.9 29.1 109.8 24.8 107.5 20.1C112.2 19.9 116.7 23.5 118 27.8M116.7 27Q112.7 24 109.6 21.6M119.4 18.3C123.5 17.3 122.7 22.2 119.2 19.8M118.9 20C121.2 23.6 116.2 24.3 117.5 20.2M117.1 20.1C114.4 23.3 112.3 18.9 116.5 18.8M116.6 18.4C112.6 16.8 116.2 13.4 117.6 17.4M118 17.3C118.2 13.1 122.6 15.4 119.3 18M117.2 18.8A0.8 0.8 0 1 0 118.8 18.8A0.8 0.8 0 1 0 117.2 18.8M108 29.7C108.6 33.8 105.7 38.6 100.7 40C101.3 35.5 103.6 30.2 108 29.7M107.1 30.9Q104.3 34.8 102.2 37.9M98 31.6C94.2 33 90.2 29.1 88 24.7C92.4 24.2 96.7 27.5 98 31.6M96.8 30.8Q93 28.2 90 26M88 33.2C88.2 37.2 85 41.3 80.3 42.1C81.2 37.9 83.8 33.2 88 33.2M87 34.2Q84.1 37.6 81.8 40.3M87.6 26.5A2.4 3.2 172.4 1 0 82.9 27.1A2.4 3.2 172.4 1 0 87.6 26.5M78 34.4C74.2 35.1 71.4 30.8 70.1 26.4C74.2 26.7 77.5 30.4 78 34.4M77 33.5Q74 30.4 71.7 28M68 35C67.7 38.7 64.3 42.1 59.8 42.2C61.2 38.4 64.2 34.4 68 35M67 35.8Q63.9 38.5 61.5 40.7M58 34.8C54.5 35.6 51.8 31.7 50.5 27.5C54.3 27.7 57.4 31.1 58 34.8M57 34Q54.2 31.2 52 29M48 33.9C47.6 37.3 44.5 40.5 40.3 40.4C41.6 36.9 44.4 33.2 48 33.9M47 34.6Q44.1 37.1 41.9 39.1M49.4 27.3A2.4 3.2 -172.4 1 0 44.7 26.7A2.4 3.2 -172.4 1 0 49.4 27.3M38 32.5C34.7 32.8 32.8 28.8 32.2 24.8C35.7 25.4 38 29 38 32.5M37.2 31.6Q35 28.7 33.4 26.3M28 30.6C27.6 33.8 24.6 36.7 20.8 36.3C22.1 33.2 24.8 29.8 28 30.6M27.1 31.3Q24.4 33.4 22.2 35.2M18 28.7C14.9 29.2 13.2 25.5 12.6 21.9C15.8 22.3 18 25.5 18 28.7M17.3 28Q15.3 25.3 13.7 23.2M8 27C5.7 28.8 1.8 27.9 -0.9 25.6C2.1 24.3 6 24.7 8 27M6.9 26.8Q3.6 26.3 0.9 25.8M198.6 29.6A2.2 1.9 0 1 1 202.3 30.7M203.1 28.5A4.1 3.6 0 0 1 195.9 31.3M197.5 33.8A5.5 4.8 0 0 1 205.6 28.2M207.3 31.1Q209.8 38.8 199.5 36.6M201 36.3Q193.4 40.8 192.5 31.6M193.3 32.8Q186.1 27.9 195.9 24.4M194.8 25.4Q198 17.9 204.9 24.9M203.5 24.4Q212.7 24.7 207.1 32.5M190 36C189.1 41.4 182.3 43.7 175.6 43.1C178.1 37.8 184.4 34.6 190 36M188.3 36.9Q182.8 39.6 178.5 41.7M210 36C215.1 34.1 221.5 37.1 224.4 43.1C218.5 43.7 211.6 41.5 210 36M211.7 36.9Q217.2 39.6 221.5 41.7'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  --vrd-bot-garland-r: 400 / 60;
  --vrd-bot-sprig: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 220'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M58 214C36 184 24 150 26 104C42 136 56 168 62 214M48 184Q36 156 30 118M64 214C88 190 104 160 104 124C86 150 72 180 66 214M80 188Q94 162 101 134M62 212C60 150 58 96 70 60C78 40 96 34 108 46M61 140Q72 135.6 75.3 147.7M67 159.8C66 146.1 84.6 146.1 83.5 159.8M67 159.8q2.8 3.5 5.5 0q2.8 3.5 5.5 0q2.8 3.5 5.5 0M60 112Q49.6 107.8 46.5 119.3M38.7 130.7C37.6 117.7 55.3 117.7 54.3 130.7M38.7 130.7q2.6 3.3 5.2 0q2.6 3.3 5.2 0q2.6 3.3 5.2 0M62 88Q71.4 84.2 74.2 94.6M67.2 104.9C66.2 93.2 82.2 93.2 81.3 104.9M67.2 104.9q2.4 3 4.7 0q2.4 3 4.7 0q2.4 3 4.7 0M68 68Q59.8 64.7 57.3 73.7M51.2 82.8C50.4 72.5 64.3 72.5 63.5 82.8M51.2 82.8q2 2.6 4.1 0q2 2.6 4.1 0q2 2.6 4.1 0M80 51Q87 48.2 93.1 55.9M87.8 63.6C87.1 54.8 99 54.8 98.3 63.6M87.8 63.6q1.8 2.2 3.5 0q1.8 2.2 3.5 0q1.8 2.2 3.5 0M95 43Q89.4 40.8 91.7 46.9M87.5 53.1C87 46.1 96.5 46.1 95.9 53.1M87.5 53.1q1.4 1.8 2.8 0q1.4 1.8 2.8 0q1.4 1.8 2.8 0M105.6 50.9A2.6 3.2 -20 1 0 110.4 49.1A2.6 3.2 -20 1 0 105.6 50.9'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  --vrd-bot-sprig-r: 120 / 220;
  --vrd-bot-butterfly: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 80'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M50 24C47.6 32 47.6 52 50 64C52.4 52 52.4 32 50 24ZM49 25C46 15 40 8 33 6M33 6c-2.6-.6-3.6 2.2-1.4 3.2M51 25C54 15 60 8 67 6M67 6c2.6-.6 3.6 2.2 1.4 3.2M48 32C36 12 10 6 6 16C2 28 18 44 47 44M52 32C64 12 90 6 94 16C98 28 82 44 53 44M47 44C30 46 18 56 22 66C26 76 40 70 48 54M53 44C70 46 82 56 78 66C74 76 60 70 52 54M46 36C34 26 22 20 14 18M45 40C34 36 24 34 16 32M54 36C66 26 78 20 86 18M55 40C66 36 76 34 84 32M46 48C38 52 32 58 30 64M54 48C62 52 68 58 70 64M13.9 23.2A2.2 1.6 20 1 0 18.1 24.8A2.2 1.6 20 1 0 13.9 23.2M81.9 24.8A2.2 1.6 -20 1 0 86.1 23.2A2.2 1.6 -20 1 0 81.9 24.8'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
  --vrd-bot-butterfly-r: 100 / 80;
  /* ↑ interim drawings */
  /* The photograph's opening in the oval, as insets of the frame box. */
  --vrd-oval-hole-x: 16.6%;
  --vrd-oval-hole-t: 12.6%;
  --vrd-oval-hole-b: 11.6%;
  --vrd-paper-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .32 0 0 0 0 .38 0 0 0 0 .22 0 0 0 .11 0'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)'/%3E%3C/svg%3E");
}

.nci--verdure,
.nci-cover--verdure,
.nci-float--verdure {
  --vrd-paper: #fbf8f0;
  --vrd-paper-2: #f2eee0;
  --vrd-line: #8fb07c;
  --vrd-ink: #41593a;
  --vrd-ink-2: #5b7350;
  --vrd-hair: rgba(143, 176, 124, 0.62);
  --vrd-hair-2: rgba(143, 176, 124, 0.34);
  --vrd-script: 'Pinyon Script', 'Parisienne', cursive;
  --vrd-disp: 'Cormorant Garamond', 'Noto Serif SC', Georgia, serif;
  --vrd-text: 'Spectral', 'Noto Serif SC', Georgia, serif;
  --vrd-cjk: 'Noto Serif SC', 'Cormorant Garamond', Georgia, serif;
  --nci-ink-c: var(--vrd-line);
}

.nci--verdure {
  container-type: inline-size;
  overflow-x: clip;
  overflow-y: visible;
  background-color: var(--vrd-paper);
  background-image: var(--vrd-paper-grain), linear-gradient(90deg, rgba(110, 128, 84, 0.05), transparent 12%, transparent 88%, rgba(110, 128, 84, 0.05));
  color: var(--vrd-ink);
  font-family: var(--vrd-text);
  --nci-bg: var(--vrd-paper);
  --nci-soft: var(--vrd-paper-2);
  --nci-slot-line: rgba(91, 115, 80, 0.5);
  --nci-slot-ink: var(--vrd-ink-2);
  --nci-hint: rgba(91, 115, 80, 0.45);
  --nci-sel: #41593a;
}

.nci--verdure > .nci-section {
  display: flow-root;
  padding: 0;
  text-align: center;
}

/* ───── drawings ───── */

/* A material: painted only through the --vrd-bot-* properties above. */
:is(.nci--verdure, .nci-cover--verdure) .vrd-mat {
  display: block;
  background-color: var(--vrd-line);
  -webkit-mask: var(--vrd-m);
  mask: var(--vrd-m);
  aspect-ratio: var(--vrd-r);
  pointer-events: none;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-mat--frame-oval {
  --vrd-m: var(--vrd-bot-frame-oval);
  --vrd-r: var(--vrd-bot-frame-oval-r);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-mat--corner {
  --vrd-m: var(--vrd-bot-corner);
  --vrd-r: var(--vrd-bot-corner-r);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-mat--garland {
  --vrd-m: var(--vrd-bot-garland);
  --vrd-r: var(--vrd-bot-garland-r);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-mat--sprig {
  --vrd-m: var(--vrd-bot-sprig);
  --vrd-r: var(--vrd-bot-sprig-r);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-mat--butterfly {
  --vrd-m: var(--vrd-bot-butterfly);
  --vrd-r: var(--vrd-bot-butterfly-r);
}

/* A line-kit piece. The kit is drawn with a fine pen at 900px; printed small here its line would go
   faint, so the wrapper lays a hairline of the same green around every stroke. */
.nci--verdure .vrd-drawn {
  display: block;
  filter: drop-shadow(0 0 0.3px var(--vrd-line)) drop-shadow(0 0 0.3px var(--vrd-line));
  pointer-events: none;
}

.nci--verdure .vrd-fill {
  width: 100%;
}

/* ───── shared type ───── */

:is(.nci--verdure, .nci-cover--verdure) .vrd-caps,
:is(.nci--verdure, .nci-cover--verdure) .vrd-kicker {
  font-family: var(--vrd-text);
  font-size: max(10px, 2.6cqw);
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.34em;
  text-indent: 0.34em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-head {
  padding: 0 10cqw;
}

/* A journal entry's lead-in: a short green rule before a left-hand heading, after a right-hand one. */
.nci--verdure .vrd-head--left {
  text-align: left;
}

.nci--verdure .vrd-head--right {
  text-align: right;
}

.nci--verdure :is(.vrd-head--left, .vrd-head--right) .vrd-caps {
  text-indent: 0;
}

.nci--verdure .vrd-head--left .vrd-caps::before,
.nci--verdure .vrd-head--right .vrd-caps::after {
  content: '';
  display: inline-block;
  width: 7cqw;
  height: 1px;
  margin: 0 2.6cqw 0 0;
  background: var(--vrd-line);
  vertical-align: 0.32em;
}

.nci--verdure .vrd-head--right .vrd-caps::after {
  margin: 0 0 0 2.2cqw;
}

.nci--verdure .vrd-title {
  margin-top: 2.2cqw;
  font-family: var(--vrd-disp);
  font-size: 8.6cqw;
  font-weight: 400;
  line-height: 1.12;
  color: var(--vrd-ink);
  text-wrap: balance;
}

.nci--verdure.nci--lang-zh .vrd-title {
  font-family: var(--vrd-cjk);
  font-size: 6.1cqw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.nci--verdure .vrd-caption {
  font-family: var(--vrd-disp);
  font-size: 4cqw;
  font-style: italic;
  line-height: 1.5;
  color: var(--vrd-ink-2);
  text-wrap: balance;
}

.nci--verdure.nci--lang-zh .vrd-caption {
  font-family: var(--vrd-cjk);
  font-size: 3.1cqw;
  font-style: normal;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

.nci--verdure .vrd-foot {
  margin: 8cqw 14cqw 0;
  font-family: var(--vrd-disp);
  font-size: 4.3cqw;
  font-style: italic;
  line-height: 1.55;
  color: var(--vrd-ink-2);
  text-wrap: balance;
}

.nci--verdure.nci--lang-zh .vrd-foot {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  font-style: normal;
  line-height: 1.9;
  letter-spacing: 0.05em;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-dot {
  display: inline-block;
  flex: none;
  width: 1.1cqw;
  height: 1.1cqw;
  margin: 0 2.4cqw;
  border-radius: 50%;
  background: var(--vrd-line);
  vertical-align: middle;
}

.nci--verdure .vrd-link {
  display: inline-block;
  padding-bottom: 1cqw;
  border-bottom: 1px solid var(--vrd-line);
  font-family: var(--vrd-text);
  font-size: max(10px, 2.6cqw);
  font-weight: 500;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-linkrow {
  margin-top: 7cqw;
}

.nci--verdure .vrd-garland {
  margin: 0 auto;
}

/* ───── frames ───── */

/* The cover's herbarium sheet: one box of a fixed ratio, everything in it placed in percentages so it
   scales as a whole (the guest cover sizes it by the screen's height). The print has a low arched
   head, a paper margin ruled once inside, and a soft lift off the page; the picture carries the arch
   itself (not a clipping wrapper) so the editor's outline and the crop panel follow it. The print's
   opening is cut to 3:4, the photograph's own ratio. */
:is(.nci--verdure, .nci-cover--verdure) .vrd-sheet {
  position: relative;
  aspect-ratio: 100 / 92;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-print {
  position: absolute;
  left: 10%;
  top: 0;
  width: 68%;
  height: 97.3%;
  border: 1px solid var(--vrd-line);
  border-radius: 50% 50% 0 0 / 20% 20% 0 0;
  background: var(--vrd-paper);
  box-shadow:
    0 0.4cqw 0.8cqw rgba(65, 89, 58, 0.08),
    0 1.6cqw 4cqw rgba(65, 89, 58, 0.12);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-print::before {
  content: '';
  position: absolute;
  inset: 1% 1.3%;
  border: 1px solid var(--vrd-hair);
  border-radius: 50% 50% 0 0 / 19.4% 19.4% 0 0;
  pointer-events: none;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-print-hole {
  position: absolute;
  inset: 2% 2.65%;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-print-img {
  position: absolute;
  inset: 0;
  border-radius: 50% 50% 0 0 / 18.7% 18.7% 0 0;
}

/* A pressed spray across the print's lower-left corner, a lily of the valley standing up the right
   margin with a paper strap over its stem, and a butterfly above it. */
:is(.nci--verdure, .nci-cover--verdure) .vrd-sheet-spray {
  position: absolute;
  z-index: 2;
  left: 5%;
  bottom: -2%;
  width: 34%;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-sheet-sprig {
  position: absolute;
  z-index: 2;
  right: 2.5%;
  bottom: -1%;
  width: 19%;
  transform: rotate(7deg);
  transform-origin: 50% 100%;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-sheet-strap {
  right: 5%;
  bottom: 8%;
  width: 13%;
  height: 3.6%;
  transform: rotate(-14deg);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-sheet-fly {
  position: absolute;
  z-index: 2;
  right: 5%;
  top: 12%;
  width: 13%;
  transform: rotate(16deg);
}

/* The olive wreath, its opening measured off the drawing (see --vrd-oval-hole-*). */
.nci--verdure .vrd-wreath {
  position: relative;
  aspect-ratio: var(--vrd-bot-frame-oval-r);
}

.nci--verdure .vrd-wreath-hole {
  position: absolute;
  left: var(--vrd-oval-hole-x);
  right: var(--vrd-oval-hole-x);
  top: var(--vrd-oval-hole-t);
  bottom: var(--vrd-oval-hole-b);
}

.nci--verdure .vrd-wreath-img {
  position: absolute;
  inset: 0;
  border-radius: 50%;
}

.nci--verdure .vrd-wreath-frame {
  position: absolute;
  z-index: 2;
  inset: 0;
}

/* In the editor the selection outline runs just outside a framed picture, which is where the frame's
   own lines are — so a selected picture comes up over its frame. */
.nci--verdure.nci--edit .vrd-wreath-img:is(.nci-sel, .ncs-selected-node) {
  z-index: 3;
}

/* A print mounted on the sheet: a paper margin, a soft lift off the page, and two paper straps across
   opposite corners — the way a herbarium sheet holds its specimen. */
.nci--verdure .vrd-plate {
  position: relative;
  margin: 0;
  padding: 2cqw;
  background: var(--vrd-paper);
  box-shadow:
    0 0 0 1px var(--vrd-hair-2),
    0 0.8cqw 2.6cqw rgba(65, 89, 58, 0.13);
}

.nci--verdure .vrd-plate-img {
  display: block;
  width: 100%;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-strap {
  position: absolute;
  z-index: 2;
  width: 12cqw;
  height: 3.2cqw;
  border: 1px solid var(--vrd-hair);
  background: rgba(250, 247, 238, 0.94);
  box-shadow: 0 1px 2px rgba(65, 89, 58, 0.14);
  pointer-events: none;
}

.nci--verdure .vrd-strap--a {
  left: -3.4cqw;
  top: 2.4cqw;
  transform: rotate(-44deg);
}

.nci--verdure .vrd-strap--b {
  right: -3.4cqw;
  bottom: 2.4cqw;
  transform: rotate(-44deg);
}

/* A print with a round head: one green line around an arched picture. */
.nci--verdure .vrd-archprint {
  position: relative;
  padding: 1.8cqw;
  border: 1px solid var(--vrd-line);
  border-radius: 999px 999px 0 0;
}

.nci--verdure .vrd-archprint-img {
  display: block;
  width: 100%;
  border-radius: 999px 999px 0 0;
}

/* The arched text panel of the letter and the reply: a round head the panel's own width, a second line
   inside the first, and flowers growing out of the two lower corners. */
.nci--verdure .vrd-letter,
.nci--verdure .vrd-card {
  position: relative;
  margin: 0 8cqw;
  border: 1px solid var(--vrd-line);
  border-radius: 42cqw 42cqw 0 0;
}

.nci--verdure .vrd-letter-line {
  position: absolute;
  inset: 1.6cqw;
  border: 1px solid var(--vrd-hair);
  border-radius: 40.4cqw 40.4cqw 0 0;
  pointer-events: none;
}

.nci--verdure .vrd-corner {
  position: absolute;
  z-index: 1;
  bottom: -2.2cqw;
  width: 25cqw;
}

.nci--verdure .vrd-corner--l {
  left: -2.4cqw;
}

.nci--verdure .vrd-corner--r {
  right: -2.4cqw;
  transform: scaleX(-1);
}

/* ───── cover ───── */

.nci--verdure .nci-s-cover {
  padding: 11cqw 0 14cqw;
}

.nci--verdure .vrd-sheet {
  margin-top: 6cqw;
}

/* The caps line opens the sheet like a journal heading: flush left, a short rule before it. */
:is(.nci--verdure, .nci-cover--verdure) .vrd-kicker {
  align-self: stretch;
  padding: 0 10cqw;
  text-align: left;
  text-indent: 0;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-kicker::before {
  content: '';
  display: inline-block;
  width: 7cqw;
  height: 1px;
  margin-right: 2.6cqw;
  background: var(--vrd-line);
  vertical-align: 0.32em;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-names {
  margin: 8cqw 10cqw 0;
  font-family: var(--vrd-script);
  font-size: 13.6cqw;
  font-weight: 400;
  line-height: 1.08;
  color: var(--vrd-ink);
  text-align: left;
  overflow-wrap: anywhere;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-name--a {
  display: block;
  padding-left: 3cqw;
}

/* The second name is set off to the right, under the end of the first, as a hand signs a page. */
:is(.nci--verdure, .nci-cover--verdure) .vrd-name-b {
  display: block;
  margin-top: -1.4cqw;
  padding-right: 1cqw;
  text-align: right;
}

/* The ampersand is the display serif's italic: Pinyon's own, at this size, reads as a tick. */
:is(.nci--verdure, .nci-cover--verdure) .vrd-amp {
  margin-right: 0.04em;
  font-family: var(--vrd-disp);
  font-size: 0.8em;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0;
  color: var(--vrd-ink-2);
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-names--long {
  font-size: 10cqw;
}

.nci--verdure.nci--lang-zh .vrd-names,
.nci-cover--verdure.vrd-lang-zh .vrd-names {
  margin-top: 8.5cqw;
  font-family: var(--vrd-cjk);
  font-size: 8.4cqw;
  line-height: 1.3;
  letter-spacing: 0.24em;
}

.nci--verdure.nci--lang-zh .vrd-names--long,
.nci-cover--verdure.vrd-lang-zh .vrd-names--long {
  font-size: 6.6cqw;
  letter-spacing: 0.14em;
}

.nci--verdure.nci--lang-zh .vrd-name--a,
.nci-cover--verdure.vrd-lang-zh .vrd-name--a {
  padding-left: 8cqw;
}

.nci--verdure.nci--lang-zh .vrd-name-b,
.nci-cover--verdure.vrd-lang-zh .vrd-name-b {
  margin-top: 0.6cqw;
  padding-right: 6cqw;
}

.nci--verdure.nci--lang-zh .vrd-amp,
.nci-cover--verdure.vrd-lang-zh .vrd-amp {
  margin-left: -0.2em;
  margin-right: -0.1em;
  font-size: 1.04em;
}

:is(.nci--verdure, .nci-cover--verdure) .vrd-when {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: 1.4cqw;
  margin: 6cqw 8cqw 0;
  font-family: var(--vrd-text);
  font-size: max(10px, 2.7cqw);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--vrd-ink);
}

:is(.nci--verdure, .nci-cover--verdure).vrd-lang-zh .vrd-when,
.nci--verdure.nci--lang-zh .vrd-when {
  letter-spacing: 0.14em;
}

.nci--verdure .vrd-where {
  margin: 2.4cqw 12cqw 0;
  font-family: var(--vrd-disp);
  font-size: 4.6cqw;
  font-style: italic;
  line-height: 1.45;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-where {
  font-family: var(--vrd-cjk);
  font-size: 3.3cqw;
  font-style: normal;
  letter-spacing: 0.08em;
}

/* ───── story: the letter ───── */

.nci--verdure .nci-s-story {
  padding: 4cqw 0 16cqw;
}

.nci--verdure .vrd-letter {
  padding: 25cqw 9cqw 17cqw;
}

.nci--verdure .vrd-salute {
  margin-top: 4.4cqw;
  font-family: var(--vrd-script);
  font-size: 9.4cqw;
  line-height: 1.2;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-salute {
  font-family: var(--vrd-cjk);
  font-size: 4.6cqw;
  line-height: 1.6;
  letter-spacing: 0.1em;
}

.nci--verdure .vrd-letter-body {
  margin-top: 4cqw;
  font-family: var(--vrd-disp);
  font-size: 4.5cqw;
  font-weight: 500;
  line-height: 1.66;
  white-space: pre-line;
  color: var(--vrd-ink);
  text-wrap: pretty;
}

.nci--verdure.nci--lang-zh .vrd-letter-body {
  font-family: var(--vrd-cjk);
  font-size: 3.5cqw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

.nci--verdure .vrd-garland--letter {
  width: 46cqw;
  margin: 8cqw auto 6cqw;
}

.nci--verdure .vrd-letter-day,
.nci--verdure .vrd-letter-city {
  font-size: max(10px, 2.6cqw);
  font-weight: 500;
  letter-spacing: 0.32em;
  text-indent: 0.32em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-letter-date {
  margin-top: 1.6cqw;
  font-family: var(--vrd-disp);
  font-size: 7.6cqw;
  font-style: italic;
  line-height: 1.2;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-letter-time {
  margin-top: 0.6cqw;
  font-family: var(--vrd-disp);
  font-size: 4.6cqw;
  font-variant-numeric: lining-nums;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-letter-venue {
  margin-top: 5cqw;
  font-family: var(--vrd-disp);
  font-size: 5.6cqw;
  font-weight: 600;
  line-height: 1.3;
  color: var(--vrd-ink);
  text-wrap: balance;
}

.nci--verdure .vrd-letter-city {
  margin-top: 1.4cqw;
}

.nci--verdure.nci--lang-zh :is(.vrd-letter-date, .vrd-letter-venue) {
  font-family: var(--vrd-cjk);
  font-size: 5cqw;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0.08em;
}

.nci--verdure .vrd-letter-sign {
  margin-top: 9cqw;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  font-style: italic;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-letter-names,
.nci--verdure .vrd-close-names {
  margin-top: 1cqw;
  font-family: var(--vrd-script);
  font-size: 8.8cqw;
  line-height: 1.25;
  color: var(--vrd-ink);
  overflow-wrap: anywhere;
}

.nci--verdure.nci--lang-zh :is(.vrd-letter-sign, .vrd-close-sign) {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  font-style: normal;
  letter-spacing: 0.12em;
}

.nci--verdure.nci--lang-zh :is(.vrd-letter-names, .vrd-close-names) {
  margin-top: 2.4cqw;
  font-family: var(--vrd-cjk);
  font-size: 5.4cqw;
  letter-spacing: 0.16em;
}

/* ───── story: the journal page ───── */

.nci--verdure .vrd-story {
  margin-top: 22cqw;
}

.nci--verdure .vrd-story-fig {
  position: relative;
  margin-top: 8cqw;
}

.nci--verdure .vrd-wreath--story {
  width: 62cqw;
  margin: 0 5cqw 0 auto;
}

.nci--verdure .vrd-specimen {
  position: absolute;
  z-index: 3;
  left: 4cqw;
  bottom: -2cqw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 30cqw;
}

.nci--verdure .vrd-specimen-sprig {
  width: 15cqw;
  margin-left: 5cqw;
  transform: rotate(-10deg);
}

/* A specimen label: a small card ruled twice round, the name in italic and its meaning under it, laid
   on the sheet a little askew so it only just touches the wreath. */
.nci--verdure .vrd-label {
  margin-top: -1.6cqw;
  transform: rotate(-2.5deg);
  padding: 2.4cqw 3.2cqw 2.6cqw;
  border: 1px solid var(--vrd-line);
  background: var(--vrd-paper);
  box-shadow:
    inset 0 0 0 0.8cqw var(--vrd-paper),
    inset 0 0 0 calc(0.8cqw + 1px) var(--vrd-hair-2),
    0 0.6cqw 1.6cqw rgba(65, 89, 58, 0.1);
  text-align: left;
}

.nci--verdure .vrd-label-name {
  font-family: var(--vrd-disp);
  font-size: 4.4cqw;
  font-style: italic;
  line-height: 1.2;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-label-sub {
  margin-top: 1cqw;
  font-size: max(10px, 2.55cqw);
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-label-name {
  font-family: var(--vrd-cjk);
  font-size: 4cqw;
  font-style: normal;
  letter-spacing: 0.16em;
}

.nci--verdure .vrd-story-text {
  margin: 9cqw 12cqw 0 10cqw;
  font-family: var(--vrd-disp);
  font-size: 4.5cqw;
  font-weight: 500;
  line-height: 1.66;
  text-align: left;
  white-space: pre-line;
  color: var(--vrd-ink);
  text-wrap: pretty;
}

.nci--verdure.nci--lang-zh .vrd-story-text {
  font-family: var(--vrd-cjk);
  font-size: 3.5cqw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.05em;
}

.nci--verdure .vrd-jnotes {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: start;
  gap: 7cqw;
  margin: 12cqw 9cqw 0 10cqw;
  text-align: left;
}

.nci--verdure .vrd-jnote--b {
  margin-top: 16cqw;
}

.nci--verdure .vrd-jnote-ink {
  margin-bottom: 4cqw;
}

.nci--verdure .vrd-jnote-ink--a {
  width: 15cqw;
}

.nci--verdure .vrd-jnote-ink--b {
  width: 21cqw;
}

.nci--verdure .vrd-jnote-k {
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-jnote-t {
  margin-top: 2cqw;
  font-family: var(--vrd-disp);
  font-size: 4.1cqw;
  line-height: 1.55;
  color: var(--vrd-ink);
  text-wrap: pretty;
}

.nci--verdure.nci--lang-zh .vrd-jnote-t {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* ───── countdown ───── */

.nci--verdure .nci-s-countdown {
  padding: 6cqw 0 16cqw;
}

.nci--verdure .vrd-cd-stage {
  position: relative;
  margin-top: 8cqw;
}

/* The wreath and the countdown's own box share one size, so the figures sit in the wreath's opening. */
.nci--verdure .vrd-cd-frame,
.nci--verdure .vrd-cd-wreath {
  width: 60cqw;
  aspect-ratio: var(--vrd-bot-frame-oval-r);
}

.nci--verdure .vrd-cd-frame {
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -30cqw;
}

.nci--verdure .vrd-cd-wreath {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

.nci--verdure .vrd-cd {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.nci--verdure .vrd-cd-n {
  position: relative;
  margin-top: -3cqw;
  font-family: var(--vrd-disp);
  font-size: 23cqw;
  font-weight: 300;
  font-variant-numeric: lining-nums tabular-nums;
  line-height: 1;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-cd-n--long {
  font-size: 16cqw;
}

.nci--verdure .vrd-cd-u {
  position: relative;
  margin-top: 0.4cqw;
  font-size: max(10px, 2.7cqw);
  font-weight: 500;
  letter-spacing: 0.5em;
  text-indent: 0.5em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-cd-row {
  display: flex;
  gap: 5cqw;
  margin-top: 4cqw;
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
  white-space: nowrap;
}

.nci--verdure .vrd-cd-row b {
  font-family: var(--vrd-disp);
  font-size: 4.6cqw;
  font-style: italic;
  font-weight: 400;
  font-variant-numeric: lining-nums tabular-nums;
  letter-spacing: 0;
  text-transform: none;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-cd-done {
  position: relative;
  padding: 0 14cqw;
  font-family: var(--vrd-disp);
  font-size: 8cqw;
  font-style: italic;
  line-height: 1.2;
  color: var(--vrd-ink);
}

/* The month: its name in italic, a ruled grid, and the day circled twice by a quick green pencil. */
.nci--verdure .vrd-cal {
  width: 68cqw;
  margin: 12cqw auto 0;
}

.nci--verdure .vrd-cal-m {
  font-family: var(--vrd-disp);
  font-size: 6.2cqw;
  font-style: italic;
  line-height: 1.2;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-cal-m {
  font-family: var(--vrd-cjk);
  font-size: 4.4cqw;
  font-style: normal;
  letter-spacing: 0.12em;
}

.nci--verdure .vrd-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  row-gap: 0.8cqw;
  margin-top: 3.6cqw;
  padding-top: 3cqw;
  border-top: 1px solid var(--vrd-hair);
}

.nci--verdure .vrd-cal-h {
  padding-bottom: 1.6cqw;
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  letter-spacing: 0.08em;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-cal-c {
  position: relative;
  font-family: var(--vrd-disp);
  font-size: 4cqw;
  font-variant-numeric: lining-nums;
  line-height: 1.95;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-cal-c.is-day {
  font-weight: 600;
}

.nci--verdure .vrd-cal-c.is-day::before,
.nci--verdure .vrd-cal-c.is-day::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 9cqw;
  height: 7.2cqw;
  margin: -3.6cqw 0 0 -4.5cqw;
  border: 1px solid var(--vrd-line);
  border-radius: 50%;
  transform: rotate(-14deg);
  pointer-events: none;
}

.nci--verdure .vrd-cal-c.is-day::after {
  width: 9.6cqw;
  height: 7cqw;
  margin: -3.3cqw 0 0 -4.9cqw;
  transform: rotate(9deg);
}

.nci--verdure .vrd-cd-date {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  row-gap: 1.2cqw;
  margin: 7cqw 10cqw 0;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  font-style: italic;
  line-height: 1.5;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-cd-date {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  font-style: normal;
  letter-spacing: 0.06em;
}

/* ───── schedule: one stem, the hours hanging off it ───── */

.nci--verdure .nci-s-schedule {
  padding: 6cqw 0 16cqw;
}

.nci--verdure .vrd-sched {
  position: relative;
  margin: 8cqw 8cqw 0 9cqw;
  padding: 0;
  list-style: none;
}

/* The stem, from the first joint to the last. */
.nci--verdure .vrd-sched::before {
  content: '';
  position: absolute;
  left: 2cqw;
  top: 7cqw;
  bottom: 7cqw;
  width: 1px;
  background: var(--vrd-line);
}

.nci--verdure .vrd-sched-row {
  position: relative;
  display: grid;
  grid-template-columns: 4cqw minmax(0, 1fr) 22cqw;
  align-items: center;
  gap: 4.4cqw;
  padding: 5.4cqw 0;
  text-align: left;
}

.nci--verdure .vrd-sched-node {
  width: 4cqw;
  height: 4cqw;
  border: 1px solid var(--vrd-line);
  border-radius: 50%;
  background: var(--vrd-paper);
  box-shadow: inset 0 0 0 1cqw var(--vrd-paper), inset 0 0 0 2cqw var(--vrd-line);
}

/* A pair of leaves on the stem between two hours. */
.nci--verdure .vrd-sched-row + .vrd-sched-row::before,
.nci--verdure .vrd-sched-row + .vrd-sched-row::after {
  content: '';
  position: absolute;
  top: -2.6cqw;
  width: 5.6cqw;
  height: 2.8cqw;
  border: 1px solid var(--vrd-line);
  background: linear-gradient(to bottom right, transparent calc(50% - 0.5px), var(--vrd-line) 50%, transparent calc(50% + 0.5px));
  pointer-events: none;
}

.nci--verdure .vrd-sched-row + .vrd-sched-row::before {
  left: 2cqw;
  border-radius: 0 100% 0 100%;
  transform: rotate(-24deg);
  transform-origin: 0 100%;
}

.nci--verdure .vrd-sched-row + .vrd-sched-row::after {
  left: calc(2cqw - 5.6cqw);
  top: -0.2cqw;
  border-radius: 100% 0 100% 0;
  background: linear-gradient(to bottom left, transparent calc(50% - 0.5px), var(--vrd-line) 50%, transparent calc(50% + 0.5px));
  transform: rotate(24deg);
  transform-origin: 100% 100%;
}

.nci--verdure .vrd-sched-no {
  display: block;
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  letter-spacing: 0.22em;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-sched-at {
  margin-top: 0.6cqw;
  font-family: var(--vrd-disp);
  font-size: 7.6cqw;
  font-style: italic;
  font-variant-numeric: lining-nums;
  line-height: 1.1;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-sched-t {
  margin-top: 1.2cqw;
  font-family: var(--vrd-disp);
  font-size: 4.4cqw;
  font-weight: 500;
  line-height: 1.4;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-sched-t {
  font-family: var(--vrd-cjk);
  font-size: 3.5cqw;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

.nci--verdure .vrd-sched-ink {
  justify-self: center;
  width: 19cqw;
}

/* Upright drawings are narrowed so every row stands about the same height. */
.nci--verdure .vrd-sched-ink--candles,
.nci--verdure .vrd-sched-ink--cake {
  width: 11.5cqw;
}

.nci--verdure .vrd-sched-ink--bouquet,
.nci--verdure .vrd-sched-ink--couple-walking {
  width: 15cqw;
}

.nci--verdure .vrd-sched-ink--sparkles {
  width: 14cqw;
}

.nci--verdure .vrd-garland--sched {
  width: 56cqw;
  margin-top: 8cqw;
}

/* ───── gallery: a notebook spread ───── */

.nci--verdure .nci-s-gallery {
  padding: 6cqw 0 16cqw;
}

.nci--verdure .vrd-gal-a {
  display: grid;
  grid-template-columns: 47cqw minmax(0, 1fr);
  align-items: end;
  gap: 6cqw;
  margin: 10cqw 9cqw 0 8cqw;
}

.nci--verdure .vrd-plate--tall .vrd-plate-img {
  aspect-ratio: 3 / 4.4;
}

.nci--verdure .vrd-gal-side {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  text-align: left;
}

.nci--verdure .vrd-gal-fly {
  width: 11cqw;
  margin: 0 0 3cqw auto;
  transform: rotate(-14deg);
}

.nci--verdure .vrd-caption--side {
  margin-bottom: 7cqw;
  text-align: left;
}

.nci--verdure .vrd-plate--small .vrd-plate-img {
  aspect-ratio: 4 / 5;
}

.nci--verdure .vrd-gal-b {
  margin: 15cqw 0 0;
}

.nci--verdure .vrd-gal-b .vrd-archprint {
  width: 68cqw;
  margin-left: 10cqw;
}

.nci--verdure .vrd-gal-b .vrd-archprint-img {
  aspect-ratio: 4 / 5;
}

.nci--verdure .vrd-gal-b .vrd-caption {
  max-width: 58cqw;
  margin: 4cqw 10cqw 0 auto;
  text-align: right;
}

.nci--verdure .vrd-gal-c {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 37cqw;
  align-items: center;
  gap: 5cqw;
  margin: 15cqw 10cqw 0;
}

.nci--verdure .vrd-plate--step .vrd-plate-img {
  aspect-ratio: 3 / 4;
}

.nci--verdure .vrd-verse {
  font-family: var(--vrd-disp);
  font-size: 4.6cqw;
  font-style: italic;
  line-height: 1.6;
  text-align: right;
  white-space: pre-line;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-verse {
  font-family: var(--vrd-cjk);
  font-size: 3.3cqw;
  font-style: normal;
  line-height: 2.05;
  letter-spacing: 0.06em;
}

/* ───── venue ───── */

.nci--verdure .nci-s-venue {
  padding: 6cqw 0 16cqw;
}

.nci--verdure .vrd-title--venue {
  font-size: 9.4cqw;
}

.nci--verdure.nci--lang-zh .vrd-title--venue {
  font-size: 6.6cqw;
}

.nci--verdure .vrd-addr {
  margin: 3cqw 12cqw 0;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  line-height: 1.5;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-addr {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  letter-spacing: 0.05em;
}

.nci--verdure .vrd-addr--city {
  margin-top: 1cqw;
  font-family: var(--vrd-text);
  font-size: max(10px, 2.6cqw);
  font-weight: 500;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-transform: uppercase;
}

.nci--verdure .vrd-venue-a {
  display: grid;
  grid-template-columns: 54cqw minmax(0, 1fr);
  align-items: end;
  gap: 5cqw;
  margin: 10cqw 9cqw 0;
}

.nci--verdure .vrd-archprint--sill .vrd-archprint-img {
  aspect-ratio: 3 / 4;
}

.nci--verdure .vrd-caption--venue {
  padding-bottom: 3cqw;
  text-align: left;
}

.nci--verdure .vrd-venue-b {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56cqw;
  align-items: end;
  gap: 4cqw;
  margin: 8cqw 9cqw 0;
}

.nci--verdure .vrd-venue-sprig {
  justify-self: center;
  width: 15cqw;
  transform: rotate(-8deg);
}

/* The map pressed inside the kit's scalloped frame. */
.nci--verdure .vrd-mapframe {
  position: relative;
  aspect-ratio: 1132 / 1123;
}

.nci--verdure .vrd-mapwrap {
  position: absolute;
  inset: 8%;
}

.nci--verdure .vrd-mapframe-ink {
  position: absolute;
  inset: 0;
}

.nci--verdure .nci-map {
  height: 100%;
  overflow: hidden;
  background:
    repeating-linear-gradient(90deg, transparent 0 6.6cqw, rgba(143, 176, 124, 0.3) 6.6cqw calc(6.6cqw + 1px)),
    repeating-linear-gradient(0deg, transparent 0 7.4cqw, rgba(143, 176, 124, 0.3) 7.4cqw calc(7.4cqw + 1px)),
    radial-gradient(14cqw 10cqw at 28% 74%, rgba(143, 176, 124, 0.22) 0%, transparent 72%),
    radial-gradient(10cqw 8cqw at 78% 22%, rgba(143, 176, 124, 0.18) 0%, transparent 72%),
    var(--vrd-paper-2);
}

.nci--verdure .nci-map-road {
  top: 58%;
  height: 2.4cqw;
  border-top: 1px solid var(--vrd-line);
  border-bottom: 1px solid var(--vrd-line);
  background: var(--vrd-paper);
  transform: rotate(-12deg) scaleX(1.3);
}

.nci--verdure .nci-map-pin {
  top: 34%;
  left: 50%;
  width: 4.8cqw;
  height: 4.8cqw;
  margin-left: -2.4cqw;
  background: var(--vrd-ink-2);
  box-shadow: 0 0 0 1.4cqw rgba(143, 176, 124, 0.25);
}

.nci--verdure .vrd-maps {
  display: flex;
  justify-content: center;
  gap: 8cqw;
  margin-top: 7cqw;
}

.nci--verdure .vrd-note {
  margin: 7cqw 13cqw 0;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  font-style: italic;
  line-height: 1.6;
  white-space: pre-line;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-note {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  font-style: normal;
  line-height: 1.95;
  letter-spacing: 0.05em;
}

.nci--verdure .vrd-travel {
  margin: 9cqw 11cqw 0;
  text-align: left;
}

.nci--verdure .vrd-travel-row {
  display: grid;
  grid-template-columns: 24cqw minmax(0, 1fr);
  gap: 4cqw;
  padding: 4.2cqw 0;
  border-top: 1px solid var(--vrd-hair-2);
}

.nci--verdure .vrd-travel-row:last-child {
  border-bottom: 1px solid var(--vrd-hair-2);
}

.nci--verdure .vrd-travel-k {
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-travel-v {
  font-family: var(--vrd-disp);
  font-size: 4cqw;
  line-height: 1.5;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-travel-v {
  font-family: var(--vrd-cjk);
  font-size: 3.1cqw;
  line-height: 1.85;
  letter-spacing: 0.03em;
}

/* ───── faq: what to wear, then the questions ───── */

.nci--verdure .nci-s-faq {
  padding: 6cqw 0 16cqw;
}

.nci--verdure .vrd-dress {
  display: grid;
  grid-template-columns: 28cqw minmax(0, 1fr);
  align-items: center;
  gap: 7cqw;
  margin: 9cqw 10cqw 0 9cqw;
  text-align: left;
}

.nci--verdure .vrd-dress-ink {
  width: 100%;
}

.nci--verdure .vrd-dress-lead {
  font-family: var(--vrd-disp);
  font-size: 4.4cqw;
  font-weight: 500;
  line-height: 1.6;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-dress-note {
  margin-top: 4cqw;
  font-family: var(--vrd-disp);
  font-size: 4cqw;
  font-style: italic;
  line-height: 1.5;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh :is(.vrd-dress-lead, .vrd-dress-note) {
  font-family: var(--vrd-cjk);
  font-size: 3.3cqw;
  font-style: normal;
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0.04em;
}

/* Four pressed leaves in the colours of the borders: each one is painted from its own --sw. */
.nci--verdure .vrd-swatches {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 3cqw;
  margin: 10cqw 9cqw 0;
}

.nci--verdure .vrd-swatch {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3cqw;
}

.nci--verdure .vrd-swatch {
  padding-top: 1cqw;
}

/* A leaf pointing up and to the right: rounded on two opposite corners, a stalk out of the other two. */
.nci--verdure .vrd-leaf {
  position: relative;
  width: 9.6cqw;
  height: 9.6cqw;
  border-radius: 100% 0 100% 0;
  background: var(--sw);
  box-shadow: 0 0 0 1px var(--vrd-hair);
  transform: rotate(-12deg);
}

/* The midrib, a paler line from stalk to tip, and the stalk itself in the drawing green. */
.nci--verdure .vrd-leaf::after {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(to bottom right, transparent calc(50% - 0.6px), rgba(255, 255, 255, 0.65) 50%, transparent calc(50% + 0.6px));
  pointer-events: none;
}

.nci--verdure .vrd-leaf::before {
  content: '';
  position: absolute;
  left: -3cqw;
  bottom: 0;
  width: 3cqw;
  height: 1px;
  background: var(--vrd-line);
  transform: rotate(-45deg);
  transform-origin: 100% 50%;
  pointer-events: none;
}

.nci--verdure .vrd-swatch-n {
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-swatch-n {
  letter-spacing: 0.08em;
}

.nci--verdure .vrd-faq {
  margin: 15cqw 10cqw 0;
  text-align: left;
}

.nci--verdure .vrd-faq-h {
  margin-bottom: 4cqw;
  font-family: var(--vrd-disp);
  font-size: 6.6cqw;
  font-style: italic;
  font-weight: 400;
  line-height: 1.2;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-faq-h {
  font-family: var(--vrd-cjk);
  font-size: 4.8cqw;
  font-style: normal;
  letter-spacing: 0.08em;
}

.nci--verdure .vrd-faq-item {
  padding: 4.6cqw 0;
  border-top: 1px solid var(--vrd-hair-2);
}

.nci--verdure .vrd-faq-item:last-child {
  border-bottom: 1px solid var(--vrd-hair-2);
}

.nci--verdure .vrd-faq-q {
  font-family: var(--vrd-disp);
  font-size: 4.7cqw;
  font-weight: 600;
  line-height: 1.3;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-faq-a {
  margin-top: 1.6cqw;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  line-height: 1.55;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-faq-q {
  font-family: var(--vrd-cjk);
  font-size: 3.7cqw;
  letter-spacing: 0.05em;
}

.nci--verdure.nci--lang-zh .vrd-faq-a {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  line-height: 1.85;
  letter-spacing: 0.04em;
}

/* ───── rsvp: the letter's twin ───── */

.nci--verdure .nci-s-rsvp {
  padding: 8cqw 0 16cqw;
}

.nci--verdure .vrd-card {
  padding: 27cqw 8cqw 19cqw;
  text-align: center;
}

.nci--verdure .vrd-head--card {
  padding: 0;
}

.nci--verdure .vrd-head--card .vrd-title {
  font-size: 7.6cqw;
}

.nci--verdure.nci--lang-zh .vrd-head--card .vrd-title {
  font-size: 5.8cqw;
}

.nci--verdure .vrd-by {
  margin-top: 3cqw;
  font-family: var(--vrd-disp);
  font-size: 4cqw;
  font-style: italic;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-by {
  font-family: var(--vrd-cjk);
  font-size: 3cqw;
  font-style: normal;
  letter-spacing: 0.06em;
}

.nci--verdure .vrd-form {
  position: relative;
  z-index: 2;
  margin-top: 6cqw;
  text-align: left;
}

.nci--verdure .vrd-row {
  padding: 3.4cqw 0 1.6cqw;
  border-bottom: 1px solid var(--vrd-ink-2);
}

.nci--verdure .vrd-row.is-bad,
.nci--verdure .vrd-row:has(.vrd-row-i:focus-visible) {
  border-bottom-color: var(--vrd-ink);
  box-shadow: 0 1px 0 var(--vrd-ink);
}

.nci--verdure .vrd-row-l {
  display: block;
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-row-i {
  width: 100%;
  padding: 1.4cqw 0 0.6cqw;
  border: none;
  border-radius: 0;
  background: transparent;
  font-family: var(--vrd-disp);
  font-size: 4.8cqw;
  color: var(--vrd-ink);
  outline: none;
}

.nci--verdure .vrd-row-i:focus {
  background: rgba(143, 176, 124, 0.12);
}

/* Every control on the page outlines in the word green when it has the keyboard. */
.nci--verdure :is(.vrd-choice-btn, .vrd-step button, .vrd-tag, .vrd-submit, .vrd-done-edit, .vrd-wish-post, .vrd-link):focus-visible {
  outline: 2px solid var(--vrd-ink);
  outline-offset: 2px;
}

.nci--verdure .vrd-err {
  padding-top: 1.4cqw;
  font-family: var(--vrd-disp);
  font-size: max(12px, 3.8cqw);
  font-style: normal;
  /* An error reads as one, not as the page's accent colour. */
  color: #9b3523;
}

.nci--verdure .vrd-choice {
  display: grid;
  gap: 2.6cqw;
  margin: 6cqw 0 2cqw;
}

.nci--verdure .vrd-choice-btn {
  padding: 3cqw 4cqw;
  border: 1px solid var(--vrd-ink-2);
  border-radius: 999px;
  background: transparent;
  font-family: var(--vrd-disp);
  font-size: 4.7cqw;
  font-style: italic;
  line-height: 1.3;
  color: var(--vrd-ink);
  text-align: center;
  transition: background-color 160ms, color 160ms, border-color 160ms;
}

.nci--verdure.nci--lang-zh .vrd-choice-btn {
  font-family: var(--vrd-cjk);
  font-size: 3.6cqw;
  font-style: normal;
  letter-spacing: 0.1em;
}

.nci--verdure .vrd-choice-btn[aria-pressed='true'] {
  border-color: var(--vrd-ink);
  background: var(--vrd-ink);
  color: var(--vrd-paper);
}

.nci--verdure .vrd-choice-btn:disabled {
  cursor: default;
}

.nci--verdure .vrd-row--count {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4cqw;
  padding-bottom: 3cqw;
}

.nci--verdure .vrd-step {
  display: flex;
  flex: none;
  align-items: center;
  gap: 3.6cqw;
}

.nci--verdure .vrd-step button {
  width: 8cqw;
  height: 8cqw;
  padding: 0;
  border: 1px solid var(--vrd-ink-2);
  border-radius: 50%;
  background: transparent;
  font-family: var(--vrd-disp);
  font-size: 4.6cqw;
  line-height: 1;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-step button:disabled {
  opacity: 0.35;
}

.nci--verdure .vrd-step span {
  min-width: 5cqw;
  font-family: var(--vrd-disp);
  font-size: 6.2cqw;
  font-style: italic;
  font-variant-numeric: lining-nums tabular-nums;
  text-align: center;
  color: var(--vrd-ink);
}

.nci--verdure .vrd-row--diet {
  padding-bottom: 3.6cqw;
}

.nci--verdure .vrd-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2cqw;
  margin-top: 2.6cqw;
}

.nci--verdure .vrd-tag {
  padding: 1.6cqw 3.2cqw;
  border: 1px solid var(--vrd-ink-2);
  border-radius: 999px;
  background: transparent;
  font-family: var(--vrd-text);
  font-size: max(10px, 3cqw);
  line-height: 1.3;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-tag[aria-pressed='true'] {
  border-color: var(--vrd-ink);
  background: rgba(143, 176, 124, 0.18);
  color: var(--vrd-ink);
}

.nci--verdure .vrd-tag:disabled {
  opacity: 0.45;
}

.nci--verdure .vrd-submit {
  width: 100%;
  margin-top: 8cqw;
  padding: 4.2cqw 0;
  border: none;
  border-radius: 999px;
  background: var(--vrd-ink);
  font-family: var(--vrd-text);
  font-size: max(10px, 2.8cqw);
  font-weight: 500;
  letter-spacing: 0.3em;
  text-indent: 0.3em;
  text-transform: uppercase;
  color: var(--vrd-paper);
}

.nci--verdure .vrd-submit:disabled {
  opacity: 0.55;
}

.nci--verdure .vrd-done {
  position: relative;
  z-index: 2;
  margin-top: 6cqw;
}

.nci--verdure .vrd-done-ink {
  width: 30cqw;
  margin: 0 auto;
}

.nci--verdure .vrd-done-t {
  margin-top: 5cqw;
  font-family: var(--vrd-disp);
  font-size: 6.6cqw;
  font-style: italic;
  line-height: 1.2;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-done-t {
  font-family: var(--vrd-cjk);
  font-size: 5cqw;
  font-style: normal;
  letter-spacing: 0.08em;
}

.nci--verdure .vrd-done-b {
  margin-top: 3cqw;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  line-height: 1.55;
  color: var(--vrd-ink-2);
}

.nci--verdure.nci--lang-zh .vrd-done-b {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  line-height: 1.9;
}

.nci--verdure .vrd-req {
  margin-left: 0.4em;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-choice + .vrd-err {
  margin-bottom: 2cqw;
  padding-top: 0;
}

.nci--verdure .vrd-err--server {
  padding-top: 6cqw;
}

.nci--verdure .vrd-submit[aria-busy='true'],
.nci--verdure .vrd-wish-post[aria-busy='true'] {
  opacity: 0.7;
  cursor: progress;
}

.nci--verdure .vrd-done-when {
  margin-top: 2cqw;
  font-family: var(--vrd-text);
  font-size: 2.8cqw;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-done-edit {
  margin-top: 6cqw;
  padding: 0 0 1cqw;
  border: none;
  border-bottom: 1px solid var(--vrd-line);
  background: none;
  font-family: var(--vrd-text);
  font-size: max(10px, 2.6cqw);
  font-weight: 500;
  letter-spacing: 0.24em;
  text-indent: 0.24em;
  text-transform: uppercase;
  color: var(--vrd-ink);
}

/* ───── wishes: notes in the margin, then the close ───── */

.nci--verdure .nci-s-wishes {
  padding: 2cqw 0 0;
}

.nci--verdure .vrd-wish-fly {
  width: 12cqw;
  margin: 0 15cqw 3cqw auto;
  transform: rotate(-12deg);
}

.nci--verdure .vrd-wishform {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3cqw;
  margin: 9cqw 12cqw 0;
  text-align: left;
}

.nci--verdure .vrd-wish-in {
  width: 100%;
  padding: 2.6cqw 0;
  border: none;
  border-bottom: 1px solid var(--vrd-ink-2);
  border-radius: 0;
  background: transparent;
  font-family: var(--vrd-disp);
  font-size: 4.4cqw;
  color: var(--vrd-ink);
  outline: none;
}

.nci--verdure .vrd-wish-in::placeholder {
  font-style: italic;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-wish-in:focus-visible {
  border-bottom-color: var(--vrd-ink);
  box-shadow: 0 1px 0 var(--vrd-ink);
}

/* The button comes after the note, on its own line at the right — in reading order and tab order. */
.nci--verdure .vrd-wish-err {
  padding-top: 0;
}

.nci--verdure .vrd-wish-post {
  justify-self: end;
  margin-top: 1.4cqw;
  padding: 2cqw 5.4cqw;
  border: 1px solid var(--vrd-ink-2);
  border-radius: 999px;
  background: transparent;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  font-style: italic;
  line-height: 1.3;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-wish-post {
  font-family: var(--vrd-cjk);
  font-size: 3.4cqw;
  font-style: normal;
}

.nci--verdure .vrd-wish-post:disabled {
  opacity: 0.55;
}

.nci--verdure .vrd-wishes {
  margin: 9cqw 12cqw 0;
  text-align: left;
}

/* Each note hangs off a leaf in the margin. */
.nci--verdure .vrd-wish {
  position: relative;
  padding: 4.6cqw 0 4.6cqw 8cqw;
  border-top: 1px solid var(--vrd-hair-2);
}

.nci--verdure .vrd-wish::before {
  content: '';
  position: absolute;
  left: 0;
  top: 6.4cqw;
  width: 4.4cqw;
  height: 2.2cqw;
  border: 1px solid var(--vrd-line);
  border-radius: 0 100% 0 100%;
  transform: rotate(-20deg);
}

.nci--verdure .vrd-wish-text {
  font-family: var(--vrd-disp);
  font-size: 4.6cqw;
  font-style: italic;
  line-height: 1.45;
  color: var(--vrd-ink);
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.nci--verdure.nci--lang-zh .vrd-wish-text {
  font-family: var(--vrd-cjk);
  font-size: 3.5cqw;
  font-style: normal;
  line-height: 1.85;
  letter-spacing: 0.04em;
}

.nci--verdure .vrd-wish-from {
  margin-top: 2cqw;
  font-size: max(10px, 2.5cqw);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--vrd-ink-2);
}

.nci--verdure .vrd-wish-empty {
  padding: 5cqw 0;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  font-style: italic;
  color: var(--vrd-ink-2);
}

/* Noto Serif SC has no italic, and a slanted CJK face is a browser's guess, not a design. */
.nci--verdure.nci--lang-zh .vrd-wish-empty,
.nci--verdure.nci--lang-zh .vrd-wish-in::placeholder {
  font-family: var(--vrd-cjk);
  font-size: 3.2cqw;
  font-style: normal;
  letter-spacing: 0.05em;
}

.nci--verdure .vrd-close {
  margin-top: 8cqw;
  padding-bottom: 4cqw;
}

.nci--verdure .vrd-wreath--close {
  width: 56cqw;
  margin: 0 auto;
}

.nci--verdure .vrd-close-line {
  margin: 6cqw 12cqw 0;
  font-family: var(--vrd-disp);
  font-size: 7.2cqw;
  font-style: italic;
  line-height: 1.25;
  color: var(--vrd-ink);
}

.nci--verdure.nci--lang-zh .vrd-close-line {
  font-family: var(--vrd-cjk);
  font-size: 5.2cqw;
  font-style: normal;
  line-height: 1.6;
  letter-spacing: 0.14em;
}

.nci--verdure .vrd-close-sign {
  margin-top: 5cqw;
  font-family: var(--vrd-disp);
  font-size: 4.2cqw;
  font-style: italic;
  color: var(--vrd-ink-2);
}

/* ───── Guest cover overlay ─────
   The page's own first screen, with the way in under the date. The sheet is sized against the screen's
   height as well as its width, so on a short phone it gives up size rather than push the button off
   the screen — and before it does, the names come down to one line (see the query below). The overlay
   is a size container, so the type keeps sizing in cqw. */

.nci-cover--verdure {
  container-type: size;
  display: block;
  padding: 0;
  overflow: hidden;
  background-color: var(--vrd-paper);
  background-image: var(--vrd-paper-grain), linear-gradient(90deg, rgba(110, 128, 84, 0.05), transparent 12%, transparent 88%, rgba(110, 128, 84, 0.05));
  color: var(--vrd-ink);
  font-family: var(--vrd-text);
  text-align: center;
}

.nci-cover--verdure .vrd-cv-body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  padding: 10cqw 0 9cqw;
}

.nci-cover--verdure .vrd-cv-art {
  display: flex;
  flex: 1 1 auto;
  align-items: center;
  justify-content: center;
  min-height: 0;
  width: 100%;
  margin: 4cqw 0 0;
}

.nci-cover--verdure .vrd-sheet--cv {
  flex: none;
  width: auto;
  height: min(100%, 92cqw);
}

.nci-cover--verdure .vrd-names {
  align-self: stretch;
  margin-top: 6cqw;
}

.nci-cover--verdure .vrd-when {
  margin-top: 4cqw;
}

.nci-cover--verdure .vrd-cv-open {
  margin-top: 6cqw;
  padding: 3.2cqw 8cqw;
  border: 1px solid var(--vrd-ink-2);
  border-radius: 999px;
  background: rgba(251, 248, 240, 0.7);
  font-family: var(--vrd-text);
  font-size: max(10px, 2.8cqw);
  font-weight: 500;
  letter-spacing: 0.28em;
  text-indent: 0.28em;
  text-transform: uppercase;
  color: var(--vrd-ink);
  transition: background-color 180ms, color 180ms, border-color 180ms;
}

.nci-cover--verdure .vrd-cv-open:hover,
.nci-cover--verdure .vrd-cv-open:focus-visible {
  border-color: var(--vrd-ink);
  background: var(--vrd-ink);
  color: var(--vrd-paper);
}

.nci-cover--verdure .vrd-cv-open:focus-visible {
  outline: 2px solid var(--vrd-ink);
  outline-offset: 4px;
}

/* A cover whose height is under 5/3 of its width (a short phone, or any phone under the demo's top
   bar): the names come down to one line at a smaller size and the margins close up, so the print keeps
   well over half the width instead of shrinking under two tall lines of script. */
@container (min-aspect-ratio: 3 / 5) {
  .nci-cover--verdure .vrd-cv-body {
    padding: 7cqw 0 6cqw;
  }

  .nci-cover--verdure .vrd-cv-art {
    margin-top: 3cqw;
  }

  .nci-cover--verdure .vrd-names {
    margin-top: 2cqw;
    font-size: 10.4cqw;
    text-align: center;
  }

  .nci-cover--verdure .vrd-names--long {
    font-size: 8.4cqw;
  }

  /* Each name (the second with its ampersand) wraps as a whole, so a long pair breaks between them. */
  .nci-cover--verdure :is(.vrd-name--a, .vrd-name-b) {
    display: inline-block;
    max-width: 100%;
    margin: 0;
    padding: 0;
  }

  .nci-cover--verdure.vrd-lang-zh .vrd-names {
    margin-top: 3cqw;
    font-size: 7cqw;
  }

  .nci-cover--verdure.vrd-lang-zh .vrd-names--long {
    font-size: 5.8cqw;
  }

  .nci-cover--verdure .vrd-when {
    margin-top: 2.6cqw;
  }

  .nci-cover--verdure .vrd-cv-open {
    margin-top: 4.4cqw;
  }
}

/* The butterfly on the first screen breathes its wings, slowly. */
.nci-cover--verdure .vrd-sheet-fly {
  animation: vrd-flutter 2.6s ease-in-out infinite alternate;
}

@keyframes vrd-flutter {
  from {
    transform: rotate(16deg) scaleX(1);
  }
  to {
    transform: rotate(20deg) translateY(-1.5cqw) scaleX(0.82);
  }
}

/* Opening: the print lifts off the page a little and the cover fades onto the page underneath. */
.nci-cover--verdure.vrd-cv--opening {
  animation: vrd-open 700ms cubic-bezier(0.3, 0.6, 0.2, 1) forwards;
}

.nci-cover--verdure.vrd-cv--opening .vrd-sheet--cv {
  animation: vrd-lift 700ms cubic-bezier(0.4, 0, 0.3, 1) forwards;
}

@keyframes vrd-open {
  55% {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

@keyframes vrd-lift {
  to {
    translate: 0 -5cqw;
    scale: 1.03;
  }
}

@media (prefers-reduced-motion: reduce) {
  .nci-cover--verdure .vrd-sheet-fly,
  .nci-cover--verdure.vrd-cv--opening,
  .nci-cover--verdure.vrd-cv--opening .vrd-sheet--cv {
    animation: none;
  }

  .nci-cover--verdure .vrd-cv-open,
  .nci--verdure .vrd-choice-btn {
    transition: none;
  }
}

/* ───── Floating bar — two rounds in the foot of the right margin ───── */

.nci-float--verdure {
  left: auto;
  right: 12px;
  bottom: 16px;
  justify-content: flex-end;
  gap: 8px;
}

.nci-float--verdure button,
.nci-float--verdure .studio-music button {
  width: 38px;
  height: 38px;
  gap: 0;
  padding: 0;
  justify-content: center;
  border-radius: 50%;
  font-family: var(--vrd-text);
  font-size: 0;
  letter-spacing: 0;
  box-shadow: 0 3px 12px rgba(65, 89, 58, 0.16);
  backdrop-filter: none;
}

.nci-float--verdure .studio-music button,
.nci-float--verdure .nci-float-music {
  display: flex;
  align-items: center;
  border: 1px solid var(--vrd-line);
  background: rgba(251, 248, 240, 0.96);
  font-size: 16px;
  line-height: 1;
  color: var(--vrd-ink);
}

.nci-float--verdure .studio-music button span {
  font-size: 0;
}

.nci-float--verdure .studio-music button[aria-pressed='true'],
.nci-float--verdure .nci-float-music[aria-pressed='true'] {
  border-color: var(--vrd-ink);
  background: var(--vrd-ink);
  color: var(--vrd-paper);
}

.nci-float--verdure .nci-float-dot {
  width: auto;
  height: auto;
  border-radius: 0;
  background: none;
  font-size: 15px;
  line-height: 1;
  color: inherit;
}

/* Escaped, so the marks survive however the sheet is decoded: a note for the music, an arrow for share. */
.nci-float--verdure .nci-float-dot::before {
  content: '\266A';
}

.nci-float--verdure .nci-float-share {
  border: 1px solid var(--vrd-ink);
  background: var(--vrd-ink);
  color: var(--vrd-paper);
}

.nci-float--verdure .nci-float-share::before {
  content: '\2197';
  font-size: 15px;
  line-height: 1;
}
